找回密码
 注册
关于网站域名变更的通知
查看: 443|回复: 2
打印 上一主题 下一主题

单片机实现软件滤波

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2016-8-12 14:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
1、限幅滤波法(又称程序判断滤波法)
7 s% i0 V; M5 d3 H0 h    A、方法:+ O8 R* _5 T0 F1 g5 i
        根据经验判断,确定两次采样允许的最大偏差值(设为A)
- Z+ P2 U3 U5 D! i& F/ w$ l2 `$ ?9 h/ D        每次检测到新值时判断:
6 U- V$ ?4 a$ S7 ^        如果本次值与上次值之差<=A,则本次值有效
5 Q* S9 r+ K! e$ J7 p$ c: N8 }        如果本次值与上次值之差>A,则本次值无效,放弃本次值,用上次值代替本次值
+ U- P6 d" j; u3 z0 b" Z% O    B、优点:
& U, ~+ X  s8 |, g1 e8 W) w        能有效克服因偶然因素引起的脉冲干扰, Q  K" D0 W5 e- h9 y3 ?  g# u; `
    C、缺点
6 o- v  _, Q7 O+ p; k" S5 Q5 w        无法抑制那种周期性的干扰
( L% h/ a" g  @; S" \  H: h        平滑度差) b; o: ?0 h" l2 W+ T( G
    ! {  A2 ]4 ~! y# V$ y3 w
2、中位值滤波法! P% B: D0 D7 J4 _' n/ t
    A、方法:+ Y; a" J6 y' j( H2 ~8 L
        连续采样N次(N取奇数)% U+ F! T. e4 J; B
        把N次采样值按大小排列
, c9 s2 {' s* K' N8 R        取中间值为本次有效值
9 V. l5 e0 z) J. ~    B、优点:
4 V' c% l0 P* j; w5 [7 {% @        能有效克服因偶然因素引起的波动干扰
# o* _! _! g. S+ V  i        对温度、液位的变化缓慢的被测参数有良好的滤波效果
! R( Y6 R. i# t6 n) a7 X. V7 y    C、缺点:9 \; ~; Q: ^: ~+ P0 X
        对流量、速度等快速变化的参数不宜
+ Q. M5 L/ p7 j0 ~- s$ x
3 h1 i5 @$ F8 d& v0 o) Q3、算术平均滤波法
, w+ B* _3 f7 F: |+ Q+ c    A、方法:- n8 ]% Y# U- S1 [" A% d) q
        连续取N个采样值进行算术平均运算
* R  Q- @' t+ t" X3 V        N值较大时:信号平滑度较高,但灵敏度较低
* D* u; f! i- P3 w        N值较小时:信号平滑度较低,但灵敏度较高
9 p/ V* F% N8 Y, A        N值的选取:一般流量,N=12;压力:N=4  f  A% c7 g4 a9 w' O4 a' ^
    B、优点:
0 G* I; @# L9 R9 P( {/ n! u6 s        适用于对一般具有随机干扰的信号进行滤波
7 G* R6 I) i) P3 ~- ~: q        这样信号的特点是有一个平均值,信号在某一数值范围附近上下波动
3 d9 h9 H' K! R3 M- V7 v# ?    C、缺点:
0 M9 l. }$ X8 S  H2 G4 H        对于测量速度较慢或要求数据计算速度较快的实时控制不适用) Q. N& k9 x2 }. _, W1 ]
        比较浪费RAM
) z0 O, e) n6 F+ ]2 a7 q        ) q1 ?4 F& Q7 j5 }) H
4、递推平均滤波法(又称滑动平均滤波法)
$ G6 y& d$ H' }" f4 h5 q7 Q    A、方法:
/ P! _% _8 ^$ i  Z8 a1 B# T        把连续取N个采样值看成一个队列
. R4 R! [+ Z0 m  Y' R  }8 w7 v' q        队列的长度固定为N
% h% B5 o6 {; ?3 L8 x! R        每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据.(先进先出原则)
, Q+ Z$ d) f, M& R% b7 e+ ]3 V        把队列中的N个数据进行算术平均运算,就可获得新的滤波结果, K1 M: m6 ^7 n$ K6 @9 B
        N值的选取:流量,N=12;压力:N=4;液面,N=4~12;温度,N=1~4
