Skip to content

Latest commit

 

History

History
93 lines (66 loc) · 2.91 KB

README.md

File metadata and controls

93 lines (66 loc) · 2.91 KB

Some examples of using our DSP code library

Frequency modulation demodulation of commercial FM broadcasting.

REGION=1
FREQ=106.4M
IRATE=2048000
MRATE=256000
ORATE=44100
rtl_sdr -f $FREQ -s $IRATE - | ./fmdemod $IRATE $MRATE $ORATE $REGION | aplay -t raw -c 1 -r $ORATE -f float

Frequency modulation demodulation of commercial stereo FM broadcasting.

REGION=1
FREQ=106.4M
IRATE=2400000
MRATE=480000
ORATE=48000
rtl_sdr -f $FREQ -s $IRATE - | ./fmstereo $IRATE $MRATE $ORATE $REGION | aplay -t raw -c 2 -r $ORATE -f float

For lower CPU usage and fewer underruns, choose lower rates and avoid PulseAudio:

REGION=1
FREQ=106.4M
IRATE=1024000
MRATE=256000
ORATE=32000
DEVICE=$(aplay -L | grep -m1 sysdefault)
rtl_sdr -f $FREQ -s $IRATE - | ./fmstereo $IRATE $MRATE $ORATE $REGION | aplay -t raw -c 2 -r $ORATE -f float -D $DEVICE

Interpolation via frequency-domain zero padding.

Use gnuplot to look at the example:

plot "< ./fdzp" u 2:3 w p pt 4 t "Data", "< ./fdzp" u 4:5 w l t "FDZP"

fdzp.png

Interpolation using Cubic Hermite Spline.

Use gnuplot to look at the example:

plot "< ./hermite" u 1:2 w p pt 4 t "Data", "< ./hermite" u 1:3 w l t "Hermite"

hermite.png

Interpolation in 2D using Cubic Hermite Spline.

Use gnuplot to look at the example:

plot "< ./hermite2" u 2:3 w p pt 4 t "Data", "< ./hermite2" u 4:5 w l t "Hermite"

hermite2.png

Comparing interpolation between Uniform Cubic Hermite Spline and Uniform Natural Cubic Spline.

Use gnuplot to look at the example:

plot "< ./uniform" u 1:2 w p pt 4 t "Data", "< ./uniform" u 1:3 w l t "Hermite", "< ./uniform" u 1:4 w l t "Natural"

uniform.png

Fs/4 Complex down conversion

Discrete Hilbert transform

Channel estimation using the Normalized Complex Least Mean Squares filter

nclms.png