discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] Costas Loop in GNU radio


From: Marcus Müller
Subject: Re: [Discuss-gnuradio] Costas Loop in GNU radio
Date: Tue, 26 Dec 2017 15:13:37 +0100

Hi Sakthivel,

the idea is basically: at the perfect sampling instant, you get one of
the four QPSK constellation points. With a bit of exponentiation magic,
you can eliminate the phase of these points (since they really only
take phase 0, pi/2, pi, 3/2 pi).

In all other instants, you sample "something else". The idea is that
the loop "corrects" your timing so that you get closer to that point
where things fall onto the correct constellation points.

The main requirement hence is that at the the perfect sampling instant,
the pulse shape  
1. takes exacty the value 1, so that the symbol (==constellation point)
is reprepresented unchanged and
2. there's at least a local extremum at the sampling instant.

Pulse shaping filters generally tend to fulfill that. In fact, any
filter that fulfills the first Nyquist ISI criterion can be scaled
arbitrarily without affecting adjacent symbols, so there's nothing
stopping you from fulfilling 1. So, no matter what pulse shaping filter
you use, if it fulfills the first Nyquist ISI criterion, there's no
problem here. 

By the way: RRC is usually only half of the pulse shaping filter; you
apply the matching RRC at the receiver, and end up with an Raised
Cosine (not root).

> I too found another implementation of costas loop which uses
> limiters. But here there was a strong assumption that the phase shift
> is less that 45 degrees. So in the case when the initial phase (i.e
> before loop lock) shift is more than 45 degrees, then the
> constellation would be n times 90 degree rotated and hence all data
> would be detected incorrectly.

How's that a limitation? Absolute phase sync is done independently.
Just set e.g. your first symbol to a known symbol, or use a preamble or
  whatever.

Best regards,
Marcus
+On Sat, 2017-12-23 at 17:59 +0100, sakthivel velumani wrote:
> Hi All,
> 
> I have a question regarding Costas loop for QPSK phase
> synchronization. I had read some papers on it and worked on the math
> behind it. I understood that the costas loop takes the QPSK modulated
> signal (in which the original carrier signal is hidden), multiples
> with a locally generated carrier (which may be phase shifted wrt to
> transmitter's carrier) does some addition and multiplication between
> I and Q components and finally gives the phase shift between the
> transmitter's carrier and the receiver's carrier.
> 
> It does this by cancelling the effect of I and Q data on the received
> signal (because while working out the math there was a I^2 term and
> Q^2 term which usually is = 1). My question is when the transmitter
> uses a pulse shaping filter like RRC, how does the square of I and Q
> data get cancelled? As in any phase recovery technique where no pilot
> symbols are used, one must remove the effect of data from the
> received signal to find the phase difference as done in case PLL is
> used.
> 
> I too found another implementation of costas loop which uses
> limiters. But here there was a strong assumption that the phase shift
> is less that 45 degrees. So in the case when the initial phase (i.e
> before loop lock) shift is more than 45 degrees, then the
> constellation would be n times 90 degree rotated and hence all data
> would be detected incorrectly.
> 
> Which type is implemented in the existing GNU radio block?
> 
> Thank you
> 
> Sakthivel
> _______________________________________________
> Discuss-gnuradio mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio



reply via email to

[Prev in Thread] Current Thread [Next in Thread]