Aufgaben:Exercise 3.09: Basics of the Viterbi Algorithm: Difference between revisions
m Text replacement - "Category:Aufgaben zu Kanalcodierung" to "Category:Channel Coding: Exercises" |
Fix interlanguage link: resolve redirect chain |
||
| (11 intermediate revisions by 4 users not shown) | |||
| Line 1: | Line 1: | ||
{{quiz-Header|Buchseite= | {{quiz-Header|Buchseite=Channel_Coding/Decoding_of_Convolutional_Codes}} | ||
[[File:P_ID2659__KC_A_3_8.png|right|frame| | [[File:P_ID2659__KC_A_3_8.png|right|frame|Trellis to be analyzed]] | ||
The graph shows a trellis diagram and simultaneously defines the cumulative error values $($"metrics"$)$ ${\it \Gamma}_i(S_0)$ and ${\it \Gamma}_i(S_1)$ at times $i = 0$ to $i = 5$. | |||
From this trellis can be read, for example: | |||
* the code rate $R$, | |||
* | |||
* the memory $m$, | |||
* the free distance $d_{\rm F}$, | |||
* | |||
* the information sequence length $L$, | |||
* the sequence length $L\hspace{0.05cm}'$ including the termination. | |||
In the exercise it is further necessary to clarify: | |||
* the meaning of the final error value ${\it \Gamma}_5(S_0)$, | |||
* effects of one and two transmission errors, respectively. | |||
<u>Hint:</u> This exercise belongs to the chapter [[Channel_Coding/Decoding_of_Convolutional_Codes| "Decoding of Convolutional Codes"]]. | |||
| Line 33: | Line 32: | ||
=== | |||
===Questions=== | |||
<quiz display=simple> | <quiz display=simple> | ||
{ | {Which of the following statements are confirmed by the trellis? | ||
|type="[]"} | |type="[]"} | ||
+ | + It is a rate-1/2 convolutional code. | ||
- | - The memory of the code is $m = 2$. | ||
+ | + The convolutional code is terminated. | ||
- | - The length of the information sequence is $L = 5$. | ||
{ | {Specify the free distance $d_{\rm F}$ of the convolutional code. | ||
|type="{}"} | |type="{}"} | ||
$d_{\rm F} \ = \ ${ 3 3% } | $d_{\rm F} \ = \ ${ 3 3% } | ||
{ | {What statements does the final value ${\it \Gamma}_5(S_0) = 0$ of the metric allow? | ||
|type="[]"} | |type="[]"} | ||
- | - No transmission error has occurred. | ||
- | - The decoding result $\underline{v}$ is certainly correct $($equal $\underline{u})$. | ||
+ | + The decoding result minimizes the probability ${\rm Pr}(\underline{v} ≠ \underline{u})$. | ||
{ | {Which statements are true <u>in the case of a single</u> transmission error? | ||
|type="[]"} | |type="[]"} | ||
+ | + The final metric is ${\it \Gamma}_5(S_0) = 1$. | ||
+ | + The decoding result $\underline{v}$ is certainly correct $($equal $\underline{u})$. | ||
+ | + The decoding result minimizes the probability ${\rm Pr}(\underline{v} ≠ \underline{u})$. | ||
{ | {Which statements are true <u>in the case of two</u> transmission errors? | ||
|type="[]"} | |type="[]"} | ||
- | - The final metric is ${\it \Gamma}_5(S_0) = 2$. | ||
- | - The decoding result $\underline{v}$ is certainly correct $($equal $\underline{u})$. | ||
- | - The decoding result $\underline{v}$ is certainly false $($unequal $\underline{u})$. | ||
</quiz> | </quiz> | ||
=== | ===Solution=== | ||
{{ML-Kopf}} | {{ML-Kopf}} | ||
'''(1)''' | '''(1)''' Correct are the <u>solutions 1 and 3</u>: | ||
* | *There are $2^{k \cdot m} = 2$ states here. It follows that $k = 1$ and $m = 1$. | ||
* | |||
* | *Per coding step, $n = 2$ code bits are output ⇒ $R = 1/2$. | ||
* | |||
*The information sequence length is $L = 4$. | |||
*Only by one $($since $m = 1)$ additional termination bit one arrives at the total length $L' = 5$. | |||
'''(2)''' | '''(2)''' The free distance $d_{\rm F}$ is defined as the number of code bits in which two sequences $\underline{x}$ and $\underline{x'}$ differ. | ||
*We choose the zero sequence as the reference sequence: | |||
:$$\underline{x}\hspace{0.03cm}' = \underline{0} = \big (00\hspace{0.05cm}, 00\hspace{0.05cm}, 00\hspace{0.05cm}, 00\hspace{0.05cm}, ... \hspace{0.1cm} \big ) \hspace{0.05cm},$$ | :$$\underline{x}\hspace{0.03cm}' = \underline{0} = \big (00\hspace{0.05cm}, 00\hspace{0.05cm}, 00\hspace{0.05cm}, 00\hspace{0.05cm}, ... \hspace{0.1cm} \big ) \hspace{0.05cm},$$ | ||
:expressed with the sequence of states: $S_0 → S_0 → S_0 → S_0 → \ \text{...} \ $ | |||
* | *One of the sequences $\underline{x} ≠ \underline{0}$, which differs from $\underline{0}$ only in the minimum number of code bits, follows the path $S_0 → S_1 → S_0 → S_0 → \text{...} \ $: | ||
:$$\underline{x} = \big (11\hspace{0.05cm}, 01\hspace{0.05cm}, 00\hspace{0.05cm}, 00\hspace{0.05cm}, ... \hspace{0.1cm} \big ) | :$$\underline{x} = \big (11\hspace{0.05cm}, 01\hspace{0.05cm}, 00\hspace{0.05cm}, 00\hspace{0.05cm}, ... \hspace{0.1cm} \big )\hspace{0.3cm}\Rightarrow \hspace{0.3cm} d_{\rm F}\hspace{0.1cm}\underline{ = 3}\hspace{0.05cm}.$$ | ||
\hspace{0.3cm}\Rightarrow \hspace{0.3cm} d_{\rm F}\hspace{0.1cm}\underline{ = 3} | |||
\hspace{0.05cm}.$$ | |||
[[File:P_ID2660__KC_A_3_9c.png|right|frame|Trellis without error (above) and with three transmission errors (below)]] | |||
[[File:P_ID2661__KC_A_3_9e.png|right|frame|Trellis with two transmission errors]] | |||
'''(3)''' Only <u>proposition 3</u> is correct here, because the event "No transmission error" is much more likely than three errors at exactly specified positions. Consider the graph: | |||
*If the zero sequence is sent and this is also received, the Viterbi decoding can be illustrated by the upper trellis. | |||
*The final value of the metric is ${\it \Gamma}_5(S_0) = 0$, and the Viterbi decoder decides correctly with certainty: $\underline{z} = \underline{x} ⇒ \underline{v} = \underline{u}$. | |||
* | *For the lower trellis, we also assume $\underline{u} = (0, \, 0, \, 0, \, 0 \, 0) ⇒ \underline{x} = (00, \, 00, \, 00, \, 00, \, 00)$. | ||
*However, $\underline{y} = (00, \, 00, \, 00, \, 11, \, 01)$ is received now. | |||
*Nevertheless, ${\it \Gamma}_5(S_0) = 0$ holds. The example proves that the first two statements are false. | |||
'''(4)''' Correct are <u>all answers</u>: If it is known for sure that only one transmission error occurred, for a convolutional code with free distance $d_{\rm F} = 3$ the Viterbi algorithm works perfectly, no matter at which position the error occurred. | |||
'''(5)''' <u> | '''(5)''' <u> None of the proposed solutions</u> is correct, as can be seen from the second graphic. | ||
{{ML-Fuß}} | {{ML-Fuß}} | ||
[[Category:Channel Coding: Exercises|^3.4 | [[Category:Channel Coding: Exercises|^3.4 Decoding of Convolutional Codes^]] | ||
[[de:Aufgaben:Aufgabe 3.09: Grundlegendes zum Viterbi–Algorithmus]] | |||
Latest revision as of 17:54, 16 March 2026

The graph shows a trellis diagram and simultaneously defines the cumulative error values $($"metrics"$)$ ${\it \Gamma}_i(S_0)$ and ${\it \Gamma}_i(S_1)$ at times $i = 0$ to $i = 5$.
From this trellis can be read, for example:
- the code rate $R$,
- the memory $m$,
- the free distance $d_{\rm F}$,
- the information sequence length $L$,
- the sequence length $L\hspace{0.05cm}'$ including the termination.
In the exercise it is further necessary to clarify:
- the meaning of the final error value ${\it \Gamma}_5(S_0)$,
- effects of one and two transmission errors, respectively.
Hint: This exercise belongs to the chapter "Decoding of Convolutional Codes".
Questions
Solution
- There are $2^{k \cdot m} = 2$ states here. It follows that $k = 1$ and $m = 1$.
- Per coding step, $n = 2$ code bits are output ⇒ $R = 1/2$.
- The information sequence length is $L = 4$.
- Only by one $($since $m = 1)$ additional termination bit one arrives at the total length $L' = 5$.
(2) The free distance $d_{\rm F}$ is defined as the number of code bits in which two sequences $\underline{x}$ and $\underline{x'}$ differ.
- We choose the zero sequence as the reference sequence:
- $$\underline{x}\hspace{0.03cm}' = \underline{0} = \big (00\hspace{0.05cm}, 00\hspace{0.05cm}, 00\hspace{0.05cm}, 00\hspace{0.05cm}, ... \hspace{0.1cm} \big ) \hspace{0.05cm},$$
- expressed with the sequence of states: $S_0 → S_0 → S_0 → S_0 → \ \text{...} \ $
- One of the sequences $\underline{x} ≠ \underline{0}$, which differs from $\underline{0}$ only in the minimum number of code bits, follows the path $S_0 → S_1 → S_0 → S_0 → \text{...} \ $:
- $$\underline{x} = \big (11\hspace{0.05cm}, 01\hspace{0.05cm}, 00\hspace{0.05cm}, 00\hspace{0.05cm}, ... \hspace{0.1cm} \big )\hspace{0.3cm}\Rightarrow \hspace{0.3cm} d_{\rm F}\hspace{0.1cm}\underline{ = 3}\hspace{0.05cm}.$$


(3) Only proposition 3 is correct here, because the event "No transmission error" is much more likely than three errors at exactly specified positions. Consider the graph:
- If the zero sequence is sent and this is also received, the Viterbi decoding can be illustrated by the upper trellis.
- The final value of the metric is ${\it \Gamma}_5(S_0) = 0$, and the Viterbi decoder decides correctly with certainty: $\underline{z} = \underline{x} ⇒ \underline{v} = \underline{u}$.
- For the lower trellis, we also assume $\underline{u} = (0, \, 0, \, 0, \, 0 \, 0) ⇒ \underline{x} = (00, \, 00, \, 00, \, 00, \, 00)$.
- However, $\underline{y} = (00, \, 00, \, 00, \, 11, \, 01)$ is received now.
- Nevertheless, ${\it \Gamma}_5(S_0) = 0$ holds. The example proves that the first two statements are false.
(4) Correct are all answers: If it is known for sure that only one transmission error occurred, for a convolutional code with free distance $d_{\rm F} = 3$ the Viterbi algorithm works perfectly, no matter at which position the error occurred.
(5) None of the proposed solutions is correct, as can be seen from the second graphic.