Difference between revisions of "Aufgaben:Exercise 1.09Z: Extension and/or Puncturing"

From LNTwww
(Die Seite wurde neu angelegt: „{{quiz-Header|Buchseite=Kanalcodierung/Allgemeine Beschreibung linearer Blockcodes }} [[File:|right|]] ===Fragebogen=== <quiz display=simple> {Multiple-C…“)
 
 
(28 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{quiz-Header|Buchseite=Kanalcodierung/Allgemeine Beschreibung linearer Blockcodes
+
{{quiz-Header|Buchseite=Channel_Coding/General_Description_of_Linear_Block_Codes}}
  
}}
+
[[File:EN_KC_Z_1_9.png|right|frame|Extension and puncturing]]
  
[[File:|right|]]
+
Often you know a code that seems to be suitable for an application,&nbsp; but its code rate does not exactly match the specifications.
  
 +
There are several possibilities for rate adaptation:
  
===Fragebogen===
+
'''Extension''':
 +
<br>Starting from the&nbsp; $(n, \, k)$&nbsp; code whose parity-check matrix&nbsp; $\mathbf{H}$&nbsp; is given,&nbsp; one obtains a&nbsp; $(n+1, \, k)$&nbsp; code by extending the parity-check matrix by one row and one column and adding zeros and ones to the new matrix elements according to the upper graph.&nbsp; So,&nbsp; one adds a new parity bit
 +
:$$x_{n+1} = x_1 \oplus x_2 \oplus ... \hspace{0.05cm} \oplus x_n$$
 +
and thus a new parity-check equation is added,&nbsp; which is considered in&nbsp; $\mathbf{H}\hspace{0.05cm}'$&nbsp; .
  
 +
'''Puncturing''':
 +
<br>According to the figure below,&nbsp; one arrives at a&nbsp; $(n-1, \, k)$&nbsp; code of larger rate by omitting a parity bit and a parity-check equation,&nbsp; which is equivalent to deleting one row and one column from the parity-check matrix&nbsp; $\mathbf{H}$&nbsp;.
 +
 +
'''Shortening''':
 +
<br>If an information bit is omitted instead of a parity bit,&nbsp; the result is a&nbsp; $(n-1, \, k-1)$&nbsp; code of smaller rate.
 +
 +
 +
In this exercise,&nbsp; starting from a&nbsp; $(5, \, 2)$&nbsp; block code
 +
 +
:$$\mathcal{C} = \{ (0, 0, 0, 0, 0), \hspace{0.3cm} (0, 1, 0, 1, 1), \hspace{0.3cm} (1, 0, 1, 1, 0), \hspace{0.3cm} (1, 1, 1, 0, 1) \}$$
 +
 +
the following codes are to constructed and analyzed:
 +
*one&nbsp; $(6, \, 2)$&nbsp; code by single extension,
 +
 +
*one&nbsp; $(7, \, 2)$&nbsp; code by extending it again,
 +
 +
*one&nbsp; $(4, \, 2)$&nbsp; code by puncturing.
 +
 +
 +
The parity-check matrix and the generator matrix of the systematic&nbsp; $(5, \, 2)$&nbsp; code are:
 +
 +
:$${ \boldsymbol{\rm H}}_{(5,\ 2)} = \begin{pmatrix} 1 &0 &1 &0 &0\\ 1 &1 &0 &1 &0\\ 0 &1 &0 &0 &1 \end{pmatrix} \hspace{0.3cm} \Leftrightarrow\hspace{0.3cm} { \boldsymbol{\rm G}}_{(5,\ 2)} = \begin{pmatrix} 1 &0 &1 &1 &0\\ 0 &1 &0 &1 &1 \end{pmatrix} \hspace{0.05cm}.$$
 +
 +
 +
 +
 +
Hints :
 +
 +
*This exercise belongs to the chapter&nbsp; [[Channel_Coding/General_Description_of_Linear_Block_Codes|"General Description of Linear Block Codes"]].
 +
 +
*In the&nbsp; [[Aufgaben:Exercise_1.09:_Extended_Hamming_Code|"Exercise 1.9"]]&nbsp; it is exemplified how the&nbsp; $(7, \, 4, \, 3)$&nbsp; Hamming code is turned into a&nbsp; $(8, \, 4, \, 4)$&nbsp; code by extension.
 +
 +
 +
 +
===Questions===
 
<quiz display=simple>
 
<quiz display=simple>
{Multiple-Choice Frage
+
{Specify the characteristics of the given&nbsp; $(5, \, 2)$&nbsp; code.
 +
|type="{}"}
 +
$R \ = \ $ { 0.4 3% }
 +
$d_{\rm min} \ = \ $ {  3 3% }
 +
 
 +
{What code words does&nbsp; the $(6, \, 2)$&nbsp; code have after expansion?
 
|type="[]"}
 
|type="[]"}
- Falsch
+
- $(0 0 0 0 0 1), \ (0 1 0 1 1 0), \ (1 0 1 1 0 0), \ (1 1 1 0 1 1).$
+ Richtig
+
+ $(0 0 0 0 0 0), \ (0 1 0 1 1 1), \ (1 0 1 1 0 1), \ (1 1 1 0 1 0).$
 
 
  
{Input-Box Frage
+
{Specify the characteristics of the extended&nbsp; $(6, \, 2)$&nbsp; code.
 
|type="{}"}
 
|type="{}"}
$\alpha$ = { 0.3 }
+
$R \ = \ $ { 0.333 3% }
 +
$d_{\rm min} \ = \ $ {  4 3% }  
  
 +
{What is the systematic generator matrix&nbsp; $\boldsymbol{\rm G}$&nbsp; of the&nbsp; $(7, \, 2)$&nbsp; code?
 +
|type="[]"}
 +
+ Row 1 of&nbsp; $\boldsymbol{\rm G} \text{:} \hspace{0.2cm} 1, \, 0, \, 1, \, 1, \, 0, \, 1, \, 0.$
 +
+ Row 2 of&nbsp;  $\boldsymbol{\rm G} \text{:} \hspace{0.2cm} 0, \, 1, \, 0, \, 1, \, 1, \, 1, \, 0.$
  
 +
{Specify the characteristics of the extended&nbsp; $(7, \, 2)$&nbsp; code.
 +
|type="{}"}
 +
$R \ = \ $ { 0.266 3% }
 +
$d_{\rm min} \ = \ $ {  4 3% }
  
 +
{Which statements are true for the&nbsp; $(4, \, 2)$&nbsp; code&nbsp; (puncturing the last parity bit)?
 +
|type="[]"}
 +
+ The code rate is now&nbsp; $R = 2/4 = 0.5$.
 +
+ $C_{(4,\ 2)} = \{(0, 0, 0, 0),  \, (1, 0, 1, 1), \, (0, 1, 0, 1), \, (1, 1, 1, 0)\}$.
 +
- The minimum distance remains unchanged from the&nbsp; $(5, \, 2)$ code.
 
</quiz>
 
</quiz>
  
===Musterlösung===
+
===Solution===
 
{{ML-Kopf}}
 
{{ML-Kopf}}
'''1.'''
+
'''(1)'''&nbsp; The rate of the&nbsp; $(5, \, 2)$&nbsp; code is&nbsp; $R = 2/5 \ \underline{ = 0.4}$.
'''2.'''
+
*From the given code,&nbsp; we further recognize the minimum distance&nbsp; $d_{\rm min} \ \underline{ = 3}$.
'''3.'''
+
 
'''4.'''
+
 
'''5.'''
+
 
'''6.'''
+
'''(2)'''&nbsp; When extending from the&nbsp; $(5, \, 2)$&nbsp; code to the&nbsp; $(6, \, 2)$&nbsp; code,&nbsp; another parity bit is added.
'''7.'''
+
*The code word thus has the form
 +
 
 +
:$$\underline{x} = ( x_1, x_2, x_3, x_4, x_5, x_6) = ( u_1, u_2, p_1, p_2, p_{3}, p_4) \hspace{0.05cm}.$$
 +
 
 +
*For the added parity bit must be valid:
 +
 
 +
:$$p_4 = x_6 = x_1 \oplus x_2 \oplus x_3 \oplus x_4 \oplus x_5 \hspace{0.05cm}.$$
 +
 
 +
*That is,&nbsp; the new parity bit&nbsp; $p_{4}$&nbsp; is chosen to result in an even number of ones in each code word &nbsp; ⇒ &nbsp; <u>Answer 2</u>.
 +
 +
*Solving this task with the parity-check matrix,&nbsp; we get
 +
:$${ \boldsymbol{\rm H}}_{(6,\hspace{0.05cm} 2)} = \begin{pmatrix} 1 &0 &1 &0 &0 &0\\ 1 &1 &0 &1 &0 &0\\ 0 &1 &0 &0 &1 &0\\ 1 &1 &1 &1 &1 &1 \end{pmatrix} \hspace{0.3cm} \Rightarrow\hspace{0.3cm} { \boldsymbol{\rm H}}_{{\rm (6,\hspace{0.05cm} 2)\hspace{0.05cm}sys}} = \begin{pmatrix} 1 &0 &1 &0 &0 &0\\ 1 &1 &0 &1 &0 &0\\ 0 &1 &0 &0 &1 &0\\ 1 &1 &0 &0 &0 &1 \end{pmatrix}\hspace{0.3cm}
 +
\Rightarrow\hspace{0.3cm} { \boldsymbol{\rm G}}_{{\rm (6,\hspace{0.05cm} 2)\hspace{0.05cm}sys}} = \begin{pmatrix} 1 &0 &1 &1 &0 &1\\ 0 &1 &0 &1 &1 &1 \end{pmatrix}\hspace{0.05cm}.$$
 +
 
 +
*The two rows of the generator matrix&nbsp; $\boldsymbol{\rm G}$&nbsp; give two of the four code words,&nbsp; the modulo 2 sum gives the third,&nbsp; and finally the all zero word has to be considered.
 +
 
 +
 
 +
 
 +
'''(3)'''&nbsp; After extension from the&nbsp; $(5, \, 2)$&nbsp; code to the&nbsp; $(6, \, 2)$&nbsp; code.
 +
*decreases the rate from&nbsp; $R = 2/5$&nbsp; to&nbsp; $R = 2/6 \ \underline{= 0.333}$,
 +
 
 +
*increases the minimum distance from&nbsp; $d_{\rm min} = 3$&nbsp; to&nbsp; $d_{\rm min} \ \underline{= 4}$ .
 +
 
 +
 
 +
<u>In general:</u> &nbsp; Extending a code,&nbsp; the rate decreases and the minimum distance increases by&nbsp; $1$&nbsp; $($only if&nbsp; $d_{\rm min}$ was odd before$)$.
 +
 
 +
 
 +
 
 +
'''(4)'''&nbsp; Using the same procedure as in subtask&nbsp; '''(3)''',&nbsp; we obtain
 +
:$${ \boldsymbol{\rm H}}_{(7,\hspace{0.05cm} 2)} \hspace{-0.05cm}=\hspace{-0.05cm} \begin{pmatrix} 1 &0 &1 &0 &0 &0 &0\\ 1 &1 &0 &1 &0 &0 &0\\ 0 &1 &0 &0 &1 &0 &0\\ 1 &1 &0 &0 &0 &1 &0\\ 1 &1 &1 &1 &1 &1 &1 \end{pmatrix} \hspace{0.15cm} \Rightarrow\hspace{0.15cm} { \boldsymbol{\rm H}}_{{\rm (7,\hspace{0.05cm} 2)\hspace{0.05cm}sys}} \hspace{-0.05cm}=\hspace{-0.05cm} \begin{pmatrix} 1 &0 &1 &0 &0 &0 &0\\ 1 &1 &0 &1 &0 &0 &0\\ 0 &1 &0 &0 &1 &0 &0\\ 1 &1 &0 &0 &0 &1 &0\\ 0 &0 &0 &0 &0 &0 &1 \end{pmatrix}\hspace{0.15cm} \Rightarrow\hspace{0.15cm} { \boldsymbol{\rm G}}_{{\rm (6,\hspace{0.05cm} 2)\hspace{0.05cm}sys}} \hspace{-0.05cm}=\hspace{-0.05cm} \begin{pmatrix} 1 &0 &1 &1 &0 &1 &0 \\ 0 &1 &0 &1 &1 &1 &0 \end{pmatrix}\hspace{0.05cm}.$$
 +
 
 +
⇒&nbsp; <u>Both answers</u>&nbsp; are correct.
 +
 
 +
 
 +
 
 +
'''(5)'''&nbsp; The code rate is now&nbsp; $R = 2/7 \ \underline{=0.266}$.
 +
*The minimum distance is still&nbsp; $d_{\rm min} \ \underline{= 4}$,&nbsp; as can be seen from the&nbsp; $(7, \, 2)$&nbsp; code words:
 +
:$$\mathcal{C} = \{ (0, 0, 0, 0, 0, 0, 0), \hspace{0.3cm}(0, 1, 0, 1, 1, 1, 0), \hspace{0.3cm}(1, 0, 1, 1, 0, 1, 0), \hspace{0.3cm}(1, 1, 1, 0, 1, 0, 0) \}\hspace{0.05cm}.$$
 +
 
 +
<u>In general:</u> &nbsp; If the minimum distance of a code is even,&nbsp; it cannot be increased by extension.
 +
 
 +
 
 +
 
 +
'''(6)'''&nbsp; Correct are the&nbsp; <u>statements 1 and 2</u>:
 +
*By crossing out the last row and the last column,&nbsp; we obtain for parity-check matrix and generator matrix,&nbsp; respectively (each in systematic form):
 +
:$${ \boldsymbol{\rm H}}_{(4,\hspace{0.05cm} 2)} = \begin{pmatrix} 1 &0 &1 &0 \\ 1 &1 &0 &1 \end{pmatrix} \hspace{0.3cm} \Rightarrow\hspace{0.3cm} { \boldsymbol{\rm G}}_{{\rm (4,\hspace{0.05cm} 2)}} = \begin{pmatrix} 1 &0 &1 &1 \\ 0 &1 &0 &1 \end{pmatrix}\hspace{0.05cm}.$$
 +
 
 +
*From the generator matrix we get the mentioned code words&nbsp; $(1, 0, 1, 1), \, (0, 1, 0, 1), \, (1, 1, 1, 0)$&nbsp; as row sum as well as the null word&nbsp; $(0, 0, 0, 0)$.&nbsp;
 +
*The minimum distance of this code is&nbsp; $d_{\rm min}= 2$,&nbsp; which is smaller than the minimum distance&nbsp; $d_{\rm min}= 3$&nbsp; of the&nbsp; $(5, \, 2)$&nbsp; code.
 +
 
 +
 
 +
<u>In general:</u> &nbsp; Puncturing makes&nbsp; $d_{\rm min}$&nbsp; smaller by&nbsp; $1$&nbsp; (if it was even before)&nbsp; or it stays the same.
 +
 
 +
*This can be illustrated by generating the&nbsp; $(3, \, 2)$&nbsp; block code by another puncturing&nbsp; (of the parity bit $p_{2}$).
 +
 
 +
*This code&nbsp; $ \mathcal{C} = \{ (0, 0, 0), \hspace{0.3cm}(0, 1, 1), \hspace{0.3cm}(1, 0, 1), \hspace{0.3cm}(1, 1, 0) \}$&nbsp; has the same minimum distance&nbsp; $d_{\rm min}= 2$&nbsp; as the&nbsp; $(4, \, 2)$&nbsp; code.
 
{{ML-Fuß}}
 
{{ML-Fuß}}
  
  
  
[[Category:Aufgaben zu  Kanalcodierung|^1.4 Allgemeine Beschreibung linearer Blockcodes
+
[[Category:Channel Coding: Exercises|^1.4 Linear Block Code Description^]]
 
 
^]]
 

Latest revision as of 15:37, 11 July 2022

Extension and puncturing

Often you know a code that seems to be suitable for an application,  but its code rate does not exactly match the specifications.

There are several possibilities for rate adaptation:

Extension:
Starting from the  $(n, \, k)$  code whose parity-check matrix  $\mathbf{H}$  is given,  one obtains a  $(n+1, \, k)$  code by extending the parity-check matrix by one row and one column and adding zeros and ones to the new matrix elements according to the upper graph.  So,  one adds a new parity bit

$$x_{n+1} = x_1 \oplus x_2 \oplus ... \hspace{0.05cm} \oplus x_n$$

and thus a new parity-check equation is added,  which is considered in  $\mathbf{H}\hspace{0.05cm}'$  .

Puncturing:
According to the figure below,  one arrives at a  $(n-1, \, k)$  code of larger rate by omitting a parity bit and a parity-check equation,  which is equivalent to deleting one row and one column from the parity-check matrix  $\mathbf{H}$ .

Shortening:
If an information bit is omitted instead of a parity bit,  the result is a  $(n-1, \, k-1)$  code of smaller rate.


In this exercise,  starting from a  $(5, \, 2)$  block code

$$\mathcal{C} = \{ (0, 0, 0, 0, 0), \hspace{0.3cm} (0, 1, 0, 1, 1), \hspace{0.3cm} (1, 0, 1, 1, 0), \hspace{0.3cm} (1, 1, 1, 0, 1) \}$$

the following codes are to constructed and analyzed:

  • one  $(6, \, 2)$  code by single extension,
  • one  $(7, \, 2)$  code by extending it again,
  • one  $(4, \, 2)$  code by puncturing.


The parity-check matrix and the generator matrix of the systematic  $(5, \, 2)$  code are:

$${ \boldsymbol{\rm H}}_{(5,\ 2)} = \begin{pmatrix} 1 &0 &1 &0 &0\\ 1 &1 &0 &1 &0\\ 0 &1 &0 &0 &1 \end{pmatrix} \hspace{0.3cm} \Leftrightarrow\hspace{0.3cm} { \boldsymbol{\rm G}}_{(5,\ 2)} = \begin{pmatrix} 1 &0 &1 &1 &0\\ 0 &1 &0 &1 &1 \end{pmatrix} \hspace{0.05cm}.$$



Hints :

  • In the  "Exercise 1.9"  it is exemplified how the  $(7, \, 4, \, 3)$  Hamming code is turned into a  $(8, \, 4, \, 4)$  code by extension.


Questions

1

Specify the characteristics of the given  $(5, \, 2)$  code.

$R \ = \ $

$d_{\rm min} \ = \ $

2

What code words does  the $(6, \, 2)$  code have after expansion?

$(0 0 0 0 0 1), \ (0 1 0 1 1 0), \ (1 0 1 1 0 0), \ (1 1 1 0 1 1).$
$(0 0 0 0 0 0), \ (0 1 0 1 1 1), \ (1 0 1 1 0 1), \ (1 1 1 0 1 0).$

3

Specify the characteristics of the extended  $(6, \, 2)$  code.

$R \ = \ $

$d_{\rm min} \ = \ $

4

What is the systematic generator matrix  $\boldsymbol{\rm G}$  of the  $(7, \, 2)$  code?

Row 1 of  $\boldsymbol{\rm G} \text{:} \hspace{0.2cm} 1, \, 0, \, 1, \, 1, \, 0, \, 1, \, 0.$
Row 2 of  $\boldsymbol{\rm G} \text{:} \hspace{0.2cm} 0, \, 1, \, 0, \, 1, \, 1, \, 1, \, 0.$

5

Specify the characteristics of the extended  $(7, \, 2)$  code.

$R \ = \ $

$d_{\rm min} \ = \ $

6

Which statements are true for the  $(4, \, 2)$  code  (puncturing the last parity bit)?

The code rate is now  $R = 2/4 = 0.5$.
$C_{(4,\ 2)} = \{(0, 0, 0, 0), \, (1, 0, 1, 1), \, (0, 1, 0, 1), \, (1, 1, 1, 0)\}$.
The minimum distance remains unchanged from the  $(5, \, 2)$ code.


Solution

(1)  The rate of the  $(5, \, 2)$  code is  $R = 2/5 \ \underline{ = 0.4}$.

  • From the given code,  we further recognize the minimum distance  $d_{\rm min} \ \underline{ = 3}$.


(2)  When extending from the  $(5, \, 2)$  code to the  $(6, \, 2)$  code,  another parity bit is added.

  • The code word thus has the form
$$\underline{x} = ( x_1, x_2, x_3, x_4, x_5, x_6) = ( u_1, u_2, p_1, p_2, p_{3}, p_4) \hspace{0.05cm}.$$
  • For the added parity bit must be valid:
$$p_4 = x_6 = x_1 \oplus x_2 \oplus x_3 \oplus x_4 \oplus x_5 \hspace{0.05cm}.$$
  • That is,  the new parity bit  $p_{4}$  is chosen to result in an even number of ones in each code word   ⇒   Answer 2.
  • Solving this task with the parity-check matrix,  we get
$${ \boldsymbol{\rm H}}_{(6,\hspace{0.05cm} 2)} = \begin{pmatrix} 1 &0 &1 &0 &0 &0\\ 1 &1 &0 &1 &0 &0\\ 0 &1 &0 &0 &1 &0\\ 1 &1 &1 &1 &1 &1 \end{pmatrix} \hspace{0.3cm} \Rightarrow\hspace{0.3cm} { \boldsymbol{\rm H}}_{{\rm (6,\hspace{0.05cm} 2)\hspace{0.05cm}sys}} = \begin{pmatrix} 1 &0 &1 &0 &0 &0\\ 1 &1 &0 &1 &0 &0\\ 0 &1 &0 &0 &1 &0\\ 1 &1 &0 &0 &0 &1 \end{pmatrix}\hspace{0.3cm} \Rightarrow\hspace{0.3cm} { \boldsymbol{\rm G}}_{{\rm (6,\hspace{0.05cm} 2)\hspace{0.05cm}sys}} = \begin{pmatrix} 1 &0 &1 &1 &0 &1\\ 0 &1 &0 &1 &1 &1 \end{pmatrix}\hspace{0.05cm}.$$
  • The two rows of the generator matrix  $\boldsymbol{\rm G}$  give two of the four code words,  the modulo 2 sum gives the third,  and finally the all zero word has to be considered.


(3)  After extension from the  $(5, \, 2)$  code to the  $(6, \, 2)$  code.

  • decreases the rate from  $R = 2/5$  to  $R = 2/6 \ \underline{= 0.333}$,
  • increases the minimum distance from  $d_{\rm min} = 3$  to  $d_{\rm min} \ \underline{= 4}$ .


In general:   Extending a code,  the rate decreases and the minimum distance increases by  $1$  $($only if  $d_{\rm min}$ was odd before$)$.


(4)  Using the same procedure as in subtask  (3),  we obtain

$${ \boldsymbol{\rm H}}_{(7,\hspace{0.05cm} 2)} \hspace{-0.05cm}=\hspace{-0.05cm} \begin{pmatrix} 1 &0 &1 &0 &0 &0 &0\\ 1 &1 &0 &1 &0 &0 &0\\ 0 &1 &0 &0 &1 &0 &0\\ 1 &1 &0 &0 &0 &1 &0\\ 1 &1 &1 &1 &1 &1 &1 \end{pmatrix} \hspace{0.15cm} \Rightarrow\hspace{0.15cm} { \boldsymbol{\rm H}}_{{\rm (7,\hspace{0.05cm} 2)\hspace{0.05cm}sys}} \hspace{-0.05cm}=\hspace{-0.05cm} \begin{pmatrix} 1 &0 &1 &0 &0 &0 &0\\ 1 &1 &0 &1 &0 &0 &0\\ 0 &1 &0 &0 &1 &0 &0\\ 1 &1 &0 &0 &0 &1 &0\\ 0 &0 &0 &0 &0 &0 &1 \end{pmatrix}\hspace{0.15cm} \Rightarrow\hspace{0.15cm} { \boldsymbol{\rm G}}_{{\rm (6,\hspace{0.05cm} 2)\hspace{0.05cm}sys}} \hspace{-0.05cm}=\hspace{-0.05cm} \begin{pmatrix} 1 &0 &1 &1 &0 &1 &0 \\ 0 &1 &0 &1 &1 &1 &0 \end{pmatrix}\hspace{0.05cm}.$$

⇒  Both answers  are correct.


(5)  The code rate is now  $R = 2/7 \ \underline{=0.266}$.

  • The minimum distance is still  $d_{\rm min} \ \underline{= 4}$,  as can be seen from the  $(7, \, 2)$  code words:
$$\mathcal{C} = \{ (0, 0, 0, 0, 0, 0, 0), \hspace{0.3cm}(0, 1, 0, 1, 1, 1, 0), \hspace{0.3cm}(1, 0, 1, 1, 0, 1, 0), \hspace{0.3cm}(1, 1, 1, 0, 1, 0, 0) \}\hspace{0.05cm}.$$

In general:   If the minimum distance of a code is even,  it cannot be increased by extension.


(6)  Correct are the  statements 1 and 2:

  • By crossing out the last row and the last column,  we obtain for parity-check matrix and generator matrix,  respectively (each in systematic form):
$${ \boldsymbol{\rm H}}_{(4,\hspace{0.05cm} 2)} = \begin{pmatrix} 1 &0 &1 &0 \\ 1 &1 &0 &1 \end{pmatrix} \hspace{0.3cm} \Rightarrow\hspace{0.3cm} { \boldsymbol{\rm G}}_{{\rm (4,\hspace{0.05cm} 2)}} = \begin{pmatrix} 1 &0 &1 &1 \\ 0 &1 &0 &1 \end{pmatrix}\hspace{0.05cm}.$$
  • From the generator matrix we get the mentioned code words  $(1, 0, 1, 1), \, (0, 1, 0, 1), \, (1, 1, 1, 0)$  as row sum as well as the null word  $(0, 0, 0, 0)$. 
  • The minimum distance of this code is  $d_{\rm min}= 2$,  which is smaller than the minimum distance  $d_{\rm min}= 3$  of the  $(5, \, 2)$  code.


In general:   Puncturing makes  $d_{\rm min}$  smaller by  $1$  (if it was even before)  or it stays the same.

  • This can be illustrated by generating the  $(3, \, 2)$  block code by another puncturing  (of the parity bit $p_{2}$).
  • This code  $ \mathcal{C} = \{ (0, 0, 0), \hspace{0.3cm}(0, 1, 1), \hspace{0.3cm}(1, 0, 1), \hspace{0.3cm}(1, 1, 0) \}$  has the same minimum distance  $d_{\rm min}= 2$  as the  $(4, \, 2)$  code.