~corvus/futuresdr_modulation_sanbox

Examples/experiment of single side band (SSB) modulation using FutureSDR.
bbd4ae1e — Christian HB9HOX 1 year, 4 days ago
Weaver demodulation
db030b5d — Christian HB9HOX 1 year, 6 months ago
AM demodulation
9d835bc6 — Christian HB9HOX 1 year, 6 months ago
Add AM

refs

trunk
browse  log 

clone

read-only
https://git.sr.ht/~corvus/futuresdr_modulation_sanbox
read/write
git@git.sr.ht:~corvus/futuresdr_modulation_sanbox

You can also use your local clone with git send-email.

#FutureSDR Modulation Sandbox

Implementations of different types of radio signal modulation with FutureSDR.

The binaries generate a wave file. It does not contain audio but the IQ data generated by the modulation. It can be viewed/demodulated using a sofware defined radio application like SDR++.

#Double side band (DSB) with suppressed carrier

cargo run --bin dsb

#Amplitude modulation (AM)

Basically DSB but with a carrier added.

cargo run --bin am_enc
cargo run --bin am_dec

#Sideband suppression using a bandpass filter

Basically DSB but with a band pass filter used to suppress one side band.

cargo run --bin bandpass

#SSB using the weaver method

https://www.eng.auburn.edu/~troppel/courses/TIMS-manuals-r5/TIMS%20Experiment%20Manuals/Student_Text/Vol-A2/A2-02.pdf

cargo run --bin weaver_enc
cargo run --bin weaver_dec

#Phase shift using a hilbert transform

Uses a hilbert transformation to phase shift I or Q by 90°.

cargo run --bin hilbert

#Benchmarking

#Encoding

cargo build --release
hyperfine --warmup 3 --export-markdown bench.md target/release/bandpass target/release/hilbert target/release/weaver_enc
Command Mean [ms] Min [ms] Max [ms] Relative
bandpass 870.3 ± 12.1 862.6 903.8 1.22 ± 0.02
hilbert 710.8 ± 8.0 704.1 732.1 1.00
weaver 914.6 ± 3.0 911.1 921.3 1.29 ± 0.02
Do not follow this link