找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 38|回复: 1
打印 上一主题 下一主题

单片机实现软件滤波

[复制链接]

159

主题

527

帖子

1197

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

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

EDA365欢迎您!

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

x
1、限幅滤波法(又称程序判断滤波法)
2 P4 I$ v$ `7 g    A、方法:' H0 d) H9 Z. ?1 f$ b3 T
        根据经验判断,确定两次采样允许的最大偏差值(设为A)
" t4 @+ G% E2 ^        每次检测到新值时判断:/ L' {7 u  _1 v0 s1 J8 S  ?
        如果本次值与上次值之差<=A,则本次值有效
, m9 C0 o. T! T7 O! A8 v, x        如果本次值与上次值之差>A,则本次值无效,放弃本次值,用上次值代替本次值7 _( {4 p/ q! e& V5 g
    B、优点:
" t2 b3 [: D# }* @3 x4 Z        能有效克服因偶然因素引起的脉冲干扰& n1 e# |; R* M: k: g* C  U. i& Q
    C、缺点
: S9 V4 K6 E1 G( H9 V2 F" ^        无法抑制那种周期性的干扰
* d2 N+ `- f1 K. `  g        平滑度差; {1 x) E# [# V9 r3 d. j
    & t, G3 }& d5 @8 f1 ^8 b' b
2、中位值滤波法1 A5 v, p1 j, R* f
    A、方法:
2 i4 ^. A/ D- B7 X8 Y; V, o; v! z        连续采样N次(N取奇数)- X- s! ], @0 V/ t
        把N次采样值按大小排列7 v5 D! `% H2 x: A! O- s* @3 u6 ]7 V5 F
        取中间值为本次有效值
5 S4 A! J8 Y) H  }    B、优点:
& t8 V+ A; e; a, x" {        能有效克服因偶然因素引起的波动干扰+ d, P3 S, e5 H6 l- f4 v
        对温度、液位的变化缓慢的被测参数有良好的滤波效果
& X: A! S$ M1 d) f3 E* d    C、缺点:: R7 l6 g8 G- Y- u3 Z* l
        对流量、速度等快速变化的参数不宜
! @! V6 f3 j( K$ q- ^; T9 T; ^9 ]: ~1 Y6 J4 ]8 A
3、算术平均滤波法
8 K/ }; Q# t1 X# r6 t( S. t- a0 S! B2 P    A、方法:
+ Q7 q( r, X  H6 l        连续取N个采样值进行算术平均运算% E  ~0 z7 y! c) Q
        N值较大时:信号平滑度较高,但灵敏度较低
2 e  ^# X, C4 x7 B! w5 x( P        N值较小时:信号平滑度较低,但灵敏度较高6 q5 b, F( M1 N5 z+ v# c  i5 k
        N值的选取:一般流量,N=12;压力:N=4
2 c0 R9 b, W/ r4 P    B、优点:9 l$ k! |' a! Q# X2 Y
        适用于对一般具有随机干扰的信号进行滤波2 a9 P5 W6 H, @3 a8 f
        这样信号的特点是有一个平均值,信号在某一数值范围附近上下波动- H5 L# S8 W9 ~
    C、缺点:4 x3 ?! S/ h$ z" x7 y! H9 t
        对于测量速度较慢或要求数据计算速度较快的实时控制不适用1 ]& R9 J5 G9 o  x
        比较浪费RAM) T. {4 O9 p$ Z7 p# H
        
$ ~* ^2 w; x8 V9 [6 A" q4、递推平均滤波法(又称滑动平均滤波法)
9 J2 J/ x" d, v    A、方法:
6 p# O0 X8 c! L5 @: J/ E4 L        把连续取N个采样值看成一个队列
- g6 t7 x7 w6 t        队列的长度固定为N- I5 \; v( |9 q$ |( D! L9 x
        每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据.(先进先出原则)+ J7 }2 ?$ P+ S: y  g# _4 C
        把队列中的N个数据进行算术平均运算,就可获得新的滤波结果
1 t+ P! W. E( Q* w9 ]0 y: A6 `        N值的选取:流量,N=12;压力:N=4;液面,N=4~12;温度,N=1~4, i3 L2 d1 j% o* R6 I
    B、优点:+ W* M" B' P: i
        对周期性干扰有良好的抑制作用,平滑度高( Y* Z2 a$ o( ^1 f  ~* F: _
        适用于高频振荡的系统   
9 Q5 F0 i4 r' \' k- c    C、缺点:. ]- w9 D6 [9 M4 e# }
        灵敏度低, q  ]1 h/ z6 n' {2 z& ]" {; ^1 Z
        对偶然出现的脉冲性干扰的抑制作用较差% E( Y7 j4 u+ O6 N9 `1 E3 u6 Z
        不易消除由于脉冲干扰所引起的采样值偏差( {5 B' z5 n3 b, s$ Q# U/ x
        不适用于脉冲干扰比较严重的场合
) o% J: ]0 F  w' L6 G4 d. I. H9 A        比较浪费RAM
7 m% F& t5 O) x: f- d  x1 T        
1 E; `! Q- @9 P3 |5、中位值平均滤波法(又称防脉冲干扰平均滤波法)% y$ A4 s; C( `) O/ b4 d
    A、方法:
+ ^  @+ `6 M! B7 m1 h1 o        相当于“中位值滤波法”+“算术平均滤波法”' T/ ]2 R8 h; `+ x% s" l) N' I: c
        连续采样N个数据,去掉一个最大值和一个最小值- D6 e; C1 m/ g5 b% o& j
        然后计算N-2个数据的算术平均值
- f! p5 y( B+ ?! w9 a        N值的选取:3~14
% A& j' H4 E$ J2 W* `; ~% M/ }; K    B、优点:$ c" t. @! c$ @
        融合了两种滤波法的优点
1 f6 Z+ z0 E. K  u, }) F        对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差, ^3 k6 M4 t0 Q' h! N
    C、缺点:
1 d, `! C2 N  L8 H: h# @! z! L        测量速度较慢,和算术平均滤波法一样
% w# ~5 D* R; ?# H: c: ]* l        比较浪费RAM; ?& L, P; C/ R; u9 J7 Q% |$ E2 w8 P
& e' {% T; m1 X$ z
  U$ Z/ P# @# G) _4 |" L
6、限幅平均滤波法/ @% b& p! w* @4 ]+ h. D
    A、方法:
5 _7 F: B* v1 \9 o  w0 j        相当于“限幅滤波法”+“递推平均滤波法”
# `, ^- q& ^6 `% E( d1 j% P        每次采样到的新数据先进行限幅处理,& s* d, [2 F& N7 E; k
        再送入队列进行递推平均滤波处理2 u; D& i$ g( X' Q, V3 V! Y5 @
    B、优点:) u/ u& A7 _6 |
        融合了两种滤波法的优点
; @2 A' X/ S; h1 B0 C% k        对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差
2 Q! Q/ M+ O$ L- k* w2 G4 e    C、缺点:
$ R7 B8 R* a# [2 ?( b) q        比较浪费RAM
: O: ~$ _, b: E/ g; x1 d7 b0 {1 s3 |: s. R( x3 e9 o
7、一阶滞后滤波法
8 w; {" T: E- _6 a0 i4 \9 o4 x+ j    A、方法:
+ c. K' X7 n+ `        取a=0~19 \4 H) X/ M) P( m! ?/ ]
        本次滤波结果=(1-a)*本次采样值+a*上次滤波结果3 ]' S) p0 _9 p7 f' U" N
    B、优点:
6 R# Z% P! i' g) c! n        对周期性干扰具有良好的抑制作用
- w2 U! ~; _4 D7 Q" b        适用于波动频率较高的场合
, N$ @. H3 F5 D1 `    C、缺点:
% f4 N: D' [  P' N" p; g        相位滞后,灵敏度低7 X6 O3 \' E% k7 \' @, p. `8 [
        滞后程度取决于a值大小( L# N. }& ]' A3 T2 m
        不能消除滤波频率高于采样频率的1/2的干扰信号1 t9 Z1 ~& J# p* I8 t2 v
        
% I/ e3 ^5 s; F8、加权递推平均滤波法
3 i1 M% h  ^7 j1 g' {7 Z' h    A、方法:% I% a6 l( Q4 R+ \& E1 G
        是对递推平均滤波法的改进,即不同时刻的数据加以不同的权* b) V" x$ b$ _
        通常是,越接近现时刻的数据,权取得越大。
/ W+ x" w4 R* h  E, C& R        给予新采样值的权系数越大,则灵敏度越高,但信号平滑度越低6 p- D/ Y% \  n# ?9 l5 y
    B、优点:
- [% n1 y0 j- O3 |0 A- G        适用于有较大纯滞后时间常数的对象
! l& U. o  r  B  m" ]1 Y; X8 C8 o2 m4 `        和采样周期较短的系统$ _8 A3 t% m: [3 S- Z) I* E
    C、缺点:
2 X- y( W: @% M  v: v        对于纯滞后时间常数较小,采样周期较长,变化缓慢的信号
' ^, D+ g# D8 w8 u; l3 @- `4 T        不能迅速反应系统当前所受干扰的严重程度,滤波效果差4 _5 m' Y! r0 s8 n$ l. o; J

! H. Y1 }  w- ^5 L0 m9、消抖滤波法3 X) z, R8 `" k- b
    A、方法:# |' J! @' D. p1 W; n% ~
        设置一个滤波计数器
& {, y' U% t( u) [% B! _( @        将每次采样值与当前有效值比较:) |, \" j& s2 T" A3 ^8 W: l
        如果采样值=当前有效值,则计数器清零7 K8 f% R6 d- A8 y4 g3 z$ b& ~
        如果采样值<>当前有效值,则计数器+1,并判断计数器是否>=上限N(溢出)$ s+ H8 L( }9 ?1 n/ a% j
            如果计数器溢出,则将本次值替换当前有效值,并清计数器  g+ U0 M( V) f  y# P8 b
    B、优点:) n" |  G) P/ C$ G  I% l" U: c, ^
        对于变化缓慢的被测参数有较好的滤波效果,
: j- z) |# |6 t# O9 `5 Y        可避免在临界值附近控制器的反复开/关跳动或显示器上数值抖动& W2 ?. _& S/ T" |  ~# l
    C、缺点:9 N7 t) F8 u9 \4 J3 D. s$ T1 K9 o
        对于快速变化的参数不宜8 E7 z2 Y  r1 g0 r3 x5 X+ \
        如果在计数器溢出的那一次采样到的值恰好是干扰值,则会将干扰值当作有效值导/ G8 O4 w4 D: x! O6 ]
入系统
# y- R9 p4 z9 l: B* g8 Z* c: v" t1 @! ~1 n0 J
10、限幅消抖滤波法' r- [! O: L0 N
    A、方法:1 L' H% o8 I( r9 p$ Q6 `
        相当于“限幅滤波法”+“消抖滤波法”
# U0 J, c" l4 \8 l        先限幅,后消抖
/ B$ V, z) p$ P4 w: V    B、优点:; u! d5 e* i" ^' D# ^
        继承了“限幅”和“消抖”的优点
/ G9 t  x2 w/ K4 D        改进了“消抖滤波法”中的某些缺陷,避免将干扰值导入系统* L* e* |+ l: S' s4 k
    C、缺点:' C' h1 L+ m) ?4 q, I' [
        对于快速变化的参数不宜
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

156

主题

559

帖子

1202

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1202
2#
发表于 2016-8-13 11:05 | 只看该作者
路过捧场,谢谢分享!4 m9 U/ s* f0 k8 j
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2025-6-4 04:29 , Processed in 0.079231 second(s), 32 queries , Gzip On.

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

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

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