Reed-Muller Decoder Using Simplex Syndrome Matching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for determining an error vector in Reed-Muller Codes are inefficient, particularly in applications requiring fast and accurate error correction for data transmission and storage, such as in Physical Uncloneable Functions (PUFs) and biometric data reconstruction.

Innovation Solution

A method involving determining the syndrome of the error vector, expanding it with zeroes, finding a code word of a Simplex Code with a specific weight threshold, and outputting the expanded difference or its inverse as the error vector based on weight criteria, which allows for efficient error correction.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional error vector determination methods are used for Reed-Muller Codes, then error correction can be performed, but the process is inefficient and time-consuming

Engineering Contradiction:
Improveerror correction speedVSAvoiddecoding time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent segments the Reed-Muller code decoding problem into two parts: first determining the syndrome using a simplified approach, then finding the error vector by comparing against a pre-stored table of syndromes and corresponding error patterns. This segmentation avoids the complexity of traditional sequential decoding while maintaining accuracy, thereby improving error correction speed and reducing decoding time.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent employs preliminary action by pre-calculating and storing the relationship between syndromes and error vectors in a lookup table before actual decoding occurs. During error correction, the system simply queries this pre-prepared table rather than performing complex calculations in real-time, significantly reducing the time required for error vector determination while maintaining high productivity.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If efficient error correction is implemented, then data transmission reliability improves, but system complexity increases

Engineering Contradiction:
Improvedata transmission reliabilityVSAvoiddecoder complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent uses copying by creating a simplified replica of the syndrome-error vector relationship in a lookup table. Instead of implementing complex real-time calculation mechanisms, the system copies pre-computed error correction patterns into accessible memory, allowing reliable error correction with minimal computational overhead and reduced decoder complexity.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent introduces an intermediary element - the syndrome lookup table - that mediates between the received data and the error correction process. This intermediary pre-stored mapping allows the system to determine error vectors through simple table consultation rather than complex mathematical operations, improving reliability while keeping the decoder structure simple and manageable.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10236916B2Method and decoder for determining an error vector for a data word according to a Reed-Muller code
Publication Date: 2019.03.19 INFINEON TECHNOLOGIES AG
  • US10236916B2 patent drawing
  • US10236916B2 patent drawing
  • US10236916B2 patent drawing

AI summary

A method for determining an error vector for a data word according to a Reed-Muller Code includes determining the syndrome of the error vector according to the Reed-Muller Code, expanding the syndrome with zeroes to 1 bit length less than the length of the Reed-Muller Code, determining a code word of a Simplex Code of 1 bit length less than the length of the Reed-Muller Code whose difference to the expanded syndrome has a weight below a first threshold or equal to or above a second threshold, expanding the difference between the determined code word and the expanded syndrome by a zero, and outputting the expanded difference as error vector if its weight is below the first threshold or outputting the inverted expanded difference as error vector if the weight of the expanded difference is equal to or above the second threshold.