Module rustradio::quadrature_demod

source ·
Expand description

Quadrature demod, the core of an FM demodulator.

Quadrature demodulation works is best done by thinking of the samples as vectors going out of the origin on the complex plane.

A zero frequency means no “spinning” around the origin, but with all samples just being on a vector, with the same angle, though possibly varying magnitude.

Negative frequency means the vector is spinning counter clockwise. Positive frequency means spinning clockwise.

Quadrature demodulation discards the magnitude of the vector, and just looks at the angle between the current sample, and the previous sample.

Because magnitude is discarded, this block is only useful for decoding frequency changes (FM, FSK, …), not things like QAM.

This article gives some good illustrations.

Enabling the fast-math feature (dependency) speeds up QuadratureDemod by about 4x.

Structs§

  • A faster version of FM demodulation, that makes some assumptions.
  • Quadrature demod, the core of an FM demodulator.