Linear Block Codes Orhan Gazi Chapter First Online: 05 December 2019

Abstract In this chapter, we will explain the construction of linear block codes. Since linear block codes are vector subspaces, we advise to the reader to study Chap. 1 before proceeding to Chap. 2 . Without the knowledge of basic concepts of linear algebra, such as groups, fields, vector spaces, and subspaces, it is difficult to comprehend the philosophy behind the concept of linear block codes. We advise the reader to study the section related to the philosophy of channel encoding before studying the sections related to the encoding and decoding operations. We explain the purpose of channel encoding in Sect. 2.5 . After introducing the construction of linear block codes, we explain the encoding operation and give some fundamental definitions such as minimum distance, generator matrix, and parity check matrix. In sequel, we explain equivalent codes, error detection and correction capability of linear block codes, and Hamming spheres.

Keywords Generator matrix Parity check matrix Encoding Hamming spheres Error correction Error detection This is a preview of subscription content,

log in to check access.

Problems 1. What is a vector space? State the properties of a vector space.

2. What is a subspace? How do we determine whether a vector space is a subspace or not?

3. What is a linear block code? Is it a subspace or an ordinary vector set?

4. The prime field

F _{3} is defined as

$$ {F}_3=\left\{0,1,2\right\} $$

$$ +\to \mathrm{Mod}-3\ \mathrm{addition} $$

$$ \ast \to \mathrm{Mod}-3\ \mathrm{multiplication}. $$

Assume that, using the field elements, we construct a vector space with dimension 4, and v _{1} and v _{2} are two vectors chosen from this vector space. We calculate the subtraction of these two vectors as

$$ {\boldsymbol{v}}_1-{\boldsymbol{v}}_3. $$

(P2.1)

5. A linear block code should always include all-zero code-word as one of its code-words. Is this statement correct or not? If it is correct, then why it is correct, and explain it. If it is not correct, then explain why it is not correct.

6. Using the binary field elements, construct a vector space with dimension 4, and from this vector space, find a subspace with dimension 3.

7. Write the standard basis elements of a vector space with dimension 5, and using the standard basis, generate three different bases of this vector space.

8. What is encoding? Explain it very briefly without mentioning any formula.

9. What is decoding? Explain it very briefly without mentioning any formula.

10. Why do we do encoding and decoding operations? Explain the reasoning behind them.

11. Assume that we have two binary linear block codes with the same dimension and length, i.e., code-words include the same number of bits and the number of code-words in both codes is the same. Which one do you choose? And which criteria is important in your choice?

12. The generator matrix of a binary linear block code is given as

$$ \boldsymbol{G}=\left[\begin{array}{c}101001\\ {}110110\\ {}101101\end{array}\right]. $$

13. The generator matrix of a binary linear block code is given as

$$ \boldsymbol{G}=\left[\begin{array}{c}1001001\\ {}1110010\\ {}1010100\\ {}1001001\end{array}\right]. $$

14. A binary subspace with dimension 2 is given as

$$ \boldsymbol{B}=\left\{\mathrm{10010,01010,00110,10001}\right\}. $$

15. The parity check matrix of a code is the generator matrix of its dual code. Is this statement correct or not?

16. The parity check matrix of a code is given as

$$ \boldsymbol{H}=\left[\begin{array}{c}1001100\\ {}0110100\\ {}1011010\\ {}1011001\end{array}\right]. $$

17. The generator matrix of a code is given as

$$ \boldsymbol{G}=\left[\begin{array}{c}1001001\\ {}1110010\\ {}1010110\end{array}\right]. $$

(a) How many data-words can be encoded using this generator matrix?

(b) What is the dimension of the vector space from which this code is constructed?

(c) What is the dimension of code?

(d) How many vectors are available in the vector space from which this code is generated?

(e) How many code-words are available in this code?

18. The parity check matrix of a binary linear block code is given as

$$ \boldsymbol{H}=\left[\begin{array}{c}1001100\\ {}1100111\\ {}1011100\end{array}\right]. $$

Find the minimum distance of this code.

19. If I sum two code-words belonging to a linear block code, I obtain another code-word. Explain the reasoning behind this statement.

20. The minimum distance of a linear block code is given as

$$ {d}_{\mathrm{min}}=7. $$

(a) How many errors can this code detect?

(b) How many errors can this code correct?

21. The error correction capability of a linear block code is t _{c} = 5. What can be the minimum distance of this code?

22. We are informed that a linear block code can correct t _{c} = 3 bit errors. Does this mean that four errors can never be corrected? Explain your reasoning behind your answer.

23. Consider a vector space with dimension 5. Write all the vectors of this vector space. Locate all the vectors of this vector space on Hamming spheres with different radiuses, and at the center of the innermost Hamming sphere, we have the all-zero vector.

24. The minimum distance of a linear block code C (n = 15, k = 7) is given as d _{min} = 10. Comment on the correctness of this minimum distance using the singleton bound.

25. What is maximum distance separable code? Explain it.

26. Write the Hamming bound formula.

27. Using the Hamming bound formula for the code C (n = 16, k ) for which the minimum distance is given as d _{min} = 6, determine the largest possible value of k .

© Springer Nature Switzerland AG 2020

Authors and Affiliations 1. Electronic & Communication Engineering Department Cankaya University Ankara Turkey