数学建模社区-数学中国

标题: [原创]软件滤波 [打印本页]

作者: xjq2005    时间: 2005-4-4 12:08
标题: [原创]软件滤波
软件滤波方法
* \; H( z" L$ }- x' r4 l9 H4 ?6 Y6 c( ]( |$ w2 K
第1种方法、限幅滤波法(又称程序判断滤波法)3 r/ a; @) T- O$ t
A、方法:. U$ f  ~! n) r) Q! Y7 J  \% D
根据经验判断,确定两次采样允许的最大偏差值(设为A)
3 P2 x  L. C9 i; E- s0 t9 n/ O. a9 T2 Y每次检测到新值时判断:
9 F; m7 p2 }6 |8 b$ e0 j% R2 D; \如果本次值与上次值之差<=A,则本次值有效
; F; R+ k7 s7 Y7 B4 W5 n如果本次值与上次值之差>A,则本次值无效,放弃本次值,用上次值代替本次值
+ s) R0 B. n! c& PB、优点:
8 ~3 k+ C" x8 _( Q' O能有效克服因偶然因素引起的脉冲干扰% `7 m. m9 [* J9 v( e
C、缺点6 ~2 M# y: C$ [3 r2 M* P
无法抑制那种周期性的干扰: }; x' S9 M7 D3 ]" C* ]2 B9 R8 I
平滑度差- Q3 d/ U& B( K# r
- }; X$ s. n9 I1 ^9 [
第2种方法、中位值滤波法
1 n6 u3 e" H# }) z! ^) |A、方法:$ _5 v7 m9 F5 K% c' a9 h
连续采样N次(N取奇数)9 F7 o! X3 Z7 h/ ~% t
把N次采样值按大小排列: O  i: h$ Y$ @
取中间值为本次有效值
+ l6 ^8 p3 K1 J8 p, N& ^: SB、优点:9 X4 ?- S6 M) X6 l# r; R( b
能有效克服因偶然因素引起的波动干扰
1 e8 |* q# V; D对温度、液位的变化缓慢的被测参数有良好的滤波效果) d, M0 Y( u( i3 i! v$ H) G. ~
C、缺点:
2 m( X! d, K$ f; H+ X对流量、速度等快速变化的参数不宜
* ^" l7 B4 S& {5 N( |# j7 L# s) _2 Y) Q# n$ `5 T+ A
第3种方法、算术平均滤波法" v  \4 a: F- n
A、方法:+ K( ^" o; Y3 I: h! o
连续取N个采样值进行算术平均运算
  m* e# [6 o# d9 n$ pN值较大时:信号平滑度较高,但灵敏度较低
( S: D" \+ {  }8 l& eN值较小时:信号平滑度较低,但灵敏度较高
* {! W8 A% M7 }+ oN值的选取:一般流量,N=12;压力:N=47 i  a3 K- O/ ^: Q9 J* o  p
B、优点:
0 h& D  x5 p* J0 K' |适用于对一般具有随机干扰的信号进行滤波
. C! c/ H3 U" P/ P6 ^! _. M# H这样信号的特点是有一个平均值,信号在某一数值范围附近上下波动
( Z3 P/ ]4 g: M6 q/ ?C、缺点:8 A, b& i/ T) h
对于测量速度较慢或要求数据计算速度较快的实时控制不适用% ^) G1 u- _/ n, F" k: e. _% _
比较浪费RAM
8 H, O- l3 }8 k+ d. z  A9 G/ s8 s
7 |: ]( h: n$ f1 t) T. Z6 X第4种方法、递推平均滤波法(又称滑动平均滤波法)
9 n2 {3 ]& C2 \/ S$ j. }3 g: dA、方法:
3 [6 X' O/ }- M/ N9 z' {" q. g把连续取N个采样值看成一个队列7 p" G( {$ [  H( E' T) I( @
队列的长度固定为N% k9 d) o( g' g% {2 F8 m' T
每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据.(先进先出原则)
' ~: c; ~! Q/ U5 E) {把队列中的N个数据进行算术平均运算,就可获得新的滤波结果) @* I; ^* B7 \0 h4 y
N值的选取:流量,N=12;压力:N=4;液面,N=4~12;温度,N=1~4. e/ W9 ~+ K/ C  \+ y$ s
B、优点:
, H: r0 L2 A+ m9 g( E对周期性干扰有良好的抑制作用,平滑度高
. L/ j' e4 l: P! {! T. ~适用于高频振荡的系统
; |) o$ Q" ^+ f, I" r! I5 M$ q! n( UC、缺点:, O- y/ v3 n% L2 @6 C( {3 p% ]
灵敏度低
8 ]5 F8 a: J$ y% C9 S对偶然出现的脉冲性干扰的抑制作用较差
: j3 w6 v- H8 C# L- J不易消除由于脉冲干扰所引起的采样值偏差0 y6 c9 ?8 S: ]- y
不适用于脉冲干扰比较严重的场合
9 M. N6 A7 Q% P+ \) x! H" X3 `比较浪费RAM9 Y5 k0 g: E; a: Q2 ~! m: Z# Z; I

9 ^+ y8 y% M9 k* j第5种方法、中位值平均滤波法(又称防脉冲干扰平均滤波法)% l6 q" i. ^/ s0 q% N0 H
A、方法:
7 i! E* b" F" ^6 p相当于“中位值滤波法”+“算术平均滤波法”
" |8 |. Y0 r; \4 Y% M连续采样N个数据,去掉一个最大值和一个最小值
/ @1 k. z/ ~# x! E) f% D! p& J$ y  ?! J然后计算N-2个数据的算术平均值
0 @4 ?/ q/ X' H. v9 e- oN值的选取:3~14: m. l" i& l6 Z" h* k9 W; |1 {( v
B、优点:  ]) k3 N4 ~$ Z& P$ |% h
融合了两种滤波法的优点
7 E  B2 s9 X* J1 F: |对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差
4 i' s: l& `. G, _! }0 z. P3 j- uC、缺点:0 _3 g) j; i& W6 n
测量速度较慢,和算术平均滤波法一样
. g7 p' U3 ?  Y1 k比较浪费RAM3 U& v; Y" P% Y" G4 Z6 r- F; S
1 K" x9 G& L) v

1 j: E2 C& |2 K6 s8 `2 }第6种方法、限幅平均滤波法
4 r/ M: g" N. l/ w- T4 UA、方法:1 e/ T3 J2 ]) F
相当于“限幅滤波法”+“递推平均滤波法”
, _' a  I+ f, m# o2 j每次采样到的新数据先进行限幅处理,- e/ z) R1 H5 a# {# |* s: ^$ X
再送入队列进行递推平均滤波处理
1 ?  K8 e: e, A; Y" E, ^7 zB、优点:  S) E- o* u! z) `2 f0 ~- T& R
融合了两种滤波法的优点
+ u- f  o+ D0 ~( Q1 z& m% y对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差
9 `: q; |& r+ w- }: R% AC、缺点:
, B2 R" P: d4 J比较浪费RAM
) Q: G: v! V( U# Y9 y" i5 b
& x' s$ K8 L  s/ \) |! v8 [第7种方法、一阶滞后滤波法
2 J) M& o0 ^; r7 kA、方法:/ `9 p! ?7 U9 {) r# v
取a=0~1
* Y8 N" R6 q' V- t6 B) i% @本次滤波结果=(1-a)*本次采样值+a*上次滤波结果
7 [. k/ W/ n: o7 w" P0 YB、优点:# U) L8 s! M' ^
对周期性干扰具有良好的抑制作用' k- e6 Y+ p8 p: d5 w8 Y" `
适用于波动频率较高的场合, \( n1 `) n7 P* h
C、缺点:
. N' Y  \3 N2 f/ O2 f5 s4 A: N0 ?相位滞后,灵敏度低
) d0 w0 R' h! y$ P: U6 ?滞后程度取决于a值大小
& q1 }/ q; C+ \2 l8 ^6 z不能消除滤波频率高于采样频率的1/2的干扰信号+ r! f3 ~7 s, W! h- q( q! V& m

% @: n: c" Q4 e! D0 F9 q' M第8种方法、加权递推平均滤波法% d: a- f# ^: |6 L
A、方法:
' n4 K1 ~9 l# i5 M是对递推平均滤波法的改进,即不同时刻的数据加以不同的权
) Z  r: {5 x) @通常是,越接近现时刻的数据,权取得越大。4 t# V; P2 U# I$ q' H
给予新采样值的权系数越大,则灵敏度越高,但信号平滑度越低
/ }; A& N% W2 TB、优点:6 h! d5 l; {4 n: a$ Z
适用于有较大纯滞后时间常数的对象
  q( g( ~  k5 q) a和采样周期较短的系统& ?+ m9 L) h6 q8 `: t# I: R7 P$ j
C、缺点:
) }; I2 N, m( u# ?, w对于纯滞后时间常数较小,采样周期较长,变化缓慢的信号
  _- F- o( m1 H; F% E6 c9 G' A7 E不能迅速反应系统当前所受干扰的严重程度,滤波效果差. p* P4 _1 m9 v6 R8 A4 @6 q1 B7 V

( x: v$ y" T: A" l" Q3 ?第9种方法、消抖滤波法
3 k7 r: D+ Z: b8 Q, N1 a7 J. uA、方法:: d/ H8 U$ ?6 c8 z) \6 z! h! a8 B6 b: @
设置一个滤波计数器& U! L! H& w' W' w8 {; c) c0 q
将每次采样值与当前有效值比较:
5 [" C6 P0 c. G# ?如果采样值=当前有效值,则计数器清零
# v! z6 R& c9 h4 e1 Z9 B如果采样值<>当前有效值,则计数器+1,并判断计数器是否>=上限N(溢出)  U+ ~9 D4 b. ^+ i' Y
如果计数器溢出,则将本次值替换当前有效值,并清计数器
* M0 E* s: A: T- ^* G& TB、优点:& ?1 T" y. @; P4 |4 G
对于变化缓慢的被测参数有较好的滤波效果,* R% N- R2 x3 L  c
可避免在临界值附近控制器的反复开/关跳动或显示器上数值抖动2 u' M5 j, @& \, B( D
C、缺点:. f) r8 P6 O# l: T- N
对于快速变化的参数不宜6 z6 J& Q3 H$ p' `0 i4 O0 u1 n
如果在计数器溢出的那一次采样到的值恰好是干扰值,则会将干扰值当作有效值导入系统
9 y! {5 g' ]( B! m/ u& o
" a( i: r" D+ G3 h3 T4 b; O第10种方法、限幅消抖滤波法+ z, i( F. o- @- j  b- S2 r  q
A、方法:
6 b! @6 F9 l; y, f4 y相当于“限幅滤波法”+“消抖滤波法”1 l2 x8 J, N9 \4 i
先限幅,后消抖5 W9 G) t9 q) f2 e( ^5 l
B、优点:" A4 |- O9 J* b/ ~: s) M* E- `
继承了“限幅”和“消抖”的优点
2 f0 E2 r2 R' h% M5 {* a- ]9 W6 I改进了“消抖滤波法”中的某些缺陷,避免将干扰值导入系统
1 ?! y. F8 E8 N; GC、缺点:
7 v2 t3 b3 E. {( `/ k  t对于快速变化的参数不宜* F& F, _1 K- q7 f" I$ A& d1 C

9 ?+ X0 ~# L- O" h+ I, i& }7 L
) B2 P/ x# B; D4 g5 Y第11种方法:IIR 数字滤波器
8 S+ `# {. h  n; R  v
1 H9 A8 t4 B6 e" D% \A. 方法:
9 s* r5 M% |; z9 f确定信号带宽, 滤之。4 R" I1 p: v% C
Y(n) = a1*Y(n-1) + a2*Y(n-2) + ... + ak*Y(n-k) + b0*X(n) + b1*X(n-1) + b2*X(n-2) + ... + bk*X(n-k)( b1 A' H* p1 I

% Y2 b3 ]% f: g! ~B. 优点:高通,低通,带通,带阻任意。设计简单(用matlab)
  f0 a1 K' N/ r2 B" }C. 缺点:运算量大。
作者: jin_geda    时间: 2013-9-29 16:15





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5