找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

单片机实现软件滤波

[复制链接]

159

主题

527

帖子

1197

积分

四级会员(40)

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

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

EDA365欢迎您!

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

x
1、限幅滤波法(又称程序判断滤波法)5 d6 K2 |( {  i9 ]$ C$ f* x1 x, V, q
    A、方法:
6 r: E/ e* ^# u  ^, j        根据经验判断,确定两次采样允许的最大偏差值(设为A)- k) [% h/ w( X" X3 M
        每次检测到新值时判断:
! }* N( z( T9 N* X        如果本次值与上次值之差<=A,则本次值有效2 r9 U  U* e. Y
        如果本次值与上次值之差>A,则本次值无效,放弃本次值,用上次值代替本次值
( l$ g" ]+ X9 f9 C& e    B、优点:
' S5 Y- }/ ]( M& j7 A4 P        能有效克服因偶然因素引起的脉冲干扰
: d- E# D# ^( w    C、缺点
: x* }1 z( k. B5 t* Z' w2 [$ o' W8 L        无法抑制那种周期性的干扰' T: u2 Z% `- ?+ F* H: h; q- T, ^
        平滑度差/ M: m+ y1 ]$ d' W& W6 S" F. K( }' h
    5 D8 |0 l3 U/ X/ K' Z4 U9 S
2、中位值滤波法: j5 P$ F& P) f7 r
    A、方法:
' F, v9 j# e6 \$ C        连续采样N次(N取奇数)
% Y$ {9 d$ Y( S! r* X        把N次采样值按大小排列( X& e. s1 U: f6 T1 Z  O1 K
        取中间值为本次有效值
4 x9 z! r+ S5 N    B、优点:* `3 M- f, I& E# u
        能有效克服因偶然因素引起的波动干扰
, u4 U& C! S/ K0 w# f        对温度、液位的变化缓慢的被测参数有良好的滤波效果
; A; N, ?7 u- _5 o- S8 F    C、缺点:
; e  f. |+ p6 |4 B, q! h& v; i6 D2 y        对流量、速度等快速变化的参数不宜7 m0 ?5 _+ U& m4 R- N+ d
# @" U( o1 F) v0 \" G2 W2 n
3、算术平均滤波法1 k# n+ _+ z7 W0 A" Z
    A、方法:( k5 B0 @+ }. o2 I( l
        连续取N个采样值进行算术平均运算# U$ I0 _; d( c5 I6 ?
        N值较大时:信号平滑度较高,但灵敏度较低0 |3 _" V5 G5 w
        N值较小时:信号平滑度较低,但灵敏度较高
* F8 ]. C& f' h  f0 c; N& k% Y        N值的选取:一般流量,N=12;压力:N=4( o/ g5 ?9 l1 [- I
    B、优点:, V6 E. i' s& t  H; \/ L# v- T
        适用于对一般具有随机干扰的信号进行滤波3 O8 l1 l, `! V, }/ g' {" |
        这样信号的特点是有一个平均值,信号在某一数值范围附近上下波动  D- H) j/ ?& x. L3 R* j
    C、缺点:
2 ]; L% S$ ]' Q/ l- x        对于测量速度较慢或要求数据计算速度较快的实时控制不适用
. e& V5 k1 x) ^9 ?; _5 l        比较浪费RAM
$ T* |2 a' E2 _/ A1 N1 p1 H1 E        / O( R/ ~5 k$ {8 y( x
4、递推平均滤波法(又称滑动平均滤波法)6 y& Y6 D, A+ p6 f
    A、方法:$ s2 r8 a5 x) Q" s
        把连续取N个采样值看成一个队列
8 O$ I& R7 z6 L* W* E& m3 d        队列的长度固定为N% _. i+ j: q5 ?5 r
        每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据.(先进先出原则)' S( {1 T! W/ O; {* L5 Z" Y' H
        把队列中的N个数据进行算术平均运算,就可获得新的滤波结果
