In the last month i've read some of the PLUTO-sdr documentation and came up with a few questions.
I am a hobbyist, I am trying to build some basic communication modems and some radar applications (probably bistatic), in doing so the following question arose:
1. continuous IQ streaming -
Is there a way of continuously IQ streaming using the given simple MATLAB API?
2.lib-iio VS FPGA design
Failing to continuously stream IQ data using the given API I'm thinking of getting more into lib-iio, (I am electrical engeneer but with no embedded systems experience) is my following understanding is right?
a. lib-iio is running over the linux core installed on the ARM-A9
b. writing an application using the lib-iio is easier over C compiler (rather than matlab)
c. it is possible to continuously stream IQ data over USB using the lib-iio
FPGA design VS ARM-A9 design
a. what is the incentive in programming directly the FPGA over controlling it using the ARM-A9? is it only good for ad-hok application using the real-time advantages of FPGA?
1. I'm not really sure your definition of continuous streaming but you can continuously pull buffers from PlutoSDR as these examples do: https://www.mathworks.com/help/supportpkg/plutoradio/ref/comm…
1. I'm not really sure your definition of continuous streaming but you can continuously pull buffers from PlutoSDR as these examples do: https://www.mathworks.com/help/supportpkg/plutoradio/ref/comm.sdrrxpluto-system-object.html
2. The libiio API is more feature-rich but also more complex, so I would not default to it.
a. This is documented here: https://wiki.analog.com/resources/tools-software/linux-software/libiio
b. libiio is a C API and MATLAB uses this under the hood. Unless you are very very good at C and not seasoned about using MATLAB I would argue that MATLAB is much much easier.
c. Yes, depending on sample rate.
3. The FPGA is better for fixed math which needs to operate on every sample and is deterministic, but the design is more complex. Software is easier to write but performance is not as good (usually) and operations are not guaranteed in a certain amount of time.