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

单片机实现软件滤波

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
1、限幅滤波法(又称程序判断滤波法); O8 p; N$ I9 D( z4 D5 Q4 ~" Y; U, `
    A、方法:( U4 {4 r- u. e+ @8 G8 F
        根据经验判断,确定两次采样允许的最大偏差值(设为A)
9 }" l( k  y7 U        每次检测到新值时判断:
4 h4 ]$ r3 R" c: o: c( i0 z! ~! E7 j        如果本次值与上次值之差<=A,则本次值有效
, r) u+ q" Q) f; w8 [        如果本次值与上次值之差>A,则本次值无效,放弃本次值,用上次值代替本次值
% V. ]. e5 {8 X' \/ d4 y* [    B、优点:1 A$ s" _/ x5 y% n- z
        能有效克服因偶然因素引起的脉冲干扰: g. {0 }8 c+ `# l7 F8 w6 j4 e( A
    C、缺点5 b# O; n7 f9 b8 E" Y% K
        无法抑制那种周期性的干扰
4 o- d3 ~" n4 _; P$ l) h% [        平滑度差
# v* v& f# [+ s; d: G      c" ^, N5 t4 ]8 e) k/ K/ Q
2、中位值滤波法* D6 C" K, F) e$ k. N) c  Q* P
    A、方法:
- T- J. @( C/ }+ {7 x( O, C8 C        连续采样N次(N取奇数)
( `. v9 j" s# c) {6 D        把N次采样值按大小排列
+ M) }' o! O: I+ M- U' p9 p4 ^        取中间值为本次有效值
! o4 ]- U1 I  e7 \5 g+ Z' O    B、优点:
# X6 |3 M$ S7 j" T        能有效克服因偶然因素引起的波动干扰
; C0 l9 [& e: t        对温度、液位的变化缓慢的被测参数有良好的滤波效果* K" s8 g8 R" N
    C、缺点:
$ ?1 B' r- r( W. e8 L8 T        对流量、速度等快速变化的参数不宜
9 ~1 v+ H; R. l5 C8 ~6 ~
3 j$ |7 l% P- M/ F3、算术平均滤波法7 b3 ^; |8 o; U2 }+ T6 P) K7 I
    A、方法:4 V. G7 v4 x" v* h
        连续取N个采样值进行算术平均运算
$ z  D' [; U9 P5 _/ j* y        N值较大时:信号平滑度较高,但灵敏度较低
& A" q3 W" L; w' w! k' ^        N值较小时:信号平滑度较低,但灵敏度较高
9 k6 J/ D4 R! ~3 n' x! L9 l3 b% C        N值的选取:一般流量,N=12;压力:N=4
9 U+ p1 q: T7 ~2 R5 v; ~    B、优点:) v4 l  E2 \. e$ _* |
        适用于对一般具有随机干扰的信号进行滤波2 ?/ J5 w' k$ w/ o$ n
        这样信号的特点是有一个平均值,信号在某一数值范围附近上下波动2 Z$ f& z7 i* p/ e7 H$ G
    C、缺点:
3 |8 _6 q8 i2 Q( F0 _: a" |0 d        对于测量速度较慢或要求数据计算速度较快的实时控制不适用
6 n& A- ?# E' [0 w        比较浪费RAM) N+ z- s$ H7 g; G/ ^1 W) Z
        / Z! y2 u& a% i+ Y0 E* p) S6 H: c5 ~
4、递推平均滤波法(又称滑动平均滤波法)
5 d5 R3 [  |$ W/ M    A、方法:2 E' u1 |. c/ ]+ A# I5 y1 M! t
        把连续取N个采样值看成一个队列
+ V) ~0 [" i4 a  `0 t/ Q        队列的长度固定为N" |1 l7 U$ @) o8 D9 q+ }# O
        每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据.(先进先出原则)
