id: apollo_usb_uplink_receiver label: Apollo USB Uplink Receiver category: '[Apollo USB]' flags: [python] parameters: - id: sample_rate label: Sample Rate (Hz) dtype: float default: '5120000' - id: bit_rate label: Uplink Bit Rate dtype: int default: '2000' - id: carrier_pll_bw label: Carrier PLL Bandwidth dtype: float default: '0.02' - id: subcarrier_bw label: Subcarrier Bandwidth (Hz) dtype: float default: '20000' inputs: - label: in domain: stream dtype: complex outputs: - label: commands domain: message templates: imports: from apollo.usb_uplink_receiver import usb_uplink_receiver make: >- apollo.usb_uplink_receiver.usb_uplink_receiver( sample_rate=${sample_rate}, bit_rate=${bit_rate}, carrier_pll_bw=${carrier_pll_bw}, subcarrier_bw=${subcarrier_bw}) documentation: |- Apollo USB Uplink Receiver -- spacecraft command receiver. Demodulates uplink commands from complex baseband: PM demod -> 70 kHz subcarrier extract -> FM demod -> bit recovery -> word assembly Message output: commands -- decoded (channel, value) PDUs for AGC bridge Parameters: sample_rate: Input sample rate (default 5.12 MHz) bit_rate: Expected uplink data rate (default 2000 bps) carrier_pll_bw: PM carrier recovery loop bandwidth (default 0.02) subcarrier_bw: 70 kHz subcarrier filter bandwidth (default 20 kHz) file_format: 1