Skip to content
English
  • There are no suggestions because the search field is empty.

How do I fit an equivalent circuit model (ECM) to EIS data in Pulsenics Analytics?

Fit a premade or custom equivalent circuit model to a saved impedance/Nyquist plot, tune guesses and bounds, and export fitted parameters for trending.

Goal

Fit an equivalent circuit model to your EIS spectra so you can convert impedance curves into a small set of parameters (resistances, capacitances, CPEs, diffusion terms) that can be trended across time or operating conditions.

Why ECM is useful

ECMs help you:

  • quantify key components (for example ohmic resistance, charge-transfer resistance, capacitance-like terms)

  • compare conditions and track changes over time

  • connect impedance features to a physically interpretable circuit representation

Best practice
Start with the simplest circuit that captures the main behavior. Add complexity only when needed.


Before you start

  • You have already created and saved a Nyquist plot (or another frequency response plot) in Analytics.

  • You have confidence the data is valid (recommended: KK test passed or acceptable RMSE).

Important
ECM fitting is performed on an existing frequency response plot selection, similar to KK validation.


1) Open ECM fitting in the Validation tab

  1. In Analytics, open the Analysis panel.

  2. Go to the Validation tab.

  3. In Frequency response plot, select the plot you want to fit (commonly a saved Nyquist plot).

  4. Switch to Equivalent Circuit Modelling.

What you should see: an ECM selector with premade circuits and fit options.


2) Fit a premade circuit model (recommended starting point)

  1. Open the Equivalent circuit model dropdown.

  2. Select a premade model (for example a Randles-type circuit, optionally with an inductor if you see inductive behavior at high frequency).

  3. Click Add model (or equivalent).

What you should see

  • The ECM fit overlaid on your Nyquist data (raw data vs model fit)

  • A fit quality metric (RMSE)

  • A table of fitted parameter values for each circuit element

Tip
If you do not want to see the fit overlay, disable Show on graph (if available).


3) Interpret fit quality (RMSE + visual overlay)

  • Use the visual overlay to see whether the fit tracks the curve shape.

  • Use RMSE to quantify goodness of fit.

Example guidance

  • RMSE around a few percent can be reasonable depending on noise and model complexity.

  • If RMSE is low but parameters are unrealistic, the model may be overfitting or physically inappropriate.


4) Improve the fit (iterate when needed)

A) Choose initial guesses

If the fit is unstable or lands on unrealistic values:

  1. Open Choose initial guess.

  2. Adjust starting values for specific parameters.

Tip
If available, use Use previous fit as initial guess to start from the last fit and make small tweaks.

B) Set parameter bounds

If you know parameters should stay within a physical range:

  1. Open Choose parameter bounds.

  2. Set a minimum and maximum for each element.

This can prevent “runaway” fits and speed up convergence.

C) Choose which frequencies to fit

If certain frequencies are noisy or not representative:

  1. Open Choose frequencies.

  2. Specify:

    • a frequency range to include, or

    • use an exclamation mark to omit a frequency or range, or

    • use greater-than/less-than rules to fit above or below a threshold

Example use case
Exclude low frequencies if drift dominates below a cutoff, or exclude known noisy bands.

  1. Click Update model to apply changes.


5) Build a custom circuit (when premade models are not enough)

If you need a custom circuit:

  1. Open the circuit dropdown and choose Custom circuits (or similar).

  2. Enter a unique name (and optional description).

  3. Build a circuit string using the circuit element syntax.

Circuit syntax (Pulsenics)

  • Series elements use a dash: -

  • Parallel elements use P( … ) with commas inside:

    • P(R1,CPE1) means R1 in parallel with CPE1

Common elements you may see

  • R resistor

  • C capacitor

  • CPE constant phase element

  • L inductor

  • W Warburg (diffusion-type element)

Example patterns

  • Simple ohmic resistance: R0

  • Randles-type core: R0-P(R1,C1)

  • With inductance for wiring: R0-L0-P(R1,CPE1)

  • Adding a diffusion term nested in parallel (example pattern): R0-P(R1,P(C1,W1))

As you build the string, the dashboard displays a circuit diagram preview below.

  1. Click Add circuit to save it.

  2. Return to the ECM selector and choose your custom circuit.

  3. Click Add model to fit it.


6) Review fitted parameters (Model Fit Results)

After fitting, review:

  • RMSE

  • parameter values for each element (for example R∞ / R0, inductance L0, resistances, capacitance-like elements)

These values are what you will typically:

  • trend over time

  • compare across markers or operating conditions

  • export for reporting


7) Export results (for reporting and trending)

When exporting Analytics data, ECM results can be exported alongside:

  • time-domain data

  • frequency-domain plots

  • model fit parameters and metrics (such as RMSE)


Verify success

  • The fit overlay tracks the raw Nyquist data reasonably well.

  • RMSE is acceptable for your use case.

  • Parameter values are stable and physically plausible.

  • Results can be exported for reporting or trending.


Common issues

  • Fit looks good but parameters are unrealistic: tighten bounds, simplify the circuit, or adjust initial guesses.

  • Fit ignores part of the spectrum: expand the frequency range, or choose a circuit that includes the missing behavior.

  • Fit fails at high frequency inductive tail: choose a model that includes an inductor in series.

  • Noisy region is distorting the fit: constrain or exclude those frequencies.


Related workflows

  • Create frequency response plots (Bode and Nyquist)

  • Validate EIS spectra using the KK test

  • Create DRT plots (Distribution of Relaxation Times)

  • Export Analytics results