Is there an analytic expression by which it is possible to calculate overshoot of step-response of second order IIR digital filter? I have tried to search through Mitra's signal processing book and through some other materials, but wasn't able to find it.
Answer
For the general second order section (biquad)
H(z)=b0+b1z−1+b2z−21+a1z−1+a2z−2=b0(1−qz−1)(1−ˉq−1z−1)(1−pz−1)(1−ˉp−1z−1)
with a pair of complex conjugate zeros (q,ˉq,q=Rqejθq) and poles (p,ˉp,p=Rpejθp) the step response s(n), if put on this form
s(n)=a∞(1+d(n))
where a∞ is the steady-state response and d(n) the transient response, is governed by
a∞=1−2Rqcos(θq)+R2q1−2Rpcos(θp)+R2p
d(n)=K(λ1sin(θp[n+1])+λ−1sin(θp[n−1])−λ2sin(θp[n+2])−λ0sin(θpn))
with
K=Rnpsin(θp)(1−2Rqcos(θq)+R2q)
λ−1=R2q,λ0=2RqRpcos(θq)+R2qR−1p,λ1=2Rqcos(θq)+R2p,λ2=Rp
If there are no zeros,
λ−1=0,λ0=0,λ1=R2p,λ2=Rp,K=Rnpsin(θp)
and the expression for d(n) reduces to the expression provided in the other post.
If the independent variable n is treated at continuous, the letter t is used instead of n, then the value of t that maximizes d(t) can be found. It is given by
tmax=1θp(tan−1(−ln(Rp)sin(θp)(λ1−λ−1)−λ2ln(Rp)sin(2θp)+λ1θpcos(θp)+λ−1θpcos(θp)−λ2θpcos(2θp)−λ0θpln(Rp)cos(θp)(λ1+λ−1)−λ2ln(Rp)cos(2θp)−λ1θpsin(θp)+λ−1θpsin(θp)λ2θpsin(2θp)−λ0ln(Rp))−kπ)
The value of tmax can then be rounded towards nearest integer and used in the response for d(n). In the expression for tmax, the value of k must be chosen such that tmax is in range 0≤tmax≤πθp and it must be verified that tmax is a maximum and not a minimum.
For the all pole case this plot illustrates the maximum overshoot as function of pole radius and angle.
No comments:
Post a Comment