最近采集压力传感器的电压信号,采集到的数据波动挺大的,所以采用滤波的方法进行处理一下。
因为在matlab中依靠matlab的画图函数很容易看到滤波后的数据图像,进而验证滤波效果。
所以首先将采集到的原始数据保存到TXT文档里面,然后导入到matlab中,在matlab中对数据进行滤波。
在matlab中采用了三种滤波方法:1、滑动平均滤波 2、中值滤波 3、卡尔曼滤波
在对比了三种滤波之后的图像之后,选择了第一种滑动平均滤波的方法。在matlab中有专门的函数:smooth(变量),但是我们要用C语言实现这个功能。
我依据滑动平均滤波的原理进行了程序编写,对于数据开始部分和结尾部分做了一些改变,得到的滤波效果还不错,与matlab的滤波效果差异很小。
话不多说,上代码:
#define size 6000//数组大小
#define N 12//滑动平均滤波计算平均值时所取的点数
/*上面两句在使用下面这个函数的时候加到程序的开头*/
void Smooth(float data[])
{
Sum1=0;
fo
版权声明:本文为lubilie969原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。