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.


Discrete-time, state-space filter


Hd = dfilt.statespace(A,B,C,D)
Hd = dfilt.statespace


Hd = dfilt.statespace(A,B,C,D) returns a discrete-time state-space filter, Hd, with rectangular arrays A, B, C, and D.

A, B, C, and D are from the matrix or state-space form of a filter's difference equations


where x(n) is the vector states at time n, u(n) is the input at time n, y is the output at time n, A is the state-transition matrix, B is the input-to-state transmission matrix, C is the state-to-output transmission matrix, and D is the input-to-output transmission matrix. For single-channel systems, A is an m-by-m matrix where m is the order of the filter, B is a column vector, C is a row vector, and D is a scalar.

Hd = dfilt.statespace returns a default, discrete-time state-space filter, Hd, with A=[ ], B=[ ], C=[ ], and D=1. This filter passes the input through to the output unchanged.

The resulting filter states column vector has the same number of rows as the number of rows of A or B.


Create a second-order, state-space filter structure from a second-order, lowpass Butterworth design.

[A,B,C,D] = butter(2,0.5);
Hd = dfilt.statespace(A,B,C,D)

See Also

Introduced before R2006a

Was this topic helpful?