METHOD AND APPARATUS FOR SYNCHRONIZING WIRELESS RECEIVER
This invention pertains to the field of signal reception, and more particularly to a method and apparatus for synchronizing a receiver to a wireless signal, more specifically a multiband orthogonal frequency division multiplexed (OFDM) signal.
On 14 February 2002, the United States Federal Communication Commission
(FCC) adopted a First Report and Order (FCC 02-48) in ET Docket No. 98-153 to allow unlicensed ultra-wideband (UWB) radio transmitters to operate on certain bands, particularly from 3.1 to 10.6 GHz. These UWB radio transmitters operate by transmitting signals occupying a minimum of 500MHz bandwidth. The FCC established standards to prevent interference with other existing radio services.
Triggered by FCC actions, the Institute of Electrical and Electronic Engineers
(IEEE) formed task group 802.15.3a for Wireless Personal Area Networks using the UWB allocations and technology. One of the proposals to this task group is based on dividing the available spectrum into several bands of 528 MHz each, with transmitters frequency hopping between the bands. As an example, FIG. 1 shows a proposed band plan for UWB operation. Group A, comprising bands 1-3, is intended for 1st generation devices. Other groups can be used by next generation devices. Within each frequency band, information is transmitted with an orthogonal frequency division multiplex (OFDM) format. More specifically, each band includes 128 orthogonal tones, or sub-carriers, spaced 4.125 MHz apart to occupy 528 MHz. Each data packet comprises a preamble, a header, and a data sequence. A cyclic prefix of 60.6 nsec. is employed to preserve orthogonality between the subcarriers in a multipath environment. As noted above, the UWB transmitters frequency hop between the available bands.
So, for example, initially a UWB transmitter may hop between the channels 1 -3, as illustrated in FIG. 2, one symbol per hop.
Meanwhile, the preamble consists of a sequence of a time-domain sequence and a frequency-domain sequence. The time domain sequence is intended to be used for burst detection, coarse timing error estimation and coarse frequency error estimation.
The time domain sequence in each band is described by:
(1) [aoB, aiB, . . . , ai5B]
where B is a 8-length spreading sequence and A= {a0,. . . ^5} is a 16-length sequence. The values of both sequences are proposed to be unique for each pico net in a given geographic area. Table 2 below shows proposed values of each of the sequences, which of course may change as standardization proceeds. Overall, for each band, a 165-length time domain preamble sequence is constructed consisting of 128-length sequence as defined above, a prefix (e.g., appends the last 32 bits or just zeros) and a small guard time.
TABLE 2
Typically, a receiver needs to first detect the preamble before further signal processing steps can be undertaken,
Accordingly, there is a need for a method and system for synchronizing a receiver to signal with unknown timing, such as an ultra wideband signal.
In one aspect of the invention, a method of acquiring synchronization with a signal comprises: selecting a first band; searching for an autocorrelation peak in the signal in the first band, including, repeatedly autocorrelating the signal in the first band over a time interval, Y, to produce a plurality of autocorrelation results, and identifying the autocorrelation peak as a one of the autocorrelation results having a greatest value; and comparing the autocorrelation peak to a threshold and determining that the signal is detected when the autocorrelation peak exceeds the threshold.
In another aspect of the invention, an apparatus for detecting a received signal, comprises: a correlator, including, a first M-length delay adapted to delay the received signal, where M is equal to a length of a spreading sequence of a time-domain preamble
sequence of the transmitted signal, a multiplier adapted to multiply a complex conjugate of a first one of the received signal and the delayed received signal, by the second one of the received signal and the delayed received signal to produce multiplication results, a first summation circuit adapted to sum the multiplication results over a first window, equal to M, to produce intermediate autocorrelation results, and a second summation circuit adapted to weigh L-I intermediate autocorrelation results with corresponding weights, and to sum the L-I weighted intermediate autocorrelation results to produce autocorrelation results; and a burst detector adapted to determine an autocorrelation peak of the autocorrelation results over a second window, to compare the autocorrelation peak to a threshold, and to detect the received signal when the autocorrelation peak exceeds the threshold.
In yet another aspect of the invention, a system for synchronizing a receiver to a transmitted signal, comprises: a correlator adapted to autocorrelate a received signal in a first band to produce first autocorrelation results, and subsequently to autocorrelate the received signal in a second band to produce second autocorrelation results; a burst detector adapted to receive the first autocorrelation results and to detect when the received signal is the transmitted signal; a frequency generator for the receiver adapted to generate a receiver frequency; a frequency error detector adapted to receive the second autocorrelation results and to determine a coarse frequency error between the receiver frequency and a frequency of the transmitted signal; a frequency correction circuit for adjusting the receiver frequency in response to the coarse frequency error to make the receiver frequency approximately equal to the transmitted frequency; and a frame synchronization detector adapted to detect a frame synchronization sequence of the transmitted signal.
FIG. 1 shows a band plan for operation of ultra- wideband (UWB) devices; FIG. 2 shows a flowchart of a method of detecting and acquiring a multiband UWB signal;
FIG. 3 shows a functional block diagram of a system for synchronizing a receiver to a UWB signal transmitted by a multiband, frequency-hopping, UWB transmitter;
FIG. 4 shows a block diagram of a first embodiment of a hierarchical correlator; FIG. 5 shows a simulated output of the hierarchical correlator of FIG. 4 in the presence of a UWB signal;
FIG. 6 shows a block diagram of a second embodiment of a hierarchical correlator; FIG. 7 shows a block diagram of a correlator and burst detector.
While various principles and features of the methods and systems described below can be applied to a variety of communication systems, for illustration purposes the exemplary embodiments below will be described in the context of orthogonal frequency division multiplexed (OFDM) ultra wideband (UWB) system such as that described above. Of course, the scope of the invention is defined by the claims appended hereto, and is not limited by the particular embodiments described below.
FIG. 3 shows a functional block diagram of a system 300 for synchronizing a receiver to a UWB signal transmitted by a multiband, frequency-hopping, UWB transmitter. The system 300 comprises a correlator 310, a burst detector 320, timing and frequency-error calculation and frame sync detection block 330, coarse frequency error corrector 340, prefix and guard time removal block 350, and hopping and AGC control block 360. Beneficially, the system 300 may execute a synchronization process such as the process 200 of FIG. 2, discussed below. One correlation technique which may be employed by the correlator 310 to detect the presence of a UWB signal is a delayed auto-correlation on the received signal. The delayed correlation is organized in the form of correlating subsequent sequences where the delay equals to at least the length of one sequence. The conventional delayed correlation function, f(m), can be expressed by:
(2) ) - } r(m -+ k)r {m +
where r(n) is the received samples, D is the delay, and J is the correlation window. The delayed autocorrelation technique is extremely robust against frequency and timing errors.
However, a straight forward application of delayed correlation to the multiband UWB system is not efficient in terms of cost and performance.
Beneficially, the correlator 310 of FIG. 3 can exploit the hierarchical nature of the preamble of a signal (e.g., the UWB signal described above) in an autocorrelation arrangement. The hierarchical delayed-autocorrelation can be described by:
(3) fi w) = 2> Σ ΛM ' M H k> <m *- M 1 Λ/ ^ k) k∞$
where L is the length of A, and M is the length of B, the spreading sequence. For the UWB system described above with respect to Table 2, L= 16 and M=8. The sequence C = {co, . . . , CL-2) is obtained from A = {ao, . . . , a^} as:
(4) ci = aia(i+1)
The main idea behind the hierarchical correlator is first to perform a correlation over sequence B (i.e. de-spread sequence B) and then to perform a correlation over sequence A. The hierarchical delayed-autocorrelation inherits the performance benefits of the conventional correlation algorithm in terms of its robustness to frequency/phase errors.
FIG. 4 shows one embodiment of a hierarchical correlator 400 which may be employed as the correlator 310 in FIG. 3. The correlator 400 includes an M-length delay 410, a multiplier 420, a first summation circuit 430, and a second summation circuit 440. Beneficially, the data path can be based on 1-bit input data at the expense of some performance degradation.
The M-length delay 410 delays the received signal, r, by M. The multiplier 420 multiplies the received signal by a complex conjugate of the delayed received signal to produce multiplication results. Alternatively, the multiplier may multiply the complex conjugate of the received signal by the delayed received signal to produce the multiplication results.
The first summation circuit 430 sums the multiplication results of the multiplier 420 over a first moving average window, equal to M, to produce intermediate autocorrelation results.
The second summation circuit 440 includes a delay 422 storing the intermediate autocorrelation results from the first summation circuit 430. The delay 422 has (L-I) outputs for outputting (L-I) intermediate autocorrelation results, each spaced apart by M. Each of the (L-I) intermediate autocorrelation results is weighed by the appropriate coefficient, C1 from equation (4), and the (L-I) weighted intermediate autocorrelation results are summed to produce the final autocorrelation results.
Accordingly, the correlator 400 performs the autocorrelation function of equation (3) above.
FIG. 5 shows the simulated output of the correlator of FIG. 4 for an input signal-to- noise ratio (SNR) of -6 dB in a multipath channel with a carrier frequency offset of 1 MHz. As can be seen, an excellent correlation peak is obtained. This facilitates accurate timing detection and synchronization. Advantageously, the performance of the correlator 400 implementing equation (3) can be improved by employing multiple levels of hierarchical delayed correlations. These multi-level hierarchical correlations can be described as:
(5) /(«) = ∑,v(«t0
where
where
(7) c(l, i) = aia(i+1+i)
and where G is the number of correlation branches, where G < L-I. Under the assumption that the noise component of the received signal is uncorrelated and the length of the sequence is long, each doubling of the number of correlators gives about 3dB performance improvement against added noise. The multipath performance of the correlator should also improve since it is a form of time diversity.
FIG. 6 shows another embodiment of a hierarchical correlator 600 which may be employed as the correlator 310 in FIG. 3. The correlator 600 includes first and second M- length delays 610, first and second multipliers 620, first and third summation circuits 630, second summation circuit 640, fourth summation circuit 645, and fifth summation circuit 650.
The hierarchical correlator 600 can be considered as comprising a first correlator 602, a second correlator 604, and a summation circuit 650. The first correlator 602 includes the first M-length delay 610, the first multiplier 620, the first summation circuit 630, and the second summation circuit 640. In that case, the first correlator 602 is the same as the correlator 400 of FIG. 4. Meanwhile, the second correlator includes the second M-
length delay 610, the second multiplier 620, the third summation circuit 630, and the fourth summation circuit 645.
In general, the correlator 310 may comprise G individual correlators each of whose partial correlation outputs are summed together, where G < L-I. Turning again to FIG. 6, the first M-length delay 610 delays the received signal by
M, where M is equal to B.
The first multiplier 620 multiplies the received signal by a complex conjugate of the delayed received signal to produce first multiplication results. Alternatively, the first multiplier 620 may multiply a complex conjugate of the received signal by the delayed received signal to produce the first multiplication results.
The first summation circuit 630 sums the first multiplication results over a first window, equal to M, to produce first intermediate autocorrelation results.
The second summation circuit 640 sums (L-I) first intermediate autocorrelation results, each spaced apart by M and weighed by the appropriate coefficient, c(l, 0) from equation (7), and the (L-I) weighted first intermediate autocorrelation results are summed to produce first partial autocorrelation results.
Meanwhile, the second M-length delay 610 delays the delayed received signal from the first M-length delay 610.
The second multiplier 620 multiplies the received signal, by a complex conjugate of the received signal delayed by the second M-length delay, to produce second multiplication results. Alternatively, the second multiplier 620 may multiply a complex conjugate of the received signal, by the received signal delayed by the second M-length delay, to produce the second multiplication results.
The third summation circuit 630 sums the second multiplication results over the first window, equal to M, to produce second intermediate autocorrelation results.
The fourth summation circuit 645 sums (L-2) second intermediate autocorrelation results, each spaced apart by M and weighed by the appropriate coefficient, c(l, 1) from equation (7), and the (L-2) weighted autocorrelation results are summed to produce second partial autocorrelation results. The fifth summation circuit 650 sums the first and second partial autocorrelation results from the correlators 602 and 604 to produce the autocorrelation results.
The techniques described above do not make use of the spreading sequence B. As a result, they are blind to the contents of this sequence. Nevertheless, if it is necessary to use
a specific value of B in the correlation, then the hierarchical correlator can easily be modified into:
(8) f (^ ) - y, ^ y r ( m + Mi ■¥ k } k
Employing this method may provide some slight multi-pico net isolation of the preamble. Nevertheless, its performance is not as reliable as that of the delayed correlator for frequency and phase errors.
FIG. 7 shows a block diagram of a correlator 700 and burst detector 750. The correlator 700 may be the correlator 400 or 600 and may be employed as the correlator 310 in FIG. 3. The burst detector 750 may be employed as the burst detector 320 in FIG. 3.
The burst detector 750 includes a peak tracker 760, a window averaging unit 770, and a decision circuit 780.
The peak tracker 760 compares each autocorrelation result from the correlator 700 with a current correlation peak. If the new correlation result is greater than the current correlation peak, then the new correlation result is stored as the current correlation peak. Otherwise, the current correlation peak remains unchanged.
Beneficially, the burst detector 750 detects the existence of a correlation peak with respect to the correlation noise floor. This is achieved by comparing the correlation peak over a certain window to the average correlation output. During the burst detection step, the AGC is set to a fixed value so that it does not affect the operation. Usually, it is set to the maximum value to catch weak signals. Hopping is stopped during one burst acquisition period. The output of correlator 700 is passed through the window averaging unit 770. In order to improve robustness, the delay unit for the correlator should equal one symbol period during the entirety of which the front-end of the receiver is tuned to one frequency (band). If a valid signal is present in the band, then the output of the correlator 700 will be very small (correlation noise) during the subsequent one symbol period since during this time period the UWB transmitter will have hopped to a different channel, so that the receiver input is only noise. Once the first burst is detected, AGC and frequency hopping can be enabled for subsequent detection in all of the bands. If burst is not detected during N+l symbol period where N is the number of bands, then the frequency tuner has to
be stepped to the next band, as discussed above with respect to FIG. 2. If valid signal is present, this scheme should provide burst detection within two symbol periods (one for the actual signal and another for the decision time).
Beneficially, in particular the window averaging unit 770 averages the autocorrelation results over a moving window and outputs a threshold, Tc, to the decision circuit 780. Beneficially, the size of the moving window, e.g., "X," is larger than the size of the autocorrelation window of the correlator 700. According to the embodiment of FIG. 7, the threshold Tc for the decision circuit 780 is a function of the average, V, of all of the autocorrelation results over the moving window. In particular, the threshold Tc may be produced by multiplying V by a certain constant, k. Beneficially, the window averaging unit 770 may be a low pass filter. In an alternative embodiment, the threshold Tc may be a predetermined fixed value.
A frequency error between the transmitter and receiver will result in inter-carrier interference and phase rotation. For a UWB system as described above, the carrier frequency error is small compared to the inter carrier spacing. For example, a 40ppm error and 5 GHz center frequency, the frequency error will be 200 kHz. This is about 4.8% of the intercarrier spacing. Such a frequency error does not result in significant degradation due to inter-carrier interference. Nevertheless, it still results in significant degradation due to phase rotation. As a result, the frequency error must be compensated. The compensation of the frequency error can be divided into coarse and fine compensation. The coarse frequency error is compensated using a digital mixer. The fine frequency error is compensated using a phase rotator after FFT.
Since the center frequencies are derived from a single crystal, it is tempting to think that only one frequency error for all the bands is needed. Even if one center crystal is used, the frequency error for all the bands is not identical. In general, the frequency error in a given band equals ppm*N*Fc, where ppm is the parts-per-million error of the crystal, N is the multiplication factor, and Fc is the crystal frequency. Ppm and Fc are identical to all the bands but N varies from band to band. As a result, the absolute frequency error won't be identical in each band. It is also tempting to use the above relationship in computing the frequency error of each band. However, the frequency error estimation accuracy in each band is dependent on the SNR of the signal in that band. Since the SNR can vary due to fading, using one band's estimation to the other may result in degrading the estimation accuracy. Thus, it is
generally preferable to keep the estimation for all the bands separate, i.e., each and will have a unique frequency error estimation estimated from only its one band.
One method of estimating the carrier frequency offset between transmitter and receiver is via differential detection. This turns out to be similar to the above-described hierarchical delayed correlator. Assuming that a correlation peak in the received channel occurs at time index "d," and, defining the inner correlation as:
(9) Rtd< l) ^ Σ r^ + M + *^' V + W/ + M
Then it can easily be shown that the carrier-frequency offset is approximated by:
(10) fΛ - atigki R(tiJ }) /(2 * π * M * Tj
where T is the sampling rate of r(n). Indeed the above simple form of coarse time estimation does not take advantage of the available data. To take advantage of the available data, it can easily be shown that the coarse frequency error estimate is related to the maximum value of the hierarchical correlation output as:
(11) f± ^ angteif(tf)) !(2 *π * M *T)
where f(d) is the autocorrelation peak that occurs at time "d."
FIG. 2 shows a flowchart of a robust synchronization process 200 for detecting and acquiring a multiband, UWB signal without requiring external precise timing and carrier frequency synchronization signals or controls. Advantageously, the method of FIG. 2 may operate with a correlator as described above with respect to FIGs. 4 and 6.
In a first step 210, the receiver is initialized the band is set to band 0, the AGC is set to it max, a correlator output counter is set to zero and the correlation peak is initialized to zero.
In a next step 220, the count value of the correlation counter, cntx, is compared to a maximum value, 4Y, which represents the maximum number of correlation results to be obtained in any one band. In the embodiment of FIG. 2, the maximum number (4Y) of correlation results to be detected in any one band is {(length of time domain preamble sequence -l)*(number of bands +1)}, (e.g., 164*4). If the maximum number of correlation
results to be obtained in any one band has not been reached, then the process proceeds to a step 230. Otherwise, if the maximum number of correlation results to be obtained in any one band has been reached, than in a step 225 the receiver is switched to the next band, all counters are reset, and the process proceeds to the step 230. In the step 230, if the maximum number of correlation results to be obtained in any one band has not been reached, then a new correlation is performed and the new correlation result, x, is compared to a current correlation peak for the current band. If the new correlation result, x, is greater than the current correlation peak, then the new correlation result, x, is stored as the current correlation peak, and the correlator output counter is reset to zero. Otherwise, the correlation counter is incremented and the current correlation peak remains unchanged.
In a step 240, the correlation count is compared to a correlation time interval, Y. In the embodiment of FIG. 2, the correlation time interval Y is {length of time domain preamble sequence -1 }, (e.g., 164). If the correlation count is less than or equal to Y, then the process returns to step 220. Otherwise, the process proceeds to the step 250.
In a step 250, the current correlation peak is compared to a correlation threshold, Tc. Beneficially, the threshold Tc may be determined as a function of a moving average, V, of all of the autocorrelation results, f(m), over a moving window, X. As discussed in more detail below, the correlation results are passed through a window averaging unit that can be implemented using a simple low pass filter. Alternatively, the threshold Tc may be a predetermined fixed value. If the current correlation peak does not exceed the threshold Tc, then no true correlation peak is identified and no burst is detected. In that case, the process returns to the step 225. Otherwise, the process proceeds to a step 260.
On the other hand, if the correlation peak exceeds the threshold Tc, then a true correlation peak is identified and a burst is detected. In that case, in a step 260 the receiver is switched to the next band, all counters are reset, the AGC loop is restarted, and the process proceeds to the step 265.
In a step 265, a new correlation is performed and the new correlation output, x, is compared to a current correlation peak for the current band. If the new correlation output, x, is greater than the current correlation peak, then the new correlation output, x, is stored as the current correlation peak, and the correlator output counter is reset to zero. Otherwise, the correlation counter is incremented and the current correlation peak remains unchanged.
In a step 270, the correlation count is compared to a correlation time interval, Y {length of time domain preamble sequence -1}, (e.g., 164). If the correlation count is less than or equal to Y, then the process returns to step 265. Otherwise, the process proceeds to the step 275. In a step 275, the peak correlation value is recorded and used to calculate a frequency error, as will be discussed in further detail below. Then, using the burst timing and corrected frequency from this and prior steps, frame synchronization is checked on all three bands.
In a step 280, it is checked whether frame synchronization is obtained on all three bands. If frame sync is obtained, then the receiver synchronization has been accomplished, and the process ends in a step 285.
Otherwise, if frame synchronization is not obtained on all three bands, then in a step 290, the process of seeking frame sync is repeated for a total of 24 symbol periods. If the frame sync is obtained within the 24 symbol periods, then the process returns to the step 265. Meanwhile, if the frame sync is not obtained within 24 symbol periods, then the process returns to the step 210 and starts all over.
While preferred embodiments are disclosed herein, many variations are possible which remain within the concept and scope of the invention. Such variations would become clear to one of ordinary skill in the art after inspection of the specification, drawings and claims herein. The invention therefore is not to be restricted except within the spirit and scope of the appended claims.