23 lines
686 B
Python
23 lines
686 B
Python
|
from csdr.chain.demodulator import Demodulator, Chain
|
||
|
from pycsdr.modules import FmDemod, Limit, NfmDeemphasis, Agc, Convert
|
||
|
from pycsdr.types import Format
|
||
|
|
||
|
|
||
|
class Fm(Demodulator):
|
||
|
def __init__(self, sampleRate: int):
|
||
|
workers = [
|
||
|
FmDemod(),
|
||
|
Limit(),
|
||
|
# empty chain as placeholder for the "last decimation"
|
||
|
Chain(),
|
||
|
NfmDeemphasis(sampleRate),
|
||
|
Agc(Format.FLOAT),
|
||
|
Convert(Format.FLOAT, Format.SHORT),
|
||
|
]
|
||
|
super().__init__(*workers)
|
||
|
|
||
|
def setLastDecimation(self, decimation: Chain):
|
||
|
# TODO: build api to replace workers
|
||
|
# TODO: replace placeholder
|
||
|
pass
|