I clicked through at least 20 different repositories expecting lots of MATLAB code, but to my surprise, I didn't find a single .m file. I hate how MATLAB is so popular in the DSP world and it makes me happy to see that the astronomy community has not been infiltrated by Mathworks (yet).
Thank you for the clarification. Recently I've been reading a lot about tracking of space objects (though much closer ones, on LEO/MEO), so this is some very interesting stuff for me!
The article is light on details, but we can make some guesses based on the label "10s integrations, 1Hz channels" in the plot. I assume they have a bank of 1Hz filters, and they split the output of each filter into 10s intervals, and somehow combine ('integrate') each 10s chunk into a single number for each bin.
They need to compensate the Doppler shift so that the signal stays in one bin over the 10s integration time. I imagine they are using non-coherent integration (basically computing total signal energy over 10s in each bin) to take into account that the doppler compensation is not perfect (if it was, you could have 0.1Hz bins with 10s integration time).
If the above is true, then yeah, they can't demodulate any data because the integration time is much longer than symbol duration.
I wonder if with more accurate Doppler prediction, you could get an ever longer integration time and narrower bins, and thus even bigger SNR gain, perhaps allowing signal detection with a smaller dish...
GPS navigation messages do include information about leap seconds and other stuff necessary to convert between GPS time and UTC. See GPS Interface Specification IS-GPS-200, 30.3.3.6.2 - UTC and GPS Time
Can confirm, it's a great way to get started with radio stuff. Since I live in Europe, I did this with the German DCF77 signal. The frequency is low enough that you can do direct sampling with a 192ksps sound card or with an RP2040.
A nice thing about DCF77 is that once you manage to receive the amplitude modulated signal, you can move onto decoding the slightly more advanced spread-spectrum phase modulated signal, which carries (almost) the same data.
You can start by buying a time signal receiver module, and once you confirm that the module can receive the signal, cut off the ferrite antenna and use it with your own receiver.
I wanted to build something like this but for Linux, especially the vimium-like hints that would work in any app. I even made a prototype by abusing the AT-SPI2 accessibility API. Unfortunately, querying AT-SPI2 for all buttons takes too long in complex apps. And even if it was fast, many apps (especially non-GTK ones) implement accessibility poorly or don't implement it at all, so I abandoned the project.
I guess it would be possible to make a framework specific implementation, for example by replacing the GTK shared library with a modified version, but that's too much effort and I lost interest in the whole 'mouseless' thing anyway.