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.
Answer
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$$
No comments:
Post a Comment