, _) B- \/ C  k# |4 Y: L    B、优点:; i5 [! `1 ]8 j  P9 @0 `+ A! M* s. _
        对周期性干扰有良好的抑制作用,平滑度高, ?% b$ o1 B; k) N
        适用于高频振荡的系统      D5 v/ ]+ j& O5 _' ~) M: Z
    C、缺点:
* ]' {& H4 l7 ?1 Q' e/ Z4 |- z        灵敏度低+ X3 O. I, M; r- r3 n( [' `
        对偶然出现的脉冲性干扰的抑制作用较差; B( q- K& ?7 V7 S4 n
        不易消除由于脉冲干扰所引起的采样值偏差4 n6 e) Q' t" s) _
        不适用于脉冲干扰比较严重的场合
7 F( o% n3 Z5 [6 F0 i        比较浪费RAM1 n) `' F, K8 P
        % c% P( ?4 o. C# P5 H/ N6 U  W/ X
5、中位值平均滤波法(又称防脉冲干扰平均滤波法)5 ?$ N5 b  \0 [  E, z
    A、方法:
/ \2 c5 `0 W( N3 Q+ J8 k        相当于“中位值滤波法”+“算术平均滤波法”" b$ L- ?6 K6 T  s2 {* n  o
        连续采样N个数据,去掉一个最大值和一个最小值% F  B+ ]$ y0 B/ V% c
        然后计算N-2个数据的算术平均值8 v0 R7 X2 v. S
        N值的选取:3~14
4 C2 S4 H, }9 T5 a6 Q    B、优点:0 }: E4 N/ Q- a# a9 F$ Z; _
        融合了两种滤波法的优点) N, ]. w1 l# J% M4 H
        对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差
9 u1 L: K7 A$ K2 M* M, N' T    C、缺点:
. r' `  ~  u, M' p3 M+ J6 j        测量速度较慢,和算术平均滤波法一样
, L- D6 }; ^+ O8 s4 R        比较浪费RAM
" B/ x: D' \3 H) y9 @5 L# ]
6 B- L: Z1 O  @+ |2 O0 o
, y2 S: _- K$ u( z) j4 Z& [6、限幅平均滤波法
; {2 D# D6 V: M3 d: @6 G: q    A、方法:
& u, U! v' F: l( P# k5 y1 O        相当于“限幅滤波法”+“递推平均滤波法”
+ _9 N, u% }- _        每次采样到的新数据先进行限幅处理,1 L  e: D  J# ?$ O% i
        再送入队列进行递推平均滤波处理
' X' i5 p" ?) i/ _% H) J7 q    B、优点:
" B$ O' [) z9 \. T! P0 u( N        融合了两种滤波法的优点
% z6 M" N) C6 d( s# n9 ]9 m        对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差
' p& d2 x4 Y! C& P3 X- ^8 C$ o- f( @    C、缺点:
! ]& l* |% R* y, h# I        比较浪费RAM0 F& b' Z; @& H5 A/ @
$ D$ J" i0 r# O
7、一阶滞后滤波法. S0 e* h% |/ W1 j4 c+ T
    A、方法:4 a! `+ k/ u: z' w8 V
        取a=0~1
( M; }& N) j4 y- u        本次滤波结果=(1-a)*本次采样值+a*上次滤波结果
6 [" W  [, ~, C6 r    B、优点:
& [& b8 h. y: z, N  z; X# m1 \        对周期性干扰具有良好的抑制作用
$ R, u: M/ k0 F% U- ^5 t7 l! |/ x5 `        适用于波动频率较高的场合+ ?1 I5 g$ U/ O
    C、缺点:$ X3 I5 N$ X" T: X2 b2 ~" x/ M* X
        相位滞后,灵敏度低
