Revised November 2020
Revised November 2021
NEW: See results by Chuck Ritola on delays in PC sound cards below.
Software defined radios often use an analog quadrature mixer to convert RF to "baseband"; that is, to a lower frequency that can be sampled by a PC sound card. The mixer produces two outputs that have equal amplitude, but that differ in phase by 90 degrees. This is sampled by the left and right inputs of the PC sound card. Subsequent processing in the PC filters and demodulates the signal, and results in radio sound output. Examples of such radios are the SoftRock series, the early FlexRadio products and Direct to Baseband UHF radios.
Other software defined radios avoid analog mixers by sampling the antenna voltage directly. Subsequent processing is identical to radios based on quadrature mixers, but the mixers are digital instead of analog. Examples of this type of radio are the SDR-IQ by RfSpace, the Mercury and Hermes projects from the Open HPSDR Group, my (James Ahlstrom) SDR transceiver and the Hermes Lite 2.
Other radios use conventional mixers and crystal filters, and add digital signal processing at the IF. Examples are the K3 from Elecraft, and many other radios by leading manufacturers.
Here we are concerned with the problems that arise in radios based on analog quadrature mixers when the amplitudes of the two channels are not exactly equal, or the phases do not differ by exactly 90 degrees. These errors result in an undesired image response at the negative of the receive frequency. That is, if the radio receives a signal 10 kHz above the VFO (center frequency), the operator will see and hear a false signal 10 kHz below the center frequency. The same problem exists on transmit. If the radio VFO is 7100 kHz, and it transmits at 7110 kHz, there will be an image transmitted at 7090 kHz. Careful analog design can reduce these errors, and then a correction can be made in the software to reduce them further. For a description of the software correction see http://www.qsl.net/ik1xpv/dsp/pdf/aiqben.pdf and the pages for the various SDR softwares such as Linrad.
Note that sound cards do not respond to DC, so we must avoid frequencies near zero Hertz. We must also avoid frequencies approaching half the sample rate. Frequencies above the audio spectrum must be viewed with suspicion until measurements confirm that they are acceptable.
It is well known that some PC sound cards have a one sample time delay between the left and right stereo channel. This introduces a frequency dependent phase shift in the I/Q data. My Quisk software has an option to delay either channel by one sample. But recently (November 2021) Chuck Ritola discovered that delays between zero and one sample are possible too. He wrote an extensive discussion with measurements that is available here. It is advisable to use a proper audio interface without these delays rather than try to compensate for them.
I used a SoftRock Rx/Tx Ensemble given to me by Sid Boyce (thanks Sid) together with my Quisk software to measure the Tx amplitude and phase corrections needed to null the image. I used a Siglent SSA-3032X spectrum analyzer to measure the RF output, but you could also use a second receiver tuned to the image. The sample rate for all these measurements is 48000 samples per second, There are two tuning variables, the frequency of the VFO and the tuning frequency as an offset from the VFO. For example, you could transmit a signal at 7.101 kHz by setting the VFO to 7.100 kHz and tuning to 1 kHz, or you could set the VFO to 7.090 kHz and tune to 11 kHz.
This focuses on the transmit path, but corrections must also be made to the receive path, and so a second set of corrections must be measured. The transmitter requires much better image rejection than the receiver. A 40 dB image rejection is probably OK for the receiver, but 42 dB is the minimum FCC requirement for HF in the USA. We want to do much better than that because the image will appear several kilohertz away from our signal, perhaps even outside the amateur bands.
My initial attempt to use a Behringer UCA222 as the sample source failed, and I found that I could null the image only at very low audio frequencies. It turns out that this USB sound "card" has a one sample delay between the left and right channel. Unfortunately, several common sound cards have this problem. Quisk has a setting to delay one of the channels to compensate.
Note that the amplitude correction is almost a constant. The phase varies with both the VFO and the tuning frequency, but is most sensitive to the tuning frequency. The following graph has a fixed VFO of 7.000 MHz. The graph is quite linear, but shows a break at zero Hertz.
The above data only apply to the SoftRock Rx/Tx Ensemble, and other hardware may show different characteristics. Unfortunately, making these measurements is quite tedious unless you have a spectrum analyzer. Let's focus on a strategy to minimize the number of measurements. We could set the VFO to mid-band and make one measurement at about 7000 Hertz, the audio midpoint. Then we must operate the radio in the right hand side (positive audio frequencies) of the spectrum. To do better, we would use the mid-band VFO and measure at -7000 and +7000 Hertz. To avoid the break at zero Hertz, we would measure at -15000, -1000, +1000 and +15000 Hertz. Quisk software will linearly interpolate the measurements.
To correct for the variation of phase with VFO, we would use two VFO frequencies near the upper and lower band edge. For each, measure the correction at tuning frequencies of -15000, -1000, +1000 and +15000 Hertz. It is important to use the same list of tuning frequencies for each VFO. In this case, Quisk can perform bilinear interpolation on the VFO and tuning frequency. Additional offset frequencies and additional VFO frequencies (with the same offset list) can be added but are probably unnecessary for the Rx/Tx Ensemble.
Jim Ahlstrom, N2ADR