Switching RTTY decoder to processing complex input.
This commit is contained in:
parent
329df158e1
commit
0edd456c3e
|
|
@ -2,7 +2,7 @@ from csdr.chain.demodulator import ServiceDemodulator, SecondaryDemodulator, Dia
|
||||||
from owrx.audio.chopper import AudioChopper, AudioChopperParser
|
from owrx.audio.chopper import AudioChopper, AudioChopperParser
|
||||||
from owrx.aprs.kiss import KissDeframer
|
from owrx.aprs.kiss import KissDeframer
|
||||||
from owrx.aprs import Ax25Parser, AprsParser
|
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 pycsdr.types import Format
|
||||||
from owrx.aprs.module import DirewolfModule
|
from owrx.aprs.module import DirewolfModule
|
||||||
from digiham.modules import FskDemodulator, PocsagDecoder
|
from digiham.modules import FskDemodulator, PocsagDecoder
|
||||||
|
|
@ -108,7 +108,7 @@ class CwDemodulator(SecondaryDemodulator, SecondarySelectorChain):
|
||||||
if sampleRate == self.sampleRate:
|
if sampleRate == self.sampleRate:
|
||||||
return
|
return
|
||||||
self.sampleRate = sampleRate
|
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):
|
class RttyDemodulator(SecondaryDemodulator, SecondarySelectorChain):
|
||||||
|
|
@ -118,7 +118,8 @@ class RttyDemodulator(SecondaryDemodulator, SecondarySelectorChain):
|
||||||
self.baudRate = baudRate
|
self.baudRate = baudRate
|
||||||
self.reverse = reverse
|
self.reverse = reverse
|
||||||
workers = [
|
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),
|
RttyDecoder(self.sampleRate, 50, int(self.targetWidth), self.baudRate, self.reverse),
|
||||||
]
|
]
|
||||||
super().__init__(workers)
|
super().__init__(workers)
|
||||||
|
|
@ -130,5 +131,5 @@ class RttyDemodulator(SecondaryDemodulator, SecondarySelectorChain):
|
||||||
if sampleRate == self.sampleRate:
|
if sampleRate == self.sampleRate:
|
||||||
return
|
return
|
||||||
self.sampleRate = sampleRate
|
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))
|
self.replace(2, RttyDecoder(sampleRate, 50, int(self.targetWidth), self.baudRate, self.reverse))
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue