软件滤波方法及其优缺点

合集下载

10种经典的软件滤波办法

10种经典的软件滤波办法

10种经典的软件滤波办法1、限幅滤波法(又称程序差异滤波法)A、办法:依据履历差异,断定两次采样容许的最大过失值(设为A)每次查看到新值时差异:假定本次值与前次值之差lt;=A,则本次值有用假定本次值与前次值之差A,则本次值无效,丢掉本次值,用前次值替代本次值B、长处:能有用打败因偶尔要素致使的脉冲搅扰C、缺陷无法按捺那种周期性的搅扰滑润度差2、中位值滤波法A、办法:接连采样N次(N取奇数)把N次采样值按巨细摆放取基地值为本次有用值B、长处:能有用打败因偶尔要素致使的不坚决搅扰对温度、液位的改动缓慢的被测参数有杰出的滤波作用C、缺陷:对流量、速度等活络改动的参数不宜3、算术均匀滤波法A、办法:接连取N个采样值进行算术均匀运算N值较大时:信号滑润度较高,但活络度较低N值较小时:信号滑润度较低,但活络度较高N值的挑选:通常流量,N=12;压力:N=4B、长处:适用于对通常具有随机搅扰的信号进行滤波这么信号的特征是有一个均匀值,信号在某一数值方案邻近上下不坚决C、缺陷:关于丈量速度较慢或央求数据核算速度较快的实时操控不适用比照糟蹋RAM4、递推均匀滤波法(又称滑动均匀滤波法)A、办法:把接连取N个采样值当作一个行列行列的长度固定为N每次采样到一个新数据放入队尾,并丢掉正本队首的一次数据.(抢先先出准则)把行列中的N个数据进行算术均匀运算,就可取得新的滤波作用N值的挑选:流量,N=12;压力:N=4;液面,N=4~12;温度,N=1~4B、长处:对周期性搅扰有杰出的按捺作用,滑润度高适用于高频振动的体系C、缺陷:活络度低对偶尔呈现的脉冲性搅扰的按捺作用较差不易消除由于脉冲搅扰所构成的使的采样值过失不适用于脉冲搅扰比照严峻的场合比照糟蹋RAM5、中位值均匀滤波法(又称防脉冲搅扰均匀滤波法)A、办法:恰当于中位值滤波法+算术均匀滤波法接连采样N个数据,去掉一个最大值和一个最小值然后核算N-2个数据的算术均匀值N值的挑选:3~14B、长处:交融了两种滤波法的长处关于偶尔呈现的脉冲性搅扰,可消除由于脉冲搅扰所构成的使的采样值过失C、缺陷:丈量速度较慢,和算术均匀滤波法相同比照糟蹋RAM6、限幅均匀滤波法A、办法:恰当于限幅滤波法+递推均匀滤波法每次采样到的新数据抢先行限幅处理,再送入行列进行递推均匀滤波处理B、长处:交融了两种滤波法的长处关于偶尔呈现的脉冲性搅扰,可消除由于脉冲搅扰所构成的使的采样值过失C、缺陷:比照糟蹋RAM7、一阶滞后滤波法A、办法:取a=0~1本次滤波作用=(1-a)*本次采样值+a*前次滤波作用B、长处:对周期性搅扰具有杰出的按捺作用适用于不坚决频率较高的场合C、缺陷:相位滞后,活络度低滞后程度取决于a值巨细。

滤波各种算法优缺点

滤波各种算法优缺点

滤波关键看你什么应用!采样频率,这个方法很多的。

以下仅供参考:1、限幅滤波法(又称程序判断滤波法)A、方法:根据经验判断,确定两次采样允许的最大偏差值(设为A)每次检测到新值时判断:如果本次值与上次值之差<=A,则本次值有效如果本次值与上次值之差>A,则本次值无效,放弃本次值,用上次值代替本次值B、优点:能有效克服因偶然因素引起的脉冲干扰C、缺点无法抑制那种周期性的干扰平滑度差2、中位值滤波法A、方法:连续采样N次(N取奇数)把N次采样值按大小排列取中间值为本次有效值B、优点:能有效克服因偶然因素引起的波动干扰对温度、液位的变化缓慢的被测参数有良好的滤波效果C、缺点:对流量、速度等快速变化的参数不宜3、算术平均滤波法A、方法:连续取N个采样值进行算术平均运算N值较大时:信号平滑度较高,但灵敏度较低N值较小时:信号平滑度较低,但灵敏度较高N值的选取:一般流量,N=12;压力:N=4B、优点:适用于对一般具有随机干扰的信号进行滤波这样信号的特点是有一个平均值,信号在某一数值范围附近上下波动C、缺点:对于测量速度较慢或要求数据计算速度较快的实时控制不适用比较浪费RAM4、递推平均滤波法(又称滑动平均滤波法)A、方法:把连续取N个采样值看成一个队列队列的长度固定为N每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据.(先进先出原则) 把队列中的N个数据进行算术平均运算,就可获得新的滤波结果N值的选取:流量,N=12;压力:N=4;液面,N=4~12;温度,N=1~4B、优点:对周期性干扰有良好的抑制作用,平滑度高适用于高频振荡的系统C、缺点:灵敏度低对偶然出现的脉冲性干扰的抑制作用较差不易消除由于脉冲干扰所引起的采样值偏差不适用于脉冲干扰比较严重的场合比较浪费RAM5、中位值平均滤波法(又称防脉冲干扰平均滤波法)A、方法:相当于“中位值滤波法”+“算术平均滤波法”连续采样N个数据,去掉一个最大值和一个最小值然后计算N-2个数据的算术平均值N值的选取:3~14B、优点:融合了两种滤波法的优点对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差C、缺点:测量速度较慢,和算术平均滤波法一样比较浪费RAM6、限幅平均滤波法A、方法:相当于“限幅滤波法”+“递推平均滤波法”每次采样到的新数据先进行限幅处理,再送入队列进行递推平均滤波处理B、优点:融合了两种滤波法的优点对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差C、缺点:比较浪费RAM7、一阶滞后滤波法A、方法:取a=0~1本次滤波结果=(1-a)*本次采样值+a*上次滤波结果B、优点:对周期性干扰具有良好的抑制作用适用于波动频率较高的场合C、缺点:相位滞后,灵敏度低滞后程度取决于a值大小不能消除滤波频率高于采样频率的1/2的干扰信号8、加权递推平均滤波法A、方法:是对递推平均滤波法的改进,即不同时刻的数据加以不同的权通常是,越接近现时刻的数据,权取得越大。

通用 十种软件滤波算法

