RESPITE: The CASA Toolkit Page: Documentation: Block Library Index:Filter


Filter is a "Direct Form II Transposed" implementation of the standard difference equation:

A(1)*y(n) = B(1)*x(n) + B(2)*x(n-1) + ... + B(nB+1)*x(n-nB) - A(2)*y(n-1) - ... - a(nA+1)*y(n-nA)
where nA is the number of A coefficients and nB is the number of B coefficients.

If A(1) is not equal to 1, Filter normalizes the filter coefficients by A(1). The A and B coefficients can be either supplied directly as vector parameters, or stored in a file. Parameter files are ASCII and have the following format:

nA A(1) A(2) A(3) ... A(nA)
nB B(1) B(2) B(3) ... B(nB)

For example, the file containing:

3 1.0 0.5 0.1
2 0.2 0.2
would correspond to the difference equation:
y(n) = 0.2*x(n) + 0.2*x(n-1) - 0.5*y(n-1) - 0.1*y(n-2)

Inputs Meaning Sample 1-D frame $\ge$2-D frame
in1 signal (i.e. x) Yes Yes Yes

Outputs Meaning
out1 filtered signal (i.e. y)

Parameters Type Default Meaning
FILENAME string - File storing filter A and B coefficients
A FloatVector - Filter A coefficients
B FloatVector - Filter B coefficients

Documentation for CTKv1.1.4 - Last modified: Thu Jun 28 11:27:41 BST 2001