id: apollo_sco_mod label: Apollo SCO Mod category: '[Apollo USB]' flags: [python] parameters: - id: sco_number label: SCO Channel (1-9) dtype: int default: '1' - id: sample_rate label: Sample Rate (Hz) dtype: real default: '5120000' inputs: - label: in domain: stream dtype: float outputs: - label: out domain: stream dtype: float templates: imports: from apollo.sco_mod import sco_mod make: >- apollo.sco_mod.sco_mod( sco_number=${sco_number}, sample_rate=${sample_rate}) documentation: |- Apollo Subcarrier Oscillator (SCO) Modulator Generates FM subcarrier oscillator signals for analog telemetry. Takes a 0-5V sensor voltage input and produces an FM subcarrier tone at the selected channel frequency with +/-7.5% deviation. Transmit-side counterpart to the SCO Demodulator. SCO Channels: 1: 14,500 Hz 4: 40,000 Hz 7: 95,000 Hz 2: 22,000 Hz 5: 52,500 Hz 8: 125,000 Hz 3: 30,000 Hz 6: 70,000 Hz 9: 165,000 Hz Voltage mapping (linear): 0V -> center - 7.5% (low frequency) 2.5V -> center (nominal) 5V -> center + 7.5% (high frequency) Only used in FM downlink mode. Parameters: sco_number: SCO channel number (1-9) sample_rate: Sample rate in Hz (default 5.12 MHz) file_format: 1