EDA365电子工程师网

标题: 单片机实现软件滤波 [打印本页]

作者: cyxs    时间: 2016-8-12 14:21
标题: 单片机实现软件滤波
1、限幅滤波法(又称程序判断滤波法)
6 z5 H* N; q/ ?4 K3 x7 V4 W    A、方法:, n  V+ n. A. p) W+ _
        根据经验判断,确定两次采样允许的最大偏差值(设为A)" C9 D6 w, w/ L! V, L2 x& f
        每次检测到新值时判断:/ Y. Z5 [/ J( o* A( |
        如果本次值与上次值之差<=A,则本次值有效
& @+ X5 Y- ?8 F; n. c) p        如果本次值与上次值之差>A,则本次值无效,放弃本次值,用上次值代替本次值
+ R" n$ Q" S& o    B、优点:
, ]+ r8 `! y) ?2 ]        能有效克服因偶然因素引起的脉冲干扰, R9 A' v+ o4 p/ d
    C、缺点" {8 q: s- a2 p9 @, B( b% \
        无法抑制那种周期性的干扰
) `9 f6 _, A" p1 I: E& m# s        平滑度差4 h# O9 i+ `) q9 {  f5 G3 h. D
   
; h6 m+ u" r7 R2、中位值滤波法
6 j3 ^' o& W, r: ^" C( o1 B; N    A、方法:4 I1 V* F3 Q* i+ i+ Y$ _( S0 s
        连续采样N次(N取奇数)
; k- l$ l& }# N+ v4 o4 F        把N次采样值按大小排列
2 Q$ O2 n7 P! t, E2 S, t1 u        取中间值为本次有效值- V/ @3 @, }4 K% ~5 j8 G
    B、优点:0 E5 f6 |* B* Z" T+ h& v4 p
        能有效克服因偶然因素引起的波动干扰. t: Y0 e6 S1 J
        对温度、液位的变化缓慢的被测参数有良好的滤波效果
" f: l1 Z) s/ Y' W  u- Y    C、缺点:1 P: E# j. x6 X$ ]/ q* J
        对流量、速度等快速变化的参数不宜  A9 V5 ~. E. W  K  n
7 g$ g! y& D( _/ n8 @0 p
3、算术平均滤波法
9 ~$ F: d/ m. q0 r. g3 ]    A、方法:
1 ]" \" B, d# d1 J9 A5 F# y' Z        连续取N个采样值进行算术平均运算
  d9 ~* G% F+ c; U2 {        N值较大时:信号平滑度较高,但灵敏度较低2 o  o& n1 h. K
        N值较小时:信号平滑度较低,但灵敏度较高
! \+ g/ W5 P% ~& `        N值的选取:一般流量,N=12;压力:N=4% c+ f# h( u% D8 e, f% Q
    B、优点:
2 n! {. ]: [# }$ [        适用于对一般具有随机干扰的信号进行滤波3 v+ w+ n3 @; p) {% ~1 M
        这样信号的特点是有一个平均值,信号在某一数值范围附近上下波动
. N/ V8 M, h: S. G2 i( m    C、缺点:
2 X! i+ L5 O2 F5 m$ @4 Y: P/ f        对于测量速度较慢或要求数据计算速度较快的实时控制不适用1 T/ e5 K8 I' k3 f2 u
        比较浪费RAM
+ f) n( l8 \! O. [) Z( ]        
! x8 L& |, ~9 [: E2 @! E, U5 r$ }( [4、递推平均滤波法(又称滑动平均滤波法)
4 j7 c; `! T$ ^    A、方法:
8 q* d- @! }% I+ T% [        把连续取N个采样值看成一个队列
: N! S8 u5 S( Z0 T/ i  ]7 K" b# g        队列的长度固定为N
* ?! Q0 M2 q8 b% {, e        每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据.(先进先出原则)
' N( H* ~3 w6 ^0 a2 G        把队列中的N个数据进行算术平均运算,就可获得新的滤波结果3 Z  Z! n- x( K9 c9 i+ K/ ^8 |
        N值的选取:流量,N=12;压力:N=4;液面,N=4~12;温度,N=1~4
" o. Q3 y6 y: f8 h1 ~6 _# R    B、优点:
0 R$ N& [9 ?1 X# Q, u# I6 q        对周期性干扰有良好的抑制作用,平滑度高& B, ~- Q9 K3 E1 c# `! f# @& r
        适用于高频振荡的系统   
: C( L$ b0 g7 d7 q    C、缺点:
( H$ X4 H* g% }0 f  m/ E7 d: V        灵敏度低% D( |( ?; X+ `) P3 \: a: O
        对偶然出现的脉冲性干扰的抑制作用较差& m7 I$ n, m" I- W  M
        不易消除由于脉冲干扰所引起的采样值偏差, P. A* R, [/ m: o0 r
        不适用于脉冲干扰比较严重的场合
1 O/ p/ V- N0 S        比较浪费RAM
4 R9 O7 D+ P% H% y        ( ~. `8 f) i0 I. v6 _
5、中位值平均滤波法(又称防脉冲干扰平均滤波法)
2 Q. i; k& s# R    A、方法:
: O+ E! k' b1 `. M8 K- P  [        相当于“中位值滤波法”+“算术平均滤波法”
4 T( a2 |( r, U' @: f        连续采样N个数据,去掉一个最大值和一个最小值
2 p, U  s) Q3 {        然后计算N-2个数据的算术平均值
  j; v( ?9 Z7 V* z$ t0 D. P        N值的选取:3~142 C7 U9 F$ J) b! C4 ?4 E6 C
    B、优点:* l9 f" e" D( Q0 g+ {$ `
        融合了两种滤波法的优点
$ n0 j0 E/ X9 L% p        对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差4 G2 ^) s$ u2 F$ v1 f# C
    C、缺点:
! {, l+ t- S) h! @$ y2 E1 W        测量速度较慢,和算术平均滤波法一样+ Z" L; [/ k% q5 r: A8 @
        比较浪费RAM
/ F0 Y- h# {4 L4 s4 y8 c! s. G. b( Z5 X2 {% Y  @: @
  D0 E. y; v3 ~- e8 A% l
6、限幅平均滤波法6 ]% D/ d, L6 ?* O$ \. G
    A、方法:  p0 R9 s# g# x$ H7 ?+ a7 v& G* E( e
        相当于“限幅滤波法”+“递推平均滤波法”7 w+ l: x3 ~% E
        每次采样到的新数据先进行限幅处理,( |! V* T/ A$ p5 J' j
        再送入队列进行递推平均滤波处理
. i4 u: o% V5 Q- V+ u0 l    B、优点:
8 f1 t# M. T* v8 n) K5 l        融合了两种滤波法的优点
4 f6 K- |/ J- Q6 i7 V( U        对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差
! a0 ~3 J; p0 |/ W    C、缺点:' \! [/ G5 {8 h
        比较浪费RAM  _& T  A, F2 |8 i3 V. |' Y0 ^; v
" n- k1 w9 a2 k+ @. Q
7、一阶滞后滤波法
/ h: ~) K$ n7 N) p- p    A、方法:
8 g# B+ t0 Q3 s' f        取a=0~1: \% V. c7 ?  x, G' W' p
        本次滤波结果=(1-a)*本次采样值+a*上次滤波结果
' I# @( W4 f5 r6 o. k( E6 h* x    B、优点:6 ]+ |: S0 w0 d1 B" Y, h
        对周期性干扰具有良好的抑制作用
9 `& c+ ]. |" ]( o4 Z( U# \        适用于波动频率较高的场合! }* X5 v; @  |8 w, E+ ~  ~' W
    C、缺点:" o. z+ P8 Y0 Q! s3 V# l) T
        相位滞后,灵敏度低; l# w. C9 G' l
        滞后程度取决于a值大小4 M+ ^3 w; D+ J- f/ ]+ w7 T# m
        不能消除滤波频率高于采样频率的1/2的干扰信号
: H' ?; S, {& _* g% U        
9 g  ^( k7 W6 S: X6 s( n8、加权递推平均滤波法! Q: U) v' Y: J
    A、方法:( C. ~! |8 j6 t* v; c
        是对递推平均滤波法的改进,即不同时刻的数据加以不同的权+ j! K5 Z8 u! U' {0 t
        通常是,越接近现时刻的数据,权取得越大。
1 o+ d+ z& M; T4 X: R        给予新采样值的权系数越大,则灵敏度越高,但信号平滑度越低
, @1 ?* z; w1 T. G5 z- q$ f    B、优点:
3 @5 V* k% n/ x3 Z# P        适用于有较大纯滞后时间常数的对象, |. A  R0 }1 m7 a/ {: ]3 \% x
        和采样周期较短的系统
& q7 b$ }7 H5 u* Z8 S4 D. i    C、缺点:
$ h: l+ `* r) A- R: e        对于纯滞后时间常数较小,采样周期较长,变化缓慢的信号
, k; e7 t" `( W9 ]0 _        不能迅速反应系统当前所受干扰的严重程度,滤波效果差# @, E+ s* l1 i) G

" M6 u) ^4 {. V& G+ q- z6 P( N9、消抖滤波法
- J0 K0 m( p9 i3 o. k    A、方法:
5 l$ P; l4 u' s9 B+ m3 w3 n9 F        设置一个滤波计数器
1 T9 t8 z. Z5 m  r3 l7 H& b        将每次采样值与当前有效值比较:/ I% ^9 A- e4 l$ A) q
        如果采样值=当前有效值,则计数器清零  d1 U" C! J. v; o7 C8 e
        如果采样值<>当前有效值,则计数器+1,并判断计数器是否>=上限N(溢出)2 m1 J* p/ k8 d2 W  x2 B
            如果计数器溢出,则将本次值替换当前有效值,并清计数器( A" u3 I$ S0 C% X9 x) H4 X
    B、优点:) l; w8 T! s- H- @$ w6 y8 B* K
        对于变化缓慢的被测参数有较好的滤波效果,
( M  g) ~3 A) D6 K# l9 W; I, y        可避免在临界值附近控制器的反复开/关跳动或显示器上数值抖动4 e: d$ q. o, _/ B! Y2 I
    C、缺点:2 P5 q% V/ O$ q: l5 f# _
        对于快速变化的参数不宜
# L4 H+ f7 R/ E7 _& [        如果在计数器溢出的那一次采样到的值恰好是干扰值,则会将干扰值当作有效值导
( E& s& q' S! e+ R% O+ n入系统
. v4 x2 V4 K/ |# M' w( I1 J* K
3 ]& [5 Q) j5 K; O% \! E) J7 x10、限幅消抖滤波法
. ?& B" t& Q2 ~# h    A、方法:
0 Q* N" |0 n8 z) g. [; ^# r2 N  B        相当于“限幅滤波法”+“消抖滤波法”5 j# W$ I3 k1 D* t' H
        先限幅,后消抖* F- x2 k; X0 y# P! }, k) X
    B、优点:7 K% g" m8 A6 t
        继承了“限幅”和“消抖”的优点  `; O: U6 q6 p
        改进了“消抖滤波法”中的某些缺陷,避免将干扰值导入系统
* @0 P" g( C0 j    C、缺点:
8 o! K! g" e. S: }6 t        对于快速变化的参数不宜
作者: Abricy    时间: 2016-8-13 11:05
路过捧场,谢谢分享!
8 a5 q( B" U0 F




欢迎光临 EDA365电子工程师网 (http://bbs.elecnest.cn/) Powered by Discuz! X3.2