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.

FM Spectrum
This example is made up of a number of separate classes, source found below.
FMSpectrumApplet (rewritten as a JFrame)
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)


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