Tail-Biting Convolutional Decoding With Two-Pass State Correction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing decoding methods for tail-biting convolutional codes in communication systems, such as those used in WiMAX and OFDMA, are too complex and consume excessive computational resources, making them unsuitable for real-time applications and efficient error protection in wireless communication systems.
Innovation Solution
A Search Depth Viterbi Algorithm (SDVA) is introduced, which reduces the complexity by performing the Viterbi algorithm only one or two times over the received encoded block, initializing a correction depth, and iteratively refining the starting state to achieve efficient decoding with lower computational consumption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If traditional Viterbi algorithm is used for decoding tail-biting convolutional codes, then decoding accuracy is maintained, but computational complexity and memory usage become excessive
Solution Approach 1:
The patent segments the decoding process into two distinct phases: a first Viterbi algorithm execution that processes the entire received block to identify a candidate starting state, and a second Viterbi algorithm execution that uses this candidate state to refine the decoding. This segmentation allows the system to maintain decoding accuracy while reducing overall computational complexity by focusing intensive processing on a narrowed search space.
Solution Approach 2:
The patent performs preliminary action by executing the first Viterbi algorithm pass before the second pass to identify a candidate starting state. This preliminary execution provides crucial information that guides the subsequent decoding process, allowing the second Viterbi algorithm to operate with reduced complexity while maintaining accuracy. The candidate starting state identified in advance enables the second pass to focus computational resources efficiently.
2Reliability
If traditional Viterbi algorithm is used for decoding tail-biting convolutional codes, then error protection performance is maintained, but memory consumption becomes excessive
Solution Approach 1:
The patent divides the decoding process into two memory-efficient passes. The first pass identifies a candidate starting state with reduced memory requirements by processing the entire block once. The second pass then uses this candidate state to perform refined decoding with similarly reduced memory usage. This segmentation prevents the need to maintain all possible state paths in memory simultaneously, thus reducing memory consumption while preserving error protection performance.
Solution Approach 2:
The preliminary execution of the first Viterbi algorithm pass identifies a candidate starting state that guides the second pass. This preliminary action allows the system to discard most state path information after the first pass, keeping only the candidate state, thereby significantly reducing memory requirements for the second pass while maintaining the ability to correct errors effectively.
3Measurement precision
If multiple Viterbi algorithm executions are performed to find the correct starting state, then decoding accuracy improves, but processing time increases
Solution Approach 1:
The patent performs a preliminary Viterbi algorithm execution to identify a candidate starting state before performing the final decoding pass. This preliminary action is optimized to quickly narrow down the search space, ensuring that the subsequent final pass can be executed efficiently. By structuring the multiple executions in this preliminary-then-final sequence, the patent minimizes total processing time while maintaining decoding accuracy.
Solution Approach 2:
The patent extracts and identifies a candidate starting state from the first Viterbi algorithm execution, separating this identification step from the final decoding process. By extracting this关键 information early and using it to guide the second pass, the system avoids performing full multiple executions, thereby reducing processing time while maintaining the accuracy benefits of multiple passes.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A method for decoding tail-biting convolutional codes. The method includes initializing a correction depth, selecting a first starting state from a set of encoding states, and initializing a metric value for the selected starting state as zero and the other states as infinity. The input bit stream is read and a Search Depth Viterbi algorithm (SDVA) is performed to determine path metrics and identify a minimum-metric path. The ending state for the minimum-metric path is determined and the output for this ending state is identified as "previous output." A second starting state is set to the ending state of the minimum-metric path, and symbols equal to the correction depth from the previous output are read. The SDVA is performed on the second set of read symbols to generate a corrected output. A decoded output is generated by replacing symbols at the beginning of the previous output with the corrected output.