Make new decoder

Hi Guys,
Just have a question I’m using the decorders project (librespacefoundation / SatNOGS / satnogs-decoders · GitLab)

I need to add a new decoder for the satellite that I am working on.

I’m having my own issues with python errors, but will leave that to another post.

I’m using decode_frame command to decode a sample that I have and I have two questions:
1 - the sample is recorded with GQRX, it’s not demodulated raw file, is this correct?
2 - this command “decode_frame” how does it know the baud rate and demodulation parameters that needs to use in my satellite? I didn’t put them anywere.

Thanks in advance

1 Like

In SatNOGS-decoders there are literally decoders for the raw binary data frames. They don’t do baseband demodulation (which outputs data, called “frames” in our context). What transmission scheme are you using on RoseyCubeSat-1?

Hello Patrick, thank you for your help once again.

just another question, I know a bit of GNU Radio, at which state of binary files? when they are PDUs or straight after of demodulation?

Roseycubesat: 436.825 MHz BPSK 1200 bps

1 Like

frames are AX.25, if it helps, it’s a TRXVU radio from ISISpace

1 Like

Not sure if this answers your questions:

This is the script that will run in SatNOGS client for demodulating the received signal of your satellite generic/bpsk.grc · master · librespacefoundation / SatNOGS / satnogs-flowgraphs · GitLab

This is chosen by the information (modulation, baudrate, frequency) that exist for your satellite in DB. So make sure that the entries are accurate.

Check this image for a quick overview of how the whole stack works:

On the above diagram in SatNOGS Radio is where the received signal (in I/Q raw format) is demodulated with the gr-satnogs and satnogs-flowgraph scripts.

The demodulated frames (and other results from the observation like audio and waterfall) are uploaded from each station to the Network. From Network, the demodulated data are forwarded to DB. Other demodulated data can be added in DB from third party clients through the SiDS protocol.

Once the demodulated data are uploaded in DB, then the decoder from satnogs-decoders for your satellite will decode them and save the decoded result in the InfluxDB instance. Grafana Dashboards use this InfluxDB instance as source for visualizing the satellite data.

1 Like

Ok, so there is already everything available in SatNOGS! No need to build anything on your own. The only thing needed is indeed the SatNOGS decoder, which makes the demodulated AX.25 frames “human readable”.

Thank you Alfredos and Patrick

This was great help.

Bypassing the demodulation, I generated a binary file with what I think data from the satellite is going to look at. Now I’m going to try to demodulate the samples that I have and test the full loop.

In the meanwhile I have another question: In the SatNOGS DB, how does it know what decoder to use, for instance, the satellite name in SatNOGS DB is Roseycubesat-1 but the decoder id is roseycubesat1 (i followed naming conventions of other decoders that were there already). Other satellites like PWSAT2 have similar differences, how is this a problem? how is this sorted out?


bill@martindocks:~/eclipse-pegasus/comms-samples$ decode_frame Roseycubesat1 ./synthBeacon
“dest_callsign”: "ALL ",
“dest_ssid”: 0,
“src_callsign”: "HELLO ",
“src_ssid”: 0,
“ctl”: 3,
“payload_size”: 47,
“payload_to”: 1,
“packet_id”: 65535,
“text”: “Une Ecole pour la Vie”,
“time”: 1675487277,
“bat_v”: 0,
“bat_c”: 0,
“temperature”: 0,
“mode”: 0,
“eps_boot_counter”: 0

1 Like

There is a configuration page in the admin panel of DB. We need to setup this manually.
I think there is a suggestion page where you can suggest using a specific decoder. It is also possible to use multiple decoder in parallel, as we do for ISS e.g.!

Unfortunately this isn’t implemented yet, so we need to do it from the admin panel manually for now as soon as the decoder katai struct is merged in satnogs-decoders and deployed, we go and create the link between the decoder and the satellite as @DL4PD described, and can be more than one links.

1 Like

Ok guys, another question, just to improve my confidence, the decoder is working but I want to make sure that the packet that comes out of the demodulation is the same that is entering the decoder.

So I want to demodulate a IQ recording that I did with GQRX.

I installed the satnogs in a raspberry pi.

I also installed satnogs-gr and it seems to be working OK.

Does any one know how to demodulate it?

Dear Fredy and DL4PD,

hope that you are doing great.

in RoseyCubeSat-1 we changed the baud rate permanently to 9600 (from 1200) - I’m not sure, but I think that you guys need to do something under the bonet so that SatNOGS ground stations users choose 9600 by default… if I’m correct.

Thanks in Advance guys,

1 Like

Thanks for letting us know!

I’ve changed the 1k2 transmitter in DB to be inactive. Have in mind that you can suggest such changes directly in DB by logging in and edit the transmitter/satellite.