Add DC block stage into sdr wrappers (thanks @rs1729!)

pull/735/head
Mark Jessop 2022-12-23 09:39:26 +10:30
rodzic 6087f12431
commit f606b487c2
7 zmienionych plików z 1179 dodań i 3 usunięć

Wyświetl plik

@ -12,7 +12,7 @@ from queue import Queue
# MINOR - New sonde type support, other fairly big changes that may result in telemetry or config file incompatability issus. # MINOR - New sonde type support, other fairly big changes that may result in telemetry or config file incompatability issus.
# PATCH - Small changes, or minor feature additions. # PATCH - Small changes, or minor feature additions.
__version__ = "1.6.0-beta23" __version__ = "1.6.0-beta24"
# Global Variables # Global Variables

Wyświetl plik

@ -221,6 +221,13 @@ def get_sdr_iq_cmd(
""" """
# DC removal commmand, using rs1729's IQ_dec utility.
# This helps remove the residual DC offset in the 16-bit outputs from
# both rtl_fm and ss_iq.
# We currently only use this on narrowband sondes.
_dc_remove = f"./iq_dec --bo 16 - {int(sample_rate)} 16 2>/dev/null |"
_dc_remove_limit = 80000
if sdr_type == "RTLSDR": if sdr_type == "RTLSDR":
_gain = "" _gain = ""
if gain: if gain:
@ -239,6 +246,9 @@ def get_sdr_iq_cmd(
f"- 2>/dev/null | " f"- 2>/dev/null | "
) )
if sample_rate < _dc_remove_limit:
_cmd += _dc_remove
return _cmd return _cmd
if sdr_type == "SpyServer": if sdr_type == "SpyServer":
@ -249,6 +259,9 @@ def get_sdr_iq_cmd(
f"-r {sdr_hostname} -q {sdr_port} - 2>/dev/null|" f"-r {sdr_hostname} -q {sdr_port} - 2>/dev/null|"
) )
if sample_rate < _dc_remove_limit:
_cmd += _dc_remove
return _cmd return _cmd
else: else:

Wyświetl plik

@ -41,7 +41,8 @@ REQUIRED_RS_UTILS = [
"mp3h1mod", "mp3h1mod",
"m20mod", "m20mod",
"imet4iq", "imet4iq",
"mts01mod" "mts01mod",
"iq_dec"
] ]

Wyświetl plik

@ -37,5 +37,6 @@ mv ../demod/mod/meisei100mod .
mv ../demod/mod/imet54mod . mv ../demod/mod/imet54mod .
mv ../demod/mod/mp3h1mod . mv ../demod/mod/mp3h1mod .
mv ../demod/mod/mts01mod . mv ../demod/mod/mts01mod .
mv ../demod/mod/iq_dec .
echo "Done!" echo "Done!"

Wyświetl plik

@ -24,6 +24,7 @@ rm meisei100mod
rm mp3h1mod rm mp3h1mod
rm imet54mod rm imet54mod
rm mts01mod rm mts01mod
rm iq_dec
echo "Done!" echo "Done!"

Wyświetl plik

@ -1,6 +1,6 @@
LDLIBS = -lm LDLIBS = -lm
PROGRAMS := rs41mod dfm09mod rs92mod lms6mod lms6Xmod meisei100mod m10mod m20mod imet54mod mp3h1mod mts01mod PROGRAMS := rs41mod dfm09mod rs92mod lms6mod lms6Xmod meisei100mod m10mod m20mod imet54mod mp3h1mod mts01mod iq_dec
all: $(PROGRAMS) all: $(PROGRAMS)
@ -31,5 +31,8 @@ bch_ecc_mod.o: bch_ecc_mod.h
demod_mod.o: CFLAGS += -Ofast demod_mod.o: CFLAGS += -Ofast
demod_mod.o: demod_mod.h demod_mod.o: demod_mod.h
iq_dec: CFLAGS += -Ofast
iq_dec: iq_dec.o
clean: clean:
$(RM) $(PROGRAMS) $(PROGRAMS:=.o) demod_mod.o bch_ecc_mod.o $(RM) $(PROGRAMS) $(PROGRAMS:=.o) demod_mod.o bch_ecc_mod.o

1157
demod/mod/iq_dec.c 100644

Plik diff jest za duży Load Diff