I have issues with sampling injected sine wave at -45dBm per input and live UMTS signal (same RF channel) at -80dBm per channel. Signal is equally splitted into the 4 receive terminals of fmcomms5.
See below for my setup.
I set the gain to manual at 25db or 50db.
I check the ready flag (0x017) and it appears 0x1A which I interpret as in the 9361 reference manual p. 12 - to mean "Calibrations done".
The unexplained phenomena is:
1. Overflow flags show large+small ADC overload and no overload on LMT at all, also that average signal power is below the low power threshold. regardless of gain and signal selection.
2. In all cases we see relatively large DC offset (on I and Q) - magnitude of 10% of the RMS amplitude. We also see large phase mismatch between channels: about 10 to 20 degrees between Rx1 and Rx2 (on the same 9361) and more than 100 degrees from Rx3,4 to Rx1. although we used "echo multichip_sync" to make sure that chips are synced.
3. Some times it appears as if not all the channels' gain is set - the samples appear in different amplitude although when polling the gain using "cat in_voltage0_hardwaregain" we see that our gain command has been received.
Please try to explain how can we make sure that FMCOMMS is ready for sampling in a fully calibrated state (no DC offset, and balanced phase & gain) . Thanks in advance.
My hardware setup:
I use matlab via libiio.
My setup is: AD FMCOMMS5 on XILINX 706.
linux kernel 4.6.0 21/11/2016
driver version - have run adi_update_boot and adi_update_tools around 20-sept-2017
I'm sampling 4 rx channels concurrently. Data is transferred to matlab on a pc via point-to-point ethernet connection using the libiio library. code is based on this example - https://ez.analog.com/message/322086-re-fmcomms5-with-matlab-via-libiio?commentID=322086#comment-322350