Skip to main content

demodulate_gmsk

Function demodulate_gmsk 

Source
pub fn demodulate_gmsk(
    in_i: &[f32],
    in_q: &[f32],
    n_bits: usize,
    sps: usize,
    noise_var: f32,
    scale: f32,
    llr: &mut [i16],
)
Expand description

Demodulates GMSK using soft-decision differential detection.

Computes the cross-product of samples spaced sps apart to approximate sin(Δφ), which is proportional to the transmitted bit. The result is scaled by scale / σ² and quantized to i16.

Produces one LLR per bit. Bits at the beginning (before the first full symbol delay) use the initial reference (1, 0).