This is machine translation

Translated by Microsoft
Mouse over text to see original. Click the button below to return to the English verison of the page.


Initial conditions for transposed direct-form II filter implementation


z = filtic(b,a,y,x)
z = filtic(b,a,y)


z = filtic(b,a,y,x) finds the initial conditions, z, for the delays in the transposed direct-form II filter implementation given past outputs y and inputs x. The vectors b and a represent the numerator and denominator coefficients, respectively, of the filter's transfer function.

The vectors x and y contain the most recent input or output first, and oldest input or output last.


where n is length(b)-1 (the numerator order) and m is length(a)-1 (the denominator order). If length(x) is less than n, filtic pads it with zeros to length n; if length(y) is less than m, filtic pads it with zeros to length m. Elements of x beyond x(n-1) and elements of y beyond y(m-1) are unnecessary so filtic ignores them.

Output z is a column vector of length equal to the larger of n and m. z describes the state of the delays given past inputs x and past outputs y.

z = filtic(b,a,y) assumes that the input x is 0 in the past.

The transposed direct-form II structure is shown in the following illustration.

n – 1 is the filter order.

filtic works for both real and complex inputs.


If any of the input arguments y, x, b, or a is not a vector (that is, if any argument is a scalar or array), filtic gives the following error message:

Requires vector inputs.

More About

collapse all


filtic performs a reverse difference equation to obtain the delay states z.


[1] Oppenheim, A.V., and R.W. Schafer, Discrete-Time Signal Processing, Prentice-Hall, 1989, pp. 296, 301-302.

See Also


Introduced before R2006a

Was this topic helpful?