[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] direct conversion compensation

From: Peter Monta
Subject: Re: [Discuss-gnuradio] direct conversion compensation
Date: Sun, 09 Dec 2007 04:58:36 -0800
User-agent: Thunderbird (X11/20071115)

Has anyone experimented with the digital compensation of the I/Q imbalance from direct conversion asics like the one in the dbsrx? I'm interested in the algorithms employed and how successful the compensation can be.

It depends on how detailed a model you're willing to
implement and the stability of the hardware (temperature
is usually the biggest issue).  I haven't looked at the
dbsrx, but I've done something similar for a couple
of transmitter designs.

In rough numbers, a quadrature modulator or demodulator
might be natively good to around 40 dB of image rejection.
Fixing the LO and applying fixed gain and phase corrections
might improve this to 50 dB.  The deluxe model would go
something like:  take your complex-baseband signal; take
its conjugate; apply an n-tap complex filter for some n,
which includes a scale factor (of around -40 dB) and
a frequency-dependent amplitude and phase response; and
finally add it back to your original signal.  If the
filter is right (it would be obtained from some sort of
calibration), it will serve to cancel the image response.
Image rejection of 65--70 dB is attainable over
nontrivial bandwidths.

If you can somehow close the loop with a pilot signal,
even better rejection might be had with an adaptive
canceller continuously estimating the filter mentioned
above, tracking out the last smidgen of temperature-dependent
bumps and wiggles.  For a receiver, this could be something
like injecting a comb at a suitable level prior to the
receiver, then watching the image frequencies for any
tone power, and twiddling the filter to cancel it.
Oh, and subtract out the comb before it hits the real
receiver.  (Pseudonoise could also serve, but it might
be less convenient to generate.)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]