Demystifying pole-zero doublets
The pole-zero doublet is another systems-theory concept that, like the right half-plane zero of my previous blog, I believe should be explored intuitively before we resort to mathematical acrobatics. Pole-zero doublets arise in a variety of circumstances. An active-loaded differential input stage introduces a pole-zero pair separated by an octave in the open-loop response of an op amp . Other examples include frequency-compensation schemes such as feed forward, input lag, and feedback lead compensation . Yet another example occurs in the loop stabilization of a switching regulator via pole-zero cancellation .
Because of component mismatches, cancellation is unlikely to be perfect, resulting in a doublet of the pole-zero or zero-pole type, depending on whether the pole frequency is lower than the zero frequency, or vice versa. Though the impact of a doublet on the closed-loop ac response may be minor, it is the step response that presents surprising nuances that may be critical in certain applications.
Figure 1: Using a voltage follower to investigate pole-zero doublets.
Let us investigate doublets using the voltage follower of Fig. 1, the simplest of op amp circuits. Denoting the open-loop gain as a(s), we have, by inspection, Vo = a(s)(Vi – Vo). Collecting, we find the closed-lop gain as
Figure 2: Linearized Bode plots of two open-loop responses (top) and the corresponding closed-loop responses (bottom).
Assuming the open-loop gain profile of Figure 2a, top, we easily construct the closed-loop profile shown at the bottom by noting that at low frequencies, where a(s) → a0, Equation (1) gives A(s) → A0 = a0/(1 + a0), whereas at high frequencies, where |a(s)| << 1, Equation (1) gives A(s) → a(s). Moreover, the two asymptotes meet at ω = ω0, that is, at the 0-dB frequency of |a|, which now becomes the –3-dB frequency of |A|. If we subject the circuit to a 0-to-1 V step at t = 0, the response (ignoring slew-rate limiting) will be the exponential transient
The dc gain a0 of a typical op amp is extremely high, in which case we can make the approximations depicted in Fig. 2b, namely, a0 →∞ and A0 → 1 V/V, or 0 dB.
Let us now reconsider the open-loop response of Fig. 2b, top, but augmented by a zero-pole pair ωz-ωp as shown in Figure 3, so the 0-db frequency gets shifted from ω0 to ωt = ω0(ωp/ωz). To construct the closed-loop profile shown at the bottom, note that A(s) must have the same zero as a(s), as per Equation (1). Moreover, above ωz the plot of |A| is of the type shown at the bottom of Figure 2a, whereas below ωz it is of the type shown at the bottom of Figure 2b. The transition from one type to the other occurs just below ωz, indicating the presence a pole frequency ω1 there. We also have a second pole frequency ω2 in the vicinity of the op amp’s transition frequency ωt, which becomes the buffer’s crossover frequency.
What is the 0-to-1 V step response going to look like? Recall from systems theory that each real pole in a transfer function results in an exponential transient, so we expect two such transients acting in concert: a transient governed by ω2 to raise vO from 0 to Azx1 V, where Az = az/(1 + az), and a transient governed by ω2 to raise vO from Azx1 V to 1 V, for a net magnitude of (1 – Az)x1 V = 1/(1 + az) V.
Example 1: Assuming the follower of Figure 1 uses an op amp having f0 = 1 MHz, fz = 10 kHz, and fp = 100 kHz, develop an expression for its response to a 0-to-1 V input step.
Solution: We have ft = f0(fp/fz) = 106(100/10) = 10 MHz. Moreover, since fp = ft/100, we use geometric inspection to estimate az = f0/fz = 106/104 = 100 V/V. Assuming ω1 ≈ ωz and ω2 ≈ ωt, we write
This is more conveniently expressed as
indicating that the response consists of a fast (τ2 = 15.9 ns) exponential transient from 0 to 990.1 mV, and a much slower (τ1 = 15.9 ms) transient, aptly called a long tail, to complete the remaining 9.9 mV (as said above, the two transients act in concert.)
Figure 5: (a) Bode plots and (b) step response (using different time scales) of the circuit of Figure 4, having f0 = 1 MHz, fz = 10 kHz, and fp = 100 kHz.
Let us now enlist PSpice to see how well our intuitive findings hold up. Using the circuit Figure 4, we readily generate the plots of Figure 5. A coarse look at Figure 5b, top, seems to indicate that after 100 ns or so, vO has effectively reached its dc steady state of 1 V, since (100 ns)/(15.9 ns) is about 6 time constants, or plenty of time to settle. Not so if you switch to the time scale of Figure 5b, bottom, for a compressed view. The fast transient dominates up to about 991 mV, or to within 9 mV of steady state, after which the long tail takes over. So, what is the settling time tS of this circuit? It depends…. If you content yourself with vO settling within 1% (or 10 mV) of steady state, then PSpice gives tS(1%) ≈ 107 ns. However, if you wish vO to settle within 5 mV of steady state, you are at the mercy of the long tail, which results in tS(0.5%) ≈ 9.4 ms, almost two orders of magnitude longer than tS(1%)! Similarly, for vO to settle within 1 mV of steady state, you need tS(0.1%) ≈ 35 ms.
Equation (2), developed intuitively, is in slight disagreement with the PSpice results of Figure 5. For an exact analysis, refer to the Appendix at the end of the blog. Here, we use Equation (3) of the Appendix to calculate the closed-loop pole frequencies as f1 = 9.9107 kHz and f2 = 10.09 MHz, so τ1 = 16.06 ms and τ2 = 15.77 ns. Moreover, we use Equation (4) to calculate the fast and slow transient magnitudes as 991.06 mV and 8.94 mV, respectively. All numbers well agree with Equation (2), so intuition has served us well.
Figure 6 depicts three significant cases corresponding, respectively, to a decade, an octave, and a 10% separation between fp and fz, with fz fixed at 10 kHz. Note that the smaller the separation, the smaller the magnitude of the slow swing, and also the slower the fast swing. It is also apparent that the lower the value of fz compared to f0, the slower the long tail.
Figure 6: (a) Bode plots and (b) transient responses for fz = 10 kHz and for the cases fp = 10fz, fp = 2fz, and fp = 1.1fz, resulting, respectively, in the traces V(O_10), V(O_2), and V(O_1.1).
As we are about to see, the pole-zero doublet is even more subtle than its zero-pole counterpart. With reference to Figure 7, we retrace the reasoning in connection with Figure 3 to state that at low frequencies we must have |A| → 0 dB, and that A(s) must have the same zero as a(s) as well as a pole frequency in the vicinity of ωt. The frequency region immediately above ωp is the trickier. Here, the rate of descent of |a| approaches –40 dB/dec and the phase of a approaches –180°, so we can write
which is a real, negative number whose magnitude decreases with ω. By Equation (1) we must have
indicating that as ω increases, A itself will rise above 1 V/V, due to the denominator’s minus sign, with a tendency to blow up as a(ωp < ω < ωz) approaches –1 V/V. Mercifully, before this happens, the zero comes into play to squelch the diverging attempt by A. This implies the presence of a pole frequency ω1 just above ωz. The overall result is a small amount of gain peaking, as shown.
Let us check our reasoning via PSpice. The circuit of Figure 8, designed to simulate an op amp with a pole-zero separated by a decade, is in a sense the dual of the zero-pole circuit of Figure 4. As depicted in Figure 9a, bottom, the closed-loop gain peaks by about 0.5 dB, corresponding to 1.060 V/V. A coarse look at Figure 9b, top, seems to imply an ordinary exponential transient aiming toward 1.060 V. However, the expanded view Figure 9b, bottom, reveals the presence of a second, much slower transient to bring vO from 1.060 V back to 1.0 V, as expected of a voltage buffer.
Figure 9: (a) Bode plots and (b) step response (using different time scales) of the circuit of Figure 8, having f0 = 1 MHz, fz = 10 kHz, and fp = 1 kHz.
In the present example, this transient takes on the form of an aperiodic overshoot (not to be confused with ringing!). As in the case of zero-pole doublets, the settling time is strongly dependent on whether the desired percentage falls on the fast or on the slow portion of the transient. You can gain additional insight from Figure 10, which depicts three significant cases corresponding, respectively, to a decade, an octave, and a 10% separation between fp and fz, with fz fixed at 10 kHz. Of special interest are pole-zero doublets separated by an octave, to be examined next.
Example 2: Calculate the response to a 0-to-1 V input step if the follower of Fig. 1 uses an op amp with f0 = 1 MHz and fz = 2fp, where fp = 0.5 kHz, fp = 5 kHz, and fp = 50 kHz.
Solution: Plugging the given data into the formulas of the Appendix, we get, for the three cases,
Figure 10: (a) Bode plots and (b) transient responses for fz = = 10 kHz and for the cases fp = 0.1fz, fp = 0.5fz, and fp = 0.9fz, resulting, respectively, in the traces V(O_0.1), V(O_0.5), and V(O_0.9).
Note that the higher the doublet frequency, the larger the aperiodic overshoot, but also the faster the long tail. The fast transient time constant, however, changes little with the location of the doublet frequency.
The above analysis has deliberately ignored slew-rate limiting so we could focus exclusively on the effects of the doublet. With slew-rate limiting present, the step response starts out as a ramp, and changes to the exponential pair discussed above only when the op amp ceases to slew-rate limit [2, 3]. For simplicity, also the presence of any roots above ωt has been ignored. These roots (poles, and possibly right-half plane zeros) tend to erode the phase margin, possibly leading to ringing, which will further complicate the settling time.
As a rule, the further up the doublet on the open-loop gain plot, the slower the long tail but also the smaller the magnitude of the slow transient. Also, if a doublet is sufficiently close to wt, it may affect circuit stability, possibly resulting in ringing. For instance, lowering R2 from 10 kΩ to 1 kΩ in Figure 8 will raise fz to 1 MHz, causing the phase margin to drop from about 90° to about 30°, which results in quite a bit of ringing. Clearly, there are many factors you need to be aware of when dealing with the settling time. Who ever said that the life of the analog engineer is easy, unchallenging, and thus boring?
APPENDIX: Using Math to Validate Intuition
By inspection, we can express the open-loop gains of Figures 3 and 7 in the common form
Substituting into Equation (1) and simplifying, we get, after some algebra,
indicating that A(s) admits the same zero as a(s), along with two poles. The poles are the roots of
The negatives of s1 and s2 are the closed-loop pole frequencies ω1 and ω2. To find the unit step response, we write
where Vi(s) and Vo(s) are the Laplace transforms of the input and output, with the Laplace transform of the unit step being (1 V)/s. Expanding Vo(s) as
we calculate the voltages V0 through V2 as
Finally, we find the transient response to the input step by taking the inverse Laplace transform as