Toolbox-free two-RC identification and reusable controller metrics
This release adds a transparent battery equivalent-circuit parameter-identification workflow and promotes controller-comparison results to an export-ready engineering table.
Two-RC identification
- estimates positive
R0,R1,C1,R2, andC2values from timestamped current, independently estimated OCV, and terminal-voltage data - separates the nonlinear time-constant search from the linear resistance solve
- enforces ordered fast and slow branches and rejects ill-conditioned or nonphysical candidates
- supports absolute or relative measurement timestamps
- evaluates fitted parameters on a genuinely separate held-out pulse profile
- includes deterministic malformed-input, repeatability, and timestamp-offset regression checks
Canonical benchmark:
Calibration RMSE: 0.401 mV
Held-out RMSE: 0.440 mV
Estimated time constants: 2.01 s and 33.88 s
The bundled voltage records are explicitly synthetic and deterministic. They validate the implementation and cross-validation workflow without claiming physical-cell calibration accuracy.
Controller comparison
- adds a reusable table for open-loop, PI, and filtered-PID performance
- reports deterministic steady error, overshoot, settling time, duty bounds, and saturation status
- supports direct CSV export and readback validation
Verification
- all 16 MATLAB and Simulink checks passed on MATLAB R2026a
- MATLAB Code Analyzer reported zero findings in the added and changed MATLAB files
- citation metadata passed the CFF schema validator
- Markdown links passed the repository link gate
- generated social preview verified at 1280 x 640 and 86.3 kB
See the two-RC example and closed-loop converter example for equations, assumptions, usage, validation, and limitations.