0
\$\begingroup\$

I can use a Costas Loop, modified for QPSK/4QAM and recover the frequency and phase successfully when using a pattern of all 1s or all 0s or a pattern that is repetitive for each I and Q data rail (in LTspice).

When using other more random like data streams, I can't get a lock on the phase or frequency. I can follow the math through fine if I set the I and Q rails (m1 and m2) to one.

So I guess I'm trying to understand how this loop works when the data are not repetitive, and more random like.

Here is the block diagram:

Costas Loop, with QAM modification

\$\endgroup\$
3
  • 2
    \$\begingroup\$ That looks like a decision aided loop, not a Costas loop. There are lots of references on the web on carrier recovery for QPSK, any good digital comms text would cover it, or if you have access to ieee papers, start with papers by Marvin Simon. \$\endgroup\$ Commented Apr 29, 2022 at 1:29
  • \$\begingroup\$ Thanks, I'll look his paper up. This loop is a "modified Costas Loop," not the original 1956 Costas Loop. These make sense when the message on the IQ rails are 1 or 0, so either +1V or -1V in the 4QAM being received. I'm having a hard time locking to a stream with 50% 1s density. Hopefully the decision aided loop research will help, thank you for the tip. \$\endgroup\$ Commented Apr 29, 2022 at 13:18
  • 2
    \$\begingroup\$ It is a decision aided loop, it works better than a Costas loop at high S/N, whereas a Costas loop has better performance at low S/N. It's probably more than you want to know, but if you are interested a key reference is M. Simon, "On the Optimality of the MAP Estimation Loop for Carrier Phase Tracking BPSK and QPSK Signals," in IEEE Transactions on Communications, vol. 27, no. 1, pp. 158-165, January 1979 \$\endgroup\$ Commented Apr 29, 2022 at 21:17

1 Answer 1

1
\$\begingroup\$

Thank you Tesla23 for your comments/help. I got the loop working, the graphic in my question works. My error was some incorrect signal conditioning when I was driving the mixers.

\$\endgroup\$

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.