Friday, October 18, 2019

infinite impulse response - How would I calculate the state-variables of digital biquad filter (direct form II transposed) at steady-state?


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

digital communications - Understanding the Matched Filter

I have a question about matched filtering. Does the matched filter maximise the SNR at the moment of decision only? As far as I understand, ...