# Demystifying the RHPZ

During my academic career I have observed that one of the most difficult subjects to teach as well as to learn is systems theory. All those poles and zeros may make sense in class, but once the student tries to relate them to a physical circuit in the lab, there seems to be a chasm between the blackboard and the bench.

My contention is that the student should be taught *first *to investigate the circuit intuitively, using as much physical insight as possible, and *then* to use mathematical tools for a more systematic validation. I will try to illustrate using the much dreaded right half-plane zero (RHPZ) as a vehicle.

Let us start out with the basic circuit of Fig. 1*a*, consisting of an *RC* network and an op amp buffer, giving

As we know, the value of *s* for which the denominator vanishes represents a *pole*. This value is

Since it is negative, the pole lies in the left half of the *s* plane (LHP). The circuit’s response to a 0-to-1 V step, depicted in Fig. 1*b*, is the familiar exponential transient. (Note that the time scale has been chosen slow enough that we can ignore typical op amp dynamic limitations such as slew rate limiting.)

Suppose we now modify the circuit as in Fig. 2*a*. What is its step response going to be? Using physical insight we observe that initially, with *C* still discharged, we have *V _{p}* = 0, so the op amp will momentarily act as an inverting amplifier with a gain of –

*R*

_{2}/

*R*

_{1}(= –0.5 V/V with the component values shown.) Consequently, in response to the +1-V input step,

*V*will jump to –0.5 V, as shown in Fig. 2

_{o}*b*. However, as

*C*charges up,

*V*will again produce the exponential transient of Fig. 1

_{p}*b*, so we eventually have

*V*→

_{p}*V*, in turn implying

_{i}*V*→

_{o}*V*. Note, incidentally, that the higher the

_{i}*R*

_{2}/

*R*

_{1}ratio, the bigger the initial negative jump of

*V*.

_{o}Now is the time to invoke a bit of math to put our intuitive analysis on a more formal foothold. In the circuit of Fig. 2*a*, *V _{i}* contributes to

*V*through

_{o}*two separate*signal paths, namely, the low-frequency path through

*R*, and the high-frequency path through

*R*

_{1}. Using the superposition principle we thus write

At low frequencies (*s* → 0) the circuit exhibits a *positive gain* of +1 V/V, whereas at high frequencies (*s* → ∞ ) it exhibits a *negative gain* of –*R*_{2}/*R*_{1}, so there must be some intermediate frequency at which gain becomes zero. To find the corresponding value of *s*, aptly called a *zero*, we let *V _{o}* = 0 in Eq. (3). Solving,

We now wish to find the circuit’s transfer function *H*(*s*) = *V _{o}/V_{i}*. Expanding Eq. (3) further, and using Eqs. (2) and (4), we put

*H*(

*s*) in the insightful form

where

*ω*is called the zero frequency and

_{z}*ω*the pole-frequency,

_{p}It is good practice to check that Eq. (5) is consistent with our intuitive conclusions. Indeed, *H* → 1 for *s* → 0, *H* = 0 for *s* = *ω _{z}*, and

*H*→ –

*ω*/

_{p}*ω*= –

_{z}*R*

_{2}/

*R*

_{1}for

*s*→ ∞. The pole-zero plot of

*H*(

*s*), shown in Fig. 3, indicates that the circuit exhibits a left half-plane pole (LHPP) as well as a right half-plane zero (RHPZ).

**Figure 3 – Complex-plane pole-zero plot for the circuit of Fig. 2.**

**What do we make of all this? **

A RHPZ is of potential concern in negative-feedback systems, two popular examples of which are the RHPZ arising in the peak-current-mode control of boost switching regulators, and the RHPZ arising in Miller-type frequency compensation of op amps, especially two-stage CMOS op amps.

Consider first the **boost regulator** **case**. Should the loop controller issue a command in the form of a voltage step, the RHPZ will respond, at least initially, in the *opposite* direction, as per Fig. 2*b*. If the controller is *fast enough*, it will overreact by reversing the polarity of its own initial command, only to meet again a reaction in the opposite direction. It appears as if feedback turned, at least momentarily, from negative to positive, which is a recipe for possible oscillation.

