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.