( \! u, l' k7 F5 o- U" h# c# U9 |        N值的选取:流量,N=12;压力:N=4;液面,N=4~12;温度,N=1~4
2 ~1 y2 {9 f# g6 N- k    B、优点:
& Q0 u) z2 W" |, {5 b$ p        对周期性干扰有良好的抑制作用,平滑度高
. k2 a% ~0 i( J8 k  e& N        适用于高频振荡的系统   
# y- A+ E5 i! G% B, v  T    C、缺点:
) A! Z$ G' L& q1 }" G7 U, n        灵敏度低" ^* _8 O& c6 ]$ C8 L: I( ]5 `
        对偶然出现的脉冲性干扰的抑制作用较差
7 J0 x( E2 k5 I; N        不易消除由于脉冲干扰所引起的采样值偏差9 y" G9 Z6 @- o% h$ g: e$ h, o
        不适用于脉冲干扰比较严重的场合; A* Q1 }" `( x0 y7 b
        比较浪费RAM
/ Q1 m% L/ u' C4 i% t0 \        * _( V3 [8 k, n/ s
5、中位值平均滤波法(又称防脉冲干扰平均滤波法): h  t; H5 Y, Q9 z: \
    A、方法:
- x  M* ~' C" o$ {% A" w$ S        相当于“中位值滤波法”+“算术平均滤波法”
' q7 `: N  V0 K        连续采样N个数据,去掉一个最大值和一个最小值% U% W# ^' h& Y+ a- ~/ A) D
        然后计算N-2个数据的算术平均值4 c& f5 ~0 Y$ l
        N值的选取:3~149 S8 V: z% x' c  L  v( M+ D9 Z
    B、优点:
7 i- I; U+ l  S  p+ x8 j+ e        融合了两种滤波法的优点
- w7 H" \; o# l& A        对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差: V; V( Q; e/ s* A: ~
    C、缺点:9 S8 I$ ~% \9 V& C" R6 R7 ~- V8 ~. p3 f
        测量速度较慢,和算术平均滤波法一样1 b' y! H. c( N! @
        比较浪费RAM3 F& I* U7 \% m: H- `  d
8 Y/ o1 E- ]) a! U
9 ]3 K$ F3 l  H, ]( @
6、限幅平均滤波法. X/ \' G4 v+ K6 I0 h7 ^6 `- c( o, `$ X
    A、方法:
6 d2 R1 n2 o, n) _+ k+ M        相当于“限幅滤波法”+“递推平均滤波法”" R' K4 C$ n# h3 d( G% Q
        每次采样到的新数据先进行限幅处理,# z3 r2 N3 a5 W; i: l
        再送入队列进行递推平均滤波处理3 f" Z$ K/ d+ s% k1 e+ {0 Y
    B、优点:$ X% ]! [; \2 i  l- n
        融合了两种滤波法的优点
5 k. H- q: b5 B/ M, h        对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差" z5 O# K" R- t3 ?! k' e: d" n
    C、缺点:
. B1 W9 c# C6 }& F# X% \, v        比较浪费RAM7 x- K* J9 g- {$ D8 y2 @
. z! `) X# K1 l% k9 {
7、一阶滞后滤波法
" N5 i8 l" \9 ^" Q9 S9 n    A、方法:
+ C) d$ l8 A! n9 d        取a=0~1
0 V" A* B  H# C! k        本次滤波结果=(1-a)*本次采样值+a*上次滤波结果- v) C6 `/ c6 c% }! [/ Z( }1 E2 O0 Q" t
    B、优点:1 w, |" z( W2 M4 V% t
        对周期性干扰具有良好的抑制作用7 ]4 Z! R6 H$ s0 Q% S
        适用于波动频率较高的场合. L" X9 V2 S) _
    C、缺点:
