Introduction
I recently converted my QO-100 outdoor unit to allow me to use it with a single transceiver (in my case a Yaesu FT-817), inspired by the “minimal amount of components constest” by PE1CKK and PA3FYM. Previously, I used an SDR setup in full duplex mode using a custom GNU Radio SSB transceiver including PSK beacon phase locking as described in a previous post. The SDR setup, although very flexible, suffered from extreme latency (up to 5 seconds) which became very annoying. Moreover, I wanted to use the transponder without a computer, just using a single transceiver.
The outdoor unit now contains a LNB reference generator (used in receive) at 25.8 MHz, and a transmit local oscillator (LO) at 1972.5 MHz. This allows 427.5 MHz IF for both transmit and receive. The LO generation is done with a single ADF4351 clocked with 10 MHz from a Leo Bodnar GPSDO. In receive, a 51.6 MHz LO is generated which is then divided by 2 in a 74AC74 to obtain the 25.8 MHz LNB reference, hence 10489.5 – (390 x 25.8) = 427.5 MHz. In transmit, a 1972.5 MHz LO feeds a HMC213 mixer which upconverts the 427.5 MHz signal to 2400 MHz.
The LNB used is a Starcom SR-320.
I expected to be (near) zero beat with this setup. However, after checking this by whistling, and listening to my own echo, I discovered that there was a frequency shift larger than the (approximately) + and – 26 Hz due to the Doppler shift. This shift is the result of minute imperfections in QO-100’s orbit, which is typical for geostationary satellites.
Measurement
Recently, several Dutch amateurs discussed the same issue and reported seeing about 70 Hz offsets when using setups that were fully disciplined by a GPSDO. Something was going on? Although ‘almost unbelievable’, after some elaboration Remco PA3FYM and I suspect(ed) the accuracy of the transponder LO (8089.5 MHz). So, we decided to try to measure downlink signals using an adaptation of my GNU Radio flowgraphs originally developed for beacon tracking. It was set up to measure the PSK beacon frequency by using a Costas loop, which outputs the frequency of the (suppressed) carrier and logs it to a file.
This method assumes that the PSK beacon (which is assumed to be transmitted from AMSAT-DL’s Bochum station) is exactly ‘on frequency’, i.e. its uplink frequency is 2400.250(000) MHz. In order to have an independent signal source Remco PA3FYM contacted Rene PE1CMO. Rene transmitted a carrier through the QO-100 transponder, with about 7 dBm into a 88 cm wide offset dish. Rene used a BG7TBL GPSDO to lock his transmitter.
My GNU Radio flowgraph was modified to measure the frequency offset of Rene’s beacon and the PSK beacon simultaneously. The SDR used at PE4WJ is an Ettus Research USRP E320, which is locked to its internal GPSDO. The SDR input is at 427.5 MHz from the outdoor unit. This unit has its own Leo Bodnar GPSDO to generate the LNB reference as explained at the beginning of this post.
The measurement was conducted between Thursday March 18th 12:00 UTC (approximately) and Friday March 19th 14:00 UTC. The data has been “windowed” to a single Sidderial day (23.9344696 hours) which equals a single complete revolution of both the Earth as well as QO-100 in its orbit.
This was rounded down to a total time of 86164 seconds. Figure 1 provides the difference in the measured frequency of the QO-100 PSK beacon with respect to the “expected” frequency. A number of features can be spotted.

First of all, the curve has a sine-wave appearance, which is due to the small amount of Doppler shift mentioned earlier. Secondly, a “wiggle” can be seen at around 37000 seconds. This wiggle was present on a previous measurement day as well, and is believed to be the result of a firing of the on-board propulsion system to perform a “stationkeeping” maneuver a drop in on-board temperature due to eclipse (tnx! EA4GPZ and others). Similar “wiggles” have also been reported by others such as EA4GPZ. Thirdly, at around 75000 and 85000 seconds, there are peaks visible which may be caused by (deliberate) QRM on the beacon signal.
To verify whether our measurements were correct and accurate, Remco asked Paul M0EYT to determine the exact frequency of Rene’s carrier approximately three hours after our measurements started. Paul did not know ‘what’ and ‘why’ he had to measure, other than requested to determine ‘a carrier frequency’. With a totally different method Paul’s GPS locked receive system reported exactly the same carrier frequency we measured (at the same time). The estimated accuracy of Pauls measurement was +/- 0.5 Hz.
Figure 2 provides a similar graph but then for the difference in the measured frequency of PE1CMO’s carrier relative to the expected frequency, which -of course- should be the sum of the uplink frequency and the LO of 8089.5 MHz inside QO-100. When the QO-100 LO is exactly ‘on frequency’ the offset should be 0 Hz plus or minus Doppler. Rene’s carrier shows a similar ‘sine shape’ and wiggle. Unfortunately PE1CMO switched off his beacon signal at around 40000 seconds in the observation (and switched it back on the next day but these measurement points have been discarded in the data processing).

The next step is to compare the measurement of the PSK beacon frequency offset and the PE1CMO beacon frequency offset during the time window where both were active. This reveals that the frequency difference of the signal generated by PE1CMO and transmitted back by the QO-100 transponder, and the QO-100 PSK beacon was very small as can be seen in Figure 3 and on average (averaged over the observation period until he switched off). This results in an average frequency difference of only 0.18 Hz. It should be noted that due to the difference in location between PE1CMO and Bochum, there is a very small differential Doppler component, but its magnitude is likely much smaller than the inherent noise on the frequency measurement and can therefore be neglected.

The fact that this difference is so small can mean at least two things:
1) Either both the PSK beacon and PE1CMO’s beacon are exactly ‘on frequency’;
or
2) Both the PSK beacon and PE1CMO’s beacon have the same frequency error.
Point 2) is considered highly unlikely because it would mean that the exact same frequency offset is present on two completely independent (and likely different) setups.
Now, if we assume 1) is true, we can determine the actual transponder LO offset over a day by inspecting the curve of Figure 1. To obtain an estimate, the data over 1 sidderial day has been averaged, which yields a value of -67.2 Hz. Thus, a 2400 MHz uplinked signal will be downlinked at 10489.5 MHz 67.2 Hz lower in frequency than expected. It has to be noted that the method of averaging may not be exactly accurate since the curve may not be fully sinusoidal (which it clearly is not due to the “wiggle” discussed earlier). Nevertheless, this number is believed to provide a good estimate of the actual transponder LO offset, and hence, frequency.
It is very difficult to obtain information about the frequency reference used on QO-100 to generate the transponder LO. It is possible that this frequency reference also feeds other transponders in the satellite and I would expect it to have a very good stability (like a Rubidium reference). Our measurements show that there may be a certain inaccuracy of the reference, although it is questionable whether that is a problem in the applications on board the satellite. Nevertheless, the resulting uplink / downlink frequency difference is large enough though to be noticed during narrowband operation.
It would be interesting if these measurements could be repeated by other amateurs to obtain an independent data source, and furthermore to repeat these measurements over time to determine whether the LO offset is stable or whether there could be a long term drift.
I would like to acknowledge Rene PE1CMO for his help in generating a stable CW beacon, M0EYT for providing an independent measurement, and Remco PA3FYM for his coordination, reflecting off ideas and reviewing this post.