| 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.2would 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 | |
|---|---|---|---|---|
| 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 |