Difference between revisions of "Aufgaben:Exercise 3.8: Rate Compatible Punctured Convolutional Codes"
Line 32: | Line 32: | ||
Hints: | Hints: | ||
− | * This exercise refers to the section [[Channel_Coding/Code_Description_with_State_and_Trellis_Diagram#Punctured_convolutional_codes|" | + | * This exercise refers to the section [[Channel_Coding/Code_Description_with_State_and_Trellis_Diagram#Punctured_convolutional_codes|"Punctured convolutional codes"]] in the chapter "Code description with state and trellis diagram". |
*The reference '''[Hag88]''' refers to the paper "Hagenauer, J.: Rate Compatible Punctured Convolutional Codes (RCPC codes) and their Applications. In: IEEE Transactions on Communications, vol COM-36, pp 389 - 400, 1988." | *The reference '''[Hag88]''' refers to the paper "Hagenauer, J.: Rate Compatible Punctured Convolutional Codes (RCPC codes) and their Applications. In: IEEE Transactions on Communications, vol COM-36, pp 389 - 400, 1988." |
Revision as of 17:40, 14 November 2022
An important application for $\text{punctured convolutional codes}$ are the "Rate Compatible Punctured Convolutional Codes" $($for short: RCPC–Codes$)$ proposed by Joachim Hagenauer in [Hag88].
Starting from a mother code $\mathcal{C}_0$ with rate $R_0 = 1/n$, other codes $\mathcal{C}_l$ with higher code rate $(R_l > R_0)$ are determined by different puncturing matrices $\mathbf{P}_l$.
The puncturing matrices $\mathbf{P}_0, \hspace{0.05cm}\text{ ...} \hspace{0.05cm} , \ \mathbf{P}_4$ to be analyzed are shown on the right.
- If for the matrix $\mathbf{P}_l$ the matrix element $P_{ij} = 1$, the corresponding code bit is transmitted, while $P_{ij} = 0$ indicates puncturing.
- In the questionnaire, we also use the shorter notation $P_{ij}^{(l)}$ for the element $P_{ij}$ of the matrix $\mathbf{P}_l$.
- In the graph: All the zeros in the matrix $\mathbf{P}_l$ that were still ones in the matrix $\mathbf{P}_{l–1}$ are marked in red. This measure increases the code rate $R_{l}$ compared to $R_{l-1}$.
The RCPC–codes are well suited for the realization of
- "unequal error protection" for hybrid ARQ procedures,
- systems with "incremental redundancy". This means that after conventional convolutional coding, bits corresponding to the puncturing matrix $\mathbf{P}_l$ are omitted from the code word $\underline{x}^{(0)}$ and the shortened code word $\underline{x}^{(l)}$ is transmitted:
- If the punctured code word cannot be correctly decoded in the receiver, the receiver requests further redundancy from the transmitter in the form of the previously punctured bits.
- This prevents the transmission of redundancy that is not required and adapts the throughput to the channel conditions.
Hints:
- This exercise refers to the section "Punctured convolutional codes" in the chapter "Code description with state and trellis diagram".
- The reference [Hag88] refers to the paper "Hagenauer, J.: Rate Compatible Punctured Convolutional Codes (RCPC codes) and their Applications. In: IEEE Transactions on Communications, vol COM-36, pp 389 - 400, 1988."
- Professor $\text{Joachim Hagenauer}$ was head of the Institute of Communications Engineering $\rm(LNT)$ at the Technical University of Munich from 1993 to 2006. The initiators of the learning tutorial $($Günter Söder and Klaus Eichin$)$ thank their long-time boss for supporting and promoting our $\rm LNTwww$ project during the first six years.
Questions
Solution
- The number of rows of the puncturing matrices gives the parameter $n$ of the $(n, \ k = 1)$–RCPC mother code.
- From this, its rate is $R_0 = 1/3$. The column number is equal to the puncturing period $p$. For the class of codes under consideration, $p = 8$.
- In contrast, the puncturing matrices do not provide any information about the memory of the code ⇒
(2) For the rate of the code $\mathcal{C}_l = p/N_l$, where $N_l$ denotes the number of all ones in the puncturing matrix $\mathbf{P}_l$ and $p$ denotes the puncturing period. Starting from the rate $R_0 = 1/3$ of the mother code $\mathcal{C}_0$, we obtain:
- $R_1 = 8/20 = 2/5 = \underline{0.400}$,
- $R_2 = 8/16 = 1/2 = \underline{0.500}$,
- $R_3 = 8/12 = 2/3 = \underline{0.667}$,
- $R_4 = 8/9 = \underline{0.889}$.
(3) Correct are the solutions 1 and 4:
- All ones in the matrix $\mathbf{P}_4$ are also in the matrices $\mathbf{P}_3, \hspace{0.05cm}\text{ ...} above it. \hspace{0.05cm}, \ \mathbf{P}_0$.
- In the matrix $\mathbf{P}_3$ three ones are added compared to $\mathbf{P}_4$, in the matrix $\mathbf{P}_2$ compared to $\mathbf{P}_3$ again four, etc.