电化学工作站求峰高实现设计

​ 最近在整理去年暑假参与实现的电化学工作站项目,分享一下电化学系统中自己求峰高的设计思路。学计算机的我一开始看到电化学工作站原理真的是很懵逼,然后也去查了很多资料,还去B站看了电化学测试技术公开课,真的很感谢电化学实验的学长学姐的细心讲解原理和提需求。
视频:

电化学测试技术

这个视频老师讲的很好

以下是峰高算法设计思路

求峰高实现思路设计

1寻峰

1.1简单寻峰

针对循环伏安法测得的伏安特性曲线,以其零线为基线,以电流最大值位置为峰位置,确定峰值电流的方法为简单寻峰。由于实际实验中,基线与零线一致性很差,这种方法得到的峰高误差较大。

1.2二阶导数寻峰

导数法的基本思想是把实验所得的数据进行平滑后将其视为是一条连续的曲线。而后通过对各个数据线上的点进行求导,然后依据导数的性质确定峰值。在峰值处,一阶导数值为零,且峰值之后的数据的导数的值由正变负。一阶导数法对孤立的小峰灵敏度高,但是不能分辨重峰。在峰值处,二阶导数出现极小值,二阶导数寻峰有较好的灵敏度,且对重峰有一定的分辨能力,因此通常利用二阶导数进行寻峰。在峰值处,三阶导数为零,且峰值之后的数据的导数的值由负变正。三阶导数与一阶导数方式相似,但是计算复杂程度更高而且更为消耗时间,通常只起到辅助判断的作用。函数及其对应的各阶导数如图 1.1 所示。

img

图1.1 函数及对应的各阶导数

2.基线的确定

在确定峰值电流的过程中,基线的确定是否准确,关系到最终峰值电流的精确程度。典型循环伏安特性曲线中,正向扫描时电流的峰值(氧化峰)ip是以零线为基准求算出来的,而进行反向扫描时的表示还原峰的峰电流的求算方法则是以前一个峰的衰减线为基线,以取切线的方式得到对应的基准线。理论上正向扫描时,默认是以零线为其基准线,然而在实际的实验中得到的数据如图 2.1(a) 所示,在氧化峰出现前的一部分并非与零线保持一致。

img

图2.1(a)

img

图2.1(b) 1

如图 2.1(a)所示,数据起始段并不是完全与图 2.1(b)典型曲线一样从零处开始的,而是先快速上升而后才进入平缓的阶段。因此采用以零线为基准求算出来的峰值电流是有偏差的,因此该段对应的基线应该以其他的方式得到。

img

图2.2反向扫描时峰电流的确定

如图 2.3 所示,理论上反向扫描时峰电流的确定方法是以前一个峰的的衰减延长线以反向电势为基准对折来作为当前反向扫描时的基线。如果反向电压足够使电流趋于平缓,就可以使得反向扫描时的数据计算更为方便。

由于不能使用零线作为基准线,所以常用的方式是取峰值之前经过极速上升后进入平缓段的数据得到切线,确定为该峰对应的基线。同理,在反向峰的确定过程中,无法精确确定前一个峰的衰减线,因此也需要通过取切线的方式获得该峰的基线。所以在进行寻峰的过程中,如何准确的利用实验数据确定峰对应的基线,是寻峰最为关键的部分。

3.方案:基于拟合的寻峰算法

在数据拟合方面目前应用广泛且效果较好的 LM 算法,也是比较成熟的,而且其特点使之在应用该方法进行并非特别复杂的数据拟合时的效果是非常好的。

3.1 算法整体流程

基于拟合的寻峰算法的整体流程为:确定拟合所用函数方程、确定拟合方程参数、对数据进行拟合、根据拟合结果确定基线、根据基线计算峰高,流程图如图 3.1 所示。

img

3. 2 确定拟合函数方程

为了从循环伏安法得到的离散的非线性的数据中确定基线,采用最小二乘拟合的方法拟合具体的实验数据,给出与数据最小二乘意义上的函数方程。在得到数据的近似函数方程后,通过数学方法来得到基线,进而确定峰高。

因此应用拟合技术进行寻峰的过程中,给出合理的函数方程以及拟合参数是拟合成功的关键。进而再得到吻合的函数方程之后,依据其部分数学性质得到基线以及峰位置,最终确定峰高,完成整个寻峰过程。

拟合函数的确定是拟合成功与否的关键所在,一个符合数据特征与规律的拟合函数能够更加快速准确的拟合出方程参数。因此合理的拟合函数的设定,会起到事半功倍的效果。在对循环伏安特性曲线的拟合过程中,采用三次函数与高斯函数结合的复合函数来作为拟合函数。高斯函数及三次函数相关内容及其部分性质如下。

