Trouble installing gr-sagnots in GNU Radio 3.10 in Raspberry Pi 4B bookworm

Hi everyone,

I am currently using GNU Radio to process signals coming from CubeSats. I am utilizing Gpredict to track them. Recently, I came across “gr-sagnots,” a module for GNU Radio that includes a block for correcting the frequency shift. I wanted to install “gr-sagnots,” but I encountered the following error while entering the command “cmake …”:

CMake Error at swig/CMakeLists.txt:37 (include):
include could not find load file:

GrSwig

CMake Error at swig/CMakeLists.txt:51 (GR_SWIG_MAKE):
Unknown CMake command “GR_SWIG_MAKE”.

– Configuring incomplete, errors occurred!

I am using GNU Radio 3.10, and I have installed the dependencies listed in the hub.

If my understanding is correct, can I use the Gpredict radio control feature to communicate via TCP with GNU Radio to correct the Doppler effect in the flowgraph, right? Similar to what the module “gr-gpredict-doppler” did.

I am aware of the Doppler correction block in gr-satellites, but I was seeking an alternative that allows for more automatic correction instead of manually creating a text file with the TLEs.

Looks like you’re trying to build the master branch, which is for gnuradio-3.8
The porting to 3.10 is in Files · gnuradio-3.10 · librespacefoundation / SatNOGS / gr-satnogs · GitLab

That doppler module uses rigctld, so you need to run that as dummy and make gpredict control the same instance. Probably as RX only.

The gr-satellites doppler block is way better thou, as it does sample by sample correction and most others use a stepped method. if you have a frame that gets corrected in the middle it gets distorted and harder to demodulate. real time vs calculated, not sure what tricks can be done but it is possible to experiment with truncating the file with updated timespan. if this doesn’t behave, I bet Dani accepts MR’s to implement that.
not sure how to make that work with gpredict thou, possible to get the currently tracked tle for instance ?

I have two examples for the doppler file generator, pretty similar and you can trim them down to what you need:

Edit: the python script “generate_doppler_file.py” in the line:
~ $ python3 /Doppler/generate_doppler_file.py TLE.txt 1704987302 --f-carrier 437e6

was taken from: https://github.com/daniestevez/gr-satellites/blob/main/examples/doppler_correction/tle_to_doppler_file.py