Transfer Function Calculator
Analyze transfer functions: compute poles, zeros, DC gain, system order, system type, and stability from numerator/denominator coefficients
This free online transfer function calculator provides instant results with no signup required. All calculations run directly in your browser — your data is never sent to a server. Supports both metric (SI) and imperial units with built-in unit selection dropdowns on every input field, so you can work in whatever units your problem provides. Designed for engineering students and professionals working through coursework, design projects, or quick reference calculations.
Transfer Function Analyzer
Enter polynomial coefficients from highest to lowest power (space or comma separated). For G(s) = (b₀sⁿ + b₁sⁿ⁻¹ + ...)/(a₀sᵐ + a₁sᵐ⁻¹ + ...)
Poles (roots of denominator) — 2 poles
Pole-Zero Plot (s-plane)
Green dot = LHP (stable pole) · Red dot = RHP (unstable pole) · Yellow = purely imaginary
How to Use This Calculator
Enter your input values
Fill in all required input fields for the Transfer Function Calculator. Most fields include unit selectors so you can work in your preferred unit system — metric or imperial, whichever matches your problem.
Review your inputs
Double-check that all values are correct and that you have selected the right units for each field. Incorrect units are the most common source of calculation errors and can produce results that are off by factors of 2, 10, or more.
Read the results
The Transfer Function Calculator instantly computes the output and displays results with units clearly labeled. All calculations happen in your browser — no loading time and no data sent to a server.
Explore parameter sensitivity
Try adjusting individual input values to see how the output changes. This is a quick and effective way to develop intuition about how different parameters influence the result and to identify which inputs have the largest effect.
Formula Reference
Rational Transfer Function, Poles and Zeros
G(s) = N(s)/D(s) = (b₀·sᵐ + b₁·sᵐ⁻¹ + … + bₘ) / (a₀·sⁿ + a₁·sⁿ⁻¹ + … + aₙ) | D(pᵢ) = 0 → poles pᵢ | N(zⱼ) = 0 → zeros zⱼ | system order = n
Variables: G(s) = transfer function (output units per input unit), s = complex frequency σ + jω (rad/s), b₀…bₘ = numerator coefficients entered highest power first (units of the numerator quantity multiplied by sᵐ⁻ᵏ, i.e. by (rad/s)^(m−k) for the k-th entry), a₀…aₙ = denominator coefficients entered highest power first (units of the denominator quantity multiplied by (rad/s)^(n−k)), m = numerator degree (dimensionless count), n = denominator degree, taken here as (number of denominator coefficients entered) − 1 (dimensionless count), pᵢ = i-th pole (rad/s), zⱼ = j-th zero (rad/s). Roots are found by the Durand-Kerner iteration (closed-form quadratic formula for n = 2). A leading zero coefficient is not stripped, so entering '0 1 3 2' is treated as a cubic and returns undefined (NaN) roots — enter the true leading coefficient first. Source: Ogata, Modern Control Engineering, 5th ed., Ch. 2 (Mathematical Modeling of Control Systems — transfer function definition)
DC Gain (Zero-Frequency Gain)
G(0) = bₘ / aₙ | if the system is stable, a unit step gives y(∞) = lim(s→0) s·G(s)·(1/s) = G(0)
Variables: G(0) = DC (zero-frequency) gain (output units per input unit), bₘ = constant term (last entry) of the numerator, units = numerator quantity units, aₙ = constant term (last entry) of the denominator, units = denominator quantity units, y(∞) = steady-state step response (output units). The ratio is formed from the two constant terms directly, with no pole-zero cancellation: G = s/(s² + 3s) is reported as ∞ rather than 1/3, and a genuine integrator (aₙ = 0) is likewise reported as ∞. The final-value step result holds only when every pole satisfies Re(pᵢ) < 0; for an unstable system G(0) is still displayed but y(∞) does not exist. Source: Ogata, Modern Control Engineering, 5th ed. (Laplace transform — final value theorem)
Stability Classification from Pole Location
Asymptotically stable ⇔ Re(pᵢ) < 0 for every pole | unstable ⇔ Re(pᵢ) > 0 for at least one pole, or repeated poles on the jω axis | marginally stable ⇔ no pole with Re(pᵢ) > 0 and one or more simple poles with Re(pᵢ) = 0. | This tool applies the numerical test: Unstable ⇔ Re(pᵢ) > 1×10⁻⁶ for some pole
Variables: pᵢ = i-th system pole (rad/s), Re(pᵢ) = real part of the pole (rad/s; for a complex pair Re(pᵢ) = −ζ·ωn, where ζ = damping ratio (dimensionless) and ωn = undamped natural frequency (rad/s)), Im(pᵢ) = imaginary part (rad/s), count of poles with Re(pᵢ) > 0 = number of right-half-plane poles (dimensionless). Because the reported verdict uses the one-sided threshold Re > 1×10⁻⁶, purely imaginary poles are classed as stable: a denominator of s² + 1 (poles ±1j) or a free integrator s is reported 'Stable' even though it is only marginally stable. Such poles are marked '(Im axis)' and drawn in yellow on the s-plane plot — read that marker, not the summary tile, for marginal cases. Source: Nise, Control Systems Engineering, 7th ed., Ch. 6 (Stability)
System Type (Number of Free Integrators)
Type N = number of poles at s = 0 | G(s) = K · Π(s − zⱼ) / [ sᴺ · Π(s − pᵢ) ]
Variables: N = system type = count of poles satisfying |Re(pᵢ)| < 1×10⁻⁵ and |Im(pᵢ)| < 1×10⁻⁵ (dimensionless count), s = complex frequency (rad/s), K = leading gain constant of the factored form, equal to b₀/a₀ (output units per input unit, times (rad/s)^(n−m)), zⱼ = j-th finite zero (rad/s), pᵢ = i-th nonzero pole (rad/s). Factors are written (s − zⱼ) and (s − pᵢ) so that zⱼ and pᵢ are the root locations themselves, matching the poles and zeros listed above. Type governs steady-state error only for the open-loop function of a unity-feedback loop (Type 0 → finite position error, Type 1 → zero position error and finite velocity error, and so on); this tool counts origin poles of whatever G(s) is entered. Source: Nise, Control Systems Engineering, 7th ed., Ch. 7 (Steady-State Errors — system type and static error constants)
When to Use This Calculator
- •Use the Transfer Function Calculator when solving homework or exam problems that require quick numerical verification of your hand calculations — instant feedback helps identify arithmetic errors before they propagate.
- •Use it during the early design phase to rapidly iterate on parameters and narrow down feasible configurations before committing time to detailed finite element simulations or full design packages.
- •Use it when reviewing a colleague's calculation or checking a vendor's data sheet for plausibility — a quick sanity check can prevent costly downstream errors.
- •Use it to generate reference data for a technical report or presentation without manual computation, ensuring consistent, reproducible numbers throughout the document.
- •Use it in the field when a quick estimate is needed and a full engineering software package is not available.
About This Calculator
The Transfer Function Calculator is a precision engineering calculation tool designed for students, engineers, and technical professionals. Analyze transfer functions: compute poles, zeros, DC gain, system order, system type, and stability from numerator/denominator coefficients All calculations are performed using established engineering formulas from the relevant scientific literature and standards. Inputs support both metric (SI) and imperial unit systems, with unit conversion handled automatically — simply select your preferred unit from the dropdown next to each field. Results are computed instantly in the browser without sending data to a server, ensuring both speed and privacy. This calculator is intended as a supplementary tool for learning and design exploration; always verify results against authoritative references for safety-critical applications.
The Theory Behind It
A transfer function G(s) = Y(s)/U(s) is the ratio of the Laplace transform of the output to the Laplace transform of the input for a linear time-invariant (LTI) system with zero initial conditions. It compactly represents the input-output relationship as a rational function of the complex frequency variable s = σ + jω. The roots of the numerator are zeros (where G(s) = 0); the roots of the denominator are poles (where G(s) → ∞). Pole locations determine system stability: poles with negative real parts are stable, poles with positive real parts are unstable, poles on the imaginary axis are marginally stable. Pole locations also determine transient response characteristics: real poles give exponential decay, complex conjugate pole pairs give damped oscillations. The DC gain G(0) = b₀/a₀ (ratio of constant terms) is the steady-state gain for a step input. System order is the order of the denominator polynomial. Common transfer function forms: first-order G(s) = K/(τs+1); second-order underdamped G(s) = ω_n²/(s² + 2ζω_n·s + ω_n²), where ω_n is natural frequency and ζ is damping ratio. Transfer functions enable frequency response analysis (Bode plots), stability analysis (Routh-Hurwitz, Nyquist), and controller design (root locus, loop shaping, state-space feedback). They are the foundation of classical control theory and remain essential for SISO (single-input single-output) system analysis.
Real-World Applications
- •Process control loop analysis: model temperature, pressure, level, and flow control loops with transfer functions to predict stability and tune controllers.
- •Motor speed control: DC and AC motor dynamics are well-represented by first- or second-order transfer functions for design of speed and position controllers.
- •Filter design: analog filters (RC, RLC, active) are designed using transfer functions to achieve specific frequency response characteristics.
- •Servo system design: position and velocity servos in robotics and machine tools use transfer function models for controller tuning and stability verification.
- •Mechanical system dynamics: spring-mass-damper systems, rotating machinery, and structural vibration problems all have transfer function representations.
Frequently Asked Questions
What is a transfer function?
G(s) = Y(s)/U(s), the ratio of output to input in the Laplace domain for a linear time-invariant system. It compactly represents system dynamics without time-domain simulation. The transfer function is a rational function of s whose numerator zeros and denominator poles determine the response.
What do poles and zeros mean?
Poles are values of s where G(s) → ∞, determined by roots of the denominator polynomial. Poles control stability and transient response — stable systems have all poles with negative real parts. Zeros are values where G(s) = 0, determined by roots of the numerator. Zeros affect transient response shape but do not affect stability.
How do I find the DC gain?
DC gain K = G(0), obtained by substituting s = 0 into the transfer function. For G(s) = (2s+10)/(s²+5s+6), DC gain = 10/6 = 1.67. This is the steady-state output for a unit step input. If the input is a step of magnitude A, the steady-state output is K·A.
What makes a system stable?
All poles must have negative real parts (lie in the left half of the complex plane). If any pole has a positive real part, the system is unstable — a small disturbance grows without bound. Poles on the imaginary axis give marginally stable oscillations that neither grow nor decay. Routh-Hurwitz criterion checks stability without explicit pole calculation.
What's the difference between SISO and MIMO?
SISO (single-input single-output) systems have one input and one output and are represented by a single transfer function. MIMO (multi-input multi-output) systems have multiple inputs and outputs and require a matrix of transfer functions (transfer matrix) or a state-space representation. Most classical control theory is developed for SISO; modern control and multivariable systems use MIMO state-space methods.
Related Calculators
Bode Plot Generator
Generate interactive Bode plots (magnitude and phase) from transfer function coefficients with gain margin, phase margin, and crossover frequencies
Root Locus Plotter
Plot how closed-loop poles move as gain K varies; interactive K slider shows closed-loop poles, open-loop poles, and zeros
Step Response Calculator
Compute and plot unit step response for 1st and 2nd order systems with rise time, settling time, overshoot, and peak time metrics
PID Controller Tuner
Automatic PID tuning using Ziegler-Nichols (open-loop and closed-loop) and Cohen-Coon methods with step response comparison chart
Routh-Hurwitz Stability Calculator
Build the full Routh array for any-order polynomial, determine stability, and count right-half-plane poles from the characteristic equation
Nyquist Stability Calculator
Compute gain margin (dB), phase margin (degrees), gain crossover frequency, and phase crossover frequency from open-loop transfer function
References & Further Reading
Wikipedia
Embed this calculator on your site
Paste this snippet into your blog, course page, or documentation to drop a live, interactive Transfer Function Calculator into your page.
Free to embed — includes a link back to MegaCalc.