ha7ilm / csdr

A simple DSP library and command-line tool for Software Defined Radio.
522 stars 171 forks source link

README.md has Broken Examples #62

Open rogerxxxx opened 7 months ago

rogerxxxx commented 7 months ago

The python math calculation used within one of the examples is broken. The python print command now requires an additional set of parenthesis around the entire python print argument, after a recent python version release.

Also, mplayer incantation doesn't work here using ALSA, so I'm readily suspecting mplayer will not also work with other recent Linux distributions using pulseaudio for the past many years.  I'm thinking, probably best relying upon rarely changing simplistic software tools, or boring and stable tools such as either ALSA aplay or sox software tools for the examples.  Albeit, mplayer and mpv are great multi tools, myself using mpv more often.  Regardless, aplay is easy and simplistic, and when dealing with sound file manipulation, always find sox performs well.

So far, the below modified examples currently works for me.  Note, the previously mentioned bugs have been fixed within the incantations below:

# fm demodulation
$ airspyhf_rx -z -d -r stdout -f 105.5 | ./csdr fir_decimate_cc 2 0.25 HAMMING | ./csdr fmdemod_quadri_cf | ./csdr fractional_decimator_ff 8 | ./csdr deemphasis_wfm_ff 48000 50e-6 | ./csdr convert_f_s16 |  play -t s16 -r 48000 -

# am demodulation
airspyhf_rx -z -d -r stdout -f 0.970 |  csdr convert_u8_f | csdr shift_addition_cc `python -c "print (float(145000000-144400000)/2400000)"` | csdr fir_decimate_cc 50 0.005 HAMMING | csdr amdemod_cf | csdr fastdcblock_ff | csdr agc_ff | csdr limit_ff | csdr convert_f_s16 |  play -t s16 -r 48000 -

Since I'm relatively new to airspyhf_rx and csdr, there maybe errors.  airspyhf hardware suggests always using AGC on (or set to low) setting.