id: apollo_pm_demod label: Apollo PM Demod category: '[Apollo USB]' flags: [python] parameters: - id: carrier_pll_bw label: Carrier PLL Bandwidth dtype: real default: '0.02' - id: sample_rate label: Sample Rate dtype: real default: '5120000' inputs: - label: in domain: stream dtype: complex outputs: - label: out domain: stream dtype: float templates: imports: from apollo import pm_demod make: apollo.pm_demod.pm_demod(carrier_pll_bw=${carrier_pll_bw}, sample_rate=${sample_rate}) documentation: |- Apollo PM Demodulator Extracts phase modulation from complex baseband signal. The spacecraft PM deviation is 0.133 rad (7.6 degrees) peak. Uses a carrier tracking PLL followed by phase extraction. Parameters: carrier_pll_bw: PLL loop bandwidth in rad/sample (default 0.02) sample_rate: Input sample rate in Hz (default 5.12 MHz) file_format: 1