找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

单片机实现软件滤波

[复制链接]

159

主题

527

帖子

1197

积分

四级会员(40)

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

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

EDA365欢迎您!

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

x
1、限幅滤波法(又称程序判断滤波法)' T% z1 }$ {6 w2 Q4 V' C9 B
    A、方法:- n& a2 B5 t' _
        根据经验判断,确定两次采样允许的最大偏差值(设为A)
  X. i, a* Y# P$ {5 y# K5 B$ u2 v        每次检测到新值时判断:
8 e; w# `8 n: ^1 S5 u! S        如果本次值与上次值之差<=A,则本次值有效4 m7 {* B; S6 P2 K. I
        如果本次值与上次值之差>A,则本次值无效,放弃本次值,用上次值代替本次值4 D& n/ `% b' w. @4 B' k
    B、优点:0 X2 ?' e5 x( B& @
        能有效克服因偶然因素引起的脉冲干扰+ w' i! w  y2 J# O1 X! e: R0 j
    C、缺点3 \) N1 Z  [9 x- L5 o* A
        无法抑制那种周期性的干扰" g% U$ r' E% ^$ \7 K
        平滑度差
4 l, f1 X* m; u4 D( B    ) k2 d# r% W( [) d7 V' h
2、中位值滤波法
$ c. O6 E! r( s: z* Y; K    A、方法:0 r/ M2 d3 W4 p, j
        连续采样N次(N取奇数)
) ?9 t& q: ]: J- A# B        把N次采样值按大小排列
+ h2 D" `/ D, [5 h        取中间值为本次有效值" A2 {1 J2 _( k7 s
    B、优点:$ H& I2 m+ d6 }* j% d8 a% E* W
        能有效克服因偶然因素引起的波动干扰" E0 z; @$ i+ \- q
        对温度、液位的变化缓慢的被测参数有良好的滤波效果8 _  H. [3 T! ?: j7 @% I' y  b
    C、缺点:
8 ]$ w& t0 `) e        对流量、速度等快速变化的参数不宜
) \1 S  c- N! ~6 z9 _
# I' ^- I: n  V+ k3、算术平均滤波法
* F# h' {9 A6 v, Z% M5 U/ P. ^    A、方法:
, ~" ^; B2 o0 @6 a! K        连续取N个采样值进行算术平均运算
  u2 B# K: V; _% o( c4 ~        N值较大时:信号平滑度较高,但灵敏度较低
* B) t# \3 u; v        N值较小时:信号平滑度较低,但灵敏度较高
; i0 ~4 C! e8 E4 l        N值的选取:一般流量,N=12;压力:N=4
# B1 e& D8 A- I/ Z' b  C    B、优点:  k5 H( s5 X  `) [- E% q
        适用于对一般具有随机干扰的信号进行滤波+ w# R, `4 o7 O+ p& e% o0 t
        这样信号的特点是有一个平均值,信号在某一数值范围附近上下波动
% _7 }" }/ l0 T: Y, c0 N    C、缺点:! D# A) r% G# G6 @
        对于测量速度较慢或要求数据计算速度较快的实时控制不适用
4 I* |6 c) s- [: x; S) T        比较浪费RAM. B" Z- ]& m( I: t: Y
        3 ^9 K+ p' L1 B9 [1 g! y* g
4、递推平均滤波法(又称滑动平均滤波法)
5 |9 B+ M' h* X5 P, e    A、方法:: m% A% ~& n8 D
        把连续取N个采样值看成一个队列6 f' m1 W0 ]2 h5 Q: J% ?5 p) c
        队列的长度固定为N
: Q+ L+ Y) s9 t+ ~1 r* U9 z        每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据.(先进先出原则)8 V  i, e+ }9 `( c8 @- g3 o9 j
        把队列中的N个数据进行算术平均运算,就可获得新的滤波结果% W9 S1 m8 \/ W+ @
        N值的选取:流量,N=12;压力:N=4;液面,N=4~12;温度,N=1~4
- H2 T8 l) W# A0 w8 q0 I( Y* U) [    B、优点:
: H# @5 l/ c$ e        对周期性干扰有良好的抑制作用,平滑度高
* A, T* {4 ?- u        适用于高频振荡的系统   
9 ^! A9 k4 R! k* f$ k4 q    C、缺点:
. I( D. k+ M) l5 ^3 ]5 r6 D        灵敏度低
' A: ~1 e: H9 s% X        对偶然出现的脉冲性干扰的抑制作用较差
/ c- {( \" x& S        不易消除由于脉冲干扰所引起的采样值偏差  X8 n+ |; \( M, ~- [
        不适用于脉冲干扰比较严重的场合
+ W" b9 o: d1 s        比较浪费RAM& x7 W" T. H# D" g
        9 c  s4 Y4 \) b
5、中位值平均滤波法(又称防脉冲干扰平均滤波法), w* w+ s. M8 N- N/ \
    A、方法:& v6 @" n# j6 w% ~
        相当于“中位值滤波法”+“算术平均滤波法”
" f! }* L  |' j# O" o+ h1 r# \5 H1 Y        连续采样N个数据,去掉一个最大值和一个最小值& D! Y$ n' |+ u* ?; `; C
        然后计算N-2个数据的算术平均值3 B: q# M+ E6 N) I5 q
        N值的选取:3~148 l9 n; `# W. m% P- t& o9 N, N
    B、优点:* w1 @# G/ R# N- b& I) k  B
        融合了两种滤波法的优点; H8 H& R. Q" _( w$ j. _
        对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差
- w3 u' a- Z6 p5 l( \    C、缺点:
( v+ Y% q( V6 }- F' T; B        测量速度较慢,和算术平均滤波法一样
: f1 F. F- B+ e' ^        比较浪费RAM( r; n# e$ R0 H% Y9 O7 V
$ A5 J0 C  @0 l. e( t. \

4 E3 F2 p; x$ r9 y0 x6、限幅平均滤波法- z5 g  X2 s" R7 v" I0 P
    A、方法:
) |. s3 W6 P* p! z9 S8 r( X        相当于“限幅滤波法”+“递推平均滤波法”
; O5 ]3 a. s7 g        每次采样到的新数据先进行限幅处理,' c7 J  p' g2 I% d- F* f0 L+ L/ P
        再送入队列进行递推平均滤波处理
2 ]) y8 u" `% f, k$ c* H# o    B、优点:
; N- ~/ L" ]. k, ^        融合了两种滤波法的优点& ^3 Q0 g) P1 b- h% Z
        对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差+ l6 ]! F' S* Q9 x$ j- n# J
    C、缺点:
