# Forum: GNU Radio Phase demodulation

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
on 2014-06-27 20:52
```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.

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```
on 2014-07-01 18:34
```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

Cheers,
Daniele```
on 2014-07-03 18:19
```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```
This topic is locked and can not be replied to.