On 8/29/20 11:15, Hasan N0AN via AMSAT-BB wrote:
Anyone using an SDR that has not used SDRC for controlling it, for satellite work, has no idea how enriching an SDR setup with good software can be.
Does it do fine Doppler tuning in software, or does it only retune in steps?
A few years ago I wrote an SDR for the AMSAT UK Funcube Pro+ dongle with a local oscillator in software that can generate a frequency sweep with no abrupt phase or frequency jumps. This is actually pretty easy to do, taking only two complex multiplies per sample instead of one. This is important when coherently demodulating a digital signal.
My software LO does all tuning within a pass. I tune the hardware LO in the SDR front end close enough so that it doesn't have to be retuned during the pass. Because that hardware LO is synthesized, retuning it causes uncontrolled jumps in phase and frequency. As long as the SDR front end has enough bandwidth to handle the signal bandwidth plus the total Doppler, there's no need to retune it. The Funcube dongle samples at 192 kHz. This is low by comparison to other front ends but it's still wide enough up to 70cm or so.
Because the Funcube dongle is direct conversion you want to avoid the noisy region around DC in the IF. That cuts the usable bandwidth to ~96 kHz on either side of DC. Take off another 10 kHz to avoid the aliased region near +/- 96 kHz and you're down to 86 kHz. 3 kHz SSB + 2 * 10 kHz = 23 kHz, so there's plenty of room for tracking an entire pass without ever retuning the front end.
I set the oscillator frequency rate (corresponding to Doppler acceleration) with a tracking program every second or two, which was frequent enough to keep a 70cm mode J CW beacon within a 100 Hz filter for an entire pass. It's so rock stable as to be eerie. But you do need accurate elements, accurate station position (including altitude!) and an accurate clock.
I had considered adding another order to the oscillator (ie. set frequency, frequency rate, and rate squared) but it just wasn't necessary.
My tracking program calculates relative velocity (Doppler frequency) analytically from the velocity vectors computed by the orbit and earth models, rather than by finite differencing position as a lot of the older AMSAT tracking programs did. Do any of the newer programs do it this way?
I (with n4hy's help) also did the math to calculate relative acceleration (Doppler sweep rate) analytically. One of the terms was the actual inertial acceleration of the satellite due to gravity. That meant modeling the earth's gravity field, which is most of what it takes to do a full-blown state vector propagator. This seemed like too much work so I stuck with the NORAD keplerian orbit model.
Phil