LNB drift correction for Es’hail-2 (QO-100)
Background
The oscillator of a standard PLL-LNB is prone to drift. There are three known methods to cure this problem:
All three methods use additional hardware.
Since the opening ceremony of QO-100 the band, which is open for amateur radio, is delimited by two beacons. Common SDRs such as the SDRplay RSP1A are able to receive this whole band. Using virtual receivers it is possible to hear one of these beacons and the frequency of interest at the same time, without any further hardware.
With my Anti-Drift Python script it is possible to correct the LNB frequency drift with only one SDR receiver.
Receive setup
With the named quattro LNB the connector L/V
is connected to the SDRplay
via a 20dB pad.
One of the other connectors is connected to a 9V DC power supply.
A small coil (10 turns, 3 mm diameter) is added to the DC plus line.
The following diagram shows the basic configuration of the software:

The following screenshot shows the setup of SDRuno:
On the upper left SDRuno MAIN
window I have added a second VRX with the ADD VRX
-button.
The LO LOCK
is activated.
Each window, which is associated with a specific VRX, has 0-00
or 0-01
in the upper right corner,
which indicates the number of the VRX.
I use VRX0 for the band montoring and VRX1 for the beacon.
For VRX1 (beacon) only the AUX SP
window is in the foreground.
Below this window there is a Windows command line which runs my
Anti-Drift Python script.
In the window RX CONTROL
of VRX0 the following settings were made under SETT.
In the window RX CONTROL
of VRX1 the following settings were made under SETT.
The following screenshot shows the setup of com0com, such that the virtual COM ports configured above are available. Note that each virtual COM port line has two different COM ports on each of its two ends.
Virtual Audio Cable runs in its default configuration.
After installation of a plain Python it is necessary to install the following Python libraries in a Windows command line:
pip install numpy pip install sounddevice pip install pyserial pip install simple-pid pip install keyboard
In the Anti-Drift Python script the used COM-ports and
the used virtual audio interface have to be entered in the section
set the following parameters according to your needs
.
The Show-Audio-Devices Python script prints
a list of all available audio devices for setup of the virtual_audio_device
variable.
When all the configuration above is done, the
Anti-Drift Python script could be startet with a double click.
Then the frequency of VRX1 (USB, 2800Hz) has to be set to the upper PSK-beacon, so that the beacon is
visible in the AUX SP
window of VRX1.
Then the Anti-Drift Python script
should lock on the beacon, wherein the frequency of VRX0 and VRX1 is adjusted in parallel,
such that the audio signal of the beacon is always at about 1000 Hz.
To end the script press the ESC key until the next line is printed.
Changelog
-
17.02.2019 - v0.1 - initial release
-
18.02.2019 - v0.12 - optimized controller parameters; bugfixes