I'm attempting to calculate the steady-state state variables for a digital biquad filter direct form II (transposed). Illustration

For example, let assume the filter is fed a constant input of magnitude C. What would be the best method to calculate the internal state variables as the filter approaches steady state?

When I run a simulation, it appears that S1 and S2 are negatives of one another (S1 = -S2). Is there a way to calculate the exact values?

My best guess is that I need to set-up a system of equations and then find the steady-state output (given constant input C). However, my calculations seem to fall apart when I actually try to doing them.

Edit: So after working this problem a little longer, I was able to determine the following:

$$ S_{1}[n] = X[n]\cdot (Gain_{DC} - b_{0}) $$

The DC gain is then found by taking the Z transform of difference equations and setting Z = 1.


1 Answer 1


Consider a discrete-time LTI system (that's your second order stage) described by a LCCDE in the form of a recursion equation:

$$y[n] = a y[n-1] + b y[n-2] + c x[n] + d x[n-1] $$

where $a,b,c,d$ are real or complex constants (coefficients of your IIR filter) and the values $y[n-1],y[n-2]$ are previous values of the output, where as $y[n]$ is the current value of it. And $x[n],x[n-1]$ are the current and previous values of the input respectively.

In your case, you assume a constant input $x[n] = C$ for all $n \ge 0$, hence you have $x[n] = C$ and $x[n-1] = C$ as $n \to \infty$. Now assuming that the filter has reached its steady-state output implies that $$y[n] = y[n-1] = y[n-2] = K$$ as $n \to \infty$

Hence putting those values into the recursion equation yeilds a relation between output $K$ and input $C$ as:

$$K = a*K + b*K + c*C + d*C$$ which can be arranged to yield:

$$K(1-a-b) = C(c+d)$$

At this point you tell us that output is $K=20$ mm, then you can find the corresponding input as $x = C = 20*(1-a-b)/(c+d)$, and your states will be:

$$ y[n-1] = y[n-2]= K , x[n] = x[n-1] =x[n-2] = C$$

  • $\begingroup$ Good insight. I wasn't immediately realizing the y[n]=y[n−1], x[n]=x[n−1], etc. which makes this problem rather trivial. $\endgroup$
    – Izzo
    Aug 3, 2018 at 19:29
  • $\begingroup$ Yes, that makes the analysis instant ! $\endgroup$
    – Fat32
    Aug 3, 2018 at 19:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.