7 z& j0 ]5 _% Z        把队列中的N个数据进行算术平均运算,就可获得新的滤波结果
& I2 Z, X( t0 l3 x+ U: K% u        N值的选取:流量,N=12;压力:N=4;液面,N=4~12;温度,N=1~4) C5 {' k" \$ D& p# r/ o/ `2 W* M1 }
    B、优点:
+ ^; g0 b7 \, W6 Y        对周期性干扰有良好的抑制作用,平滑度高
6 k1 f& J, M* |) E! E) T- ~* P        适用于高频振荡的系统   
- S! I9 \! m! d# h4 v# j! c3 G$ p, s, l    C、缺点:
7 a- s; |6 F, e) y9 h        灵敏度低
2 @5 M4 R- [+ t8 C, k! w/ x5 ]        对偶然出现的脉冲性干扰的抑制作用较差
2 N* f6 g# h6 i0 S  P        不易消除由于脉冲干扰所引起的采样值偏差
  V6 ~( N2 Q1 |/ V: `* K        不适用于脉冲干扰比较严重的场合2 t( |; n1 f$ y- O2 R
        比较浪费RAM
& x  B8 i* t+ x; V" @        
- X  S: G1 @- o/ ^5、中位值平均滤波法(又称防脉冲干扰平均滤波法)' S% ?! l, w: M+ f5 }; L
    A、方法:
( A& Y1 j- D" i& p+ G6 L" ?  ~6 u. i$ G        相当于“中位值滤波法”+“算术平均滤波法”" R7 O+ y. t, e" w' ]. ]
        连续采样N个数据,去掉一个最大值和一个最小值
2 J+ L0 a8 i6 I: s% X! E        然后计算N-2个数据的算术平均值" I+ L* x* `5 u# c
        N值的选取:3~14
4 w8 I$ X/ ]3 V9 o( V    B、优点:5 c: j7 c, J) t0 Z* d. S" f
        融合了两种滤波法的优点0 }  c0 \% o4 Y$ E# M/ F( w
        对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差