(1)高斯函数的函数方程如公式 3-1 所示。

img

其中 a、b 与c 为实数常数,且 a > 0,e 为自然数底数。

(2)高斯函数的部分性质:

①高斯函数在峰出现的其他位置函数值接近为零;

②高斯函数在峰之前保持单调递增性;

(3)典型的高斯函数图像如图 3.3 所示。

img

图3.3典型的高斯函数图像

三次函数及其部分性质:

(1)三次函数的函数方程如公式 3-2 所示。

img

其中a、b、c与d 为实数常数, 且a≠0。

(2)三次函数的部分性质:

①三次函数在与 X 轴只有一个交点的情况下在对称点的附近是接近线性的;

②在远离对称点的位置,曲线的上升(下降)速率很快;

③在与 X 轴只有一个交点的情况下函数单调性确定

(3)典型的三次函数的图象如图 3.4 所示。

img

图3.4 典型的三次函数图像

3.3 根据函数方程确定基线

根据直线的点斜式方程,在已知直线上一点和直线斜率的情况下,就可求得直线方程。在具体选定切点和确定切线斜率的问题上,有两种解决方法。

第一种,使用上文提到的求函数导数的方式,因为长平直部分的一阶导数基本上与基线的斜率是一致的。这一点是因为三次函数的特性以及其导函数特性决定的。拟合函数一阶导数在此处出现连续的变化极小的值且其数值在不断增大,而其二阶导函数在此处的值对应出现极小值。切点就可以通过这种方式确定到长平直范围内的一点。

第二种,实际实验数据中,长平直数据段的表现非常平稳,而且其前面的类似三次函数的极速上升阶段很短,数据量很少,拟合过程中为了避免过拟合的出现,可以直接使用线性函数与高斯函数的复合函数来拟合数据,而且理论上线性函数与高斯函数复合函数是三次函数与高斯函数的复合函数的子集。同时线性函数部分正好对应基线的数据特征,这样就可以直接根据其一次项的系数直接确定斜率

k。这样可以通过找线性部分与实验数据交点或者首先出现的差值极小点作为切点。

下面以典型的三次函数与高斯函数的复合函数拟合为例介绍具体的基线方程求算步骤:

(1)取数据平缓范围内一点为切点 ( x,y)

(2)取三次函数的一阶导函数的函数值为切线斜率 k,k 的计算方法如公式 3-4 所示。

img

(3)根据点斜式得到直线方程即为峰对应基线的方程。

基线方程计算方法如公式 3-5 所示。

img

3.4 根据基线确定峰高

电化学循环伏安法的实际反应中,峰出现的位置代表着电池内氧化还原反应的反应速率,峰的出现是由于在逐渐变大的电势的作用下,电极过程受到界面电荷转移的控制,而电势的继续变化,电极表面反应物浓度下降,故而形成电流峰。因此电流峰的出现范围是有一段接近稳态的数据段的。

实际实验数据中,在峰顶位置较宽,在峰顶范围内会出现许多连续的差别很小的数据点,在确定峰位置时,因为拟合数据段采用的是峰所在数据段最大值点数据及其前面所有部分,峰位置对应函数的最大值点。根据前面得到的基线方程,以及峰位置的 X 坐标,通过计算得到峰高。

具体求峰高的方法如下:

(1)根据拟合方程确定峰顶位置得到峰值坐标 (x,y )。

(2)将峰值坐标中的横坐标带入基线方程得到y’ ,计算方法如 3-6 所示。

img

(3)根据峰值坐标中的纵坐标已经步骤 2 中得到的y ',计算峰高 H,计算方法如公式 3-7 所示.

img

在峰高 H 计算完成后,通过峰高的值,可以很容易的找到半峰电以及峰左界的位置,整个寻峰过程完成,得到了对应实验数据的高斯峰相关数据。

参考文献:

[1]刘伟硕. 基于拟合的电化学寻峰算法的研究与实现[D].东北师范大学,2017.[康1]

[2]代燕. 基于电化学参数分析的便携式恒电位仪系统设计及应用[D].杭州电子科技大学,2020.

[3]电化学分析ppt.豆丁网.第六章极谱定量方法118页极谱定量依据

[4]电化学表征方法.百度文库. 基本原理

[5]贾铮. 电化学测量方法[M].北京:,化学工业出版社, 2006.、、


=rrela)

[4]电化学表征方法.百度文库. 基本原理

[5]贾铮. 电化学测量方法[M].北京:,化学工业出版社, 2006.、、


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值