This application is for entry into the U.S. national phase under §371 for International Application No. PCT/EP03/07750 having an international filing date of Jul. 16, 2003, and from which priority is claimed under all applicable sections of Title 35 of the United States Code including, but not limited to, Sections 120, 363 and 365(c), and which in turn claims priority under 35 USC §119 to European Patent Application 02090257.3 filed on Jul. 16, 2002.
The present invention concerns a method for the detection of the reception of a data frame in an input signal, said data frame comprising periodically repeated symbols at the beginning. It further concerns a frame detector, a synchronizing method, and a synchronizer device.
The IEEE 802.11a standard makes use of the Orthogonal Frequency Division Multiplex (OFDM) transmission scheme. The main feature of the OFDM scheme is that the information stream is not transmitted into a single carrier, but is divided into several sub-carriers, each transmitting at a much lower rate.
Furthermore, all these sub-carriers are orthogonal, i.e., they overlap their spectra, but do not cause mutual interference.
The fact that the different sub-carriers overlap their spectra makes one of the main operations at the receiver especially difficult: synchronization. In a receiver, the synchronizer is the block responsible for detecting the incoming frame and for estimating and correcting possible frequency offsets. The synchronization process is also responsible for providing a reference channel estimation to the channel estimation block. It further decides the starting point from which on the different OFDM symbols will be fed into the FFT block. The correct reception of OFDM signals is very sensitive to the synchronizer performance.
In the OFDM transmissions considered here, the information is not transmitted continuously, but in bursts. Each burst contains a single frame, which is a compound of different OFDM symbols.
In an OFDM transmission each data packet consists of a preamble and a data carrying part The preamble symbols are placed at the very beginning of each frame during transmission. The preamble consists of 10 “short” identical known OFDM symbols concatenated with 2 “long” identical and known OFDM symbols. The preamble symbols have a very specific periodic structure in the standard IEEE 802.11a to simplify synchronization. The data carrying part consists of a variable number of OFDM symbols, where each OFDM symbol contains useful information plus some known pilot sub-carriers, which are typically used for phase tracking.
Synchronization comprises the following operations: Frame detection, carrier frequency offset determination, symbol timing estimation, extraction of the reference channel, and data reordering. The synchronization process is data-aided, i.e., based on the digital processing of the preamble symbols.
During reception, the synchronizer has to peer at the channel in order to detect an incoming packet or frame. Frame detection in a receiver is an especially difficult task because there is no time raster that governs the transmission of the frames. In other words, the receiver does not know when to expect an incoming frame. The object of frame detection is to determine the symbol boundary so that correct samples for a frame can be taken. A major problem in the use of OFDM is therefore the determination of the time instant, at which the receiver starts sampling a new frame. A mismatch in the determination of this parameter would introduce a phase error causing intercarrier interference (ICI).
A method for frame detection in an OFDM signal is described by Chiu Ct al. (Yun, Chiu, Dejan Markovic, Haiyun Tang, Ning Zhang, OFDM receiver Design, published at URL: http://bwrc.eecs.berkeley.edu/People/ Grad_Students/dejan/ee225c/ofdm.pdf). It uses the first ten short symbols transmitted at the beginning of an OFDM frame, also referred to as the “short training sequence”. The waveform of the short symbols is known and stored in the receiver device. The receiver performs a correlation of the sampled signal with the stored waveform. It further performs and autocorrelation of the sampled signal with the delay of one short symbol. While the autocorrelation creates a first signal with a plateau over a time span during which short symbols are received, the correlation with the known waveform creates a second signal exhibiting peaks. The last peak of the second signal occurring during a plateau in the first signal is chosen as a time reference to start frame detection.
However, in the solution proposed by Chiu et al. the frame detection does not work if a fading channel is affecting the signal.
Another method is described in Schwoerer, L.; Wirz, H.; “VLSI Implementation of IEEE 802.11a Physical Layer”. Proceedings of the 6th International OFDM-Workshop (InOWo) 2001, pp. 28.1-28.4, September 2001, Hamburg, Germany. To detect the periodicity of the short training sequence, a sum of the absolute amount of three delayed autocorrelation terms over three different, overlapping time spans is calculated and then compared to a threshold value that is scaled with the signal power over the same time spans.
The solution proposed by Schwoerer et al. correspondingly makes use of three autocorrelators for the frame detection. This implies a rather large silicon area necessary for implementation of their solution and a high power consumption.
It is an object of the invention to provide a simple and reliable method and device for detection of the reception of a data frame in an input signal.
It is a further object of the invention to provide a synchronizing method and a synchronizer with a simple and reliable frame detector.
According to a first aspect of the invention a method for detection of the reception of a data frame in an input signal (yOFF(n)) is provided. The method is based on the fact that the data frame comprises periodically repeated symbols at the beginning. The method of the first aspect of the invention comprises the steps of
In the method of first aspect of the invention, step c), i.e., detecting a plateau, comprises a step of generating a differentiator signal (Jdiff(k)), which is dependent on the difference of a first sample of the first signal and a second sample of the first signal that was taken a predetermined number of sampling periods earlier. Further, step c) comprises a step of detecting an absolute maximum of said differentiator signal (Jdiff(k)) within a predetermined range of sampling periods.
The method of the invention makes use of the fact that a plateau in an autocorrelation signal, i.e., in the first signal, can be detected reliably by making use of a differentiation of the autocorrelation signal with a limited bandwidth. As is known, a plateau in the autocorrelation signal is indicative of the reception of a frame with periodically repeated symbols in the input signal.
The invention is based on the finding that a real differentiation, that is, a differentiation with a limited bandwidth, will transform an input signal into an output signal that exhibits an absolute maximum at the onset of a plateau of the input signal. In the method of the invention, the input to the real differentiation is the autocorrelation signal, and the output signal is the differentiator signal. The bandwidth of the differentiation can be limited for instance by calculating the difference of the respective two autocorrelation signals involved with a predetermined delay of a number of sampling periods.
A maximum of the differentiator signal can be detected with precise timing in a simple and reliable manner with an appropriate peak detection method.
An ideal differentiator, that is, a differentiator with an unlimited bandwidth, would show a discontinuity at the onset of a plateau, assuming that no noise was present in the signal.
It is noted that the term signal as used herein denotes, depending on the context, analog signals or digital signal, for instance binary representations of values of quantities, such as for instance a digital representation of a number indicating the current value of an autocorrelation of the input signal with its delayed copy.
The step of generating said differentiator signal (Jdiff(k)) comprises for instance a step of delaying the first signal (|J(k)|2) for the first predetermined number of sampling periods, and a step of generating a difference signal that is dependent on the difference between the first signal (|J(k)|2) of a current sampling period and the delayed first signal (|J(k)|2).
In a preferred embodiment of the invention, the autocorrelation step (step b) comprises the steps of delaying the input signal by a third predetermined number (Nd) of sampling periods, transforming the input signal into a second signal that is dependent on the complex conjugate of the input signal, and generating a fourth signal that is dependent on the product of said second signal and of said delayed input signal. Preferably, an autocorrelation signal is generated that is dependent on a sum of a fourth predetermined number Navg of autocorrelation signals.
To accomplish the calculation of the sum, a fourth signal can be saved for Navg sampling periods. The autocorrelation signal is created by adding said fourth signal of a current sampling period to said autocorrelation signal of a last previous sampling period and subtracting one fourth signal, that was saved Navg sampling periods earlier. Preferably then, the first signal is obtained as the product of the autocorrelation signal and its complex conjugate.
In a further preferred embodiment, the step of detecting an absolute maximum of the differentiator signal within a second predetermined number of sampling periods comprises an instantaneous peak detection step and a step of detecting a falling slope in the differentiator signal. Preferably, these two steps are performed in parallel. Instantaneous peak detection refers to the detection of a relative peak in the differentiator signal. The detection of a relative peak at the same time a falling slope occurs is an indication of the occurrence of an absolute maximum in the signal within the second predetermined number of sampling periods. In this embodiment, the detection of an absolute maximum in the differentiator signal is implemented with a simple and reliable method.
Instantaneous peak detection involves, for instance, comparing the differentiator signal (Jdiff(k)) of a current sampling period with the differentiator signal (Jdiff(k)) of a last, i.e., a next previous sampling period, and a step of saving the differentiator signal (Jdiff(k)) of the current sampling period to a register, given the condition that its value is larger than that of the differentiator signal (Jdiff(k)) of the previous sampling period. The register therefore always contains the largest differentiator signal.
Preferably, a step of incrementing a count index by one is performed, if the value of said differentiator signal (Jdiff(k)) of the current sampling period is equal or smaller than that of said differentiator signal (Jdiff(k)) saved in said register. A (third) signal can be generated indicative of the condition whether or not the count index has reached a predetermined value. The third signal indicates that a relative peak has been found within the sample range defined by the predetermined counter value, which can be the counter limit. The relative maximum is the value contained in the register.
Detection of a falling slope in the differentiator signal (Jdiff(k)) is preferably performed by a group peak detection method. That means, the differentiator signal is accumulated in groups of six samples and the present group is compared with the previous one. If the present group is smaller than the previous one, the falling slope has started. In detail, an accumulation signal is generated that is dependent on the sum of the differentiator signal (Jdiff(k)) over a predetermined accumulation number of consecutive sampling periods. The current accumulation signal is compared with the last previous accumulation signal representing (without overlap) the accumulation number of consecutive earlier sampling periods. If the value of the current accumulation signal is smaller than the value of the earlier accumulation signal, a group peak detection signal is generated. In an alternative embodiment, the group peak detection is a binary signal that is for instance “0” if the current accumulation signal is larger, and “1” if the current accumulation signal is smaller than the previous one. The group peak detection signal thus indicates that the differentiator signal is decreasing.
A maximum detection signal can be generated if the instantaneous peak detection signal indicates that the count index has reached the predetermined count value and the group peak detection signal indicates that the value of the current accumulation signal is smaller than the value of the earlier accumulation signal. Preferably, the maximum detection signal is the output signal.
It is noted that with the peak detection algorithm described above the plateau will be detected with a small delay due to the instantaneous peak detection method. The delay corresponds to the predetermined count value used in the instantaneous peak detection. However, this delay has no influence on the result of the following steps in the synchronization.
Preferably, the input signal is amplified such that the power of the amplified input signal is in a predetermined power range. The purpose of this step is to adapt the input power to a power level according to the conversion range of Analog-Digital converters. In order to avoid detecting a plateau in pure noise, the step of detecting a plateau in the first signal (|J(k)|2) is preferably performed only if the first signal |J(k)|2 exceeds a predetermined threshold value.
The method of the invention is preferably used for detecting a data frame containing OFDM symbols.
According to a second aspect of the invention, a frame detector is provided for detecting the reception of a data frame in an input signal (yOFF(n)), said data frame comprising periodically repeated symbols at the beginning. The frame detector has
The plateau detector is adapted to generate a differentiator signal (Jdiff(k)), which is dependent on the difference of a first sample of said first signal and a second sample of said first signal a predetermined number of sampling periods earlier, to detect an absolute maximum of said differentiator signal (Jdiff(k)) within a predetermined range of sampling periods, and to provide a signal indicative of detecting said absolute maximum to said output unit.
The frame detector of the second aspect of the invention implements the frame detection method of the first aspect of the invention. In what regards advantages reference is made to the above description of the method of the invention.
A preferred embodiment of the frame detector of the second aspect of the invention implements the plateau detection method according to the preferred embodiment of the method of the invention described earlier. Preferably, said plateau detector of the frame detector comprises a peak detection unit with a first detection unit connected to the input port and comprising a first memory unit. The first detection unit is adapted to compare the input signal (Jdiff (k)) received through the input port with a first entry contained in the first memory unit, and to replace the first entry by the input signal if the value of the input signal (Jdiff (k)) is larger than the value of the first entry. The first detection unit implements the instantaneous peak detection method.
In this embodiment, there is preferably a second detection unit connected to the input port and comprising a second memory unit. The second detection is adapted to generate an accumulation signal that is dependent on the sum of the differentiator signal (Jdiff(k)) over a fourth predetermined number of consecutive sampling periods, to compare the current accumulation signal with the last previous accumulation signal representing without overlap the fourth predetermined number of consecutive earlier sampling periods, and to generate a group peak detection signal indicative of whether or not the value of the current accumulation signal is smaller than the value of the earlier accumulation signal.
Further preferred embodiments of the frame detector implement preferred embodiments of the frame detection method described earlier. From that description it is obvious to a person skilled in the art how to implement the preferred embodiments of the frame detector.
It is noted that the peak detection method as well as the peak detection unit used in the present context for detecting a plateau in the autocorrelation signal can be used for peak detection in any signal. The peak detection method as well as the peak detection unit represent an independent invention.
According to a third aspect of the invention, a synchronizing method is provided. The synchronizing method comprises a step of frame detection, which is carried out using the method of the first aspect of the invention or any of its embodiments described above or in the dependent claims.
A carrier frequency offset, which is due to a frequency mismatch during RF downconversion, introduces an unknown phase factor to each signal sample. This unknown phase factor must be estimated and compensated for each sample before performing a Fast Fourier Transform (FFT) at the receiver. Otherwise the orthogonality between subcarriers is lost. A loss of orthogonality is also creates intercarrier interference.
A preferred embodiment of the synchronizing method of the third aspect of the invention therefore further comprises a step of estimating a relative frequency offset (fε) in an input signal (yOFF(n)), wherein the estimating step comprises the steps of
In this embodiment, the steps of estimating a coarse frequency offset (β) and/or of estimating a fine frequency offset, i.e., step a) or b) or both steps a) and b), preferably comprise a step of calculating a phase value of said first signal (|J(k)|2).
The step of estimating the frequency offset comprises in one embodiment a step of assigning a fine frequency offset value dependent on the value of the coarse frequency offset according to the following function:
ε=α; if (−0.1)/4≦β≦(0.1)/4 (R1)
ε=α; if α≧0 and (0.1)/4<β<(0.9)/4 (R2)
ε=1+α; if α<0 and (0.1)/4<β<(0.9)/4 (R3)
ε=1+α; if β≧(0.9)/4 (R4)
ε=−1+α; if α≧0 and (−0.9)/4<β<(−0.1)/4 (R5)
ε=α; if α<0 and (−0.9)/4<β<(−0.1)/4 (R6)
ε=−1+α; if β≦(−0.9)/4 (R7)
In an alternative embodiment that is slightly more robust to noise than the embodiment just described the step of assigning a fine frequency offset value dependent on the value of the coarse frequency offset is performed according to the following function:
ε=α; if (−0.25)/4≦β≦(0.25)/4 (R1)
ε=α; if α≧0 and (0.25)/4<β<(0.75)/4 (R2)
ε=1+α; if α<0 and (0.25)/4<β<(0.75)/4 (R3)
ε=1+α; if β≧(0.75)/4 (R4)
ε=−1+α; if α≧0 and (−0.75)/4<β<(−0.25)/4 (R5)
ε=α; if α<0 and (−0.75)/4<β<(−0.25)/4 (R6)
ε=−1+α; if β≦(−0.75)/4 (R7)
Preferably, after estimation the frequency offset, a step of correcting the input signal by the estimated value is performed.
A further embodiment of the synchronizing method of the invention comprises after said step of frequency offset correction a step of estimating the time of reception of at least one symbol contained in a received data frame (hereinafter referred to as a symbol timing step).
The symbol timing step preferably comprises a step of generating a crosscorrelation signal, which is dependent on the value of the crosscorrelation of the corrected input signal with a known reference signal, wherein the reference signal is a first section of long preamble symbols included in the data frame. In a preferred embodiment, the reference signal is 32 samples long.
Another embodiment comprises a step of estimating a reference channel, preferably using a step of performing a Fast Fourier Transform of a second section of the long preamble symbols included in the data frame.
According to a fourth aspect of the invention, a synchronizer device is provided. The synchronizer device comprises a frame detector according to an embodiment of the frame detector of the second aspect of the invention.
The synchronizer device preferably further comprises a symbol timing unit adapted to generate a crosscorrelation signal, which is dependent on the value of the crosscorrelation of the corrected input signal with a known reference signal, wherein the reference signal is a first section of long preamble symbols included in the OFDM frame.
The symbol timing unit comprises in one embodiment a crosscorrelation unit with a number of multipliers for complex numbers, and wherein at least one multiplier is made of a combination of XNOR-gates, inverter gates and adders.
To save power, the frame detection unit and the symbol timing unit can in one embodiment be enabled or disabled individually. This is preferably implemented by means to enable or disable the clock for the individual unit. It is noted that one clock is used for both units.
In the following, a preferred embodiment of a synchronizer device according to the invention will be described with reference to the figures.
In the following, an embodiment of a frame detector is described in detail. The description also gives a clear picture of an embodiment of a method for frame detection that is implemented in the frame detector.
During synchronization the reception of a frame is to be detected. This detection is based on the particular periodic structure of the preamble symbols. The circuit used for this purpose is sketched in
The autocorrelator has a delay block 22 introducing a delay of Nd clock cycles to an input signal yOFF(n). In parallel to delay block 22 a conjugator block 24 is provided that generates a complex conjugate of the input signal yOFF(n). The output signals of the delay block 22 and of the conjugator block 24 represent the input signals to a multiplication stage 26. The output of multiplication stage 26 is fed into a moving average block 28 that will be explained in further detail with reference to
The output of the autocorrelation block can be expressed as
Two parameters are important here: Nd and Navg. The former (Nd) is the length of the delay introduced by delay block 22 and the latter (Navg) is the length of the moving average block.
The selected value for Nd directly depends on the periodicity found in the preamble. From
The structure of the moving average block sketched in
For reasons that we will clarify in the next section, when explaining the carrier frequency offset estimation, the embodiment described here uses Nd=64 and Navg=Nd. The procedure to detect the frame is based on a plateau detection algorithm for the signal |J(k)|2 (see
The peak detection block 54 is divided into two sub-blocks: group peak detector 58 and instantaneous peak detector 60. The structure of the peak detector block 54 will be explained in detail below with reference to
The autocorrelation block 20 together with the differentiator 52 and the peak detector 54 will constantly peer at the channel. When the peak detector 54 identifies an absolute maximum, the synchronizer will consider that a new frame has arrived and the carrier frequency offset estimator will be activated. Because of the noise (thermal, digital), the peak detection will not be a trivial task, i.e. a smart peak detection algorithm will be necessary in order to distinguish the absolute from the relative maxima.
The instantaneous peak detector 60 is composed of a comparator 70 and a counter 72. The present sample Jdiff(k) coming out from the differentiator 52 is compared with the last recorded maximum Jmax that is stored in a register 74. As long as the sample Jdiff(k) is bigger than Jmax, the register 74 storing Jmax will be updated to contain the new sample Jdiff(k) as the latest maximum and the counter 72 will be reset
If Jdiff(k) is smaller or equal than Jmax, the counter 72 will be triggered and it will increase its count by one. If this situation remains until the counter 72 counts through its full range, the instantaneous peak detector 60 will generate a signal stating that a relative peak was found inside the counting scope of the counter 72. In the implementation of
The group peak detector 58 is used to detect falling slopes in Jdiff(k), and its main component is also a comparison block. If the group peak detector finds a falling edge at the same time as the instantaneous peak detector finds a relative peak, this means that the detected peak is actually an absolute peak.
In the group peak detector, the input signal Jdiff(k) is accumulated in groups of six samples (6-tuples) in an accumulator 78 and the present group is compared with the previous one. If it is smaller, it means that the falling slope has started.
A signal FD (fat full line) represents the point in time where a decision on the existence of a peak is taken. FD is zero and exhibits a short peak at the point the counter signal 72 reaches its full range and the signal FS indicates a falling slope.
We have to mention that a frame will be detected 16 samples after its actual starting point, i.e., the detection will occur in the middle of the first plateau in |J(k)|2 (dotted line in
In the following, a device and method for carrier frequency offset estimation and correction are described with reference to
During the RF down-conversion, the local oscillator (LO) normally is not exactly tuned to the expected frequency, but it will show some offset. As the different sub-carriers in an OFDM system overlap, any frequency offset in the receiver side may lead to significant Inter-Carrier-Interference (ICI). Once the synchronizer has been fired after frame detection, the next operation will be the estimation of this frequency offset Here we recover the expression given in equation (1) for the autocorrelation J(k), considering that
where yoFF(n) is the signal affected by a normalized frequency offset fε. This normalization is with respect to the channel spacing Δf in the OFDM signal, which is 312.5 kHz in the IEEE 802.11a standard. The parameter fS is the inverse of the FFT time (fS=20 MHz in the standard under consideration). The signal J(k) may then be rewritten as
If y(n) is a periodic signal with a period of Nd samples, i.e. y(n)=y(n−Nd), then (3) can be simplified to
From equation (4) it can be seen that the phase of J(k) is only due to fε, and so fε could be found as follows
However, there are several factors which destroy the periodicity, making y(n)≠y(n−Nd). The most important ones are the AGC settling time and the channel impulse response. Another factor is noise, but its effect can be largely compensated by the averaging Navg in equation (4). In addition, if Navg is a multiple of the minimum periodicity in the preambles (16 samples in this standard), |J(k)|2 shows a plateau in the region where the phase of J(k) only depends on the carrier frequency offset.
Considering what has been stated above, the frequency offset is in the present embodiment estimated after calculation of the phase of J(k), at that point k where the peak detector established the beginning of the frame, because this point falls exactly in the middle of the plateau in |J(k)|2.
Nevertheless, there is a limitation in the frequency offset estimation, which can be obtained by calculating the phase in the expression of equation (4), i.e.
The ratio Δf/fS is 1/64 in the IEEE 802.11a standard. From (6) it can be seen that the range of possible estimated values for fε will only depend on the selected delay Nd in the autocorrelator.
In our implementation, fε is supposed to have its value in the range ±1.5, i.e. a frequency offset of ±468.75 kHz in an oscillator working in the 5 GHz ISM band. If the oscillator is tuned at 5.6 GHz, this value of expected offset is about 85 ppm (parts-per-million).
We will estimate fε decomposing its value into two components α and β, and the actual estimation ε will be a function of these two components, i.e. ε=f(α,β). The value of a is restricted to be in the range ±0.5, and so is called the fine frequency offset. The parameter β is called coarse frequency offset, and it will be in the range ±2.0 (see
We may estimate the value for α by calculating the phase an output of this autocorrelator 20, JF(k), which is the signal obtained before calculation its square amount The estimation of β can be obtained using autocorrelator 82 with Nd=16 and Navg=Nd and calculating also the phase of its output JC(k).
The blocks 84 and 86 used to obtain α and β perform an arctangent calculation. This complex mathematical operation can be efficiently realized by using the CORDIC algorithm working in the vectoring mode. Although two arctangent blocks have been shown in
The correction of the frequency offset is carried out considering the signal model given in eq. (2). To obtain the original signal y(n), the input signal yOFF(n) has to be multiplied by a phasor, which is the complex conjugate of the one found in eq. (2). This operation will be carried out by a Numerically Controlled Oscillator (NCO) 122, cf.
The dependency of α and β vs. fε was sketched in
From
The selected function ε=f(α,β) is as follows
ε=α; if (−0.1)/4≦β≦(0.1)/4(R1)
ε=α; if α≧0 and (0.1)/4<β<(0.9)/4(R2)
ε=1+α; if α<0 and (0.1)/4<β<(0.9)/4(R3)
ε=1+α; if β≧(0.9)/4(R4)
ε=α; if α<0 and (−0.9)/4<β<(−0.1)/4(R5)
ε=−1+α; if α≧0 and (−0.9)/4<β<(−0.1)/4(R6)
ε=−1+α; if β≧(−0.9)/4(R7) (7)
In an alternative embodiment, the selected function is as follows:
ε=α; if (−0.25)/4≦β≦(0.25)/4(R1)
ε=α; if α≧0 and (0.25)/4<β<(0.75)/4(R2)
ε=1+α; if α<0 and (0.25)/4<β<(0.75)/4(R3)
ε=1+α; if β≧(−0.75)/4(R4)
ε=−1+α; if α≧0 and (−0.75)/4<β<(−0.25)/4(R5)
ε=α; if α<0 and (−0.75)/4<β<(−0.25)/4(R6)
ε=−1+α; if β≦(−0.75)/4(R7) (8)
a) and b) show the different decision regions for the combination of α and β in the frequency offset estimation and correction. In this expression, certain regions R1 to R7 have been defined for different values of αand β, which are also indicated in
In the following paragraphs, an example of a method and device for symbol timing estimation will be described.
Unlike to what was done during carrier frequency offset estimation, where the periodicity of the short preamble symbols was the main feature used for the estimation, the symbol timing estimation will be obtained by exploiting the direct knowledge of the long preamble symbols 12 and 14. After the frame is detected, the synchronizer knows approximately which samples of the preamble have entered the delay line of the autocorrelator 20, but this knowledge is not enough for further processing and has to be refined.
The main block of the symbol timing estimator is a crosscorrelator, cf.
Considering the standard IEEE 802.11a, the reference is as follows: CREF(0 . . . 31)={0.1563, −0.0051−j0.1203, 0.0397−j0.1112, 0.0968+j0.0828, 0.0211+j0.0279, 0.0598−j0.0877, −0.1151−j0.0552, −0.0383−j0.1062, 0.0975−j0.0259, 0.0533+j0.0041, 0.0010−j0.1150, −0.1368−j0.0474, 0.0245−j0.0585, 0.0587−j0.0149, −0.0225+j0.1607, 0.1192−j0.0041, 0.0625−j0.0625, 0.0369+j0.0983, −0.0572+j0.0393, −0.1313+j0.0652, 0.0822+j0.0924, 0.0696+j0.0141, −0.0603+j0.0813, −0.0565−j0.0218, −0.0350−j0.1509, −0.1219−j0.0166, −0.1273−j0.0205, 0.0751−j0.0740, −0.0028+j0.0538, −0.0919+j0.1151, 0.0917+j0.1059, 0.0123+j0.0976}, where j=√−1.
From the implementation point of view, the complex crosscorrelator is usually a “weak” point in modem communication circuit designs because of its computation complexity (they require a large number of complex multipliers) and subsequent need for large silicon area. Having this in mind, in this implementation we used a simplified scheme for the crosscorrelator, based on simple XNOR 1-bit multipliers (
In the following, the use of XNOR multipliers for complex multiplication is explained in more detail:
The multiplication of two complex numbers A=Areal+jAimag, and B=Breal+j Bimag, where j=sqrt(−1), results in C=A×B, which is also complex with Creal=(Areal×Breal)−(Aimag×Bimag) and Cimag=(Aimag×Breal)+(Areal×Bimag)
This means that in principle four multipliers 90 to 96 and two adders 98 and 100 are necessary.
In this case, the multiplication of Areal×Breal may comprise the following possible combinations:
This table is equivalent to a XNOR gate with inputs Areal and Breal i.e., this gate produces a ‘0’ at the output when the number of ‘1’ inputs is odd.
The previous operation has to be repeated 4 times in a complex multiplication. As mentioned before, in the present embodiment we represent Areal, Aimag, Breal and Bimag with a single bit, i.e., if they are positive we use a ‘1’ whereas when negative we use a ‘0’. Let dAreal, dAimag, dBreal, dBimag, dCreal and dCimag be the representation of Areal, Aimag, Breal, Bimag, Creal and Cimag by a single bit, respectively. Now the value of dCreal and dCimag is:
dCreal=XNOR(dAreal, dBreal)−XNOR(dAimag, dBimag)
dCimag=XNOR(dAimag, dBreal)+XNOR(dAreal, dBimag)
An important point to be noted is that the original signals Areal, Breal, Aimag and Bimag may take positive or negative values, but they have no DC level, i.e., on the average they are positive and negative the same amount of time. When converting them into ‘1’ or ‘0’ a DC level is introduced which is going to be 0.5. After the XNOR operation, the non-zero DC offset still will be present. Nevertheless this is not a problem when calculating dCreal because the DC levels get compensated due to the subtraction operation. But for the case of dCimag, both DC levels are accumulated. For this reason in
In addition, a further simplification in the structure of these multipliers is possible if one of the inputs is fixed and is known beforehand. The simplified structure of multipliers based on this knowledge is shown in
If the value of B is known beforehand, only two rows in the previous logic table are to be considered. There are four possible cases: dBreal=0, dBimag=0; dBreal=1, dBimag=1; dBreal=1, dBimag=0; dBreal=0, dBimag=1. In this case the XNOR gates are simplified to NOT gates, which require a smaller number of transistors.
Considering an example dAreal×dBreal knowing already that dBreal=‘0’, according to the previous table, the result of the multiplication is the inverse of the input. This means that no XNOR gate is needed but just a NOT gate, such as for example NOT gate 102 in
The final results dCreal and dCimag are represented by 2 bits each. For comparison, if Areal, Breal, Aimag and Bimag were coded by for instance 16 bits, Creal and Cimag would comprise 32 bits if a full multiplication would have been used.
The final structure of a crosscorrelator 108 based on these principles is shown in
CREF(31, . . . , 0)*={1, 1, 0, 0, 1+j, j, j, j, j, 0, 1, 1, 0, 0, 1, 1+j, 1+j, 0, 1+j, 1+j, j, 1+j, 1, 1+j, j, j, 1+j, 1, 1, 1+j, j, 1}, where j=√−1.
The multiplication signals are added in and adder 114. The square magnitude of the output of adder 114 is calculated in a block 116.
The output of the crosscorrelator 108 is shown in
The following description concerns the step of reference channel extraction. The reference channel estimation is used by the channel estimator in order to correct for the filtering due to the transmission channel. The reference channel will be obtained by calculating the FFT of the CDAB fields in
In the IEEE 802.11a standard, the actual long preamble symbols are defined as ABCD, i.e. a cyclic delay of 32 samples into a sequence of 64 samples is introduced. After performing the FFT, any time delay is seen as a linear phase, which in this specific case is reduced to the sequence exp{−j2π(32/64)m}=exp{−jπm}=(−1)m. In order to compensate for this linear phase, the FFT output has to be multiplied exactly by this sequence.
The phase compensation mentioned above is only necessary when calculating the reference channel estimation. For the data symbols coming after the preamble no phase correction will be necessary.
There are two further operations to be performed inside the FFT block 120 in
The last operation included inside the FFT block 120 is the channel reordering. Immediately after the FFT calculation, the output samples are delivered in the serial form according to the natural order. For further processing, this order has to be changed. Specifically, the data after FFT is given in the following order: D0, D1, D2, . . . , D31, D−32, D−31, D−30, . . . , D−1, where the subindex indicates the corresponding sub-channel. But the samples D0, D27, D28, D29, D30, D31, D−32, D−31, D−30, D−29, D−28 and D−27 (11 samples in total) carry no information and are directly discarded. The remaining 52 samples {Dk/kε[1,26]∪[−26,−1]} are provided at the output of the FFT block 120 in the following order: D−21, D−7, D7, D21, D−26, D−25, . . . , D−22, D−20, D−19, D−18, . . . , D−8, D−6, D−5, . . . , D−1, D1, . . . , D5, D6, D8, . . . , D18, D19, D20, D22, . . . , D25, D26.
The actual implementation of the FFT processor 120 itself is not going to be explained in detail here. The main idea behind this implementation has been a mathematical manipulation of the definition of the FFT in order to convert the 64-point FFT into a 2-dimensional 8×8-point FFT. For more details see the German Patent application DE 100 62 759.5.
The CORDIC processor is a part of the synchronizer. The processor performs the circular CORDIC algorithm in both of its operation modes, viz. rotational and vectoring. While the rotation mode of operation of the CORDIC enables us to compute the multiplication of any quantity with a phasor exp{jφ}=cos(φ)+j sin(φ), the vectoring mode can be used for computing the magnitude and the phase angle of a complex value. The operation principle of these two modes is shown in
The rotational mode is useful to implement the NCO 122 whereas, the vectoring mode is useful for arctangent calculations in block 84,86. However, for the realization of the synchronizer, these two modes of operation of the CORDIC are independently utilized in two different phases. At first, the phases of JF(k) and JC(k) (see
When using the rotational CORDIC as an NCO, the input signal is multiplied by a phasor with the form exp{j(2π/64)·ε·n}, where ε is the estimated normalized carrier frequency offset (see
We have to mention here that the value of ε must not be sign-reversed in order to apply a correct phase correction, because the result coming from the arctangent calculation already considers this sign. This can be easily seen in expression (4), where by definition, the phase contribution in J(k) already contains the −ve sign.
The actual implementation of the rotational and vectoring CORDIC processors is described in more detail in the German Patent 101 64 462.0.
In summary, the proposed synchronizer has the following advantages:
The proposed synchronizer has been designed as a power efficient system. This has been achieved in one side by optimizing each block independently and on the other side by dividing the whole synchronizer structure into different clock domains (see
A clock domain separation helps to save power in the sense that only certain regions of the system are activated for operation, while others are not, by applying the clock gating. Thus, as shown in
Disabling the clock domain #1, it is possible to save the power that otherwise would be consumed by the huge delay line at the input of the autocorrelator as well as the FIR structures of the moving average blocks.
Once the value for ε is available, the NCO 122 will start its operation until the end of the frame. The crosscorrelator 108 will be activated at the same time, but it will operate only until a peak is found at its output, being afterwards disabled. This is achieved by assigning a particular clock domain to the crosscorrelator 108 (clock domain #3).
The FFT block 120 is activated after a peak is detected at the output of the crosscorrelator and will operate like the NCO 122, until the end of the incoming frame, for that reason both the NCO 120 and the FFT blocks 120 belong to the same clock domain #2.
Apart from the power saving in the system level by applying clock gating, even more power saving is achieved by optimising each single block in the synchronizer as described above.
Thus, the frame detection algorithm is based on the knowledge of the ideal shape of the signal |JF(k)|2. A simple and robust peak detection algorithm is applied to this signal in order to detect an incoming frame. The arctangent calculation as well as the NCO 122 are based on the CORDIC algorithm. The CORDIC processors designed for these purposes have been optimised to reach the final angle in an adaptive way and thereby executing a minimum number of iteration steps. Furthermore, the crosscorrelator has been simplified to use XNOR-based complex multipliers instead of the normal complex multipliers and the reference signal therein has been shorten as much as possible in order to obtain valid results. Last but not least, the FFT processor 120 has been also optimised by using a new architecture, which requires no coefficient storing or complex multiplier.
The whole structure introduces a latency of 3.9 μs counted from the instant when the frame is detected. This value is less than one OFDM symbol period (4 μs), which means that no extra storage of the input samples has to be done inside the synchronizer.
In summary, there are the following inventions comprised in the above description:
The algorithm used for the frame detection, making use of a simplified differentiator to obtain an absolute maximum in the differentiated signal at that point where the first plateau in JF(k) starts (output of the autocorrelator with Nd=64);
The design of the peak detector to obtain the position of the absolute maximum in the differentiated signal, dividing the problem into relative peak detection and falling edge detection;
The way to combine the two frequency offsets α and β to finally obtain ε;
The use of a 32-sample long reference signal in the crosscorrelator for timing estimation;
The use of our simplified XNOR-based crosscorrelator, and the simplifications therein based on the knowledge of the reference;
The use of our particular solution for the CORDIC algorithm in the vectoring mode for arctangent calculation;
The use of our particular solution for the CORDIC algorithm as NCO for the frequency offset correction;
The hardware structuring of the whole synchronizer, allowing a very simple control mechanism and the separation of this structure into different clock domains, each one being activated only to perform its operation and deactivated afterwards.
The following is a table relating terms used in the present application to those used in European patent application 02 090 257.3, whose priority is claimed, with the same meaning.
Number | Date | Country | Kind |
---|---|---|---|
02090257 | Jul 2002 | EP | regional |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/EP03/07750 | 7/16/2003 | WO | 00 | 10/21/2005 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2004/008706 | 1/22/2004 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
5991289 | Huang et al. | Nov 1999 | A |
6320917 | Stott et al. | Nov 2001 | B1 |
6865232 | Isaksson et al. | Mar 2005 | B1 |
Number | Date | Country |
---|---|---|
1 049 302 | Nov 2000 | EP |
1071251 | Jan 2001 | EP |
WO 9810545 | Mar 1998 | WO |
WO 0077961 | Dec 2000 | WO |
Number | Date | Country | |
---|---|---|---|
20060146962 A1 | Jul 2006 | US |