Auxiliary Iterative Decoding Path for LDPC Convergence
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current iterative decoding methods for LDPC codes face challenges in achieving convergence within a reasonable number of iterations, leading to increased decoding latency and complexity, while excessive iterations provide diminishing returns in error rate reduction.
Innovation Solution
A parallel iterative decoding system with an auxiliary decoding path is introduced, where encoded data is processed through a primary decoder for a predetermined number of iterations, and if it fails to converge, it is sent to an auxiliary decoder that performs a larger number of iterations, allowing for increased convergence likelihood without significantly increasing hardware requirements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the number of iterations is increased to improve convergence, then the likelihood of achieving convergence increases, but the decoding latency and hardware complexity increase
Solution Approach 1:
The decoding process is segmented into two distinct paths: a primary decoding path that performs a limited number of iterations quickly, and an auxiliary decoding path that handles non-convergent blocks with additional iterations. This segmentation allows most blocks to be decoded rapidly while providing enhanced processing only when necessary, thus improving overall convergence likelihood without significantly increasing average latency.
Solution Approach 2:
Instead of performing a fixed large number of iterations on all blocks, the system performs a smaller number of iterations on the majority of blocks that already converge, and applies additional iterations only to the minority of non-convergent blocks. This partial action approach optimizes the balance between convergence achievement and decoding speed.
2Reliability
If the number of iterations is increased to reduce block error rates, then the error rate reduction improves, but the hardware complexity and processing overhead increase
Solution Approach 1:
The decoder is segmented into primary and auxiliary components with distinct functions. The primary decoder handles the common case of convergent blocks with minimal iterations, while the auxiliary decoder handles the rare case of non-convergent blocks. This segmentation reduces the average complexity compared to a system designed to handle all blocks with maximum iterations.
Solution Approach 2:
A convergence determination mechanism acts as an intermediary between the primary and auxiliary decoding paths. This intermediary evaluates whether a block has converged after the primary iterations and routes it appropriately, enabling the system to achieve low block error rates without requiring all blocks to undergo the full complexity of extended iterations.
3Productivity
If a fixed predetermined number of iterations is used for all blocks, then the decoding process is simple and fast, but many blocks fail to converge
Solution Approach 1:
The system dynamically adjusts the number of iterations based on the convergence status of each block. Convergent blocks undergo the standard predetermined number of iterations and proceed quickly, while non-convergent blocks are dynamically routed to the auxiliary path for additional iterations. This dynamic adaptation maintains high decoding speed for the majority of blocks while improving convergence for the minority that need it.
Solution Approach 2:
The convergence determination process provides feedback about whether a block has successfully converged after the primary iterations. This feedback controls the routing decision: converged blocks are terminated and output, while non-convergent blocks are fed back to the auxiliary decoding path for further processing, creating a closed-loop system that optimizes both speed and convergence.
Data Source
AI summary
A parallel iterative decoding system interposed between a network interface and a block memory matrix receives encoded data and both stores the data in a First-In-First-Out (“FIFO”) memory block and processes it through a timing recovery engine. The timing recovery engine delivers to an iterative decoder synchronized data samples and detects cycle slip. The iterative decoder thereafter performs a predetermined number of iterations to decode the data. Responsive to encoded data failing to converge after the predetermined number of iterations, the encoded data is communicated from the FIFO memory to an auxiliary decoder module. The auxiliary iterative error correction code decoder performs a second predetermined number of iterations to decode the data wherein the number of iterations performed by the auxiliary iterative error correction code decoder is greater than the primary iterative error correction code decoder. Converged data from the auxiliary decoder replaces otherwise null data stored in the block matrix memory.


