Filter - Maple Help

SignalProcessing

 Filter
 filter a signal with a finite impulse response filter

 Calling Sequence Filter( A, a, b )

Parameters

 A - Array of real numeric values; the signal to filter a - Array of real numeric values; the Array of IIR coefficients b - (optional) Array of real numeric values; the Array of FIR coefficients

Options

 • container : Array, predefined Array for holding results

Description

 • The Filter( A, a, b ) command filters the signal (sample) in the array A using the IIR coefficients in the array a and the FIR coefficients in the array b. If b is omitted, no FIR filter is applied (there is only a single coefficient, 1).
 • Before the code performing the computation runs, the input Arrays 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 size equal to the size of A and having datatype float[8].

 • The SignalProcessing[Filter] command is thread-safe as of Maple 17.

Examples

 > $\mathrm{with}\left(\mathrm{SignalProcessing}\right):$
 > $\mathrm{with}\left(\mathrm{plots}\right):$
 > $A≔\mathrm{GenerateTone}\left(128,1,0.05,3.0\right):$
 > $a≔\mathrm{Array}\left(1..3,\left[\frac{1}{3},\frac{1}{3},\frac{1}{3}\right],\mathrm{datatype}=\mathrm{float}\left[8\right],\mathrm{order}=\mathrm{C_order}\right):$
 > $b≔\mathrm{Array}\left(1..1,\left[1\right],\mathrm{datatype}=\mathrm{float}\left[8\right],\mathrm{order}=\mathrm{C_order}\right):$
 > $B≔\mathrm{Filter}\left(A,a,b\right):$
 > $\mathrm{display}\left(\mathrm{Array}\left(\left[\mathrm{SignalPlot}\left(A\right),\mathrm{SignalPlot}\left(B\right)\right]\right)\right)$

 > 

Compatibility

 • The SignalProcessing[Filter] command was introduced in Maple 17.