2.3 Modeling the system
2.3.5 Phase blind calibration
2 4 6 8 10
−0.005 0 0.005 0.01 0.015 0.02 0.025
Channel 1
2 4 6 8 10
−2 0 2 4 6 8 10 12x 10−3Channel 2
2 4 6 8 10
−4
−2 0 2 4 6 8x 10−3Channel 3
2 4 6 8 10
−20
−15
−10
−5 0 5x 10−3Channel 4
2 4 6 8 10
−2 0 2 4 6 8 10x 10−3Channel 5
2 4 6 8 10
−0.005 0 0.005 0.01 0.015 0.02 0.025 0.03 0.035
Channel 6
2 4 6 8 10
−10
−5 0 5x 10−3Channel 7
2 4 6 8 10
−14
−12
−10
−8
−6
−4
−2 0 2x 10−3
Channel 8 Total rel err 2.74e−01
simulink linear
0 0.5 1 1.5 2 2.5
−190
−180
−170
−160
−150
−140
−130
Frequency (GHz)
Power/frequency (dB/Hz)
Frequency domain. Single pulse at 701.8 MHz carrier Amplitude: 1.0e−03 (0.0 dB dynamic range)
N=1024 (T=205 ns), jitter rms = 2.0 ps Estimate pulse to have frequency 701.5 MHz (true value 701.8 MHz)
original recovered
0 20 40 60 80 100 120 140 160 180 200
−1
−0.5 0 0.5 1 1.5x 10−3
time (ns) Time domain., MSE=7.4⋅10−2 Rel. l
2 error: 2.7⋅10−1; rel. l∞ error: 2.5⋅10−1; rel. l∞ freq error: 3.4⋅10−1 MSE on pulse envelope: 4.4⋅10−2
TOA estimate: 6.4 ns, Actual: 32.2 ns, Error: 25.8 ns Duration estimate: 186.2 ns, Actual: 156.0 ns, Error: 30.2 ns
delta = 0.000000 phase shift =0.000 deg
demodulation of exact signal demodulation of recovered signal error
Figure 2.16: Phase blind calibration, using Simulink to generate “real” data, and using a simple Bernoulli model for Φcrude. The Bernoulli model is inaccurate and does not capture phase response of the system, but it is sufficiently accurate to allow estimation of the phase of input signals since this is a massively overdetermined problem. From this phase estimate, a linear model Φ is created. The plot on the left shows how well Φxpredicts measurements S(x) from a test pulse; and the right plot shows reconstruction of this test pulse using. In both plots, the errors appear to be systematic in a harmless manner, affecting mainly the amplitude.
ADC samples are periodic, but the actual rows of the Φ matrix will not repeat until both periodic sequences line up. For Nint = 100 and Nchip = 128, this is Nmin = 3200. The system is fully characterized by a Φmin matrix with 3200 columns. To simulate a larger system, a new Φ matrix can be created by using copies of Φminon the diagonals.
system, Φcrude. This can be created from any of the methods described above, such as a Bernoulli model, or a Simulink calibrated model. The better this estimate is, the more accurate the phase estimation will be. Letb=S(cos 2πkt/T +θ) be the measurements. Then we solve
θˆ=]argmin
A∈C kb−ΦcrudeAei2πkt/Tk2 (2.3.6)
wheret is a Nyquist time grid. This estimation is a 2-dimensional least squares problem which can be efficiently solved, similar to the method mentioned in§2.4.2.
It is likely that the crude estimate Φcrude has different alignment than the true hardware, so the estimate ˆθ will be off. The biggest source of error is a shift in the bit sequence. Thus the above procedure can be repeated for a shifted version of Φcrude. For every shift, we generate a new estimate of the phase; using this phase estimate, we compute the sample error, and pick the shift that has the least error; see Figure 2.17. If Φcrude is a Bernoulli matrix, then shifting it is trivial. For a Simulink calibrated matrix of sizeNmin, exactlyNmin/Nchipof the possibleNintshifts can be easily generated by shifting the matrix. IfNchipandNint are relatively prime, this is all of the shifts. In our system, Nchip= 128 and Nint= 100, so only 32 of the possible 128 shifts are generated by shifting the rows and columns of Φcrude. To generate the other shifts, we need to build up the impulse response of 3 other Φcrude matrices, each with a shift from a different co-set.
The estimation problem is parametric, with θbeing determined by 2 parameters (or 1 complex parameter), and the shifts being determined byNint parameters. IfT is short, thenbonly has a few entries, so this problem is ill-posed. However, hardware measurements can easily generate long T samples. Furthermore, the shift of the chipping sequence is fixed regardless of the signal measured, so all the data can be combined to estimate the best shift of the chipping sequence. Hence the problem is estimating about 256 parameters from a dataset of size on the order of 104 to 106, and hence should be extremely accurate. The shift of the PRBS is estimated separately for each channel since each channel may see slightly different delays, but the shifts are expected to be similar, so this helps the estimation.
The crude model Φcrudemay not account for some complicated properties of the system, such as the phase response of the various filters, and this will lead to systematic errors in the phase estimation which are frequency dependent. However, preliminary tests (using Simulink as the “real” device, and a Bernoulli Φcrude) suggest that the error is a smooth function of phase and also concentrated at low frequency. Thus it may be possible to correct for this; even if it is not corrected, the effect on reconstruction may be small; see Figure 2.16.
We now return to the issue of finding the response of the system to two signals of the same frequency but of different phase. Let θ1 and θ2 be the phases of the two input tones, each of grid frequency kt/T for some integer |k| ≤ N. One possibility is to separately estimate θ1 and θ2 in
0 2 4 6 8 10 12 14 16 18 124
124.2 124.4 124.6 124.8 125 125.2 125.4 125.6 125.8 126
Phaseestimate(degrees)
data chunk 0 20 40 60 80 100 120
0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
relativeerror
PRBS offset
ch1 ch2 ch3 ch4 ch5 ch6 ch7 ch8
Figure 2.17: Phase blind calibration. Showing preliminary results from late March, 2011, using a single frequency input. This is real hardware data, using a Bernoulli Φcrude. Left: the estimated phase for different data sets (single channel shown). Right: since there is no absolute time reference, the PRBS sequence needs to be aligned. The estimated shift of the sequence is the location of the minimum. Each channel shows a similar minimum, which indicates the method works. This is calculated from a single data set; by including more data sets, the data will improve.
the manner just described. A more accurate method is to record 2Nmin measurements of a single input tone; letTmin =Nmin∆T. Recall that T =N∆T. If the input is x(t) = cos(2πkt/T +θ1), then we consider x1 =x(t) as the first signal, and x2 =x(t+Tmin) as the second signal. This is equivalent tox2 =x(2πkt/T +θ2) whereθ2 =θ1+ 2πkTmin/T. Thus x2 is linearly dependent on x1 wheneverkTmin/(2T) = 2kNmin/(N)∈Z. If N > Nmin, then there are some frequenciesk for which this is not an integer, and hence we simply use the second set of measurements to complete the characterization of this frequency (andθ1 and θ2are now jointly estimated). If the quantity is not an integer but lies close to an integer, then we can improve robustness by skipping ahead by a few more blocks ofNmin.
For frequencies k where this is an integer (if N = Nmin, this is all frequencies) then θ2 = θ1 mod 180 so the samples are linearly dependent. In this situation, we generate several sets of measurements from the AWG, and most likely each waveform will have a different phase. These phases are estimated separately and then combined. Note that if N is prime, then this situation will never occur, though it may not be robust. A large prime value ofN, withN Nmin, will be a more robust choice, though it will require more measurements.
When N > Nmin, then the Φ and ΦFFT matrices have unnecessary columns. If necessary, the time-domain version Φ can just remove the extra columnsafter being created by an inverse DFT of the larger ΦFFT. This will induce a few errors (since the time vectors should really be thought of as the inverse DFT of the frequency vectors, not as a inherently meaningful themselves), but should not be significant.
This calibration system is in the process of being implemented on the RMPI chip. A com- puter controls the entire process, but it is far from trivial since several thousand sets of precise measurements must be taken. Preliminary results are shown in Figure 2.17 which indicate the
method consistently estimates phase and shift parameters. These results show the the phase and shift estimates of a 1 GHz signal collected from hardware measurements, and using Φcrude for the estimation.
We note that changing the ADC ratefADC, and henceTint, is one of the easiest system parameters to modify. ChangingTint from 100 to 96 makes a big change, since now Nmin= LCM(Nchip, Nint) is 384 instead of 3200, so it would be possible to build a calibration model using a smaller N since the only requirement is thatN ≥384.
An alternative to the phase blind calibration is to use the accurate SPICE model for calibration, since then the input signal is known exactly. However, since the Cadence software is run on a single computer, it would take about a month of computational time to record N = 1024 signals, so we favor the hardware-based approach.