https://zhuanlan.zhihu.com/p/271154535
https://blog.youkuaiyun.com/richardgann/article/details/78780040
一、限幅滤波法
优点
- 能有效克服因偶然因素引起的脉冲干扰
缺点
- 无法抑制那种周期性的干扰,且平滑度差
/*
1、限幅滤波
A值可根据实际情况进行调整
value为有效值,new_value为当前采样值
滤波程序返回有效的真实值
*/
#define A 10 // 两次采样允许的最大偏差值
char value;// 最近一次有效的采样值
char Filter_Value;
void main()
{
Filter_Value = filter();
value = Filter_Value;
}
char filter(void){
char new_value;
new_value = get_ad();
if((new_value-value>A)||(value-new_value>A)){
return value;
}else{
return new_value;
}
}
二、中位值滤波法
优点
- 能有效克服因偶然因素引起的波动干扰;
- 对温度、液位等变化缓慢的被测参数有良好的滤波效果。
缺点
- 对流量,速度等快速变化的参数不宜。
/*
/*
2、中位值滤波法
N值可根据实际情况调整
排序采用冒泡法(实际情况用快排会好一点)
*/
#define N 11
char filter(void) {
char value_buf[N];
char i, j, temp;
for(i = 0; i < N; i++) {
value_buf[i] = get_ad();
delay();
}
for(j = 0; j < N - 1; j++) {
for(i = 0; i < N - j; i++) {
if(value_buf[i] > value_buf[i + 1]) {
temp = value_buf[i];
value_buf[i] = value_buf[i + 1];
value_buf[i + 1] = temp;
}
}
}
return value_buf[(N - 1) / 2];
}
三、算术平均滤波法
定义
- 连续取N个采样值进行算术平均运算。
优点
- 适用于对一般具有随机干扰的信号进行滤波。
- 这种信号的特点是有一个平均值,信号在某一数值范围附近上下波动。
缺点
- 对于测量速度较慢或要求数据计算较快的实时控制不适用。
*/
#define N 11
char filter(void) {
int sum

本文详细介绍了限幅滤波、中位值滤波、算术平均、递推平均、中位值平均、低通滤波、加权递推、消抖及限幅消抖等滤波方法,针对不同类型的干扰和应用场景提供了解决方案。特别强调了每种方法的优点和缺点,适合信息技术领域的噪声抑制与信号处理。
最低0.47元/天 解锁文章
2482

被折叠的 条评论
为什么被折叠?