8 w, b( A) ?! D4 b. Y, I    C、缺点:
0 z% ]- {, p& g) t! B        测量速度较慢,和算术平均滤波法一样* Q* Q. i7 w# d/ y. q$ c3 C
        比较浪费RAM* `! j9 \# n$ Z/ h$ x
* C$ l( O# {( U( o' z, C
% _7 X% ]& N9 O$ B7 p$ w
6、限幅平均滤波法
" O& n( ^7 K0 w    A、方法:" T$ \4 ]4 N1 _" E" W' S/ s6 ~
        相当于“限幅滤波法”+“递推平均滤波法”
& h# a% F  Y, q8 K$ R6 b        每次采样到的新数据先进行限幅处理,8 g5 _6 k3 p8 R. ]) a! C& q
        再送入队列进行递推平均滤波处理
  w$ ^8 ]6 \/ C    B、优点:  P5 |. x: M5 d
        融合了两种滤波法的优点
. o2 X5 d+ d  F* R$ U+ N        对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差  t% ?  s' {! a
    C、缺点:
" O  h) Y- B: m) O! i        比较浪费RAM
0 Y+ e( P4 m- U9 X
# s3 D5 w; V$ y: \  U3 m7、一阶滞后滤波法- F) F. a6 K% W7 w' o6 E8 m8 z
    A、方法:
1 I  q& I5 g% y: z' f        取a=0~10 ~  {0 z. y8 f
        本次滤波结果=(1-a)*本次采样值+a*上次滤波结果
7 P! ?1 N8 I1 r7 G6 J    B、优点:* N3 F& K9 u6 p
        对周期性干扰具有良好的抑制作用( J+ c' n7 ?+ P& ]3 e
        适用于波动频率较高的场合
( }. W" c* R' ?0 b, P    C、缺点:# s5 ^6 }; Y+ z3 M, L/ `* G
        相位滞后,灵敏度低5 c) R$ h6 j# P- _0 o! D/ S; B% @
        滞后程度取决于a值大小$ e/ U/ }0 y6 r: g8 A7 f6 J9 j, r6 V
        不能消除滤波频率高于采样频率的1/2的干扰信号9 z( |8 l. S( {0 n, {4 B& {
        3 A" W9 Y6 K/ x6 k
8、加权递推平均滤波法! W* w7 M" ]% u3 g
    A、方法:2 G7 K; E4 J7 {0 G, @) ~- U
        是对递推平均滤波法的改进,即不同时刻的数据加以不同的权1 ^2 i# Y$ v' h: j$ h
        通常是,越接近现时刻的数据,权取得越大。
  i8 h, \7 _- y# s        给予新采样值的权系数越大,则灵敏度越高,但信号平滑度越低
# Z: I9 @1 h/ C$ p+ h1 v% v    B、优点:' \% {; u# F  U
        适用于有较大纯滞后时间常数的对象6 v" s6 ~) U" m6 \8 g% y
        和采样周期较短的系统, Y; ~0 f1 b5 p% N* g% _7 V$ ?
    C、缺点:
4 o1 h+ @; b! |! Q3 f        对于纯滞后时间常数较小,采样周期较长,变化缓慢的信号6 V: O8 w5 p" V1 _
        不能迅速反应系统当前所受干扰的严重程度,滤波效果差; l( ]! U5 e( }
& W! S! {) N7 l1 U  E) s1 v
9、消抖滤波法4 v( m0 H  M, {1 v4 q& U0 E9 [
    A、方法:( _% e$ M* X! V4 K/ }: ^
        设置一个滤波计数器
5 ^2 j( l5 {5 A' G        将每次采样值与当前有效值比较:/ P9 b2 o6 F/ x2 U
        如果采样值=当前有效值,则计数器清零
9 L$ c* Z$ p" b7 T$ S( V& k: ~        如果采样值<>当前有效值,则计数器+1,并判断计数器是否>=上限N(溢出)
1 b# D# L( \+ F% V9 z            如果计数器溢出,则将本次值替换当前有效值,并清计数器
; M/ q1 L' g& W1 T& B0 T' B1 P6 T( Q: _% O    B、优点:- O  W+ {# V& t) Q
        对于变化缓慢的被测参数有较好的滤波效果,% g: ^, b  y7 A
        可避免在临界值附近控制器的反复开/关跳动或显示器上数值抖动
3 {: A; Y5 ]; P2 ]9 z/ |2 M! R    C、缺点:
- s% _! A: O0 f9 u7 R/ |  v( H% d        对于快速变化的参数不宜
9 t/ {* U" C6 H) j, f, z) H        如果在计数器溢出的那一次采样到的值恰好是干扰值,则会将干扰值当作有效值导; u- g# X  M* l6 Q3 L# k) e
入系统5 ], @5 D& s: v0 ^; w  S: p
- i1 n0 \' d1 ?% e
10、限幅消抖滤波法5 X; u6 H! O; L4 C. H9 t9 I( D8 U
    A、方法:! C1 g7 r6 b+ B, C& G9 j% k
        相当于“限幅滤波法”+“消抖滤波法”
6 w; a8 U- }3 m- L% n        先限幅,后消抖) {' Z$ r" @; s+ i
    B、优点:
0 G* ]$ h" F9 O0 H5 W3 C1 W        继承了“限幅”和“消抖”的优点1 o$ @# x. @$ V0 l' |2 ]
        改进了“消抖滤波法”中的某些缺陷,避免将干扰值导入系统6 z+ r4 ~7 R4 B9 \
    C、缺点:
) v/ m. ^- {; }        对于快速变化的参数不宜

该用户从未签到

2#
发表于 2016-8-13 11:05 | 只看该作者
路过捧场,谢谢分享!
$ V' S4 H8 s! G# f' w

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-18 14:33 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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