SignalProcessing
FiniteImpulseResponseFilter
filter a signal with a finite impulse response filter
Calling Sequence
Parameters
Options
Description
Thread Safety
Examples
Compatibility
FiniteImpulseResponseFilter( A, taps, delayline, numiters )
FIRFilter( A, taps, delayline, numiters )
A
-
Array of real numeric values; the signal to filter
taps
Array of real numeric values; the tap coefficients
delayline
(optional) Array of real numeric values; initial values for the delay line
numiters
(optional) posint, number of iterations
container : Array, predefined Array for holding the result
The FiniteImpulseResponseFilter( A, taps, delayline, numiters ) command filters the signal (sample) in the array A using the tap coefficients in the array taps. The taps array may be generated by using the GenerateFiniteImpulseResponseFilterTaps command, or you may provide your own custom filtering coefficients.
The delayline and numiters arguments are optional. If delayline is provided, it must be an Array of real numeric values and the same length as taps, and numiters must be a positive integer. By default, the delayline Array is all zero, and numiters defaults to the number of sample points.
Before the code performing the computation runs, the input Arrays A, taps, and (if present) delayline are converted to datatype float[8] if they do not have that datatype already. For this reason, it is most efficient if the input Arrays have this datatype beforehand.
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 the same length as A having datatype float[8].
The FIRFilter command is provided as an alias.
The SignalProcessing[FiniteImpulseResponseFilter] command is thread-safe as of Maple 17.
For more information on thread safety, see index/threadsafe.
with⁡SignalProcessing:
with⁡plots:
A≔GenerateTone⁡100,0.6,1π,π:
PA≔SignalPlot⁡A,title=Original Signal:
taps≔GenerateFiniteImpulseResponseFilterTaps⁡6,0.2,filtertype=lowpass:
B≔FiniteImpulseResponseFilter⁡A,taps:
PB≔SignalPlot⁡B,title=Filtered Signal:
display⁡PA,PB
A≔GenerateJaehne⁡512,4095:
PA≔SignalPlot⁡A,title=Signal:
taps≔GenerateFiniteImpulseResponseFilterTaps⁡27,0.2,window=Bartlett,normalize=true:
The SignalProcessing[FiniteImpulseResponseFilter] command was introduced in Maple 17.
For more information on Maple 17 changes, see Updates in Maple 17.
See Also
SignalProcessing[GenerateFiniteImpulseResponseFilterTaps]
SignalProcessing[InfiniteImpulseResponseFilter]
Download Help Document