- sco_mod: 9-channel FM subcarrier oscillator modulator (inverse of sco_demod), with round-trip tests proving voltage recovery across all channels - fm_voice_subcarrier_mod: add audio_input parameter to accept external float streams (e.g., Apollo mission voice recordings) instead of internal test tone - loopback_demo.py: streaming TX->RX round-trip with CLI for noise/voice/frames - agc_loopback_demo.py: full Virtual AGC integration via TCP bridge
59 lines
1.3 KiB
YAML
59 lines
1.3 KiB
YAML
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
|