把循环仪导出的电压—容量数据转成 dQ/dV 增量容量曲线。dQ/dV 的峰对应电极材料的相变;峰随循环的移动、变矮和合并,是判断退化模式(活性物质损失、可用锂损失、阻抗增长)最直接的非侵入手段。
文件不会上传。解析、求导、平滑和绘图全部在你本机浏览器里完成,这个工具没有任何网络请求。
为什么求导之后必须平滑
dQ/dV 在算术上只是一个差分,但直接对实测数据逐点求导,得到的几乎是纯噪声——容量的测量精度有限,而相邻两点的电压差很小,两者相除会把噪声放大若干个数量级。真正携带诊断信息的峰,只在平滑之后才显现。
这就带来一个必须自己权衡的问题:窗口宽到足以让峰显现,就宽到足以让峰移位。而峰位移动恰恰是人们随后用来判断退化的依据。所以这个工具始终把原始曲线画在平滑曲线下面,并且把窗口和多项式阶数暴露出来让你调——而不是藏在一个固定默认值后面,让你以为峰本来就那么干净。
平滑用的是 Savitzky–Golay:在滑动窗口内做多项式最小二乘拟合。阶数取 0 时它精确退化为移动平均;取 2 或 3 时能在压制噪声的同时保住峰高,而移动平均会把峰压平。可以把阶数在 0 和 2 之间来回切,直接看峰高的差别。
序列的首尾各半个窗口也做了平滑,用的是同一个窗口的拟合多项式在偏心位置求值。很多实现在这里直接把原始点抄过去,代价是”平滑后”的曲线里混着没平滑的点,而峰检测分不出这个区别——端点的噪声会被当成相变峰报出来。
峰是按什么判出来的
判据是突出度(prominence),不是绝对高度:一个局部极大值要算峰,它必须比两侧下降到再次爬升之前的谷底高出整条曲线幅度的 15% 以上。
用绝对高度做门槛看着更直觉,但它把峰高和它脚下基线的高度混在一起了。基线本身叠上噪声就可能冲过门槛,而那个包相对周围只鼓起一点点,根本不是相变。换成突出度之后,噪声包和真峰之间通常差一个数量级,门槛定在哪里都不敏感。
两种求导方式该选哪个
| 方式 | 适用 | 问题 |
|---|---|---|
| 固定电压分箱(默认) | 循环仪导出的常规数据 | 分箱宽度太大会抹掉靠得近的峰 |
| 逐点中心差分 | 电压等间隔、噪声很低的数据 | 对不均匀采样极敏感,会产生大量假尖峰 |
默认用分箱,是因为循环仪的电压采样几乎从不均匀——恒流段电压变化慢、采样密,接近截止时变化快、采样疏。逐点差分会把这种疏密差异直接当成斜率变化,画出一条毛刺曲线。
分箱的实现上有个容易写错的细节:不能拿箱内容量的极差去除以标称箱宽。采样稀疏时箱内样本可能只跨了箱宽的 80%,这么算出来的斜率会系统性偏低那 20%。正确做法是把箱内相邻样本对的 ΔQ 和 ΔV 各自累加再相除,分母永远是真实跨度。
输入格式
- 两列数值:电压(V)和容量(Ah 或 mAh 都可以,纵轴单位随输入而定)。
- 分隔符支持逗号、制表符和分号,会自动判断。
- 有无表头都可以。表头存在时会自动猜测哪一列是电压、哪一列是容量,猜错了可以在下拉框里改。
- 夹在数据中间的注释行、单位行会被跳过——任一列不是数值的行整行丢弃。
- 只放单次充电或单次放电。把充放电混在一起,容量会折返,导数在折返点处没有意义。
可能的失败情况
- 曲线全是毛刺:多半是选了逐点差分而数据采样不均匀。换成分箱。
- 一个峰都没有:平滑半窗太大,峰被抹平了。往小调,同时把阶数设为 2。也可能是整条曲线幅度本来就小,突出度门槛按幅度的比例算,抬不过去。
- 峰的位置随平滑参数明显漂移:这说明这个峰在当前数据的信噪比下并不稳健,不要拿它去做定量比较。这是工具在如实反映数据质量,不是故障。
- 解析不出数据:检查是不是导出文件带了多行表头,或者数值用了逗号作小数点。
- 电压平台(ΔV = 0)处的点会被跳过,因为那里的导数在数学上没有定义。
相关文章
- EIS 阻抗数据与标签设计:另一种非侵入诊断手段,以及它同样存在的可辨识性问题。
- 训练 SOH 与 RUL 预测模型:dQ/dV 提取的峰特征常被用作这类模型的输入。
- PyBaMM 架构与求解器选型:如果你要从仿真而不是实测得到这类曲线。
- 实用功能:站点内其他浏览器端工具。
