PDN Impedance Analyzer & Decoupling Capacitor Optimizer
Optimize decoupling capacitor selection for PCB power delivery networks. Model plane-pair cavity resonances, specify board geometry and target impedance, then let the genetic algorithm find the optimal capacitor combination to keep Z_PDN below your target across all frequencies.
How It Works
Power-delivery network impedance determines how cleanly a PCB delivers current to ICs. The target is a flat Ztarget from DC to the highest switching frequency — if |ZPDN(f)| exceeds this target, simultaneous switching noise causes voltage droops that degrade performance or cause logic errors.
This tool models two physical effects missed by lumped-element spreadsheets:
- Plane-pair cavity resonances — the power and ground planes form a 2D rectangular cavity. At resonant frequencies fmn = (c₀/2√εr)√((m/a)² + (n/b)²), the impedance peaks sharply. These resonances can push |Z| far above the target even when lumped decoupling looks adequate.
- Capacitor self-resonance — each MLCC has a series resonance frequency SRF = 1/(2π√LC) where its impedance is minimal (≈ ESR). Above SRF it becomes inductive. The optimizer selects combinations across multiple value decades to achieve broadband suppression.
The genetic algorithm sweeps integer capacitor counts across 7 standard MLCC values, minimising max(|ZPDN|/Ztarget) over the full frequency range.
Related Calculators
Read the Guide
FAQ
Why does Z_PDN spike at certain frequencies even with decoupling capacitors?+
These are plane-pair cavity resonances. The power/ground plane pair acts as a 2D electromagnetic cavity resonating at frequencies determined by board dimensions and dielectric constant. Decoupling capacitors can suppress these resonances when placed correctly, but a purely lumped model misses them entirely. The tool shows which resonant modes are contributing so you can target capacitor placement near anti-resonance nodes.
What does the convergence history plot show?+
The GA fitness function is max(|Z_PDN|/Z_target) — the ratio of the worst impedance violation to the target. A value of 1.0 means Z_PDN just touches the target at one frequency. Below 1.0 means the target is fully met everywhere. The convergence history shows how this fitness improved over generations. If it plateaus well above 1.0, try relaxing the target impedance or increasing the capacitor budget.