QC-LDPC Lifting Parameter Selection to Avoid Short Cycles
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing QC-LDPC codes face challenges in creating a compact representation that supports various lengths and rates, suffers from the possibility of short cycles and bad weight spectra, leading to lower code gain and limited parallelism in decoder throughput.
Innovation Solution
The method employs floor scale modular lifting of a base matrix to generate optimal values for circulants, allowing for flexible length and rate QC-LDPC encoding and decoding, with memory-efficient representation and improved processing speed, using multi-parameter filtering to select optimal values that minimize performance degradation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If floor lifting method is used to create compact representation of QC-LDPC codes, then code flexibility and parallelism are improved, but short cycles and bad weight spectrum appear leading to lower code gain
Solution Approach 1:
The patent changes the lifting parameter from a fixed value to an optimized value selected from multiple candidates. Instead of using a single lifting value that causes short cycles, the method computes multiple candidate lifting values and selects the optimal one that avoids short cycles and improves weight spectrum, thereby maintaining code flexibility while enhancing reliability
Solution Approach 2:
The patent performs preliminary computation of multiple candidate lifting values before actual code encoding. By pre-calculating and evaluating candidate lifting values to identify those that avoid short cycles, the system prepares optimal parameters in advance, preventing the harmful effects of short cycles during actual code generation while maintaining adaptability
2Ease of manufacture
If sequential BCJR decoder is used for Turbo code, then decoding is simple to implement, but decoder throughput is significantly limited
Solution Approach 1:
The patent segments the code structure into QC-LDPC format with modular circulant matrices, enabling the decoder to process multiple code bits in parallel. The segmented structure allows different parts of the code to be decoded simultaneously rather than sequentially, dramatically increasing throughput while maintaining implementation feasibility through standardized processing units
Solution Approach 2:
The patent introduces dynamic parallelism by using optimized lifting values that create a code structure suitable for parallel processing. The dynamic nature allows the system to adapt the code structure to match the parallel processing capabilities of modern hardware, transforming the static sequential decoding approach into a dynamic parallel architecture
3Adaptability or versatility
If LTE puncturing pattern is used, then code length and rate variation is supported, but memory efficiency is reduced and performance is lost
Solution Approach 1:
The patent creates a universal QC-LDPC code structure that can represent multiple code lengths and rates using a single base matrix with optimized lifting values. This multi-functional approach eliminates the need for separate storage of multiple code variants, improving memory efficiency while maintaining the ability to support various code configurations through parameter optimization
Data Source
AI summary
A method for quasi-cyclic low-density parity-check (QC-LDPC) encoding and decoding of a data packet by a lifted matrix is provided, the method comprising: lifting the QC-LDPC code for maximal code length Nmax and maximal circulant size Zupper of the base matrix; generating a plurality of optimal values ri for a plurality of circulants Z1, Z2, . . . , Zupper based on the QC-LDPC code lifted for maximal length Nmax, 0≤ri≤Zupper−1; saving the generated plurality of optimal values ri corresponding to the plurality of circulants Z1, Z2, . . . , Zupper and a matrix for the QC-LDPC code lifted for maximal length Nmax in the memory; receiving a current circulant Zcurrent from the plurality of circulants Z1, Z2, . . . , Zupper; selecting a current optimal value rcurrent from the plurality of optimal values ri stored in the memory corresponding to the current circulant Zcurrent; and lifting the base matrix based on the current optimal value rcurrent.


