找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

单片机实现软件滤波

[复制链接]

159

主题

527

帖子

1197

积分

四级会员(40)

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

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

EDA365欢迎您!

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

x
1、限幅滤波法(又称程序判断滤波法)
* ]) d8 s; p8 ?: W7 I: k    A、方法:
( V4 G& G3 }; Q        根据经验判断,确定两次采样允许的最大偏差值(设为A)" z, x. b7 O6 m' q, t" X
        每次检测到新值时判断:6 Y5 w6 }3 |: g9 U% J% H0 S
        如果本次值与上次值之差<=A,则本次值有效
) E- f# j2 ?; y( F; @% B/ o% C( |! \        如果本次值与上次值之差>A,则本次值无效,放弃本次值,用上次值代替本次值
( E. \6 Y+ B$ a" p% |, [& {# e    B、优点:$ l) E& b3 q: w* v  U8 A
        能有效克服因偶然因素引起的脉冲干扰3 ~5 Z3 m6 |, c1 `1 f
    C、缺点
" G4 L! {5 V  }# b" |) U; r        无法抑制那种周期性的干扰
* D: q9 Y6 ~3 _  p# K5 _8 b        平滑度差; x& Y3 |6 {0 O% v9 ~7 e5 s& \
   
2 c: @& ?: W: v* {; a! a7 z2、中位值滤波法0 d4 H- u/ |, n1 c3 T4 {" R
    A、方法:
7 F: J. I9 _% d4 }        连续采样N次(N取奇数)$ g9 j3 r" }$ ~. ]+ a6 Y$ ^- Y6 r
        把N次采样值按大小排列$ X2 E* d6 J5 X. A! B- b0 \
        取中间值为本次有效值
6 y- c" {  s8 \5 Z4 C5 X* T    B、优点:
$ x1 ?9 {& H( }7 _) w        能有效克服因偶然因素引起的波动干扰
4 I9 ?2 s- }5 G) E5 {- U! n        对温度、液位的变化缓慢的被测参数有良好的滤波效果
# {# ]6 z  t/ @    C、缺点:  v4 s! I; Q4 s9 N6 m6 ]( Z. t7 h: c
        对流量、速度等快速变化的参数不宜8 c: [* v$ n5 p# _6 t

7 O8 r8 G/ E9 ]" |3、算术平均滤波法
; m5 e) m, j% [    A、方法:& C; F5 [( C- J& ]
        连续取N个采样值进行算术平均运算
' I; s' u* ?# ^        N值较大时:信号平滑度较高,但灵敏度较低
9 n* Q+ U0 V% Y5 s7 P$ X$ R; o        N值较小时:信号平滑度较低,但灵敏度较高
" s' ]3 U2 g, ~3 M        N值的选取:一般流量,N=12;压力:N=4# M6 G+ Y: c7 F$ X- Z8 N
    B、优点:
  i  X% v& f3 ?7 @        适用于对一般具有随机干扰的信号进行滤波
7 ]2 u! M5 ~! b7 ?        这样信号的特点是有一个平均值,信号在某一数值范围附近上下波动
. z# j& g/ N, A- l% o# B* O$ u    C、缺点:
+ m: F4 d$ D9 Z4 {; ?        对于测量速度较慢或要求数据计算速度较快的实时控制不适用6 R- O* ]3 i% q
        比较浪费RAM
1 H$ v4 a. r5 L2 H+ `          r6 _& _  ^+ J# `
4、递推平均滤波法(又称滑动平均滤波法)
$ A  l6 T' y; d+ f    A、方法:
" J: i  U5 y) Q" j& l9 {        把连续取N个采样值看成一个队列; |; d9 Q5 A, `: c8 G# X' M6 j
        队列的长度固定为N! l" @) |8 i' `! X4 w
        每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据.(先进先出原则)
6 s: |4 \# D: G) _        把队列中的N个数据进行算术平均运算,就可获得新的滤波结果
$ }1 {4 K# A  J' _) I        N值的选取:流量,N=12;压力:N=4;液面,N=4~12;温度,N=1~4
* W7 U0 P7 F: _( R3 }1 Y    B、优点:# c1 ~( B0 A  p1 V5 U
        对周期性干扰有良好的抑制作用,平滑度高; d0 f0 H3 f1 n
        适用于高频振荡的系统   
# Y) u* Q; Q/ D2 s! ]. L    C、缺点:4 l( z" E; S$ v# p/ u
        灵敏度低2 ~4 S2 D5 u  Z. Q1 S  ^
        对偶然出现的脉冲性干扰的抑制作用较差
# _$ x& [3 ~7 Q% f: M3 l$ ^        不易消除由于脉冲干扰所引起的采样值偏差  ^+ o' t% E/ \: z
        不适用于脉冲干扰比较严重的场合
$ v2 P5 g( h" O. ?8 _' I        比较浪费RAM
9 I. }6 j6 m' X  b' x; Q        4 k3 ^# ~9 n$ j' U
5、中位值平均滤波法(又称防脉冲干扰平均滤波法)' Q! a' r, Z- a- R. {8 A; L
    A、方法:" S7 ]! ^; j: B% P) y
        相当于“中位值滤波法”+“算术平均滤波法”
7 p7 H. P7 \0 U4 F8 b2 |        连续采样N个数据,去掉一个最大值和一个最小值
" v. v% f- m  W: i' B        然后计算N-2个数据的算术平均值& g% d. H( m# m& C& f% p& J
        N值的选取:3~14
4 k7 i/ o+ G. v7 D% I/ @: r* K    B、优点:  q# U0 P) t) s3 @' S1 e( r/ e- k
        融合了两种滤波法的优点
* t$ D0 d- i; U% v- k/ d+ B" M        对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差
$ s# u8 L* U5 q    C、缺点:
; T. j$ y4 p9 B. L4 N0 G1 d        测量速度较慢,和算术平均滤波法一样: _5 P3 S6 D" u( Y3 s. ^! s
        比较浪费RAM+ q( j) |3 B& C7 W" A. w, X3 y8 y
2 z3 |, f2 g% Y

0 U0 L( [7 t6 n& g- a6、限幅平均滤波法& i6 s+ \5 i& r+ Q
    A、方法:; |: ?* H3 p9 B# U* ~. _. i
        相当于“限幅滤波法”+“递推平均滤波法”1 N! u7 c: K' m* R6 m9 L  a
        每次采样到的新数据先进行限幅处理,
, u7 _1 v3 v0 L! O) Z        再送入队列进行递推平均滤波处理
5 u$ ]2 x" Q( x: M    B、优点:
- U# I$ l. z1 ]; g6 X2 X8 i- q8 r        融合了两种滤波法的优点( K6 \& H- L* A% w5 j
        对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差+ c5 g/ J1 Q( d3 W8 s  e) D3 F
    C、缺点:: k; [2 \3 ?$ g- `4 d, Q' X% o
        比较浪费RAM
2 F( ]/ ~7 e! N, K$ j6 r
/ ]5 ?1 q  \  I8 N, B7、一阶滞后滤波法$ n8 O9 Q# f  V
    A、方法:
- [6 d5 c, G7 d% ^9 A3 M/ y1 s        取a=0~1
! S2 g& `5 W2 @4 X" [  p2 {) W' z        本次滤波结果=(1-a)*本次采样值+a*上次滤波结果
6 h- @" \  {9 k* }9 L' r    B、优点:
2 U$ K7 f2 p" I" L9 L        对周期性干扰具有良好的抑制作用
* W; e' t7 U9 V        适用于波动频率较高的场合4 M: z" c& ^# Q0 ~8 T/ g
    C、缺点:8 _3 v. b( E' u9 W
        相位滞后,灵敏度低3 x: j4 _) W) K4 m& t
        滞后程度取决于a值大小+ e% A5 H0 b) r
        不能消除滤波频率高于采样频率的1/2的干扰信号
: {) w* ~" N0 r, K6 w* ~# \        , x4 l' }% A4 M0 d4 f% T+ Z
8、加权递推平均滤波法
0 a3 e% n. k7 W! W/ E; x* n1 K    A、方法:7 r: q3 t  r; {
        是对递推平均滤波法的改进,即不同时刻的数据加以不同的权
+ s6 `  F7 x" P- ?. T0 ?        通常是,越接近现时刻的数据,权取得越大。
/ ~% r8 }( p( L* @; z; ^        给予新采样值的权系数越大,则灵敏度越高,但信号平滑度越低: O8 G6 F6 f3 u* B9 S& Y
    B、优点:
: k& @* i9 M3 j9 {" ^) o        适用于有较大纯滞后时间常数的对象
! N" i! X' L& f+ \" v        和采样周期较短的系统
8 r# c' y# T9 [    C、缺点:! @: Q* D; t  `; t. N2 I
        对于纯滞后时间常数较小,采样周期较长,变化缓慢的信号
' Z( ?1 m9 g: R9 o        不能迅速反应系统当前所受干扰的严重程度,滤波效果差4 v5 O; R5 @% W' ]! ?) ^
4 r. o0 r4 Q1 P* @4 Z5 Z  S
9、消抖滤波法
2 ]8 t: c9 q! U7 `    A、方法:
3 _. g9 S5 U- E* [/ u1 ]  Y        设置一个滤波计数器
) d; x; m; E# X0 Q2 W        将每次采样值与当前有效值比较:: p0 ^9 I) Q8 E7 Z& l
        如果采样值=当前有效值,则计数器清零9 X# Y. y) \: k1 T
        如果采样值<>当前有效值,则计数器+1,并判断计数器是否>=上限N(溢出)
5 Y. l& B+ X( x& f, u0 e8 b            如果计数器溢出,则将本次值替换当前有效值,并清计数器$ I2 S* F- q+ C/ V. P- S
    B、优点:
7 t2 W. J" Y- i4 p        对于变化缓慢的被测参数有较好的滤波效果," @( ^5 ^& h. K9 k
        可避免在临界值附近控制器的反复开/关跳动或显示器上数值抖动4 T) ]% [5 H# W$ G0 \. p- x8 R: v
    C、缺点:
- z, X1 w: G1 \3 b; U, U        对于快速变化的参数不宜
5 c6 h% l9 x* n# I% w0 H9 _        如果在计数器溢出的那一次采样到的值恰好是干扰值,则会将干扰值当作有效值导
! w+ s$ f. ]" W. \8 ^$ k+ n入系统
4 s1 J, P* B+ D, _9 ~8 s
8 `# @& \) D% `10、限幅消抖滤波法1 G4 I  @% f* j
    A、方法:+ D$ E3 i; X' O0 a8 R$ X) b' Z
        相当于“限幅滤波法”+“消抖滤波法”: M% }+ x" O3 A( F' d/ }
        先限幅,后消抖
6 S; o6 \" G' E    B、优点:
" Q2 t. j9 U" j# o+ Z        继承了“限幅”和“消抖”的优点2 D+ }# V( r8 G* H
        改进了“消抖滤波法”中的某些缺陷,避免将干扰值导入系统5 }2 F4 ^. k* O/ e8 {5 O6 O
    C、缺点:0 V9 Y6 U0 {+ k+ l! c
        对于快速变化的参数不宜
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

156

主题

559

帖子

1202

积分

四级会员(40)

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

积分
1202
2#
发表于 2016-8-13 11:05 | 只看该作者
路过捧场,谢谢分享!
4 I8 k4 k! g; w* J) y5 n; ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2024-11-15 11:51 , Processed in 0.056474 second(s), 31 queries , Gzip On.

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

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

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