I've been working on this using rtl-sdr and have it working, though I don't
have clean code to share yet. My project is a bit more ambitious. I want to
scan the VOR band for all available signals, decode the morse IDs and use
them together to create a position fix. Decoding a single VOR is
comparatively easy. Most of my struggle has been reliable morse decoding
and the fact that an antenna inside the aircraft is shaded by the aircraft,
making reception of stations behind difficult. Also, this code really
cannot be tested on the ground, except very near an airport. :-)

Here's how I decode a VOR now; it's not the only way nor necessarily the
best

- tune nearby and mix to center. I've been sampling around 250 kHz, the
lowest my dongle will go
- complex filter around +/- 25 kHz
- decimate to 31250 Hz
- am demodulate (I do this with cplx2mag, envelope)
- optionally, filter out anything above 5 kHz and below 100 Hz or so and
that's your audio
- LPF to isolate the 30 Hz signal -- that's your variable navigation signal
(I do this in 2 stages, lpf, decimate, lpf because the cutoff is so near
the bottom of the spectrum)
- also take the 31250 baseband signal and BPF it around 9960 Hz, +/- 400 Hz
or so
- perform a frequency to period conversion of your choice. This will yield
a 30 Hz signal "reference" signal
- filter that signal to 30 Hz and decimate to same rate as the variable
signal
- compare the phase of the two navigation signals by whatever means you
prefer
- you also probably want to be able to detect the presence of signal vs no
signal. I've been doing this by creating a separate filter bank to BPF
around 100 Hz from the AM decode, then I compare the relative energy
between the 30 Hz and 100Hz signals. There should be no energy other than
noise at 100 Hz. If the 30 Hz signal is above a certain threshold relative
to the 100, i consider it a valid signal. This is maybe not a great
approach, but seems to work ok.

The filters introduce some phase "error" in those signals, so you will need
to calibrate your receiver from a known location to add in a phase
adjustment. Once that's done, you should have a VOR receiver.

The Wikipedia entry on VOR was very useful for understanding the format.
http://en.wikipedia.org/wiki/VHF_omnidirectional_range

This is all pretty easy to do in gnuradio, but I've been writing c-code to
run this with mostly fixed point on an embedded device. Goal is to run on
raspberry pi, which it does, pretty much. One thing I found helpful was to
understand VORs was to use gnuradio to generate test signals. That said,
there is no substitute for getting in an airplane and recording some real
signals which you can use to debug (on the ground!)




Regards,
Dave J

PS -- All my DSP is "self-taught" meaning that I really don't know what I'm
doing aside from the free resources on the Internet. If someone who knows
DSP wants to get involved, I'd be very happy.


On Thu, Sep 19, 2013 at 6:10 AM, <[email protected]>wrote:

> Send osmocom-sdr mailing list submissions to
>         [email protected]
>
> To subscribe or unsubscribe via the World Wide Web, visit
>         http://lists.osmocom.org/cgi-bin/mailman/listinfo/osmocom-sdr
> or, via email, send a message with subject or body 'help' to
>         [email protected]
>
> You can reach the person managing the list at
>         [email protected]
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of osmocom-sdr digest..."
>
>
> Today's Topics:
>
>    1. Re: rtl-sdr offset tuning and other questions (Jean Marie POLARD)
>    2. Re: rtl-sdr offset tuning and other questions (Sylvain AZARIAN)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Thu, 19 Sep 2013 08:38:22 +0200
> From: Jean Marie POLARD <[email protected]>
> To: [email protected]
> Subject: Re: rtl-sdr offset tuning and other questions
> Message-ID: <[email protected]>
> Content-Type: text/plain; charset="iso-8859-1"; Format="flowed"
>
>
> --
> Hello to all, I am interested to decode the VOR signals. If anyone has a
> trick I will be pleased to exchange emails.
>
> thanks and best regards
>
>
>
>
>
> Jean Marie POLARD
> F5VLB
> 1, Boutil
> 22540 Louargat (France)
>
> IN88IN
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <
> http://lists.osmocom.org/pipermail/osmocom-sdr/attachments/20130919/81f93daa/attachment-0001.html
> >
>
> ------------------------------
>
> Message: 2
> Date: Thu, 19 Sep 2013 15:10:09 +0200
> From: Sylvain AZARIAN <[email protected]>
> To: Jean Marie POLARD <[email protected]>,
>         [email protected]
> Subject: Re: rtl-sdr offset tuning and other questions
> Message-ID:
>         <CAHZVKw2j=
> [email protected]>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Jean-Marie, group (and french readers)
>
> Please find attached to this email a report from a student explaining how
> to decode the VOR signals
>
> regards
> sylvain F4GKR
>
>
> 2013/9/19 Jean Marie POLARD <[email protected]>
>
> >
> > --
> > Hello to all, I am interested to decode the VOR signals. If anyone has a
> > trick I will be pleased to exchange emails.
> >
> > thanks and best regards
> >
> >
> >
> >
> >
> > Jean Marie POLARD
> > F5VLB
> > 1, Boutil
> > 22540 Louargat (France)
> >
> > IN88IN
> >
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <
> http://lists.osmocom.org/pipermail/osmocom-sdr/attachments/20130919/2407a458/attachment.html
> >
> -------------- next part --------------
> A non-text attachment was scrubbed...
> Name: vor_dsp.pdf
> Type: application/pdf
> Size: 256567 bytes
> Desc: not available
> URL: <
> http://lists.osmocom.org/pipermail/osmocom-sdr/attachments/20130919/2407a458/attachment.pdf
> >
>
> ------------------------------
>
> _______________________________________________
> osmocom-sdr mailing list
> [email protected]
> http://lists.osmocom.org/cgi-bin/mailman/listinfo/osmocom-sdr
>
>
> End of osmocom-sdr Digest, Vol 22, Issue 11
> *******************************************
>

Reply via email to