A common cure is to deliberately *slow down* the loop controller so as to prevent it from over-reacting to the RHPZ. Sure enough, if we change its input from an abrupt step to a gradual *ramp*, the circuit of Fig. 2*a* will respond in the intended direction almost right from the beginning, as demonstrated in Fig. 4 (for convenience, also *V _{p}* is shown.) In frequency-compensation parlance [1], slowing down the loop controller means making the loop’s crossover frequency

*ω*sufficiently

_{x}*lower*than

*ω*, so there isn’t enough loop gain to cause significant overreaction to the RHPZ (perhaps a future blog on this is in order.)

_{z}**Figure 4 – Response of the circuit of Fig. 2 a to an input voltage ramp (as opposed to a step.) For convenience, also V_{p} is shown (thin trace).**

Next, let us turn to the **Miller-compensation** **case**, which is more conveniently investigated in the frequency domain. Letting *s *→ *j*ω in Eq. (5) we find the phase response as

indicating that the RHPZ contributes *phase delay* just like the LHPP does. So, while the LHPP of Fig. 1*a* contributes up to –90° of delay, the LHPP-RHPZ of Fig. 2*a* contributes up to –180° of delay, again a recipe for possible oscillation. (When used with *R*_{2} = *R*_{1}, the circuit finds application as a phase shifter.)

*ω*, so it is of no concern. Not so in multi-stage CMOS op amps, where

_{x}*ω*may be close to or even lower than

_{z}*ω*(this is due to the notoriously low transconductance

_{x}*g*of FETs). There are various ways of coping with this [2], including pushing

_{m}*ω*well out of the way, such as

_{z}*ω*→∞.

_{z}In the circuit of Fig. 2 you can make

*ω*→∞ either by letting

_{z}*R*

_{2}→ 0, or

*R*

_{1}→ ∞, or both (all trivial cases). But what if, for some reason, you are not allowed to touch the

*R*

_{1}-

*R*

_{2}network? Then, turn the op amp into a

*difference amplifier*so that it treats

*V*as a common-mode input, and therefore responds to the input step with

_{i}*V*= 0, at least initially. To this end you need to insert a “compensation’ resistance

_{o}*R*(=

_{c}*RR*

_{2}/

*R*

_{1}= 0.5 kΩ), as shown in Fig. 5

*a*. This will also change

*ω*and, hence,

_{p}*V*(see Fig. 5

_{p}*b*, and compare with Fig. 1

*b*), but at least you have the satisfaction of having eliminated the RHPZ (perhaps a future blog on this is in order.)

**An analogy. **

During my graduate-student days I bought my first car, a 1955 Ford Fairlane, for $50 “as is” (or, rather, “as was”). Once I took possession, I immediately hit the highway to experience the excitement of pressing the gas pedal all the way to the floor… only to discover that the engine reacted almost as if it were suffocating. Only after some unnerving initial hesitation would the car adjust itself and gradually pick up speed. My engine must have had a RHPZ!

Soon I found empirically that the car would respond much better (no suffocation) if I pushed the pedal gradually instead of abruptly. I mentioned this to a musician friend of mine who was making a living fixing and reselling junkyard cars. He disappeared under the hood and magically restored the engine to mint condition. I never bothered to ask what he did, but I guess he must have sent my RHPZ to infinity…

**References**

[1] http://online.sfsu.edu/sfranco/BookOpamp/OpampsJacket.pdf

[2] http://online.sfsu.edu/sfranco/BookAnalog/AnalogJacket.pdf

That 60W-equivalent LED: What you don’t know, and what no one will tell you…

6 famous people you may not know are engineers

10 tips for a successful engineering resume

Why does this year have an extra second?

Da Vinci unsuccessfully tests a flying machine, January 3, 1496

Dead meters expose battery terminal design issues

Simple trick lets you see your parts

Catenary feed seems like it can’t possibly work, yet it does

Old wine in new glass ID system

ZTE kickstarts NSA 5G NR tests: What is it and why should we care?

Whipping a cheap LED PSU into usable shape

## Almost Done

Please confirm the information below before signing in.

{* #socialRegistrationForm *} {* firstName *} {* lastName *} {* displayName *} {* emailAddress *} {* addressCountry *} {* companyName *} {* ednembJobfunction *} {* jobFunctionOther *} {* ednembIndustry *} {* industryOther *}