AnsweredAssumed Answered

Issues with Simulink QAM implementation using AD9361 on ZedBoard

Question asked by F.Shahin on Oct 7, 2017
Latest reply on Oct 16, 2017 by travisfcollins

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.

QAM Transmitter Simulink design

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.

QAM Receiver Simulink design


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.

Constellation of signal


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.