Forum: GNU Radio Phase demodulation

18d7c4503b713c388142c34a10e26082?d=identicon&s=25 Daniele Nicolodi (Guest)
on 2014-06-27 20:52
(Received via mailing list)
Hello,

This question is not strictly GNURadio related, but I hope to find
people more knowledgeable than me here...

I have a signal x(t) at a carrier frequency fc which is phase modulated.
The phase modulation itself is modulated at a modulation frequency fmod:

  x(t) = Eo cos(2 pi fc t + m(t))

  m(t) = Ao cos(2 pi fmod + phi)

I know exactly fmod (it is a coherent modulation/demodulation
experiment), and I have a good estimate of fc. I need to, extract
amplitude Ao and phase phi of that modulation.

I use an USRP to obtain the in-phase and quadrature component of the
x(t) signal at the carrier frequency.  The naive approach would be then
to extract the phase of x(t) from that and simply demodulate it
multiplying by a complex sine wave ans low pass filtering.

However, the fact that I only have an estimate of the carrier frequency
(and some low Fourier frequency noise on the carrier frequency) means
that I have a linear phase evolution.  This can be taken care with
unwrapping but I quickly end up with a very large phase.

I thought for a while about this but I cannot come up with a solution
that avoids extracting the phase from the I and Q components and doing
unwrapping. I'm sure I'm missing something.

What's the best approach to solve this problem?

Thanks. Cheers,
Daniele
18d7c4503b713c388142c34a10e26082?d=identicon&s=25 Daniele Nicolodi (Guest)
on 2014-07-01 18:34
(Received via mailing list)
On 27/06/2014 20:51, Daniele Nicolodi wrote:
> I know exactly fmod (it is a coherent modulation/demodulation
> experiment), and I have a good estimate of fc. I need to, extract
> amplitude Ao and phase phi of that modulation.


Hello,

the solution that I found (and that works very well) is to track the
carrier frequency with a digital PLL.  With the tracking PLL block in
GNURadio it is easy.  GNURadio is fun! :)

Cheers,
Daniele
C539637020fd56193dd6daec746c4a84?d=identicon&s=25 Tom Rondeau (Guest)
on 2014-07-03 18:19
(Received via mailing list)
On Tue, Jul 1, 2014 at 12:33 PM, Daniele Nicolodi <daniele@grinta.net>
wrote:

> >
>
> Cheers,
> Daniele
>


Yep, that's a pretty classic way to do it. Glad you figured it out!

Tom
Please log in before posting. Registration is free and takes only a minute.
Existing account

NEW: Do you have a Google/GoogleMail, Yahoo or Facebook account? No registration required!
Log in with Google account | Log in with Yahoo account | Log in with Facebook account
No account? Register here.