ZHCSJU4I November 2006 – September 2018 CC1020
PRODUCTION DATA.
For perfect image rejection, the phase and gain of the “I” and “Q” parts of the analog RX chain must be perfectly matched. To improve the image rejection, the “I” and “Q” phase and gain difference can be fine-tuned by adjusting the PHASE_COMP and GAIN_COMP registers. This allows compensation for process variations and other nonidealities. The calibration is done by injecting a signal at the image frequency, and adjusting the phase and gain difference for minimum RSSI value.
During image rejection calibration, an unmodulated carrier should be applied at the image frequency (614.4 kHz below the desired channel). No signal should be present in the desired channel. The signal level should be 50 to 60 dB above the sensitivity in the desired channel, but the optimum level will vary from application to application. Too large input level gives poor results due to limited linearity in the analog IF chain, while too low input level gives poor results due to the receiver noise floor.
For best RSSI accuracy, use AGC_AVG[1:0] = 11 during image rejection calibration (RSSI value is averaged over 16 filter output samples). The RSSI register update rate then equals the receiver channel bandwidth (set in FILTER register) divided by 8, as the filter output rate is twice the receiver channel bandwidth. This gives the minimum waiting time between RSSI register reads (0.5 ms is used below). TI recommends the following image calibration procedure:
If XP + 2 × DX < 127, then
write XP + 2 × DX to PHASE_COMP register
else
write 127 to PHASE_COMP register.
If AP > 0 then
set DP = ROUND ( 7 × DX × (2 × (Y0 – Y4) + Y1 – Y3) / (10 × AP))
else
if Y0 + Y1 > Y3 + Y4 then
set DP = DX
else
set DP = –DX.
If DP > DX then
set DP = DX
else
if DP < –DX then set DP = –DX.
If XG + 2 × DX < 127 then
write XG + 2 × DX to GAIN_COMP register
else
write 127 to GAIN_COMP register.
If AG > 0 then
set DG = ROUND (7 × DX × (2 × (Y0 – Y4) + Y1 – Y3) / (10 × AG)
else
if Y0 + Y1 > Y3 + Y4 then
set DG = DX
else
set DG = –DX.
If DG > DX then
set DG = DX
else
if DG < –DX then set DG = –DX
If repeated calibration gives varying results, try to change the input level or increase the number of RSSI reads N. A good starting point is N = 8. As accuracy is more important in the last fine-calibration steps, it can be worthwhile to increase N for each loop iteration.
For high frequency deviation and high data rates (typically ≥ 76.8 kBaud), the analog filter succeeding the mixer must be bypassed by setting FILTER_BYPASS = 1 in the FILTER register. In this case the image rejection is degraded.
The image rejection is reduced for low supply voltages (typically < 2.5 V) when operating in the 402- to 470- MHz frequency range.