The current application is related to joint decoding and equalization using a multiple-non-contiguous-symbol-estimation decision feedback equalizer.
Equalization in a digital receiver is a process in which noise, multipath interference, and other interferences incurred in the broadcast of a digital signal are attempted to be removed from the received signal in order to restore the originally transmitted digital signal. Since the characteristics of the broadcast channel are rarely known a priori to the receiver, and can change dynamically, equalizers are usually implemented using adaptive filters.
Most state-of-the-art digital receivers use some type of decision feedback equalizer (DFE), because decision feedback equalizers provide superior inter-symbol interference (ISI) cancellation with less noise gain than equalizers that employ only a Finite Impulse Response (FIR) structure. A DFE acts to cancel ISI by subtracting filtered symbol estimates from the received waveform. Austin first proposed a DFE, in a report entitled “Decision feedback equalization for digital communication over dispersive channels,” MIT Lincoln Labs Technical Report No. 437, Lexington, Mass., August 1967.
Nearly all modern digital-communication systems use some type of channel coding at the transmitter and complementary decoding at the receiver. Channel coding typically introduces redundancy or overhead in a signal, which provides for better estimation of the transmitted signal at the expense of reduced bandwidth. A common type of channel coding uses trellis coded modulation techniques, as described, for example, in chapter 3 of Trellis Coding, C. Schlegel, IEEE Press, NY, 1997.
Certain currently available techniques combine equalization and decoding to provide better overall recovered-signal error rates. For example, in “Delayed-decision feedback sequence estimation,” by A. Duel-Hallen and C. Heegard, in IEEE Transactions on Communications, vol. 37, no. 5, May 1989, a tunable detection method is introduced for a contiguous block of symbols in which the length of a block is tunable. This method uses a reduced-state search which incorporates information from the feedback filter to calculate path metrics. The information and symbol estimates are constrained to be contiguous.
In “Reduced-state sequence estimation with set partitioning and decision feedback,” by M. Eyuboglu and S. Qureshi, in IEEE Transactions on Communications, vol. 36, no. 1, January 1988, a conventional Viterbi method is used to search a reduced-state trellis, constructed using set partitioning, so that the complexity of the maximum likelihood approach is reduced, with little loss of performance.
In “Block decision feedback equalization,” by D. Williamson et al., in IEEE Transactions on Communications, vol. 40, no. 2, February 1992, a generalization of the DFE is presented where a contiguous block of data is used to estimate a contiguous block of symbols. The method is tunable in the block length of data used and the block length of symbols estimated, and is shown to be a generalization of the maximum likelihood sequence estimator and the maximum symbol-by-symbol a posteriori detector.
In “Decision feedback equalization with trellis decoding,” by R. Gitlin and N. Zervos, in U.S. Pat. No. 5,056,117, Oct. 8, 1991, a trellis decoder is used to provide tentative decisions derived from survival paths of the Viterbi method to the feedback filter in the DFE in order to minimize feedback errors.
The current application is directed to joint decoding and equalization using a decision feedback equalizer. An example method to which the current application and certain of the current claims are directed uses joint trellis decoding and decision feedback equalization to efficiently estimate non-contiguous symbols using non-contiguous equalizer outputs. The estimation process uses all new possibilities of symbol values, rather than old decision feedback symbol estimates.
Forward processing block 330 encompasses multiple currently available signal processing functions, and may include circuitry for adaptive forward filtering, carrier recovery, error term generation, and other functionality. See “Phase detector in a carrier recovery network for a vestigial Sideband signal,” U.S. Pat. No. 5,706,057 issued Jan. 6, 1998, by C. H. Strolle et al., for carrier recovery techniques suitable to VSB signals. For QAM signals, decision-directed carrier estimation techniques are described in Chapter 16 of Digital Communication—Second Edition, Lee and Messerschmitt, Kluwer Academic Publishers, Boston, Mass., 1997. See Theory and Design of Adaptive Filters, New York, John Wiley and Sons, 1987, by Treichler et al for a description of adaptive filters, including forward adaptive filtering and error term generation.
Forward processing block 330 receives a timed and data-synchronized signal, or input samples, from front-end signal processing blocks of the digital receiver; for example, as shown in
Adder 340 combines x(k) with feedback filter 370 output w(k) to provide sample y(k), referred to as the “soft-decision sample.” Combining x(k) with w(k) can either be done with addition or subtraction, depending upon other polarity choices made. Soft decision sample y(k) is provided to slicer 360. Slicer 360 produces a symbol estimate, also referred to as a “hard decision sample.” Slicer 360 can be a nearest-element decision device, selecting the source symbol with minimum Euclidean distance to the soft decision sample, or can take advantage of the channel coding. For example, a partial trellis decoder is used as slicer 360 in “A method of estimating trellis encoded symbols utilizing simplified trellis decoding,” U.S. Pat. No. 6,178,209, issued Jan. 23, 2001, by S. N. Hulyalkar et al. Slicer 360 may also receive an input signal from forward processing block 330, for example, including sine and cosine terms which may be used for rotation and de-rotation in accordance with previously cited currently available techniques.
The output from slicer 360 is used to form regressor sample z(k) for the feedback filter 370. The feedback filter 370 receives regressor samples z(k) and produces output sample w(k) to adder 340. The feedback filter 370 is generally implemented with adaptive coefficients, and is therefore provided error term e(k) for coefficient adjustment. Error term e(k) may be generated in forward processing block 330 or elsewhere in the receiver architecture.
The adaptive filter contained in forward processing block 330 and the feedback filter 370 may include real-valued or complex-valued coefficients, may process real-valued or complex-valued data, and may adjust coefficients or blocks of coefficients using real-valued or complex-valued errors.
The symbol estimate produced by hyper trellis decoder 420 is more reliable than that of conventional currently available techniques, including the slicer 360 used in the prior-art device shown in
The programmable delay Δ provided to hyper trellis decoder 420 and feedback filter 370 can be static, or can alternatively be adjusted to optimize performance, according to one or more rules. For example, a measure of the coefficient magnitudes in feedback filter 370 can be used to select delay Δ throughout demodulator operation.
In the disclosed examples, provided below for illustrative purposes, the described trellis coding is consistent with the ATSC standard, ATSC Digital Television Standard (A/53) Revision E. Furthermore, a trellis index, TrellisIndex, 0 . . . 11, accommodating the twelve interleaved trellis encoders in the ATSC standard, is shown. The system and methods to which the current application is directed may employ other types of trellis codes as well as additional types of codes.
For illustrative purposes, the current disclosure considers the particular two-dimensional case in which non-contiguous symbols s(k) and s(k−Δ), Δ>0, are jointly estimated. Note that Δ may be expressed in units of time or in symbol positions within a symbol stream. Non-contiguous symbols are not adjacent to one another in a symbol stream and are separated, in time, by more than the time that elapses during the transmission of two adjacent symbols in a symbol stream. By contrast, contiguous symbols are separated in time by an amount of time greater than the time that elapses during the transmission of a single symbol but less than the time that elapses during the transmission of two adjacent symbols in a symbol stream. The four-state Trellis 1200 shown in
The Hypertrellis 1300 in
y(k)=x(k)−[z(k−1)·α1+z(k−2)·α2+ . . . +z(k−N)·αN]
where z(k) are the estimates of symbols s(k).
The HTD generates the observations y(k)+z(k−Δ)·α66 and y(k−Δ) to estimate symbols s(k) and s(k−Δ). To better understand how the HTD works, consider the case where past symbols are correct (i.e. z(k−δ)=s(k−δ) for δ>0) and x(k) is well modeled as a linear combination of the transmitted symbol plus noise u(k), i.e.
x(k)=s(k)+s(k−1)·α1+s(k−2)·α2+ . . . +s(k−N)·αN+u(k).
Then, the observations generated by the HTD reduce to
y(k)+z(k−Δ)·αΔ=s(k)+s(k−Δ)·α66+u(k)
y(k−Δ)=s(k−Δ)=s(k−Δ)+u(k−Δ)
Notice that these observations are linked by the delayed symbol s(k−Δ) and the coefficient αΔ. From these observations, the HTD generates the following branch metrics for the hypertrellis in
BM
ij
=[y(k)+z(k−Δ)·α66 −ai−aj·αΔ]2+[y(k−Δ)−aj]2
where ai,j ε A . These branch metrics are subsequently used to calculate path metrics of the trellis in
HTD_Observation=αΔ+1(k)·z(k−(Δ+1)+y(k)
where αΔ+1(k) is the coefficient of the filter at delay Δ or some measure of the coefficient at delay Δ provided from feedback filter 370.
The observation for delay transition metric calculator 530, HTD_DelayObservation, is formed from the shift register/circular buffer 660. Shift register/circular buffer 660 inputs soft decision sample y(k), and, by reading programmable delay Δ, produces the observation for the delay transition metric calculator 530,
HTD_DelayObservation=y(k−Δ)
HTD_DelayTmi=HTD_DelayObservation−ai
Adders 710 . . . 780 each subtract a symbol value from delay observation HTD_DelayObservation. Here, the 8-level symbol alphabet A={−7,−5,−3,−1,1,3,5,7} is shown for simplicity. The outputs of adders 710 . . . 780 are each squared in multipliers 720 . . . 790, producing the array of delay transition metrics, HTD_DelayTm[i], i=0 . . . 7, for use in branch metric calculator 550.
HTD_CurrentTm[i][j]=(HTD_Observation+aj·αΔ+1(k)−ai)2
with i=0 . . . 7, j=0 . . . 7, continuing again with the 8-level symbol alphabet A={−7,−5,−3,−1,1,3,5,7} for simplicity. Observe that the current transition metrics are calculated using all possible combinations of alphabet members.
The multiplier 810 multiplies alphabet member aj=0 . . . 7 with the coefficient of the filter at delay Δ, or some measure of the coefficient at delay Δ, from the feedback filter 370. The adder 820 sums the output of the multiplier 810 with HTD_Observation from the observation calculator 520 and subtracts alphabet member ai, i=0 . . . 7 from the result, which is squared in multiplier 830 to form the array of current transition metrics, HTD_CurrentTm[i][j].
The stored metrics HTD_StateMetrics, HTD_CurrentTm, and HTD_DelayTm in the branch metric calculator 550 are combined via wire interconnect matrices 910, 920 and 940. Specifics of the wire interconnect matrices 910, 920, and 940 depend on the trellis encoder used in the signal protocol. The tables describing the specifics of the wire interconnect matrices 910, 920, and 940 are, in one example, those for the ATSC signal format used for DTV signals in the U.S., as described in ATSC Digital Television Standard (A/53) Revision E. Furthermore, also shown is a trellis index, TrellisIndex, 0 . . . 11, accommodating the twelve interleaved trellis encoders in the ATSC standard. Wire interconnect tables can be produced for other trellis encoders, and the currently described sub-system can be modified to accommodate un-encoded data, such as un-encoded data from a training sequence.
Wire interconnect matrix 910 is a 16-to-16 mapping of input to output, mapping the length-16 input array HTD_StateMetric[TrellisIndex][16] from state transition metric calculator 560 to its 16 output terminals, depending on the state S of the trellis decoder. There are twelve interleaved encoders used in the ATSC standard, and the TrellisIndex, 0 . . . 11, is used to denote this nuance. For ATSC-encoded signals, the specific mapping is described in Table 1, provided below:
The elements in the table are the indices of elements of HTD_StateMetric, and the column index is the output terminal of wire interconnect matrix 910.
The wire interconnect matrix 940 is an 8-to-16 mapping of input to output, mapping the length-8 input array HTD_DelayTm[8] from the delay transition metric calculator 530 to its 16 output terminals, depending on the state S of the trellis decoder. For ATSC-encoded signals, the specific mapping is described in Table 2, provided below:
The elements in the table are the indices of elements of HTD_DelayTm, and the column index is the output terminal of wire interconnect matrix 940.
The wire interconnect matrix 920 is a 64-to-16 mapping of input to output, mapping the 8×8 input array HTD_CurrentTm[8][8] from the current transition metric calculator 540 to its 16 output terminals, depending on the state S of the trellis decoder. For ATSC-encoded signals, the specific mapping is described in Table 3, provided below:
The elements in the table are the indices (i,j) of elements of HTD_CurrentTm[i]]j], and the column index is the output terminal of wire interconnect matrix 920.
The sixteen outputs of the wire interconnect matrices 910, 920, and 940 are summed in the adder array 975, containing sixteen adders for ATSC, adder 950, adder 960, . . . adder 970. Adder 950 sums the 0th output terminals of wire interconnect matrices 910, 920, and 940 and produces BranchMetric[0]; adder 960 sums the 1st output terminals of wire interconnect matrices 910, 920, and 940 and produces BranchMetric[1]; . . . adder 970 sums the 15th output terminals of wire interconnect matrices 910, 920, and 940 and produces BranchMetric[15]. The branch metric array BranchMetric[i], i=0 . . . 15, is provided to comparator 930.
For each state S=0 . . . 15 of the decoder, the comparator 930 compares the array of branch metrics, and assigns the lowest branch metric among the array BranchMetric[i] to the Sth position of the output array HTD_WinBranchMetric[s]. Furthermore, the comparator 930 assigns the alphabet member associated with the lowest branch metric to the Sth position of output array HTD_WinBranchSymbol[s].
The winning state metric HTD_WinStateMetric from comparator 1010 is subtracted from each element of array HTD_WinBranchMetric[s], S=0 . . . 15, in adder array 1065, which includes exemplary adders 1030 . . . 1050, to form the array of state metrics, HTD_StateMetric[TrellisIndex] [s], S=0 . . . 15, which are used in the branch metric calculator 550. This is an implementation-specific technique used to normalize the accumulated metrics. Other normalization techniques can be applied in alternative examples.
The trellis index circuitry 1060 reflects the ATSC DTV standard and is used to generate the trellis index, TrellisIndex=0 . . . 11. Adder 1080 increments, by one, the contents of register 1090, and the result is constrained to 0 . . . 11 using modulo-12 arithmetic in modulo-12 block 1070. The result TrellisIndex is used for the twelve interleaved trellis encoders in the ATSC standard.
The equations described in the above disclosure may include scaling, change of sign, or similar constant modifications that are not shown for simplicity. Such modifications can be readily determined or derived for the particular implementation. Thus, the described equations may be subject to such modifications, and are not limited to the exact forms presented herein.
The various functions of equalization, signal combining, error correction, and carrier recovery may be implemented with circuit elements or may also be implemented in the digital domain as processing steps carried out by computer instructions, stored in a mass-storage device, electronic memory, or other such physical computer-readable medium, and executed by one or more processors, microprocessors, digital-signal processors, or micro-controllers.
The present invention can be embodied in the form of methods and apparatuses for practicing those methods. The present invention can also be embodied in the form of program code embodied in tangible media, such as floppy diskettes, CD-ROMs, hard drives, or any other physical machine-readable storage medium, wherein, when the program code is loaded into and executed by a machine, such as a computer, the machine becomes an apparatus for practicing the invention. When implemented on a general-purpose processor, the program code segments combine with the processor to provide a unique device that operates analogously to specific logic circuits. The phrase “computer-readable medium” does not include or encompass electromagnetic signals and other such non-physical media which do not store data, but only transmit data.
Although the present invention has been described in terms of particular embodiments, it is not intended that the invention be limited to these embodiments. Modifications within the spirit of the invention will be apparent to those skilled in the art. For example, the present invention may be implemented to provide a multiple-non-contiguous-symbol-estimation decision feedback equalizer to process signals encoded by any of many different types of encoding and provide estimation of three or greater symbols. The above-described circuitry and control logic can be modified by modifying any of many different implementation and design parameters, including parameters that control choice of integrated-circuit technology, programming language, operating-system or other underlying control program, modular organization, control structures, data structures, and many of such design and implementation parameters.
It is appreciated that the previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present disclosure. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the disclosure. Thus, the present disclosure is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
This application is a continuation-in-part of U.S. application Ser. No. 12/229,725, filed Aug. 26, 2008, which claims the benefit of Provisional Application No. 60/967,515, filed Sep. 5, 2007.
Number | Date | Country | |
---|---|---|---|
60967515 | Sep 2007 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 12229725 | Aug 2008 | US |
Child | 13448805 | US |