id: apollo_bpsk_demod label: Apollo BPSK Demod category: '[Apollo USB]' flags: [python] parameters: - id: symbol_rate label: Symbol Rate (bps) dtype: real default: '51200' - id: sample_rate label: Sample Rate (Hz) dtype: real default: '5120000' - id: loop_bw label: Loop Bandwidth dtype: real default: '0.045' inputs: - label: in domain: stream dtype: complex outputs: - label: out domain: stream dtype: byte templates: imports: from apollo import bpsk_demod make: >- apollo.bpsk_demod.bpsk_demod( symbol_rate=${symbol_rate}, sample_rate=${sample_rate}, loop_bw=${loop_bw}) documentation: |- Apollo BPSK Demodulator Recovers NRZ bit stream from a BPSK-modulated subcarrier at baseband. Uses Costas loop for 180-degree phase ambiguity resolution and integrate-and-dump for symbol timing. Parameters: symbol_rate: Bit rate in bps (51200 high, 1600 low) sample_rate: Input sample rate in Hz loop_bw: Carrier/timing recovery loop bandwidth file_format: 1