These teachings relate generally to timing and phase recovery for a multiple-input multiple-output (MlIMO) communication system such as a wired or wireless system using complex baseband signals having at least two orthogonal (e.g., in-phase and quadrature) channels. It is particularly directed to timing recovery at very low signal to noise ratios, such as may be encountered with iterative coding and decoding (Turbo coding) schemes.
In a typical digital communication system, a receiver samples a transmitted analog signal using a predetermined sampling clock to convert the sampled analog signal to a digital signal. Some systems synchronize the received signal to the transmitted signal by including timing and phase information within the data stream, which the receiver uses directly. More sophisticated digital processing enables the receiver to determine phase and timing from characteristics of the received data stream itself, when the transmitter does not explicitly include separate time and phase information in a transmission. This technique is referred to as timing and phase recovery, which saves bandwidth by eliminating the recurring need to transmit timing and phase data.
However, the circuit shown in
Another disadvantage of the circuit of
The foregoing and other problems are overcome, and other advantages are realized, in accordance with the presently preferred embodiments of these teachings. In accordance with one aspect of the present invention is a receiver for performing timing recovery at low signal to noise ratio SNR (signal power to noise power, in dB). The term SNR is used in general to indicate any measure of signal power to noise power, and specifically includes the ratio of symbol or bit energy to noise power spectral density Eb/N0. The receiver includes at least one antenna for receiving a signal vector over at least one complex communication channel. In a wireless system, each complex communication channel is preferably defined by one in-phase signal and one quadrature offset signal. Most preferably, the channels are sub-channels of a digital communication system using code division multiple access (CDMA). The antenna receives the signal and outputs it to an analog-to-digital converter (ADC) for sampling the received signal vector at a fixed rate. A fixed rate indicates that the local clock of the receiver 20 is not adjusted. The receiver also includes an interpolation filter having an input coupled to an output of the ADC. Preferably, the interpolation filter is a fractional interpolation filter for precise timing control that adjusts the pulse shape and not the receiver local clock. The receiver further includes a matched filter and a timing correction loop. The matched filter has an input coupled to an output of the interpolation filter, and provides a sample with a maximized SNR ratio. The timing correction loop providing feedback from the matched filter to the interpolation filter, and operates to determine a minimum mean square error from the output of the matched filter and comprising a filter weight block having an output of one-bit filter weights coupled to an input of the matched filter.
Preferably, the timing correction loop includes a magnitude detector coupled to the output of the matched filter, a moving average (MA) filter coupled to the output of the magnitude detector, and a timing error detector coupled to the output of the MA filter. The timing error detector provides a timing signal to the interpolation filter so that re-sampling may be taken at, preferably, the instant of maximum SNR.
Preferably, the receiver also includes a phase correction loop that provides feedback from the matched filter to a phase rotator. The phase rotator is disposed between the ADC and the interpolation filter, so that timing corrections are applied to a signal adjusted for any phase correction factor. Preferably, the phase correction loop includes a channel estimator that uses a maximum likelihood estimator to determine each channel from the output of the matched filter, and further includes a phase error detector that computes an arctangent of a phase angle output from the channel estimator to provide a phase correction factor to the phase rotator.
The present invention also includes a method of providing timing recovery in a receiver. The method includes receiving a vector of signals over at least one complex channel, sampling the vector of signals at a sampling time Ts, re-sampling the vector of signals at a time that optimizes SNR without adjusting a local clock of the receiver, and filtering the re-sampled vector of signals with a matched filter controlled by one-bit filter weights. Preferably, timing and phase correction feedback loops each receive an identical input coupled to an output of the matched filter.
The foregoing and other aspects of these teachings are made more evident in the following Detailed Description of the Preferred Embodiments, when read in conjunction with the attached Drawing Figures, wherein:
a-6b are graphs of matched filter frequency response before re-sampling (6a) and after re-sampling (6b).
An oscillator at the transmitter 10 generates a sinusoidal carrier signal at carrier frequency. Due to oscillator drift, the actual frequency of the carrier will deviate slightly from an ideal value. This carrier is multiplied by the data to modulate the signal up to a passband center frequency. At the receiver, the passband signal is multiplied by a sinusoid generated by the local oscillator. Ideally, the frequency of the local oscillator exactly matches the frequency of the oscillator used at the transmitter 10. In practice, the oscillator frequencies differ, so instead of demodulation bringing the signal to baseband, the demodulated signal exhibits some frequency offset from baseband. The presence of this frequency offset generally causes the received signal constellation to rotate. This rotation effect must be removed before accurate symbol decisions can be made.
Two quantities should be determined by the receiver 20 to achieve symbol synchronization: sampling frequency and sampling phase. Locking the sampling frequency entails estimating the symbol period so that samples can be taken at the correct rate. Although this quantity should be known (e.g., the system's symbol rate is specified to be 20 MHz), oscillator drift will introduce deviations from the stated symbol rate. Locking the sampling phase involves determining the correct time within a symbol period to take a sample. Symbol pulse shapes define a peak in the center of the symbol period. Sampling the symbol precisely at this peak maximizes the symbol (or bit) energy to noise power spectral density (generally, signal to noise ratio or SNR). Maximizing SNR allows effects from other nearby signals, known as inter-symbol interference (ISI), to be minimized.
ADC BANK (21). Analog to digital converters (ADC) are known in the art and need not be discussed in detail here other than to note that alternate embodiments of the present invention may use any suitable type of ADC. For example, the ADC Bank 21 may use ADC architectures such as successive approximation register (SAR), dual-slope, sigma-delta, flash, and/or semi-flash and pipeline ADCs. The ADC bank 21 receives an analog input signal y(t) and samples it at time intervals Ts. The output of the ADC 21 is then a series of discrete samples y(kTs) of the analog input waveform, wherein k is an index representing the kth sample. The ADC bank 21 is a plurality of ADCs, each converting the signal from one sub-channel (one element of the vector
PHASE ROTATOR (22). The phase rotator 22 shifts the phase of the digital signals output from the ADC 21 in accordance with a correction factor input to the phase rotator from a phase loop 27. Conceptually, the phase rotator 22 rotates the symbol constellation to a precise orientation to remove a source of error that would otherwise accrue to symbol decisions made later within the receiver 20. Various phase rotators are known in the art. A simple embodiment that rotates a signal vector in increments of π/2 is a pair of four-to-one selectors in parallel with each other, wherein the four inputs to each selector are the inverted and non-inverted in-phase (I) and quadrature (Q) samples from an ADC. The phase rotator 22 serves to eliminate Doppler shifts in the sampled signal that may result from the I and Q components of the carrier wave or from multiple transmit and/or receive antennas. The output of the phase rotator 22 is the same as the input, y(kTs), but with a phase adjusted by a phase error value determined by the phase loop 27. To the extent that the phase error is accurate, the output of the phase rotator precisely matches that of the transmitted signal. The phase rotator 22 of the present invention multiplies each sample y(kTs) input from the ADC 21 by e−jθ(k) to digitally shift the phase of the kth data sample. The phase θ(k) is corrected for phase error.
RESAMPLER BANK (23). The resampler 23 generates samples at times between those actually sampled by the A/D (i.e., it interpolates). By generating these intermediate samples as needed, the interpolator can provide a sample at any precise time, regardless of discrepancies between the transmit and receive clocks. Precise timing is important to minimize decision errors by maximizing the SNR ratio. The actual samples from the ADC 21 are spaced in time by the interval Ts. However, the exact instant of maximum difference between signal energy and noise may occur at Ts+τ, wherein 0<τ<Ts. Interpolation provides the receiver 20 with an ideal sample exactly at Ts+τ without slowing the data rate through the ADC 21. Preferably, the resampler 23 moves the pulse shape of the signal to maximize SNR, rather than adjusting the local clock of the receiver 20 to strobe at the precise time. This is an important aspect of the invention as the local clock in the receiver (which is exhibited by the samples input to the interpolator 23) is asynchronous to the clock in the transmitter (which is exhibited by the point of maximum SNR in the received signal). The present invention interpolates to the point of maximum SNR without adjusting the local clock, despite the fact that the value for the timing error τ from the actual data sample Ts may change from symbol to symbol.
Interpolation in the time domain can be accomplished by inserting zeros in the frequency domain between the actual data samples, mathematically calculating what the value of those added samples should be based on nearby actual samples, and filtering out aliased samples at either or both ends of the spectrum. Typically, a discrete Fourier transform is used to calculate the values of interpolated samples, and the resulting signal is a smoothed version of the original. The interpolated samples may be integer multiples of the sample interval Ts as in the short explanation above, or may lie anywhere between the actual samples in the case of a fractional interpolator. The key to selecting precisely the best sample is the value of the timing error τ. For that reason, the preferred embodiment of the present invention includes a fractional interpolator for resampling. The timing error is input into the resampler 23 from the timing loop 26, detailed below. To the extent that the determined or estimated timing error is accurate, the output of the interpolator 23 is a series of idealized samples that minimize decision errors due to noise. That is, the interpolated samples are at the point of maximum SNR.
SYMBOL MATCHED FILTER BANK (24). The receiver 20 estimates the transmitted signal by using a technique known as matched filtering. The output of a matched filter generally does not ‘look’ like the input (when plotted as a waveform). A matched filter output generally yields a larger gap between signal peak and noise than other linear filters. As is known in the art, a receiver 20 employing such a technique filters the signal samples y(kTs) with a filter whose shape is “matched” to the pulse shape of the transmitted signal. The output of the matched filter 24 is then sampled at time T. The pulse shape of the matched filter output is a time-reversed version of the transmitted pulse shape. Such processing has two advantages. First, typical pulse shapes have a low-pass response. By filtering the received signal that way, the frequencies containing the data signal are passed while the remaining frequencies are attenuated, limiting the amount of the noise spectrum that is passed on. Second, the matched filter correlates the received signal y(t) with the transmit pulse shape over the symbol period T. Matched filter processing results in a correlation gain by integrating the received signal energy while averaging out additive white Gaussian noise (AWGN).
The output
MAGNITUDE DETECTOR (26c). The magnitude detector 26c takes the output
MOVING AVERAGE FILTER (26b). The moving average filter 26b serves to smooth short-lived instantaneous changes in the fractional component μ by collecting several values and outputting their mean, median, mode, or other mathematical characteristic of the group. The moving average filter 26b operates by averaging a number of points input from the magnitude detector 26c to produce each output to the timing error detector 26a. In general, moving average filters are optimized for the time domain, where they reduce random noise, retain a sharp step response, and are faster than Gaussian or Blackman filters. They are therefore appropriate for the timing loop 26 of the present invention. The moving average filter 26b is preferably an infinite impulse response (IIR) filter having a single forward tap and a single backward tap. While moving average (MA) filters are known in the art in numerous embodiments, the specific operation, and tap responses, for the preferred moving average filter 26b are detailed below.
TIMING ERROR DETECTOR (26a). The timing error detector 26a receives the mean fractional delay from the MA filter 26b, which changes over time as the fractional delay μ output from the magnitude detector 26c changes. The timing error detector 26a calculates one of a maximum, a median, or a mode of several means from the MA filter 26b, depending upon the channel, and outputs a time to the re-sampler 23 that is a combination of the integer component m and the fractional component μ of the timing signal. The resampler 23 then interpolates a sample at the precise time determined by the timing error detector 26a, that ideally matches the time nT from the transmitter. Preferably, the timing error detector operates to move the pulse shape at the resampler bank 23 rather than adjusting the local clock in the receiver 20.
ADDRESS GENERATOR (26d). Preferably, the timing loop 26 includes an address generator 26d disposed between the timing error detector 26a and the interpolator 23. The address generator 26d takes an input from the timing error generator 26a to determine an address of a lookup table, and the timing offset associated with that particular address is output to the interpolator 23. The transfer function that the address generator 23d uses is loaded in RAM and may be determined either a priori or adaptively. This allows a very complex error detector and adaptive control scheme without the delays normally associated with such intense calculations.
STROBE GENERATOR (26e). The strobe generator 26e has an input coupled to the output of the timing error detector 26a and produces a data strobe at a time determined by the timing error detector 26a. Strobe generators are known in the art and are not further detailed.
FILTER WEIGHT BLOCK (26f). When the modulation of the received signal is spread spectrum, or when the waveform is using square pulse shaping, the coefficients for the symbol matched filter 24 are
where N is the number of samples per symbol. For the case of a direct spread-spectrum signal, the αi's are pseudo-random ±1. For the case of a square/rectangular pulse shaping, the αi's are all +1. When N is much greater than one, even a shaped pulse can be approximated by one-bit weights at a minimal cost of SNR. The implementation of the re-saplinhg filter compensates for the pulse-shaping such that the implementation loss due to the one-bit weights in minimized when the number of samples per symbol N is between two and ten.
CHANNEL ESTIMATOR (27b). The channel is the frequencyband through which data flow. For a communication system with more than one transmit and/or receive antenna, the data flows over numerous sub-channels defined by the pairing of each transmit to each receive antenna, wherein each sub-channel is a portion of the main channel. In a MIMO system, the channel estimator 27B determines the frequency band of each sub-channel. In a system with one transmitter and one receiver antenna, the channel estimator 27b determines the frequency band of the single channel. As noted in the background section above, information regarding frequency and timing are not explicitly transmitted. The channel estimator 27b cannot know for certain the true parameters of the channel or sub-channel, and as its name implies, it must estimate them. The channel estimator 27b does this through a mathematical algorithm, preferably a maximum likelihood algorithm as detailed below, though other algorithms may be suited to particular applications.
PHASE ERROR DETECTOR (27a). As is known in the art, the coherent reception of a quadrature-modulated signal requires the demodulation circuit 20 to unambiguously determine the transmitted signal phase. The phase as observed by the phase rotator 22 is determined from orthogonal components of the in-phase (I) signal and the quadrature-phase (Q) signal received from the ADC 21. The phase recovery is may be done in two steps: a sub-quadrature phase error resolution step and then a quadrature error phase resolution step. Sub-quadrature phase error may result from mismatches between the transmitter and the receiver components, e.g., clocks or oscillators, relative platform motion, and environmental conditions along the signal path. The sub-quadrature phase error is determined by phase loop 27 generating a phase error determined by an output of the matched filter 24. The phase rotator 22 uses the phase error to rotate the phase of the I-Q signals received from ADC 21. The phase loop 27 is iteratively repeated to minimize the phase error to provide sub-quadrature phase resolution. A preferred approach for generating a phase error is to perform, or approximate, an arctangent operation on the phase angle that is output from a maximum likelihood channel estimator (
TIMING LOOP 26 OPERATION. The following discussion presumes a MIMO system for which the present invention is most useful, but is equally applicable to a system bearing one transmit and one receive antenna. The overall concept of the timing loop is to digitally resaample the output of the ADC 21 such that the ratio of average Eb/N0 is maximized at the output of the matched filter 24, even when the SNR is very low. For the following equations, n and k are time indexes, Trepresents time from the transmit clock, Ts represents sample time determined by the receiver clock, each of the t transmit antennas is identified by the index i=1, 2, . . . t, and each of the r receive antennas is identified by the index j=1, 2, . . . r. The received waveform vector after the ADC 21 samples the array of j receive antennas at time instants kTs is given by:
wherein
In general, the ideal SNR is maximized when the output z(t) of a linear filter matched to the overall channel response H is sampled at time instants nT:
The value nT is not known at the receiver and typically T/Ts is a rational number due to oscillator uncertainty and drift. The function of timing recovery in the timing loop 26 is to provide samples synchronous to nT using samples defined by kTs:
This is shown graphically at
However, the receiver does not know the value T from the transmitter. Defining the fractional part of the timing error as μ(x)=x−└x┘, and decomposing the ideal sampling times into an integer and a fractional part yields:
The resampling parameter can then be computed from τopt as:
mn=└τopt┘,μn=mn−τopt (7)
wherein mn is the integer delay that identifies the correct sampling point to within ±½Ts, and μn resolves the remaining timing error.
The required response from the matched filter 24 can be factored into two filters according to the Nyquist sampling theorem, one for pulse shaping and one for interpolating. Mathematical manipulation yields:
which is r(kTs) filtered by hI(n) and then again filtered by p(n). The term hI(n) represents the transfer function from the interpolation filter. Rewriting as zn=p[hI(rk,mn,μn)] wherein hI(rk,mn,μn) is a time-varying filter operating on the samples r(kTs) shows that:
are the necessary parameters to produce samples synchronous to time instants nT using data sampled at time instants τoptTs, where
The maximum-likelihood estimation of sample times is derived by noting that the signal power out of the matched filter 24 is maximized when the following relation is true:
τoptT=(n−k)Ts+μnTs=(n−k)T (11)
Since the operation of the matched filter 24 maximizes Eb/N0 over the interval [−T/2, +T/2], then:
μarg minE{∥nT−kTs+μTs∥}=μarg maxE{∥z(nT−kTs+μTs)∥} (12)
The “arg max” function represents detecting the sampling point where the matched filter 24 output is maximized, so the error function can be quantified:
τerrTs=μref−(μTs−kTs)=kTs+μref−μTs=kTs+{circumflex over (τ)}Ts (13)
where μref is usually defined so that the maximum amount of energy is centered in the digital matched filter 24. Since the matched filter 24 operation maximizes Eb/N0 at the desired sampling points, the maximum-likelihood estimate of the timing error is the minimum mean square error (MMSE) estimator based on maximizing the Eb/N0 at the matched filter 24 output:
τopt=τarg maxE{|z(τerrTs)|2}=τarg maxE{|z(kTs+τTs)2} (14)
The “arg max” function is determined by performing the maximum, median or mode (depending upon the type of channel) in the timing error detector 26a of the moving average filter 24b output, and driving the error function based upon centering the energy in the filter 24b. As the estimate {circumflex over (τ)} converges, the re-sampled data has a spectral bandwidth that satisfies:
Results of frequency response of the matched filter 24 output are depicted graphically at
The expected value operation is estimated using a moving average filter 26b with response for each FIR tap:
which computes for tap index p:
The response of the moving filter 26b implemented as above, at Eb/N0=−2.1 dB, is shown for a spread spectrum system at
PHASE LOOP 27 OPERATION. Like the description of the timing loop 26, the following discussion presumes a MIMO system for which the present invention is most useful. The magnitude and phase of a wireless MIMO channel are found by applying standard results of linear extraction theory. For example, in a system with two transmit antennas and two receive antennas, estimated parameters are used to compute estimated pair-wise error probability and capacity for a given channel classification. An eigenvalue analysis suggested by the commonly referred “water filling” solution to Shannon's Capacity theorem for MIMO systems is a preferred approach. Sharnnon's Capacity Theorem for N independent channels is:
wherein σ2 is signal variance and P is signal power. The channel, which for a MIMO system can be written as a matrix of sub-channels, is estimated by finding the best linear unbiased estimate (commonly known as BLUE) when known orthogonal data sequences, such as Walsh-Haddamard codes, are transmitted from each antenna element.
The space-time codewords are defined in terms of a txn matrix, where t is the total number of transmit antennas (number of rows in the matrix) and n is the block length of the codeword (number of columns). Setting Ā as a matrix related to the transmission of the jth column of the space-time codeword
Channel estimation is simplified if the sub-channels of a MIMO system exhibit flat-fading as opposed to frequency-selective fading. Flat fading occurs when the channel delay spread is less than one symbol interval so that the received signal is Rayleigh distributed in magnitude and randomly distributed in phase. Orthogonal frequency division multiplexing (OFDM) is one known modulation technique wherein, by design, sub-channels of a MIMO system are subject to flat fading. Assuming flat fading, let
{tilde over (X)}=
and describes the transmitter output sequences as a multichannel signal with each channel (each transmit element or antenna output) represented by the rows of {tilde over (X)}. The sampled multichannel output for the jth transmitted column of the matrix codeword C is then the r×Nc matrix {tilde over (Y)}, wherein:
{tilde over (Y)}=
For the linear data model for {tilde over (Y)}, the BLUE for estimating
Ĥ={tilde over (Y)}{tilde over (X)}*({tilde over (X)}{tilde over (X)}*)−1 (21)
wherein {tilde over (X)} is determined by the space-time code, pulse shaping and signature sequence coefficients, antenna array parameters, and the Eb/N0.
If the transmitted spreading or pulse-shaping codes are orthogonal at the receiver and each is transmitted with equal power, Ā*Ā is diagonal, and the estimator of equation (21) can be reduced to scaling the output of rt correlation estimators:
The term {tilde over (Y)}Ā represents the bank of matched filters 24. Multiplication by Ĉj* represents removing the data modulation with a training/signature sequence or the current symbol estimate. The value r{tilde over (x)}{tilde over (x)}(0) is the autocorrelation value at 0 for the rows of {tilde over (X)}. Eb/N0 estimation is preferably used to determine this value.
The overall response may be factored into separate matrices, so that channel estimation and space-time codeword element matched filter 24 operations may be combined as indicated in
The minimum achievable mean squared estimation error for each element of the estimated channel matrix when ĀĀ* is diagonal is given by:
This represents the MSE of a single symbol. Averaging over multiple symbols makes the MSE:
where Navg is the number of symbols over which the average is performed. Given ideal timing recovery and no channel estimation (i.e., a “non-coherent” matched filter), the output of the matched filter bank is the linear MIMO system model used to derive the capacity equation:
where
Waveform distortions could be mitigated by replacing the all one's vector with the original coefficient vector (or matrix) determined by the algorithm of choice. Theoretically, any effect of the channel
While described in the context of presently preferred embodiments, those skilled in the art should appreciate that various modifications of and alterations to the foregoing embodiments can be made, and that all such modifications and alterations remain within the scope of this invention. Examples herein are stipulated as illustrative and not exhaustive.
Number | Name | Date | Kind |
---|---|---|---|
5369668 | Yamamoto | Nov 1994 | A |
5400368 | Cheng et al. | Mar 1995 | A |
5493307 | Tsujimoto | Feb 1996 | A |
5504785 | Becker et al. | Apr 1996 | A |
5724396 | Claydon et al. | Mar 1998 | A |
6055284 | Kweon | Apr 2000 | A |
6560299 | Strolle et al. | May 2003 | B1 |
7180963 | Wang et al. | Feb 2007 | B2 |
20030179838 | Hamon | Sep 2003 | A1 |
20050069025 | Kimura | Mar 2005 | A1 |
20050238124 | Becker et al. | Oct 2005 | A1 |
20060002689 | Yang et al. | Jan 2006 | A1 |