View Full Version : Optimizing Dream and other SDR Software for I/Q-Balance and Phase

28-03-2008, 08:37
Hi Simone, Bernd and all!

I just found a paper which describes an automatic routine for I/Q balancing and phasing written by Oscar Steiler in 2006. He used it to make Image Rejection in Ciao-Radio SDR much better.

For me it's difficult (or better not at all) to understand (too much math), but he achieves very good image rejection with that and maybe its possible to implant this function in dream or sodira, too?!


28-03-2008, 09:01
Interesting document, Stephan. Thanks.

31-03-2008, 13:16
Hi all!

I found more information (seems to be the source of the other one):


There are some more docs explaining i/q balancing and a little example programm with the sourcecode written in "c++".


31-03-2008, 15:33
Hi Mauri!

I think its not possible. :(

Bernd Reiser from the SoDiRa Radio Software explained to me and others some days ago (in the german speaking area) that DRM uses a 48 khz sampling signal internal as well. so everything below that would kill information in the ofdm-stream and decoding wouldn't work anymore. And anything above wouldn't improve decoding either.
(as far as i understand, but i think there are others here that can explain better)

The only way i think could work is shrinking the data with a lossless codec like flac.


31-03-2008, 15:37
ahh, ok i think i understood your question wrong. You think about converting the wav-output?!

I use the amber audio converter to convert the wav-files to mp3 format, but other codec should work to. But this is all post-capturing software. you have to convert after recording to hdd. I don't know if theres an option hidden somewhere in dream itself.


31-03-2008, 20:08
Hallo to all,

we have manual adjusting in:

o SDRADIO by Alberto

o WINRAD by Alberto

o G8JCFSDR by Peter Carnegie

As told in the first document by Oscar, the optimization of Amplitude and Phase is dependend from the frequency. A certain old experience by only hardware I/Q receivers, historical ones. One fixing seems only optimized for one frequency, we have chosen. This means: The process needs a new manual optimizing after changing the frequency we were tuning.

RxDis does the job by optimising itself after calling the routine.

Automatically I/Q optimizing will need more CPU load.

Lets hope, that Bernd Reiser gets the problem solved by studying the mathematics and programming for SoDiRa.

It would be an extreme progress to have it.

I mentioned a lot, that after optimizing working with the SDR of Peter, that I had to opitimize manually for a new frequency. I started the Elektor_SDR receiver with the SDR and DREAM after adjusting phase and amplitude and got a relatively nice SNR of 37 dB SNR with an not so superb antenna.

Nice to see and wait


01-04-2008, 18:51
Hallo to all,

thank for the hint to RxDis. I run it parallell with other programms.

There is the possiblity to generate by routine an optimizing of amplitude/phase.

But: I have the experience, that I see peaks in RxDis, which I do partly not see in the parallel running programm. They are changing but remain on the same frequency.

As far as I am able to see during running DREAM with 12 kHz offset these peaks are coming and going. I think, they are changing by time and chance. But there seems to be a relation between higher SNRs in DREAM. They change with the changing value of the peak.

Conclusion, question: It could be, that the optimizing between amplitude and phase is changing by ? changing amplitude and phase of the incoming signal as phase-relations change.

If this is representive, one should have a continuos - every time active - phase/amplitude optimizing and till now not a momentous fixing by hand or procedure.

The 3 kHz peak in the left side channel is as far as I able to see, a phantom signal generated by RxDis.


02-04-2008, 15:36

I found, after optimizing amplitude and phase by the routine of the program, the display shows after some minutes, here receiving 6155 kHz in AM, that one should optimize again.

In other words, short after optimizing everything seems to be ok. After 5 minutes there is a change and the necessity to optimize again.

screen 1 is short after optimizing, screen 2 5 minutes later


02-04-2008, 15:46
Very interesting!

Would be good to know if the programm does its "calibration" only at start and if receiver has some drift in phase and/or amplitude the effect is melting down. than it would be important to a) stabalize the receiver or b) do the improving routine again every some minutes or even continuously.

But it can be that the demo-programme is not optimal. i think its written for very low-power pcs < 700 MHZ.


02-04-2008, 16:36
Hallo Stephan,

one has to call the routine by menu of the program. I am not shure and have no hint, that the program does optimizing by itself permanently or at starting.

Because of that, You have to use the routine in the menu of the program.

Simply to do: Just download the program and all hints and one is able to do the test in RxDis.

As far as i know till now, the program does only work in itself. No other program running is influenced. It is a demo-program. But interesting is the fact, that changed optimizing is at the same time, while DREAM is running, You see a changing SNR of decoding.


03-04-2008, 14:22

today I phoned with SSB Elektronik and during this time, amplitude and phase changed in RxDis a lot.

Screen diff_IQ_03 shows the situation after phonecall.

Screen diff_IQ_04 after call to routine everything is ok.

The Tx was 6155 kHz, Vienna.

There was no real peak besides 6155.