Signal Processing Stack Exchange is a question and answer site for practitioners of the art and science of signal, image and video processing. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am writing a script to frequency modulate the stereo audio signal, and later calculating the modulation index wrt time.

As we have to modulate the stereo audio signal, I have to first synthesize the composite signal of bandwidth 96KHz and modulate it with carrier frequency of 1MHz(assume here).

We define FM signal as,

$$ y(t) = A * sin \big(2\pi*\int_{-\infty}^t(f_o + k*m(\tau)) d\tau\big) $$

As per FCC rule, maximum frequency deviation should be 75KHz, here I have to keep k = 75000 and m(t) between -1 to 1.

I have a very big audio file, my script should fetch some samples from the file and modulate it, and repeat the above steps.

Here I am confused about the integration limits. Do I need to take integration from very start for each upcoming sample? If I see the hardware implementation for FM generation, VCO should have some sensitivity. What I understand it, as VCO output cant change abruptly, it will change the frequency as per the cumulative effect of its present and previous inputs of some input voltages. Therefore, In hardware any upcoming sample frequency will depends only on some past message signal samples. Am I right here?

If we see the instantaneous frequency of FM signal, from the above formula, it should be

$ f_i = f_o + k*m(t) $

It means that maximum frequency which could change is $k*max(|m(t)|)$, equal to 75KHz, but when we do frequency transform of FM signals, there are many sidelobs which is beyond 75Khz.

I am not able to think where my concepts are going wrong.


share|improve this question
There are a couple different questions in your post. First, if you're generating FM digitally, no implementation evaluates an integral for each output sample. You would typically use a [numerically-controlled oscillator](‌​lator/126) to generate a modulated FM signal. Secondly, you're confused as to why the spectrum extends beyond the maximum frequency deviation. This is a well-known phenomenon: FM signal spectra often don't have a compact closed form (see Carson's rule). – Jason R Feb 18 '13 at 14:27
The maximum frequency deviation for an FM signal is different from the bandwidth of the FM signal which is technically infinite since the sidebands extend out to $\pm\infty$, though most of the energy is in the vicinity of the carrier frequency (the sidebands taper off rapidly) and so measures such as "$99\%$ energy containment" bandwidth are much smaller. For example, in the US, FM signals are separated by $200$ kHz, though the FCC rarely allocates adjacent bands in the same market. – Dilip Sarwate Feb 18 '13 at 14:27
@DilipSarwate Fourier transform inform us about the presence of different frequencies present in the signal with their strengths. In FM signal, if frequencies are only varying between maximum frequency deviation around carrier frequency, why extra frequency components are coming? – hari Feb 19 '13 at 3:22
@hari: I agree that it sounds counterintuitive; I would encourage you to work out the math. Unfortunately, the Fourier transform of frequency-modulated signals isn't usually something that's easy to get into a closed form, except for some special cases like a sinusoidal modulating signal (even that isn't trivial; you'll end up with some Bessel functions in the resulting equation for the spectrum). – Jason R Feb 19 '13 at 3:42
@JasonR Yes, FM Signal spectra comes in the form of Bessel functions. But I am just trying to understand it in its more natural form. – hari Feb 19 '13 at 3:46

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.