The present invention is related to digital processing techniques and, more particularly, to techniques for bit stream generation and bit detection using maximum likelihood sequence estimation (MLSE) techniques.
Maximum likelihood sequence estimation techniques are often employed to extract useful data out of a noisy data stream. The Viterbi algorithm is one well-known example of an MLSE algorithm that finds a most likely sequence of hidden states that results in a sequence of observed events. The Viterbi algorithm recognizes that when two paths lead into the same state, all future branch metrics of the two paths will be identical. Thus, one path with an inferior cumulative metric can be discarded, and only the superior path need be retained. As the number of filter coefficients increases, however, the number of states grows exponentially.
Thus, reduced complexity MLSE algorithms are often employed to reduce the number of states to consider. For example, the M-Algorithm keeps the M most likely paths (e.g., the paths with the “best path metrics”) among those paths that end at the same level of a trellis, and the remaining states are deleted. See, for example, J. B. Anderson, “Limited Search Trellis Decoding of Convolutional Code,” IEEE Trans. Inf. Theory, Vol. 35, No. 5, pp. 944-955 (September 1989). At the end of the trellis, the path with the best path metric is selected.
MLSE techniques have been used for both decoding and encoding of signals. MLSE decoding techniques, for example, select a transmitted codeword y that maximizes the probability that a received codeword x was received, given that the transmitted codeword y was sent. PCT Patent Application Serial No. PCT/US12/62175, filed Oct. 26, 2012, and entitled “Direct Digital Synthesis of Signals Using Maximum Likelihood Bit-Stream Encoding,” is an example of an MLSE encoding technique that directly synthesizes RF signals using maximum likelihood sequence estimation. While such MLSE techniques have improved the performance of both signal encoding and decoding, a need remains for maximum likelihood bit-stream generation and detection using the M-algorithm and Infinite Impulse Response (IIR) filtering.
Generally, maximum likelihood bit-stream generation and detection techniques are provided using the M-algorithm and Infinite Impulse Response (IIR) filtering. According to one aspect of the invention, the M-Algorithm is applied to a target input signal X to perform Maximum Likelihood Sequence Estimation on the target input signal X to produce a digital bit stream B, such that after filtering by an IIR filter, the produced digital stream Y produces an error signal satisfying one or more predefined requirements. The predefined requirements comprise, for example, a substantially minimum error.
In an exemplary bit detection implementation of the invention, the target input signal X comprises an observed analog signal and the produced digital stream Y comprises a digitized output of a receive channel corresponding to a transmitted bit stream. In an exemplary bit detection implementation, the IIR filter is a model of an analog receive channel that said observed analog signal passed through. The exemplary bit detection techniques can be employed in one or more of a storage device read channel and a data channel.
In an exemplary bit stream generation implementation of the invention, the target input signal X comprises a desired transmit signal and the produced digital stream Y comprises an estimate of the desired transmit signal. In an exemplary bit stream generation implementation, the IIR filter is a model of a transmitter analog output channel that will carry the produced digital stream.
A more complete understanding of the present invention, as well as further features and advantages of the present invention, will be obtained by reference to the following detailed description and drawings.
Aspects of the present invention provide maximum likelihood bit-stream generation and detection techniques using the M-algorithm and Infinite Impulse Response (IIR) filtering. According to one aspect of the invention, the M-Algorithm is applied to a target input signal X to perform Maximum Likelihood Sequence Estimation on the target input signal X to produce a digital bit stream B, such that after filtering by an IIR filter, the produced digital stream Y produces an error signal satisfying one or more predefined requirements. In an exemplary bit detection implementation of the invention, the target input signal X comprises an observed analog signal and the produced digital stream Y comprises a digitized output of a receive channel corresponding to a transmitted bit stream. In an exemplary bit stream generation implementation of the invention, the target input signal X comprises a desired transmit signal and the produced digital stream Y comprises an estimate of the desired transmit signal.
Delta-Sigma Modulation
The input value, u, to the one bit quantizer 210 is compared to the quantized output value, q, by an adder 230 that generates a quantization error, e. The quantization error, e, is processed by the error predictive filter 220 to generate an error prediction value, e1, that is stored in a register 240 for one clock cycle and then subtracted from the input signal, r, by an adder 250 that generates the error-compensated input value, u. Generally, error predictive filters 220 employ some knowledge of the input signal to filter the signal, in a known manner. For example, if the error is known to be slowly varying, the error predictive filter 220 can use the same value for subsequent samples.
Generally, the output of the one bit quantizer 210 provides a coarse approximation of the input signal. The input signal, r, may be, for example, a 16 bit digital value, and the one bit quantization performed by the quantizer 210 (e.g., the quantization can be based on the polarity of the input signal) for a coarse analog conversion. The quantization noise, e, associated with the one bit quantizer 210 is primarily out-of-band. As previously indicated, the one bit quantization performed by the quantizer 210 is inherently linear.
In the exemplary embodiment described herein, the quantization error, e(n), is assumed to be uncorrelated to the input, r(n). Thus, the power spectral density, Sq,q, of the quantizer output, q(t), can be expressed a function of the frequency, f, as follows:
Sq,q(f)=Sr,r(f)+(1−H(z))2Se,e(f)
where r is the input signal and
T error predictive filter 220 provides zeroes at desired frequencies of f1, f2, . . . fN, and provides poles at substantially the same frequencies as the zeroes, with the poles having magnitude values, .ai, less than one. It is noted that the placement of the poles and zeros may be fixed or variable and may be optimized for a given implementation, as would be apparent to a person of ordinary skill in the art.
Direct Synthesis Using Maximum Likelihood Bit-Stream Encoding
As discussed further below in conjunction with
The digital stream b can be, for example, a two-level binary signal, a multi-level signal, as well as one or more of NRZ, PAM, QAM (e.g., QPSK) signals.
As shown in
Aspects of the present invention recognize that maximum likelihood sequence estimation (MLSE) techniques can be applied to data conversion and encoding, and not just the more typical data decoding.
Generally, the h(t) prototype filter 520 has a passband that is substantially centered around the frequency of the digital input signal x. The h(t) prototype filter 520 can be implemented, for example, as a finite impulse response (FIR) or an infinite impulse response (IIR) filter.
At stage 510, the maximum likelihood bit-stream encoder 500 finds the maximum likelihood bit stream (bit stream b) that minimizes the error e using maximum likelihood sequence estimation (MLSE) techniques. The MSLE techniques comprise, for example, one or more of a Viterbi algorithm, Reduced State Sequence Estimation (RSSE) and an M algorithm (to reduce number of states of the decoder which can be large). If the number of taps is Ntaps, the number of states of decoder is 2.Ntaps grows exponentially with number of taps and may not be practical. For a discussion of the M algorithm, see, for example, E. F. Haratsch, “High-Speed VLSI Implementation of Reduced Complexity Sequence Estimation Algorithms With Application to Gigabit Ethernet 1000 BaseT,” Intl Symposium on VLSI Technology, Systems, and Applications, Taipei (June 1999), incorporated by reference herein.
The analog restitution filter 410 is designed based on the characteristics of the input signal x and the prototype filter 520 has a frequency response that is similar to the restitution filter 410.
The MLSE optionally incorporates in its decoding the non-linear memory of an RF power amplifier (Class S switching-type amplifier) or digital driver analog circuit (e.g., the transmit circuit of a serializer-deserializer (SerDes) commonly used in digital or mixed signal System on a Chip (SOC)) to compensate for the non-linearity of these devices. The System on a Chip may comprise, for example, a baseband signal processor, a digital front end (DFE) or a single chip base station.
As shown in
In a further variation, a maximum likelihood encoder can also be used as an analog to digital converter, where the input signal is an analog signal instead of a digital signal, the prototype filter is analog, the restitution filter is digital and the maximum likelihood decoder is implemented in the analog domain.
FIR Bit Stream Generation or Detection
As indicated above, aspects of the present invention apply an M-Algorithm to a target input signal X to perform Maximum Likelihood Sequence Estimation on the target input signal X to produce a digital bit stream B, such that after filtering by an Infinite Impulse Response (IIR) filter, the produced digital stream Y produces an error signal satisfying one or more predefined requirements. In an exemplary bit detection implementation of the invention, the target input signal X comprises an observed analog signal and said produced digital stream Y comprises a digitized output of a receive channel corresponding to a transmitted bit stream. In an exemplary bit stream generation implementation of the invention, the target input signal X comprises a desired transmit signal and said produced digital stream Y comprises an estimate of said desired transmit signal.
A Finite Impulse Response (FIR) filter has the form:
Yn=b0xn+b1xn−1+ . . . bLxn−L
where Yn is the output at time step n in terms of the current input xn and past inputs xn-i. The coefficients bi define the filter.
In an exemplary implementation, the target output sequence {Dn} at each time is known, and the input stream {xi} that will result in outputs {Yn} as close as possible to the target Dn are to be determined. In the case of bit stream generation, the target sequence {Dn} is the desired transmit output signal. In the case of bit stream detection, the target sequence {Dn} is the (digitized) observed output of the receive channel. With reference to
Thus, xi comprises a binary digital bit-stream, each having a possible value of either +1 or −1, and the coefficients bi are based upon a combination of the channel characteristics that will shape the bit-stream as it is converted from digital to analog, together with any analog filtering that is done to the signal before it is to be compared with the target analog sample values Dn. The coefficients might typically be 16 bit integer values. In the case of bit stream generation, the channel characteristics are those of the transmit path. In the case of bit stream detection, the channel characteristics are those of the receive path.
One approach to this problem is to use a Viterbi algorithm. At each time n, there is a current state, consisting of the past values (xn-1, . . . , xn-L) in the filter delay line, and a sequence of desired outputs Dk. The next value xn, is desired that will give the output Yn and then advance the state to the new state xn, . . . , xn-L+1. There are 2 L possible states to consider. In the Viterbi algorithm, each of the 2 L states are examined, computing metrics based upon which of two possible past states each current state could have come from, (xn-L=+1 or −1) and which of two possible states each state could branch to (xn=+1 or −1). The branch metric is given by (Yn−Dn)2, and the cumulative metric for a path is the sum of the branch metrics over time for that path.
The main step in the Viterbi algorithm for the FIR filter with binary inputs is the butterfly operation. In the transition from filter delay line (xn-1, . . . , xn-L) to (xn, . . . , xn-L+1), it is observed that state (xn, . . . , xn-L+1) can come from either one of two states: (x.n-1, . . . , xn-L+1, +1) or (xn-1, . . . , xn-L+1, −1). Each of these states has a path metric associated with it, consisting of the sum of the branch metrics up to time n−1. It is also observed that each of the states (xn-1, . . . , xn-L+1, .±0.1) can lead to either of the two states (.±0.1, xn-1, . . . , xn-L+1). This gives a butterfly of four possible transitions. The new path metric is computed by adding the branch metric (Yn−Dn)2 to the cumulative metric for the path leading into the new state. The key feature of the Viterbi algorithm is the observation that when two paths lead into the same state, all future branch metrics of the two paths will be identical, only the cumulative value leading up to that point will differ. This means that the path with the worse cumulative metric can be discarded, and only the superior path retained, from that point on, with no loss of optimality. Note that this is only possible because we examine all the states.
As the number of filter coefficients increases, the number of states grows exponentially—there are 2 L states, and for a filter with, for example, 128 coefficients, 2 128 is a very large number. In practice, then, in such a situation, another algorithm must be used to reduce the number of states to consider. One example is referred to as the M-Algorithm, as described, for example, in J. B. Anderson, “Limited Search Trellis Decoding of Convolutional Code,” IEEE Trans. Inf. Theory, Vol. 35, No. 5, pp. 944-955 (September 1989), incorporated by reference herein. When the M-Algorithm starts, the number of states doubles with each time step: x0=+1 or −1 (2 states); X1=+1 or −1 (now 4 combinations of (x0, x1)), etc. With the M-Algorithm, the number of states grows only to a certain specified number, s, for example, M states. Then at the next stage, when the number of states doubles to 2M, the best M of the 2M states are retained and the others are deleted. The same procedure is followed for all subsequent steps.
There are two consequences. The first consequence is a smaller, more manageable number of states. The second consequence is that since all the states are no longer retained, you can no longer look backward to compare the paths that lead to each of the current states (the required information won't be there). Instead of comparing two paths that lead to the same state and deleting the worst one, the M-Algorithm instead compares 2M paths leading forward, and deletes half of them. Since they are not converging into the same state, however, the deletion is performed based on incomplete information. Thus, in addition to changing the nature of the computation, there are suboptimal solutions, because paths are deleted based on incomplete information.
IIR Bit Stream Generation or Detection
Consider an Infinite Impulse Response (IIR) filter, having the form:
Yn=a1Yn-1+ . . . aKYn-K+b0xn+b1xn-1+ . . . +bLxn-L,
In the case of an IIR filter, the output Yn of the filter depends on the past inputs and current inputs, and also on the past outputs. An advantage of the IIR filter is that a much smaller number of coefficients can typically be used to achieve a similar level of filter complexity. The IIR filter has an infinite impulse response. To create such a response with an FIR filter would require an infinite number of coefficients.
The state of an IIR filter is given by (xn-1, . . . , xn-L, Yn-1, . . . , Yn-x). It is noted that while the xi are +1 or −1, the Yi are typically 16 bit values for exemplary applications. Thus, the smaller number of coefficients does not really translate into a smaller number of states. For example, for an FIR filter with L=136 coefficients, there would be 2 136 states. An IIR filter can be designed with, for example, L=8 numerator taps and K=8 denominator taps, so the state would have eight x values and eight Y values. While the x values contribute a factor of 2 8 states, however, the Y values, each being 16 bits, contribute 2 (16*8) values. Thus, the resulting number of states becomes 2 (8+16*8)=2 136, the same as the apparently more complex FIR filter. Thus, a full Viterbi algorithm is still impractical for such a filter. Also, the butterfly operation is more complicated, because there is no longer a simple trellis in which any given state can come from only two possible previous states. Note that a full Viterbi algorithm for an IIR convolutional encoder is feasible and is in common use. In this case, the Yi are also one bit values, taking values of only +1 or −1.
M-Algorithm Using IIR
Aspects of the present invention apply the M-algorithm to an IIR filter, in the case where the Yi are not binary values. While the Viterbi algorithm is difficult to implement for such an IIR filter, when the M-algorithm is applied to the IIR filter, the above-described methods used for the FIR filter can be employed. With the M-algorithm, you no longer look back to the previous state, where the Viterbi becomes very difficult for the IIR filter (since the Viterbi algorithm retains all possible states). The look forward to the next state, however, is easier, and is similar to the FIR.
At stage 710, the M-Algorithm 710 finds the maximum likelihood bit stream (bit stream b) that minimizes the error e. The analog restitution filter 410 (
The M-Algorithm MLSE 710 optionally incorporates in its decoding the non-linear memory of an RF power amplifier (Class S switching-type amplifier) or digital driver analog circuit (e.g., the transmit circuit of a serializer-deserializer (SerDes) commonly used in digital or mixed signal System on a Chip (SOC)) (for the transmitter application) to compensate for the non-linearity of these devices. To add non-linear memory, the IIR model described above would be enhanced to add additional terms. For a relatively straightforwardexample, nonlinearity can be introduced into the IIR model by adding terms of the form bijxn-i xn-j, i.e., containing not just terms linear in the xn-i but nonlinear combinations as well (i.e., products of them). (Here, since the xi are binary values, only cross products must be processed). The System on a Chip may comprise, for example, a baseband signal processor, a digital front end (DFE) or a single chip base station.
The state of the IIR filter 720 (having a memory length equal to K) comprises both the xi and the Yi values. The state transition going forward (according to equation (3)) looks like:
(xn-1, . . . , xn-L, Yn-1, . . . , Yn-K)→(xn, . . . , xn-L+1, Yn, . . . , Yn-K+1), via:
(xn-1, . . . , xn-L, Yn-1, . . . , Yn-K)→(+1, xn-1, . . . , xn-L+1, Y(1, xn-1, . . . , xN-L, Yn-1, . . . Yn-K), Yn-1, . . . , Yn-K+1), or
(xn-1, . . . , xn-L, Yn-1, . . . , Yn-K)→(−1, xn-1, . . . , xn-L+1, Y(−1, xn-1, . . . , xN-L, Yn-1, . . . Yn-K), Yn-1, . . . , Yn-K+1)
While it would be complicated to unravel this for the backward looking half of the butterfly, the forward transitions used in the M-algorithm are similar to that for the FIR.
The same procedure is followed of increasing the number of states by a factor of two with each choice of +1 or −1 for each xi input. When M states are reached, only the M best of the 2M states generated by the next choice are retained. When considering how large M must be, consider that a fraction is taken of a larger number of possible states than would be indicated by just the number of taps, that is, 2 (8+16*8), not 2 8. Thus, the value of M needed for each of the two examples given, each having 2 136 possible states, would likely be similar.
Computational complexity for the two techniques is comparable as well. For the example comparison above, it can be shown that the number of adders required to construct the multipliers needed looks like:
FIR: 136 taps*1 bit*16 bit=136*16=2176 adders.
IIR: 8 taps*1 bit*16 bit+8 taps*16 bit*16 bit=128+8*256=2176 adders.
Thus, the implementation complexity for these two filters is similar. The advantage that is gained is the increase in the available choices of filters that can be used to try to construct a bit-stream generator having desired performance characteristics. Instead of being limited to FIR designs, now the design space of the IIR filters is also available.
The exemplary alternate maximum likelihood bit-stream generator 500′ can be employed, for example, for bit detection in a data communications channel or when reading data stored on a memory device (such as a hard drive) with a read channel sensing circuit.
In the implementation of
Among other benefits of the present invention, the disclosed IIR approach provides the ability to try filters with an Infinite Impulse Response and the disclosed 11R methods provide similar orders of magnitude of complexity.
While exemplary embodiments of the present invention have been described with respect to digital logic blocks, as would be apparent to one skilled in the art, various functions may be implemented in the digital domain as processing steps in a software program, in hardware by circuit elements or state machines, or in combination of both software and hardware. Such software may be employed in, for example, a digital signal processor, application specific integrated circuit or micro-controller. Such hardware and software may be embodied within circuits implemented within an integrated circuit.
Thus, the functions of the present invention can be embodied in the form of methods and apparatuses for practicing those methods. One or more aspects of the present invention can be embodied in the form of program code, for example, whether stored in a storage medium, loaded into and/or executed by a machine, wherein, when the program code is loaded into and executed by a machine, such as a processor, 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 device that operates analogously to specific logic circuits. The invention can also be implemented in one or more of an integrated circuit, a digital signal processor, a microprocessor, and a micro-controller.
It is to be understood that the embodiments and variations shown and described herein are merely illustrative of the principles of this invention and that various modifications may be implemented by those skilled in the art without departing from the scope and spirit of the invention.
The present application is a continuation of U.S. patent application Ser. No. 14/090,555, filed Nov. 26, 2013, and entitled “Maximum Likelihood Bit-Stream Generation and Detection Using M-Algorithm and Infinite Impulse Response Filtering” which is a continuation-in-part application of PCT Patent Application Serial No. PCT/US12/62175, filed Oct. 26, 2012, and entitled “Direct Digital Synthesis Of Signals Using Maximum Likelihood Bit-Stream Encoding,” which claims priority to U.S. Patent Provisional Application Ser. No. 61/552,242, filed Oct. 27, 2011, entitled “Software Digital Front End (SoftDFE) Signal Processing and Digital Radio,” incorporated by reference herein. The present application is related to International Patent Application Serial No. PCT/US09/38929, filed Mar. 31, 2009, entitled “Methods and Apparatus for Direct Synthesis of RF Signals Using Delta-Sigma Modulator,” incorporated by reference herein.
Number | Name | Date | Kind |
---|---|---|---|
5416845 | Qun | May 1995 | A |
5706314 | Davis et al. | Jan 1998 | A |
5949831 | Coker et al. | Sep 1999 | A |
6118832 | Mayrargue | Sep 2000 | A |
6158027 | Bush et al. | Dec 2000 | A |
6580768 | Jaquette | Jun 2003 | B1 |
6625235 | Coker et al. | Sep 2003 | B1 |
6643814 | Cideciyan et al. | Nov 2003 | B1 |
7477634 | McKown | Jan 2009 | B1 |
7593492 | Lande | Sep 2009 | B1 |
7613228 | Niedzwiecki | Nov 2009 | B2 |
8630362 | von der Embse | Jan 2014 | B1 |
8711988 | Chen | Apr 2014 | B2 |
9201628 | Azadet | Dec 2015 | B2 |
20010050926 | Kumar | Dec 2001 | A1 |
20020057735 | Piirainen | May 2002 | A1 |
20030152165 | Kondo et al. | Aug 2003 | A1 |
20030223505 | Verbin et al. | Dec 2003 | A1 |
20050036575 | Kuchi et al. | Feb 2005 | A1 |
20060029149 | Kim et al. | Feb 2006 | A1 |
20060109938 | Challa et al. | May 2006 | A1 |
20070189402 | Yang | Aug 2007 | A1 |
20080019422 | Smith et al. | Jan 2008 | A1 |
20080027720 | Kondo et al. | Jan 2008 | A1 |
20080316076 | Dent et al. | Dec 2008 | A1 |
20090116576 | Dowling | May 2009 | A1 |
20090164542 | Wu et al. | Jun 2009 | A1 |
20090225899 | Dent | Sep 2009 | A1 |
20100158051 | Hadzic et al. | Jun 2010 | A1 |
20100273427 | Mergen et al. | Oct 2010 | A1 |
20100316112 | Huang et al. | Dec 2010 | A1 |
20110007907 | Park et al. | Jan 2011 | A1 |
20110019724 | Agazzi | Jan 2011 | A1 |
20110096824 | Agazzi et al. | Apr 2011 | A1 |
20120087406 | Lim et al. | Apr 2012 | A1 |
20120106614 | Kim et al. | May 2012 | A1 |
20120188994 | Palanki et al. | Jul 2012 | A1 |
20140016626 | Dai et al. | Jan 2014 | A1 |
20140064417 | Azadet | Mar 2014 | A1 |
20140086367 | Azadet et al. | Mar 2014 | A1 |
Entry |
---|
Gopalan et al., “An Optimization Approach to Single-Bit Quantization”, IEEE Transactions on Circuits and Systems—I: Regular Papers, vol. 56, No. 12, Dec. 2009, pp. 2655-2668. |
Venkataraman et al., “An All-Digital Transmitter with a 1-Bit DAC”, IEEE Transactions on Communications, vol. 55, No. 10, Oct. 2007, pp. 1951-1962. |
International Preliminary Report on Patentability for PCT Patent Application No. PCT/US12/62175, mailed Apr. 29, 2014. |
International Search Report for PCT Patent Application No. PCT/US12/62175, mailed Mar. 20, 2013. |
International Written Opinion for PCT Patent Application No. PCT/US12/62175, mailed Apr. 27, 2014. |
Non-Final Office Action, mailed Nov. 17, 2014, for U.S. Appl. No. 14/090,555. |
Notice of Allowance, mailed Aug. 1, 2015, for U.S. Appl. No. 14/090,555. |
Number | Date | Country | |
---|---|---|---|
20160072647 A1 | Mar 2016 | US |
Number | Date | Country | |
---|---|---|---|
61552242 | Oct 2011 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 14090555 | Nov 2013 | US |
Child | 14944184 | US |
Number | Date | Country | |
---|---|---|---|
Parent | PCT/US2012/062175 | Oct 2012 | US |
Child | 14090555 | US |