Main Content

dfilt.statespace

Discrete-time, state-space filter

Syntax

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

Description

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

x(n+1)=Ax(n)+Bu(n)y(n)=Cx(n)+Du(n)

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.

Examples

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)

Version History

Introduced before R2006a