comnum.fm_discriminator#
- comnum.fm_discriminator(x, fs)#
The instantaneous frequency (Hz) of
xby the polar discriminator,fs/(2π) arg(x[n] x*[n-1])(0 for the first sample): exact within±fs/2, insensitive to the amplitude.- Parameters:
x (array_like) – complex samples at baseband.
fs (float) – the sampling rate (Hz).
- Returns:
the frequency of every sample (float64, Hz).
- Return type:
- Raises:
ValueError – for an input that is not a 1-D array of numbers.
Examples
>>> import comnum, numpy as np >>> x = comnum.fm_modulate(np.full(100, 0.5), 228e3, 75e3) >>> round(float(comnum.fm_discriminator(x, 228e3)[50]), 6) 37500.0