( i' a: W* n$ p6 g& e  j( u        比较浪费RAM) H5 j- h, _9 a% M
& n8 f5 ]. S$ O0 I, b: o) i
7、一阶滞后滤波法
, y% A0 Z% [% j4 [0 E* O' R    A、方法:
, ?1 m7 h( a& `  S4 g0 G5 L$ t/ O        取a=0~1) ~. O+ f1 B3 c4 M$ c6 B
        本次滤波结果=(1-a)*本次采样值+a*上次滤波结果
! r/ W5 X. t0 y: x3 n2 e    B、优点:4 o6 u# X- P* j. k! A/ z6 l
        对周期性干扰具有良好的抑制作用
+ C& M% c8 e% v" Y7 E        适用于波动频率较高的场合, ?( _; ^1 y5 p6 A- ], z" t$ k
    C、缺点:% P' b: {0 L; a* q
        相位滞后,灵敏度低9 D  L0 D; t4 g& u. E! ]8 z
        滞后程度取决于a值大小) R6 q) i5 |& v& r, `( u1 V
        不能消除滤波频率高于采样频率的1/2的干扰信号
) ?  w9 t: g0 }        - c, O; \4 f$ X  X
8、加权递推平均滤波法
+ p1 E, C/ p8 m% U    A、方法:* q6 k) b! n6 B' s0 A# i
        是对递推平均滤波法的改进,即不同时刻的数据加以不同的权
5 k: C& f5 v' e+ o6 z) i        通常是,越接近现时刻的数据,权取得越大。
2 k% D. {8 }5 Z& |        给予新采样值的权系数越大,则灵敏度越高,但信号平滑度越低& W7 W: \4 f) q% Q
    B、优点:( Y; o4 T/ I5 q  p
        适用于有较大纯滞后时间常数的对象
  @9 o3 i3 g$ q* d' I+ H& W        和采样周期较短的系统/ z9 s9 M" l8 o  c
    C、缺点:
' Y0 U* f" N. \% N5 H( C, U) @- }        对于纯滞后时间常数较小,采样周期较长,变化缓慢的信号
' V$ W$ H: a' O+ G3 m        不能迅速反应系统当前所受干扰的严重程度,滤波效果差
( {5 S+ H1 s# J7 u  K' {- G
. B" m" [# V; W, _3 Y% q9、消抖滤波法& i) t: P6 V7 i/ ^2 i
    A、方法:
0 D1 t" @# x* a( A' S        设置一个滤波计数器
3 A2 l, e0 ?% Y/ A: m        将每次采样值与当前有效值比较:7 L8 ~" b6 B9 I
        如果采样值=当前有效值,则计数器清零
5 ?. T2 l( S- ?: N+ Y        如果采样值<>当前有效值,则计数器+1,并判断计数器是否>=上限N(溢出)
8 M" \/ m3 K1 J6 Y6 A            如果计数器溢出,则将本次值替换当前有效值,并清计数器3 ]1 ]% r9 X2 X) Q- j! H
    B、优点:
: u: G4 c1 {' Q  Y        对于变化缓慢的被测参数有较好的滤波效果,
" j6 t, p3 e/ g/ S, r- R; m" i  z        可避免在临界值附近控制器的反复开/关跳动或显示器上数值抖动
6 [5 v/ b) S7 }) ^" N    C、缺点:$ R6 M+ o8 ^. D9 E, j
        对于快速变化的参数不宜6 i6 w. @' p7 G3 N6 O. \
        如果在计数器溢出的那一次采样到的值恰好是干扰值,则会将干扰值当作有效值导
  l, O" h, K) K+ R: z入系统' T* E8 ~$ A( X) g3 L( T0 M, q

( V2 {# {9 l$ q: d3 \10、限幅消抖滤波法" [0 S! ]: r, d9 }8 B
    A、方法:
+ v: g5 M6 M6 ]  b        相当于“限幅滤波法”+“消抖滤波法”9 Q2 \) v% U) k- |/ O* C
        先限幅,后消抖
$ R, N6 X$ \8 e' v4 o    B、优点:
. K; i: Z9 X; @* ~  F/ |# g        继承了“限幅”和“消抖”的优点
- d2 \( Q2 [( k        改进了“消抖滤波法”中的某些缺陷,避免将干扰值导入系统& G7 D  f. R, M. x: e9 X! `9 [
    C、缺点:
. W3 W3 |/ L4 C' ]        对于快速变化的参数不宜
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

156

主题

559

帖子

1202

积分

四级会员(40)

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

积分
1202
2#
发表于 2016-8-13 11:05 | 只看该作者
路过捧场,谢谢分享!
. s$ |& o# ?/ [7 m
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

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

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

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

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