I want to use the *.ogg files available in Satnogs' database to test demodulation software for several satellites (using gnuradio).

Can i use the ogg file source (available in gr-satnogs module) and transform its output to complex data and then do the signal processing as if i were using raw IQ data comming from a SDR ? And in this case, what sample rate is suitable in the throttle block ?

gnuradio ogg file source

Or, if not possible, should i convert the *.ogg file first to a *.raw file, using sox for example (Sound eXchange program) and then use it in gnuradio ? In this case, what are the parameters (input file sample rate, output file sample rate, encoding, sample size in bits, etc ...) i must use ?


(This answer is from the perspective of GNU Radio programming; I'm not familiar with what SatNOGS is doing.)

There are two problems to solve to use a given data file. First, you need to decode the file format into samples of a signal. The OGG File Source presumably solves this problem for you. Converting the file to a raw format is also an option, but not necessary.

Second, you need to interpret the signal correctly. And here is where I can fairly confidently say you are going wrong:

  • Converting float to complex with a zero imaginary part (as seen in your proposed graph) results in a signal with a spectrum which is symmetric about 0 Hz. This is not necessarily wrong, but it is definitely not an IQ / complex-baseband signal, which would be expected to have an asymmetric spectrum — and converting such a signal to real/float for storage would either destroy its content or require a frequency shift step to put all of the signal in positive frequencies. Converting float to complex is almost certainly not a correct processing step.

  • Ogg is a container for audio data. It is theoretically possible but unlikely that it has been applied here to IQ RF signals; it is much more likely, whenever you see an audio-formatted radio recording, that it is a recording of the signal after some demodulator — most commonly a FM demodulator. For example, a signal transmitted as FSK will show up in the "audio" data with varying level (a square wave / pulse train) instead of varying frequency.

My recommendation would be to first look at the signal (using for example the "QT GUI Sink" block connected after the Throttle) and identify the modulation (or lack thereof), and use that to decide what to add to your signal processing chain.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.