RS-tracker/demod/mod
Zilog80 438590bc6f Hamming [8,4] 2-bit-errors -> soft decision 2020-04-27 23:35:45 +02:00
..
README.md compile/usage info update 2020-01-25 00:22:03 +01:00
bch_ecc_mod.c mod: more modular/encapsulated decoders/components 2019-03-16 10:15:11 +01:00
bch_ecc_mod.h C99 2020-01-24 22:59:04 +01:00
demod_mod.c Hamming [8,4] 2-bit-errors -> soft decision 2020-04-27 23:35:45 +02:00
demod_mod.h Hamming [8,4] 2-bit-errors -> soft decision 2020-04-27 23:35:45 +02:00
dfm09mod.c Hamming [8,4] 2-bit-errors -> soft decision 2020-04-27 23:35:45 +02:00
lms6Xmod.c mod: read raw IQ data: - <sr> <bs> 2019-10-09 20:04:02 +02:00
lms6mod.c IF/IQ lowpass 2019-09-12 23:41:46 +02:00
m10mod.c mod: read raw IQ data: - <sr> <bs> 2019-10-09 20:04:02 +02:00
meisei100mod.c mod: read raw IQ data: - <sr> <bs> 2019-10-09 20:04:02 +02:00
rs41mod.c compile/usage info update 2020-01-25 00:22:03 +01:00
rs41mod18.c rs41_sgm.c -> (new) rs41mod.c 2019-05-23 18:21:14 +02:00
rs92mod.c compile/usage info update 2020-01-25 00:22:03 +01:00

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)