Forum: GNU Radio Costas loop lock?

Bcfba6906cf00596df1d5b76972e6d27?d=identicon&s=25 tom sutherland (Guest)
on 2013-10-11 03:32
(Received via mailing list)
I am using a Costas loop for carrier recovery with QAM16 data. The
carrier is only 2khz. The I/Q output of the Costas loop seems to track
(the original sin/cos of the modulating carrier's Frequency & Phase)
steadily for a long period (minutes) and then the Phase moves off,
normally in +/- 45 or 90 degrees in one or both of the phases. Any
thoughts on why this occurs or how I can fix this issue?
Thanks...Tom
C539637020fd56193dd6daec746c4a84?d=identicon&s=25 Tom Rondeau (Guest)
on 2013-10-23 16:39
(Received via mailing list)
On Thu, Oct 10, 2013 at 9:30 PM, tom sutherland <alphatozeta@yahoo.com>
wrote:
> I am using a Costas loop for carrier recovery with QAM16 data. The carrier
> is only 2khz. The I/Q output of the Costas loop seems to track (the original
> sin/cos of the modulating carrier's Frequency & Phase) steadily for a long
> period (minutes) and then the Phase moves off, normally in +/-  45 or 90
> degrees in one or both of the phases.  Any thoughts on why this occurs or
> how I can fix this issue?
> Thanks...Tom


Tom,

The Costas loop is not designed to handle QAM16. It only works for
BPSK, QPSK, and 8PSK. My guess is that you are using an order 4 loop?
What's probably happening is that the symbols at the four corners of
the constellation are dominating the error calculations because they
have the highest energy. But the loop can get biased by another symbol
in the constellation that turns it to another phase lock. The Costas
loop has no idea what the right constellation is; it's just minimizing
an error function and has probably gotten trapped in a local minimum
that your constellation presents to it.

I would suggest turning instead to the constellation_receiver block.
This allows you to specify the constellation you want it to handle.
The constellation objects
(http://jenkins.gnuradio.org/manual/doxygen/page_digital.html) allow
you to specify a symbol mapping to a set of complex points. There are
specialized forms of the constellations for certain known types (BPSK,
QPSK, etc.) that have more computationally efficient decision making
functions. But for any given constellation, it will at least be able
to calculate the minimum Euclidean distance between each point. Slow
but reliable.

Tom
Bcfba6906cf00596df1d5b76972e6d27?d=identicon&s=25 tom sutherland (Guest)
on 2013-10-25 22:57
(Received via mailing list)
Tom,
I don't quite understand the use of the "Constellation Receiver" block.
I have transmitter and receiver and I was trying to use the Costas Loop
to replace the mixer section in the receiver to produce the I/Q signals
needed by the16QAM demodulator. Since the signal I am wanting to
demodulate is a real-signal and the Constellation Receiver accepts
complex input, where does that signal come from? I have attached a
simple diagram without filters.
Tom







On Wednesday, October 23, 2013 10:37 AM, Tom Rondeau <tom@trondeau.com>
wrote:

On Thu, Oct 10, 2013 at 9:30 PM, tom sutherland <alphatozeta@yahoo.com>
wrote:
>> I am using a Costas loop for carrier recovery with QAM16 data. The carrier
>> is only 2khz. The I/Q output of the Costas loop
 seems to track (the original
>BPSK, QPSK, and 8PSK. My guess is that you are using an order 4 loop?
>What's probably happening is that the symbols at the four corners of
>the constellation are dominating the error calculations because they
>have the highest energy. But the loop can get biased by another symbol
>in the constellation that turns it to
 another phase lock. The Costas
>QPSK, etc.) that have more computationally efficient decision making
>functions. But
 for any given constellation, it will at least be able
C539637020fd56193dd6daec746c4a84?d=identicon&s=25 Tom Rondeau (Guest)
on 2013-10-28 17:18
(Received via mailing list)
On Fri, Oct 25, 2013 at 4:56 PM, tom sutherland <alphatozeta@yahoo.com>
wrote:
> Tom,
> I don't quite understand the use of the "Constellation Receiver" block. I
> have transmitter and receiver and I was trying to use the Costas Loop to
> replace the mixer section in the receiver to produce the I/Q signals needed
> by the16QAM demodulator. Since the signal I am wanting to demodulate is a
> real-signal and the Constellation Receiver accepts complex input, where does
> that signal come from? I have attached a simple diagram without filters.
> Tom


The image didn't really come through on your email.

I'm confused how you can do 16QAM with a real signal? You need phase
information for that.

Tom
This topic is locked and can not be replied to.