Why is the libIIO Simulink block for the AD9361 fixed in minor steps (FiM) e why doesn't it work with discrete (D) blocks? I can't find any reasonable explanations or solutions to this problem.
The "iio_sys_obj" block should work fine with discrete blocks in Simulink. Is there a specific error you getting?
Thank you for your response.
It works after setting the solver to a fixed step. However, I still get some problems when doing this. For example, by plugging the IQ outputs to a Real-Imag to complex block and plugging it to the FM Broadcast Demodulator or saving the complex variable to the workspace and demodulating "by hand", the data stream is clearly chopped. The FM block seems to adapt the framerate and the result is very low pitch playback. I tried setting the step size to the sampling time times block size and got better, but the problem persists.
I am using the 2015 R1 release. The newest release is bigger than the capacity of the SD card, so I still need to update it. After that I can also give you a feedback.
The blocks and system object from ADI will have gaps between buffer requests from the radio, it is just how things were implemented. It is on our to-do list to update.
If streaming continuous data is important for your application (like FM), and not just separate buffers of data, I would look at the MathWorks implementation: FM Monophonic Receiver Using Analog Devices AD9361/AD9364 - MATLAB & Simulink Example . As long as your PC can handle the data rates you should not experiences any chops/gaps in the data.
Thank you again for the quick response.
That was exactly my point. Thanks for clarifying it. I tested the MathWorks implementation that you mentioned and it worked fine. I stuck with the libIIO since we also have an AD-FMCOMMS5 in the lab and we plan to move to it soon and it is not supported by the MathWorks blocks.
To give you some feedback, continuous streams are important at least from the didactical point of view in the learning process. After FPGA implementation, processed data bursts should be enough as long as no data is lost. However, I am also glad that you are working on removing the gaps.
Retrieving data ...