[simpits-tech] Real VOR indicator

Cris Harrison phoenixcomm at gmail.com
Wed Feb 13 19:16:55 PST 2013


On Wed, Feb 13, 2013 at 8:42 PM,  <dabigboy at cox.net> wrote:
> Actually it's already in C, but it's written in Visual Studio and has a lot of funky VS/Windows dependencies (like the entire sound architecture). But if you still want it, I'll email the author and make sure it's OK (I'm sure it's fine, I just don't have explicit permission to pass it around).
>
> Matt
>
Thanks Matt that would be cool...
I think it run on a Stellaris 80Mhz 32 bit ARM Cortex M4F
(F=FlotingPoint) Launchpad from TI with no problem..

> ---- Cris Harrison <phoenixcomm at gmail.com> wrote:
>> Matt
>> could you please email the vb program...
>> I will rewirte into C;
>> Thks
>> Cris H.
>>
>>
>> On Wed, Feb 13, 2013 at 10:53 AM,  <dabigboy at cox.net> wrote:
>> >
>> > ---- geneb <geneb at deltasoft.com> wrote:
>> >> On Tue, 12 Feb 2013, dabigboy at cox.net wrote:
>> >>
>> >> > Thanks! I used my sound card. :)
>> >> >
>> >> Ok, that all by itself requires a lengthy explanation. :)
>> >>
>> >> g.
>> >
>> > LOL! OK, here's more or less what happened:
>> >
>> > So I had been wanting to get my hands on a real VOR indicator for a while, with the basic plan that I could gut it and use the electrical bits to read OBS setting, and use PWM pins on the Arduino to drive the needle (since, as I understood it, the needle was just a simple D'Arsonval meter). I eventually purchased this KI-201C on ebay for like $30 shipped, mostly just to see what I could do with it. When I got to looking at the instrument and the documentation for it (found on the 'net), I realized that the signal driving the gauge only required three pins, and two of them were actually *output* for an autopilot connection....so only one pin was used for signal input. Intrigued, I started hitting the internet for more info........
>> >
>> > Having sat through ground school years ago, I knew that the signal coming from a VOR station was "two different signals that vary based on your orientation to the station"....and that was about as far as a typical ground school instructor would go. It turns out, the composite VOR signal is pretty interesting. Each ground station puts out an omni-directional signal which is composed of a 30hz sine wave, plus the Morse stuff on a different frequency. The "rotating antenna" (actually a circular array of antennae on the ground that is electronically "rotated") puts out another 30hz signal, but is composed of a 9960hz carrier signal. The phasing of the two signals determines what radial you are on, and the 9960hz signal helps keep them "separated", so to speak.The 9960hz signal also allows the signal to be differentiated, if the two 30hz tones are 180* out of phase, for instance (otherwise there would be no difference between the 0* radial and 180*).
>> >
>> > The complex thing is that the 9960hz carrier signal is frequency-modulated at 30hz, and where the 9960hz signal is at depends on where the 30hz signal is at in its phase. This is the hardest part.......I was getting the right idea, but wasn't sure exactly how to make it work. One thing I knew, that 9960hz was well within the ability of a computer's sound card to produce, so I *should* be able to actually generate this signal myself.
>> >
>> > Then I come across a post on a message board from 2006 where some folks were discussing VOR signals. One poster was a ham radio operator and mentioned that he had actually written a program that generates all the signals for a VOR gauge. I emailed him and, thankfully, his address was still active. He generously sent me his entire program, source code and all! Unfortunately it was written as a Visual Studio project, and there was so much Microsoft fluff involved, I wasn't sure exactly how to read the code and apply it to my Python/Linux work. So, I fired up my barely-used copy of VS 2010, migrated his project, made some tweaks to get it to run (his program was from 2001, so it was written in an old version of VS), and actually got it to output the tones for each radial.
>> >
>> > I then used Audacity to record each radial, 0*-359*, and saved them as WAVs. After that, I wrote software that calculates the current radial from X-Plane, then plays the appropriate WAV file.
>> >
>> > The really tricky thing is that the calibration is funky....depending on what radial I'm at, the error is anywhere from no error at all, to around 30*. So, I had to write a calibration table to send the correct WAV to the sound card. I'm not sure if this is a problem with the instrument, weirdness with my sound card (the phasing is actually messed up by the soundcard, but it's supposed to be a constant error that you can allow for in software), or something funky caused by playing pre-recorded WAVs instead of generating the tone in real time. I've got it pretty well working within 4 degrees accuracy or so, but there are a few radials that are off by more than 20* still..........I think it's a problem with my radial-calculating code (the X-Plane SDK does not seem to have a dataref for current VOR radial, I have to subtract relative bearing to the VOR from current heading, then apply corrections to keep the resulting value within 0-360). But it is working, which is the main
>   t
>>  hi
>> >  ng. I don't think the calibration errors will be hard to fix.
>> >
>> > If I wrote my software to generate the 30hz tone and the 9960hz modulated at 30hz, I'm pretty sure I could fill in the gaps of my knowledge through experimentation and study of the other guy's code.....but what I'm doing now with the WAVs appears to work just fine, so I will probably leave it.
>> >
>> > Now, the astute observer might note that the signal coming from a real VOR station is actually an AMPLITUDE-modulated signal between 108mhz and 119.95mhz, and you would be correct! That's the carrier signal to broadcast to your plane. The NAV receiver in the plane de-modulates that AM signal to yield the "clean" VOR composite signal, which is what goes to the indicator. Theoretically, if I designed a device that takes my current signal and amplitude-modulates it at the above frequencies (basically, half of an AM radio transmitter), I could run the signal right into the antenna input of a real NAV radio and actually be able to use all the tuning and functionality of the real radio! This is overkill for me though, I already have nice Gables control heads doing my nav/com stuff (plus good NAV radios are over $1,000 a piece.........)
>> >and it will be 0 if allso not used.
>> > So what is all this magic inside the VOR indicator itself? It is simply a phase-shifter, and the VOR needle indicates how far out of phase the two signals are....turn the OBS knob until the shifted signals are in phase, and the needle will be centered.
>> >
>> > Matt
>> > _______________________________________________
>> > Simpits-tech mailing list
>> > Simpits-tech at simpits.org
>> > http://www.simpits.org/mailman/listinfo/simpits-tech
>> > To unsubscribe, please see the instructions at the bottom of the above page.  Thanks!
>>
>>
>>
>> --
>> _______________________________________________
>> Simpits-tech mailing list
>> Simpits-tech at simpits.org
>> http://www.simpits.org/mailman/listinfo/simpits-tech
>> To unsubscribe, please see the instructions at the bottom of the above page.  Thanks!
>
> _______________________________________________
> Simpits-tech mailing list
> Simpits-tech at simpits.org
> http://www.simpits.org/mailman/listinfo/simpits-tech
> To unsubscribe, please see the instructions at the bottom of the above page.  Thanks!


More information about the Simpits-tech mailing list