Switching RTTY decoder to processing complex input.

This commit is contained in:
Marat Fayzullin 2023-02-02 21:04:23 -05:00
parent 329df158e1
commit 0edd456c3e
1 changed files with 5 additions and 4 deletions

View File

@ -2,7 +2,7 @@ from csdr.chain.demodulator import ServiceDemodulator, SecondaryDemodulator, Dia
from owrx.audio.chopper import AudioChopper, AudioChopperParser
from owrx.aprs.kiss import KissDeframer
from owrx.aprs import Ax25Parser, AprsParser
from pycsdr.modules import Convert, FmDemod, Agc, TimingRecovery, DBPskDecoder, VaricodeDecoder, CwDecoder, RttyDecoder
from pycsdr.modules import Convert, FmDemod, Agc, TimingRecovery, DBPskDecoder, VaricodeDecoder, CwDecoder, RttyDecoder, Shift
from pycsdr.types import Format
from owrx.aprs.module import DirewolfModule
from digiham.modules import FskDemodulator, PocsagDecoder
@ -108,7 +108,7 @@ class CwDemodulator(SecondaryDemodulator, SecondarySelectorChain):
if sampleRate == self.sampleRate:
return
self.sampleRate = sampleRate
self.replace(2, CwDecoder(sampleRate, 0, int(self.baudRate)))
self.replace(1, CwDecoder(sampleRate, 0, int(self.baudRate)))
class RttyDemodulator(SecondaryDemodulator, SecondarySelectorChain):
@ -118,7 +118,8 @@ class RttyDemodulator(SecondaryDemodulator, SecondarySelectorChain):
self.baudRate = baudRate
self.reverse = reverse
workers = [
Agc(Format.FLOAT),
Shift(self.getBandwidth() / 2.0 / self.sampleRate),
Agc(Format.COMPLEX_FLOAT),
RttyDecoder(self.sampleRate, 50, int(self.targetWidth), self.baudRate, self.reverse),
]
super().__init__(workers)
@ -130,5 +131,5 @@ class RttyDemodulator(SecondaryDemodulator, SecondarySelectorChain):
if sampleRate == self.sampleRate:
return
self.sampleRate = sampleRate
self.replace(0, Shift(self.getBandwidth() / 2.0 / sampleRate))
self.replace(2, RttyDecoder(sampleRate, 50, int(self.targetWidth), self.baudRate, self.reverse))