Forum: GNU Radio Phase unwrapping

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

I just started to work with GNU radio for my very basic needs, so please
excuse my naive questions and probably my inappropriate use of the
jargon.

My first trivial application of GNU radio is to simply measure the phase
of a phase modulated signal with an Ettus Research USRP N210 and a LFRX
daughter-board.

Everything works as expected, but I haven't found a way to do phase
unwrapping (removing the 2pi ambiguity in the phase obtained from the
arctan function looking at discontinuities in the phase data). Is this
functionality offered somewhere, and I missed it, or should I look into
implementing it myself?

Thanks. Cheers,
Daniele
3596cfe1d579c65b9babd35e8787977c?d=identicon&s=25 Matt Ettus (Guest)
on 2014-06-16 15:46
(Received via mailing list)
Daniele,

The problem with phase unwrapping is that it is unbounded, and will tend
to
infinity.  Once it gets very big, when you try to add a small number to
a
very big number, floating point loses precision.  Eventually, adding
small
to extremely big returns the big number unchanged.  This isn't that
useful.

Matt



On Mon, Jun 16, 2014 at 2:40 PM, Daniele Nicolodi <daniele@grinta.net>
18d7c4503b713c388142c34a10e26082?d=identicon&s=25 Daniele Nicolodi (Guest)
on 2014-06-16 19:06
(Received via mailing list)
Hello Matt,

thank for your answer. I'm aware of the problem and in my application I
can keep phase bounded, but not bounded to (-pi, +pi]  therefore I need
unwrapping to make sense of my modulation data.

If such feature does not exist in GNU radio, I hope it is not too hard
to code it myself.

Thanks. Cheers,
Daniele
5b7bae5302f715f777bc9f683dea3c77?d=identicon&s=25 Michael Berman (Guest)
on 2014-06-16 19:49
(Received via mailing list)
Daniele,

I have worked on this problem for a specific case as well.  I have a
document with source code and a short description of what's happening
that
can be found here (
https://www.dropbox.com/s/bcma7fqa7ip2own/unwrap_example.txt).

Michael


On Mon, Jun 16, 2014 at 10:05 AM, Daniele Nicolodi <daniele@grinta.net>
18d7c4503b713c388142c34a10e26082?d=identicon&s=25 Daniele Nicolodi (Guest)
on 2014-06-16 19:54
(Received via mailing list)
On 16/06/2014 19:47, Michael Berman wrote:
> I have worked on this problem for a specific case as well.  I have a
> document with source code and a short description of what's happening
> that can be found here

Hello Michael,

thank for your example code, but the algorithm is trivial, what I don't
yet know is how to implement it in such a way that it can be used within
the gnuradio framework.  I'm having a look at the documentation now.

Cheers,
Daniele
5b7bae5302f715f777bc9f683dea3c77?d=identicon&s=25 Michael Berman (Guest)
on 2014-06-16 20:11
(Received via mailing list)
If you take a look at the doc again, i updated it a little bit to show
it
working in an OOT work function.

Michael


On Mon, Jun 16, 2014 at 10:53 AM, Daniele Nicolodi <daniele@grinta.net>
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.