在单片机进行数据采样时,有一些干扰我们是捕捉不到了。为了观察方便我们经常会把采集到的数据保存进行绘图处理,绘图我们可以将数据通过串口发送给PC端的上位机处理也可以通过单片机直接将数据显示出来,下面是将AD采样的数据保存然后使用Segger公司针对嵌入式平台开发的稳定、高效的图形软件库emwin在LCD上显示的图像:
为了减小干扰对数据采集的影响,通道要对采集的数据进行数字滤波处理
常见的滤波方法及优缺点如下表所示:
对采集的数据进行滤波处理后,再对滤波后的数据进行计算会是结果更加的准确。对上图的曲线如果我们要求峰的面积就可以进行积分运算
如上图所示:确定峰宽之后,峰的面积=梯形的面积(图中红色区域)-小梯形的面积(图中蓝色区域)。根据微积分可将蓝色区域的面积分割为(X2-X1)即峰宽个高为1小梯形的面积之和,而大梯形的面积=(Y1+Y2)*(X2-X1)/2;
在实际应用中确定了峰的位置和峰宽之后,我们就可以在采集的数组中找到对应的Y1。Y2,具体算法如下:
adc_data :ADC采样数据数组
Curve_Area 小梯形面积
Ladder_Are 大梯形面积
All_Area: 曲线面积
for(i=x1;i<x2;i++)
{
Curve_Area=Curve_Area+(adc_data[i]+adc_data[i+1])/2;
}
Ladder_Area=(adc_data[x1]+adc_data[x2]) *(x2-x1)/2
All_Area=Ladder_Area-Curve_Area;