Transfer Function Poles and Zeros Calculator
Find the poles and zeros of a 2nd-order transfer function, with a left-half-plane stability verdict and a plotted pole-zero map.
🎯 What are Transfer Function Poles and Zeros?
A transfer function's poles and zeros are the values of the complex variable s where its denominator or numerator, respectively, equal zero. For G(s) = N(s)/D(s), poles are the roots of D(s) = 0 and zeros are the roots of N(s) = 0. Poles determine a system's natural (unforced) response and, critically, its stability: a linear time-invariant system is stable if and only if every pole has a strictly negative real part, placing it in the left half of the complex s-plane.
Control engineers use pole-zero analysis constantly when designing and evaluating feedback systems. A controller designer checks a closed-loop transfer function's poles after adding a compensator to confirm the loop is still stable, and to see how much the poles moved compared to the open-loop system. A filter designer places zeros deliberately to cancel out unwanted poles or to shape a frequency response. Anyone debugging an oscillating or diverging control loop starts by finding the poles, since their real parts directly explain whether the system decays, oscillates forever, or blows up.
A common misconception is that zeros affect stability the same way poles do. They do not: stability depends entirely on the poles (the denominator's roots). Zeros shape the transient response, things like overshoot or an initial undershoot, but a system is exactly as stable or unstable as its poles say, regardless of where its zeros sit, even a zero in the right-half plane (a so-called non-minimum-phase zero) does not by itself make the closed-loop system unstable.
This calculator takes the six coefficients of a general 2nd-order transfer function, computes its poles and zeros using the quadratic formula (handling both real and complex-conjugate cases), states a clear stability verdict, and plots every pole and zero on a pole-zero map so you can see their position relative to the imaginary-axis stability boundary at a glance.
📐 Formula
📖 How to Use This Calculator
Steps
💡 Example Calculations
Example 1 — Real Zeros, Complex Stable Poles
N(s) = s² + 3s + 2, D(s) = s² + 4s + 13
Example 2 — Complex Zeros, Real Stable Poles
N(s) = s² + 2s + 5, D(s) = s² + 5s + 6
Example 3 — Unstable System (Right-Half-Plane Poles)
N(s) = s² + 4, D(s) = s² − 2s + 5
❓ Frequently Asked Questions
🔗 Related Calculators
What are poles and zeros of a transfer function?
Poles are the values of s that make the denominator D(s) of a transfer function G(s) = N(s)/D(s) equal to zero, and zeros are the values of s that make the numerator N(s) equal to zero. Poles determine a system's stability and natural response; zeros shape the transient response.
How do you find the poles of a transfer function?
Set the denominator equal to zero and solve. For a 2nd-order denominator a2*s^2 + a1*s + a0, use the quadratic formula: s = (-a1 plus-or-minus sqrt(a1^2 - 4*a2*a0)) / (2*a2). If the discriminant is negative, the poles are a complex-conjugate pair.
What determines if a system is stable from its poles?
A linear time-invariant system is stable if and only if every pole has a strictly negative real part, meaning all poles sit in the left half of the complex s-plane. Even one pole with a zero or positive real part makes the system marginally stable or unstable.
What happens when a pole has a positive real part?
A pole with a positive real part means that mode of the system's response grows without bound over time (an exponentially increasing term in the time-domain solution), making the overall system unstable regardless of what any other pole or zero does.
What does a pole on the imaginary axis mean?
A pole with exactly zero real part (sitting on the imaginary axis) produces a response that oscillates forever at constant amplitude, neither decaying nor growing. This is called marginally stable, a boundary case between stable and unstable.
Do zeros affect the stability of a system?
No. Stability is determined entirely by the poles (the denominator's roots). Zeros (the numerator's roots) only shape the transient response, such as overshoot or undershoot, they never determine whether a linear time-invariant system is stable or unstable.
Why do complex poles always appear in conjugate pairs?
For a transfer function with real-valued coefficients, complex roots of a polynomial always occur in conjugate pairs (a+bj and a-bj together). This is a direct consequence of the quadratic formula applied to real coefficients, and it guarantees the system's time-domain response stays real-valued.
What is the difference between a pole-zero map and a Bode plot?
A pole-zero map plots the locations of a transfer function's poles and zeros as points on the complex s-plane, showing stability and qualitative response shape at a glance. A Bode plot instead shows magnitude and phase versus frequency along the imaginary axis, a different (though related) view of the same system.
What order transfer function does this calculator support?
This calculator handles a general 2nd-order transfer function, with up to two poles and two zeros. Setting the leading coefficient (a2 or b2) to zero drops that polynomial to 1st order, giving a single real pole or zero instead of a pair.
Can a transfer function have more zeros than poles?
Not for a physically realizable (proper) system. A proper transfer function has at most as many zeros as poles. This calculator does not enforce that restriction directly since it is scoped to a fixed 2nd-over-2nd order structure, but entering a lower-order numerator than denominator always keeps the function proper.