Soft decision output decoder for decoding convolutionally encoded codewords
First Claim
1. A system for decoding a sequence of signals output by an encoder and transmitted over a channel, said encoder output represented by a trellis having a block length T, said system comprising:
- first means for Viterbi decoding said sequence of signals received over said channel during a forward iteration through said trellis, said first means providing a plurality of forward iteration state metrics (x for each state at each time interval over a window of length 2L, where L is a number of constraint lengths and 2L is less than block length T, wherein said forward iteration begins at an initial state t0 ;
second means for Viterbi decoding said sequence of signals received over said channel during a backward iteration through said trellis, said second means providing a plurality of backward iteration state metrics β
for each state at each time interval starting at a second time; and
third means for performing a dual maxima computation at each state using the forward state metrics, the backward state metrics and the branch metrics for same to provide a measure of the likelihood that a particular sequence of data was transmitted by said encoder.
1 Assignment
0 Petitions
Accused Products
Abstract
A soft decision output decoder and decoding method. The decoder decodes a sequence of signals output by an encoder and transmitted over a channel. The soft decision output decoder includes a first "generalized" Viterbi decoder for decoding the sequence of signals received over the channel during a forward iteration through a trellis representing the encoder output having a block length T. The first "generalized" Viterbi decoder begins at an initial state t0 and provides a plurality of forward iteration state metrics α for each state at each time interval over a window of length 2L, where L is on the order of a few constraint lengths and 2L is less than a block length T. A second "generalized" Viterbi decoder decodes the sequence of signals received over the channel during a backward iteration through the trellis. The second decoder starts at a second time t2L and provides a plurality of backward iteration state metrics β for each state at each time interval. A processor then performs a dual maxima computation at each state using the forward state metric, the backward state metric and the branch metric for same to provide a measure of the likelihood that a particular sequence of data was transmitted by the encoder. The processor computes a log of the likelihood ratio using the forward and backward state metrics and the branch metrics for a selected state. This is achieved by first computing a max function as an approximation of the measure of the likelihood that a particular sequence of data was transmitted by the encoder. By performing forward and backward Viterbi decoding with dual maxima computations at each node within a window moved over the trellis, the inventive decoder provides the performance benefits associated with a LOG-MAP decoder while avoiding the excessive memory requirements of same.
-
Citations
23 Claims
-
1. A system for decoding a sequence of signals output by an encoder and transmitted over a channel, said encoder output represented by a trellis having a block length T, said system comprising:
-
first means for Viterbi decoding said sequence of signals received over said channel during a forward iteration through said trellis, said first means providing a plurality of forward iteration state metrics (x for each state at each time interval over a window of length 2L, where L is a number of constraint lengths and 2L is less than block length T, wherein said forward iteration begins at an initial state t0 ; second means for Viterbi decoding said sequence of signals received over said channel during a backward iteration through said trellis, said second means providing a plurality of backward iteration state metrics β
for each state at each time interval starting at a second time; andthird means for performing a dual maxima computation at each state using the forward state metrics, the backward state metrics and the branch metrics for same to provide a measure of the likelihood that a particular sequence of data was transmitted by said encoder. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A soft decision output decoder comprising:
-
means for receiving a sequence of transmitted codewords; means for providing a trellis for decoding of said sequence of codewords, said trellis having a block length T; first means for decoding said sequence of signals received over said channel during a forward iteration through said trellis, said first means providing a plurality of forward iteration state metrics α
for each state at each time interval over a window of length 2L, where L is a number of constraint lengths and 2L is less than a block length T, wherein said forward iteration begins at an initial state t0, said first means including means for summing products of forward state metrics α
t-1 (s'"'"') for each previous state s'"'"' by a branch metric γ
t (s'"'"',s) between each previous state s'"'"' and the selected state s to provide a forward state metric α
t (s) for the selected state s;second means for decoding said sequence of signals received over said channel during a backward iteration through said trellis, said second means including; means for summing products of the backward state metrics β
t+1 (s'"'"') for each subsequent state s'"'"' by a branch metric γ
t (s,s'"'"') between each subsequent state s'"'"' and each selected state s to provide a first plurality of backward iteration state metrics β
t (s) for each selected state s at each time interval starting at a second time t2L andmeans for summing products of the backward state metrics β
t+1 (s'"'"') for each subsequent state s'"'"' by a branch metric γ
t (s,s'"'"') between each subsequent state s'"'"' and each selected state s to provide a second plurality of backward iteration state metrics β
t (s) for each selected state s at each time interval starting at a third time t3L ; andthird means for performing a dual maxima computation at each state using the forward state metrics, the backward state metrics and the branch metrics for same to provide a measure of the likelihood that a particular sequence of data was transmitted by said encoder. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. A method for decoding a convolutionally encoded codeword including the steps of:
-
a) providing a trellis representative of an output of an encoder used to encode said codeword, said trellis having a block length T; b) assigning an initial condition to each starting node of the trellis for a forward iteration through the trellis; c) assigning an initial condition to each starting node for a backward iteration through the trellis; d) computing a forward metric for each node in a window of length L on the trellis during a forward iteration, where the window length L is less than the block length T; e) computing, during a backward iteration, a backward metric for each node in a window of length L on the trellis starting at a time 2L from a point at which the forward iteration is initiated; f) computing a dual maxima for each node using the forward metric and the backward metric to decode said codeword; and g) repeat steps d)-f) over entire block. - View Dependent Claims (19, 20)
-
-
21. A method for decoding a convolutionally encoded codeword including the steps of:
-
a) providing a trellis representative of an output of an encoder used to encode said codeword, said trellis having a block length T; b) assigning an initial condition to each starting node of the trellis for a forward iteration through the trellis; c) assigning an initial condition to each starting node for a backward iteration through the trellis; d) using a Viterbi algorithm to compute a forward metric for each node in a window of length L on the trellis during a forward iteration, where the window length L is less than the block length T; e) using a Viterbi algorithm to compute, during a backward iteration, a backward metric for each node in a window of length L on the trellis starting at a time 2L from a point at which the forward iteration is initiated; f) computing a dual maxima for each node using the forward metric and the backward metric to decode said codeword; and g) repeat steps d)-f) over entire block. - View Dependent Claims (22, 23)
-
Specification