找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

单片机实现软件滤波

[复制链接]

159

主题

527

帖子

1197

积分

四级会员(40)

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

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

EDA365欢迎您!

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

x
1、限幅滤波法(又称程序判断滤波法)
0 R7 v# X1 W( J% W    A、方法:
0 t6 u+ t( G+ I# U, l# s; ?        根据经验判断,确定两次采样允许的最大偏差值(设为A)
& h4 `! o: q% _* T% [) I7 }* \        每次检测到新值时判断:
; [. h/ _; P; w) f, b        如果本次值与上次值之差<=A,则本次值有效
5 K2 T7 j& f8 y$ W3 v9 v+ ^0 X        如果本次值与上次值之差>A,则本次值无效,放弃本次值,用上次值代替本次值. x# u- X0 \* n  H* h0 J+ u
    B、优点:/ \5 P# \5 V  g3 N8 Y
        能有效克服因偶然因素引起的脉冲干扰
6 n. @: W0 `. K, n    C、缺点
& T" R0 L! s/ Q* X        无法抑制那种周期性的干扰* ~7 c& e& X& ^; ?* p; d* `
        平滑度差
/ A; U1 B* f: H) S   
/ @! ]1 ?; l$ t4 u2、中位值滤波法
( X$ F# R. J  |: A4 D* y    A、方法:
/ z8 \* f* p2 g$ [, ]5 i) R        连续采样N次(N取奇数)
  w; V5 [$ q; W2 J" B        把N次采样值按大小排列4 M- h3 @9 R1 }6 L) ]' C
        取中间值为本次有效值; y- R- |3 C4 _+ |/ P* ~
    B、优点:
- W& i/ U, q9 z+ P  e; b$ ~        能有效克服因偶然因素引起的波动干扰
) ^4 X# }4 p6 C; n        对温度、液位的变化缓慢的被测参数有良好的滤波效果
. k! B& W" J" j    C、缺点:
* g7 i/ R8 n- k# b1 A        对流量、速度等快速变化的参数不宜& F7 p& z+ E: v  @! V( K+ s
5 g9 ?% y& e  ?$ q
3、算术平均滤波法
- y2 {* Q& A6 u* K7 u7 U$ F    A、方法:9 J& A' c  c+ g8 y& P
        连续取N个采样值进行算术平均运算
0 R4 d/ ~1 u) }  `        N值较大时:信号平滑度较高,但灵敏度较低
& C* ]+ N; D7 h8 Q3 R& t" N/ o        N值较小时:信号平滑度较低,但灵敏度较高
) A% H; y1 g3 I! T7 G        N值的选取:一般流量,N=12;压力:N=4
. v% a; N5 F4 N% t! X8 N8 @    B、优点:" z: S$ D$ u4 `  P) f
        适用于对一般具有随机干扰的信号进行滤波/ t2 E3 b% I, z4 z
        这样信号的特点是有一个平均值,信号在某一数值范围附近上下波动
  f  ~$ a& s# C1 u$ O    C、缺点:/ o5 z/ n  h9 L  x  e8 ~  A" R$ |3 w
        对于测量速度较慢或要求数据计算速度较快的实时控制不适用
6 k* A5 E! I" @- H% c        比较浪费RAM
+ s" j, B  f$ Z; \2 b& j3 P        
' }  i. h4 c" c# p+ y4、递推平均滤波法(又称滑动平均滤波法)9 N# Z" r0 Z6 M
    A、方法:
