SDR I/Q Balancing on a Windows 7 System

When using a soundcard based SDR (software defined radio) like the SoftRock or the many variants based on the Tayloe mixer, it’s necessary to balance the soundcard channel’s amplitude and phase to maximize the opposite sideband supression. To date, I’ve done my SDR work on a netbook running Windows XP and never had a problem with this. Therefore, I was a little surprised when I hooked the hardware up to my Windows 7 system and couldn’t get the channels to balance no matter what I tried.

The SDR I was using consists of a homebrew receiver using the PCM2904-based soundcard I’ve previously described and the HDSDR software. Typically I could get deep notches on one or more frequencies as shown in the figure below, but no suppression over the rest of the bandwidth.

HDSDR Balancing

For those of you having this same problem, the solution lies in the Windows 7 sound card properties. Right-click on the sound icon in the lower right hand corner of the Windows 7 desktop and select Recording Devices. When the Sound form is displayed, select Recording tab.


Select the recording device you are using, then click Properties to display the device’s Property window.


Select the Advanced tab and note the value in the Default Format drop down. Mine was set to 1 channel, 16 bit, 44100 Hz (CD Quality). Set it to 2 channel with the highest sample rate available (in my case, that was 2 channel, 16 bit, 48000 Hz (DVD Quality)). Click OK and close the rest of the windows.


I think the key here is not the sampling rate but telling Windows you want to use two channels. In any case, as soon as I made that change I was able to balance the sound card channels just like I did on my Windows XP system.



  1. Chris Sullivan

    I didn’t have to do that, but I think it must be because you’ve used the Microphone input rather than a line-in pair. I’m going to try this on my laptop tonight because was trying it out using the input on the docking station and getting the same result you were.

    I landed here looking for a way to balance the audio channels. One of them seems to be at a higher amplitude than the other, so my image rejection is only about 20db. The windows levels controls don’t work with the ASIO driver, and the sound card looks like it depends on software and/or external hardware to manage the leves, and HDSDR doesn’t seem to have a facility to balance it.

    • joesugar

      I’m assuming you’ve gone into HDSDR’s Channel Skew Adjustment Panel (Options -> Channel Skew Calibration) and tried to balance things in there. One thing I’ve found is a lot of sound cards have a 1 sample offset between the channels. (I have that problem with the homebrew soundcard I put together). To fix this you can go into HDSDR’s Channel Skew Adjustment Panel and try different values of the left/right channel delay.

      • Chris Sullivan

        I either didn’t notice or forgot about the panel. Thanks for the tip. Also abandoned ASIO as it doesn’t support transmit and balancing the volume under the 16 bit driver gave me another 10db rejection. I’ll try the skew control, maybe I can get even more. Antenna work is next!


DuWayne's Place

Computers, Electronics, and Amateur Radio from KC3XM

QRP HomeBuilder - QRPHB -

Computers, Electronics, and Amateur Radio from KC3XM

Open Emitter

Computers, Electronics, and Amateur Radio from KC3XM

Ripples in the Ether

Emanations from Amateur Radio Station NT7S

m0xpd's 'Shack Nasties'

Computers, Electronics, and Amateur Radio from KC3XM

%d bloggers like this: