找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

单片机实现软件滤波

[复制链接]

159

主题

527

帖子

1197

积分

四级会员(40)

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

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

EDA365欢迎您!

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

x
1、限幅滤波法(又称程序判断滤波法)
4 p& H" k8 F( Z, d5 d0 I  ~    A、方法:
6 K/ B$ v3 e7 A" G- x" c" a2 @) F        根据经验判断,确定两次采样允许的最大偏差值(设为A)
. H( j0 U, F: r* m        每次检测到新值时判断:
& R' }4 ^) F6 _& X3 ?        如果本次值与上次值之差<=A,则本次值有效* Q. O" U* y% D1 c, q
        如果本次值与上次值之差>A,则本次值无效,放弃本次值,用上次值代替本次值
6 @9 G. e* q2 [! E    B、优点:/ Y; d$ q% y4 W5 S
        能有效克服因偶然因素引起的脉冲干扰
& K$ @6 Z) o6 n2 a0 [" X    C、缺点
1 p2 m+ d7 }& ]6 q: T. t7 P# z        无法抑制那种周期性的干扰
) H$ w$ {# f  |  [( Z! F2 I8 |        平滑度差
, H; g9 A% W; ]- E. M# y    " y' X+ C2 j! x1 @9 e2 ?
2、中位值滤波法
( ?' g6 Y+ S, S0 q# Z: B" N    A、方法:# ?4 K% y; Y- M
        连续采样N次(N取奇数)) V) ]9 E+ g- f) _3 j& s
        把N次采样值按大小排列! n7 L/ A) H. V( U  y
        取中间值为本次有效值
" E% M# E/ c- X    B、优点:* ]( A8 J. ]3 H; H
        能有效克服因偶然因素引起的波动干扰& x0 ~3 |' h2 T5 I# V
        对温度、液位的变化缓慢的被测参数有良好的滤波效果& ~3 p) _( ]# b: n
    C、缺点:
( z2 i/ H, G* `+ ~' w        对流量、速度等快速变化的参数不宜# W+ L+ g% Z/ Y9 d0 W' P, p
9 I* d9 n3 j( D
3、算术平均滤波法! N3 i6 f) L$ v3 T% u* ?
    A、方法:' `. ~7 Q) w$ f3 `% D! n
        连续取N个采样值进行算术平均运算% r" O: X; I3 M5 I' u$ W8 `7 E( G
        N值较大时:信号平滑度较高,但灵敏度较低5 D6 M) t' i/ R4 O7 v. `% O. S
        N值较小时:信号平滑度较低,但灵敏度较高0 g' h! m+ r, d. u3 h# p2 S
        N值的选取:一般流量,N=12;压力:N=4
7 r2 C  i% m. Y    B、优点:  I7 r5 J$ N1 H' U+ ~' W  I7 T
        适用于对一般具有随机干扰的信号进行滤波9 u4 A/ Q. K/ t1 ^: `
        这样信号的特点是有一个平均值,信号在某一数值范围附近上下波动3 r2 t( B: z6 g9 v" U/ \
    C、缺点:
% ]- N$ A1 _% `7 H3 r) O        对于测量速度较慢或要求数据计算速度较快的实时控制不适用% C6 ~2 O/ j  [/ j5 r! a9 v
        比较浪费RAM1 C2 h& A8 j% H# @) m1 l4 T- f
        6 @( }2 o) A9 |2 o! |: H# P
4、递推平均滤波法(又称滑动平均滤波法)
  z$ O: s# m1 F    A、方法:5 _) b% v! w3 z* B% X& a$ t4 C
        把连续取N个采样值看成一个队列/ t  m( ]0 Q( F1 N
        队列的长度固定为N, E- I& A  D9 K8 o
        每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据.(先进先出原则)
( S' L3 v: E, S        把队列中的N个数据进行算术平均运算,就可获得新的滤波结果3 o  k$ ^( x! l( _
        N值的选取:流量,N=12;压力:N=4;液面,N=4~12;温度,N=1~4
. e* \$ X. V7 k    B、优点:
7 }& F) z* a' r        对周期性干扰有良好的抑制作用,平滑度高
; O: L1 `: y# H; c" i! r        适用于高频振荡的系统   
% D# w- B! j) g* [# B7 v    C、缺点:4 S) F, S- N$ S3 h' `3 P% }3 N
        灵敏度低' r7 L8 k  i* H- d
        对偶然出现的脉冲性干扰的抑制作用较差+ Z$ E! T# h2 K/ }, G
        不易消除由于脉冲干扰所引起的采样值偏差! O  [2 J# k0 W6 t2 \% A8 C
        不适用于脉冲干扰比较严重的场合% ~7 O  w2 P0 D/ M% u3 ^0 b
        比较浪费RAM
% y& G; n2 ~, T) q        
5 E$ d. D+ Z6 Z" K* X+ e" H" e5、中位值平均滤波法(又称防脉冲干扰平均滤波法)
* p6 {# _+ M3 ?: Q: z- r    A、方法:
1 q) {4 n7 G. S- D        相当于“中位值滤波法”+“算术平均滤波法”, ]7 {  m" s1 z; d$ a1 c
        连续采样N个数据,去掉一个最大值和一个最小值- F# _# F% P, P8 c' I
        然后计算N-2个数据的算术平均值+ ?; Y8 X0 x/ u! [  ^, q
        N值的选取:3~14/ |' X6 G: ~: [' l! M
    B、优点:
+ x' G$ y' M; l" s2 O" C        融合了两种滤波法的优点
# n4 q1 a% Y/ |1 W        对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差
+ W' g. z- |! |1 h0 V  B5 A+ x    C、缺点:
' q8 J1 t# ?; U, g1 R! y        测量速度较慢,和算术平均滤波法一样
! I5 z' A9 C7 A6 k2 T        比较浪费RAM
; I) a* r, Z0 t, t' `5 T+ p/ F) V) h8 e8 |
/ V* r7 f. ^3 i( t/ L
6、限幅平均滤波法) e, ^! `  J! r6 G+ {# }
    A、方法:. E$ U! h3 y8 i; Y
        相当于“限幅滤波法”+“递推平均滤波法”7 o' u! w& ^! E- B
        每次采样到的新数据先进行限幅处理,
( g: K; X' T+ G3 o& m& ~: ~6 [  D        再送入队列进行递推平均滤波处理* |6 |1 ~6 T- k1 l* u- M
    B、优点:
& j: N) _! i, l0 w" }& O" f3 S        融合了两种滤波法的优点
) c7 [  ^- a" y        对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差. _. y+ g) C& j8 u! j. m: a
    C、缺点:
1 b+ @% h- {0 D. n        比较浪费RAM+ b0 f! Y7 T6 _, R

  M2 D3 K1 [2 Y$ H  x7、一阶滞后滤波法
. B4 ~8 |8 g8 l5 T    A、方法:
: b4 N+ c0 m% L+ H8 U! f* H/ R3 Y        取a=0~1
) _% M- q, M5 Z: |: e/ ~        本次滤波结果=(1-a)*本次采样值+a*上次滤波结果
7 ?# {  @8 }: O8 ]) s  _    B、优点:# J2 n# x. Q8 X6 V3 Q9 ]2 M  S
        对周期性干扰具有良好的抑制作用
* k5 ?5 [# s& ^9 P        适用于波动频率较高的场合/ n7 j, F+ R! l' f4 ^9 a7 y, J
    C、缺点:
- N- W3 r! }2 c7 v- q) z8 Z7 D        相位滞后,灵敏度低
! f  z& f3 {0 r. q2 A  G; V        滞后程度取决于a值大小3 b6 [4 O  x0 m3 b& }5 Q
        不能消除滤波频率高于采样频率的1/2的干扰信号" x0 g/ E1 Z: i/ ]# o6 p# [) Z
        ' N, d) A* c- \7 d
8、加权递推平均滤波法
  |5 [4 v/ M6 d! C% G- Z0 I9 _    A、方法:
8 l( t. R4 j% T" L+ }: Z; V1 ?        是对递推平均滤波法的改进,即不同时刻的数据加以不同的权
4 D1 q# f! D* B; E7 W        通常是,越接近现时刻的数据,权取得越大。
" M6 ]* X" n4 i- H6 ]        给予新采样值的权系数越大,则灵敏度越高,但信号平滑度越低
, S/ Y: Q, X( h0 ~    B、优点:
8 X" q" b( q: E9 [, t6 b" H- I* z        适用于有较大纯滞后时间常数的对象
! K  y, i6 n" j. b        和采样周期较短的系统- G) b( T& z( m- g
    C、缺点:
( y5 C/ j9 {: @( M6 R5 t1 F        对于纯滞后时间常数较小,采样周期较长,变化缓慢的信号
2 c( T. V- n, [$ T  ]        不能迅速反应系统当前所受干扰的严重程度,滤波效果差4 ~6 t7 g' x9 X/ V! D5 e5 e

4 b% v2 q9 o8 {) I0 `" N" [9、消抖滤波法2 G: f3 N" W: Z7 p' J8 S" I0 h- B9 q
    A、方法:
7 h3 W# n8 F1 L& b5 W        设置一个滤波计数器- D' J$ Z  t, u* o1 s
        将每次采样值与当前有效值比较:
( R! ~' d7 y" Y! n. @# e) m0 `        如果采样值=当前有效值,则计数器清零$ C# P8 N. o' \- Y* M+ C& k% d
        如果采样值<>当前有效值,则计数器+1,并判断计数器是否>=上限N(溢出)
& i( V' ?7 k  J, j" `4 a: z            如果计数器溢出,则将本次值替换当前有效值,并清计数器( u% I/ L$ G/ @3 g
    B、优点:, `- [. b, \  v
        对于变化缓慢的被测参数有较好的滤波效果,
5 U0 x6 h4 R+ |        可避免在临界值附近控制器的反复开/关跳动或显示器上数值抖动7 a" j2 g- r; d
    C、缺点:: v, Z! F5 i" @# {. ~- B
        对于快速变化的参数不宜, f  u6 T, @0 T: E. }- \( z
        如果在计数器溢出的那一次采样到的值恰好是干扰值,则会将干扰值当作有效值导
9 n: Q+ u$ H; H. J' `3 o# E入系统0 \- B& ]" j2 t- l

3 _3 d, j. a6 c/ Y. s* F10、限幅消抖滤波法! W5 C7 P: Q: {' q9 g1 n
    A、方法:! ^; e+ J# d3 d! b+ Y- R
        相当于“限幅滤波法”+“消抖滤波法”
: n3 V" f$ L8 v: j! |! F8 ?# W        先限幅,后消抖+ P, m- d9 G8 l, C) s, u+ i
    B、优点:$ \" U- i. |% E2 p* _- c; @
        继承了“限幅”和“消抖”的优点' R, a6 X# \2 f+ l, W5 y6 T
        改进了“消抖滤波法”中的某些缺陷,避免将干扰值导入系统* p2 Z" Z8 V" L* X
    C、缺点:
+ ]4 u0 Y: r* f3 W+ }& V9 `+ S5 y        对于快速变化的参数不宜
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

156

主题

559

帖子

1202

积分

四级会员(40)

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

积分
1202
2#
发表于 2016-8-13 11:05 | 只看该作者
路过捧场,谢谢分享!
5 y* W5 o* w$ d
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2024-11-15 11:33 , Processed in 0.056000 second(s), 32 queries , Gzip On.

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

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

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