Creating waterfall images from satnogs generated .dat file?

Hi all,

Short question: are there any scripts out there to take waterfall .dat file generated by the satnogs_*.py decoder scripts and create a waterfall image like displayed on the SatNOGS Network for a particular observation?

Longer reason why:

As an example, I am manually running

/usr/bin/python3 /usr/bin/satnogs_fsk.py --soapy-rx-device=driver=rtlsdr --samp-rate-rx=2.048e6 --rx-freq=400500000 --file-path=./receiving_satnogs.out --waterfall-file-path=./receiving_waterfall_.ogg --decoded-data-file-path ./ --gain-mode=ā€˜Settings Fieldā€™ --gain=42.0 --antenna=RX --other-settings=IF1=6,IF2=3,IF2=2,IF3=0,IF4=0,IF5=2,IF6=3,TUNER=42.0 --baudrate=3 8400 --framing=ax25

then Cntrl-C out of it when the satellite goes below the horizon. So Iā€™m looking to take the resulting waterfall.dat file and view the waterfall as a png or jpg (not to upload to SatNOGS network). I realize the doppler shift will be off without rigctl adjusting the frequency

Why do I want to do this? Sometimes I want to record the waterfall of an observation that I cannot schedule in satnogs or maybe my station when offline for a few seconds and missed the start of a scheduled pass that is still visible for the next 10-15 minutes, this way I can at least manually run the decoder and capture raw data with the hopes of displaying the waterfall portion of the artifact.

Iā€™ve searched around and didnā€™t come up with anything. Thanks for any insight you can offer (even if itā€™s ā€˜you canā€™t do thatā€™ :slight_smile: )

2 Likes

This is what SatNOGS Client do for plotting the waterfall from the .dat file:

3 Likes

Perfect, thanks you for this!

Cheers

1 Like

Iā€™m trying to play with running manual observations now, as well. Did you get the processing of the waterfall plot working as you intended? Iā€™ve been spending time on this, but am not certain of how to use waterfall.py with a specific file (Iā€™m no coderā€¦ So my understanding is lacking).

Any suggestions on how to run this py script against a dat file would be appreciated.

AFAICT, this is possible without too much pain. For the .dat file, you just mean the .ogg output, ya? Like the file from --waterfall-file-path=./receiving_waterfall_.ogg mentioned by original poster?

I took the waterfall.py and made it so thereā€™s a line for a file you want to read and it will output a PNG. Not sure if it is doing what you want, but maybe. :slight_smile: See:

2 Likes

Sensational! Iā€™ll give this a try.

I have two ā€˜receivingā€™ filesā€¦
receiving_satnogsā€¦ .out
and
receiving_waterfallā€¦ .dat

So you didnā€™t add that to the waterfall.py, but added to the input command when called manually? Just want to be sure I understand how itā€™s working. Thanks so much.

Hey @BigBad

Since @fredy said it was all done in waterfall.py, all I did is take the input waterfall.py would ā€œnormallyā€ use and made it so it could use a file instead. I then made it output a PNG. I didnā€™t dig into which is the appropriate input file, as I hadnā€™t done your manual process of gathering observations.

You shouldnā€™t have to change the output filename from waterfall.png, unless you want to. The .dat file should probably be this line:

datafile_path='receiving_waterfall_.ogg'

to whatever your filename is, such as:

datafile_path='receiving_waterfall_.dat'

Let me know how that goes for you. Thanks!

Note: I also changed the name in the script to .dat now. If you want to send me a sample .dat file youā€™ve created, I can test with that.

1 Like