RS-tracker/demod/multi
Zilog80 61d215ee6d M20: more PTU plausibility checks 2023-03-12 18:35:48 +01:00
..
Makefile rs_multi: add M20 2022-09-25 01:09:51 +02:00
README.md rs_multi: add M20 2022-09-25 01:09:51 +02:00
bch_ecc_mod.c multi decode: rs41, dfm 2019-08-22 20:22:59 +02:00
bch_ecc_mod.h mod/multi: Makefiles 2020-12-26 23:45:39 +01:00
demod_base.c rs_multi: sync with mod 2023-03-05 23:40:53 +01:00
demod_base.h demod_mod: reduce % ops 2022-09-12 02:26:38 +02:00
dfm09base.c rs_multi: sync with mod 2023-03-05 23:40:53 +01:00
lms6Xbase.c rs_multi: update 2022-09-25 01:07:39 +02:00
m10base.c rs_multi: sync with mod 2023-03-05 23:40:53 +01:00
m20base.c M20: more PTU plausibility checks 2023-03-12 18:35:48 +01:00
rs41base.c rs_multi: update 2022-09-25 01:07:39 +02:00
rs_multi.c rs_multi: add M20 2022-09-25 01:09:51 +02:00

README.md

Radiosonde decoders

simultaneous decoding

Compile

gcc -Ofast -c demod_base.c
gcc -O2 -c bch_ecc_mod.c
gcc -O2 -c rs41base.c
gcc -O2 -c dfm09base.c
gcc -O2 -c m10base.c
gcc -O2 -c m20base.c
gcc -O2 -c lms6Xbase.c
gcc -O2 rs_multi.c demod_base.o bch_ecc_mod.o rs41base.o dfm09base.o m10base.o m20base.o lms6Xbase.o \
     -lm -pthread -o rs_multi

Usage/Examples

$ ./rs_multi --rs41 <fq0> --dfm <fq1> --m10 <fq2> --lms <fq3> <iq_baseband.wav>
$ ./rs_multi --rs41 <fq0> --dfm <fq1> --m10 <fq2> --lms <fq3> - <sr> <bs> <iq_baseband.raw>
where
     -0.5 < fqX < 0.5: (relative) frequency, fq=freq/sr
     <sr>: sample rate
     <bs>=8,16,32: bits per (real) sample (u8, s16 or f32)
decodes up to MAX_FQ=5 (demod_base.h) signals. Decoding more signals than number of CPUs/cores is not recommended.
Note: If the baseband sample rate has no appropriate factors (e.g. if prime), the IF sample rate might be high and IF-processing slow.

Sending add/remove commands via fifo:
[terminal 1]
$ rtl_sdr -f 403.0M -s 1920000 - | ./rs_multi --fifo rsfifo --rs41 <fq0> --dfm <fq1> - 1920000 8
where <fqX> is the (relative) frequency of signal X
[terminal 2]
add M10 on <fq2>:
$ echo "m10 <fq2>" > rsfifo
remove <fq1>:
$ echo "-1" > rsfifo

If there is no decode for SEC_NO_SIGNAL=10 (demod_base.c) seconds, the signal is removed, unless option -c is used.
--json output is also possible.