id: apollo_usb_uplink_source label: Apollo USB Uplink Source 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: pm_deviation label: PM Deviation (rad) dtype: float default: '1.0' - id: snr_db label: SNR (dB) dtype: raw default: 'None' inputs: - label: words domain: message optional: true outputs: - label: out domain: stream dtype: complex templates: imports: from apollo.usb_uplink_source import usb_uplink_source make: >- apollo.usb_uplink_source.usb_uplink_source( sample_rate=${sample_rate}, bit_rate=${bit_rate}, pm_deviation=${pm_deviation}, snr_db=${snr_db}) documentation: |- Apollo USB Uplink Source -- ground station command transmitter. Generates a PM-modulated complex baseband signal carrying uplink commands on a 70 kHz FM data subcarrier at 2 kbps NRZ. This is the transmit-side counterpart to the USB Uplink Receiver. Message input: words -- (channel, value) PDUs from uplink_encoder Parameters: sample_rate: Output sample rate (default 5.12 MHz) bit_rate: Uplink data rate (default 2000 bps) pm_deviation: Peak PM deviation in radians (default 1.0) snr_db: Add AWGN noise at this SNR (None = no noise) file_format: 1