I'm working with the zcu102/adrv9009 and trying to understand the binary .txt format here https://wiki.analog.com/resources/eval/user-guides/ad-fmcomms2-ebz/software/basic_iq_datafiles.
My sample rate is 245.76 MSPS and have used the binary .txt to create sinewave on the I/Q channels 90 deg offset- scaled to 30000. I get the waveforms I expect- basically tones at some frequency scaled to amplitude 30000. An example of the beginning of one of my .txt is:
But then when I create a text file similar to 10.txt or 11.txt, I start seeing square waves with amplitude ~15000 on the I/Q channels. Can someone explain why this occurs?
I would have expected instead to see an ADC code of 1 (with some noise) at channel Q and an ADC code of 0 (with some noise) on channel I. And I'd expect these values to be constant in time not varying like a square wave.
Thanks for your help!
You can use the scale property in DAC buffer options to reduce the scale or just use the buffer interfaces from Python, MATLAB, C....
In regards to the square waves, my guess is that the internal algorithms…
Yes. Data is passed and return as is.
IIO-Scope automatically scales all file inputs to full-scale.
Is there a way to prevent IIO-scope from doing this? Is there an alternative to way to set the dac values?
Can you explain the square waves?
In regards to the square waves, my guess is that the internal algorithms are trying to crush the DC component of the signal on the receive side. DC components are usually not desirable for communication systems.
If I'm using python is this the buffer interface that you mean? https://github.com/analogdevicesinc/pyadi-iio
With these buffer interfaces, will I be able to set the DAC values outright (ie no scaling)?