QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 5043|回复: 1
打印 上一主题 下一主题

[原创]软件滤波

[复制链接]
字体大小: 正常 放大
xjq2005        

1

主题

0

听众

18

积分

升级  13.68%

该用户从未签到

新人进步奖

跳转到指定楼层
1#
发表于 2005-4-4 12:08 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
软件滤波方法
% g2 W5 A7 T" c0 c. J6 [
4 [5 ^+ u3 P% y  c- a第1种方法、限幅滤波法(又称程序判断滤波法)+ |% H& f. i7 k; X5 p9 E( h% c3 l
A、方法:( Q3 P8 |/ G& M5 g9 Q, J
根据经验判断,确定两次采样允许的最大偏差值(设为A)' F  P) R5 ?/ S
每次检测到新值时判断:* @- J* [, D1 |1 ?( {! H
如果本次值与上次值之差<=A,则本次值有效
6 {! S: e- r6 c如果本次值与上次值之差>A,则本次值无效,放弃本次值,用上次值代替本次值
; q: }  D8 |8 ~0 \B、优点:7 q) `2 k0 B# |% g
能有效克服因偶然因素引起的脉冲干扰
; T# r3 C7 o) QC、缺点% C5 g6 A) _2 @
无法抑制那种周期性的干扰
1 \1 y, @( Z/ ]" }9 a$ }  q3 v平滑度差
) Y/ N7 Q. b9 H. _: z6 D
& K! c9 |  J# ~) Q. C6 i, p* ~第2种方法、中位值滤波法+ r% Y6 p4 M: ^3 y9 z! X& i
A、方法:& h1 X- V  _) b, g. x2 p* A
连续采样N次(N取奇数)
; n# l2 j7 [2 ~% C6 e$ W把N次采样值按大小排列
; X# ], C3 X, |% {3 ?" O取中间值为本次有效值
2 N; s3 j4 B& K0 a/ gB、优点:
8 T: B7 A" P8 V能有效克服因偶然因素引起的波动干扰9 e* U7 r( o  y+ k1 M+ w
对温度、液位的变化缓慢的被测参数有良好的滤波效果' j9 H6 ]& H# G$ T5 i! z7 c6 b/ K
C、缺点:+ L& K" {8 Q. @
对流量、速度等快速变化的参数不宜
' f' N3 z' y2 q# f) c! ^$ h3 }7 X, t* S
第3种方法、算术平均滤波法( y% \. F% |/ J5 E& q3 X7 m
A、方法:; e# I. r1 ]# F( \0 u+ X5 M
连续取N个采样值进行算术平均运算
+ p- y. Q) Z2 V! ]% M$ t* V2 Y) H7 SN值较大时:信号平滑度较高,但灵敏度较低
. Z$ b( n3 s1 t2 xN值较小时:信号平滑度较低,但灵敏度较高& e8 a% I6 p: g. m/ y0 B
N值的选取:一般流量,N=12;压力:N=4: J* w) c  G  s! q9 w- c5 L# c
B、优点:& z; |3 `6 W: J
适用于对一般具有随机干扰的信号进行滤波' Q" V& d. e. P7 A1 u
这样信号的特点是有一个平均值,信号在某一数值范围附近上下波动
2 w% }: t- N$ P) qC、缺点:  v( Q, I4 r7 q# i- z
对于测量速度较慢或要求数据计算速度较快的实时控制不适用3 ~2 @* f+ Q4 w7 @/ h. L/ f
比较浪费RAM
. I/ J! i8 T# z/ H3 J
8 }& E0 ^# _1 i. E3 l第4种方法、递推平均滤波法(又称滑动平均滤波法)
/ }+ y* P/ \( a' d* tA、方法:$ j( o+ M; f) a
把连续取N个采样值看成一个队列
; A" `2 t* W3 ^4 [- D/ R队列的长度固定为N) E" F: U7 g  r5 e8 G) ]- u# ^
每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据.(先进先出原则)3 n( O" B- b& O+ p+ N2 Y$ Y
把队列中的N个数据进行算术平均运算,就可获得新的滤波结果% w! y( T  V& O! ?3 i9 `$ m
N值的选取:流量,N=12;压力:N=4;液面,N=4~12;温度,N=1~4
0 ^% x/ M. c* z7 F" X7 EB、优点:( o" Q1 s- I# Y/ a7 h# p
对周期性干扰有良好的抑制作用,平滑度高
& F8 o# Q5 S6 G  l) j6 d适用于高频振荡的系统
0 O; R# t) @  p5 r; Z9 T" @: W; JC、缺点:/ v+ ]* C; U! \1 k' e) S) }
灵敏度低! l4 O) S5 m+ H- t5 H8 k# c% W
对偶然出现的脉冲性干扰的抑制作用较差
1 }7 V  H' o. a- m不易消除由于脉冲干扰所引起的采样值偏差& [/ H, W" C& X" Q9 Y7 ^
不适用于脉冲干扰比较严重的场合
! F$ [! {4 K1 H' B( |+ W9 z比较浪费RAM0 q3 f$ y" j2 r
- x9 d0 Y" B0 ~% P/ ^3 I5 O, n
第5种方法、中位值平均滤波法(又称防脉冲干扰平均滤波法); |/ Q7 x* p" h: H0 m7 a
A、方法:3 ]0 i& I. `$ t. R' E, j, O
相当于“中位值滤波法”+“算术平均滤波法”& a( Q8 U& P5 H
连续采样N个数据,去掉一个最大值和一个最小值& e* u  m( ?( D$ t4 q
然后计算N-2个数据的算术平均值
, `$ w8 Z) [* R2 `6 g% n* [N值的选取:3~14
0 H7 S' `* R- {+ i7 MB、优点:
) i4 e% O, Y+ d" M融合了两种滤波法的优点
' u! ^% t& e8 ?1 X  t' T0 V对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差
* ?2 |4 A# T4 @( ^5 v9 nC、缺点:
# ~/ b* r) Y7 a6 u2 d测量速度较慢,和算术平均滤波法一样9 |  L  l1 x/ U4 {9 j$ }
比较浪费RAM
5 j! u" V3 W% n$ u, @+ K0 A2 P& O7 q2 Q

4 M6 k6 u/ m! J0 k第6种方法、限幅平均滤波法
. L; h* ^8 D* E8 k; Y# zA、方法:
9 a# {! N4 r  S$ p) t8 W+ Q相当于“限幅滤波法”+“递推平均滤波法”
" @, }+ X+ P. P& _$ k每次采样到的新数据先进行限幅处理,* ^. S. D. \0 Y8 v  C) [
再送入队列进行递推平均滤波处理
, \( m; g) X+ b, vB、优点:9 `4 q* N4 F, H$ f5 F
融合了两种滤波法的优点6 }7 c$ ^9 t5 ]
对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差
4 _% m0 |% U( T; h3 ~) K* aC、缺点:
$ e0 F$ j9 l4 O比较浪费RAM( L& Z$ S) @  @& x+ a
3 V' _% [0 x( i2 d* {( b1 n
第7种方法、一阶滞后滤波法+ f+ O4 {& O/ M" l
A、方法:( T: u2 H/ D" Q+ ?
取a=0~1  G/ b4 S& E9 M1 K' H
本次滤波结果=(1-a)*本次采样值+a*上次滤波结果9 g% n3 b/ ?' @5 x" @8 D) I
B、优点:
5 M6 t! r# y" I$ h: R* W/ W对周期性干扰具有良好的抑制作用$ Q% E, S- l4 d4 V" ?+ M3 _
适用于波动频率较高的场合
8 d& n4 h0 V: c+ Q+ iC、缺点:
/ Q( J! ^4 ?# w4 O# |# _相位滞后,灵敏度低
% I9 m4 ]7 p) ]滞后程度取决于a值大小
  g# b& a* Y+ s' i不能消除滤波频率高于采样频率的1/2的干扰信号
% S+ T; y0 \( P( @& |% s0 P: p
, q: d9 b0 Q2 ?1 M第8种方法、加权递推平均滤波法
9 t5 Y$ x  o/ n' R7 GA、方法:
; L2 w( t, R" _" F' G是对递推平均滤波法的改进,即不同时刻的数据加以不同的权/ t6 R/ B: H& P, ?0 A7 q+ |
通常是,越接近现时刻的数据,权取得越大。9 n" d& {+ i! [4 k) z9 [
给予新采样值的权系数越大,则灵敏度越高,但信号平滑度越低7 q1 C% B. f& n5 ?7 Y2 i
B、优点:
" L& G/ ]: p1 X6 m5 ?3 i5 W2 K. g适用于有较大纯滞后时间常数的对象1 P: C2 d9 v  r: i8 T/ R
和采样周期较短的系统& {; w% U$ [1 X& h. a' m
C、缺点:$ _4 f) o; o% B9 _- o, L. d
对于纯滞后时间常数较小,采样周期较长,变化缓慢的信号
6 v4 J/ U  N1 I+ v0 k" b6 t# D  Z不能迅速反应系统当前所受干扰的严重程度,滤波效果差
9 M! A; ?, M( s, y: z. ~- N
  |4 j: ^& B! Q& y第9种方法、消抖滤波法
+ K: e0 W' Q8 F/ j1 ~  x+ kA、方法:" @5 u& a4 J* C3 r2 T- E- e! ^- H
设置一个滤波计数器  g% g! U; C1 u$ i2 |
将每次采样值与当前有效值比较:
+ _3 b7 A/ P* K如果采样值=当前有效值,则计数器清零' w0 h5 M: C7 y, {  w7 w( o
如果采样值<>当前有效值,则计数器+1,并判断计数器是否>=上限N(溢出)0 z( h$ \9 b- p) P3 n
如果计数器溢出,则将本次值替换当前有效值,并清计数器. K, c2 r. {1 f8 W5 j" T
B、优点:2 G/ X. X. q6 X* l* ^6 _
对于变化缓慢的被测参数有较好的滤波效果,
5 B5 o6 G9 V" t可避免在临界值附近控制器的反复开/关跳动或显示器上数值抖动
8 U' d' R( f3 I/ f: Q* [C、缺点:% _/ d" B" n) V0 R) n; w
对于快速变化的参数不宜* A! i3 |8 B- A
如果在计数器溢出的那一次采样到的值恰好是干扰值,则会将干扰值当作有效值导入系统
2 M3 L" d4 c% P. @' k- K0 G6 v
  c! h4 b5 c3 {- f  K第10种方法、限幅消抖滤波法
! L- E0 ~8 V" n0 g! V2 ZA、方法:
5 N: s4 O: z9 e- `& s9 E相当于“限幅滤波法”+“消抖滤波法”
2 G& C% p. W8 R/ `" x先限幅,后消抖7 a- D% A* e: d9 }9 p) P% C$ r, L
B、优点:
) H+ |9 d# C# e* ~, Q继承了“限幅”和“消抖”的优点' q6 Z2 {2 C' r. |: r
改进了“消抖滤波法”中的某些缺陷,避免将干扰值导入系统0 R& u) c  E0 q+ T# b! f
C、缺点:
0 X$ o1 g) I% Y: U7 w对于快速变化的参数不宜$ a; Q9 S  O$ R7 U' B1 Z4 p, C
8 I# a! x6 s; ~5 x
4 I2 j0 F1 K& o; |' L- F8 J, c
第11种方法:IIR 数字滤波器
  |3 ?9 A6 d5 U! L( o
" n& w2 a0 t! W3 d5 ]+ e! EA. 方法:
' f$ \) {8 K4 g* S! w确定信号带宽, 滤之。0 g# e1 T2 q0 k) ?2 p& h
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)# ]0 k" a; T. V8 N: K
" r' S* ~) \; q  _' ?
B. 优点:高通,低通,带通,带阻任意。设计简单(用matlab)
+ s/ Y6 c2 X1 ^! t( ~7 lC. 缺点:运算量大。
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
jin_geda        

0

主题

10

听众

425

积分

升级  41.67%

  • TA的每日心情
    开心
    2024-2-5 16:43
  • 签到天数: 118 天

    [LV.6]常住居民II

    自我介绍
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-4-20 02:46 , Processed in 0.379363 second(s), 61 queries .

    回顶部