1.利用命令filterDesigner启动matlab滤波器设计模块,命令行输入filterDesigner指令弹出滤波设计工具窗口。
注: fs:采样率 fpass:通带 db值为0的部分 Fstop:截至频率
2.选择低通 FIR 等波纹,指定使用的阶次15阶,阶次越高,效果越好。matlab自带的滤波器设计工具,可以将该设计好的滤波器变量导出至工作区,点击目标生成.c文件,滤波参数(权值)。
3.加权算法,是每一位按照权值进行相乘,然后再进行相加。
/*******************************************
功能: fir滤波 16阶
参数:orig 原始数据 fir 滤波器参数
返回:滤波后的值
*******************************************/
static float Fir_filter(float *orig, float *fir)
{
float Sum = 0;
Uint16 i = 0;
for(i = 0; i < 16; i++){
Sum += orig[i] * fir[i]; /*fir滤波*/
}
return Sum;
}