' m) e6 c& j3 U) A0 R8 g' e/ ], Q        滞后程度取决于a值大小
" p/ e1 V5 B* }& h6 O  v. l        不能消除滤波频率高于采样频率的1/2的干扰信号
0 ^* I% K! K# e$ p9 C        & O0 h! q% k/ x; M5 g
8、加权递推平均滤波法7 ^0 Y) M1 H: E
    A、方法:
, P7 F3 @7 C4 r, n5 D8 z! l        是对递推平均滤波法的改进,即不同时刻的数据加以不同的权
8 {, M* g1 w5 s        通常是,越接近现时刻的数据,权取得越大。
& n  q5 {5 V* K7 j        给予新采样值的权系数越大,则灵敏度越高,但信号平滑度越低! u& k0 `1 Q$ V. O
    B、优点:
% D( k* ]8 [" P3 w0 \        适用于有较大纯滞后时间常数的对象
0 m, n! x% W5 [6 l' _& X% K        和采样周期较短的系统/ h. c  s# o, k
    C、缺点:0 n* |, Y7 k$ o2 K
        对于纯滞后时间常数较小,采样周期较长,变化缓慢的信号) f2 Y+ r4 ~  h* [6 c. q
        不能迅速反应系统当前所受干扰的严重程度,滤波效果差3 k) ]* r3 m, x

. @3 p  C0 |! g9 ^0 ], \6 S4 \( B9、消抖滤波法
0 |& R% k* X8 T, |9 k0 r    A、方法:
  d5 z( @- m; ]! R        设置一个滤波计数器
% u; Y0 d' L$ R" l        将每次采样值与当前有效值比较:, Y/ I. r$ _0 N  A5 I2 D" p
        如果采样值=当前有效值,则计数器清零
  j2 h+ y( n* |9 D, X' e6 H        如果采样值<>当前有效值,则计数器+1,并判断计数器是否>=上限N(溢出)4 p0 |% W9 g+ b( }
            如果计数器溢出,则将本次值替换当前有效值,并清计数器! d, q6 x, l% G" T6 K0 z
    B、优点:+ q% S! u; y4 {5 R) o
        对于变化缓慢的被测参数有较好的滤波效果,/ u& M7 t. \. D7 K/ S: f, Q# O- M+ W
        可避免在临界值附近控制器的反复开/关跳动或显示器上数值抖动
2 F8 M/ M( ^/ O$ t9 w* r# [    C、缺点:& @' a  W+ f0 A! q
        对于快速变化的参数不宜
2 d7 v( E: Q8 t        如果在计数器溢出的那一次采样到的值恰好是干扰值,则会将干扰值当作有效值导* w( o3 h5 O4 H7 Y7 h- Y& G
入系统& \4 C& e5 A& ]' [
1 X+ Q2 I5 b1 P( H& Y
10、限幅消抖滤波法
" w3 l& B8 x7 X    A、方法:
" X! }; ^* L6 d" H        相当于“限幅滤波法”+“消抖滤波法”  k/ e8 ?1 A0 i7 ]0 \
        先限幅,后消抖4 r$ N* E* w' h6 H
    B、优点:
8 C8 R! V6 f. H! Y( M! `        继承了“限幅”和“消抖”的优点
) n: L% Z2 [9 ?, ?. q0 r* R  G        改进了“消抖滤波法”中的某些缺陷,避免将干扰值导入系统) H5 ]/ I" D+ v/ R, L
    C、缺点:
5 w3 V' c( `4 q4 t6 i1 g        对于快速变化的参数不宜

该用户从未签到

2#
发表于 2016-8-13 11:05 | 只看该作者
路过捧场,谢谢分享!2 Y( `: j8 J5 f3 t; ?

该用户从未签到

3#
发表于 2019-1-24 14:54 | 只看该作者
不错,谢谢分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-9 06:19 , Processed in 0.140625 second(s), 24 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表