Noise-Guessing Decoder for Fast Near-Capacity Block Code Decoding

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing channel coding systems face challenges in decoding convolutional codes, which are slower than block codes, and struggle to approach channel capacity due to computational impracticality of large block sizes for near-theoretical performance.

Innovation Solution

The system decodes block codes by guessing noise sequences instead of codewords, allowing for deterministic decoding with bounded complexity and separating noise inversion from codeword validation, enabling faster decoding speeds and compatibility with various codebooks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If convolutional codes are used to approach channel capacity, then error correction performance is improved, but decoding speed deteriorates

Engineering Contradiction:
Improveerror correction performanceVSAvoiddecoding speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent inverts the traditional decoding approach by guessing the noise sequence instead of guessing the codeword. This inversion transforms the decoding process into a noise-removal operation, which can be performed deterministically and quickly using simple subtraction, achieving both high reliability and fast decoding speed

Inventive Principle:
Principle #13The other way round (Inversion)

Solution Approach 2:

The patent replaces the complex probabilistic algorithms (like Viterbi algorithm) with a simpler deterministic mechanical operation (subtraction). By substituting the sophisticated data models and probabilistic algorithms with direct noise subtraction, the system achieves comparable error correction performance with much faster decoding speed

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Reliability

If large block sizes are used to minimize binary entropy function, then channel capacity approach is improved, but computational complexity increases

Engineering Contradiction:
Improvechannel capacity approachVSAvoidcomputational complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts and removes the noise component from the received signal through deterministic subtraction. By taking out the noise effect using guessed noise sequences, the system achieves near-channel capacity performance without requiring large block sizes or complex computations, as the noise removal process is computationally simple

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent changes the fundamental parameter being guessed from codeword to noise sequence. This parameter change transforms the decoding problem into a simpler noise removal task, achieving high channel capacity approach with bounded computational complexity regardless of block size

Inventive Principle:
Principle #35Parameter changes

3Speed

If block codes are used for fast decoding, then decoding speed is improved, but channel capacity approach deteriorates

Engineering Contradiction:
Improvedecoding speedVSAvoidchannel capacity approach
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent inverts the traditional block code decoding approach by guessing noise instead of codeword. This inversion enables the use of simple deterministic subtraction operations that provide both fast decoding speed and near-channel capacity performance, combining the advantages of both block and convolutional codes

Inventive Principle:
Principle #13The other way round (Inversion)

Data Source

PatentUS11095314B2Decoding signals by guessing noise
Publication Date: 2021.08.17 MASSACHUSETTS INST OF TECH
  • US11095314B2 patent drawing
  • US11095314B2 patent drawing
  • US11095314B2 patent drawing

AI summary

Devices and methods described herein decode a sequence of coded symbols by guessing noise. In various embodiments, noise sequences are ordered, either during system initialization or on a periodic basis. Then, determining a codeword includes iteratively guessing a new noise sequence, removing its effect from received data symbols (e.g. by subtracting or using some other method of operational inversion), and checking whether the resulting data are a codeword using a codebook membership function. This process is deterministic, has bounded complexity, asymptotically achieves channel capacity as in convolutional codes, but has the decoding speed of a block code. In some embodiments, the decoder tests a bounded number of noise sequences, abandoning the search and declaring an erasure after these sequences are exhausted. Abandonment decoding nevertheless approximates maximum likelihood decoding within a tolerable bound and achieves channel capacity when the abandonment threshold is chosen appropriately.