Fig. 3-7 AGC Flow Chart
Clock Drift Estimator
When there is frequency offset in the oscillator, it will cause sampling clock offset (SCO), and then go through synthesizer, and become carrier frequency offset (CFO). Thus we can extract oscillator frequency offset from CFO, and then send corresponding codeword to tune the oscillator. Fig. 3-8 is the block diagram for clock drift estimator. After packet detection and AGC, estimator I uses the short preambles to calculate the fractional frequency offset. Then de-rotator rotates the short preambles phase due to value from estimator I. After de-rotation, short preamble comes into estimator Ⅱ. Total frequency offset equals to combination of value calculated by estimator I and estimator Ⅱ . Then DDFS tuning codeword mapping maps the calculated frequency offset to corresponding DDFS codeword.
28
Estimator I De-Rotator Estimator Ⅱ
DDFS Tuning Codeword Mapping Clock Drift
Estimator
DDFS Tuning Codeword Packet
Fig. 3-8 Clock Drift Estimator
Estimator I
Here we use maximum likelihood estimation to calculate CFO, as shown in Equation(3.5). Zm in the equation is the short preamble.
Fig. 3-9 is the estimation offset when clock offset equals 4000ppm. It shows that estimation value oscillates around real offset value, thus we take the mean of estimation value over a sequence. The overall clock offset is shown in Equation( 3-4 ).
Phase can only resolve in range of
, which corresponds to ideal estimation range equals to 12LTs
. Since the baseband data also suffer from SCO, the actual estimation range will smaller thanLT
s
12
. From Matlab simulation (Fig. 3-9), when TS is 5MHz, the toleration of algorithm is 4000ppm.
29
(a)
ppm
4000
(b)
Fig. 3-9 Matlab simulation of clock drift estimation
Estimator Ⅱ
We use Estimator Ⅱto estimator larger frequency offset. Estimator Ⅱuses match filter approach to detect the specific frequency offset. As shown in Fig. 3-10 and Equation( 3-5 )
H0: x[n] = s0[n] + w[n]
Hi : x[n] = si [n] + w[n]
Hk: x[n] = sk[n] + w[n] ( 3-6 )
where
si[n]:Detector with different IFO, n= 0~N-1 w[n]:White Gaussian noise, n = 0~N-1 The probability under white Gaussian noise is
. . .
30
The optimal Hi is chosen when
Thus the optimal decision is
Fig. 3-10 Phase Ⅱ Estimator
Short preamble is the prior knowledge to the RX. To get si[n] detector, we pre-distort the short preamble with specific frequency offset, as shown in Fig. 3-11. For example, to get 8000ppm detector, we pre-distort short preamble with 8000pppm frequency offset.
1 2
31
f fs
Short Preamble si[n]
Fig. 3-11 Generation of detector coefficient
De-Rotator
Estimator Ⅱ decides the frequency offset according to smallest distance between incoming distorted short preamble and specific detector si[n]. To make incoming short preamble closer to the si[n], de-rotator compensates the short preamble due to the value from estimator I. The overall procedure is shown in Fig. 3-12. Assume original short preamble has -9000ppm frequency offset. Ideally, estimator I gets value -1187.5ppm, and de-rotator compensate this frequency offset, making the remaining frequency offset locate on -8000ppm detector. Finally the total frequency offset is combination of estimated value from estimator I and estimator Ⅱ, which is -1187.5ppm + -8000ppm equals -9000ppm.
S
0S
1S
2S
-1S
-2-9000ppm
-1187.5ppm
-15625ppm Detector
-7812.5ppm Detector
0ppm Detector
7812.5ppm Detector
15625ppm Detector Fig. 3-12 Clock calibration example
32
Boundary Detection
After the packet detection, we get the rough timing information of coming packet.
However, we still need further timing information in order to derive ISI-free DFT-window for later channel estimation, SIG decoding, and data demapping.
Conventional boundary detection uses cross-correlation algorithm Equation( 3-7). The receiver correlates the received signal with ideal pre-known waveform (such as GI2 in preamble). The boundary is found when cross-correlation value is larger than threshold, as shown in Fig. 3-13
( 3-7 )
Threshold
Boundary
Fig. 3-13 Conventional cross-correlation
However, frequency offset of on-chip oscillator deteriorates the received signal, which decreases the correlation value significantly. Moreover, the multipath effect causes the uncertainty of the peak of correlation value as shown in Fig. 3-14.
|
| ) (
1 0
*
Rr
L r m r m
x z
m
33
Fig. 3-14 Multipath effect
Due to the above problems, we use dual-correlation algorithm to do the boundary detection. It combines both auto-correlation and cross-correlation algorithm, and in auto-correlation part, it averages over some short preamble symbols to combat the magnitude attenuation due to clock frequency offset. The boundary detection algorithm is shown in Equation( 3-8 ). z is the received signal. x is the ideal short preamble. N is short preamble size 16. R is the auto-correlation window which equals to 16.
( 3-8 )
Boundary is detected when
The waveform is shown in Fig. 3-15
34
Boundary Detected
Threshold_1 Threshold_2
Fig. 3-15 Dual correlation waveform
3-3.3 Channel Equalization
The measurement result in Fig. 3-16 shows that body channel is selective, thus we need channel equalizer to make it flat. The algorithm we choose is zero forcing, as shown in equation( 3-9 ). We use received long preamble, compared it with ideal long preamble. The comparison result is estimated channel. Then the incoming signal divided by estimated to make it response flat.
35
Fig. 3-16 Frequency response
( 3-9 )
Ck = channel frequency response
LPk = ideal long preamble LP’k = received long preamble
Zk = incoming signal
Z’k = signal after equalization
3-3.4 Post-FFT Compensation
In the time domain, we have done the clock calibration and fine carrier frequency offset calibration. However, due to noise, clock jitter, and some other defects, there still exists some residual offset in the system. Thus post-FFT compensation is needed. Equation( 3-10 ) shows the frequency domain expression when there is residual offset exists.
ε
F is carrier frequencyoffset (CFO), and
δ
S is sampling clock offset(SCO). From equation( 3-10 ) we can see thatCFO and SCO causes phase shift for received signal, thus the distortion in phase is in equation ( 3-11), k is the sub-carrier index.
( 3-10 )
( 3-11 )
Fig. 3-17 shows the frequency domain plot of phase. From the figure, we can see that CFO causes offset in phase and SCO results into slope in phase.
C k
36
F
SFig. 3-17 Phase distortion in frequency domain
Here we use linear least square estimation to calculate the residual CFO and SCO. We can model distorted phase as equation ( 3-12 ). The linear least square estimation solution is shown in equation( 3-13 )
( 3-12 )
37
Since we compensate symbol by symbol, thus L = 1
In our system, sub-carrier size N = 64, cyclic prefix Ng = 4, k = 31,
k 0
Take all the numbers in
Finally, we get the estimation range is 1543 ppm, which is
7715Hz in 5MHz clock.38