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.
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.
(C) 1997 Phil Burk and Nick Didkovsky, All Rights Reserved
JMSL is based upon HMSL (C) Phil Burk, Larry Polansky and David Rosenboom.