filter
filters a data sequence using a digital filter
Syntax
[y,zf] = filter(B, A, x [,zi])
Arguments
- B
real vector : the coefficients of the filter numerator in decreasing power order, or a polynomial.
- A
real vector : the coefficients of the filter denominator in decreasing power order, or a polynomial.
- x
real row vector : the input signal
- zi
real row vector of length
max(length(a),length(b))-1: the initial condition relative to a "direct form II transposed" state space representation. The default value is a vector filled with zeros.- y
real row vector : the filtered signal.
- zf
real row vector : the final state. It can be used to filter a next batch of the input signal.
Description
This function filters a data sequence using a digital filter using a "direct form II transposed" implementation.
The filter canonical form is :
![\[
H(z) = \frac{B(z)}{A(z)} = \frac{b_0 + b_1 z^{-1} + \dots + b_n z^{-n}}{a_0 + a_1 z^{-1} + \dots + a_n z^{-n}}
\]](/docs/2024.1.0/ru_RU/_LaTeX_filter.xml_1.png)
The algorithm uses the highest degree between degree(a) and degree(b) as value for n.
If the polynomial form is used for B (resp. for A) then a polynomial or a scalar must be used for A (resp. B).
References
Oppenheim, A. V. and R.W. Schafer. Discrete-Time Signal Processing, Englewood Cliffs, NJ: Prentice-Hall, 1989, pp. 311-312.
Examples
See also
- flts — time response (discrete time, sampled system)
- rtitr — discrete time response (transfer matrix)
- ltitr — discrete time response (state space)
- sgolayfilt — Filter signal using Savitzky-Golay Filter.
| Report an issue | ||
| << filt_sinc | Filters | find_freq >> |