! v& B% f+ r4 |* T) S        相位滞后,灵敏度低
$ R# U5 s$ a0 l0 Q% c        滞后程度取决于a值大小
: X$ B9 D$ k% ^        不能消除滤波频率高于采样频率的1/2的干扰信号
: G* `: ], r. w$ C% h        & p7 m* @0 m, g$ z9 |' @/ q
8、加权递推平均滤波法
# h; M% T- n) Z( L, I; n; V! U0 }7 N    A、方法:4 V, m0 I. @; z5 S4 n" d- f
        是对递推平均滤波法的改进,即不同时刻的数据加以不同的权4 o& B( @0 P8 n
        通常是,越接近现时刻的数据,权取得越大。' ^7 v# l2 b1 a2 Q1 Q1 A
        给予新采样值的权系数越大,则灵敏度越高,但信号平滑度越低" N; b  v0 {6 j$ ~9 L' j
    B、优点:7 o3 L, N/ Y$ G2 r
        适用于有较大纯滞后时间常数的对象
& _! \! b% |5 `" {- n        和采样周期较短的系统1 X# m3 A# l5 U/ L) ~
    C、缺点:
3 _$ E9 i- |" r, K: Q/ T3 k        对于纯滞后时间常数较小,采样周期较长,变化缓慢的信号# P/ o/ f0 Z2 C( `8 w
        不能迅速反应系统当前所受干扰的严重程度,滤波效果差
) R# P; L9 f' F" \7 h3 t9 t! Q1 w9 V$ {! X  y$ B. Q
9、消抖滤波法
8 e5 W# f/ |% A; Y- p/ K    A、方法:
5 o' |3 g  h1 j' w        设置一个滤波计数器# p* V0 l" P# D9 ~& X; f9 L
        将每次采样值与当前有效值比较:
. D% {1 Z( G9 W: j$ P( a! O: s& I( z        如果采样值=当前有效值,则计数器清零8 P. r2 {! {& D2 j
        如果采样值<>当前有效值,则计数器+1,并判断计数器是否>=上限N(溢出)
* b# h* X# G4 p1 f            如果计数器溢出,则将本次值替换当前有效值,并清计数器
$ _: G. x- @9 m$ Z. Z" u    B、优点:
" P1 x' A- M; K7 V' @$ c        对于变化缓慢的被测参数有较好的滤波效果,! j7 m0 d, ^+ S0 X6 x
        可避免在临界值附近控制器的反复开/关跳动或显示器上数值抖动
9 F7 \" m7 n9 f# y( h3 I  E# L    C、缺点:
; _: e! y& x; Y/ a        对于快速变化的参数不宜6 s6 O: D4 N  C$ _4 h6 B8 @
        如果在计数器溢出的那一次采样到的值恰好是干扰值,则会将干扰值当作有效值导6 T5 ~9 |0 X$ F- I
入系统
! c* Y, u$ ]9 l- n$ \# v# |! D1 U; \' t' L/ `
10、限幅消抖滤波法
; F8 I( B/ k' {- f    A、方法:3 B/ t) V, I, @+ j4 I
        相当于“限幅滤波法”+“消抖滤波法”* Z( `+ N1 \$ H; r- Q- ]2 m
        先限幅,后消抖
8 w' t6 [  g- B4 n8 d2 u0 J. [    B、优点:
* f( d4 F  H2 b        继承了“限幅”和“消抖”的优点+ r% q. X7 f2 n% s* G
        改进了“消抖滤波法”中的某些缺陷,避免将干扰值导入系统/ O; W* w% y  J
    C、缺点:
6 d! J0 u0 h4 m8 I- i" R# Y- e        对于快速变化的参数不宜
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

156

主题

559

帖子

1202

积分

四级会员(40)

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

积分
1202
2#
发表于 2016-8-13 11:05 | 只看该作者
路过捧场,谢谢分享!
, M" C: |4 e! |, ^
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

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

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

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

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