Tuesday, November 28, 2017

Step response overshoot in IIR filters


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+b1z1+b2z21+a1z1+a2z2=b0(1qz1)(1ˉq1z1)(1pz1)(1ˉp1z1)


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=12Rqcos(θq)+R2q12Rpcos(θp)+R2p


d(n)=K(λ1sin(θp[n+1])+λ1sin(θp[n1])λ2sin(θp[n+2])λ0sin(θpn))



with


K=Rnpsin(θp)(12Rqcos(θq)+R2q)


λ1=R2q,λ0=2RqRpcos(θq)+R2qR1p,λ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(tan1(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 0tmaxπθ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.



enter image description here


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, ...