Difference between revisions of "Aufgaben:Exercise 3.4: Systematic Convolution Codes"
From LNTwww
(2 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
[[File:EN_KC_A_3_4.png|right|frame|Predefined filter structures]] | [[File:EN_KC_A_3_4.png|right|frame|Predefined filter structures]] | ||
− | One speaks of a systematic convolutional code of rate $R = 1/2$ ⇒ $k = 1, \ n = 2$, if the code bit $x_i^{(1)}$ is equal to the currently applied information bit $u_i$ | + | One speaks of a "systematic convolutional code" of rate $R = 1/2$ ⇒ $k = 1, \ n = 2$, if the code bit $x_i^{(1)}$ is equal to the currently applied information bit $u_i$. |
− | The transfer function matrix of such a code is: | + | *The transfer function matrix of such a code is: |
:$${\boldsymbol{\rm G}}(D) = \big ( \hspace{0.05cm} 1\hspace{0.05cm} , \hspace{0.2cm} G^{(2)}(D) \hspace{0.05cm}\big ) | :$${\boldsymbol{\rm G}}(D) = \big ( \hspace{0.05cm} 1\hspace{0.05cm} , \hspace{0.2cm} G^{(2)}(D) \hspace{0.05cm}\big ) | ||
\hspace{0.05cm}.$$ | \hspace{0.05cm}.$$ | ||
− | The encoder $\rm A$ shown in the upper graph is certainly not systematic, since for this $G^{(1)}(D) ≠ 1$ holds. To derive the matrix $\mathbf{G}(D)$ we refer to | + | *The encoder $\rm A$ shown in the upper graph is certainly not systematic, since for this $G^{(1)}(D) ≠ 1$ holds. To derive the matrix $\mathbf{G}(D)$ we refer to an [[Channel_Coding/Algebraic_and_Polynomial_Description#Application_of_the_D-transform_to_rate-1. 2Fn-convolution_encoders|$\text{earlier example}$]], where for our standard rate–1/2 encoder with memory $m = 2$ the transfer function matrix was determined: |
:$${\boldsymbol{\rm G}}(D) \hspace{-0.15cm} \ = \ \hspace{-0.15cm} \big ( \hspace{0.05cm} G^{(1)}(D)\hspace{0.05cm} , \hspace{0.2cm} G^{(2)}(D) \hspace{0.05cm}\big ) = \big ( \hspace{0.05cm} 1 + D + D^2\hspace{0.05cm} , \hspace{0.2cm} 1 + D^2 \hspace{0.05cm}\big ) | :$${\boldsymbol{\rm G}}(D) \hspace{-0.15cm} \ = \ \hspace{-0.15cm} \big ( \hspace{0.05cm} G^{(1)}(D)\hspace{0.05cm} , \hspace{0.2cm} G^{(2)}(D) \hspace{0.05cm}\big ) = \big ( \hspace{0.05cm} 1 + D + D^2\hspace{0.05cm} , \hspace{0.2cm} 1 + D^2 \hspace{0.05cm}\big ) | ||
\hspace{0.05cm}.$$ | \hspace{0.05cm}.$$ | ||
− | The encoder $\rm A$ differs from this example only by swapping the two outputs. | + | :The encoder $\rm A$ differs from this example only by swapping the two outputs. |
*If the transfer function matrix of a code is | *If the transfer function matrix of a code is | ||
:$${\boldsymbol{\rm G}}(D) = \big ( \hspace{0.05cm} G^{(1)}(D)\hspace{0.05cm} , \hspace{0.2cm} G^{(2)}(D) \hspace{0.05cm}\big ) | :$${\boldsymbol{\rm G}}(D) = \big ( \hspace{0.05cm} G^{(1)}(D)\hspace{0.05cm} , \hspace{0.2cm} G^{(2)}(D) \hspace{0.05cm}\big ) | ||
\hspace{0.05cm},$$ | \hspace{0.05cm},$$ | ||
− | then the equivalent systematic representation of this rate 1/2 convolutional code holds in general: | + | :then the equivalent systematic representation of this rate–1/2 convolutional code holds in general: |
:$${\boldsymbol{\rm G}}_{\rm sys}(D) = \big ( \hspace{0.05cm} 1\hspace{0.05cm} , \hspace{0.2cm} {G^{(2)}(D)}/{G^{(1)}(D)} \hspace{0.05cm}\big ) | :$${\boldsymbol{\rm G}}_{\rm sys}(D) = \big ( \hspace{0.05cm} 1\hspace{0.05cm} , \hspace{0.2cm} {G^{(2)}(D)}/{G^{(1)}(D)} \hspace{0.05cm}\big ) | ||
\hspace{0.05cm}.$$ | \hspace{0.05cm}.$$ | ||
− | In subtask '''(3)''', check which of the systematic arrangements is equivalent to encoder $\rm A$ | + | In subtask '''(3)''', check which of the systematic arrangements is equivalent to encoder $\rm A$? |
*Either encoder $\rm B$, | *Either encoder $\rm B$, | ||
− | *or encoder $\rm C$ | + | |
+ | *or encoder $\rm C$ | ||
+ | |||
*or both. | *or both. | ||
Line 32: | Line 34: | ||
+ | Hints: | ||
+ | * This exercise belongs to the chapter [[Channel_Coding/Algebraic_and_Polynomial_Description| "Algebraic and Polynomial Description"]]. | ||
− | + | * Reference is made in particular to the sections | |
− | + | :* [[Channel_Coding/Algebraic_and_Polynomial_Description#Transfer_Function_Matrix|"Transfer Function Matrix"]] and | |
− | + | :* [[Channel_Coding/Algebraic_and_Polynomial_Description#Equivalent_systematic_convolutional_code|"Equivalent systematic convolutional code"]]. | |
− | * Reference is made in particular to the | ||
− | : | ||
− | : | ||
Line 57: | Line 58: | ||
{Which encoder is equivalent to $\rm A$ and systematic? | {Which encoder is equivalent to $\rm A$ and systematic? | ||
− | |type=" | + | |type="[]"} |
- Encoder $\rm B$ , | - Encoder $\rm B$ , | ||
+ encoder $\rm C$ . | + encoder $\rm C$ . | ||
Line 64: | Line 65: | ||
===Solution=== | ===Solution=== | ||
{{ML-Kopf}} | {{ML-Kopf}} | ||
− | '''(1)''' Correct is the <u>proposed solution 1</u>: | + | '''(1)''' Correct is the <u>proposed solution 1</u>: |
− | *Proposition 2 would result if the two outputs were swapped, that is, for the [[Channel_Coding/Algebraic_and_Polynomial_Description#Application_of_the_D-transform_to_rate-1.2Fn-convolution_encoders|" | + | *Proposition 2 would result if the two outputs were swapped, that is, for the [[Channel_Coding/Algebraic_and_Polynomial_Description#Application_of_the_D-transform_to_rate-1.2Fn-convolution_encoders|"rate–1/2 standard code"]] mostly considered in the theory section. |
− | *Proposition 3 applies to a systematic code ⇒ $\underline{x}^{(1)} = | + | *Proposition 3 applies to a systematic code ⇒ $\underline{x}^{(1)} = \underline{u}$. However, the coder $\rm A$ considered here does not exhibit this property. |
− | '''(2)''' To go from a nonsystematic $(n, \ k)$ code with matrix $\mathbf{G}(D)$ to the equivalent systematic code ⇒ matrix $\mathbf{G}_{\rm sys}(D)$, | + | '''(2)''' To go from a nonsystematic $(n, \ k)$ code with matrix $\mathbf{G}(D)$ to the equivalent systematic code ⇒ matrix $\mathbf{G}_{\rm sys}(D)$, one must generally split $\mathbf{G}(D)$ into a $k × k$ matrix $\mathbf{T}(D)$ and a remainder matrix $\mathbf{Q}(D)$. |
− | *The desired result is then with the $k × k$ identity matrix $\mathbf{I}_k$: | + | *The desired result is then with the $k × k$ identity matrix $\mathbf{I}_k$: |
:$${\boldsymbol{\rm G}}_{\rm sys}(D) = \big ( \hspace{0.05cm} {\boldsymbol{\rm I}}_k\hspace{0.05cm} ; \hspace{0.1cm} {\boldsymbol{\rm T}}^{-1}(D) \cdot {\boldsymbol{\rm Q}}(D)\hspace{0.05cm}\big ) | :$${\boldsymbol{\rm G}}_{\rm sys}(D) = \big ( \hspace{0.05cm} {\boldsymbol{\rm I}}_k\hspace{0.05cm} ; \hspace{0.1cm} {\boldsymbol{\rm T}}^{-1}(D) \cdot {\boldsymbol{\rm Q}}(D)\hspace{0.05cm}\big ) | ||
\hspace{0.05cm}.$$ | \hspace{0.05cm}.$$ | ||
− | *We assume here the $\mathbf{G}(D)$ matrix for the coder $\rm A$ | + | *We assume here the $\mathbf{G}(D)$ matrix for the coder $\rm A$. Because of $k = 1$ here both $\mathbf{T}(D)$ and $\mathbf{Q}(D)$ have dimension $1 × 1$, so strictly speaking they are not matrices at all: |
− | |||
:$${\boldsymbol{\rm G}}(D) = \big ( \hspace{0.05cm} {\boldsymbol{\rm T}}(D)\hspace{0.05cm} ; \hspace{0.2cm} {\boldsymbol{\rm Q}}(D)\hspace{0.05cm}\big ) | :$${\boldsymbol{\rm G}}(D) = \big ( \hspace{0.05cm} {\boldsymbol{\rm T}}(D)\hspace{0.05cm} ; \hspace{0.2cm} {\boldsymbol{\rm Q}}(D)\hspace{0.05cm}\big ) | ||
\hspace{0.3cm} \Rightarrow \hspace{0.3cm}{\boldsymbol{\rm T}}(D) = \big ( 1+D^2\big )\hspace{0.05cm} , \hspace{0.2cm} | \hspace{0.3cm} \Rightarrow \hspace{0.3cm}{\boldsymbol{\rm T}}(D) = \big ( 1+D^2\big )\hspace{0.05cm} , \hspace{0.2cm} | ||
{\boldsymbol{\rm Q}}(D) = \big ( 1+D+D^2\big )\hspace{0.05cm} .$$ | {\boldsymbol{\rm Q}}(D) = \big ( 1+D+D^2\big )\hspace{0.05cm} .$$ | ||
− | *For the two elements of the systematic transfer function matrix, we obtain: | + | *For the two elements of the systematic transfer function matrix, we obtain: |
:$$G^{(1)}(D) \hspace{-0.15cm} \ = \ \hspace{-0.15cm} {\boldsymbol{\rm T}}(D) \cdot {\boldsymbol{\rm T}}^{-1}(D) = 1 C,\hspace{0.8cm} | :$$G^{(1)}(D) \hspace{-0.15cm} \ = \ \hspace{-0.15cm} {\boldsymbol{\rm T}}(D) \cdot {\boldsymbol{\rm T}}^{-1}(D) = 1 C,\hspace{0.8cm} | ||
G^{(2)}(D) \hspace{-0.15cm} \ = \ \hspace{-0.15cm} {\boldsymbol{\rm Q}}(D) \cdot {\boldsymbol{\rm T}}^{-1}(D) = \frac{1+D+D^2}{1+D^2}$$ | G^{(2)}(D) \hspace{-0.15cm} \ = \ \hspace{-0.15cm} {\boldsymbol{\rm Q}}(D) \cdot {\boldsymbol{\rm T}}^{-1}(D) = \frac{1+D+D^2}{1+D^2}$$ | ||
Line 89: | Line 89: | ||
\hspace{0.05cm}.$$ | \hspace{0.05cm}.$$ | ||
− | So the <u>last proposed solution</u> is correct: | + | So the <u>last proposed solution</u> is correct: |
− | *Proposed solution 1 does not describe a systematic code. | + | *Proposed solution 1 does not describe a systematic code. |
− | *A code according to solution suggestion 2 is systematic, but not equivalent to the coder $\rm A$ according to the given circuit and transfer function matrix $\mathbf{G}(D)$. | + | |
+ | *A code according to solution suggestion 2 is systematic, but not equivalent to the coder $\rm A$ according to the given circuit and transfer function matrix $\mathbf{G}(D)$. | ||
Line 98: | Line 99: | ||
\hspace{0.05cm}.$$ | \hspace{0.05cm}.$$ | ||
− | *So this encoder is not equivalent to | + | *So this encoder is not equivalent to encoder $\rm A$. |
− | *Let us now consider the encoder $\rm C$. Here the second matrix element of $\mathbf{G}(D)$ | + | |
+ | *Let us now consider the encoder $\rm C$. Here the second matrix element of $\mathbf{G}(D)$: | ||
:$$w_i \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_i + w_{i-2} \hspace{0.25cm} \circ\!\!-\!\!\!-^{\hspace{-0.25cm}D}\!\!\!-\!\!\bullet\hspace{0.25cm} | :$$w_i \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_i + w_{i-2} \hspace{0.25cm} \circ\!\!-\!\!\!-^{\hspace{-0.25cm}D}\!\!\!-\!\!\bullet\hspace{0.25cm} | ||
{U}(D) = W(D) \cdot (1 + D^2 ) \hspace{0.05cm},\hspace{0.8cm} | {U}(D) = W(D) \cdot (1 + D^2 ) \hspace{0.05cm},\hspace{0.8cm} | ||
Line 106: | Line 108: | ||
:$$\Rightarrow \hspace{0.3cm} G^{(2)}(D) = \frac{{X}^{(2)}(D)}{{U}(D)} = \frac{1+D+D^2}{1+D^2}\hspace{0.05cm}.$$ | :$$\Rightarrow \hspace{0.3cm} G^{(2)}(D) = \frac{{X}^{(2)}(D)}{{U}(D)} = \frac{1+D+D^2}{1+D^2}\hspace{0.05cm}.$$ | ||
− | This corresponds exactly to the result of | + | *This corresponds exactly to the result of subtask '''(2)''' ⇒ <u>Proposed solution 2</u>. |
{{ML-Fuß}} | {{ML-Fuß}} | ||
Latest revision as of 18:34, 10 November 2022
One speaks of a "systematic convolutional code" of rate $R = 1/2$ ⇒ $k = 1, \ n = 2$, if the code bit $x_i^{(1)}$ is equal to the currently applied information bit $u_i$.
- The transfer function matrix of such a code is:
- $${\boldsymbol{\rm G}}(D) = \big ( \hspace{0.05cm} 1\hspace{0.05cm} , \hspace{0.2cm} G^{(2)}(D) \hspace{0.05cm}\big ) \hspace{0.05cm}.$$
- The encoder $\rm A$ shown in the upper graph is certainly not systematic, since for this $G^{(1)}(D) ≠ 1$ holds. To derive the matrix $\mathbf{G}(D)$ we refer to an $\text{earlier example}$, where for our standard rate–1/2 encoder with memory $m = 2$ the transfer function matrix was determined:
- $${\boldsymbol{\rm G}}(D) \hspace{-0.15cm} \ = \ \hspace{-0.15cm} \big ( \hspace{0.05cm} G^{(1)}(D)\hspace{0.05cm} , \hspace{0.2cm} G^{(2)}(D) \hspace{0.05cm}\big ) = \big ( \hspace{0.05cm} 1 + D + D^2\hspace{0.05cm} , \hspace{0.2cm} 1 + D^2 \hspace{0.05cm}\big ) \hspace{0.05cm}.$$
- The encoder $\rm A$ differs from this example only by swapping the two outputs.
- If the transfer function matrix of a code is
- $${\boldsymbol{\rm G}}(D) = \big ( \hspace{0.05cm} G^{(1)}(D)\hspace{0.05cm} , \hspace{0.2cm} G^{(2)}(D) \hspace{0.05cm}\big ) \hspace{0.05cm},$$
- then the equivalent systematic representation of this rate–1/2 convolutional code holds in general:
- $${\boldsymbol{\rm G}}_{\rm sys}(D) = \big ( \hspace{0.05cm} 1\hspace{0.05cm} , \hspace{0.2cm} {G^{(2)}(D)}/{G^{(1)}(D)} \hspace{0.05cm}\big ) \hspace{0.05cm}.$$
In subtask (3), check which of the systematic arrangements is equivalent to encoder $\rm A$?
- Either encoder $\rm B$,
- or encoder $\rm C$
- or both.
Hints:
- This exercise belongs to the chapter "Algebraic and Polynomial Description".
- Reference is made in particular to the sections
Questions
Solution
(1) Correct is the proposed solution 1:
- Proposition 2 would result if the two outputs were swapped, that is, for the "rate–1/2 standard code" mostly considered in the theory section.
- Proposition 3 applies to a systematic code ⇒ $\underline{x}^{(1)} = \underline{u}$. However, the coder $\rm A$ considered here does not exhibit this property.
(2) To go from a nonsystematic $(n, \ k)$ code with matrix $\mathbf{G}(D)$ to the equivalent systematic code ⇒ matrix $\mathbf{G}_{\rm sys}(D)$, one must generally split $\mathbf{G}(D)$ into a $k × k$ matrix $\mathbf{T}(D)$ and a remainder matrix $\mathbf{Q}(D)$.
- The desired result is then with the $k × k$ identity matrix $\mathbf{I}_k$:
- $${\boldsymbol{\rm G}}_{\rm sys}(D) = \big ( \hspace{0.05cm} {\boldsymbol{\rm I}}_k\hspace{0.05cm} ; \hspace{0.1cm} {\boldsymbol{\rm T}}^{-1}(D) \cdot {\boldsymbol{\rm Q}}(D)\hspace{0.05cm}\big ) \hspace{0.05cm}.$$
- We assume here the $\mathbf{G}(D)$ matrix for the coder $\rm A$. Because of $k = 1$ here both $\mathbf{T}(D)$ and $\mathbf{Q}(D)$ have dimension $1 × 1$, so strictly speaking they are not matrices at all:
- $${\boldsymbol{\rm G}}(D) = \big ( \hspace{0.05cm} {\boldsymbol{\rm T}}(D)\hspace{0.05cm} ; \hspace{0.2cm} {\boldsymbol{\rm Q}}(D)\hspace{0.05cm}\big ) \hspace{0.3cm} \Rightarrow \hspace{0.3cm}{\boldsymbol{\rm T}}(D) = \big ( 1+D^2\big )\hspace{0.05cm} , \hspace{0.2cm} {\boldsymbol{\rm Q}}(D) = \big ( 1+D+D^2\big )\hspace{0.05cm} .$$
- For the two elements of the systematic transfer function matrix, we obtain:
- $$G^{(1)}(D) \hspace{-0.15cm} \ = \ \hspace{-0.15cm} {\boldsymbol{\rm T}}(D) \cdot {\boldsymbol{\rm T}}^{-1}(D) = 1 C,\hspace{0.8cm} G^{(2)}(D) \hspace{-0.15cm} \ = \ \hspace{-0.15cm} {\boldsymbol{\rm Q}}(D) \cdot {\boldsymbol{\rm T}}^{-1}(D) = \frac{1+D+D^2}{1+D^2}$$
- $$\Rightarrow \hspace{0.3cm}{\boldsymbol{\rm G}}_{\rm sys}(D) = \big ( \hspace{0.05cm} 1\hspace{0.05cm} , \hspace{0.1cm} \frac{1+D+D^2}{1+D^2} \hspace{0.05cm}\big ) \hspace{0.05cm}.$$
So the last proposed solution is correct:
- Proposed solution 1 does not describe a systematic code.
- A code according to solution suggestion 2 is systematic, but not equivalent to the coder $\rm A$ according to the given circuit and transfer function matrix $\mathbf{G}(D)$.
(3) The generator function matrix of encoder $\rm B$ is:
- $${\boldsymbol{\rm G}}_{\rm B}(D) = \big ( \hspace{0.05cm} 1\hspace{0.05cm} , \hspace{0.2cm} {1+D+D^2} \hspace{0.05cm}\big ) \hspace{0.05cm}.$$
- So this encoder is not equivalent to encoder $\rm A$.
- Let us now consider the encoder $\rm C$. Here the second matrix element of $\mathbf{G}(D)$:
- $$w_i \hspace{-0.15cm} \ = \ \hspace{-0.15cm} u_i + w_{i-2} \hspace{0.25cm} \circ\!\!-\!\!\!-^{\hspace{-0.25cm}D}\!\!\!-\!\!\bullet\hspace{0.25cm} {U}(D) = W(D) \cdot (1 + D^2 ) \hspace{0.05cm},\hspace{0.8cm} x_i^{(2)} \hspace{-0.15cm} \ = \ \hspace{-0.15cm} w_i + w_{i-1} + w_{i-2} \hspace{0.25cm} \circ\!\!-\!\!\!-^{\hspace{-0.25cm}D}\!\!\!-\!\!\bullet\hspace{0.25cm} {X}^{(2)}(D) = W(D) \cdot (1 +D + D^2 )$$
- $$\Rightarrow \hspace{0.3cm} G^{(2)}(D) = \frac{{X}^{(2)}(D)}{{U}(D)} = \frac{1+D+D^2}{1+D^2}\hspace{0.05cm}.$$
- This corresponds exactly to the result of subtask (2) ⇒ Proposed solution 2.