From cd91de6df8b565681dc3b12f1f22715ab5b66149 Mon Sep 17 00:00:00 2001 From: Marat Fayzullin Date: Tue, 25 Jun 2024 16:56:31 -0400 Subject: [PATCH] Making sure SsbDigital consumes needed samplerate. --- csdr/chain/analog.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/csdr/chain/analog.py b/csdr/chain/analog.py index d250dc50..e1e3fea1 100644 --- a/csdr/chain/analog.py +++ b/csdr/chain/analog.py @@ -1,5 +1,5 @@ from csdr.chain.demodulator import BaseDemodulatorChain, FixedIfSampleRateChain, HdAudio, \ - DeemphasisTauChain, MetaProvider, RdsChain + FixedAudioRateChain, DeemphasisTauChain, MetaProvider, RdsChain from pycsdr.modules import AmDemod, DcBlock, FmDemod, Limit, NfmDeemphasis, Agc, Afc, \ WfmDeemphasis, FractionalDecimator, RealPart, Writer, Buffer from pycsdr.types import Format, AgcProfile @@ -143,10 +143,14 @@ class SAm(BaseDemodulatorChain): super().__init__(workers) -class SsbDigital(BaseDemodulatorChain, HdAudio): - def __init__(self): +class SsbDigital(BaseDemodulatorChain, FixedAudioRateChain, HdAudio): + def __init__(self, sampleRate: int = 48000): + self.sampleRate = sampleRate workers = [ RealPart(), Agc(Format.FLOAT), ] super().__init__(workers) + + def getFixedAudioRate(self) -> int: + return self.sampleRate