Doppler shift compensation

I’ve had a question about Doppler shift compensation on the FUNcube satellite. On the downlink on 145MHz, the Doppler shift as the satellite passes over will start at about 3kHz low and end at about 3kHz high.

For FM reception and transmission this is often not a problem as the IF passbands for FM receivers are generous enough such that distortion is negligible and the capture effect of FM automtically helps us. However, the downlink of FUNcube isn’t FM, it’s linear and it’s a mixture of SSB voice and BPSK telemetry.

SSB can be corrected with an “open loop” scheme where given a downlink frequency (or indeed and uplink frequency), over time knowing the satellite’s orbit from its up-to-date Keplerian elements, the frequency can be corrected: programs like IntantTrack together with InstantTune have been doing this for a very long time!

However the accuracy required for narrow band BPSK telemetry is very much more and really needs a closed loop design due to the vaguaries of downlink frequency deviations mostly due to the continual temperature changes on the satellite as it spins and goes into and out of eclipse. The software we’re developing for FUNcube has two modes: a hunt mode and a tracking mode. In hunt mode, the signal is not locked and the software performs an exhaustive search across the available passband. In tracking mode, the carrier has been found and can be tracked by detecting incremental longer term agregate phase aberrations from the nominal hunted frequency.

There are two neat things about using an SDR like the FCD. Firstly, hunting for the signal is quite CPU intensive, but once it’s hunted the signal down, it can go back through the raw spectrum history and extract frames retrospectively. Secondly, it is entirely feasible to track multiple satellites within the SDR passband concurrently.


This entry was posted in Uncategorized. Bookmark the permalink.

6 Responses to Doppler shift compensation

  1. Bernd says:

    Forwarded from
    Hello Howard,
    thank you for your fast reply.
    So you are developing a software for funcube, thats great, because as far as i
    know standard satellite software (like my SATPC32 by DK1TB) and others too may
    not be capable of controlling the dongle. So i stand by until things can be

    • admin says:

      Hi Bernd

      There’s a team of three of us busy working the groundstation software. It will be very cool! It includes a distributed system so that FUNcube groundstations across the world can contribute to give real time status, and you get to see your Fitter message being received on the other side of the planet! It’ll also all be fully open source.


  2. Mike says:

    Howard – that point on a distributed ground segment is very interesting. Do you think it might be applied to other applications as well – e.g. a true reverse beacon network for VHF/UHF? Radio Astronomy even? I realise this has nothing to do with FunCube.

    • admin says:

      Hi Mike.

      We don’t at present have any plans for the host software other than to support FUNcube. However the host software will be freely available in source code format so there’s nothing to prevent tinkering.


  3. Francis says:

    Can’t wait to see your dongle and software in action.

    Will your software be suitable as ground station for other sats? (eg AO-51 or upcoming kiwisat). If your software can track doppler based on keps I was thinking that I could use a funcube dongle and software as down link and FT857 as uplink.



    • admin says:

      Hi Francis

      As I mentioned to Mike just now, the software is designed to work for gloabal FUNcube telemetry collection so in its designed form it won’t work with other telemetry formats. Of course, as it’ll be open source, there would technically be nothing preventing changes to support other formats.