I've been trying to implement a simple 2-QAM using ZedBoard and the AD9361 without success. From my tests, I believe the problem is related to the receiver. For the transmitter, I only used a 2-QAM modulator and an RRC. The output is then transmitted using the first channel of the AD9361. To make sure that the transmitter is working, I connected a coaxial cable from the transmitter to a spectrum analyzer and there was a signal at the center frequency. The transmitter implementation can be found in the next screenshot.
For the receiver, I tried doing some modifications to an existing example which receives and demodulates a QPSK signal. The example is "QPSK Receiver Using Analog Devices AD9361/AD9364". The implementation of the receiver can be seen in the next screenshot.
For debugging purposes, I placed a constellation diagram after each stage to monitor the signal. The next screenshot shows the result I obtained. I must mention that the output "After Coarse Compensation" becomes similar to "After RRC" when the simulation is close to 1 second. Because of this, the received signal keeps jumping around resulting in incorrect results.
I also should mention that each of the transmitter and receiver are on different ZedBoard and AD9361. The transmitter is connected directly to the receiver using a coaxial cable. No wireless transmission is being used in my implementation.
My question is, what is missing in my implementation and why does the received signal keeps rotating? I would appreciate for the suggestions to be explicitly in Simulink.
I'm attaching a text file (RxProperties.txt) with this post which contains the properties of the receiver blocks to give a better understanding of the implementation.