Signal Processing
The Signal Processing package features tools for frequency domain analysis, windowing, signal generation & analysis, and more. In Maple 18, the Signal Processing toolkit has been expanded to include tools for visualizing the frequency contents of signals and expanded windowing functionality.
Compatibility note: For ease of use, the Engine subpackage of the SignalProcessing package has been removed, and the commands that were part of the Engine subpackage in Maple 17 are now present as top-level exports of the SignalProcessing package. Code and worksheets that referenced exports of SignalProcessing[Engine] will continue to work, but can now be updated to simply use exports of SignalProcessing itself.
Spectrogram, Power Spectrum and Signal Plots
New Windowing Functions
New and Updated Applications
See Also
Updates include a new function that plots the Spectrogram of a signal, as well as plots for the Power Spectrum and the Signal Plot. By using the new ColorScheme option for Maple plots, you can control the color spread assigned to specific fractions of the given range.
withSignalProcessing:
Example
This is a spectrogram of a male voice saying "MapleSim", recorded at 11 KHz.
maplesim≔FileTools:-JoinPathkerneloptsdatadir,audio,maplesim.wav:Spectrogram⁡maplesim,colorscheme=zgradient,white,LightSteelBlue,black,markers=0,0.5,1,fftsize=256,size=400,400
This is a spectrogram of a violin note played with vibrato, together with the power spectrum and signal plot. Note that the oscillations in frequency are typical of vibrato, and are visible above 7 kHz.
filename ≔ FileTools:-JoinPathkerneloptsdatadir,audio,ViolinThreePosVibrato.wav:vibrato≔AudioTools:-Readfilename:
Spectrogram⁡vibrato,colorscheme=zgradient,white,LightBlue,red,black,markers=0,0.5,0.75,1,channel=1,fftsize=210,size=400,400,includepowerspectrum,includesignal
Maple 18 offers more windowing functions, including Blackmann-Nuttall, Bohman windows, and more. Windows can also be applied to each window of data used to generate an FFT.
freq≔5:
N≔28:
samplingRate≔50:
data≔VectorN,i→sin2⋅evalfPi⋅freq⋅isamplingRate+rand1012,datatype=float8:dataWindow≔BlackmanNuttallWindowdata:
SpectrogramdataWindow,samplerate=samplingRate,includepowerspectrum,includesignal,fftsize=128,colorscheme=zgradient,SteelBlue,PaleGreen,red,Black,markers=0,0.5,0.8,1
Filtering Frequency Domain Noise
Sunspot Periodicity
Signal Generation
Option Pricing with FFTs
What's New in Maple 18
Download Help Document