DC Offset and LO Leakage in Zero-IF Receivers

Leaked LO that returns to the mixer RF port self-mixes into a DC term equal to (αA²/2)·cos φ. Because α and φ move with the antenna environment, fixed calibration fails and receivers rely on high-pass filtering or offset cancellation.

For practitioners

A zero-IF (direct-conversion) receiver mixes the RF signal straight down to baseband. There is no image band to filter and no IF stage, which makes the architecture compact. The cost is a set of problems that sit right at 0 Hz. The biggest of these is DC offset caused by LO leakage and self-mixing.

Why zero-IF puts the LO in band

In a heterodyne receiver the LO is offset from the carrier by the IF, so stray LO energy falls outside the receive band and the front-end filter can reject it. In a zero-IF receiver the LO frequency equals the carrier frequency:

fLO=fRFf_{\text{LO}} = f_{\text{RF}}

So any LO energy that reaches the LNA or the antenna input is in-band. The front-end filter passes it the same way it passes the wanted signal. Nothing in the RF path can tell the two apart by frequency.

The leakage path: mixer to antenna and back

A real mixer has finite LO-to-RF isolation. Some LO power leaves through the RF port and travels backward toward the LNA. Reverse isolation through the LNA weakens it, but part of it still reaches the antenna port. There it can radiate, or it can reflect off the antenna and whatever is near it and travel forward again through the LNA to the mixer RF port.

AntennaLNAMixerRF portbasebandoutputBasebandamplifierADC12LO portLO oscillatorfLO = fRF1: LO leakage from mixerRF port, back through LNA2: reflection off antennaenvironment, forward throughLNA to mixer RF portAt RF port: LO × LOself-mixing gives a DC termthat adds to wanted baseband;can saturate baseband ampor eat ADC range
Zero-IF receiver front end showing the LO leakage path from the mixer back through the LNA to the antenna and the reflected return to the mixer RF port, where self-mixing creates a DC offset. Concept drawing.

The figure shows both legs. Dashed arrow 1 is the outgoing leakage: from the mixer RF port, back through the LNA, toward the antenna. Dashed arrow 2 is the return: the reflection off the antenna environment comes back to the mixer RF port. At that point the mixer has the LO at its LO port and a delayed, scaled copy of the same LO at its RF port. How much returns depends partly on the antenna match. A poorly matched port reflects more, as described in Return Loss vs Insertion Loss.

Self-mixing math: where the DC term comes from

Model the LO as A·cos(ωt) and the returned leakage at the RF port as αA·cos(ωt + φ). Here α is the net amplitude ratio around the loop (isolation, LNA gains and losses, reflection) and φ is the round-trip phase. An ideal multiplying mixer gives:

Acos⁡(ωt)⋅αAcos⁡(ωt+ϕ)=αA22[cos⁡ϕ+cos⁡(2ωt+ϕ)]A\cos(\omega t)\cdot \alpha A\cos(\omega t+\phi) = \frac{\alpha A^2}{2}\left[\cos\phi + \cos(2\omega t+\phi)\right]

The 2ω term is filtered off at baseband. What is left is a constant:

VDC=αA22cos⁡ϕV_{\text{DC}} = \frac{\alpha A^2}{2}\cos\phi

A quadrature receiver has an I mixer and a Q mixer with LOs 90° apart. The I path sees a term proportional to cos φ and the Q path one proportional to sin φ. The offset vector has magnitude αA²/2 on the IQ plane. Its angle is φ.

This DC term adds straight to the wanted baseband signal. The baseband amplifiers usually have high gain, so a large offset can push them into saturation before the wanted signal is even resolved. A smaller offset still takes up part of the ADC input range, which leaves less headroom for the signal.

Worked example: phase and amplitude of the offset

Take the I/Q result above. Use the DC value at φ = 0° as the reference, 1 unit on the I axis.

  • φ = 0°: I = cos 0° = 1, Q = sin 0° = 0. All of the offset is on I.
  • φ = 60°: I = cos 60° = 0.5, Q = sin 60° ≈ 0.866. The I offset halves and Q picks up most of it. The magnitude is still √(0.5² + 0.866²) = 1.
  • φ = 90°: I = 0, Q = 1. The I channel looks clean, but the offset is all on Q.
  • φ = 180°: I = −1, Q = 0. The offset changes sign.

Now amplitude. V_DC scales linearly with α. If a change near the antenna doubles the reflected amplitude, the offset doubles. In dB that is 20·log10 2 ≈ 6.02 dB more DC at the baseband amplifier input. A change in isolation or reflection shows up dB for dB in the offset.

Two lessons follow. First, checking one channel can mislead you: the offset can move between I and Q while its total size stays the same. Second, any change in α or φ moves the offset directly.

Why the offset drifts and fixed calibration fails

If the only leakage path were fixed on-chip coupling, α and φ would be constant. The offset could be measured once and subtracted. The reflected path is different. α and φ depend on what the antenna sees, and in a handset that changes with grip, nearby objects and position. The DC offset then becomes time-varying. A single stored calibration value matches it only at the moment it was taken.