通用 十种软件滤波算法
value_buf[i+1] = temp;
}
}
}
return value_buf[(N-1)/2];
}
3、算术平均滤波法
A、方法:
连续选取N个采样值进行算术平均运算
N值较大时:信号平滑度较高,但灵敏度低
N值较小时:信号平滑度较低,但是灵敏度高
N值得选取:一般流量,N=12,压力:N= 4
int sum = 0;
for(count = 0;count < N;count++)
{
value_buf = get_ad();
delay();
{
temp = value_buf;
value_buf = value_buf[i+1];
测量数度慢,和算术平均滤波一样
浪费RAM
#define N 12
char filter()
{
char count,i,j;
char value_buf[N];
return value;
return new_value;
}
2、中位值滤波法
A、方法:
连续采样N次(N取奇数)
把N次采样值按大小排列
B、优点
对周期性干扰有良好的抑制作用,平滑度高
适用于高频振荡的系统
C、缺点
灵敏度低
对偶然出现的脉冲性干扰抑制作用较差
不宜消除由于脉冲值干扰引起的采样值偏差
不适用与脉冲干扰比较严重的场合
{
for(i = 0 ;i < N;i++)
{
if(value_buf > value_buf[i+1])

软件滤波方法及其优缺点

软件滤波方法及其优缺点

软件滤波方法及其优缺点1、限幅滤波法(又称程序判断滤波法)A、方法:根据经验判断,确定两次采样允许的最大偏差值(设为A)每次检测到新值时判断:如果本次值与上次值之差<=A,则本次值有效如果本次值与上次值之差>A,则本次值无效,放弃本次值,用上次值代替本次值 B、优点:能有效克服因偶然因素引起的脉冲干扰C、缺点无法抑制那种周期性的干扰平滑度差2、中位值滤波法A、方法:连续采样N次(N取奇数)把N次采样值按大小排列取中间值为本次有效值B、优点:能有效克服因偶然因素引起的波动干扰对温度、液位的变化缓慢的被测参数有良好的滤波效果C、缺点:对流量、速度等快速变化的参数不宜3、算术平均滤波法A、方法:连续取N个采样值进行算术平均运算N值较大时:信号平滑度较高,但灵敏度较低N值较小时:信号平滑度较低,但灵敏度较高N值的选取:一般流量,N=12;压力:N=4B、优点:适用于对一般具有随机干扰的信号进行滤波这样信号的特点是有一个平均值,信号在某一数值范围附近上下波动C、缺点:对于测量速度较慢或要求数据计算速度较快的实时控制不适用比较浪费RAM4、递推平均滤波法(又称滑动平均滤波法)A、方法:把连续取N个采样值看成一个队列队列的长度固定为N每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据.(先进先出原则)把队列中的N个数据进行算术平均运算,就可获得新的滤波结果N值的选取:流量,N=12;压力:N=4;液面,N=4~12;温度,N=1~4B、优点:对周期性干扰有良好的抑制作用,平滑度高适用于高频振荡的系统C、缺点:灵敏度低对偶然出现的脉冲性干扰的抑制作用较差不易消除由于脉冲干扰所引起的采样值偏差不适用于脉冲干扰比较严重的场合比较浪费RAM5、中位值平均滤波法(又称防脉冲干扰平均滤波法)A、方法:相当于“中位值滤波法”+“算术平均滤波法”连续采样N个数据,去掉一个最大值和一个最小值然后计算N-2个数据的算术平均值N值的选取:3~14B、优点:融合了两种滤波法的优点对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差C、缺点:测量速度较慢,和算术平均滤波法一样比较浪费RAM6、限幅平均滤波法A、方法:相当于“限幅滤波法”+“递推平均滤波法”每次采样到的新数据先进行限幅处理,再送入队列进行递推平均滤波处理B、优点:融合了两种滤波法的优点对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差C、缺点:比较浪费RAM7、一阶滞后滤波法A、方法:取a=0~1本次滤波结果=(1-a)*本次采样值+a*上次滤波结果B、优点:对周期性干扰具有良好的抑制作用适用于波动频率较高的场合C、缺点:相位滞后,灵敏度低滞后程度取决于a值大小不能消除滤波频率高于采样频率的1/2的干扰信号8、加权递推平均滤波法A、方法:是对递推平均滤波法的改进,即不同时刻的数据加以不同的权通常是,越接近现时刻的数据,权取得越大。

[整理]11种经典软件滤波的原理和实现

[整理]11种经典软件滤波的原理和实现

11种经典软件滤波的原理和实现整理:lab_ass boleft (ZOGLAB BBS斑竹)2003.5.23软件滤波11种软件滤波方法(这个是论坛里的经典老贴了)1、限幅滤波法(又称程序判断滤波法)A、方法:根据经验判断,确定两次采样允许的最大偏差值(设为A)每次检测到新值时判断:如果本次值与上次值之差<=A,则本次值有效如果本次值与上次值之差>A,则本次值无效,放弃本次值,用上次值代替本次值B、优点:能有效克服因偶然因素引起的脉冲干扰C、缺点无法抑制那种周期性的干扰平滑度差2、中位值滤波法A、方法:连续采样N次(N取奇数)把N次采样值按大小排列取中间值为本次有效值B、优点:能有效克服因偶然因素引起的波动干扰对温度、液位的变化缓慢的被测参数有良好的滤波效果C、缺点:对流量、速度等快速变化的参数不宜3、算术平均滤波法A、方法:连续取N个采样值进行算术平均运算N值较大时:信号平滑度较高,但灵敏度较低N值较小时:信号平滑度较低,但灵敏度较高N值的选取:一般流量,N=12;压力:N=4B、优点:适用于对一般具有随机干扰的信号进行滤波这样信号的特点是有一个平均值,信号在某一数值范围附近上下波动C、缺点:对于测量速度较慢或要求数据计算速度较快的实时控制不适用比较浪费RAM4、递推平均滤波法(又称滑动平均滤波法)A、方法:把连续取N个采样值看成一个队列队列的长度固定为N每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据.(先进先出原则)把队列中的N个数据进行算术平均运算,就可获得新的滤波结果N值的选取:流量,N=12;压力:N=4;液面,N=4~12;温度,N=1~4 B、优点:对周期性干扰有良好的抑制作用,平滑度高适用于高频振荡的系统C、缺点:灵敏度低对偶然出现的脉冲性干扰的抑制作用较差不易消除由于脉冲干扰所引起的采样值偏差不适用于脉冲干扰比较严重的场合比较浪费RAM5、中位值平均滤波法(又称防脉冲干扰平均滤波法)A、方法:相当于“中位值滤波法”+“算术平均滤波法”连续采样N个数据,去掉一个最大值和一个最小值然后计算N-2个数据的算术平均值N值的选取:3~14B、优点:融合了两种滤波法的优点对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差C、缺点:测量速度较慢,和算术平均滤波法一样比较浪费RAM6、限幅平均滤波法A、方法:相当于“限幅滤波法”+“递推平均滤波法”每次采样到的新数据先进行限幅处理,再送入队列进行递推平均滤波处理B、优点:融合了两种滤波法的优点对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差C、缺点:比较浪费RAM7、一阶滞后滤波法A、方法:取a=0~1本次滤波结果=(1-a)*本次采样值+a*上次滤波结果B、优点:对周期性干扰具有良好的抑制作用适用于波动频率较高的场合C、缺点:相位滞后,灵敏度低滞后程度取决于a值大小不能消除滤波频率高于采样频率的1/2的干扰信号8、加权递推平均滤波法A、方法:是对递推平均滤波法的改进,即不同时刻的数据加以不同的权通常是,越接近现时刻的数据,权取得越大。

滤波各种算法优缺点

滤波各种算法优缺点

1、限幅滤波法(又称程序判断滤波法)A、方法:根据经验判断,确定两次采样允许的最大偏差值(设为A)每次检测到新值时判断:如果本次值与上次值之差<=A,则本次值有效如果本次值与上次值之差>A,则本次值无效,放弃本次值,用上次值代替本次值B、优点:能有效克服因偶然因素引起的脉冲干扰C、缺点无法抑制那种周期性的干扰平滑度差2、中位值滤波法A、方法:连续采样N次(N取奇数)把N次采样值按大小排列取中间值为本次有效值B、优点:能有效克服因偶然因素引起的波动干扰对温度、液位的变化缓慢的被测参数有良好的滤波效果C、缺点:对流量、速度等快速变化的参数不宜3、算术平均滤波法A、方法:连续取N个采样值进行算术平均运算N值较大时:信号平滑度较高,但灵敏度较低N值较小时:信号平滑度较低,但灵敏度较高N值的选取:一般流量,N=12;压力:N=4B、优点:适用于对一般具有随机干扰的信号进行滤波这样信号的特点是有一个平均值,信号在某一数值范围附近上下波动C、缺点:对于测量速度较慢或要求数据计算速度较快的实时控制不适用比较浪费RAM4、递推平均滤波法(又称滑动平均滤波法)A、方法:把连续取N个采样值看成一个队列队列的长度固定为N每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据.(先进先出原则) 把队列中的N个数据进行算术平均运算,就可获得新的滤波结果N值的选取:流量,N=12;压力:N=4;液面,N=4~12;温度,N=1~4B、优点:对周期性干扰有良好的抑制作用,平滑度高适用于高频振荡的系统C、缺点:灵敏度低对偶然出现的脉冲性干扰的抑制作用较差不易消除由于脉冲干扰所引起的采样值偏差不适用于脉冲干扰比较严重的场合比较浪费RAM5、中位值平均滤波法(又称防脉冲干扰平均滤波法)A、方法:相当于“中位值滤波法”+“算术平均滤波法”连续采样N个数据,去掉一个最大值和一个最小值然后计算N-2个数据的算术平均值N值的选取:3~14B、优点:融合了两种滤波法的优点对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差C、缺点:测量速度较慢,和算术平均滤波法一样比较浪费RAM6、限幅平均滤波法A、方法:相当于“限幅滤波法”+“递推平均滤波法”每次采样到的新数据先进行限幅处理,再送入队列进行递推平均滤波处理B、优点:融合了两种滤波法的优点对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差C、缺点:比较浪费RAM7、一阶滞后滤波法A、方法:取a=0~1本次滤波结果=(1-a)*本次采样值+a*上次滤波结果B、优点:对周期性干扰具有良好的抑制作用适用于波动频率较高的场合C、缺点:相位滞后,灵敏度低滞后程度取决于a值大小不能消除滤波频率高于采样频率的1/2的干扰信号8、加权递推平均滤波法A、方法:是对递推平均滤波法的改进,即不同时刻的数据加以不同的权通常是,越接近现时刻的数据,权取得越大。

10种AD采样的软件滤波方法

10种AD采样的软件滤波方法

10种AD采样的软件滤波方法1、限幅滤波法(又称程序判断滤波法)A、方法:根据经验判断,确定两次采样允许的最大偏差值(设为A)每次检测到新值时判断:如果本次值与上次值之差<=A,则本次值有效如果本次值与上次值之差>A,则本次值无效,放弃本次值,用上次值代替本次值B、优点:能有效克服因偶然因素引起的脉冲干扰C、缺点无法抑制那种周期性的干扰平滑度差2、中位值滤波法A、方法:连续采样N次(N取奇数)把N次采样值按大小排列取中间值为本次有效值B、优点:能有效克服因偶然因素引起的波动干扰对温度、液位的变化缓慢的被测参数有良好的滤波效果C、缺点:对流量、速度等快速变化的参数不宜3、算术平均滤波法A、方法:连续取N个采样值进行算术平均运算N值较大时:信号平滑度较高,但灵敏度较低N值较小时:信号平滑度较低,但灵敏度较高N值的选取:一般流量,N=12;压力:N=4B、优点:适用于对一般具有随机干扰的信号进行滤波这样信号的特点是有一个平均值,信号在某一数值范围附近上下波动C、缺点:对于测量速度较慢或要求数据计算速度较快的实时控制不适用比较浪费RAM4、递推平均滤波法(又称滑动平均滤波法)A、方法:把连续取N个采样值看成一个队列队列的长度固定为N每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据.(先进先出原则) 把队列中的N个数据进行算术平均运算,就可获得新的滤波结果N值的选取:流量,N=12;压力:N=4;液面,N=4~12;温度,N=1~4B、优点:对周期性干扰有良好的抑制作用,平滑度高适用于高频振荡的系统C、缺点:灵敏度低对偶然出现的脉冲性干扰的抑制作用较差不易消除由于脉冲干扰所引起的采样值偏差不适用于脉冲干扰比较严重的场合比较浪费RAM5、中位值平均滤波法(又称防脉冲干扰平均滤波法)A、方法:相当于“中位值滤波法”+“算术平均滤波法”连续采样N个数据,去掉一个最大值和一个最小值然后计算N-2个数据的算术平均值N值的选取:3~14B、优点:融合了两种滤波法的优点对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差C、缺点:测量速度较慢,和算术平均滤波法一样比较浪费RAM6、限幅平均滤波法A、方法:相当于“限幅滤波法”+“递推平均滤波法”每次采样到的新数据先进行限幅处理,再送入队列进行递推平均滤波处理B、优点:融合了两种滤波法的优点对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差C、缺点:比较浪费RAM7、一阶滞后滤波法A、方法:取a=0~1本次滤波结果=(1-a)*本次采样值+a*上次滤波结果B、优点:对周期性干扰具有良好的抑制作用适用于波动频率较高的场合C、缺点:相位滞后,灵敏度低滞后程度取决于a值大小不能消除滤波频率高于采样频率的1/2的干扰信号8、加权递推平均滤波法A、方法:是对递推平均滤波法的改进,即不同时刻的数据加以不同的权通常是,越接近现时刻的数据,权取得越大。

常用7种软件滤波

常用7种软件滤波

随机误差是有随机干搅引起的,其特点是在相同条件下测量同一个量时,其大小和符号做无规则变化而无法预测,但多次测量结果符合统计规律。

为克服随机干搅引入的误差,硬件上可采用滤波技术,软件上可以采用软件算法实现数字滤波,其算法往往是系统测控算法的一个重要组成部分,实时性很强,采用汇编语言来编写。

采用数字滤波算法克服随机干搅引入的误差具有以下几个优点:(1)数字滤波无须硬件,只用一个计算过程,可靠性高,不存在阻抗匹配问题,尤其是数字滤波可以对(2(31.。

式中Yn-1——第(n-1)次采样的值;△Y——相邻两次采样值允许的最大偏差。

设R1和R2为内部RAM单元,分别存放yn-1和yn,滤波值也存放在R2单元,采用MCS-51单片机指令编写的程序判断法子程序如下:付表2.??中值滤波法即对某一参数连续采样N次(一般N为奇数),然后把N次采样值按从小到大排队,再取中间值作为本次采样值。

设DATA为存放采样值的内存单元首地址,SAMP为存放滤波值的内存单元地址,N为采样值个数,用MCS-51指令编写的中值滤波子程序如下:副表3.算术平均值滤波算法算术平均滤波法就是连续取N次采样值进行算术平均,其数学表达式是:Y=∑yi~y=1/N ∑ yii=1……N式中Yi设8下:副表4.次数N 1ROM中,5.值即可投入使用,如果取N个采样值求平均,RAM中必须开辟N个数据的暂存区。

每新采样一个数据便存入暂存区,同时去掉一个最老的数据,保持这N个数据始终是最近的数据,这种数据存放方式可以用环行队列结构方便的实现。

设环行队列为40H-4FH连续16个单元,RO作为队尾指针,滤波程序如下:副表6.低通滤波法:将普通硬件RC低通滤波器的微分方程用差分方程来表求,变可以采用软件算法来模拟硬件滤波的功能,经推导,低通滤波算法如下:Yn=a* Xn+ (1-a) *Yn-1式中??Xn——本次采样值Yn-1——上次的滤波输出值;a——滤波系数,其值通常远小于1;Yn——本次滤波的输出值。

软件滤波常见方法

软件滤波常见方法

转贴:1 模拟量和数字量一样,也是主程序结束时更新的;也就是说用plc编程是达不到很高的准确性的。

2 如果你是用模拟滤波。

那就是要再电路上加入有源或者无源滤波电路,你说得是数字滤波。

也就是用软件来实现滤波。

本质上讲不存在“采集—滤波—存储”和“采集—存储—滤波”只说。

不管什么数字滤波都是要先采集存储起来,通过一定得滤波算法得出你期望得真实值得。

3 以前有个专门得帖子说这个问题。

我转过来你看看10种软件滤波方法1、限幅滤波法(又称程序判断滤波法)A、方法:根据经验判断,确定两次采样允许的最大偏差值(设为A)每次检测到新值时判断:如果本次值与上次值之差<=A,则本次值有效如果本次值与上次值之差>A,则本次值无效,放弃本次值,用上次值代替本次值B、优点:能有效克服因偶然因素引起的脉冲干扰C、缺点无法抑制那种周期性的干扰平滑度差2、中位值滤波法A、方法:连续采样N次(N取奇数)把N次采样值按大小排列取中间值为本次有效值B、优点:能有效克服因偶然因素引起的波动干扰对温度、液位的变化缓慢的被测参数有良好的滤波效果C、缺点:对流量、速度等快速变化的参数不宜3、算术平均滤波法A、方法:连续取N个采样值进行算术平均运算N值较大时:信号平滑度较高,但灵敏度较低N值较小时:信号平滑度较低,但灵敏度较高N值的选取:一般流量,N=12;压力:N=4B、优点:适用于对一般具有随机干扰的信号进行滤波这样信号的特点是有一个平均值,信号在某一数值范围附近上下波动C、缺点:第 1 页对于测量速度较慢或要求数据计算速度较快的实时控制不适用比较浪费RAM4、递推平均滤波法(又称滑动平均滤波法)A、方法:把连续取N个采样值看成一个队列队列的长度固定为N每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据.(先进先出原则)把队列中的N个数据进行算术平均运算,就可获得新的滤波结果N值的选取:流量,N=12;压力:N=4;液面,N=4~12;温度,N=1~4 B、优点:对周期性干扰有良好的抑制作用,平滑度高适用于高频振荡的系统C、缺点:灵敏度低对偶然出现的脉冲性干扰的抑制作用较差不易消除由于脉冲干扰所引起的采样值偏差不适用于脉冲干扰比较严重的场合比较浪费RAM5、中位值平均滤波法(又称防脉冲干扰平均滤波法)A、方法:相当于“中位值滤波法”+“算术平均滤波法”连续采样N个数据,去掉一个最大值和一个最小值然后计算N-2个数据的算术平均值N值的选取:3~14B、优点:融合了两种滤波法的优点对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差C、缺点:测量速度较慢,和算术平均滤波法一样比较浪费RAM6、限幅平均滤波法A、方法:相当于“限幅滤波法”+“递推平均滤波法”每次采样到的新数据先进行限幅处理,再送入队列进行递推平均滤波处理B、优点:融合了两种滤波法的优点对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差C、缺点:比较浪费RAM第 2 页7、一阶滞后滤波法A、方法:取a=0~1本次滤波结果=(1-a)*本次采样值+a*上次滤波结果B、优点:对周期性干扰具有良好的抑制作用适用于波动频率较高的场合C、缺点:相位滞后,灵敏度低滞后程度取决于a值大小不能消除滤波频率高于采样频率的1/2的干扰信号8、加权递推平均滤波法A、方法:是对递推平均滤波法的改进,即不同时刻的数据加以不同的权通常是,越接近现时刻的数据,权取得越大。

十一种通用软件滤波算法

十一种通用软件滤波算法

十一种通用软件滤波算法滤波算法是一种常用的信号处理算法,用于去除信号中的噪声、干扰或者其他不需要的成分,以提高信号质量。

通用软件滤波算法主要用于数字信号处理,以下是十一种常见的通用软件滤波算法:1. 均值滤波算法(Mean Filtering):将输入信号的每个采样值替换为其周围邻域内所有样本的平均值。

它适用于消除高频噪声。

2. 中值滤波算法(Median Filtering):将输入信号的每个采样值替换为其周围邻域内所有样本的中值。

它适用于去除椒盐噪声。

3. 加权平均滤波算法(Weighted Mean Filtering):在均值滤波算法基础上,引入权值对周围样本进行加权平均,以便更好地保留原始信号的特征。

4. 自适应均值滤波算法(Adaptive Mean Filtering):根据信号的每个采样与周围样本的灰度差异,调整均值滤波算法的滤波参数,以提高滤波效果。

5. 高斯滤波算法(Gaussian Filtering):通过计算输入信号的每个采样与其周围邻域内各个样本之间的高斯核函数权重的加权平均来滤波信号。

6. 卡尔曼滤波算法(Kalman Filtering):根据系统状态特性和测量信息,结合时间和测量的线性状态方程,通过最小化预测误差方差来估计和滤波信号。

7. 二阶无限脉冲响应滤波器算法(IIR Filtering):基于差分方程和递归方式运算的滤波算法,具有较好的频率响应,但容易产生数值不稳定和计算复杂度高的问题。

8. 有限脉冲响应滤波器算法(FIR Filtering):基于加权线性组合的方式来滤波信号,具有稳定性好、易于实现的特点。

9. 最小均方滤波算法(Least Mean Square Filtering):通过最小化滤波器的均方误差来更新滤波器权值,以逼近滤波器的最优解。

10. 快速傅里叶变换滤波算法(FFT Filtering):利用快速傅里叶变换将信号从时域转换为频域,并利用频域上的特性进行滤波。

按键滤波方法范文

按键滤波方法范文

按键滤波方法范文按键滤波是一种用于消除在电子系统中出现的按键抖动问题的方法。

在按下或释放按键时,由于机械结构和物理特性,开关可能会产生抖动或不稳定信号,可能会引发误触。

因此,按键滤波成为了一种重要的技术手段。

本文将介绍几种常见的按键滤波方法。

一、软件滤波方法1.简单的时间延迟滤波该方法通过在按键按下或释放后加入一段时间延迟,来判断是否真正发生按键动作。

具体实现是将按键状态检测延时一段时间,比如几十毫秒,然后再次读取按键状态,若两次读取结果相同,则判断按键状态有效。

利用时间延迟进行的软件滤波方法简单易行,但存在一个问题,即在输入延迟时间内无法捕捉到短暂的按键动作。

2.边缘检测滤波该方法通过检测按键状态的变化来判断是否真正发生按键动作。

具体实现是在按键按下或释放时记录下当前时间戳,然后再次读取按键状态并记录当前时间戳,比较两次时间戳之差是否超过设定的阈值。

若超过阈值,则判断按键状态有效。

该方法能够消除按键抖动问题,同时能够捕捉到快速按键动作。

但要注意选择合适的阈值,太短的阈值容易产生误触,太长的阈值可能导致延迟感。

3.计数器滤波该方法通过对连续的按键状态进行计数,来判断是否真正发生按键动作。

具体实现是设置一个计数器,每次读取到有效按键状态后进行累加,若计数值连续达到设定的阈值,则判断按键状态有效。

计数器滤波方法是一种相对稳定的滤波方法,对抖动现象有较好的处理能力。

但在处理快速按键动作时,可能会引入非预期的延迟。

二、硬件滤波方法1.RC滤波该方法利用RC电路的特性来实现按键信号的滤波。

具体实现是在按键与MCU之间串联一个RC电路,通过RC电路的低通滤波特性来消除按键信号的高频部分。

通过调整RC电路的参数,如电阻和电容的数值,可以实现不同程度的滤波效果。

RC滤波方法能够有效地抑制按键信号的高频抖动,但在处理快速按键动作时效果较差。

2.降噪电路该方法通过在按键与MCU之间添加降噪电路,来抑制按键信号的噪声。

AD转换中常用的十种数字滤波法

AD转换中常用的十种数字滤波法

数字滤波汇总在AD采集中经常要用到数字滤波,而不同情况下又有不同的滤波需求,下面是10种经典的软件滤波方法的程序和优缺点分析:1、限幅滤波法(又称程序判断滤波法)2、中位值滤波法3、算术平均滤波法4、递推平均滤波法(又称滑动平均滤波法)5、中位值平均滤波法(又称防脉冲干扰平均滤波法)6、限幅平均滤波法7、一阶滞后滤波法8、加权递推平均滤波法9、消抖滤波法10、限幅消抖滤波法1.限副滤波1.1.方法:根据经验判断,确定两次采样允许的最大偏差值(设为A)每次检测到新值时判断:如果本次值与上次值之差<=A,则本次值有效如果本次值与上次值之差>A,则本次值无效,放弃本次值,用上次值代替本次值1.2.优点:能有效克服因偶然因素引起的脉冲干扰1.3.缺点:无法抑制那种周期性的干扰平滑度差1.4.程序:/* A值可根据实际情况调整value为有效值,new_value为当前采样值滤波程序返回有效的实际值*/#define A 10char value;char filter(){char new_value;new_value = get_ad();if ( ( new_value - value > A ) || ( value - new_value > A ) )return value;elsereturn new_value;}2.中位值滤波法2.1.方法:连续采样N次(N取奇数),把N次采样值按大小排列,取中间值为本次有效值2.2.优点:能有效克服因偶然因素引起的波动干扰,对温度、液位的变化缓慢的被测参数有良好的滤波效果2.3.缺点:对流量、速度等快速变化的参数不宜2.4.程序:/* N值可根据实际情况调整排序采用冒泡法*/#define N 11char filter(){char value_buf[N];char count,i,j,temp;for ( count=0;count<N;count++){value_buf[count] = get_ad();delay();}for (j=0;j<N-1;j++){for (i=0;i<N-j-1;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];}3.算术平均滤波法3.1.方法:连续取N个采样值进行算术平均运算N值较大时:信号平滑度较高,但灵敏度较低N值较小时:信号平滑度较低,但灵敏度较高N值的选取:一般流量,N=12;压力:N=43.2.优点:适用于对一般具有随机干扰的信号进行滤波这样信号的特点是有一个平均值,信号在某一数值范围附近上下波动3.3.缺点:对于测量速度较慢或要求数据计算速度较快的实时控制不适用比较浪费RAM3.4.程序:#define N 12char filter(){int sum = 0;for ( count=0;count<N;count++){sum + = get_ad();delay();}return (char)(sum/N);}4.递推平均滤波法(又称滑动平均滤波法)(FIR前身)4.1.方法:把连续取N个采样值看成一个队列队列的长度固定为N每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据.(先进先出原则)把队列中的N个数据进行算术平均运算,就可获得新的滤波结果N值的选取:流量,N=12;压力:N=4;液面,N=4~12;温度,N=1~44.2.优点:对周期性干扰有良好的抑制作用,平滑度高适用于高频振荡的系统4.3.缺点:灵敏度低对偶然出现的脉冲性干扰的抑制作用较差不易消除由于脉冲干扰所引起的采样值偏差不适用于脉冲干扰比较严重的场合比较浪费RAM4.4.程序:#define N 12char value_buf[N];char i=0;char filter(){char count;int sum=0;value_buf[i++] = get_ad();if ( i == N ) i = 0;for ( count=0;count<N,count++)sum+ = value_buf[count];return (char)(sum/N);}5.中位值平均滤波法(又称防脉冲干扰平均滤波法)5.1.方法:相当于“中位值滤波法”+“算术平均滤波法”连续采样N个数据,去掉一个最大值和一个最小值然后计算N-2个数据的算术平均值N值的选取:3~145.2.优点:融合了两种滤波法的优点对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差5.3.缺点:测量速度较慢,和算术平均滤波法一样比较浪费RAM5.4.程序:#define N 12char filter(){char count,i,j;char value_buf[N];int sum=0;for (count=0;count<N;count++){value_buf[count] = get_ad();delay();}for (j=0;j<N-1;j++){for (i=0;i<N-j-1;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;}}}for(count=1;count<N-1;count++)sum += value[count];return (char)(sum/(N-2));}6.限幅平均滤波法6.1.方法:相当于“限幅滤波法”+“递推平均滤波法” 每次采样到的新数据先进行限幅处理,再送入队列进行递推平均滤波处理6.2.优点:融合了两种滤波法的优点对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差6.3.缺点:比较浪费RAM程序略参考子程序1、37.一阶滞后滤波法7.1.方法:取a=0~1本次滤波结果=(1-a)*本次采样值+a*上次滤波结果7.2.优点:对周期性干扰具有良好的抑制作用适用于波动频率较高的场合7.3.缺点:相位滞后,灵敏度低滞后程度取决于a值大小不能消除滤波频率高于采样频率的1/2的干扰信号7.4.程序:/* 为加快程序处理速度假定基数为100,a=0~100 */#define a 50char value;char filter(){char new_value;new_value = get_ad();return ((100-a)*value + a*new_value);}8.加权递推平均滤波法8.1.方法:是对递推平均滤波法的改进,即不同时刻的数据加以不同的权通常是,越接近现时刻的数据,权取得越大。

10种常用的软件滤波方法及示例程序

10种常用的软件滤波方法及示例程序
四、递推平均滤波法 A、方法: 把连续取N个采样值看成一个队列 队列的长度固定为N 每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据.(先进先出原则) 把队列中的N个数据进行算术平均运算,就可获得新的滤波结果 N值的选取:流量,N=12;压力:N=4;液面,N=4~12;温度,N=1~4
B、优点: 对周期性干扰有良好的抑制作用,平滑度高 适用于高频振荡的系统
3、算术平均滤波法
#define N 12
char filter() {
int sum = 0; for (count=0;count<N;count++) {
sum + = get_ad(); delay(); } return (char)(sum/N); }
4、递推平均滤波法(又称滑动平均滤波法)
C、缺点: 对于快速变化的参数不宜 如果在计数器溢出的那一次采样到的值恰好是干扰值,则会将干扰值当作有效值 导入系统
十、限幅消抖滤波法 A、方法: 相当于“限幅滤波法”+“消抖滤波法” 先限幅,后消抖
B、优点: 继承了“限幅”和“消抖”的优点 改进了“消抖滤波法”中的某些缺陷,避免将干扰值导入系统
C、缺点: 对于快速变化的参数不宜
排序采用冒泡法*/ #define N 11
char filter() {
char value_buf[N]; char count,i,j,temp; for ( count=0;count<N;count++) {
value_buf[count] =get_ad(); delay(); } for (j=0;j<N-1;j++)
示例程序
假定从8位AD中读取数据(如果是更高位的AD可定义数据类型为int),子程序为 get_ad();

软件滤波

软件滤波

中值滤波
将原来的采样间隔 'T 进行细分,也就是在原来的采样间隔 'T 内采样 N 次,然后把 N
次采样值按照大小排序,取中间值为本次采样值。
示例代码 /*********************中值滤波*********************** /* *sampleGet():采样函数指针,返回unsigned int类型 /* return 滤波输出值 /***************************************************/ #define MID_NUM 5 unsigned int MidFilter(unsigned int *sampleGet()) { unsigned char i; unsigned int value_buf[MID_NUM]={0}; for (i=0;i < MID_NUM;i++) { value_buf[i] = sampleGet(); } unsigned int mid; //冒泡排序 for(i=0;i<MID_NUM;i++) { int j; for(j=i+1;j<MID_NUM;j++) { if(value_buf[i]>value_buf[j]) { mid=value_buf[i]; value_buf[i]=value_buf[j]; value_buf[j]=mid; } } } mid=value_buf[MID_NUM/2]; return mid; }
另外,这种方法还有一个特殊用法:制作成软件陷波器,滤除某个单一频率信号的干扰 (如工频干扰)。具体实现方法介绍如下:由于正弦波一个周期内任取 N 个等分点的幅值和为

plc软件滤波思路

plc软件滤波思路

首先应做好信号的数据分析,明确信号的变化特征,以确定信号属于哪种干扰类型,选择合适的滤波方法。

具体操作可利用wincc数据存档完成。

软件滤波方法及其优缺点1、限幅滤波法(又称程序判断滤波法)A、方法:根据经验判断,确定两次采样允许的最大偏差值(设为A)"每次检测到新值时判断:"如果本次值与上次值之差<=A,则本次值有效如果本次值与上次值之差>A,则本次值无效,放弃本次值,用上次值代替本次值 B、优点:能有效克服因偶然因素引起的脉冲干扰"C、缺点无法抑制那种周期性的干扰"平滑度差"2、中位值滤波法A、方法:连续采样N次(N取奇数)"把N次采样值按大小排列"取中间值为本次有效值"B、优点:能有效克服因偶然因素引起的波动干扰"对温度、液位的变化缓慢的被测参数有良好的滤波效果"C、缺点:对流量、速度等快速变化的参数不宜"3、算术平均滤波法A、方法:连续取N个采样值进行算术平均运算"N值较大时:信号平滑度较高,但灵敏度较低N值较小时:信号平滑度较低,但灵敏度较高N值的选取:一般流量,N=12;压力:N=4B、优点:适用于对一般具有随机干扰的信号进行滤波"这样信号的特点是有一个平均值,信号在某一数值范围附近上下波动"C、缺点:对于测量速度较慢或要求数据计算速度较快的实时控制不适用"比较浪费RAM"4、递推平均滤波法(又称滑动平均滤波法)A、方法:把连续取N个采样值看成一个队列"队列的长度固定为N"每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据.(先进先出原则)"把队列中的N个数据进行算术平均运算,就可获得新的滤波结果"N值的选取:流量,N=12;压力:N=4;液面,N=4~12;温度,N=1~4"B、优点:对周期性干扰有良好的抑制作用,平滑度高"适用于高频振荡的系统"C、缺点:灵敏度低"对偶然出现的脉冲性干扰的抑制作用较差"不易消除由于脉冲干扰所引起的采样值偏差"不适用于脉冲干扰比较严重的场合"比较浪费RAM"5、中位值平均滤波法(又称防脉冲干扰平均滤波法)A、方法:相当于“中位值滤波法”+“算术平均滤波法”"连续采样N个数据,去掉一个最大值和一个最小值"然后计算N-2个数据的算术平均值"N值的选取:3~14"B、优点:融合了两种滤波法的优点"对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差"C、缺点:测量速度较慢,和算术平均滤波法一样"比较浪费RAM "6、限幅平均滤波法A、方法:相当于“限幅滤波法”+“递推平均滤波法”"每次采样到的新数据先进行限幅处理,"再送入队列进行递推平均滤波处理"B、优点:融合了两种滤波法的优点"对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差"C、缺点:比较浪费RAM "7、一阶滞后滤波法A、方法:取a=0~1"本次滤波结果=(1-a)*本次采样值+a*上次滤波结果"B、优点:对周期性干扰具有良好的抑制作用"适用于波动频率较高的场合"C、缺点:相位滞后,灵敏度低"滞后程度取决于a值大小"不能消除滤波频率高于采样频率的1/2的干扰信号"8、加权递推平均滤波法A、方法:是对递推平均滤波法的改进,即不同时刻的数据加以不同的权"通常是,越接近现时刻的数据,权取得越大。

DSP开发常用软件滤波算法

DSP开发常用软件滤波算法

DSP开发常用软件滤波算法第1种方法限幅滤波法(又称程序判断滤波法)A 方法:根据经验判断,确定两次采样允许的最大偏差值(设为A)每次检测到新值时判断:如果本次值与上次值之差<=A,则本次值有效如果本次值与上次值之差>A,则本次值无效,放弃本次值,用上次值代替本次值;B 优点:能有效克服因偶然因素引起的脉冲干扰;C 缺点:无法抑制那种周期性的干扰平滑度差;第2种方法中位值滤波法A 方法:连续采样N次(N取奇数)把N次采样值按大小排列取中间值为本次有效值;B 优点:能有效克服因偶然因素引起的波动干扰对温度、液位的变化缓慢的被测参数有良好的滤波效果;C 缺点:对流量、速度等快速变化的参数不宜;第3种方法算术平均滤波法A 方法:连续取N个采样值进行算术平均运算N值较大时:信号平滑度较高,但灵敏度较低N值较小时:信号平滑度较低,但灵敏度较高N值的选取:一般流量,N=12;压力:N=4;B 优点:适用于对一般具有随机干扰的信号进行滤波这样信号的特点是有一个平均值,信号在某一数值范围附近上下波动;C 缺点:对于测量速度较慢或要求数据计算速度较快的实时控制不适用比较浪费RAM;第4种方法递推平均滤波法(又称滑动平均滤波法)A 方法:把连续取N个采样值看成一个队列队列的长度固定为N 每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据.(先进先出原则) 把队列中的N个数据进行算术平均运算,就可获得新的滤波结果N值的选取:流量,N=12;压力:N=4;液面,N=4~12;温度,N=1~4;B 优点:对周期性干扰有良好的抑制作用,平滑度高适用于高频振荡的系统;C 缺点:灵敏度低对偶然出现的脉冲性干扰的抑制作用较差不易消除由于脉冲干扰所引起的采样值偏差不适用于脉冲干扰比较严重的场合比较浪费RAM;第5种方法中位值平均滤波法(又称防脉冲干扰平均滤波法)A 方法:相当于“中位值滤波法”+“算术平均滤波法”连续采样N个数据,去掉一个最大值和一个最小值然后计算N-2个数据的算术平均值N值的选取:3~14;B 优点:融合了两种滤波法的优点对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差;C 缺点:测量速度较慢,和算术平均滤波法一样比较浪费RAM;第6种方法限幅平均滤波法A 方法:相当于“限幅滤波法”+“递推平均滤波法”每次采样到的新数据先进行限幅处理再送入队列进行递推平均滤波处理;B 优点:融合了两种滤波法的优点对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差;C 缺点:比较浪费RAM;第7种方法一阶滞后滤波法A 方法:取a=0~1 本次滤波结果=(1-a)*本次采样值+a*上次滤波结果;B 优点:对周期性干扰具有良好的抑制作用适用于波动频率较高的场合;C 缺点:相位滞后,灵敏度低滞后程度取决于a值大小不能消除滤波频率高于采样频率的1/2的干扰信号;第8种方法加权递推平均滤波法A 方法:是对递推平均滤波法的改进,即不同时刻的数据加以不同的权通常是,越接近现时刻的资料,权取得越大给予新采样值的权系数越大,则灵敏度越高,但信号平滑度越低;B 优点:适用于有较大纯滞后时间常数的对象和采样周期较短的系统;C 缺点:对于纯滞后时间常数较小,采样周期较长,变化缓慢的信号不能迅速反应系统当前所受干扰的严重程度,滤波效果差;第9种方法消抖滤波法A 方法:设置一个滤波计数器将每次采样值与当前有效值比较:如果采样值=当前有效值,则计数器清零如果采样值<>当前有效值,则计数器+1,并判断计数器是否>=上限N(溢出) 如果计数器溢出,则将本次值替换当前有效值,并清计数器;B 优点:对于变化缓慢的被测参数有较好的滤波效果, 可避免在临界值附近控制器的反复开/关跳动或显示器上数值抖动;C 缺点:对于快速变化的参数不宜如果在计数器溢出的那一次采样到的值恰好是干扰值,则会将干扰值当作有效值导入系统;第10种方法限幅消抖滤波法A 方法:相当于“限幅滤波法”+“消抖滤波法”先限幅后消抖;B 优点:继承了“限幅”和“消抖”的优点改进了“消抖滤波法”中的某些缺陷,避免将干扰值导入系统;C 缺点:对于快速变化的参数不宜;第11种方法IIR 数字滤波器A 方法:确定信号带宽,滤之。

软件滤波

软件滤波

引用| 回复| 2006-08-14 09:08:00 1楼如火笔者编写过,资料库中有类似案例可以供您参考。

滤波的效果还是非常明显的。

引用| 回复| 2006-08-15 11:23:00 2楼Legoooooooooooooo建议采用一阶RC滤波:y(k)=(1-a)*X(k)+a*y(k-1)取a=0-1,a越大滤波效果越好。

你可以自己写个程序,选取合适的频率的噪声信号进行测试,最好绘图比较,以得到合适的a 值。

引用| 回复| 2006-08-15 15:39:00 3楼如火楼上的一阶RC滤波实现比较简单一些,效果也不错。

引用| 回复| 2006-08-15 16:15:00 4楼hfutman楼上的,RC滤波是否对采样时间有一定的要求?引用| 回复| 2006-08-16 14:01:00 5楼LegooooooooooooooRC滤波有一定的滞后,参数a越大滞后越严重。

比如,对于y = 1000 * Sin(2 * pi * f * x)这样的正弦波,为方便观察,取f=4。

当a=0.9时,波形如下(绿色为原始信号,红色为滤波后的信号):当a=0.98时,波形如下(绿色为原始信号,红色为滤波后的信号):当a=0.999,波形如下(绿色为原始信号,红色为滤波后的信号):可以看出,最大滞后T/4!引用| 回复| 2006-08-16 14:16:00 6楼Legoooooooooooooo为了说明RC滤波的效果,我们来处理一下有噪声的信号,波形如下: y = 1000 * Sin(2 * pi * f * x) - 500 * Rnd * Sin(2 * pi * 10 * x) + 400 * Rnd * Sin(2 * pi * 20 * x) - 300 * Rnd * Sin(2 * pi * 30 * x) + 200 * Rnd * Sin(2 * pi * 40 * x) 还是取f=4,a=0.9,滤波结果如下图:我的观点是,如果你对模拟量的实时性要求不是KHZ级的,用RC滤波足矣!如果是高速模拟量处理,有更复杂的数字滤波算法,如巴特沃斯等。

汽车检测软件滤波

汽车检测软件滤波

汽车安全检测结果对客户来说极为重要。

常常有一些客户在检测站检测结果不合格后,将车开往汽车修理厂,维修人员却不能检查出检测结果中的毛病。

而这类车辆被称为“假不合格”车辆,给客户带来极大的不便和心理上的不安。

因此,提高检测结果的准确性是十分必要的。

影响检测数据准确性和检测结果可靠性的因素有很多,其中,检测工艺、引车员的操作不当是两个主要因素。

汽车安全检测系统中的电子设备运行在一定的环境条件下,常会遇到各种各样的干扰,对于这些干扰仅靠硬件抗干扰措施是不够的,还需用软件滤波来进一步克服干扰,以提高系统的可靠性和检测数据的准确性。

1软件滤波1.1定义所谓软件滤波就是将无限的连续物理信号在一定条件下变成有限的离散的数值信号,再通过计算机把有用信号与干扰信号分离开来的方法,也就是说从数据系列中提取逼真数据的软件算法。

1.2干扰信号的种类采样信号中常见的干扰信号有两大类:一类为周期性的;一类为不规则的非周期性干扰信号,即随机干扰。

对于不同性质的干扰,相应的滤波对策是不同的。

1.3优点在测控系统中,往往由于工作环境恶劣以及系统内部电子元件产生的噪声等各种原因,使得输入通道在生产现场所采集到的物理参数不可避免地混进了各种干扰信号,这些干扰不仅会影响到检测结果的准确性和可靠性,甚至可能导致系统不能正常工作。

因此,长期以来,如何更有效的消除和抑制干扰因素,提高系统的检测精度,增强系统的可靠性是广大设计人员追求的目标。

传统的设计方法是在系统的信号入口处加入一定的硬件抗干扰滤波线路,这虽然能满足一定的要求,但是由于一种硬件线路针对某一类干扰比较明显,要想尽可能地消除多种干扰,就意味着增加更多的硬件线路,这样以来,不仅使成本大大提高,而且系统也显得更为复杂;另外,硬件器件本身也存在一定的缺陷,这势必又引入了新的不精确因素;更主要的是硬件线路对有用信号频率干扰往往显得无能为力。

因此,现代计算机控制系统中往往采取软件方式对原始的采样信号进行数据检测和转换,达到为推理决策提供必要的事实的目的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件滤波方法及其优缺点
1、限幅滤波法(又称程序判断滤波法)
A、方法:
根据经验判断,确定两次采样允许的最大偏差值(设为A)
每次检测到新值时判断:
如果本次值与上次值之差<=A,则本次值有效
如果本次值与上次值之差>A,则本次值无效,放弃本次值,用上次值代替本次值 B、优点:
能有效克服因偶然因素引起的脉冲干扰
C、缺点
无法抑制那种周期性的干扰
平滑度差
2、中位值滤波法
A、方法:
连续采样N次(N取奇数)
把N次采样值按大小排列
取中间值为本次有效值
B、优点:
能有效克服因偶然因素引起的波动干扰
对温度、液位的变化缓慢的被测参数有良好的滤波效果
C、缺点:
对流量、速度等快速变化的参数不宜
3、算术平均滤波法
A、方法:
连续取N个采样值进行算术平均运算
N值较大时:信号平滑度较高,但灵敏度较低
N值较小时:信号平滑度较低,但灵敏度较高
N值的选取:一般流量,N=12;压力:N=4
B、优点:
适用于对一般具有随机干扰的信号进行滤波
这样信号的特点是有一个平均值,信号在某一数值范围附近上下波动
C、缺点:
对于测量速度较慢或要求数据计算速度较快的实时控制不适用
比较浪费RAM
4、递推平均滤波法(又称滑动平均滤波法)
A、方法:
把连续取N个采样值看成一个队列
队列的长度固定为N
每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据.(先进先出原则)
把队列中的N个数据进行算术平均运算,就可获得新的滤波结果
N值的选取:流量,N=12;压力:N=4;液面,N=4~12;温度,N=1~4
B、优点:
对周期性干扰有良好的抑制作用,平滑度高
适用于高频振荡的系统
C、缺点:
灵敏度低
对偶然出现的脉冲性干扰的抑制作用较差
不易消除由于脉冲干扰所引起的采样值偏差
不适用于脉冲干扰比较严重的场合
比较浪费RAM
5、中位值平均滤波法(又称防脉冲干扰平均滤波法)
A、方法:
相当于“中位值滤波法”+“算术平均滤波法”
连续采样N个数据,去掉一个最大值和一个最小值
然后计算N-2个数据的算术平均值
N值的选取:3~14
B、优点:
融合了两种滤波法的优点
对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差
C、缺点:
测量速度较慢,和算术平均滤波法一样
比较浪费RAM
6、限幅平均滤波法
A、方法:
相当于“限幅滤波法”+“递推平均滤波法”
每次采样到的新数据先进行限幅处理,
再送入队列进行递推平均滤波处理
B、优点:
融合了两种滤波法的优点
对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差
C、缺点:
比较浪费RAM
7、一阶滞后滤波法
A、方法:
取a=0~1
本次滤波结果=(1-a)*本次采样值+a*上次滤波结果
B、优点:
对周期性干扰具有良好的抑制作用
适用于波动频率较高的场合
C、缺点:
相位滞后,灵敏度低
滞后程度取决于a值大小
不能消除滤波频率高于采样频率的1/2的干扰信号
8、加权递推平均滤波法
A、方法:
是对递推平均滤波法的改进,即不同时刻的数据加以不同的权
通常是,越接近现时刻的数据,权取得越大。

给予新采样值的权系数越大,则灵敏度越高,但信号平滑度越低
B、优点:
适用于有较大纯滞后时间常数的对象
和采样周期较短的系统
C、缺点:
对于纯滞后时间常数较小,采样周期较长,变化缓慢的信号
不能迅速反应系统当前所受干扰的严重程度,滤波效果差
9、消抖滤波法
A、方法:
设置一个滤波计数器
将每次采样值与当前有效值比较:
如果采样值=当前有效值,则计数器清零
如果采样值<>当前有效值,则计数器+1,并判断计数器是否>=上限N(溢出)
如果计数器溢出,则将本次值替换当前有效值,并清计数器
B、优点:
对于变化缓慢的被测参数有较好的滤波效果,
可避免在临界值附近控制器的反复开/关跳动或显示器上数值抖动
C、缺点:
对于快速变化的参数不宜
如果在计数器溢出的那一次采样到的值恰好是干扰值,则会将干扰值当作有效值导入系统
10、限幅消抖滤波法
A、方法:
相当于“限幅滤波法”+“消抖滤波法”
先限幅,后消抖
B、优点:
继承了“限幅”和“消抖”的优点
改进了“消抖滤波法”中的某些缺陷,避免将干扰值导入系统 C、缺点:
对于快速变化的参数不宜。

相关文档
最新文档