[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Discuss-gnuradio] More Quadrature Demodulator Shenanigans
From: |
Joseph DiVerdi |
Subject: |
[Discuss-gnuradio] More Quadrature Demodulator Shenanigans |
Date: |
Mon, 1 Sep 2003 14:23:46 -0600 |
While working with the Quadrature Demodulator (QD) described in the Gnu Radio
Wiki (http://comsec.com/wiki) some classic experimental difficulties have been
encountered and are being addressed. The problem arises where the two
quadrature channels are not exactly in quadrature and/or their respective
values of gain are not equal. These issues are "classic" because they have
existed and been described in scientific literature for at least 29 years (my
earliest reference). These same issues have also been one of the motivations
for developing "digital receiver" architectures in recent years.
A particularly clear explanation of the problem and an analytic solution to it
is described in an article published in the Journal of Magnetic Resonance vol.
22 pp 265-276 from 1976. I've followed the analysis presented there and am in
the process of implementing the solution. I will summarize the story here.
The first of two steps is to recognize that if the two channels aren't in
quadrature then some quantity of one channel (say Q) is present in the other
channel (say I) and the problem is to determine exactly how much is present and
to remove it. The second step is to adjust the amplitude of the Q channel to
match the I channel. Fortunately, it is possible to measure both of these
effects using a single tone test signal and develop the correction terms for
later application to real signals.
Considering a single tone signal (no zero frequency signal nor pairs of signals
located symmetrically around zero frequency) emerging from a QD. If the two
channels (I and Q) are truly in quadrature then the signals emerging from them
are orthogonal, that is, the sum of the product of corresponding time points is
zero. If there is a quadrature error then this sum will be non-zero. The exact
measure of this non-ideality can be determined using the test signal and sums
of products of the I and Q channel signals. Specifically:
alpha = sum(I*Q) / sum(Q*Q)
then
I' = alpha * I
The authors show how I' and Q are now truly orthogonal and thereby in
quadrature.
Next the measure of the amplitude mismatch is given by the ratio of the RMS
amplitudes of the two channels evaluated individually.
gamma = sqrt(sum(Q*Q) / sum(I'*I'))
then
I'' = gamma * I'
And that's it. Provided the detectors are stable with regard to time and
environmental conditions, the coefficients alpha and gamma can be evaluated
once and applied many times using the relationship:
I'' = gamma * (I - alpha * Q)
Interestingly and because of the linearity of the Fourier Transform, this
correction can be applied either in the time domain *or* equivalently in the
frequency domain.
In a one-off analysis of my QD, I pushed a 5kHz off-carrier signal at 20% of
full amplitude into the QD and captured the sound card outputs for a few
seconds. Processing the data showed a so-called quadrature image at -5kHz and
about 41dB down from the real signal. Not too bad for no adjustments but it
could be better. Processing the data set as described above gave alpha =
-1.8699e-3 and gamma = 1.0134. Applying the correction resulted in reduction of
the quadrature image to about -86dB and new values alpha = -2.3266e-9 and gamma
= 0.999999 demonstrating good correction.
I'm now working on a GR module to implement this correction. Whew!
Best regards,
Joseph
--
Joseph A. DiVerdi, Ph.D., M.B.A.
http://xtrsystems.com/ 970.980.5868 (voice)
PGP Key ID: 0xD50A9E33 KC0QPZ
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Discuss-gnuradio] More Quadrature Demodulator Shenanigans,
Joseph DiVerdi <=