JMSL Tutorial: FM Spectra

Here we use jmsl.util.Bessel to calculate the spectrum of a simple FM pair.

The spectrum generated by an FM pair centers on the carrier frequency, with sidebands found at multiples of the modulating frequency added and subtracted from the carrier. The power at each sideband is determined by the Index of Modulation (modAmp/modFreq) and a Bessel function.

The Bessel function of order 0 is used to calculate the power of the carrier frequency. Bessel functions of order 1..n are used to calculate the power of sidebands 1..n. The Index of Modulation is handed to the Bessel function of the appropriate order, which returns the amplitude for a particular sideband.

You need a Java-enabled browser to view this applet.

This applet is made up of a number of separate classes, source found below.
FMSpectrumApplet (this applet)
FMSpectrumCalculator (non-graphic, number crunching spectrum calculator)
SpectrumCanvas (a canvas that knows how to draw spectra)
SpectrumDatum (a simple class that holds frequency and amplitude data for one spectrum datum)


See also BesselDemo which simply plots Bessel functions of order 0..4, over the range 0 < Index < 20.0.

Previous Tutorial Index Tutorial Contents
  (C) 1997 Phil Burk and Nick Didkovsky, All Rights Reserved
  JMSL is based upon HMSL (C) Phil Burk, Larry Polansky and David Rosenboom.