Block Code Decoding by Noise Guessing for Fast Reliable Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing channel coding systems face inefficiencies in decoding speed and accuracy, particularly with convolutional codes, which require complex probabilistic models, and block codes struggle to approach channel capacity due to large block sizes and computational impracticality.

Innovation Solution

The proposed system decodes block codes by guessing noise sequences rather than codewords, allowing for deterministic decoding with bounded complexity and separating noise inversion from codeword validation, enabling faster decoding speeds and approaching channel capacity without requiring syndrome computations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If convolutional codes are used to approach channel capacity, then decoding accuracy is improved, but decoding speed deteriorates due to complex probabilistic models and algorithms

Engineering Contradiction:
Improvedecoding accuracyVSAvoiddecoding speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent inverts the traditional decoding approach by guessing the noise sequence instead of guessing the codeword directly. This inversion transforms the complex probabilistic decoding problem into a simpler deterministic search problem, achieving near-channel-capacity performance with block code speed.

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

Solution Approach 2:

The patent extracts the noise component from the received signal by guessing and subtracting it, separating the noise effect from the codeword. This allows the decoder to work with a cleaned signal that can be directly compared against the codebook, simplifying the decoding process.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If block codes use large block sizes to approach channel capacity, then decoding accuracy is improved, but computational complexity increases making it impractical

Engineering Contradiction:
Improvedecoding accuracyVSAvoidcomputational complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Instead of guessing codewords from a large codebook (which requires storing and searching through exponentially many possibilities), the patent inverts the approach by guessing noise sequences. This reduces the search space and computational complexity while maintaining the ability to approach channel capacity.

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

Solution Approach 2:

The patent segments the decoding problem into two independent parts: noise guessing and codeword validation. The noise guessing step operates independently of the codebook structure, and the validation step simply checks if the deduced signal is a valid codeword. This segmentation reduces computational complexity.

Inventive Principle:
Principle #1Segmentation

3Productivity

If block codes use small block sizes for fast decoding, then decoding speed is improved, but the ability to approach channel capacity deteriorates

Engineering Contradiction:
Improvedecoding speedVSAvoidchannel capacity achievement
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent enables small block sizes to achieve near-channel-capacity performance by inverting the decoding approach. Instead of requiring large blocks for reliable codeword guessing, the noise guessing method works effectively with smaller blocks, maintaining both speed and reliability.

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

Data Source

PatentUS10608673B2Decoding signals by guessing noise
Publication Date: 2020.03.31 NAT UNIV OF IRELAND MAYNOOTH
  • US10608673B2 patent drawing
  • US10608673B2 patent drawing
  • US10608673B2 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.