Main Content


IIR direct-form filter states


Hs = filtstates.dfiir(numstates,denstates)


Hs = filtstates.dfiir(numstates,denstates) returns an IIR direct-form filter states object Hs with two properties — Numerator and Denominator, which contain the filter states. These two properties are column vectors with each column representing a separate channel of filter states. The number of states is always one less than the number of filter numerator or denominator coefficients.

You can extract a filtstates object from the states property of an IIR direct-form I object with

Hd = dfilt.df1
Hs = Hd.states


You can use the following methods on a filtstates.dfiir object.




Converts a filtstates object to a double-precision vector containing the values of the numerator and denominator states. The numerator states are listed first in this vector, followed by the denominator states.


Converts a filtstates object to a single-precision vector containing the values of the numerator and denominator states. (This method is used with the DSP System Toolbox™ product.)


This example demonstrates the interaction of filtstates with a dfilt.df1 object.

[b,a] = butter(4,0.5);    % Design butterworth filter
Hd = dfilt.df1(b,a);      % Create dfilt object
Hs = Hd.states            % Extract filter states object
                          %  from dfilt states property
Hs.Numerator = [1,1,1,1]  % Modify numerator states
Hd.states = Hs            % Set modified states back to 
                          %  original object

Dbl = double(Hs)          % Create double vector from
                          %  states

See Also

Introduced before R2006a