1 i8 F6 W/ t; w2 f+ I: {        把连续取N个采样值看成一个队列  r: |! v3 V+ k
        队列的长度固定为N. g6 V- W8 `/ Q7 ]9 r
        每次采样到一个新数据放入队尾,并扔掉原来队首的一次数据.(先进先出原则)  e2 ~4 ]9 a" G5 p, w7 e3 X0 j
        把队列中的N个数据进行算术平均运算,就可获得新的滤波结果* A5 L- R8 @* U1 ^: ~) L+ R
        N值的选取:流量,N=12;压力:N=4;液面,N=4~12;温度,N=1~4' Q0 a7 P; w. b$ t: Q6 ~
    B、优点:
) k3 K" s+ R3 R' }        对周期性干扰有良好的抑制作用,平滑度高1 }" L* y- [9 o7 T" Q
        适用于高频振荡的系统    ; p9 H$ g, K& [. e+ ~- M
    C、缺点:. W; \/ L& N+ f
        灵敏度低: [- q( v/ f1 E" F+ o9 C
        对偶然出现的脉冲性干扰的抑制作用较差
: I- d. V8 ~, j' B7 A: ]& o        不易消除由于脉冲干扰所引起的采样值偏差
# Q6 z! k; h+ u; c  v        不适用于脉冲干扰比较严重的场合
5 Y: W. s  N) @' _" ~" J  ^        比较浪费RAM
9 a/ t9 B: S' i, H1 S, p        9 x0 P% L! s( d
5、中位值平均滤波法(又称防脉冲干扰平均滤波法)
6 Y2 E  {/ a; j- R    A、方法:, p, s; [9 o+ J& P
        相当于“中位值滤波法”+“算术平均滤波法”+ `+ ]% E  v2 ]# n0 w( q
        连续采样N个数据,去掉一个最大值和一个最小值' i& q# i! P$ q+ R; Z5 G% |
        然后计算N-2个数据的算术平均值
