438590bc6f | ||
---|---|---|
.. | ||
README.md | ||
bch_ecc_mod.c | ||
bch_ecc_mod.h | ||
demod_mod.c | ||
demod_mod.h | ||
dfm09mod.c | ||
lms6Xmod.c | ||
lms6mod.c | ||
m10mod.c | ||
meisei100mod.c | ||
rs41mod.c | ||
rs41mod18.c | ||
rs92mod.c |
README.md
Radiosonde decoders
alternative decoders using cross-correlation for better header-synchronization
Files
demod_mod.c
,demod_mod.h
,
rs41mod.c
,rs92mod.c
,dfm09mod.c
,m10mod.c
,lms6mod.c
,lms6Xmod.c
,meisei100mod.c
,
bch_ecc_mod.c
,bch_ecc_mod.h
Compile
gcc -c demod_mod.c
gcc -c bch_ecc_mod.c
gcc rs41mod.c demod_mod.o bch_ecc_mod.o -lm -o rs41mod
gcc dfm09mod.c demod_mod.o -lm -o dfm09mod
gcc m10mod.c demod_mod.o -lm -o m10mod
gcc lms6Xmod.c demod_mod.o bch_ecc_mod.o -lm -o lms6Xmod
gcc meisei100mod.c demod_mod.o bch_ecc_mod.o -lm -o meisei100mod
gcc rs92mod.c demod_mod.o bch_ecc_mod.o -lm -o rs92mod
(needs RS/rs92/nav_gps_vel.c
)
Usage/Examples
./rs41mod --ecc2 -vx --ptu <audio.wav>
./dfm09mod --ecc -v --ptu <audio.wav>
(add -i
for dfm06; or use --auto
)
./m10mod --dc -vv --ptu -c <audio.wav>
./lms6Xmod --vit --ecc -v <audio.wav>
IQ data:
If the IQ data is downsampled and centered (IF band), use
./rs41mod --iq2 <iq_data.wav>
or with lowpass filter
./rs41mod --iq2 --lp <iq_data.wav>
For baseband IQ data, use
./rs41mod --IQ <fq> <iq_data.wav>
where <fq>
is the relative frequency in -0.5 .. 0.5
;
e.g. if the receiver is tuned to 403MHz and the (complex) sample rate is 2MHz,
a signal at 402.5MHz would be -0.5MHz off, i.e. <fq> = -0.5/2 = -0.25
.
For IQ data (i.e. 2 channels) it is possible to read raw data (without wav header):
./rs41mod --IQ <fq> - <sr> <bs> <iq_data.raw>
<sr>
: sample rate
<bs>=8,16,32
: bits per (real) sample (u8, s16 or f32)