Post Go back to editing

Pluto at 10Msps, MATLAB parallel workers, libIIO, other options ?

I'm receiving data on two Plutos from MATLAB at the same time using parallel workers. To keep data in time sync, I first send a known pattern with one of the Plutos, then switch the receivers to the actual signal, while steady reading all the time. Later I determine the time offset between receivers by processing the fraction of data containing the pattern and delay the data in one of the receivers accordingly. The data itself I can't use for this, I do need the pattern to be able to correct the data. Data is later batch processed, no need for realtime except when sampling.

This worked for "low" sample rates after I asked for help in this post

At 10Msps a realtime model can't keep up (on my machine ?) and samples are dropped. If I try to force a display update using 'drawnow' sometimes the delay between the receivers is longer than the desired amount of data or one of the receivers stops for a while. I will try to control a relay switch with another parallel worker and hope no samples are dropped at crucial times.

A burst model has the limitation of 1.6 seconds (16M samples) which might not be enough to switch sources. I can't use more than one burst 'cause samples are dropped between bursts and the offset between receivers changes.

I wonder what other options I have. I'm an old embedded developer used to work in C with microcontrollers and have some Linux expertise at userland; I'm more afraid of Windoze than libIIO, this should run on W10 on the machine that has the two USB connected Plutos. I can read Python, and managed to write some. So far I've collected some pointers to libIIO docs and bumped into this example, which I don't know whether it runs on the host, the Pluto, either one...

I'd like to hear your voices and get some suggestions while I try some more tricks at the MATLAB level before giving up and resorting to dive into libIIO or whatever. I'm not reluctant to reading docs.

Top Replies