# Documentation

### This is machine translation

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

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

# 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

`$\begin{array}{c}x\left(n+1\right)=Ax\left(n\right)+Bu\left(n\right)\\ y\left(n\right)=Cx\left(n\right)+Du\left(n\right)\end{array}$`

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) ```