Post Go back to editing

2 Channel RF Loopback on AD9361

Hello,

I am using a Zedboard and an FMCOMMS3 (with a single AD9361). For a single channel (rx1 ---> tx1), I have figured out how to enable the RF Loopback mode where the received data is processed through the receiving RF chain and then directly sent to the transmit chain and transmitted. I am using lib iio to do this and writing directly to the registers 0x80004418 on "cf-ad9361-lpc". Writing 0x8 to this register enables loopback and writing 0x0 disables it. Additional channels have the same registers with an offset of 0x40 per channel, so I thought writing to 0x80004458 and so on would enable the second channel(I am unclear if "channel" here is i and q combined or an i channel and a q channel, so I tried writing to 4 registers).

I think this kind of worked because when loopback is off, there is a high amount of leakage transmitted. But when I turn loopback on, I see roughly the same signal transmitted on channel 1, basically just limited by the RF bandwidth. However, on channel 2, the leakage goes away when loopback is turned on and it appears to transmit just the noise floor.

Is it possible two have 2 channels in loopback mode at the same time? 

I stumbled upon these Linux drivers. Case 2: in Line 1021 is where loopback is enabled. ad9361_hdl_loopback sets the registers I was talking about. I am unclear about the purpose of ad9361_int_loopback_fix_ch_cross and I am curious if it means that only 1 loopback channel is possible.

Any guidance that someone can give me would be much appreciated. Please let me know if I need to clarify something.

Kindly,

Glenn