## Documentation |

Discrete-time, second-order section, direct-form I transposed filter

`Hd = dfilt.df1tsos(s)Hd = dfilt.df1tsos(b1,a1,b2,a2,...)Hd = dfilt.df1tsos(...,g)Hd = dfilt.df1tsos`

`Hd = dfilt.df1tsos(s)` returns
a discrete-time, second-order section, direct-form I, transposed filter, `Hd`,
with coefficients given in the `s` matrix. The filter
states for this object are stored in a `filtstates` object.

`Hd = dfilt.df1tsos(b1,a1,b2,a2,...)` returns
a discrete-time, second-order section, direct-form I, tranposed filter, `Hd`,
with coefficients for the first section given in the `b1` and `a1` vectors,
for the second section given in the `b2` and `a2` vectors,
etc.

`Hd = dfilt.df1tsos(...,g)`
includes a gain vector `g`. The elements of `g` are
the gains for each section. The maximum length of `g` is
the number of sections plus one. If `g` is not specified,
all gains default to one.

`Hd = dfilt.df1tsos` returns
a default, discrete-time, second-order section, direct-form I, transposed
filter, `Hd`. This filter passes the input through
to the output unchanged.

To display the filter states, use this code to access the `filtstates` object.

Hs = Hd.states % Where Hd is the dfilt.df1 object and double (Hs) % Hs is the filtstates object

The matrix is

$$\left(\begin{array}{cc}zb1(1)& zb2(1)\\ zb1(2)& zb2(2)\\ za1(1)& za2(1)\\ za1(2)& za2(2)\end{array}\right)$$

Specify a second-order sections, direct-form I, transposed discrete-time filter with coefficients from a sixth order, lowpass, elliptical filter using the following code:

[z,p,k] = ellip(6,1,60,.4); % Obtain filter coefficients [s,g] = zp2sos(z,p,k); % Convert to SOS Hd = dfilt.df1tsos(s,g)

Was this topic helpful?