generate a taps array for a finite impulse response filter
GenerateFiniteImpulseResponseFilterTaps( n, freq )
GenerateFIRFilterTaps( n, freq )
posint, the size of the resulting taps Array
realcons or [realcons,realcons]}, the frequency for a low-pass or high-pass filter, or a pair [lowfreq, highfreq] of frequencies for a band-pass or band-stop filter. Frequencies f must satisfy 0 < f and f < 1/2.
filtertype : string or name, the type of filter
window : string or name, the window type
normalize : truefalse, whether to normalize
container : Array, predefined Array for holding the result
The GenerateFiniteImpulseResponseFilterTaps( n, freq ) command generates a taps array for a finite impulse response filter. The resulting array may be used with the command FiniteImpulseResponseFilter to effect filtering operations on a sample.
For a low-pass or high-pass filter, a single frequency freq is required. It must be strictly positive and less than 12.
For a band-pass or band-stop filter, a pair [lowfreq, highfreq] of low and high frequencies are required. Each frequency must be positive and less than 12; they must additionally satisfy lowfreq<highfreq.
Specify the type of filter with the filtertype option. It can take any of the values "lowpass", "highpass", "bandpass" and "bandstop". The option values can be given as a name or as a string.
The type of window to use is indicated by the window option. It can take any of the following values: "Bartlett", "Blackman", "Hamming" and "Hann". The option values can be given as a name or as a string.
The normalize option specifies whether to normalize the filter coefficients produced, and can be either of the values true or false. The default is normalize = true.
If the container=C option is provided, then the results are put into C and C is returned. With this option, no additional memory is allocated to store the result. The container must be an Array of size n having datatype float.
The GenerateFIRFilterTaps command is provided as an alias.
The SignalProcessing[GenerateFiniteImpulseResponseFilterTaps] command is thread-safe as of Maple 17.
For more information on thread safety, see index/threadsafe.
with( SignalProcessing ):
GenerateFiniteImpulseResponseFilterTaps( 8, 1/3 );
GenerateFiniteImpulseResponseFilterTaps( 8, 1/3, normalize = true );
C := Array( 1 .. 8, 'datatype' = 'float'[ 8 ], order = C_order ):
GenerateFiniteImpulseResponseFilterTaps( 8, 1/3, container = C );
GenerateFiniteImpulseResponseFilterTaps( 8, 1/3, filtertype = "highpass" );
GenerateFiniteImpulseResponseFilterTaps( 8, [ 0.2, 0.4 ], filtertype = "bandstop", window = "Hann" );
The SignalProcessing[GenerateFiniteImpulseResponseFilterTaps] command was introduced in Maple 17.
For more information on Maple 17 changes, see Updates in Maple 17.
Download Help Document
What kind of issue would you like to report? (Optional)