Difference between revisions of "Aufgaben:Exercise 1.5Z: SPC (5, 4) vs. RC (5, 1)"

From LNTwww
 
(16 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{quiz-Header|Buchseite=Kanalcodierung/Beispiele binärer Blockcodes
+
{{quiz-Header|Buchseite=Channel_Coding/Examples_of_Binary_Block_Codes
  
 
}}
 
}}
  
[[File:P_ID2386__KC_Z_1_5.png|right|frame|Single Parity–check Code und Wiederholungscode mit $n = 5$]]
+
[[File:P_ID2386__KC_Z_1_5.png|right|frame|Single parity-check code and repetition code with  $n = 5$]]
  
Zwischen dem ''Single Parity–check Code'' und dem ''Repetition Code'' gleicher Codelänge $n$ besteht eine gewisse Verwandtschaft. Wie im Kapitel [[Kanalcodierung/Allgemeine_Beschreibung_linearer_Blockcodes|Allgemeine Beschreibung linearer
+
There is a certain relationship between the  "single parity-check code"  and the  "repetition code"  of the same code length  $n$.   As will be shown in the chapter  [[Channel_Coding/General_Description_of_Linear_Block_Codes|"General Description of Linear Block Codes"]]  they are so called  "dual codes".  
Blockcodes]] noch gezeigt werden wird, handelt es sich um so genannte ''duale  Codes''.  
 
  
*Der [[Kanalcodierung/Beispiele_binärer_Blockcodes#Single_Parity.E2.80.93check_Codes|Single Parity–check Code]] mit den Parametern $k = 4$ und $n = 5$   ⇒   $\rm SPC \ (5, 4)$ fügt zu den vier Informationsbits $u_{1}$, ... , $u_{4}$ ein Prüfbit '$p$ hinzu, so dass in jedem Codewort $\underline{x}$ eine gerade Anzahl von Einsen vorkommt:
+
*The  [[Channel_Coding/Examples_of_Binary_Block_Codes#Single_Parity_Check_Codes|single parity-check code]]  with parameters  $k = 4$  and  $n = 5$   ⇒   $\rm SPC \ (5, 4)$  adds to the four information bits  $u_{1}$, ... ,  $u_{4}$  a check bit  $p$  so that an even number of ones occurs in each code word  $\underline{x}$:
 
:$$x_1 \oplus x_2 \oplus x_3 \oplus x_4 \oplus x_5 = 0 \hspace{0.3cm} \Rightarrow \hspace{0.3cm} u_1 \oplus u_2 \oplus u_3 \oplus u_4 \oplus p = 0 \hspace{0.05cm}.$$
 
:$$x_1 \oplus x_2 \oplus x_3 \oplus x_4 \oplus x_5 = 0 \hspace{0.3cm} \Rightarrow \hspace{0.3cm} u_1 \oplus u_2 \oplus u_3 \oplus u_4 \oplus p = 0 \hspace{0.05cm}.$$
  
*Ein jeder [[Kanalcodierung/Beispiele_binärer_Blockcodes#Wiederholungscodes|Wiederholungscode]](englisch: ''Repetition Code'') ist durch den Codeparameter $k = 1$ charakterisiert. Beim $\rm RC (5, \ 1)$ lauten die beiden Codeworte $(0, 0, 0, 0, 0)$ und $(1, 1, 1, 1, 1)$.
+
'''deutscher Text:'''
 +
*Ein jeder  [[Kanalcodierung/Beispiele_binärer_Blockcodes#Wiederholungscodes|Wiederholungscode]]  (englisch:   ''Repetition Code'') ist durch den Codeparameter  $k = 1$  charakterisiert. Beim  $\rm RC \ (5, \ 1)$  lauten die beiden Codeworte  $(0, 0, 0, 0, 0)$  und  $(1, 1, 1, 1, 1)$.
  
 +
'''Deine Übersetzung:'''
 +
*Each  [[Channel_Coding/Examples_of_Binary_Block_Codes#Repetition_Codes|repetition code]]  is characterized by the code parameter  $k = 1$.  For  $\rm RC \ (5, \ 1)$  the two code words are  $(0, 0, 0, 0)$  and  $(1, 1, 1, 1)$.
  
Die Grafik zeigt die Grundstruktur dieser beiden Codes, die in dieser Aufgabe miteinander verglichen werden sollen.
 
  
  
 +
The graphic shows the basic structure of these two codes,  which will be compared in this task.
  
  
''Hinweise:'' 
 
*Die Aufgabe gehört zum Kapitel [[Kanalcodierung/Beispiele_binärer_Blockcodes|Beispiele binärer Blockcodes]].
 
*Bezug genommen wird insbesondere auf die Seiten [[Kanalcodierung/Beispiele_binärer_Blockcodes#Single Parity.E2.80.93check_Codes|Single Parity&nash;check Codes]] sowie  [[Kanalcodierung/Beispiele_binärer_Blockcodes#Wiederholungscodes|Wiederholungscodes]].
 
*Sollte die Eingabe des Zahlenwertes „0” erforderlich sein, so geben Sie bitte „0.” ein.
 
  
  
 +
Hints:
 +
*This exercise belongs to the chapter  [[Channel_Coding/Examples_of_Binary_Block_Codes|"Examples of Binary Block Codes"]].
  
===Fragebogen===
+
*Reference is made in particular to the pages  [[Channel_Coding/Examples_of_Binary_Block_Codes#Single_Parity-check_Codes|"Single Parity-check Codes"]]  and   [[Channel_Coding/Examples_of_Binary_Block_Codes#Repetition_Codes|"Repetition Codes"]].
 +
 +
 
 +
 
 +
 
 +
===Questions===
  
 
<quiz display=simple>
 
<quiz display=simple>
  
{Wie unterscheiden sich der SPC (5, 4) und der RC (5, 1) hinsichtlich des Codeumfangs?
+
{How do the&nbsp; $\text{SPC (5, 4)}$&nbsp; and the&nbsp; $\text{RC (5, 1)}$&nbsp; differ in terms of code size?
 
|type="{}"}
 
|type="{}"}
$\ {\rm SPC} \ (5, 4)\text{:}\hspace{0.4cm}|\mathcal{C}| \ = \ $ { 16 3% }
+
$\ {\rm SPC} \ (5, 4)\text{:}\hspace{0.4cm}|\hspace{0.05cm}\mathcal{C}\hspace{0.05cm}| \ = \ $ { 16 3% }
$\ {\rm RC} \ (5, 1)\text{:}\hspace{0.6cm}|\mathcal{C}| \ = \ $ { 2 3% }
+
$\ {\rm RC} \ (5, 1)\text{:}\hspace{0.6cm}|\hspace{0.05cm}\mathcal{C}\hspace{0.05cm}| \ = \ $ { 2 3% }
  
  
{Welche der folgenden Codeworte sind beim SPC (5, 4) möglich?
+
{Which of the following code words are possible in the&nbsp; $\text{SPC (5, 4)}$&nbsp;?
 
|type="[]"}
 
|type="[]"}
 
+ $(0, 0, 0, 0, 0)$,
 
+ $(0, 0, 0, 0, 0)$,
Line 43: Line 48:
 
- $(1, 1, 1, 1, 1)$.
 
- $(1, 1, 1, 1, 1)$.
  
{Welche der folgenden Codeworte sind beim RC (5, 1) möglich?
+
{Which of the following code words are possible in the&nbsp; $\text{RC (5, 1)}$&nbsp;?
 
|type="[]"}
 
|type="[]"}
 
+ $(0, 0, 0, 0, 0)$,
 
+ $(0, 0, 0, 0, 0)$,
Line 51: Line 56:
  
  
{Wieviele Codefolgen $(N)$ müssen in die Maximum&ndash;Likelihood–Entscheidung einbezogen werden?
+
{How many code sequences&nbsp; $(N)$&nbsp; must be included in the maximum likelihood decision?
 
|type="{}"}
 
|type="{}"}
 
$\ {\rm SPC} \ (5, 4)\text{:}\hspace{0.4cm}N \ = \ $ { 32 }
 
$\ {\rm SPC} \ (5, 4)\text{:}\hspace{0.4cm}N \ = \ $ { 32 }
$\ {\rm RC} \ (5, 1)\text{:}\hspace{0.6cm}N \ = \ $ { 32 }
+
$ {\rm RC} \ (5, 1)\text{:}\hspace{0.6cm}N \ = \ $ { 32 }
  
{Wie groß ist die minimale Distanz beider Codes?
+
{What is the minimum distance between the two codes?
 
|type="{}"}
 
|type="{}"}
 
$\ {\rm SPC} \ (5, 4)\text{:}\hspace{0.4cm}d_{\rm min} \ = \ $ { 2 }
 
$\ {\rm SPC} \ (5, 4)\text{:}\hspace{0.4cm}d_{\rm min} \ = \ $ { 2 }
 
$\ {\rm RC} \ (5, 1)\text{:}\hspace{0.6cm}d_{\rm min} \ = \ $ { 5 }
 
$\ {\rm RC} \ (5, 1)\text{:}\hspace{0.6cm}d_{\rm min} \ = \ $ { 5 }
  
{Bis zu wievielen Bitfehlern $(e)$ funktioniert die Fehlererkennung?
+
{Up to how many bit errors&nbsp; $(e)$&nbsp; does error detection work?
 
|type="{}"}
 
|type="{}"}
$\ {\rm SPC} \ (5, 4)\text{:}\hspace{0.4cm}e \ = \ $ { 1 }
+
$\ {\rm SPC} \ (5, 4)\text{:}\hspace{0.4cm}e \ = \ $ { 1 }
$\ {\rm RC} \ (5, 1)\text{:}\hspace{0.6cm}e \ = \ $ { 4 }
+
$ {\rm RC} \ (5, 1)\text{:}\hspace{0.6cm}e \ = \ $ { 4 }
  
{Bis zu wievielen Bitfehlern $(t)$ funktioniert die Fehlerkorrektur?
+
{Up to how many bit errors&nbsp; $(t)$&nbsp; does error correction work?
 
|type="{}"}
 
|type="{}"}
 
$\ {\rm SPC} \ (5, 4)\text{:}\hspace{0.4cm}t \ = \ $ { 0. }
 
$\ {\rm SPC} \ (5, 4)\text{:}\hspace{0.4cm}t \ = \ $ { 0. }
$\ {\rm RC} \ (5, 1)\text{:}\hspace{0.6cm}t \ = \ ${ 2 }
+
$ {\rm RC} \ (5, 1)\text{:}\hspace{0.6cm}t \ = \ $ { 2 }
  
 
</quiz>
 
</quiz>
  
===Musterlösung===
+
===Solution===
 
{{ML-Kopf}}
 
{{ML-Kopf}}
'''(1)'''&nbsp; Der Codeumfang gibt die Anzahl der möglichen Codeworte an. Es gilt $|\mathcal{C}| = 2^k$, so dass es beim hier betrachteten ''Single Parity–check'' Code <u>16 Codeworte gibt</u> ($k = 4$) und beim Wiederholungscode nur <u>zwei Codeworte</u> ($k = 1$).
+
'''(1)'''&nbsp; The code size gives the number of possible code words.&nbsp; It holds&nbsp; $|\mathcal{C}| = 2^k$,&nbsp; so that there are
 +
*in the single parity-check code considered here,&nbsp; there are&nbsp; <u>16 code words</u>&nbsp; ($k = 4$),&nbsp; and
 +
*in the repetition code,&nbsp; only&nbsp; <u>two code words</u>&nbsp; ($k = 1$).
 +
 
 +
 
 +
'''(2)'''&nbsp; For any single parity-check code,&nbsp; the number of ones is even &nbsp; ⇒ &nbsp; <u>answers 1 and 3</u>.
 +
 
 +
 
 +
'''(3)'''&nbsp; For any repetition code,&nbsp; there are only two code words&nbsp; (independent of&nbsp; $n$),&nbsp; both given here &nbsp; ⇒ &nbsp; <u>Answer 1 and 4</u>.
 +
 
 +
 
 +
'''(4)'''&nbsp; Due to bit errors,&nbsp; there can always be&nbsp; $N = 2^n \hspace{0.15cm}\underline{= 32}$&nbsp; different bit combinations for the receive vector&nbsp; $\underline{y}$.&nbsp;
 +
*All of which must be included in the maximum likelihood decision.
 +
*This is true for both the&nbsp; $\text{SPC (5, 4)}$&nbsp; and the&nbsp; $\text{RC (5, 1)}$.
 +
 
 +
 
  
'''(2)'''&nbsp; Bei jedem ''Single Parity–check Code'' ist die Anzahl der Einsen geradzahlig  <u>Antwort 1 und 3</u>.
+
'''(5)'''&nbsp; For the&nbsp; $\text{SPC (5, 4)}$,&nbsp; the Hamming distance between any two code words is at least&nbsp; $d_{\rm min} \hspace{0.15cm}\underline{= 2}$.&nbsp; In contrast,&nbsp; for&nbsp; $\text{RC (5, 1)}$,&nbsp; all bits of the two code words are different &nbsp; &nbsp; $d_{\rm min} \hspace{0.15cm}\underline{= 5}$.
  
'''(3)'''&nbsp; Bei einem jeden Wiederholungscode gibt es (unabhängig von ''n'') nur zwei Codeworte, die beide hier angegeben sind  ⇒  <u>Antwort 1 und 4</u>.
 
  
'''(4)'''&nbsp; Aufgrund von Bitfehlern kann es für den Empfangsvektor <u>''y''</u> stets $N = 2^n \underline{= 32}$ unterschiedliche Bitkombinationen geben, die alle in die ML–Entscheidung einbezogen werden müssen. Dies gilt sowohl für den SPC (5, 4) als auch für den RC (5, 1).
 
  
 +
'''(6)'''&nbsp; Error detection is possible as long as there are no more than&nbsp; $e = d_{\rm min} - 1$&nbsp; bit errors in a code word.
 +
*Using the result from&nbsp; '''(5)''',&nbsp; we obtain&nbsp; $\underline{e = 1}$&nbsp; (SPC) or&nbsp; $\underline{e = 4}$&nbsp; (RC).
  
'''(5)'''&nbsp; Beim SPC (5, 4) beträgt die Hamming–Distanz zwischen zwei beliebigen Codeworten mindestens $d_{\rm min} \underline{= 2}$. Dagegen sind beim RC (5, 1) alle Bit der beiden Codeworte unterschiedlich ⇒ $d_{\rm min} \underline{= 5}$.
 
  
'''(6)'''&nbsp; Eine Fehlererkennung ist möglich, so lange nicht mehr als $e = d_{\rm min} – 1$ Bitfehler in einem Codewort auftreten. Mit dem Ergebnis aus 5) erhält man $\underline{e = 1}$ (SPC) bzw. $\underline{e = 4}$ (RC).
 
  
'''(7)'''&nbsp; Allgemein gilt für die Anzahl der korrigierbaren Fehler:
+
'''(7)'''&nbsp; In general,&nbsp; for the number of correctable errors:
 
:$$t = \left\lfloor \frac{d_{\rm min}-1}{2} \right\rfloor \hspace{0.05cm}.$$
 
:$$t = \left\lfloor \frac{d_{\rm min}-1}{2} \right\rfloor \hspace{0.05cm}.$$
Bei jedem ''Single Parity–check Code'' ist ($d_{\rm min} 1)/2 = 0.5 \underline{t = 0}$. Dagegen können mit dem RC (5, 1) ⇒  $d_{\rm min} = 5$ bis zu $\underline{t = 2}$ Fehler korrigiert werden.
+
*For any single parity check code,&nbsp; $(d_{\rm min} - 1)/2 = 0.5$ &nbsp; &nbsp; $\underline{t = 0}$.  
 +
*In contrast,&nbsp; $\text{RC (5, 1)}$&nbsp; can be used to correct errors up to&nbsp; $\underline{t = 2}$&nbsp; because of&nbsp; $d_{\rm min} = 5$.
  
 
{{ML-Fuß}}
 
{{ML-Fuß}}
Line 96: Line 115:
  
  
[[Category:Aufgaben zu  Kanalcodierung|^1.3 Beispiele binärer Blockcodes
+
[[Category:Channel Coding: Exercises|^1.3 Examples of Binary Block Codes^]]
^]]
 

Latest revision as of 18:55, 1 November 2022

Single parity-check code and repetition code with  $n = 5$

There is a certain relationship between the  "single parity-check code"  and the  "repetition code"  of the same code length  $n$.  As will be shown in the chapter  "General Description of Linear Block Codes"  they are so called  "dual codes".

  • The  single parity-check code  with parameters  $k = 4$  and  $n = 5$   ⇒   $\rm SPC \ (5, 4)$  adds to the four information bits  $u_{1}$, ... ,  $u_{4}$  a check bit  $p$  so that an even number of ones occurs in each code word  $\underline{x}$:
$$x_1 \oplus x_2 \oplus x_3 \oplus x_4 \oplus x_5 = 0 \hspace{0.3cm} \Rightarrow \hspace{0.3cm} u_1 \oplus u_2 \oplus u_3 \oplus u_4 \oplus p = 0 \hspace{0.05cm}.$$

deutscher Text:

  • Ein jeder  Wiederholungscode  (englisch:   Repetition Code) ist durch den Codeparameter  $k = 1$  charakterisiert. Beim  $\rm RC \ (5, \ 1)$  lauten die beiden Codeworte  $(0, 0, 0, 0, 0)$  und  $(1, 1, 1, 1, 1)$.

Deine Übersetzung:

  • Each  repetition code  is characterized by the code parameter  $k = 1$.  For  $\rm RC \ (5, \ 1)$  the two code words are  $(0, 0, 0, 0)$  and  $(1, 1, 1, 1)$.


The graphic shows the basic structure of these two codes,  which will be compared in this task.



Hints:



Questions

1

How do the  $\text{SPC (5, 4)}$  and the  $\text{RC (5, 1)}$  differ in terms of code size?

$\ {\rm SPC} \ (5, 4)\text{:}\hspace{0.4cm}|\hspace{0.05cm}\mathcal{C}\hspace{0.05cm}| \ = \ $

$\ {\rm RC} \ (5, 1)\text{:}\hspace{0.6cm}|\hspace{0.05cm}\mathcal{C}\hspace{0.05cm}| \ = \ $

2

Which of the following code words are possible in the  $\text{SPC (5, 4)}$ ?

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

3

Which of the following code words are possible in the  $\text{RC (5, 1)}$ ?

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

4

How many code sequences  $(N)$  must be included in the maximum likelihood decision?

$\ {\rm SPC} \ (5, 4)\text{:}\hspace{0.4cm}N \ = \ $

$ {\rm RC} \ (5, 1)\text{:}\hspace{0.6cm}N \ = \ $

5

What is the minimum distance between the two codes?

$\ {\rm SPC} \ (5, 4)\text{:}\hspace{0.4cm}d_{\rm min} \ = \ $

$\ {\rm RC} \ (5, 1)\text{:}\hspace{0.6cm}d_{\rm min} \ = \ $

6

Up to how many bit errors  $(e)$  does error detection work?

$\ {\rm SPC} \ (5, 4)\text{:}\hspace{0.4cm}e \ = \ $

$ {\rm RC} \ (5, 1)\text{:}\hspace{0.6cm}e \ = \ $

7

Up to how many bit errors  $(t)$  does error correction work?

$\ {\rm SPC} \ (5, 4)\text{:}\hspace{0.4cm}t \ = \ $

$ {\rm RC} \ (5, 1)\text{:}\hspace{0.6cm}t \ = \ $


Solution

(1)  The code size gives the number of possible code words.  It holds  $|\mathcal{C}| = 2^k$,  so that there are

  • in the single parity-check code considered here,  there are  16 code words  ($k = 4$),  and
  • in the repetition code,  only  two code words  ($k = 1$).


(2)  For any single parity-check code,  the number of ones is even   ⇒   answers 1 and 3.


(3)  For any repetition code,  there are only two code words  (independent of  $n$),  both given here   ⇒   Answer 1 and 4.


(4)  Due to bit errors,  there can always be  $N = 2^n \hspace{0.15cm}\underline{= 32}$  different bit combinations for the receive vector  $\underline{y}$. 

  • All of which must be included in the maximum likelihood decision.
  • This is true for both the  $\text{SPC (5, 4)}$  and the  $\text{RC (5, 1)}$.


(5)  For the  $\text{SPC (5, 4)}$,  the Hamming distance between any two code words is at least  $d_{\rm min} \hspace{0.15cm}\underline{= 2}$.  In contrast,  for  $\text{RC (5, 1)}$,  all bits of the two code words are different   ⇒   $d_{\rm min} \hspace{0.15cm}\underline{= 5}$.


(6)  Error detection is possible as long as there are no more than  $e = d_{\rm min} - 1$  bit errors in a code word.

  • Using the result from  (5),  we obtain  $\underline{e = 1}$  (SPC) or  $\underline{e = 4}$  (RC).


(7)  In general,  for the number of correctable errors:

$$t = \left\lfloor \frac{d_{\rm min}-1}{2} \right\rfloor \hspace{0.05cm}.$$
  • For any single parity check code,  $(d_{\rm min} - 1)/2 = 0.5$   ⇒   $\underline{t = 0}$.
  • In contrast,  $\text{RC (5, 1)}$  can be used to correct errors up to  $\underline{t = 2}$  because of  $d_{\rm min} = 5$.