How to reset the IQ balance [fixed in v1.266]
edited February 2019 in Problems Now Fixed
Today I tested my little C-Quam AM Stereo Tx (ASMAX2). The signal sounds great (SDR switched to 3 users, 20 kHz BW) but no stereo so I switched to IQ mode. The sound is still mono and distorted. I thought maybe I have to recalibrate the IQ balance so I opened the IQ Display and read the instruction to disconnect the antenna, zoom in (to a non excisting station ?) and pressed IQ balance. The only result is an every test increasing "I" value and after I finished the S-reading was way over S9. Result for now, a bricked SDR in AM and AMN? So please help, how can I reset the IQ Balance so that the I and Q readings are zero again and I'm able again to receive AM signals!
If your Kiwi receives no signals because the IQ balance has ended up with huge offset values simply do this:
Open the IQ extension.
Set the PLL mode to OFF (very important).
IQ balance as normal (AM mode, antenna disconnected, no signals or spurs within passband when zoomed in).
Everything should now be back to normal.
The update will improve the IQ balancing user interface and fix a bug related to 20 kHz mode (the above fix works for both 12 and 20 kHz mode).
So the problem is that you can't be doing an IQ balance with the PLL turned on. This fact is now documented with the IQ balance instructions in v1.266. What's happening is that the PLL is trying to find something to lock onto and as a result is pulling the I and Q values around causing the sampling for IQ balance to be, well, unbalanced. That's why repeatedly doing a balance with the PLL on was causing the I offset value to start moving significantly away from zero until the offset itself was overwhelming the desired I signal component. This has the of effect drowning out the received signals causing the volume to go down, large S-meter reading, etc. that you observed.
Each IQ balance you make is cumulative since the prior IQ balance is in effect each time you make a new balance. That's why it's so important that there is no signal or spur within the passband while you balance -- so the I & Q offset numbers measured are not skewed by any signals being received (only influenced by the uniform noise level).
There is a new button in the balance popup that allows the offsets to be restored to their default values. And also fields for manual entry on the admin config tab. So in the future you shouldn't get stuck if somehow a bad balance occurs (e.g. there was something other than uniform noise in the passband).
Interestingly, I discovered that the default IQ offset value for 12 kHz mode (4 and 8-channel mode), -0.02, is not the correct one to use for 20 kHz mode. It seems to scale with channel bandwidth. The correct value is -0.02 * 20.25/12.0 (kHz) = ~ -0.034 So I had to add some code to use the correct default depending on mode.
There is really no reason to ever be rebalancing the IQ. The Kiwi is not like those analog sampling SDRs (e.g. SoftRocks) that need to be individually tuned. The default values have been shown to be correct for all Kiwis with their modern differential input ADC and ADC preamp. The only thing that is currently unknown is why the required Kiwi IQ offset values are not zero. The fact that the same value is required for all Kiwis (either -0.02 or -0.034 as mentioned earlier) seems to indicate there is a software/firmware reason someplace. Today's finding that this offset value is channel-bandwidth dependent is an important clue. But this is not really a problem, it's just an open question.
One of the best ways to understand the effects of IQ offset is to try the following. Find a moderately weak carrier such as an Ethernet spur with the antenna disconnected. In AM mode set the tuning so the carrier is in the low frequency part of the passband, like 300 Hz or so. Narrow the passband to 1 kHz by typing '/1k' in the frequency entry box. If you're in AM mode you should not hear a 300 Hz tone if the IQ is balanced properly. Now open another browser tab and connect to the admin config tab. Change the I balance offset to -1.0 You should hear a 300 Hz tone in the now unbalanced condition. When you change the value back the tone should stop. This is how I discovered the default balance value was wrong in 20 kHz mode. You get tone when using the 12 kHz mode balance value.