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

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-ouput 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.

Diagram of state space filter

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)
Hd =
             FilterStructure: 'State-space'
                           A: [2x2 double]
                           B: [0.8284;0.8284]
                           C: [0.2071 0.5]
                           D: 0.2929
            PersistentMemory: false

See Also

dfilt

  


 © 1984-2008- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS