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

单片机实现软件滤波

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
1、限幅滤波法(又称程序判断滤波法)9 D) b/ u0 S# ^! q- a; i
    A、方法:' r( U. M5 u& c  T+ f  L6 V
        根据经验判断,确定两次采样允许的最大偏差值(设为A)
' C, H9 V( x" W( U1 b        每次检测到新值时判断:
5 q  @7 y' c9 v2 x& y: M        如果本次值与上次值之差<=A,则本次值有效
( |) z/ h" W9 O' D5 h" }, S        如果本次值与上次值之差>A,则本次值无效,放弃本次值,用上次值代替本次值3 F& j' x: u; O  L; d
    B、优点:
2 j0 I. A) N) D3 @/ y9 ^7 T7 l        能有效克服因偶然因素引起的脉冲干扰
  F; D" {# w0 F0 I0 b" B4 J8 ~6 f    C、缺点
3 `6 {' X* E  k. \' r# B        无法抑制那种周期性的干扰
( I( u( U7 B$ ~* U3 ^        平滑度差$ |: W) S! ~* M% S4 s
    0 V( J' P) \. g- a2 ^# g5 a& H
2、中位值滤波法
2 X2 L- w1 B- n6 Z: a6 x% x    A、方法:
+ ?" X7 Y& e# z        连续采样N次(N取奇数)$ l4 A6 ?+ D6 m! _5 y; O
        把N次采样值按大小排列1 T: h! m$ d% e3 ^% z$ r2 [- _
        取中间值为本次有效值
8 c+ l# m5 Z' L; Y# J4 s    B、优点:$ l* s& @* L' U7 F
        能有效克服因偶然因素引起的波动干扰
+ ]0 N3 `$ r4 ?0 R; ~' ?2 C        对温度、液位的变化缓慢的被测参数有良好的滤波效果
- ^" r, o4 O( W: d+ Z, J% P    C、缺点:
7 _! V7 m2 ]% w( W3 o( K# ~        对流量、速度等快速变化的参数不宜
$ z' A) N- i1 k" L- U9 l3 n( ?* @0 P7 T3 w0 q1 e- V: ^0 V
3、算术平均滤波法9 |4 V' U: a, p) ?0 \7 k
    A、方法:
' X! B* t$ e, @$ ~        连续取N个采样值进行算术平均运算
' ?9 q/ u* g4 C5 B8 w4 a/ Y* g        N值较大时:信号平滑度较高,但灵敏度较低( t0 q/ R4 p# O3 o4 g7 A
        N值较小时:信号平滑度较低,但灵敏度较高9 h& G* @' ]+ z
        N值的选取:一般流量,N=12;压力:N=44 ?: r( N: w+ `) H  [) u
    B、优点:
5 N( j, V9 S' q        适用于对一般具有随机干扰的信号进行滤波
) @6 A% j3 N8 `) |5 G# c0 j- G' @        这样信号的特点是有一个平均值,信号在某一数值范围附近上下波动0 i* Y2 D( h- q. \# `( [
    C、缺点:
, T% K) X0 t0 g# v( U. Q; @5 ~2 Z+ T8 g        对于测量速度较慢或要求数据计算速度较快的实时控制不适用
" H4 H/ R: L. G5 k: e        比较浪费RAM( K5 o2 M8 @1 W$ R4 I7 O4 q
        2 t" q4 G1 ]* w$ ]" s* G
4、递推平均滤波法(又称滑动平均滤波法)& k7 ~& A3 G. D; u- Z0 g
    A、方法:* B3 z7 h/ k, @0 Q$ G
        把连续取N个采样值看成一个队列
- K" b. ?) H9 U: a3 |. M        队列的长度固定为N" f9 }" A  r' `+ N  C+ V3 H/ S5 o4 @
        每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据.(先进先出原则)2 M; g6 E5 B2 P; ^: T* i3 C
        把队列中的N个数据进行算术平均运算,就可获得新的滤波结果$ K! \, Y, R! H( G/ A6 B2 }
        N值的选取:流量,N=12;压力:N=4;液面,N=4~12;温度,N=1~41 _5 o/ H% t& T: ~" G0 i" U  U
    B、优点:
" w  i! [, {) R& A        对周期性干扰有良好的抑制作用,平滑度高
. U- j% i+ m3 E& V' o4 F6 X* ~) S; H        适用于高频振荡的系统   
; u! o$ ]$ v3 |. w* a6 B* B    C、缺点:
6 ~! m) B5 S% l) [8 A& j        灵敏度低
" r, v5 f+ A" ^2 c5 ?# }        对偶然出现的脉冲性干扰的抑制作用较差
  L( ?( H% R0 y9 J* A! V        不易消除由于脉冲干扰所引起的采样值偏差
' q  q5 q- ?" p! V5 T/ C        不适用于脉冲干扰比较严重的场合$ g3 ]! @) n: E; v0 t
        比较浪费RAM
" }% i2 U" U& f" |# r7 i$ K* \        
1 h  n# s& g9 T7 E& r, @5、中位值平均滤波法(又称防脉冲干扰平均滤波法)& r! D  c4 q4 A2 P% T& d) y0 c. A
    A、方法:) I1 g; _! ~  ]
        相当于“中位值滤波法”+“算术平均滤波法”
8 h. ]4 x: F9 e) k5 l3 l$ l$ f/ m' q        连续采样N个数据,去掉一个最大值和一个最小值) H+ O+ f9 G6 f9 x7 I2 i3 `. P6 B
        然后计算N-2个数据的算术平均值6 M8 `: i) {0 Y
        N值的选取:3~14
4 y+ M9 w9 P+ \9 L    B、优点:1 X" a  X7 [2 d# v
        融合了两种滤波法的优点
$ ?8 u% x& G0 V0 }1 m$ h! h* t% Y        对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差
. [5 l& ~9 }4 H* y2 }# m    C、缺点:: q+ i9 W7 f! p8 ]& s: W" M) j
        测量速度较慢,和算术平均滤波法一样
) Y9 W4 ?$ s& g+ Z7 q4 }        比较浪费RAM
, j( I- d! t) k# j. L& X' X1 a+ X! P3 ^* c4 H4 v& P0 L9 s$ |% h

% D9 W+ o# X7 q1 ]4 H5 Q9 A6、限幅平均滤波法3 P$ J) I5 p! e3 _( N2 @
    A、方法:
7 l& Q, d' P. I8 n- U  u  C1 a        相当于“限幅滤波法”+“递推平均滤波法”
4 A- \, u; K* ?+ F9 X8 U( |        每次采样到的新数据先进行限幅处理,8 I$ d$ z( C+ t6 v: l: N+ ]/ k
        再送入队列进行递推平均滤波处理0 y; i9 ?* }- V3 @# n
    B、优点:
. V; h% v9 a  R2 e9 s: x  s% K. k        融合了两种滤波法的优点
0 K# f9 W1 }2 n. ?3 k$ p        对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差
7 h1 f1 A& r/ ?3 z! H* ~5 ?    C、缺点:
/ v1 H5 B3 l+ ^* u3 A        比较浪费RAM0 K) T/ s2 R7 Q, I+ F) e! R0 n
8 b! N' a: u$ K
7、一阶滞后滤波法1 B& S% I& u  ], k) O' ?% Y
    A、方法:
& S3 m" \, r0 M1 K        取a=0~1/ [& L" ^5 F! d+ }
        本次滤波结果=(1-a)*本次采样值+a*上次滤波结果. z9 _7 Q/ O* c9 U8 v) @  t. w4 M
    B、优点:: i0 p+ |5 J9 F
        对周期性干扰具有良好的抑制作用
  P+ t& y! g4 X5 p# q+ U        适用于波动频率较高的场合
0 b8 T* o" l6 O( c- B5 R6 e- p    C、缺点:
" l- ^/ y$ [4 U: d5 W        相位滞后,灵敏度低
0 [- `9 c/ f! Q& c+ J        滞后程度取决于a值大小6 T6 J' t0 g3 j# f2 H/ p$ u( u
        不能消除滤波频率高于采样频率的1/2的干扰信号7 ~+ J2 U% S. M
        
5 h4 k! Q% L: c4 i: T1 {7 ]8、加权递推平均滤波法
- }: i4 z& c3 m- Y% a! k' u+ J    A、方法:6 m. s6 ]6 b  c- C7 {+ {' D+ J
        是对递推平均滤波法的改进,即不同时刻的数据加以不同的权8 |# l( H' d7 Z: X
        通常是,越接近现时刻的数据,权取得越大。
# Q! f) U" O0 b" z* a) C" M        给予新采样值的权系数越大,则灵敏度越高,但信号平滑度越低5 z  P0 N2 x2 e1 Q# J
    B、优点:; d7 P1 E# L9 T/ g' a" G% A2 O& n- k
        适用于有较大纯滞后时间常数的对象; _0 X; Q) r) J6 _: K
        和采样周期较短的系统+ Z, C3 ~. h9 J! t  X+ G9 ?
    C、缺点:3 E  \- i% R9 }" ]0 v- e( z
        对于纯滞后时间常数较小,采样周期较长,变化缓慢的信号
3 {1 f  `9 ]5 B$ L& k: L0 M        不能迅速反应系统当前所受干扰的严重程度,滤波效果差; r# {+ h$ F; ?/ @
0 f: i& _5 ?# l% F
9、消抖滤波法' |' G) p! T: y+ A# c; Z
    A、方法:8 y! C( h- U- E" R. R  X8 X* X" f
        设置一个滤波计数器
0 S' j0 R1 q  z/ `( S( _) F+ p5 j        将每次采样值与当前有效值比较:9 B+ {5 L" X" W/ I" o
        如果采样值=当前有效值,则计数器清零9 A6 J1 W* f5 m( C; j2 b  A( s( N
        如果采样值<>当前有效值,则计数器+1,并判断计数器是否>=上限N(溢出)
2 ?, K: ^1 s' u# L            如果计数器溢出,则将本次值替换当前有效值,并清计数器  q1 F/ z; _9 u7 Y1 ?& ?: R4 z4 G
    B、优点:
0 M" j2 j, e# v) Q9 L! M        对于变化缓慢的被测参数有较好的滤波效果,
  E& X3 ^1 J- w- `. v        可避免在临界值附近控制器的反复开/关跳动或显示器上数值抖动
+ ?# p! X8 d/ D  N    C、缺点:
' z& ^( e$ x  V: V/ @6 ~6 [- I        对于快速变化的参数不宜, f3 \4 {3 S+ n; n9 b0 ?5 t
        如果在计数器溢出的那一次采样到的值恰好是干扰值,则会将干扰值当作有效值导
# V9 b# Z1 }9 T$ ~( N入系统
; l/ S2 u& h# e
1 ~2 E, P0 S% c10、限幅消抖滤波法. v' N( B. h+ _" C5 _
    A、方法:+ F3 D( _+ I. ~
        相当于“限幅滤波法”+“消抖滤波法”
7 V. N) {8 f! S        先限幅,后消抖
4 L; k" i" v" {- o1 `    B、优点:, h8 q' B! j+ K0 }, W
        继承了“限幅”和“消抖”的优点0 v3 H8 b+ b1 j# e& b9 u  _, J8 h
        改进了“消抖滤波法”中的某些缺陷,避免将干扰值导入系统
  a: b5 P: p- I    C、缺点:
' V* c) U6 f6 `3 w7 F1 M5 f: k        对于快速变化的参数不宜

该用户从未签到

2#
发表于 2016-8-13 11:05 | 只看该作者
路过捧场,谢谢分享!
/ i* \0 u' D, V( I. J  O

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-11 13:02 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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