LDPC Decoding with Dynamic Precision and Iteration Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing LDPC decoding techniques, such as the min-sum algorithm, face challenges with slow convergence and high computational requirements, especially in noisy environments, which can prevent convergence altogether, limiting data throughput and increasing calculation power needs.

Innovation Solution

The method involves dynamically adjusting the precision of bit node and check node updates during LDPC decoding, allowing for alternating updates at different precisions and adjusting the number of iterations based on convergence criteria, to enhance decoding efficiency and accuracy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the min-sum algorithm is used for LDPC decoding, then decoding can be implemented, but convergence is slow and computational power requirements are high

Engineering Contradiction:
Improvedecoding speedVSAvoidcomputational power
Core Design Contradiction:
ProductivityVSPower

Solution Approach 1:

The patent changes the precision parameter of calculations during decoding iterations. It uses higher precision (e.g., 10-bit) for initial iterations to ensure accurate convergence, then transitions to lower precision (e.g., 6-bit) for subsequent iterations to reduce computational burden. This dynamic parameter adjustment resolves the contradiction by optimizing both convergence speed and power consumption at different stages of the decoding process.

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If higher precision is used for updating bit node and check node values, then decoding accuracy is improved, but computational burden increases

Engineering Contradiction:
Improvedecoding accuracyVSAvoidcomputational complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent implements dynamic precision adjustment where the precision of arithmetic operations changes based on the iteration stage. Early iterations use higher precision to establish accurate convergence trajectories, while later iterations use lower precision for efficiency. This dynamic approach maintains decoding accuracy while significantly reducing the overall computational complexity and resource requirements.

Inventive Principle:
Principle #15Dynamics

3Measurement precision

If the number of iterations is increased, then decoding accuracy is improved, but data throughput is reduced

Engineering Contradiction:
Improvedecoding accuracyVSAvoiddata throughput
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent applies partial precision action by using high precision only when necessary (during initial convergence-critical iterations) and switching to lower precision for remaining iterations. This selective application of computational resources maintains sufficient decoding accuracy while reducing the total processing time per codeword, thereby increasing data throughput without sacrificing essential decoding performance.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10566999B2Low-density parity check decoding
Publication Date: 2020.02.18 MAXLINEAR INC
  • US10566999B2 patent drawing
  • US10566999B2 patent drawing
  • US10566999B2 patent drawing

AI summary

A coded signal is received via a physical channel. The coded signal is encoded by a parity check matrix. In some examples, the coded signal is low density parity check-encoded. The coded signal is decoded to determine a result signal. Said decoding alternatingly updates, for each one of a number of iterations, bit node values representing bits of the result signal and check node values representing constrains of the parity check matrix. In some examples, the decoding determines the result signal at a first precision and updates at least partly at a second precision which is lower than the first precision. In further examples, the number of iterations is dynamically adjusted.