Digital Speech FEC Decoding for Multi-Bit Error Correction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing digital speech communication systems face challenges in correcting bit errors in voice data, particularly in systems like P25, DMR, and NXDN, where traditional error correction methods are limited in correcting more than three bit errors, leading to potential degradation in voice quality and intelligibility.
Innovation Solution
The implementation of a Forward Error Correction (FEC) decoder that uses block codes, specifically Golay and Hamming codes, with a first block code modulating the remaining codes, allowing for data-dependent modulation to enhance error detection and correction, flipping least confident bits to correct up to significantly more than three bit errors.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional error correction methods are used in digital speech communication systems, then the system complexity remains low, but the bit error correction capability is limited to three errors
Solution Approach 1:
The patent divides the error correction process into multiple independent stages: first decoding the first block code to generate candidate sequences, then decoding each candidate's modulated block codes separately. This segmentation allows the system to achieve enhanced error correction capability (correcting more than three errors) while keeping each individual decoding stage relatively simple, resolving the contradiction between reliability and device complexity.
Solution Approach 2:
The patent performs preliminary decoding of the first block code before decoding the remaining block codes. By first obtaining candidate sequences from the first block code and using these to guide the decoding of subsequent block codes, the system establishes a hierarchical error correction approach that improves overall reliability without requiring all decoders to operate at maximum complexity simultaneously.
2Reliability
If more bit errors are corrected in the voice bit stream, then voice quality and intelligibility are maintained, but the computational complexity of the decoder increases
Solution Approach 1:
The patent segments the error correction process into distinct phases where the first block code is decoded separately to generate candidate sequences, which then guide the decoding of remaining block codes. This segmentation enables correction of more than three bit errors while distributing computational load across multiple simpler stages rather than requiring one complex high-energy operation.
Solution Approach 2:
The patent implements a feedback mechanism where the decoding results of the first block code are used to inform and guide the decoding of subsequent block codes. The candidate sequences generated from the first block code serve as reference information that reduces the search space for subsequent decodings, thereby maintaining voice quality through enhanced error correction while reducing overall computational energy requirements.
3Measurement precision
If block codes are linked through data-dependent modulation, then error detection ability is enhanced, but the decoding process becomes more complex
Solution Approach 1:
The patent segments the decoding of modulated block codes into multiple independent steps: first decoding the first block code to obtain candidate sequences, then using each candidate sequence to decode the corresponding modulated block codes separately. This segmentation maintains error detection precision by thoroughly evaluating multiple candidates while preventing the decoding process complexity from becoming unmanageable by breaking it into smaller, more tractable sub-tasks.
Data Source
AI summary
This disclosure provides a method of decoding a digital speech signal, a speech decoder, a handset or mobile radio, and a base station or console. The method includes receiving a voice bit stream including at least one frame of bits that includes block codes, determining least confident bits in a first block code, generating candidates for the first block code based on the least confident bits, determining a first distance between each candidate and the first block code, and demodulating at least one other block code to obtain at least one demodulated vector. For each demodulated vector, a second distance between the demodulated vector and possible transmitted vectors is determined, and from the possible transmitted vectors, a vector corresponding to a minimum second distance is selected as a corrected demodulated vector. A minimum total distance is determined, and a candidate is selected as a corrected first block code.


