While testing my FMCOMMS5 4-channel receive code, I noticed that I sometimes get corrupted data on a channel. For example, if I am receiving on all four channels with the RF inputs left open, then I would expect to see low magnitude noise. Sometimes, I will instead see low magnitude noise with a lot of high magnitude spikes (1-sample wide). Here's an example of the behavior I'm seeing.
Those spikes in the data are all only a single sample wide. They all seem to be uncorrelated between I and Q.
When this happens, it almost always happens on channel 4 (though I think I've seen it on other channels). These corrupted samples sometimes go away if I reboot the system, but not always. Furthermore, if they are occurring then they may continue to occur even if I tweak radio settings such as center frequency, sample rate, RX gain and gain mode, etc.
The one thing that I've found that seems to make a difference is turning off in_voltage_bb_dc_offset_tracking_en for ad9361-phy-B. If I set that value to zero, the corrupted samples will sometimes disappear. If I set it to 1, then the corrupted samples will come back. It seems that this doesn't always work, though.
All of my tests have been performed with a stock FMCOMMS5/ZC702 setup (2016-r1, with ADI Update Tools and ADI Update Boot run immediately before the tests). The software I'm using is very similar to the iio-streaming C example, but adapted to use all 4 receive channels.
I haven't been able to figure out what exactly in_voltage_bb_dc_offset_tracking_en is doing. Is it possible there's an HDL error in the tracking module?