Embodiments of the invention provide techniques for identifying OFDM symbol boundaries. For example, a receiver is configured to apply spectral analysis and circular Fourier transforms to identify symbol boundaries. A guard portion of a symbol is replaced with an end portion of symbol data equal in length to the guard portion. Spectral analysis of frequency-domain channel response is applied to determine a power spectrum of a channel and the power spectrum is analyzed, e.g., for an energy maximum, to determine a preferred location of a channel power window for applying a Fourier transform to determine symbol data. Other embodiments are within the scope of the invention.
Referring to
The transmitter 12 includes an information source 16, an encoder 18, a modulator 20, a carrier oscillator 22, an inverse fast Fourier transform (IFFT) module 24, a prefix module 25, and an interface 27. The information source 16 provides information such as television signals, video, audio, or data (e.g., Internet communications). The encoder 18 is connected to the source 16 and the modulator 20 and is configured to encode information from the source and provide the encoded information to the modulator 20. The modulator 20 is connected to the oscillator 22 and the IFFT module 24 and is configured to use carrier frequency signals from the oscillator 22 to modulate the encoded information from the encoder 18 and provide the modulated information to the IFFT module 24. The IFFT module 24 is configured to convert the modulated signal to time domain and send the encoded, modulated information from the modulator 20 toward the prefix module 25. The prefix module is configured to alter symbols received from the IFFT module 24 and to provide the modified symbols to the interface 27. The interface 27 may be an antenna for terrestrial transmitters, or cable interface for a cable transmitter, etc.
Referring also to
The receiver 14 is configured to receive information from the transmitter 12 and process the received information to provide the information in a desired format, e.g., as video, audio, data. The receiver 14 includes an interface 26, a tuner 28, an analog-to-digital converter (ADC) 30, an FFT module 32, an equalizer 34, a frame synchronization module 36, and a decoder 38. Portions of the receiver, e.g., the devices 32, 34, 36, 38 may be implemented as algorithms executed by a controller, e.g., a microcontroller/microprocessor, is configured to read software code instructions stored in memory and to perform operations, as described herein, in accordance with those instructions. The receiver 14 is preferably implemented using a semiconductor integrated circuit chip including appropriate circuitry.
The interface 26, the tuner 28, and the ADC 30 are configured to pre-process the incoming signal for conversion to frequency domain, removal of channel effects, and decoding of symbol data in the incoming signal. The interface 26 is configured to receive information over the communication medium 13 (e.g., a cable, wireless transmission medium, etc.) from the transmitter 12 and to provide the received information to the tuner 28. The tuner 28 is configured to remove the carrier frequencies from the incoming signal and provide the resulting signal to the ADC 30. The ADC 30 is configured to convert the analog signals received from the tuner 28 into digital equivalents and provide these to the FFT module 32.
The FFT module 32 is configured to convert received signals to the frequency domain by applying an FFT to frames of the incoming signals. The FFT module 32 performs an FFT on the signal from the ADC 30 in sets of symbol durations. The FFT module 32 is configured to receive indicia from the frame synchronization module 36 to determine where in time to begin to apply the FFT of duration ts, i.e., the known duration of symbol data, and to provide the frequency-domain signals to the equalizer 34. The equalizer 34 is configured to use known techniques to determine estimates of a transfer function of the channel 13 and provide these estimates to the frame synchronization module 36. The equalizer 34 is further configured to compensate for distortion and noise in the information passed to the equalizer 34 and to determine and pass estimates of the transmitted symbols to the decoder 38. The decoder 38 is configured to decode the symbol estimates to recover original information encoded by the transmitter 12 prior to transmission, and to render the information in an appropriate format as the signal 39.
The frame synchronization module 36 is configured to process information provided by the equalizer 34 to determine a relative position in time in the signal coming in to the FFT module 32 to begin applying the FFT for the symbol data duration ts. The module 36 is configured to initially select a starting point for the FFT and then determine an adjustment to the selected starting point in accordance with the following discussion. The received signal in an OFDM receiver may be represented as follows:
y=h*x+n (1)
where y is the received signal, h is the channel response, x is the transmitted signal and n is additive white Gaussian noise (AWGN), and * denotes convolution. At the equalizer 34, using standard techniques for OFDM, the received signal may be represented in the frequency domain as follows:
Y=HX+N (2)
where H is a diagonal matrix if the length of the channel 13 in the time domain is bounded by the length tg of the guard interval for the cyclic prefix. Assuming that the transmitted signal X is approximately white, the power spectrum of Y can be interpreted as the channel power profile if the noise N is relatively low. Ignoring, for the moment, the noise N, the power spectrum of HX can be computed from Y in a manner that provides immunity to noise (via averaging, for example). The frame synchronization module 36 is configured to determine C, the power spectrum of Y. The module 36 can determine the power spectrum C using various techniques. Currently-known techniques that could be employed by the module 36 to determine C include:
where Ns and Ng denote the symbol and guard lengths respectively. The estimate can be used to perform frame synchronization and can be used either directly or with a bias to decrease its variance. The frame synchronization module 36 is configured to provide an indication to the FFT module 32 of an appropriate adjustment, if any, to the relative starting time of the FFT performed by the FFT module 32. The module 32 can adjust its FFT window in accordance with the adjustment indicated by the frame synchronization module 36.
In operation, referring to
At stage 112, the prefix module 25 alters the prefix of the symbol 40 to produce the modified symbol 50. Information is provided by the source 16, encoded by the encoder 18, modulated by the modulator 20 using signals from the carrier oscillator 22, inverse Fourier transformed by the module 24, and provided to the prefix module 25. The prefix module 25 determines the last pieces 46 of the symbol 40 of length equal to the cyclic prefix length of the symbol 40. The module 25 writes to the cyclic prefix 42 of the symbol 40 with the end portion 48 to form the modified symbol 50. The modified symbol 50 is sent to the receiver 14 via the interface 27, the channel 13, and the interface 26.
At stage 114, the transmitted signals from the transmitter 12 are received and processed by the receiver 14. The signals are tuned by the tuner 28, converted from analog to digital by the ADC 30, Fourier transformed by the FFT module 32, noise and distortion compensated by the equalizer 34, and decoded by the decoder 38.
In conjunction with stage 114, at stage 116, the frame synchronization module 36 determines FFT window adjustments. The module 36 determines whether and how much to adjust a window used by the FFT module 32 to apply a Fourier transform to received signals for determining incoming symbol data. The module 36 determines these adjustments in accordance with a process described with respect to
In operation, referring to
At stage 122, a start time for performing a Fourier transform on a signal received by the FFT module 32 is selected. If this is the first performance of the process 120, then the start time is an initial start time. The frame synchronization module 36 chooses an initial start time tk for taking an FFT of the incoming signal. This initial start time can be chosen using various techniques known in the art such as maximum correlation, maximum likelihood, or minimum mean square estimation (MMSE) (see S. H. Muller-Weinfurtner, “On the optimality of metrics for coarse frame synchronization in OFDM: A comparison,” in Proc. Int. Symp. Personal, Indoor and Mobile Radio Communications Boston, Mass., vol. 2, 1998, pp. 533-537.). If a start time has previously been chosen, then the currently-chosen start time can be the same as the previously-chosen time or a new start time. The frame synch module 36 instructs the FFT module 32 to use the chosen time, and the FFT module 32 takes the FFT of the incoming signal, starting from the chosen time and extending for a window of time equal to ts, the duration of the symbol data portion 44, i.e., from tk until tk+ts.
At stage 124, the equalizer 34 determines the transfer function of the channel 13. The equalizer 34 uses the Fourier-transformed information from the FFT module 32 to determine the channel response in the frequency domain using known techniques (e.g., using pilot signals in the received signal). The equalizer 34 provides the channel transfer function to the frame synchronization module 36.
At stage 125, the frame synchronization module 36 estimates the power spectrum of the incoming signal. Knowing the channel transfer function, tg, and ts, the frame synch module 36 applies spectral analysis (e.g., any of the spectral analysis techniques noted above) in the frequency domain to determine the power spectrum of the received signal Y in the frequency domain.
At stage 126, the frame synch module 36 removes noise from the power spectrum. The module 36 uses a known signal-to-noise ratio (SNR) to compute the FFT of a noise power estimate and removes the noise from each component of the computed power spectrum by subtracting the noise power estimate from the power spectrum.
At stage 128, the frame synch module 36 smoothes the computed power spectrum of the incoming signal. If noise is undesirably high, and the estimate of the channel power spectrum is poorer than desired (e.g., if a signal-to-noise ratio exceeds an application-specific threshold), then the module 36 will average the power spectrum C by replacing a value of a selected sample with the average of the selected sample and surrounding samples (e.g., two samples on either side of the selected sample). Alternatively, the module 36 may apply median filtering to replace a sample with the median of that sample and surrounding samples, or may apply other known techniques. Further, the module 36 regularizes the power spectrum C if the low-power portion of the spectrum is undesirable while the higher-power portion of the spectrum is acceptably high. The module 36 regularizes the spectrum, for example, by dividing the power spectrum by 1+the lowest sample value in the power spectrum C. This weights the power spectrum C, with less weight being given to low power parts and more weight to high power parts.
At stage 130, the frame synchronization module 36 multiplies the power spectrum C by an averaging filter. The module 36 takes the FFT of an averaging filter, e.g., a set of 1's of length tg, and multiplies this by the power spectrum C.
At stage 132, the module 32 obtains the channel power profile. The module 32 takes the inverse FFT of the power spectrum as averaged, smoothed, regularized, and filtered in stages 126, 128, and 130.
At stage 134, the frame synch module 36 determines an adjustment in the timing of the FFT window used by the FFT module 32. The module 36 determines a desirable energy sample, preferably an energy sample extrema (maximum or minimum). Preferably, the module 36 selects the sample having the highest energy using equation (3) above. The module 36 determines an offset between the sample number of the sample with the extreme, preferably highest, energy level and the sample number of the sample currently (be it initially or lastly/most recently) indicated by the frame synch module 36 to the FFT module 32 to use as the starting position for applying an FFT. This offset can be indicated directly by the sample number determined as the extreme-energy-level sample as the currently-indicated sample is used as a baseline for determining the location of the extreme-energy-level sample. The frame synch module 36 sends an indication of the offset to the FFT module 32 such that the FFT module 32 can alter, at stage 122, the starting position of the next application of the FFT (either forward or backward in time relative to the currently-indicated sample position) in accordance with the offset/adjustment indicated by the module 36.
The process 120 can be repeated to compensate for movement in a desired location in time of the window to be used for the FFT. The process 120 returns to stage 122 and the frame synch module 36 can repeatedly (e.g., periodically) determine the sample location with an energy extreme and indicate to the FFT module 32 to adjust its FFT starting sample as appropriate to a new current sample position.
The processes 110, 120 shown in
The Standard technique is described in M. Speth, S. A. Fechtel, G. Fock and H. Meyr, Optimum receiver design for wireless broad-band systems using OFDM—Part I, IEEE Transactions on Communications, pp 1668-1677, Vol. 47, No. 11, November 1999, and the Palin/Rinne technique is described in A. Palin and J. Rinne, Enhanced symbol synchronization method for OFDM system in SFN channels, Proc. IEEE GLOBECOM'98, pp. 2788-2793, November 1998. Also, the 128 samples for accuracy for the Palin/Rinne technique is a representative value as the Palin/Rinne technique varies significantly in the presence of multi-path Doppler.
Other embodiments are within the scope and spirit of the invention. For example, due to the nature of software, functions described above can be implemented using software, hardware, firmware, hardwiring, or combinations of any of these. Features implementing functions may also be physically located at various positions, including being distributed such that portions of functions are implemented at different physical locations. Further, the equalizer 34, instead of the frame synch module 36, may determine the power spectrum of the incoming signal, or the equalizer 34 and the module 36 may combine to determine the power spectrum. Also, the sample offset may be determined based on a sample with an energy level meeting one or more criteria that may or may not include being a maximum relative energy level compared to energy levels of other samples.
While the invention has been described in the context of the broadcast of digital television, the invention can be used in other mobile or wireless channels such as cellular communication, satellite communication, satellite radio broadcast, terrestrial radio broadcast, wireless networking (e.g., WiFi), multi-carrier CDMA communications systems, etc.
Further, while the description above refers to the invention, the description may include more than one invention.