0 S- S0 n& X5 M) @- E        N值的选取:3~146 U+ F0 V7 g4 _0 W* ^/ ~
    B、优点:7 J! A4 T5 B8 k4 }& J- f  J
        融合了两种滤波法的优点0 E- a  v, u1 ]6 i  o
        对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差- W* L5 @; m3 w; e- [
    C、缺点:
) O) ~1 L- o! t( d! R* [; n        测量速度较慢,和算术平均滤波法一样' C) U& m( m% q; S6 _
        比较浪费RAM$ D' d0 ^* M: B6 ?- f7 v" u
6 W6 Q! a  {* M7 l5 H3 _: ^
) y8 _  i0 q& t) o8 |' F
6、限幅平均滤波法/ I! Z8 N, c- d6 W3 q7 V1 M% X
    A、方法:/ f, H1 a5 b# |: k% z) G$ _
        相当于“限幅滤波法”+“递推平均滤波法”
. ^7 F1 L* Q9 V; W# f6 j/ s5 x) E        每次采样到的新数据先进行限幅处理,
9 B" l& K, j% ]0 h2 E2 H: J2 P7 j        再送入队列进行递推平均滤波处理6 k3 k' @! c9 x& ^7 P8 a3 j
    B、优点:9 o; C: i1 A. M
        融合了两种滤波法的优点
& p. z: [3 Z2 U+ T/ o: P( v: J        对于偶然出现的脉冲性干扰,可消除由于脉冲干扰所引起的采样值偏差' B" [, O% s3 y  S" |
    C、缺点:& T1 n5 E/ {3 K3 ]+ H
        比较浪费RAM
! P3 o3 P; J! D4 s3 Z1 M
1 L! K+ Q0 z" P8 V7、一阶滞后滤波法
" ^6 O, b4 T) N: u* I. C& k* y+ K    A、方法:
9 E' V0 X' P: E5 p8 {$ `8 S        取a=0~1' u! D# S5 U  @2 s
        本次滤波结果=(1-a)*本次采样值+a*上次滤波结果
% T/ ]( M& @5 x  C' y  ^2 `    B、优点:! q5 D2 \; q5 }+ H7 [; n+ U
        对周期性干扰具有良好的抑制作用/ n% G0 B3 t) Y
        适用于波动频率较高的场合  R8 J* q+ B! B; z! o; Z6 [* F
    C、缺点:1 L  W  I4 Q# k0 \. c2 \
        相位滞后,灵敏度低/ e* V+ d& T  b6 }4 o5 t; `
        滞后程度取决于a值大小
' c2 F7 e3 W* j: t        不能消除滤波频率高于采样频率的1/2的干扰信号' s' D! V4 Y+ o* T6 o
        
: v; j! e* i0 F, H8、加权递推平均滤波法/ j7 g5 J- R/ q: A  [6 K( s; Z4 p
    A、方法:
& H6 U: w4 r8 k4 I        是对递推平均滤波法的改进,即不同时刻的数据加以不同的权  E+ M; R; L, ]. r$ F3 S
        通常是,越接近现时刻的数据,权取得越大。# c* F3 g& h1 [2 M) t4 J
        给予新采样值的权系数越大,则灵敏度越高,但信号平滑度越低$ W) C0 _( U6 L, N
    B、优点:
2 x+ H2 y, u9 N. @% n! _        适用于有较大纯滞后时间常数的对象/ V  q) E5 E9 ^( v
        和采样周期较短的系统
; T8 p! f, K* v& ^; K! m$ i    C、缺点:7 A' d% B! R4 b9 {9 J9 g! M% n' c
        对于纯滞后时间常数较小,采样周期较长,变化缓慢的信号( T3 f" v1 X& T$ ~4 B8 D
        不能迅速反应系统当前所受干扰的严重程度,滤波效果差) V2 `, z& ^$ E0 M

) I0 `- t: |1 Z9、消抖滤波法: X  c3 T0 G9 a; E
    A、方法:% s' [. @+ R) E! g( j* d
        设置一个滤波计数器* C- W  D9 A5 x8 A' N* I( y
        将每次采样值与当前有效值比较:
% W  ^2 g8 E0 z) H. a        如果采样值=当前有效值,则计数器清零# v+ a) l  b4 D5 m4 a
        如果采样值<>当前有效值,则计数器+1,并判断计数器是否>=上限N(溢出)
' Y. J. M" U3 k            如果计数器溢出,则将本次值替换当前有效值,并清计数器) a3 L& D7 Y  e. M0 m" r& `3 R9 C
    B、优点:/ u# s* h8 Y$ ?7 `1 h
        对于变化缓慢的被测参数有较好的滤波效果,4 Y( ^1 U+ r$ C" @+ E
        可避免在临界值附近控制器的反复开/关跳动或显示器上数值抖动) X. P5 ]0 f) `% }7 B, n
    C、缺点:! O) q6 u  U' N, m8 ~" p2 W
        对于快速变化的参数不宜
1 @3 X4 C8 c* r  S' z& S        如果在计数器溢出的那一次采样到的值恰好是干扰值,则会将干扰值当作有效值导
$ J( U# T( {, l" }7 W7 z" V* l入系统
# r8 c# ]7 ^& v. V+ T" m5 ~4 F8 P& Z6 J. v) ^+ b
10、限幅消抖滤波法
$ L7 @9 w6 _/ u' b  j    A、方法:
# Q4 i6 H& L# I0 t2 g        相当于“限幅滤波法”+“消抖滤波法”9 X( ^5 j" X, n: g# |$ W
        先限幅,后消抖
8 h- h6 v1 i8 Q8 {, p' |( m( U    B、优点:1 p/ r& d; J, Q! A, k" {( q
        继承了“限幅”和“消抖”的优点4 v2 v) C2 X7 i8 O6 h: F: Y, [, B' D
        改进了“消抖滤波法”中的某些缺陷,避免将干扰值导入系统; z# V' e2 q+ v- t0 f4 W
    C、缺点:
/ B0 u5 J* B! x- n- z" }        对于快速变化的参数不宜
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

156

主题

559

帖子

1202

积分

四级会员(40)

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

积分
1202
2#
发表于 2016-8-13 11:05 | 只看该作者
路过捧场,谢谢分享!3 }- x1 ?" K6 d: k7 r
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

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

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

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

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