Enter a rational transfer function H(s) = N(s) / D(s) by typing the numerator and denominator coefficients in highest-degree-first order, then see the magnitude (dB) and phase (°) response on a log-frequency axis. The tool extracts DC gain, −3 dB bandwidth, resonant peak, gain crossover, phase crossover, and the gain & phase stability margins. Built-in presets for first-order LPF/HPF, second-order resonant, integrator, differentiator, lead, lag, and notch — fully client-side.
The top plot is |H(jω)| in decibels (20·log₁₀ of magnitude) — flat segments mean the gain is constant in that band; +20 dB/decade slope means proportional to ω; −20 dB/decade means inversely proportional. The bottom plot is the phase in degrees. Gain crossover ωgc is where |H| = 1 (0 dB); phase crossover ωpc is where the phase reaches −180°.
• Phase margin (PM): 180° + phase(jωgc). Positive PM = stable; PM > 45° is typically robust.
• Gain margin (GM): −|H(jωpc)| in dB. Positive GM (in dB) means the gain could grow that much before instability.
• These are the classical Nyquist margins of the open-loop H(s) being treated as the loop gain. They do not guarantee robust stability against multiplicative uncertainty — they're indicators, not certificates.
Coefficients are space- or comma-separated, highest-degree-first. So 1 0.4 1 means s² + 0.4s + 1. Decimals, scientific notation (1e-3), and leading minus signs are all supported. Use a trailing zero for an "s · …" factor: 1 0 = s; 2 0 0 = 2s².