The auto correlation of P is equal to (P1*P1+P2*P2+……PN*PN) / N and the cross-
correlation of P and Q is equal to (P1*Q1+P2*Q2+…PN*QN) / N where N is the number
of samples. For the equations derived in the previous section to be true, the cross correlation of the ideal I and Q channels should be equal to zero (orthogonal property of I and Q) and the auto correlation of the ideal I channel should be equal to the auto correlation of the ideal Q channel (and should be equal to the total power in each channel). These conditions are only satisfied when the numbers of samples used to calculate the correlations represent exact number of complete waveform cycles of I and Q.
The error detection block modelled in Simulink is shown in Figure 4.9 below. The sampling rate is 10 ns and the frequency of the calibration signal used for error
two ‘Gain’ blocks multiply the signals by 1 and 0.76143 respectively to introduce a gain error of 0.23857 (23.857 %). The ‘Dbl to Int16’ and ‘Shift right-2’ blocks are there to simulate the effects of ADC truncation to 14 bits. The ‘Product’, ‘Cumulative sum’ and ‘Shift right-4’ blocks calculates the correlations (shifting right can be used instead of division as dividing by 16 is equal to shifting right by 4 bits).
0.00001 (0.001 %). The difference in the actual phase error and computed phase error is 0.0000031 radians (0.0001776 degrees). A range of gain and phase errors were introduced in the I and Q signals. The accuracy of the computed errors was always better than 0.001 % gain and 0.0001 degrees. This is 100 times better than what is required to achieve 60 dB of image rejection.
Obviously, this is only true if the calibration signal is ideal. In reality, the calibration signal will have some phase noise, harmonics of 18.75 MHz frequency and uncorrelated noise added to it. All this will introduce errors.
The phase noise estimated in the calibration signal source is –80 dBc/Hz at 100 kHz offset, fairly constant down to DC and rolling off by 20 dB per decade at frequencies above 100 kHz. The effect of phase noise can be simulated as noise (with a Gaussian distribution) with zero mean and standard deviation equal to the Root Mean Square (RMS) phase error added to the phase of the signal source. The uncorrelated noise added to the signal source has been estimated to be at worst 50 dB down the signal source.
In order to simulate the effects of these variables, the error detection block has been slightly modified as shown in Figure 4.10 below. The ‘sine wave’ and the column select’ block has been replaced by two functional blocks. The outputs of these functional blocks are Asin(t) and Acos(t) respectively. Phase noise can be simulated by changing the functions slightly to Asin(t+) and Acos(t+). ‘’ is the phase error that will originate from a noise source with zero mean and standard deviation equal to the RMS phase error in radians (or variance equal to RMS phase error squared).
The RMS phase error for a phase noise of –80 dBc/Hz at 100 kHz offset, fairly constant down to DC and rolling off by 20 dB per decade above 100 kHz up to 40 MHz is calculated to be 0.06321 radians (or 3.62143 degrees).
The calculation is then carried over 1024 samples representing exactly 192 cycles of the I and Q waveforms. The ‘Shift right’ block now shifts by 10 bits (as dividing by 1024 is equal to shifting right by 10 bits). The gain error reduces to 0.000569023 (or 0.0569023 %) and phase error to 0.00037917 radians (or 0.021725 degrees). The gain error is approximately two times and the phase error five times better than what is required to achieve 60 dB of image rejection. Therefore, it is concluded that the effect of phase noise can be minimised by averaging the gain and phase errors over a large number of waveform cycles.
Obviously, if the phase noise is further reduced, the error detection block becomes more accurate. The RMS phase error for a phase noise of –110 dBc/Hz at 1 MHz offset, rolling off by 20 dB per decade as the frequency is increased up to 40 MHz or down in frequency to DC is 0.00511534 radians (or 0.2931 degrees). For this phase noise and the calculation carried over 1024 samples, the gain error reduces to
0.00026622 (or 0.026622 %) and phase error to 0.00002435 radians (or 0.00139 degrees). So, there is some advantage in keeping the phase noise as low as
possible.
The effect of uncorrelated noise on the error detection block is simulated next as shown in Figure 4.11 below. The outputs of the functional blocks is changed to [Asin(t)+N] and [Acos(t)+N] respectively. ‘N’ is random noise with maximum amplitude equal to A / 316.228 (50 dB down). The simulation is carried over 1024 samples. For no gain and phase error, the computed gain error is -0.0002161 (or 0.02161 %) and the phase error is 0.0002123 radians (or 0.01216 degrees). Hence, effect of uncorrelated noise is also minimised when averaging of gain/phase errors are performed.
that, 1/(cos()(1-)) is equal to x/(xy-zz) and sin()/cos() is equal to z/(xy-zz) where x, y and z are the three correlation outputs. Therefore, subtraction, inverse square root and multiplication (or subtraction, square root and division) operations are needed to be implemented in hardware to calculate the multiplying factors from the correlation outputs. The actual outputs from the error detection block are shown in Figure 4.12 below.
together to give IIDEAL. This is purely done to avoid any delays. In the actual design, I
channel will be delayed by the number of clock cycles it takes to perform the multiplication and addition operations to get QIDEAL.
Figure 4.13. Error compensation block
As mentioned earlier, effect of uncorrelated noise can be minimised by averaging. The signal to noise ratio was assumed to be 50 dB in which case averaging 1024 samples was enough to achieve more than 60 dB of image rejection. However, in practice, for a signal to noise ratio of 36.1 dB, averaging 1024 samples did not achieve the desired image rejection. Hence further simulations were carried out to evaluate this further.
For signal to noise ration of 36.1 dB, averaging 1024 samples only achieved 54.2 dB of image rejection. Increasing the number of averaged samples to 2048 did not improve the image rejection. Averaging 4096 samples improved the image rejection to 56.68 dB. Then as the number of averaged samples are increased there is no
improvement unless the average samples is increased to 65536 samples where the image rejection is 57.43 dB.
From this simulation, it was concluded that as the signal to noise ratio deteriorates, the number of samples that is needed to average will have to increase exponentially in order to achieve the desired image rejection.