[amsat-bb] Re: Doppler tuning for linux?

Mark VandeWettering mvandewettering at gmail.com
Mon Feb 11 16:32:16 PST 2008

Bruce Robertson wrote:
> Gang:
> Linux has several tracking programs, including the venerable predict,
> and it has the hamlib library that abstracts out the control of
> radios. However, as far as I can tell, there is no doppler tuning glue
> that does all the heavy lifting done by, e.g., instantune or the
> SatPC32 code or other DDE-based programs. Is this true? If it is, it
> seems to me, with the increasing proliferation of embedded linux, that
> something along these lines could be pretty handy.
> _______________________________________________
> Sent via AMSAT-BB at amsat.org. Opinions expressed are those of the author.
> Not an AMSAT-NA member? Join now to support the amateur satellite program!
> Subscription settings: http://amsat.org/mailman/listinfo/amsat-bb
I concur. Indeed, I have sworn an oath that I will have no more windows
machines, an oath which is hard to accept when one considers the relative
lack of ham radio software available on Linux (some obvious gems exist,
such as predict, gpredict and fldigi, but on the whole, we appear to have
fewer choices).

Personally, I have been enjoying working the LEO sats using just an HT
and an Arrow antenna. I'd like to work the linear sats using my FT-817,
but as yet haven't done so, mainly because Doppler tracking by hand isn't
the easiest, particularly if you are waving an antenna around. I also
don't _really_ want to be taking a laptop into the field, with all its
cords and power supply, and its rather unoptimal interface for field

Okay, so what's the solution? Well, what I envision is something like
G6LVB's antenna tracker. His latest version implements G3RUH's Plan
13 algorithm, and uses that to aim the antennas: but there is no
reason why a similar gadget couldn't be designed and built to control
doppler shift on a portable rig like the ft-817. I think that's the
prize that I personally have my eye on...

Toward that end, I've taken G3RUH's plan 13 code and ported it into a
python module (my preferred scripting language) for experimentation. The
first thing that I made it do was download orbital elements and predict
passes. Example output follows:

[chessboard] % nextpass -v --grid=CM87 --min=20 AO-51
AO-51 will be visible from grid CM87 starting in 02:34:08 at 03:03:07
03:03:07 +0.0° 160.8° ↓ 10.6°N 114.1°W AOS
03:04:00 +3.4° 160.4° ↓ 13.7°N 114.8°W
03:05:00 +7.8° 159.7° ↓ 17.2°N 115.6°W
03:06:00 +13.1° 158.7° ↓ 20.7°N 116.4°W
03:07:00 +19.9° 157.1° ↘ 24.2°N 117.3°W
03:08:00 +29.3° 154.4° ↘ 27.7°N 118.1°W
03:09:00 +43.1° 148.6° ↘ 31.2°N 119.0°W
03:10:00 +63.0° 130.3° ↘ 34.7°N 120.0°W
03:10:42 +73.8° 79.6° → 37.2°N 120.7°W MAX
03:11:00 +72.0° 48.5° ↗ 38.2°N 121.0°W
03:12:00 +51.8° 7.7° ↑ 41.7°N 122.1°W
03:13:00 +34.9° 358.5° ↑ 45.2°N 123.3°W
03:14:00 +23.7° 354.7° ↑ 48.7°N 124.6°W
03:15:00 +15.8° 352.8° ↑ 52.2°N 126.1°W
03:16:00 +9.8° 351.6° ↑ 55.6°N 127.8°W
03:17:00 +5.0° 350.9° ↑ 59.1°N 129.8°W
03:18:00 +1.0° 350.4° ↑ 62.5°N 132.2°W

The library also includes code to compute Doppler and the like.
It takes about 63 microseconds for it to compute a position at
a time on my desktop, which probably means that it will yield
acceptable performance even on slower machines. I've also
begun to experiment a bit with controlling the FT-817 from it,
but it would probably be smarter to use something like hamlib
to handle those details (which I also understand has a python

Anyway, just thought I'd toss this out there. My python
library will be distributed under a BSD license. If someone
with some python programming skill would like to test it
(testing it on windows would be particularly helpful), then
drop me an email (kf6kyi at gmail.com) and I'll make a
pre-release available.


More information about the AMSAT-BB mailing list