Step Response of 2nd Order HPF

In the analysis of a passive 2nd order RC high pass filter, I find that the damping ratio zeta = 3/2 and the Quality Factor Q = 1/3. These values do not depend on R and C. I was under the impression that if the damping ratio is greater than one, then the system step response does not overshoot its steady state value. However, when performing step response in MATLAB to my system, I find that the circuit does overshoot slightly. I am analyzing the circuit below for equal R and C (10k and 100nF respectively).

MATLAB Code:

MATLAB Output:

I believe the calculations for zeta and Q to be correct, something must be wrong in my understanding of their role in the step response. Why does the circuit overshoot if it is "overdamped"?

I have repeated this procedure with a passive 2nd order RC LPF (same R and C values) and I do not see any overshoot. This agrees with my intuition. Why is the HPF different?

Thanks for any help that can be provided.

• The Q of a filter of two or more orders is certainly related to the component values, and the zeta = 1/2Q, so that is also related to component values. – user207421 Jul 13 '16 at 9:56
• Pansy- thanks for this basic - but interesting - question. – LvW Jul 13 '16 at 9:59
• @ EJP. For this particular configuration, I disagree. The standard form for the denominator is s^2 + (wn/Q)*s + wn^2. It can be seen from the TF that the natural frequency is sqrt(1/(R^2*C^2))=1/RC. So From theory, the coefficient of s in the denominator is supposed to equal wn/Q, and in this circuit, the coefficient of s is 3/RC. So if you let wn = 1/RC, then set 3/RC = wn/Q = 1/QRC. So, 3/RC = 1/QRC, therefore the RC values cancel and Q is always 1/3 for this circuit, regardless of R and C values. Zeta will be 1/2Q = 3/2, regardless of R and C. – Pansy Jul 14 '16 at 4:25

The double zero at $s\small =0$ gives rise to the undershoot.

To make the analysis easier, it's best to normalise the TF to $\omega_n=1$, thus divide $\omega_n$ by $\small 1000$ to give: $$G(s)=\dfrac{s^2}{s^2+3s+1}$$

Multiply by $\dfrac{1}{s}$ to obtain the step response: $R(s)=s\left(\dfrac{1}{s^2+3s+1}\right)$

Now find the inverse Laplace transform of the bracketed term and then differentiate (multiply by $s$ = differentiation) to determine $\small r(t)$, thus:

$$\dfrac{1}{s^2+3s+1}=\dfrac{0.45}{s+0.38}-\dfrac{0.45}{s+2.62}\rightarrow 0.45e^{-0.38t}-0.45e^{-2.62t}$$ differentiate to give the step response:

$$r(t)=\dfrac{d}{dt}\left( 0.45e^{-0.38t}-0.45e^{-2.62t}\right)=-0.17e^{-0.38t}+1.17e^{-2.62t}$$

This starts at $\small r(0)=1.0$, then falls to a minimum (undershoot), $\small r(1.72)=-0.0755$, and settles at $\small r(\infty)=0$

Finally, scale the time axis by the normalising factor, $\small 1/1000$, giving the undershoot of $\small -0.0755$ at $\small t=1.72ms$

• Chu, good work! – LvW Jul 13 '16 at 9:49
• @Chu. Thanks, that's an interesting way to solve it. I am getting a different answer. I'm getting the roots of the denominator to be -0.38 and -2.62. After differentiating, r(t) = -0.17e^(-0.38t) + 1.17e^(-2.62t). MATLABs residue function provides the same numbers for the system. This provides an expression for the time domain response, but what does zeta tell us about this system? – Pansy Jul 13 '16 at 13:38
• 2.62 is correct, I'll edit. When there's a zero (or more than one), it often gives rise to an overshoot or undershoot in an otherwise overdamped system, as it has the effect of adding the differential to the natural response. If there's a zero in the positive s-plane, the transient response can start going in the 'opposite' direction before it follows the natural response. In such cases, the classic 2nd order model is not applicable and zeta is not a good indicator of the transient shape. – Chu Jul 13 '16 at 14:44
• ... with a zero or two in the TF the shape of the transient response is determined by the positions of the poles and zeros. The poles determine the relative stability, and define the 'natural' response, but the zeros can augment the natural response significantly. – Chu Jul 13 '16 at 15:03

I have repeated this procedure with a passive 2nd order RC LPF (same R and C values) and I do not see any overshoot. This agrees with my intuition. Why is the HPF different?

It's not the same as the overshoot you would get from a 2nd order low pass filter with below-unity zeta.

You have made a high pass filter and it cannot pass DC so what you will find is that the area of the waveform above zero exactly equals the area of the waveform below zero. This is what a high pass filter does and has nothing to do with damping.

Would you say that a simple 1st order high pass filter has overshoot due to issues of damping ratio: -

• No, I wouldn't say that a 1st order HPF has overshoot issues. The output decays exponentially to zero, without overshooting it. With a 1st order LPF it rises exponentially to the steady state value (without overshoot). Both 1st order circuits seem to be pseudo-inverses of each other. What changes in 2nd order systems? Are you saying zeta is meaningless when considering 2nd order HPFs? – Pansy Jul 13 '16 at 7:53
• @pansy the two 1st order high pass filters you have cascaded could be separated/buffered from each other and still give the same sort of response. The output of the first one will give the decaying to zero response with no negativity but this output then forms the input to the 2nd (1st order) high pass filter and this naturally outputs the negative portion of the waveform that you thought my be related to zeta. It's just coincidence. – Andy aka Jul 13 '16 at 8:27

For my opinion, the answer is not so simple as it seems at a first look. The following considerations are more or less general and not taylored to the given circuit only.

I think, we could (must?) use the lowpass-to-highpass transformation to see what happens. This transformation consists of a simple inversion of the complex frequency variable "s". That means: In the corresponding lowpass transfer function we replace "s" bei "1/s".

As a next step, we consider the impulse response h(t) which is nothing else than the inverse LAPLACE transform of the highpass transfer function H(1/s). More than that, we know that the step response g(t) equals the time integral over h(t) which - in the frequency domain - is eqivalent to a multiplication with (1/s). Hence, we have to find the inverse LAPLACE transform for a function "H(1/s)/s".

Now - it can be shown that the inverse LAPLACE transform for such an expression contains the product of (a) the lowpass impulse response h(t) and (b) the zero-order Bessel function Io which is the cause of the observed undershoot (the Bessel function Io exhibits an oscillatory behaviour). The exact mathematical derivation is rather involved (and can be found, for example, in Claude S. Lindquist: Active Network Design).

EDIT: For a better and more "intuitive" understanding it helps to recall that any highpass has - in principle - a "differentiating" behaviour other than a lowpass with integating properties. That means - it is the SLOPE of the state variables within the circuit which matter and determines the shape of the step response. Hence, depending on the time constants we can have either no, small or even large undershoots.

• I don't quite follow your explanation/notation. I understand that the impulse response of the system is the inverse Laplace transform of the system without multiplying the system by the frequency domain source (since the impulse function transforms to 1 in frequency domain, so 1*system = system). When you say "H(1/s)" does that mean "H of 1/s"? If my system is H(s) "H of s", then h(t) = inverse Laplace (H(s)) right? So you are saying replace every "s" in the function with "1/s"? – Pansy Jul 13 '16 at 8:59
• Yes - writing H(1/s) means to replace in the lowpass function the variable of s by 1/s. This is the content of the lowpass-to-highpass transformation. – LvW Jul 13 '16 at 9:17