LDPC Row Decoding with Dual-Algorithm Error Selection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The implementation of low-density parity-check (LDPC) code decoding in systems with limited resources, such as memory, poses challenges due to the high error correction capacity requirements of popular decoding algorithms like the sum-product algorithm (SPA), making precise decoding difficult.
Innovation Solution
A decoding apparatus that incorporates a first calculator performing row processing based on the SPA and a second calculator performing row processing based on a lower error correction capacity algorithm, with a selector choosing the output based on error thresholds to optimize decoding accuracy within resource constraints.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the sum-product algorithm (SPA) is used for LDPC decoding, then error correction capacity is maximized, but resource requirements (memory and circuit scale) increase significantly
Solution Approach 1:
The decoding apparatus is segmented into two distinct calculation units: a first calculator implementing the high-precision SPA and a second calculator implementing a simplified decoding algorithm. This segmentation allows the system to distribute computational tasks across different complexity levels, enabling precise decoding while managing resource constraints through selective utilization of each calculator's capabilities.
Solution Approach 2:
The system dynamically selects between the first and second calculators based on error thresholds and decoding conditions. The selection mechanism adjusts the operational mode in real-time, choosing the SPA-based first calculator when high precision is needed and the simplified second calculator when resources are constrained, thus adapting the device complexity to the actual decoding requirements.
2Reliability
If the sum-product algorithm (SPA) is used for LDPC decoding, then error correction capacity is maximized, but memory resources are consumed heavily
Solution Approach 1:
The memory resources are segmented and allocated differently to each calculator. The first calculator (SPA) is provided with sufficient memory resources to achieve high error correction capacity, while the second calculator operates with reduced memory requirements. This segmented resource allocation allows the system to maximize error correction where needed while conserving overall memory resources.
Solution Approach 2:
The system changes the operational parameters by selecting different calculation algorithms based on available memory resources. When memory resources are abundant, the SPA-based first calculator is utilized for optimal error correction. When memory resources are constrained, the system switches to the second calculator with lower memory requirements, thus adapting the decoding process to the available resource parameters.
3Device complexity
If a simplified decoding algorithm is used, then resource requirements are reduced, but error correction capacity decreases
Solution Approach 1:
The system merges two different decoding algorithms into a unified apparatus: the first calculator uses the high-capacity SPA while the second calculator uses a simplified algorithm with lower complexity. By combining these two approaches and implementing a selection mechanism between them, the system achieves both high error correction capacity (when SPA is selected) and reduced resource requirements (when the simplified algorithm is selected), resolving the contradiction between complexity and reliability.
Data Source
AI summary
According to an embodiment, a decoding apparatus for a low-density parity-check (LDPC) code includes a first calculator, a second calculator, and a selector. The first calculator is configured to perform row processing based on a first decoding algorithm. The second calculator is configured to perform row processing based on a second decoding algorithm having a lower error correction capacity than that of the first decoding algorithm. The selector is configured to select an output value from the row processing performed by the second calculator when an error in an output value from the row processing performed by the first calculator is greater than an error in the output value from the row processing performed by the second calculator.


