How to cross-correlate two I/Q streams of same radio-station?

Andreas Hornig andreas.hornig at
Thu Dec 25 10:14:24 UTC 2014

Hi everyone and merry Christmas! :)

I want to find the same snippet of I/Q data of a radio station in another
I/Q recording of the same station but recorded with another dongle. Of
course both with rtl-sdr dongles.

I did this here
and played around with a python script and numpy math-lib to find this
"needle" in the "haystack" and the timeshift. But it didn't work. That's
why I am here to ask you how to do that.

First of all, I would like to ask you if you could somehow check if both
streams are actually containing the "same" I/Q data. Perhaps you can do
that with one other software if you can find it.

What I did was to use the numpy correlate function and added there some
lines to have it normalized to have the results between -1 and 1 as
explained here

But it couldn't find a needle sequence of 1000 samples that could be
refound in the haystack (about 2000000 samples) when the starting of the
needle samples were shifted a bit with some new 1000 samples.
I guess that the analogue radio channel on this carrier and thus the I/Q
doesn't form the I/Q enough to use each sample on that 2MHz sample rate,
but much less in the KHz range. But I am not fully sure if this is true.
This is why I am also here to ask about the influences on a cross
correlation and how to set it up.

So, any answer is very welcome. I hope it will work out in the end :).

Best regards,

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the osmocom-sdr mailing list