AnsweredAssumed Answered

Data Transmission with AD9361 on Linux-OS

Question asked by DukeCrimson on Jan 11, 2015
Latest reply on Jan 12, 2015 by rgetz

Good Day to All,


I'm an undergraduate student from Singapore, working on wireless communication with the ZC706+AD9361 kits.

Please bear with me if my questions are immature or have already been addressed in the other threads.


I'm trying to write a Linux application, which sends data from one AD9361 to another, based on the iio-stream.c loopback example. Based on what I have read thus far, I am able to send "1M_10M_nyq.txt" from and receive somewhat sinusoidal patterns/values on the other board. However, this is often accompanied by noise or feedback even with the FIR filter enabled. Furthermore, it seems that data is often lost between buffer_refills, i.e. TX = 1,2,3,4,5,6,7,8,9,10,11,12, RX_buf(1) = 2,3,4,5, RX_buf(2) = 8,9,10,11 (assuming buffer size is 4 on the receiver end, numerals in () represent the different time instances). Some data points have also been lost on the receiver end, i.e. RX_buf(1) = 2,3,5,6, RX_buf(2) = 8,10,11,12. On the other hand, I am receiving more data points than I have transmitted.


Since the receiver end is able to at least receive values that resemble pulse shapes/waveforms/patterns, I tried sending "HELLO WORLD" in its binary equivalent, using positive humps (positive half of a sine wave) of 10 samples to represent bit-1 and negative humps to represent bit-0. Also, I have added some binary patterns as some sort of preamble to indicate the start of the transmission to distinguish them from noise. Sadly, I'm receiving neither those preambles nor the "modulated" data.



1. Am I missing out on the more advanced configurations such as state machine controls, fastlock mode, etc?

2. Is there an in-built detection mechanism which distinguishes data packets from noise within AD9361?

3. How should I be interpreting the excess data values and data point losses that I'm experiencing?

4. Is my implementation of the "Hello World" transmission too naive?

5. What more do I need to have this basic data transmission work?


Any advise/suggestion/comment is greatly appreciated.