id: apollo_pm_mod label: Apollo PM Mod category: '[Apollo USB]' flags: [python] parameters: - id: pm_deviation label: PM Deviation (rad) dtype: real default: '0.133' - id: sample_rate label: Sample Rate dtype: real default: '5120000' inputs: - label: in domain: stream dtype: float outputs: - label: out domain: stream dtype: complex templates: imports: from apollo.pm_mod import pm_mod make: apollo.pm_mod.pm_mod(pm_deviation=${pm_deviation}, sample_rate=${sample_rate}) documentation: |- Apollo PM Modulator Applies phase modulation to produce complex baseband signal. Takes a composite modulating signal (sum of subcarriers) and outputs s(t) = exp(j * pm_deviation * input(t)). The spacecraft PM deviation is 0.133 rad (7.6 degrees) peak. This is the transmit-side counterpart to Apollo PM Demod. Parameters: pm_deviation: Peak phase deviation in radians (default 0.133) sample_rate: Sample rate in Hz (default 5.12 MHz) file_format: 1