From ef86d75596d9a8d0e3f3118c35cb7c61ca76a342 Mon Sep 17 00:00:00 2001 From: Marat Fayzullin Date: Fri, 10 Mar 2023 18:55:00 -0500 Subject: [PATCH] Removed SSTV NFM mode (not used), simplified some code. --- csdr/chain/digimodes.py | 20 +++++++++++--------- owrx/modes.py | 2 +- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/csdr/chain/digimodes.py b/csdr/chain/digimodes.py index 5ca0205f..6cfc2ded 100644 --- a/csdr/chain/digimodes.py +++ b/csdr/chain/digimodes.py @@ -70,12 +70,13 @@ class PskDemodulator(SecondaryDemodulator, SecondarySelectorChain): class CwDemodulator(SecondaryDemodulator, SecondarySelectorChain): def __init__(self, baudRate: float): - self.baudRate = baudRate self.sampleRate = 12000 + self.offset = 800 + self.baudRate = baudRate workers = [ - Shift(800.0 / self.sampleRate), + Shift(float(self.offset) / self.sampleRate), Agc(Format.COMPLEX_FLOAT), - CwDecoder(self.sampleRate, 800, int(self.baudRate)), + CwDecoder(self.sampleRate, self.offset, int(self.baudRate)), ] super().__init__(workers) @@ -86,20 +87,21 @@ class CwDemodulator(SecondaryDemodulator, SecondarySelectorChain): if sampleRate == self.sampleRate: return self.sampleRate = sampleRate - self.replace(0, Shift(800.0 / sampleRate)) - self.replace(2, CwDecoder(sampleRate, 800, int(self.baudRate))) + self.replace(0, Shift(float(self.offset) / sampleRate)) + self.replace(2, CwDecoder(sampleRate, self.offset, int(self.baudRate))) class RttyDemodulator(SecondaryDemodulator, SecondarySelectorChain): def __init__(self, targetWidth: float, baudRate: float, reverse: bool): self.sampleRate = 12000 + self.offset = 550 self.targetWidth = targetWidth self.baudRate = baudRate self.reverse = reverse workers = [ - Shift((self.targetWidth/2 + 550) / self.sampleRate), + Shift((self.targetWidth/2 + self.offset) / self.sampleRate), Agc(Format.COMPLEX_FLOAT), - RttyDecoder(self.sampleRate, 550, int(self.targetWidth), self.baudRate, self.reverse), + RttyDecoder(self.sampleRate, self.offset, int(self.targetWidth), self.baudRate, self.reverse), ] super().__init__(workers) @@ -110,8 +112,8 @@ class RttyDemodulator(SecondaryDemodulator, SecondarySelectorChain): if sampleRate == self.sampleRate: return self.sampleRate = sampleRate - self.replace(0, Shift((self.targetWidth/2 + 550) / sampleRate)) - self.replace(2, RttyDecoder(sampleRate, 550, int(self.targetWidth), self.baudRate, self.reverse)) + self.replace(0, Shift((self.targetWidth/2 + self.offset) / sampleRate)) + self.replace(2, RttyDecoder(sampleRate, self.offset, int(self.targetWidth), self.baudRate, self.reverse)) class SstvDemodulator(ServiceDemodulator, DialFrequencyReceiver): diff --git a/owrx/modes.py b/owrx/modes.py index d606242a..2bb7314b 100644 --- a/owrx/modes.py +++ b/owrx/modes.py @@ -160,7 +160,7 @@ class Modes(object): DigitalMode( "sstv", "SSTV", - underlying=["usb", "lsb", "nfm"], + underlying=["usb", "lsb"], service=True, squelch=False, ),