
Based on K8DP Doug Papay rigdoppler (@K8DP_Doug)
Adapted v0.3 and QT by EA4HCF Pedro Cabrera (@PCabreraCamara)
Extended and modified to v0.4 by DL3JOP Joshua Petry (@dl3jop)
Attention: I'm looking for bug reports and new features. Every pull-request/issue is welcomed
1) Python3
2) Python3 modules
pip3 install ephem
pip3 install PyQt5
pip3 install urllib3
pip3 install pyserial
1) TLE ephemerides file. (Example: https://tle.oscarwatch.org/)
2) doppler.sqf (included, mostly compatible to SatPC32)
v0.4 vs v0.3 and earlier (DL3JOP modifications): 1) Removed hamlib 2) support for IC-910H by direct serial communication, IC-9700 should work as well (not yet tested) 3) Implemented transponder selection 4) Implemented correct switch between Split mode for V/V & U/U packet and satmode for V/U,U/V 5) Implemented doppler correction threshold 6) Added SubTone control 7) Various smaller changes and additions

- "Setup" menu, "Edit setup" item to review and change the parameters:. QTH Parameters
- Latitude, Longitude and altitude.
- Step for RX and TX offset sliders (Hertz).
- Maximun and minimun values for RX and TX offset sliders (Hertz).
Satellite parameters:
Support files used to get satellites frequencies and ephemeris:
- tle_file must contain ephemeris two line elements to calculate satellite passes over the coordinates in the [qth] section.
- sqffile must contain satellites' frequencies (both downlink and uplink), following the same format as the original SatPC32 file.
- amsatnames is just an auxiliary file son NORAD_ID satellites identifiers could be correlated with common satellites names used in doppler.sf file. Three columns per each satellite will list NORAD_ID identifier and common satellite name.
Doppler Thresholds:
- select the thresholds for FM/SSB doppler correction. Frequencies are not updated when the difference between the current doppler frequency and radio frequency is below the threshold
Offset Profiles:
- Offsets will be automatically loaded when selecting the satellite. satellite and transponder name must be the same as in the doppler sqf file:
satoffset1 = IO-117,Digipeater,-750,-750
where IO-117 is the the satellites name, Digipeater the description/transponder and the two numbers RX/TX offset
- Execute RigDoppler: python3 /path/to/QTrigdoppler.py
Radio | Satellite | Tester | Date |
---|---|---|---|
Icom 910H | RS-44 | DL3JOP | Sep 24 |
Icom 910H | SO-50 | DL3JOP | Sep 24 |
Icom 910H | ARISS | DL3JOP | Sep 24 |
Although I tested v0.4 on multiple passes in FM as well as SSB, this project is still WIP. Please, please tell me which bugs you encounterd!
- V/V U/U VFO exchange is only done when the PTT is not engaged. Otherwise the VFO might swap during TX as the IC-910 is not capable to change the unselected VFO. Nevertheless if the radio is put into TX right in between the PTT monitoring command and the VFO switch, the VFOs will mix up.
- That might be resolvable by adding an TCP client/server which acts as an middle-man between the Terminal, e.g. Greencube Terminal and the modem, e.g. soundmodem to buffer TX messages while the frequency of VFOB is updated
- Storing the offset profiles sometimes adds empty lines, atm I don't know why
- Adding support for IC-9700 (should be easy as it uses nearly the same comands as the IC-910H)
- Adding support for FT-8xx radios. Same approch: serial driver, although that will add additonal reworks in the doppler tracking loop to account for two radios
- Building a much nicer GUI
- Separate GUI and tracking class
- Refactor tracking loop:
- no global F0/I0 variables, more abstracted methods to allow eaier implementation of other radios