Difference between revisions of "Aufgaben:Exercise 3.1Z: Convolution Codes of Rate 1/2"

From LNTwww
m (Text replacement - "”" to """)
 
(10 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{quiz-Header|Buchseite=Kanalcodierung/Grundlagen der Faltungscodierung}}
+
{{quiz-Header|Buchseite=Channel_Coding/Basics_of_Convolutional_Coding}}
  
[[File:P_ID2589__KC_Z_3_1.png|right|frame|Zwei Faltungscodes der Rate  $1/2$]]
+
[[File:EN_KC_Z_3_1_jetztaber.png|right|frame|Convolutional codes of rate  $1/2$]]
Die Grafik zeigt zwei Faltungscodierer der Rate  $R = 1/2$. Am Eingang liegt die Informationssequenz  $\underline {u} = (u_1, u_2, \ \text{...} \ , u_i, \ \text{...})$  an. Hieraus werden durch Modulo–2–Operationen die beiden Sequenzen
+
The graphic shows two convolutional encoders of rate  $R = 1/2$: 
 +
*At the input there is the information sequence  $\underline {u} = (u_1, u_2, \ \text{...} \ , u_i, \ \text{...})$.   
 +
 
 +
*From this,  modulo-2 operations generate the two sequences
 
:$$\underline{\it x}^{(1)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm}  \big( \hspace{0.05cm}x_1^{(1)}\hspace{0.05cm},\hspace{0.05cm} x_2^{(1)}\hspace{0.05cm},\hspace{0.05cm} \text{...} \hspace{0.05cm},\hspace{0.05cm}   
 
:$$\underline{\it x}^{(1)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm}  \big( \hspace{0.05cm}x_1^{(1)}\hspace{0.05cm},\hspace{0.05cm} x_2^{(1)}\hspace{0.05cm},\hspace{0.05cm} \text{...} \hspace{0.05cm},\hspace{0.05cm}   
 
  x_i^{(1)} \hspace{0.05cm},\text{...} \hspace{0.05cm} \big )\hspace{0.05cm},$$
 
  x_i^{(1)} \hspace{0.05cm},\text{...} \hspace{0.05cm} \big )\hspace{0.05cm},$$
Line 8: Line 11:
 
  x_i^{(2)} \hspace{0.05cm}, \text{...} \hspace{0.05cm} \big )$$
 
  x_i^{(2)} \hspace{0.05cm}, \text{...} \hspace{0.05cm} \big )$$
  
erzeugt, wobei  $x_i^{(j)}$  mit  $j = 1$  bzw.  $j = 2$  außer von  $u_i$  auch von den vorherigen Informationsbits  $u_{i-1}, \ \text{...} \ , u_{i-m}$  abhängen kann. Man bezeichnet  $m$  als das Gedächtnis und  $\nu = m + 1$  als die Einflusslänge des Codes bzw. des Codierers. Die betrachteten Coder  $\rm A$  und  $\rm B$  unterscheiden sich hinsichtlich dieser Größen.
+
:where  $x_i^{(j)}$  with  $j = 1$  resp.  $j = 2$  may depend except from  $u_i$  also from the previous information bits  $u_{i-1}, \ \text{...} \ , u_{i-m}$.  
  
 +
*One refers  $m$  as the  "memory"  and  $\nu = m + 1$  as the  "influence length"  of the code   $($or of the encoder$)$.
  
 +
* The considered encoders  $\rm A$  and  $\rm B$  differ with respect to these quantities.
  
  
  
  
 +
<u>Hints:</u>
 +
*The exercise refers to the chapter&nbsp; [[Channel_Coding/Basics_of_Convolutional_Coding| "Basics of Convolutional Coding"]].
  
''Hinweise:''
+
*Not shown in the diagram is the multiplexing of the two subsequences&nbsp; $\underline {x}^{(1)}$&nbsp; and&nbsp; $\underline {x}^{(2)}$&nbsp; to the resulting code sequence&nbsp;  
* Die Aufgabe bezieht sich auf das Kapitel&nbsp; [[Channel_Coding/Grundlagen_der_Faltungscodierung| Grundlagen der Faltungscodierung]].
 
*In der Grafik nicht dargestellt ist das Multiplexen der beiden Teilsequenzen&nbsp; $\underline {x}^{(1)}$&nbsp; und&nbsp; $\underline {x}^{(2)}$&nbsp; zur resultierenden Codesequenz&nbsp;  
 
 
:$$\underline {x} = (x_1^{(1)}, x_1^{(2)}, x_2^{(1)}, x_2^{(2)}, \ \text{...}).$$  
 
:$$\underline {x} = (x_1^{(1)}, x_1^{(2)}, x_2^{(1)}, x_2^{(2)}, \ \text{...}).$$  
*In den Teilaufgaben '''(3)''' bis '''(5)''' sollen Sie den jeweiligen Beginn der Sequenze&nbsp; $\underline {x}^{(1)}, \underline{x}^{(2)}$&nbsp; und&nbsp; $\underline{x}$&nbsp; ermitteln, wobei von der Informationssequenz&nbsp; $\underline{u} = (1, 0, 1, 1, 0, 0, \ \text{...})$&nbsp; auszugehen ist.
+
*In subtasks&nbsp; '''(3)'''&nbsp; to&nbsp; '''(5)'''&nbsp; you are to determine the start of the sequences&nbsp; $\underline {x}^{(1)}, \underline{x}^{(2)}$&nbsp; and&nbsp; $\underline{x}$&nbsp; assuming the information sequence&nbsp;  
 +
:$$\underline{u} = (1, 0, 1, 1, 0, 0, \ \text{. ..}).$$  
  
  
  
===Fragebogen===
+
===Questions===
 
<quiz display=simple>
 
<quiz display=simple>
{In welchen Codeparametern unterscheiden sich Coder &nbsp;$\rm A$&nbsp; und Coder &nbsp;$\rm B$?
+
{In which code parameters do encoder &nbsp;$\rm A$&nbsp; and encoder &nbsp;$\rm B$ differ?
 
|type="[]"}
 
|type="[]"}
- $k$: &nbsp; &nbsp; Anzahl der pro Codierschritt verarbeiteten Informationsbits,
+
- $k$: &nbsp; &nbsp; Number of information bits processed per coding step,
- $n$: &nbsp; &nbsp; Anzahl der pro Codierschritt ausgegebenen Codebits,
+
- $n$: &nbsp; &nbsp; Number of code bits output per coding step,
+ $m$: &nbsp; Gedächtnisordnung des Codes bzw. des Coders,
+
+ $m$: &nbsp; memory order of the code,
+ $\nu$: &nbsp; &nbsp; Einflusslänge des Codes.
+
+ $\nu$: &nbsp; &nbsp; influence length of the code.
  
{Welcher Coder weist das Gedächtnis&nbsp; $m = 2$&nbsp; auf?
+
{Which encoder exhibits the memory&nbsp; $m = 2$?
 
|type="[]"}
 
|type="[]"}
- Coder &nbsp;$\rm A$,
+
- Encoder &nbsp;$\rm A$,
+ Coder &nbsp;$\rm B$.
+
+ encoder &nbsp;$\rm B$.
  
{Wie lautet die Teilcodesequenz&nbsp; $\underline {x}^{(1)}$&nbsp; von Coder &nbsp;$\rm B$&nbsp; für&nbsp; $\underline {u} = (1, 0, 1, 1, 0, 0, \ \text{...})$?
+
{What is the partial code sequence&nbsp; $\underline {x}^{(1)}$&nbsp; of encoder &nbsp;$\rm B$&nbsp; for&nbsp; $\underline {u} = (1, 0, 1, 1, 0, 0, \ \text{...})$?
 
|type="()"}
 
|type="()"}
 
+ $\underline {x}^{(1)} = (1, 1, 0, 0, 0, 1, 0, 0, \ ...)$,
 
+ $\underline {x}^{(1)} = (1, 1, 0, 0, 0, 1, 0, 0, \ ...)$,
 
- $\underline {x}^{(1)} = (1, 0, 1, 1, 0, 0, 0, 0, \ ...)$.
 
- $\underline {x}^{(1)} = (1, 0, 1, 1, 0, 0, 0, 0, \ ...)$.
  
{Wie lautet die Teilcodesequenz&nbsp; $\underline{x}^{(2)}$&nbsp; von Coder &nbsp;$\rm B$&nbsp; für&nbsp; $\underline {u} = (1, 0, 1, 1, 0, 0, \ \text{...})$
+
{What is the partial code sequence&nbsp; $\underline {x}^{(2)}$&nbsp; of encoder &nbsp;$\rm B$&nbsp; for&nbsp; $\underline {u} = (1, 0, 1, 1, 0, 0, \ \text{...})$
 
|type="()"}
 
|type="()"}
 
- $\underline{x}^{(2)} = (1, 1, 0, 0, 0, 1, 0, 0, \ \text{...})$,
 
- $\underline{x}^{(2)} = (1, 1, 0, 0, 0, 1, 0, 0, \ \text{...})$,
 
+ $\underline{x}^{(2)} = (1, 0, 0, 1, 1, 1, 0, 0, \ \text{...})$.
 
+ $\underline{x}^{(2)} = (1, 0, 0, 1, 1, 1, 0, 0, \ \text{...})$.
  
{Wie beginnt die gesamte Codesequenz&nbsp; $\underline {x}$&nbsp; von von Coder &nbsp;$\rm B$&nbsp; nach Multiplexing?
+
{How does the entire code sequence&nbsp; $\underline {x}$&nbsp; start from encoder &nbsp;$\rm B$&nbsp; after multiplexing?
 
|type="()"}
 
|type="()"}
 
+ $\underline {x} = (1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, \ \text{...})$,
 
+ $\underline {x} = (1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, \ \text{...})$,
Line 54: Line 60:
 
</quiz>
 
</quiz>
  
===Musterlösung===
+
===Solution===
 
{{ML-Kopf}}
 
{{ML-Kopf}}
'''(1)'''&nbsp; Für beide Coder gilt $k = 1$ und $n = 2$.  
+
'''(1)'''&nbsp; For both encoders,&nbsp; $k = 1$&nbsp; and&nbsp; $n = 2$.
*Das Gedächtnis $m$ und die Einflusslänge $\nu$ sind unterschiedlich &nbsp; &#8658; &nbsp; <u>Antworten 3 und 4</u>.
+
 +
*The memory&nbsp; $m$&nbsp; and the influence length&nbsp; $\nu$&nbsp; are different &nbsp; &#8658; &nbsp; <u>Answers 3 and 4</u>.
  
  
[[File:P_ID2599__KC_Z_3_1b.png|right|frame|Äquivalente Coder–Darstellungen]]
+
'''(2)'''&nbsp; The shift register of encoder &nbsp;$\rm A$&nbsp; does contain two memory cells.&nbsp; However,&nbsp; since&nbsp; $x_i^{(1)} = u_i$&nbsp; and&nbsp; $x_i^{(2)} = u_i + u_{i-1}$&nbsp; is influenced only by the immediately preceding bit&nbsp; $u_{i-1}$&nbsp; besides the current information bit&nbsp; $u_i$,
'''(2)'''&nbsp; Das Schieberegister von Coder &nbsp;$\rm A$&nbsp; beinhaltet zwar zwei Speicherzellen.  
+
[[File:EN_KC_A_3_1.png|right|frame|Equivalent encoder representations]]
 +
*the memory is&nbsp; $m = 1$,&nbsp; and
 +
 +
*the influence length is&nbsp; $\nu = m + 1 = 2$.
  
Da aber $x_i^{(1)} = u_i$ ist und $x_i^{(2)} = u_i + u_{i-1}$ außer vom aktuellen Informationsbit $u_i$ nur noch vom unmittelbar vorherigen Bit $u_{i-1}$ beeinflusst wird, ist
 
*das Gedächtnis $m = 1$, und
 
*die Einflusslänge $\nu = m + 1 = 2$.
 
  
 +
The graphic shows the two encoders in another representation,&nbsp; whereby the&nbsp; "memory cells"&nbsp; are highlighted in yellow.
 +
*For the encoder &nbsp;$\rm A$&nbsp; one recognizes only one memory &#8658; $m = 1$.
 +
 +
*In contrast,&nbsp; for the encoder &nbsp;$\rm B$&nbsp; actually&nbsp; $m = 2$&nbsp; and&nbsp; $\nu = 3$.
  
Die Grafik zeigt die beiden Coder in anderer Darstellung, wobei die &bdquo;Gedächtnis&ndash;Speicherzellen" gelb hinterlegt sind.
+
*Thus,&nbsp; the&nbsp; <u>proposed solution 2</u>&nbsp; is correct.
*Beim Coder &nbsp;$\rm A$&nbsp; erkennt man nur einen solchen Speicher &#8658; $m = 1$.
 
*Dagegen gilt für den Coder &nbsp;$\rm B$&nbsp; tatsächlich $m = 2$ und $\nu = 3$.
 
*Richtig ist demnach der <u>Lösungsvorschlag 2</u>.
 
  
  
  
'''(3)'''&nbsp; Für den oberen Ausgang von Coder &nbsp;$\rm B$&nbsp; gilt allgemein:
+
'''(3)'''&nbsp; For the upper output of encoder &nbsp;$\rm B$&nbsp; applies in general:
 
:$$x_i^{(1)} = u_{i} + u_{i-1}+ u_{i-2} \hspace{0.05cm}.$$
 
:$$x_i^{(1)} = u_{i} + u_{i-1}+ u_{i-2} \hspace{0.05cm}.$$
  
Unter Berücksichtigung der Vorbelegung ($u_0 = u_{-1} = 0$) erhält man mit den obigen Angaben:
+
*Considering the preassignment&nbsp;($(u_0 = u_{-1} = 0)$,&nbsp; we obtain with the above data:
 
:$$x_1^{(1)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{1} + u_{0}+ u_{-1} = 1+0+0 = 1 \hspace{0.05cm},\hspace{1cm}x_2^{(1)} = u_{2} + u_{1}+ u_{0} = 0+1+0 = 1\hspace{0.05cm},$$
 
:$$x_1^{(1)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{1} + u_{0}+ u_{-1} = 1+0+0 = 1 \hspace{0.05cm},\hspace{1cm}x_2^{(1)} = u_{2} + u_{1}+ u_{0} = 0+1+0 = 1\hspace{0.05cm},$$
 
:$$x_3^{(1)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{3} + u_{2}+ u_{1} \hspace{0.25cm}= 1+0+1 = 0 \hspace{0.05cm},\hspace{1cm}x_4^{(1)} = u_{4} + u_{3}+ u_{2} = 1+1+0 = 0\hspace{0.05cm},$$
 
:$$x_3^{(1)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{3} + u_{2}+ u_{1} \hspace{0.25cm}= 1+0+1 = 0 \hspace{0.05cm},\hspace{1cm}x_4^{(1)} = u_{4} + u_{3}+ u_{2} = 1+1+0 = 0\hspace{0.05cm},$$
Line 84: Line 92:
 
:$$x_7^{(1)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} x_8^{(1)} = \text{...} \hspace{0.05cm}= 0 \hspace{0.05cm}.$$
 
:$$x_7^{(1)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} x_8^{(1)} = \text{...} \hspace{0.05cm}= 0 \hspace{0.05cm}.$$
  
*Richtig ist somit der <u>Lösungsvorschlag 1</u>.  
+
*The&nbsp; <u>proposed solution 1</u>&nbsp; is correct.&nbsp; The second solution suggestion &nbsp; &#8658; &nbsp; $\underline {x}^{(1)} = \underline {u}$&nbsp; would only be valid for a systematic code&nbsp; $($which is not present here$)$.
*Der zweite Lösungsvorschlag &nbsp; &#8658; &nbsp; $\underline {x}^{(1)} = \underline {u}$ würde dagegen nur bei einem systematischen Code gelten (der hier nicht vorliegt).
 
 
 
  
  
'''(4)'''&nbsp; Analog zur Teilaufgabe (3) erhält man mit $x_i^{(2)} = u_i + u_{i&ndash;2}$:
+
'''(4)'''&nbsp; Analogous to subtask&nbsp; '''(3)'''&nbsp; &rArr; &nbsp; $x_i^{(2)} = u_i + u_{i&ndash;2}$:
 
:$$x_1^{(2)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm}  1+0 = 1 \hspace{0.05cm},\hspace{0.2cm}x_2^{(2)} = 0+0 = 0\hspace{0.05cm},
 
:$$x_1^{(2)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm}  1+0 = 1 \hspace{0.05cm},\hspace{0.2cm}x_2^{(2)} = 0+0 = 0\hspace{0.05cm},
 
\hspace{0.2cm}x_3^{(3)} = 1+1 = 0\hspace{0.05cm},\hspace{0.2cm}x_4^{(2)} =  1+0 = 1 \hspace{0.05cm},$$
 
\hspace{0.2cm}x_3^{(3)} = 1+1 = 0\hspace{0.05cm},\hspace{0.2cm}x_4^{(2)} =  1+0 = 1 \hspace{0.05cm},$$
Line 96: Line 102:
 
x_7^{(2)} = x_8^{(2)} = \text{...} \hspace{0.05cm}= 0 \hspace{0.05cm}.$$
 
x_7^{(2)} = x_8^{(2)} = \text{...} \hspace{0.05cm}= 0 \hspace{0.05cm}.$$
  
*Richtig ist demnach der <u>Lösungsvorschlag 2</u>.
+
*The correct solution is the&nbsp; <u>proposed solution 2</u>.
  
  
  
'''(5)'''&nbsp; Für die (gesamte) Codesequenz kann man formal schreiben:
+
'''(5)'''&nbsp; For the&nbsp; $($entire$)$&nbsp; code sequence,&nbsp; one can formally write:
 
:$$\underline{\it x} =  \big( \hspace{0.05cm}\underline{\it x}_1\hspace{0.05cm}, \hspace{0.05cm} \underline{\it x}_2\hspace{0.05cm}, \hspace{0.05cm}\text{...}\hspace{0.05cm}  \underline{\it x}_i \hspace{0.05cm}, \text{...} \hspace{0.05cm} \big )\hspace{0.05cm}, \hspace{0.3cm}  \underline{\it x}_i = \big( x_i^{(1)}\hspace{0.05cm}, x_i^{(2)} \big)
 
:$$\underline{\it x} =  \big( \hspace{0.05cm}\underline{\it x}_1\hspace{0.05cm}, \hspace{0.05cm} \underline{\it x}_2\hspace{0.05cm}, \hspace{0.05cm}\text{...}\hspace{0.05cm}  \underline{\it x}_i \hspace{0.05cm}, \text{...} \hspace{0.05cm} \big )\hspace{0.05cm}, \hspace{0.3cm}  \underline{\it x}_i = \big( x_i^{(1)}\hspace{0.05cm}, x_i^{(2)} \big)
 
\hspace{0.4cm}\Rightarrow \hspace{0.4cm} \underline{\it x} =  \big( \hspace{0.05cm}x_1^{(1)}\hspace{0.01cm},\hspace{0.05cm} x_2^{(1)}\hspace{0.01cm},\hspace{0.05cm} x_1^{(2)}\hspace{0.01cm},\hspace{0.05cm} x_2^{(2)}\hspace{0.01cm}, \hspace{0.05cm} \text{...} \hspace{0.05cm} \big )\hspace{0.05cm}. $$
 
\hspace{0.4cm}\Rightarrow \hspace{0.4cm} \underline{\it x} =  \big( \hspace{0.05cm}x_1^{(1)}\hspace{0.01cm},\hspace{0.05cm} x_2^{(1)}\hspace{0.01cm},\hspace{0.05cm} x_1^{(2)}\hspace{0.01cm},\hspace{0.05cm} x_2^{(2)}\hspace{0.01cm}, \hspace{0.05cm} \text{...} \hspace{0.05cm} \big )\hspace{0.05cm}. $$
  
Ein Vergleich mit den Lösungen der Aufgaben (3) und (4) zeigt die Richtigkeit von <u>Lösungsvorschlag 1</u>.
+
*A comparison with the solutions of subtasks&nbsp; '''(3)'''&nbsp; and&nbsp; '''(4)'''&nbsp; shows the correctness of the&nbsp; <u>proposed solution 1</u>.
 
{{ML-Fuß}}
 
{{ML-Fuß}}
  
  
[[Category:Channel Coding: Exercises|^3.1 Grundlagen der Faltungscodierung^]]
+
[[Category:Channel Coding: Exercises|^3.1 Basics of Convolutional Coding^]]

Latest revision as of 18:26, 16 November 2022

Convolutional codes of rate  $1/2$

The graphic shows two convolutional encoders of rate  $R = 1/2$: 

  • At the input there is the information sequence  $\underline {u} = (u_1, u_2, \ \text{...} \ , u_i, \ \text{...})$. 
  • From this,  modulo-2 operations generate the two sequences
$$\underline{\it x}^{(1)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} \big( \hspace{0.05cm}x_1^{(1)}\hspace{0.05cm},\hspace{0.05cm} x_2^{(1)}\hspace{0.05cm},\hspace{0.05cm} \text{...} \hspace{0.05cm},\hspace{0.05cm} x_i^{(1)} \hspace{0.05cm},\text{...} \hspace{0.05cm} \big )\hspace{0.05cm},$$
$$\underline{\it x}^{(2)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} \big( \hspace{0.05cm}x_1^{(2)}\hspace{0.05cm},\hspace{0.05cm} x_2^{(2)}\hspace{0.05cm},\hspace{0.05cm}\text{...} \hspace{0.05cm},\hspace{0.05cm} x_i^{(2)} \hspace{0.05cm}, \text{...} \hspace{0.05cm} \big )$$
where  $x_i^{(j)}$  with  $j = 1$  resp.  $j = 2$  may depend except from  $u_i$  also from the previous information bits  $u_{i-1}, \ \text{...} \ , u_{i-m}$.
  • One refers  $m$  as the  "memory"  and  $\nu = m + 1$  as the  "influence length"  of the code  $($or of the encoder$)$.
  • The considered encoders  $\rm A$  and  $\rm B$  differ with respect to these quantities.



Hints:

  • Not shown in the diagram is the multiplexing of the two subsequences  $\underline {x}^{(1)}$  and  $\underline {x}^{(2)}$  to the resulting code sequence 
$$\underline {x} = (x_1^{(1)}, x_1^{(2)}, x_2^{(1)}, x_2^{(2)}, \ \text{...}).$$
  • In subtasks  (3)  to  (5)  you are to determine the start of the sequences  $\underline {x}^{(1)}, \underline{x}^{(2)}$  and  $\underline{x}$  assuming the information sequence 
$$\underline{u} = (1, 0, 1, 1, 0, 0, \ \text{. ..}).$$


Questions

1

In which code parameters do encoder  $\rm A$  and encoder  $\rm B$ differ?

$k$:     Number of information bits processed per coding step,
$n$:     Number of code bits output per coding step,
$m$:   memory order of the code,
$\nu$:     influence length of the code.

2

Which encoder exhibits the memory  $m = 2$?

Encoder  $\rm A$,
encoder  $\rm B$.

3

What is the partial code sequence  $\underline {x}^{(1)}$  of encoder  $\rm B$  for  $\underline {u} = (1, 0, 1, 1, 0, 0, \ \text{...})$?

$\underline {x}^{(1)} = (1, 1, 0, 0, 0, 1, 0, 0, \ ...)$,
$\underline {x}^{(1)} = (1, 0, 1, 1, 0, 0, 0, 0, \ ...)$.

4

What is the partial code sequence  $\underline {x}^{(2)}$  of encoder  $\rm B$  for  $\underline {u} = (1, 0, 1, 1, 0, 0, \ \text{...})$

$\underline{x}^{(2)} = (1, 1, 0, 0, 0, 1, 0, 0, \ \text{...})$,
$\underline{x}^{(2)} = (1, 0, 0, 1, 1, 1, 0, 0, \ \text{...})$.

5

How does the entire code sequence  $\underline {x}$  start from encoder  $\rm B$  after multiplexing?

$\underline {x} = (1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, \ \text{...})$,
$\underline {x} = (1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, \ \text{...})$.


Solution

(1)  For both encoders,  $k = 1$  and  $n = 2$.

  • The memory  $m$  and the influence length  $\nu$  are different   ⇒   Answers 3 and 4.


(2)  The shift register of encoder  $\rm A$  does contain two memory cells.  However,  since  $x_i^{(1)} = u_i$  and  $x_i^{(2)} = u_i + u_{i-1}$  is influenced only by the immediately preceding bit  $u_{i-1}$  besides the current information bit  $u_i$,

Equivalent encoder representations
  • the memory is  $m = 1$,  and
  • the influence length is  $\nu = m + 1 = 2$.


The graphic shows the two encoders in another representation,  whereby the  "memory cells"  are highlighted in yellow.

  • For the encoder  $\rm A$  one recognizes only one memory ⇒ $m = 1$.
  • In contrast,  for the encoder  $\rm B$  actually  $m = 2$  and  $\nu = 3$.
  • Thus,  the  proposed solution 2  is correct.


(3)  For the upper output of encoder  $\rm B$  applies in general:

$$x_i^{(1)} = u_{i} + u_{i-1}+ u_{i-2} \hspace{0.05cm}.$$
  • Considering the preassignment ($(u_0 = u_{-1} = 0)$,  we obtain with the above data:
$$x_1^{(1)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{1} + u_{0}+ u_{-1} = 1+0+0 = 1 \hspace{0.05cm},\hspace{1cm}x_2^{(1)} = u_{2} + u_{1}+ u_{0} = 0+1+0 = 1\hspace{0.05cm},$$
$$x_3^{(1)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{3} + u_{2}+ u_{1} \hspace{0.25cm}= 1+0+1 = 0 \hspace{0.05cm},\hspace{1cm}x_4^{(1)} = u_{4} + u_{3}+ u_{2} = 1+1+0 = 0\hspace{0.05cm},$$
$$x_5^{(1)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_{5} + u_{4}+ u_{3} \hspace{0.25cm}= 0+1+1 = 0 \hspace{0.05cm},\hspace{1cm}x_6^{(1)} = u_{6} + u_{5}+ u_{4} = 0+0+1 = 1\hspace{0.05cm},$$
$$x_7^{(1)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} x_8^{(1)} = \text{...} \hspace{0.05cm}= 0 \hspace{0.05cm}.$$
  • The  proposed solution 1  is correct.  The second solution suggestion   ⇒   $\underline {x}^{(1)} = \underline {u}$  would only be valid for a systematic code  $($which is not present here$)$.


(4)  Analogous to subtask  (3)  ⇒   $x_i^{(2)} = u_i + u_{i–2}$:

$$x_1^{(2)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} 1+0 = 1 \hspace{0.05cm},\hspace{0.2cm}x_2^{(2)} = 0+0 = 0\hspace{0.05cm}, \hspace{0.2cm}x_3^{(3)} = 1+1 = 0\hspace{0.05cm},\hspace{0.2cm}x_4^{(2)} = 1+0 = 1 \hspace{0.05cm},$$
$$x_5^{(2)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} 0+1 = 1\hspace{0.05cm}, \hspace{0.2cm}x_6^{(2)} = 0+1 = 1\hspace{0.05cm},\hspace{0.2cm} x_7^{(2)} = x_8^{(2)} = \text{...} \hspace{0.05cm}= 0 \hspace{0.05cm}.$$
  • The correct solution is the  proposed solution 2.


(5)  For the  $($entire$)$  code sequence,  one can formally write:

$$\underline{\it x} = \big( \hspace{0.05cm}\underline{\it x}_1\hspace{0.05cm}, \hspace{0.05cm} \underline{\it x}_2\hspace{0.05cm}, \hspace{0.05cm}\text{...}\hspace{0.05cm} \underline{\it x}_i \hspace{0.05cm}, \text{...} \hspace{0.05cm} \big )\hspace{0.05cm}, \hspace{0.3cm} \underline{\it x}_i = \big( x_i^{(1)}\hspace{0.05cm}, x_i^{(2)} \big) \hspace{0.4cm}\Rightarrow \hspace{0.4cm} \underline{\it x} = \big( \hspace{0.05cm}x_1^{(1)}\hspace{0.01cm},\hspace{0.05cm} x_2^{(1)}\hspace{0.01cm},\hspace{0.05cm} x_1^{(2)}\hspace{0.01cm},\hspace{0.05cm} x_2^{(2)}\hspace{0.01cm}, \hspace{0.05cm} \text{...} \hspace{0.05cm} \big )\hspace{0.05cm}. $$
  • A comparison with the solutions of subtasks  (3)  and  (4)  shows the correctness of the  proposed solution 1.