We are using zc702 with fmcomms4 and currently trying to transmit and receive a BPSK modulated signal either using MATLAB or Oscilloscope.
The signal is created as follows:
>> b = 2*randi([0 1], 32768, 1) - 1;
>> y = [zeros(1000,1); 0.8*complex(b,b)];
saved to a .mat file and transmitted using iio-oscilloscope. On a standalone RF spectrum analyzer/oscilloscope we observe that the output power is constant.
However, when we receive this signal iio-oscilloscope the I component of the signal is changing it's amplitude over time, sometimes having visible "jumps", as presented on the screenshot. Note that the amplitude starts to slowly decrease after the jump.
When generating a QPSK signal in the same way, everything is fine. RX gain mode is set to 'manual'. What could be the cause?
Thank you in advance.
This is due to Quadrature tracking. You are transmitting a purely real signal, which makes the Quadrature tracking go crazy. Turning it off should remove these "jumps".
More info: https://wiki.analog.com/university/tools/pluto/users/non_quad
Whoah, thank you very much!
Sadly, I've only studied the fmcomms2 web page and never visited pluto's, so didn't know about this article.
And what exactly breaks in the quadrature correction block if a BPSK signal is transmitted?
For example, if we work at very low SNR, the the received signal would not look like a real-valued one, should we still disable the calibration?
It's not really dependent on SNR, it's dependent on phase and therefore frequency. If TX and RX are not frequency locked this should go away (mostly).