Relative phase between antenna singals not consistent between UDP receiver restarts

Hi, i am analyzing the raw iq data coming from Heimdall in my own python scripts and noticed that for each time the IQ udp receiver reconnects, the phase seem to switch to a new random phase, even if the antenna and signal source setup is identical.

The Phase is consistent only changing ± 5 degrees for minutes at a time, but for every restart the relative signal phases switches to a new random phase. Both the phase and delay calibration reports back that it is good.

I also ask for the frequency to be set, but if i ask the frequency to be set to the same freq during a run without restarting the udp receiver, it will not change the phase.

If my understanding is correct, the “relative phase” between antenna singals should not change. Am i misunderstanding something or is it something else that explains the results?

Images of initial phase:

Image of phase after restarting the udp receiver:

On every reboot or retune the phases in the tuner are randomly scrambled. Each time that happens the Kraken reacquires coherence by comparing with Tuner 0, aligning USB samples (only after a full reboot), and creating a mew phase compensation vectors.

That makes sense to me as well. But wouldn’t that mean that the relative phase would stay the same after every re-tune, given that the received data is calibrated? If I pass the data toward a music algorithm, the estimated DOA is scrambled to a random value as well.

I don’t quite understand exactly what you are doing.

Do you mean that you have recorded IQ data from Heimdall, but every time you pass it through your MSUIC algorithm the result is different?

I have used the Krakensdr_doa udp receiver to get live iq data from heimdall. Then the code bandpass the signal around the strongest frequency (found via FFT) via the cannelize function in Krakensdr_doa. Then it calculate the correlation matrix between the antannas by multiplying the data with its complex conjugate transposed version. When creating the graph, i just extracted the first column of the matrix.

Now, when i use a PPT radio to generate a signal, both the measured phase and the estimated DOA stays constant during the whole test. But when i restart the Udp receiver during a test, the phase gets scrambled and the estimated DOA also gets scrambled. Its worth noting that i reject any data where the IQ sync or delay sync is not accepted.

When i check the heimdall logs, nothing seems out of the ordinary. Ill publish any code or logs, if it will be of any use:)

I assume you get correct results when using our DoA software?

I talked with our expert developer on DoA, but he’s also not sure on what could be causing your issue. He suggested that you might want to test your code first with simulated data to try and troubleshoot.