I have 2 LimeSDR Minis (v 2.4) that are connected to the same clock. I am running them simultaneously and am not surprised that their output is not synchronized in time. What does puzzle me is the following: there is a time offset between the two that is constant over multiple loops of LMS_SendStream - this is what is sending out the TX stream and even though the offset between the transmit streams (from the two different SDRs) varies from one initialization to the next (brought on by restarting the program).
In other words, I start the program and all of the stream set commands occur, then I start looping through the LMS_SendStream commands and observe a constant time offset between the SDRs that only changes if I stop the program and restart it. For that reason I can synchronize them by offsetting the TX timestamp of one relative to the other, but the actual time offset still varies from one initialization to the next, making the synchronization impossible. I want to make it clear I am not actually thinking I can synchronize them this way, but am trying to understand how they work.
I guess what I don’t understand is why the time offset doesn’t vary for each loop? I have tried restructuring the code I am running by giving the LMS_SendStream commands so they are given in a separate order, etc, however the relative offset of one particular SDR relative to the other remains (i.e. one SDR is always timed before the other, and the offset time is on the order of 4 msec).
Maybe I have described this poorly, but if anyone can explain to me why I see this (or give me any ideas), please let me know.
Thanks in advance for all of your help.
6 posts - 3 participants