Measurement of frequency deviation in FM signals

Started by naumankalia 3 years ago3 replieslatest reply 3 years ago718 views

Hi all

Is there any way to measure frequency deviation in a recorded frequency modulated time domain data? The little research i have done on net mostly concerns with frequency deviation measurement using spectrum analyzer in real time i.e. data continuously received on spectrum analyzer while measuring deviation in carrier frequency.

If i record FM data using some digitizer and i know the carrier frequency, is it possible to measure frequency deviation using some fft technique on recorded data offline?


[ - ]
Reply by SlartibartfastMarch 28, 2021

You can certainly estimate occupied signal bandwidth using an FFT.  That will be a close approximation to the deviation depending on details.

[ - ]
Reply by fharrisMarch 28, 2021


It is easy to measure frequency deviation of a modulator if you can select the frequency and amplitude of a modulating sinewave. You can form the complex baseband signal and adjust the amplitude (proportional to modulation index) till one of the harmonic amplitudes which follow the Bessel function amplitudes, go to zero. ( the zeroth or first bessel functions are easy to use.

Since you are working backwards with an un controlled modulation waveshape, we have a different problem. One option is to form the baseband I-Q version of the modulated waveform (standard I-Q down conversion) use the derivative of the arc-tan equation to obtain the modulated signal. ( x times y-dot - y time x-dat)/(x^2 + y^2). Now use the baseband signal to reconstruct the baseband FM signal. when the reconstruction has the same spectrum (over an ensemble average of spectra) you will have determined the original modulation index.


[ - ]
Reply by MarkSitkowskiMarch 28, 2021

If you can get the time domain samples into an ASCII file (or whatever) and load that into an analysis tool, all the information you need is in the FFT. Here's a 10kHz carrier, modulated with a 1kHz signal, with a modulation index of 5. (Not sure if this will display, but it might print)