Web Simulation

 

 

 

Interactive Laplace Transform Visualizer

Objective. This tool helps you explore the Laplace transform and continuous-time LTI systems by placing poles (x) and zeros (o) on the s-plane. The s = jw line (imaginary axis) corresponds to the frequency axis. You see the magnitude and phase of the frequency response H(jw), and the impulse response h(t) from the associated differential equation.

Stability. A system is stable iff all poles lie in the left half-plane (Re(s) < 0). Any pole with Re(s) > 0 makes the system unstable; the impulse response grows without bound (we clamp it for display).

Mathematical Foundation

Transfer function. We model the system as a ratio of factored polynomials in s. On the imaginary axis, s = jω, so H(jω) gives the frequency response; magnitude |H(jω)| is plotted in dB and phase ∠H(jω) in degrees:

H(s) = gain · ∏i (s − zeroi) / ∏i (s − polei)

Impulse response. H(s) is converted to an equivalent discrete-time system via the bilinear transform; we simulate the recurrence with an impulse input to approximate h(t). The time axis is continuous t = n · dt.

Poles and zeros. Poles attract |H|; near a pole, the magnitude grows. Zeros null |H|; on the jω axis they create notches. Conjugate pairs keep coefficients real and yield symmetric magnitude response.

Design presets. Butterworth, Chebyshev I/II, and Elliptic low-pass presets use the same pole/zero layouts as the Z-transform visualizer, mapped to the s-plane via the inverse bilinear transform:

s = (z − 1) / (z + 1)

Use the Order slider (2–12) when a design preset is selected.

Simulation

The interactive simulator is below. Use the controls to explore the concepts described above.

S-Plane: jw axis (s=jw), poles (x), zeros (o)
Stable

Drag to move; right-click to delete.

Magnitude |H(jw)| (dB)
Phase angle H (deg)
Impulse response h(t)
3D: |H(s)| over s-plane (sigma, jw)
|H(jw)| on jw axis

 

Usage

Preset: Choose a built-in configuration. Order (slider): when a design preset (Butterworth, Chebyshev I/II, Elliptic) is selected, the Order slider appears; set filter order 2–12. Add Pole / Add Zero: place new roots (as conjugate pairs if enabled). Delete: remove the selected pole or zero (click to select). Clear All: remove all. Conjugate pairs: when on, adding or dragging a root updates its mirror. Show phase: toggle the phase plot.

On the s-plane, drag a pole (x) or zero (o) to move it. Right-click one to delete it. Green = stable (Re(s) < 0); red = unstable (Re(s) > 0). The jw axis (vertical line at sigma=0) is the frequency axis. Near it, dashed lines to the cursor suggest the distance interpretation of H(jw).

3D plot: |H(s)| in dB over (sigma, jw). Use the rotation step buttons (top) for elevation/azimuth and camera presets (bottom): Top, Iso, Front, Side, Bottom. Drag to rotate, scroll to zoom. The white tube traces |H(s)| along the jw axis (s = jw) on the surface.

2D projection: |H(jw)| vs omega on the jw axis. Use the overlay buttons to switch the x-axis range between 0 to w_max and -w_max to w_max.

Presets

  • Simple Low-Pass: one real pole (sigma = -1). Smooths; |H| falls at high w.
  • Narrow Bandpass (Resonator): conjugate pole pair in LHP; zero at origin. Sharp peak; impulse rings.
  • Notch: zeros on jw axis; poles inside LHP. Deep null at a specific w.
  • High-Pass: pole in LHP; zero at origin. Attenuates low w.
  • Unstable: conjugate poles with Re(s) > 0. |H| and h(t) grow; plot clamped.
  • Butterworth LP: maximally flat passband; poles only in LHP. Order 2–12.
  • Chebyshev I LP: passband ripple; steeper rolloff. Order 2–12.
  • Chebyshev II LP: stopband ripple; zeros on jw axis. Order 2–12.
  • Elliptic LP: ripple in both bands; sharpest transition. Order 2–12.

Key Concepts

  • S-plane: sigma (real) horizontal, jw (imaginary) vertical. The jw axis (sigma = 0) is the frequency axis.
  • Stability: all poles in left half-plane (Re(s) < 0). Any pole with Re(s) > 0 gives unbounded h(t).
  • Frequency response: H(jw) = B(jw)/A(jw). Magnitude in dB; phase in degrees.
  • Impulse response: h(t) approximated via bilinear transform and difference equation; clamped when unstable.
  • 3D plot: |H(s)| in dB over (sigma, jw). Fine grid; ±120 dB range. Rotation-step buttons (top) and camera presets (bottom). White tube = jw-axis trace (|H| along s = jw on the surface).
  • 2D projection: |H(jw)| vs omega on the jw axis. Overlay buttons switch the x-axis between 0 to w_max and -w_max to w_max.

Limitations

  • Approximate impulse response. h(t) is obtained by mapping H(s) to a discrete filter via the bilinear transform and running a difference equation; it approximates the true continuous response and is clamped when the system is unstable, so it is not an exact inverse Laplace transform.
  • Rational, lumped LTI systems only. The model is a ratio of polynomials with a finite set of poles/zeros. Distributed, time-varying, nonlinear, or delay (e−sτ) systems are out of scope.
  • Limited order and range. Order is capped (2–12) and the 3D magnitude is drawn over a finite s-plane grid with a ±120 dB clamp, so very sharp poles/zeros are visually saturated.
  • Bilinear frequency warping. The s↔z mapping warps the frequency axis, so design-preset cutoffs and the impulse response are subject to bilinear warping rather than an exact analog response.
  • Idealized coefficients. Computations use full-precision arithmetic with no component tolerance, quantization, or noise; conjugate symmetry is assumed for real coefficients.
  • Teaching tool. Built to build intuition for poles/zeros, stability, and the s-plane → frequency-response relationship — not a filter-synthesis or control-design package.