Systems and Methods for Advanced Iterative Decoding and Channel Estimation of Concatenated Coding Systems
First Claim
1. A communication system with adaptive pilot symbol structure comprising:
- a. a measurement device in a receiver that measures one or more signal attributes of a signal received over a first communication channel;
b. a processing device that analyzes said measurements of one or more received signal attributes to determine a preferred pilot symbol structure, wherein the preferred pilot symbol structure is selected from at least two possible pilot symbol structures; and
c. a transmitting device that conveys via a second communication channel to a transmitter of said received signal that was measured in the receiver an indicator of preferred pilot structure.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for decoding block and concatenated codes are provided. These include advanced iterative decoding techniques based on belief propagation algorithms, with particular advantages when applied to codes having higher density parity check matrices. Improvements are also provided for performing channel state information estimation including the use of optimum filter lengths based on channel selectivity and adaptive decision-directed channel estimation. These improvements enhance the performance of various communication systems and consumer electronics. Particular improvements are also provided for decoding HD Radio signals, including enhanced decoding of reference subcarriers based on soft-diversity combining, joint enhanced channel state information estimation, as well as iterative soft-input soft-output and list decoding of convolutional codes and Reed-Solomon codes. These and other improvements enhance the decoding of different logical channels in HD Radio systems.
-
Citations
76 Claims
-
1. A communication system with adaptive pilot symbol structure comprising:
-
a. a measurement device in a receiver that measures one or more signal attributes of a signal received over a first communication channel; b. a processing device that analyzes said measurements of one or more received signal attributes to determine a preferred pilot symbol structure, wherein the preferred pilot symbol structure is selected from at least two possible pilot symbol structures; and c. a transmitting device that conveys via a second communication channel to a transmitter of said received signal that was measured in the receiver an indicator of preferred pilot structure. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for estimating channel response in a receiver of a multicarrier communication system comprising:
-
a. selecting filter lengths for time and frequency domain channel estimation based on estimated time selectivity and frequency selectivity of said channel response wherein said time selectivity and frequency selectivity are estimated using at least one of known pilot symbols and unknown data symbols; b. estimating said channel response using said selected filter lengths by using available pilot symbols and a first set of data symbols, the first set of data symbols being selected as a fraction of data symbols that are more reliable than a remaining fraction of data symbols in a second set of data symbols that are considered less reliable; and c. with respect to symbol positions corresponding to said second set of data symbols, estimating the channel response by interpolation based on estimated values of channel response obtained from said pilot symbols and said first set of data symbols. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A method for estimating channel response in a receiver of a single carrier communication system comprising:
-
a. selecting a filter length for time domain channel estimation based on estimated time selectivity of said channel response wherein the said time selectivity is estimated using at least one of known pilot symbols and unknown data symbols; b. estimating said channel response using said selected filter length by using available pilot symbols and a first set of data symbols, the first set of data symbols being selected as a fraction of data symbols that are more reliable than a remaining fraction of data symbols in a second set of data symbols that are considered less reliable; and c. with respect to symbol positions corresponding to said second set of data symbols, estimating the channel response by interpolation based on estimated values of channel response obtained from said pilot symbols and said first set of data symbols. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A method for generating check-to-variable messages during an iteration in decoding of codes represented by a parity check matrix, the method comprising the following steps for at least one variable node:
-
a. calculating a check-to-variable message Mcv(i,j) from check node i to variable node j; b. identifying two smallest absolute values, Min1 and Min2, in a set of variable-to-check messages Mvc(i,k), where k≠
j, excluding the message from variable j to check node i, Mvc(i,j);c. calculating a scaling factor α
=1−
β
·
Min1/Min2, where is a non-negative number such that 0≦
β
≦
1; andd. scaling the check-to-variable message Mcv(i,j) as Mcv(i,j)=α
·
Mcv(i,j). - View Dependent Claims (32, 33)
-
-
34. A method for modifying variable-to-check messages during an iteration in decoding of codes represented by a parity check matrix, the method comprising the following steps for at least one variable node:
-
a. calculating variable-to-check messages Mvc(i,j)(n-1) and Mvc(i,j)(n) from variable node j to check node i, respectively, in iterations (n−
1) and (n), where n≧
2;b. comparing the positive or negative signs of variable-to-check messages Mvc(i,j)(n-1) and Mvc(i,j)(n) calculated in step a; and c. if said signs in step b) are different, generate modified variable-to-check message {tilde over (M)}vc(i,j)(n) according to {tilde over (M)}vc(i,j)(n)=g·
Mvc(i,j)(n)+(1−
g)·
Mvc(i,j)(n-1), where 0.5<
g≦
1. - View Dependent Claims (35, 36)
-
-
37. A method for simple greedy scheduling of check equation updates, for at least M equations, where 1<
- M≦
N−
K, during an iteration in decoding of codes represented by a parity check matrix with N−
K parity check rows and N columns, the method comprising the following steps;a. for each check node i, out of M check nodes of the parity check matrix, calculating Vali=Min1+Min2, i=1, 2, . . . , L where L≧
1 and where Min1 and Min2 are the two smallest values in the set of absolute values of variable-to-check messages{|Mvc(i,;
)|} where index i corresponds to the set of check nodes;b. sorting the set {Vali} calculated in step a in decreasing order to obtain an ordering vector I={I1, I2, . . . , IM}, such that I1 is the index of a check node with the largest value Val, I2 is the index of a check node with the next largest value Val and IM is the index of a check node with the smallest value Val; and c. updating M check node equations, according to the ordering vector, I={I1, I2, . . . , IM} calculated in step b, by calculating and propagating corresponding check-to-variable messages. - View Dependent Claims (38, 39)
- M≦
-
40. A method for simple greedy scheduling of check equation updates, for at least M equations, 1<
- M≦
N−
K, during an iteration in decoding of codes represented by a parity check matrix with N−
K parity check rows and N columns, comprising the following steps;a. for the set of M′
≦
M of non-updated check nodes out of M check nodes of the parity check matrix, calculating Vali=Min1+Min2, i=1, 2, . . . , L where L≧
1 and where Min1 and Min2 are the two smallest values in the set of absolute values of variable-to-check messages {|Mvc(i,;
)|} where index i corresponds to the set of non-updated check nodes;b. sorting the set {Vali} calculated in step a in decreasing order to obtain an ordering vector I={I1, I2, . . . , IM}, such that I1 is the index of a check node with the largest value Val, I2 is the index of a check node with the next largest value Val and IL is the index of a check node with the smallest value Val; c. updating L check node equations selected in step b according to the ordering vector, I={I1, I2, . . . , IL} calculated in step b, by calculating and propagating corresponding check-to-variable messages and updating variable-to-check messages for all variables that receive check-to-variable messages in this step; and d. repeating steps a, b and c until all check nodes are updated by calculating and propagating corresponding check-to-variable messages. - View Dependent Claims (41, 42)
- M≦
-
43. A method for decoding codes represented by a parity check matrix of dimension (N−
- K)×
N, comprising;a. generating P>
1 parity check matrices with N−
K sparse columns wherein up to N−
K sparse columns contain only a single entry equal to 1 per column, wherein sparse columns of each of P parity check matrices correspond to different subsets of N−
K bit log-likelihood ratios of N−
K+R least reliable bit log-likelihood ratios, wherein R≧
P is a configurable integer;b. decoding of channel log-likelihood ratios using said P parity check matrices with sparse columns to produce updated log-likelihood ratios, employing soft-input soft-output message passing decoding until a desired number of iterations is reached or until said decoding using at least one of said P matrices produces a valid codeword; and c. on the condition that decoding using said P parity check matrices produces no valid codeword, performing additional decoding that is based at least in part on algebraic decoding of the sequences of said updated log-likelihood ratios. - View Dependent Claims (44, 45, 46, 47, 48, 49, 50, 51)
- K)×
-
52. A method for decoding a hybrid digital radio signal, the signal being an OFDM signal, the method comprising:
-
a. performing initial channel state information estimation using distorted modulated symbols obtained from the received OFDM signal, wherein said modulated symbols belong to a plurality of OFDM symbol intervals and a plurality of OFDM subcarriers; b. producing soft estimates of convolutional code coded bits using soft-input soft-output decoding of one or more convolutional codes associated with one or more logical channels carried in a radio frame of the OFDM signal; c. performing at least one additional iteration of channel state information estimation by using at least some of said soft convolutional code coded bits estimates; and d. performing enhanced decoding of at least one of a PSD PDU, a PIDS PDU, audio packet data, a MPS PDU header and AAS PDU using improved channel state information obtained by said at least one additional iteration. - View Dependent Claims (53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76)
-
Specification