use a lowpass as a matched filter for pocsag

This commit is contained in:
Jakob Ketterl 2023-08-22 01:52:34 +02:00
parent 4eae45ddbf
commit 154897ab3f
1 changed files with 3 additions and 1 deletions

View File

@ -1,5 +1,5 @@
from csdr.chain.demodulator import BaseDemodulatorChain, FixedAudioRateChain, FixedIfSampleRateChain, DialFrequencyReceiver, MetaProvider, SlotFilterChain, DemodulatorError, ServiceDemodulator from csdr.chain.demodulator import BaseDemodulatorChain, FixedAudioRateChain, FixedIfSampleRateChain, DialFrequencyReceiver, MetaProvider, SlotFilterChain, DemodulatorError, ServiceDemodulator
from pycsdr.modules import FmDemod, Agc, Writer, Buffer, DcBlock from pycsdr.modules import FmDemod, Agc, Writer, Buffer, DcBlock, Lowpass
from pycsdr.types import Format from pycsdr.types import Format
from digiham.modules import DstarDecoder, FskDemodulator, GfskDemodulator, DigitalVoiceFilter, MbeSynthesizer, NarrowRrcFilter, NxdnDecoder, DmrDecoder, WideRrcFilter, YsfDecoder, PocsagDecoder from digiham.modules import DstarDecoder, FskDemodulator, GfskDemodulator, DigitalVoiceFilter, MbeSynthesizer, NarrowRrcFilter, NxdnDecoder, DmrDecoder, WideRrcFilter, YsfDecoder, PocsagDecoder
from digiham.ambe import Modes, ServerError from digiham.ambe import Modes, ServerError
@ -125,6 +125,8 @@ class PocsagDemodulator(ServiceDemodulator, DialFrequencyReceiver):
self.parser = PocsagParser() self.parser = PocsagParser()
workers = [ workers = [
FmDemod(), FmDemod(),
DcBlock(),
Lowpass(Format.FLOAT, 1200 / self.getFixedAudioRate()),
FskDemodulator(samplesPerSymbol=40, invert=True), FskDemodulator(samplesPerSymbol=40, invert=True),
PocsagDecoder(), PocsagDecoder(),
self.parser, self.parser,