Skip to content

two_rq

R0-(R1,CPE1)-(R2,CPE2)

two_rq circuit diagram two_rq circuit diagram

two_rq Nyquist plot two_rq Nyquist plot

A series resistance R0 and two RQ elements, giving two flattened semicircles. The CPE version of two_rc.

ML model: 69k parameter 1D CNN, trained on synthetic data, 0.7 ms per guess. See Training.

Benchmarks

Plain LM

source of initial parameters converged excess med p90 p99 med sweeps
floor (truth) 100.00% 0 0 0 76
library defaults 51.20% 368 717 1641 366
truth x/div 5 55.10% 171 458 1476 276
ml guess 99.60% 15 62 246 91

Circuit.fit()

source of initial parameters converged excess med p90 p99 med sweeps
floor (truth) 100.00% 0 0 0 101
library defaults 77.90% 415 5348 44383 685
truth x/div 5 77.30% 352 2717 24850 652
ml guess 99.70% 15 62 294 131

Error of the guess

Relative error of each guessed parameter before fitting, in %.

R0.r R1.r CPE1.q CPE1.alpha R2.r CPE2.q CPE2.alpha
median 1.2 5.4 7.6 1.7 8.6 36.7 9.6
p90 10.5 24.3 34.6 7.5 35.5 113.7 27.6
p99 96.6 94.2 145.8 16.8 115.9 380.5 50.0

Benchmark notes

Synthetic benchmarks use 1000 spectra drawn from the same distribution as the training data, with a different seed: 4 to 8 decade sweeps of 20 to 100 points, with 0.2% to 5% noise.

  • floor (truth): start from the true parameters.
  • library defaults: start from the Circuit() placeholder values.
  • truth x/div 5: true magnitudes multiplied or divided by 5 at random, CPE exponents ±0.15.
  • ml guess: start from Circuit.guess().

Plain LM is a single-start Levenberg-Marquardt. Circuit.fit() is LM that also screens candidate starts and restarts on bad fits.

Converged: final cost within 1% of the fit from the truth. Sweeps: impedance evaluations of the whole spectrum, including Jacobians. Excess: sweeps beyond the fit from the truth, for converged fits only.