AnsweredAssumed Answered

Using both RX and OBS RX of AD9371 in C program?

Question asked by sleony on May 30, 2018
Latest reply on May 30, 2018 by sleony

Hi all,


I have had to change the frontend of my system from the FMComms 3 to the AD9371 because I needed to have two RX channels that are independent of one another. I was primarily using GNU Radio for my software development but could not get the generic IIO Device Source/Sink blocks to work. So I used the ADI IIO Oscilloscope program to configure both the RX1 port and the OBS/Sniffer RX port to receive on different center frequencies. It was successful albeit the OBS/Sniffer channel was more noisy than the RX1 channel. Because I need to implement a QPSK modem code I decided to just write all of my code in C (extract the C code out of the GNU Radio blocks). I used the libiio example program 'ad9371-iiostream.c' as my base program that shows how to initialize the Frontend. That program worked fine. Now I want to change it so that I can setup both the RX1 port and the OBS RX port for receiving (for now I just want to receive the raw data to a file). However I have come upon some assertion failures. It seems to happen after I try to configure an LO channel for the OBS RX. I tried to mimic the same steps for OBS RX that worked for the RX1 channel. If someone could point me to some documentation that would help me setup the OBS RX channel as a receiver (using C) that would be awesome! Or if there is something fundamental I am missing about this configuration, please let me know, Thank you so much!! Attached is my code.