dfilt.df1sos
Discrete-time, second-order section, direct-form I filter
Syntax
Hd = dfilt.df1sos(s)
Hd = dfilt.df1sos(b1,a1,b2,a2,...)
Hd = dfilt.df1sos(...,g)
Hd = dfilt.df1sos
Description
Hd = dfilt.df1sos(s)
returns a
discrete-time, second-order section, direct-form I filter, Hd
, with
coefficients given in the s
matrix. The filter states for this object
are stored in a filtstates
object.
Hd = dfilt.df1sos(b1,a1,b2,a2,...)
returns a discrete-time, second-order section, direct-form I 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.df1sos(...,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.df1sos
returns a default,
discrete-time, second-order section, direct-form I filter, Hd
. This
filter passes the input through to the output unchanged.
Note
The leading coefficient of the denominator a(1)
cannot be 0.
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 vector is
For filters with more than one section, each section is a separate column in the matrix.
Examples
Specify a second-order sections, direct-form I discrete-time filter with coefficients from a sixth order, lowpass, elliptical filter using the following code. The resulting filter has three sections.
[z,p,k] = ellip(6,1,60,.4); % Obtain filter coefficients [s,g] = zp2sos(z,p,k); % Convert to SOS Hd = dfilt.df1sos(s,g)
Version History
Introduced before R2006a