# US 7,549,106 B2 · Decoding method

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 7,549,106 B2
- Document ID: US7549106B2
- Status: Granted
- Kind: B2
- Application number: 11/473,658
- Filed: 2006-06-23
- Published: 2006-10-26
- Granted: 2009-06-16
- Earliest claimed: 2002-04-05
- Assignees: Sentel Corporation
- Inventors: Michael Maiuzzo
- Web page: https://patentgrep.com/patent/US7549106B2

## CPC

- H03M 13/2936: {comprising an outer Reed-Solomon code and an inner convolutional code}
- H03M 13/154: {Error and erasure correction, e.g. by using the error and erasure locator or Forney polynomial}
- H03M 13/45: Soft decoding, i.e. using symbol reliability information (H03M13/41 takes precedence)
- H03M 13/6325: {Error control coding in combination with demodulation}
- H03M: CODING; DECODING; CODE CONVERSION IN GENERAL (using fluidic means F15C4/00; optical analogue/digital converters G02F7/00; coding, decoding or code conversion, specially adapted for particular applications, see the relevant subclasses, e.g. G01D, G01R, G06F, G06T, G09G, G10L, G11B, G11C, H04B, H04L, H04M, H04N; ciphering or deciphering for cryptography or other purposes involving the need for secrecy G09C)

## Abstract

A method for decoding forward error correction (FEC) encoded data. A stream of units of FEC encoded bits are received, where the units are derived from a transmitted signal, where each unit represents a one-bit data value, and where each unit includes correctness bits. Preferably, the stream of units of FEC encoded bits are decoded by using the quality level of bits to perform soft-decision convolution decoding on the stream of units of FEC bits, where the soft-decision convolution decoding produces, for block decoding, a stream of symbols made up of bits. Subsequences of units that are prone to erroneous soft-decision convolution decoding are detected by determining, for the sub-sequences whether the distribution of quality bits indicate the units are below a threshold level of correctness, and by comparing characteristics of that distribution to a given set of characteristics predetermined to be prone to result in incorrect decoding.

## Claims

### Claim 1

A method of correcting errors contained in a quality ranked data stream comprising:
at a bit quality evaluator,
assigning a level of correctness to each bit value in a data stream, wherein the level of correctness is a range of values indicative of a probability that the bit value is correct,
identifying a bit as a poor quality bit if its level of correctness is approximately within the middle of the range of correctness values,
tagging the poor quality bits with tagging data, and
sending the data stream and the tagging data to an error detector and a first decoder;
at the first decoder,
receiving the data stream and tagging data,
decoding the data stream, and
sending the decoded data stream to a second decoder;
at the error detector,
determining whether a concentration of poor quality bits within a sliding window of bits in the data stream exceeds a concentration threshold based on the tagging data, predicting that the first decoder will fail to correct errors when the concentration of poor quality bits within the sliding window exceeds the concentration threshold, and
instructing the second decoder to perform erasure on symbols likely to contain errors based on the tagging data; and
at the second decoder, outputting decoded corrected data.

### Claim 2 (depends on 1)

The method according to claim 1, wherein the concentration is expressed as M out of N, where N is a number of bits comprising a sequence of bits in the data stream, and M is a count of bits, in the sequence, that have a quality below the quality threshold.

### Claim 3 (depends on 2)

The method of claim 2, wherein N is a fixed number and corresponds to bit width of the sliding window.

### Claim 4 (depends on 2)

The method of claim 2, wherein N is dynamically set based on conditions within the first decoder.

### Claim 5 (depends on 1)

The method of claim 1, wherein the first decoder comprises a Viterbi decoder.

### Claim 6 (depends on 5)

The method of claim 5, wherein the sliding window precedes decoding by the Viterbi decoder.

### Claim 7 (depends on 1)

The method of claim 1, wherein the quality of the bits in the data stream is based on a quality of a received transmission signal from which the bits are derived.

### Claim 8

A method of correcting errors contained in a quality ranked data, stream comprising:
at a bit quality evaluator,
assigning a level of correctness to each bit value in a data stream, wherein the level of correctness is a range of values indicative of a probability that the bit value is correct,
identifying a bit as a poor quality bit if its level of correctness is approximately within the middle of the range of correctness values,
tagging the poor quality bits with tagging data, and
sending the data stream and the tanning data to a detector and a Viterbi decoder;
at the Viterbi decoder,
receiving the data stream and tagging data,
decoding the data stream, and
sending the decoded data stream to a Reed-Solomon decoder;
at the detector,
determining whether a concentration of poor quality bits within a sliding window of bits in the data stream exceeds a concentration threshold based on the tagging data,
predicting that the Viterbi decoder will fail to correct errors when the concentration of poor quality bits within the sliding window exceeds the concentration threshold, and
instructing the Reed-Solomon decoder to perform erasure on symbols likely to contain errors based on the tagging data; and
at the Reed-Solomon decoder, outputting corrected decoded data.

### Claim 9 (depends on 8)

The method according to claim 8, wherein the concentration is expressed as M out of N, where N is a number of bits comprising a sequence of bits in the data stream, and M is a count of bits, in the sequence, that have a quality below the quality threshold.

### Claim 10 (depends on 9)

The method of predicting of claim 9, wherein N is a fixed number and corresponds to bit width of the sliding window.

### Claim 11 (depends on 9)

The method of predicting of claim 9, wherein N is dynamically set based on conditions within the Viterbi decoder.

### Claim 12 (depends on 9)

The method of claim 9, wherein the quality of the bits in the data stream is based on a quality of a received transmission signal from which the bits are derived.

### Claim 13 (depends on 1)

The method of claim 1, wherein the second decoder is a Reed Solomon decoder.
