《Bulletin of the Korean Chemical Society》:pyFDRT: An open-source Python tool for Fourier-transform analysis of the distribution of relaxation times in electrochemical impedance spectra
编辑推荐:
电化学阻抗谱(Electrochemical impedance spectroscopy, EIS)广泛用于表征电化学系统。然而,解释重叠的弛豫过程通常需要事先了解待研究体系。尽管弛豫时间分布(distribution of relaxation times
电化学阻抗谱(Electrochemical impedance spectroscopy, EIS)广泛用于表征电化学系统。然而,解释重叠的弛豫过程通常需要事先了解待研究体系。尽管弛豫时间分布(distribution of relaxation times, DRT)分析可对这些过程进行解卷积,但结果仍对用户定义的选择敏感,包括离散基(discretization basis)、正则化强度(regularization strength)和峰识别(peak identification)。研究人员提出pyFDRT,一个用于傅里叶变换DRT分析的开源Python软件包,可完全自动化这些参数选择。该工作流程首先使用傅里叶变换解卷积估计DRT,无需离散化或正则化参数。随后,使用非负最小二乘(non-negative least squares, NNLS)结合自动Tikhonov正则化对该初始估计进行精修。然后使用解析ZARC核(电阻与常相位元件(constant phase element, CPE)并联)确定弛豫过程数量。与现有基于Python的DRT工具进行基准评估表明,pyFDRT能始终从理论谱中恢复正确的弛豫过程数量。此外,由扩散过程引起的Warburg开路行为可在DRT计算过程中自动识别或由用户指定。
电化学阻抗谱(EIS)广泛用于表征能源存储与转换器件中的电化学反应过程,包括锂离子电池、燃料电池、超级电容器和热电转换器。EIS谱包含离子传导、电荷转移、传质限制、界面电阻和电容等信息,通常通过等效电路拟合提取。正确确定等效电路是解释EIS谱的前提。然而,多个弛豫现象重叠且各具时间常数,使EIS谱深入解释困难。弛豫时间分布(DRT)分析通过解卷积时间常数帮助确定等效电路,但DRT对信噪比敏感且为不适定问题,可能产生多个解。现有工具如MATLAB和Python的DRTtools、GP-DRT、贝叶斯混合方法、web DRTtools、pyimpspec、bayes-drt2、DFRTtoEIS、RelaxIS和EIS Studio等,虽可自动选择正则化参数,但分析者仍需手动选择离散基及其形状参数。早期傅里叶变换解卷积由Ivers-Tiffée和Boukamp研究组提出,不需先验假设,但要求宽频EIS谱和傅里叶域充分滤波,且滤波阈值由测量噪声底决定而非主观偏好;上述软件包未实现傅里叶路线。为此,研究人员提出pyFDRT,结合傅里叶变换解卷积、正则化非负精修和信息准则模型选择,旨在全自动选择参数并可靠提取等效电路。
研究人员开展的研究是:构建pyFDRT开源Python工具,其工作流程包括数据加载、预处理(Kramers–Kronig(KK)验证、电感校正、外推、插值)、基于傅里叶变换解卷积与Wiener滤波的DRT计算、非负最小二乘(NNLS)精修、后处理(DRT峰搜索、Warburg开路识别后等效电路参数估计、阻抗重构比较)和Excel结果导出。核心引擎可通过图形用户界面(GUI)和脚本接口运行,结果一致。数据加载支持CSV/text、列标记文本及ZView/Scribner(.z)等格式,自动检测列顺序并执行?Z″符号校正。KK验证连接实部和虚部;电感校正用最小二乘拟合测量与KK预测虚部偏差,扣除电感并排除校正后仍为正的虚部点。仅警告的有效性门以|Z|归一化KK残差判断:低于0.5%视为可靠,单点超过1.5%触发警告但不拒绝运行。由于傅里叶变换DRT要求足够宽频率范围,pyFDRT将谱外推;可选对数频率线性外推或系列RC模型拟合,默认根据弧闭合诊断和RC系列模型失配自动选择。随后在log
10 f上重采样至均匀网格,点数两倍,以满足离散傅里叶变换要求。傅里叶解卷积不需离散基或正则化参数,但分母快速衰减放大噪声;pyFDRT采用Wiener滤波,从变换核估计信号密度,并通过闭环在平台两侧两个数量级内优化噪声幅度以最小化重构残差。零填充和Hamming窗进一步抑制泄漏与边缘振铃。NNLS精修通过非负双正则化最小二乘在Debye核上求解,采用二阶有限差分算子和有界变量最小二乘算法,分两遍以傅里叶DRT为先验、再以前遍输出为先验;平滑参数λ由L曲线准则在50个对数值中选择。后处理中,低频扩散检测采用自动尾切算法,从低频边缘向内扫描,在边界上升超过最大分布值5%、点对点噪声阈值2%前设截断边界,更新模型选择样本数并约束种子参数。若检测到扩散,有限长度Warburg开路元件与弛豫基同时求解,并通过三个诊断约束防止假阳性:Warburg幅值需超过峰值测量阻抗幅值的10
?3;评估参数可识别性;窗口充分性要求尾切后时间常数网格不少于5点、测量数据点不少于8个,否则回退全谱。DRT峰搜索以解析ZARC核(电阻与常相位元件(CPE)并联)分解精修分布,每个核含幅度、位置和指数三参数,候选位置取自局部极大值,混合核拟合后用贝叶斯信息准则(BIC)或校正赤池信息准则评分,并丢弃贡献小于主电阻2%的分量。等效电路提取则将每个分辨峰直接拟合到由欧姆电阻和系列电阻-CPE元件组成的电路,报告参数并重构阻抗。
关键技术方法概括(不超过250字):研究人员采用pyFDRT默认配置自动批处理,在Python 3.11、NumPy 2.4、SciPy 1.17环境运行;流程包括数据加载与预处理(Kramers–Kronig(KK)验证、电感校正、外推、插值)、傅里叶变换解卷积与Wiener滤波、非负最小二乘(NNLS)精修及L曲线Tikhonov正则化、ZARC核峰搜索与信息准则模型选择、Warburg开路检测与尾切、等效电路提取。基准样本队列来自pyDRTtools库(9个合成和2个锂离子电池(LIB)谱)和EISART库(9个样本谱,含4个固体氧化物燃料电池(SOFC)测量),共20个谱。
研究结果:
Synthetic equivalent circuit of R
1(R
2CPE
1)(R
3CPE
2):对R
1=5 kΩ、R
2=10 kΩ并联CPE
1(Q
1=1×10
?6 S·s
φ,φ
1=0.75)、R
3=20 kΩ并联CPE
2(Q
2=2×10
?8 S·s
φ,φ
2=0.85)的合成谱,在10
5–10
?1 Hz范围以默认配置分析。KK验证通过,平均偏差0.07% |Z|,最大单点0.29%;无电感尾,两端闭合,采用线性外推。傅里叶解卷积与Wiener滤波给出初始DRT,NNLS精修中L曲线选λ=1.62;未识别Warburg开路。DRT恰好解析两个峰,对应两个R-CPE单元,分析耗时1.0 s。由精修DRT重构阻抗与输入平均差0.43%,由提取等效电路参数重构差0.98%。提取参数恢复输入值:两个时间常数在6%内,R
1+R
2+R
3为35.01 kΩ,真值35.00 kΩ,偏差0.04%。R
∞高估3.4%,因最高测量频率虚部降至最大值6.9%,低于15%弧闭合阈值,R
∞取实部最小值,仍含部分快弧。R
3CPE
2的Q低11.3%,但其电阻、时间常数和指数在3.4%内;Q与指数耦合,不应作为短时间常数元素的独立精度指标,物理有意义的(τ, φ)在6%内恢复。滤波器比较显示,tanh W(5, 1)在|s|=5.0半衰,允许发散尾部导致伪结构;cosine W(1)在|s|=0.95半衰,过度平滑并合并两个弛豫;自动Wiener滤波在|s|=3.4半衰,分辨两个弛豫并跟随理论DRT。pyFDRT由变换谱噪声底确定滤波宽度,傅里叶步骤无需用户定义参数。
Comparison with other Python-based DRT programs:用11个已知理论DRT和时间常数的阻抗谱比较pyFDRT、pyDRTtools、bayes-drt2和pyimpspec。pyFDRT用默认配置,对比程序用最准确可执行模式:pyDRTtools用一阶惩罚和L曲线超参数规则;bayes-drt2用无Stan的ridge模式,但在4/17谱失败;pyimpspec用TR-RBF模式。七个两过程谱中慢电阻变化20倍,当弛豫过程分隔三个decade时分布接近理论DRT。四个单过程谱中所有程序成功恢复理论DRT;两个理想RC数据集理论分布为Dirac delta函数,返回单窄峰,加三个离群点仍如此。pyFDRT在所有数据集报告正确过程数。定量比较中,pyFDRT默认下R
pol误差1.08%、g(τ)误差16.6%、τ误差6.4%、耗时0.73 s;pyDRTtools分别为1.24%、11.7%、2.8%、0.48 s;bayes-drt2为0.99%、24.9%、1.3%、0.13 s;pyimpspec为0.66%、17.6%、4.3%、0.20 s。pyFDRT时间常数误差最大,但来自单个网格步而非系统偏差;精修分布为10点/decade,11谱中6个峰最大落在最近真实时间常数节点,误差仅0.4%,其余5个移向相邻节点(0.1 decade),由基准文件复高斯噪声(标准差0.5 Ω)引起;无噪声解析测试中每个峰最大落在正确节点。pyFDRT不直接从网格读取最终时间常数,而是拟合解析ZARC核到整个峰,11谱上时间常数精度1.7%。实测谱中,button SOFC阻抗欧姆级,高频弧不闭合,pyFDRT报告0.35和26 ms两个过程,其他程序类似,但pyDRTtools和pyimpspec显示约30 μs额外快峰,bayes-drt2该峰不显著。4×4 cm
2 SOFC阻抗毫欧级且高频电感,pyFDRT报告23 μs、8.5 ms和50 ms三个过程;分布含四个局部极大,但模型选择保留三个,增加0.21 ms峰虽降低残差平方和13%,BIC增益7.9,但3 ln N=12.1惩罚使BIC偏好三个核。LIB_data和LIB_data_2阻抗毫欧级,高频电感和低频Warburg开路。LIB_data中pyFDRT报告0.67 ms、6.4 ms、0.14 s、30.2 s四个弛豫过程及联合拟合Warburg开路元件,30.2 s峰在测量时间常数窗口内,故不截断低频,保留为弛豫峰。LIB_data_2中pyFDRT报告0.65、3.8、94 ms三个过程,检测Warburg开路尾并尾切于τ=0.50 s,排除0.32 Hz以下点。两个平面SOFC阻抗毫欧级,最高频实部因电感为负;planar sofc1中pyFDRT报告27 μs、3.3 ms、0.14 s三个过程,排除约2 μs快边缘最大;planar sofc2作为低质量阴性对照,KK验证平均偏差4.8%、最大单点30%,pyFDRT报告单一过程7.3 ms,手动峰拟合确认0.12、1.1、73 ms三个峰,表明自动默认保守,分析者可在先验知识支持下细化分解。
Future work:为未来算法增强,将限制分为边界案例,通过改变噪声水平、时间常数分离、ZARC指数、点密度和频率窗宽五个参数评估。时间常数分离低于约0.5 decade导致峰合并;当前框架假设主要为对称弛豫,Havriliak–Negami形式非对称分布由对称核表示,单指数需承担宽度和偏斜;最低采样密度需10点/decade,5点/decade诱导伪卫星峰;自动正则化可能对低频边界噪声慢弧欠平滑;不完整高频弧在解耦体相与欧姆电阻时引入小不确定性,但总和准确;低频弧不完整时其后特征无法可靠确定,软件将参数标记为边界限制。扩展核至Havriliak–Negami形式是未来核心目标。
讨论与结论翻译:pyFDRT提供开源工作流,将测量阻抗谱转换为定量等效电路。其全自动参数选择消除主观分析者决策。初始傅里叶变换阶段无需离散化或正则化参数恢复DRT,并通过最小化重构误差优化单一滤波器;非负精修随后用L曲线准则应用Tikhonov正则化;最后通过解析ZARC核上的信息准则模型选择确定弛豫过程数量。软件内置KK验证、电感校正和测量频率窗外推。由于工作流确定且由固定回归套件验证,结果在不同用户和平台间可重现。基准表明pyFDRT在合成电路上恢复总电阻至0.04%以内,并在四个测试Python工具中于全部11个基准谱上唯一识别正确弛豫过程数。未来工作将把峰基扩展至Havriliak–Negami形式以处理非对称分布,纳入不确定性量化,并整合复数非线性最小二乘电路拟合模块。