When debugging a zero-IF DC problem, check whether the offset moves when you touch or shift the antenna. If it does, the reflected leakage path is involved, and a static correction will not fix it.

Coping: high-pass filtering and offset cancellation

Receivers use two main methods.

High-pass filtering. AC coupling or a high-pass stage in the baseband blocks DC. It tracks a drifting offset automatically, as long as the drift is slower than the filter corner. The trade-off is that the wanted signal is centred on 0 Hz after direct conversion, so the filter also removes wanted energy near DC. A higher corner rejects the offset better and settles faster, but it cuts more signal.

Offset cancellation. A loop estimates the DC at baseband and subtracts it, in analog ahead of the gain stages or in digital after the ADC. Correcting before the high-gain stages protects them from saturation. Any estimator that removes DC also removes the signal content at DC, so cancellation has the same basic cost as filtering. Only the shape and timing of that cost differ.

Both methods treat the symptom. The root-cause fixes reduce α: better mixer LO-to-RF isolation, more LNA reverse isolation and a stable antenna match.

In plain words · for students and beginners

DC offset and LO leakage in plain words

An everyday analogy

Imagine you're on a phone call with the speaker volume too high. Your own voice leaks out of the speaker, gets picked up by your microphone and comes back to you. In a zero-IF receiver, the "voice" is the LO (local oscillator: the internal signal the receiver uses to shift the radio signal down). The LO leaks out, bounces off the antenna and comes back into the mixer (the part that combines the radio signal with the LO). When the LO meets its own copy, the result is a steady DC level (a constant voltage that doesn't change over time).

Where the analogy breaks down: an echo is a sound you can hear. The self-mixing product is a flat level at 0 Hz that sits right on top of the middle of the wanted signal. It doesn't sound like anything. It just shifts everything up or down.

The same worked example in simple steps

  1. Say the leaked copy comes back with no phase shift (phase means how far one wave is shifted from the other). Call the DC offset 1 unit, and it is all on the I channel (one of the receiver's two output channels).
  2. Now say the reflection shifts by 60°. The I channel's offset drops to 0.5 and the Q channel (the other output) gets about 0.866. The total size is still 1.
  3. At 90°, I shows nothing and Q has all of it.
  4. If the reflection gets twice as strong, the offset doubles. That is about 6 dB more.
−B0+Bfrequency (Hz)B: signal band edgespikesignalfloorbaseband power (dB)self-mixing DC offsetwanted signalbandhigh-pass filter responseremoves DC but also cutswanted signal energynear 0 Hznotch at 0 HzNote: a time-varying offsetfrom a changing antennaenvironment cannot be removedby fixed calibration.
Baseband spectrum of a zero-IF receiver showing the self-mixing DC offset spike on top of the wanted signal and a high-pass filter notch that removes it along with some signal energy near 0 Hz. Computed from the formula.

The plot shows the result at baseband. The wanted signal is a wide band centred on 0 Hz. The offset is a narrow spike at exactly 0 Hz, taller than the signal. The overlaid high-pass filter (a filter that blocks very low frequencies) has a notch at 0 Hz. It removes the spike, but it also cuts some wanted signal next to 0 Hz. The note on the plot makes the last point: if the antenna's surroundings change, the spike changes too, so a fixed correction can't remove it.

Mistakes beginners make

  • Checking only one channel. The offset can move from I to Q while its total size stays the same.
  • Calibrating once and trusting it. When a hand or object moves near the antenna, the reflection changes and so does the offset.
  • Assuming the filter is free. Removing DC also removes wanted signal near 0 Hz.
  • Forgetting why it saturates. Baseband amplifiers have high gain, so even a small DC level can push them to their limit or use up the ADC's (analog-to-digital converter's) input range.

Remember

  • In zero-IF the LO is at the carrier frequency, so leaked LO is in-band and self-mixes into DC.
  • The offset size depends on how strong the returned leakage is and on its phase, and both change with the antenna surroundings.
  • High-pass filtering and offset cancellation remove DC, but they also take away some wanted signal near 0 Hz.

Frequently asked questions

Why does a zero-IF receiver have a DC offset problem?

The LO sits at the carrier frequency. LO energy that leaks out and comes back to the mixer RF port mixes with the LO itself, and two signals at the same frequency produce a DC term in the baseband output.

What is LO self-mixing?

Self-mixing happens when part of the LO reaches the mixer RF port and multiplies with the LO at the LO port. The product contains a DC component proportional to the leakage amplitude and the cosine of the phase difference.

Why can't a one-time calibration remove the DC offset?

If the leakage reflects off the antenna environment, its amplitude and phase change when that environment changes. The DC offset then varies over time, and a fixed correction stored once will no longer match it.

Does a high-pass filter fully solve DC offset in zero-IF?

It removes the DC term, but it also removes wanted signal energy near 0 Hz. The corner frequency is a trade-off between offset rejection and damage to the signal centred on DC.

References and further reading