1.介绍

滑动平均值滤波可以去除随机噪声。测量中随机噪声的影响,使测量结果不准确,通过多次测量同一数据源,使用多点集合平均的方法得到数据一个比较合理的估计就是滑动平均值滤波。

例如第80采样点的5次平均值滤波:

Y[80] = 1/5( X[80] + X[81] + X[82] + X[83] + X[84] )

这个平均值滤波有时间延迟,最明显的若在正弦采样序列上使用移动平均滤波,则会造成过零点会发生偏移。一般在应用中会加以改进,以当前点为中点,左右各N/2点进行移动平均,遇到N为偶数可以在边界点额外乘以0.5系数。

Y[80] = 1/5( X[78] + X[79] + X[80] + X[81] + X[82] )

下面是一个简单的实验,在正弦信号上叠加随机噪声,通过移动平均,能够消除测量值上的毛刺。

2.时域计算方法

平均二字意味着各点的权重相同,如果为各点单独计算权重,则为指数加权滤波。

移动平均计算看似简单,但是却是一个十分耗时的计算,尤其平均点数较多后格外明显。

Y[N] = 1/M * ( X[1]+X[2]+X3[3] + … X[M-1]  )

观察计算式,可以发现,每次新测量值相对于上一次的测量值仅2个点不同,丢掉最早的点,累加最新的点,所以能够进行改进。如开头的例子,5点滑动平均滤波。

Y[80] = 1/5( X[78] + X[79] + X[80] + X[81] + X[82] )

改进后,点数越多提升越明显:

Y[80] = Y[79]  + 1/5( X[82] - X[77] )

3.频率特性

移动平均值滤波也是低通滤波器的一种,研究IIR和FIR滤波器的表达式,就可以发现移动平均值滤波是FIR滤波器的一个特例,其每阶的滤波系数都相同。

通用FIR滤波:y[n] = b[0] * x[n] + b[1] * x[n-1] + b[2] * x[n-2] + ...+ b[nums-1] * x[n-nums+1]

令b[0] = b[1] = b[2] =…..= b[nums-1]=1/nums。即

是FIR滤波的特例,可以改写为

, 其中b[0] = b[1] = b[2] =…..= b[num-1]=1/num。

为了计算简单,直接从连续信号来观察,

,Tw 为平均宽度,该式的频率响应为

,设输入函数x(t) = cos ωt = cos 2πft,当t=0时,x(t)达到最大,X(ω)=x(t=0)=1,Y(ω)=y(t=0)计算如下:

传输函数

, 可见其传输函数是一个sinc函数,频率响应为面积为1的矩形,时域为一个最大值为1的震荡波,当直流信号通过时f=0时,H(f)=1。

截止频率为fco,此时增益为-3db,即衰减倍率为0.707,根据sinc(x)特性曲线,求解sinc(x)=0.707,可得x = 1.3917。 所以sinc(x) = sin(x)/x , 带入H(w)可得

,化简后:Tw = 0.443/fco.

其中Tw 为平均宽度,采样率已知下,Tw 大小取决于平均点数,Tw  = N * T0=N/fs.

那么滑动平均滤波的点数与截止频率之间的关系可以表达为:

N = 0.443*fs/fco.

式中,N为平均的点数,fs为采样频率,fco为截止频率。

需要注意的是,从上面的sinc(x)特性曲线上可以看出,sinc是一个震荡曲线,所以H(w)会有多个为0的情况。这一点从H(w)的分子也可以得出,当f= n/Tw时,H(w)为0,下图为平均值滤波器在不同截止频率下的频率响应,可以看到图上有多个0点。

4. FFT方法分析滑动滤波的截止频率(参考文献3)

Since the first frequency is almost zero, could I design low pass filter,like Moving Average ?

Fc = (0.443 / Number of Point ) * Fsampling

It is correct?

a moving average filter is this FIR:

{ 1/L     0 <= n < L

h[n] = {

{ 0       otherwise

L is the "number of taps" (if implemented naively) or the length of the

delay (if implemented as a CIC).

it has a definite frequency response, and the -3.01 dB frequency (a.k.a.

"half-power point") can be computed.

H(w) = DTFT{ h[n] }

L-1

=   SUM{ 1/L * e^(-j*w*n) }

n=0

L-1

=   1/L * SUM{ e^(-j*w*n) }

n=0

1 - e^(-j*w*L)

=   1/L ---------------

1 - e^(-j*w)

e^(-j*w*L/2)    e^(j*w*L/2) - e^(-j*w*L/2)

=   1/L * ------------ * ----------------------------

e^(-j*w/2)       e^(j*w/2) - e^(-j*w/2)

=   1/L * e^(-j*w*(L-1)/2) * sin(w*L/2)/sin(w/2)

you can see that in the limit as w->0 H(w) -> 1.  now we want to know at what normalized angular frequency w that |H(w)|^2 = 1/2 .

|H(w)|^2  =  ( 1/L * sin(w*L/2)/sin(w/2) )^2   =   1/2

now, the icky part is that we have to solve this for the smallest w>0

that |H(w)|^2 = 1/2.  and it will be non-simple function of L.  if L is

a large integer, then sin(w/2) is about w/2 for any frequency of

interest.  then this becomes

sin(w*L/2)/(w*L/2)   =   sqrt(1/2)

that happens when w*L is about 2.783113 or when w/(2*pi) = 0.442946/L .

this is good only if L >> 1.

5.参考文档

1. Sinc function

2. sinc

3. Which is the cut -off frequency of Moving Average LP Filter?

π型滤波频率计算_滑动平均滤波的截止频率与平均点数计算相关推荐

  1. 中用BBP公式计算_【真课堂】7年级信息技术:数据计算

    教师介绍: 汪小红,一级教师,滨江区科技节scratch项目优秀指导教师,曾获杭州市信息技术优质课二等奖. [教材分析] 数据计算是数据处理过程中的一个重要步骤,数据计算能对数据进行归纳和提炼.学生已 ...

  2. 蒙特卡洛粒子滤波定位算法_基于粒子滤波的TBD算法仿真—MATLAB仿真

    目标跟踪的最终目的是在最小的误差下确定目标的位置,而在无线传感器网络中要实现这个目的需要很多相关技术的支持,如定位技术.目标检测技术.估计技术.节能技术等.目标跟踪问题的求解有很多方法, 从算法的考虑 ...

  3. 基于希克斯需求价格弹性计算_#炳哥经济学临考密押DAY1#微观计算题考点大盘点(上)...

    原标题:#炳哥经济学临考密押DAY1#微观计算题考点大盘点(上) 我敢说:微观经济学所有能考的计算题都在这了!信不信由你! 一.消费者行为理论 1.消费者最优选择求解:留意是否满足边际替代率递减 此类 ...

  4. 截流式合流制设计流量计算_[2018年最新整理]合流制排水管网设计与计算.ppt

    [2018年最新整理]合流制排水管网设计与计算 第4章 合流制管渠系统的设计 第4章 合流制管渠系统的设计 合流制排水系统: 在同一系统内收集排除污水和雨水. 4.1 合流制管渠系统的使用条件和布置特 ...

  5. lisp 河道水面线计算_案例分析:河道水面线应该怎么计算?

    河流水面线计算: 一.概述 紫藤山庄水闸位于陕西省白河县紫藤山庄宾馆北边的红石河上,地理坐标为东经110°06′18″.北纬32°45′39″,距县城12km.红石河是汉江的二级支流.拟建水闸上游至交 ...

  6. 固定资产拆分比例怎么计算_财税知识:固定资产处置增值税是怎么计算的?涉及哪些计算公式?...

    固定资产处置增值税是怎么计算的,会涉及到哪些公式呢?企业固定资产的处置,是需要缴纳相应的增值税的.那么到底如何计算呢? 固定资产处置增值税是怎么计算的?涉及哪些公式? 自2009年1月1日开始,纳税人 ...

  7. c++ 圆上任意点坐标计算_线性代数总结 第三章 向量代数与几何计算(空间平面和直线)...

    我的公众号"每日晴天",可关注领取我的笔记pdf版哦~ -------------------------------------------------------------- ...

  8. c# npoi 公式不计算_高中数学最不容易,最难计算,全高中数学所有基础性质公式归纳...

    曾接触过衡中的一个学霸,他的数学每次模拟考都是140多分!今年的高考考了145分,考到了上海交通大学!后来,我让他总结了一些学习方法,让学弟们都学习下!他说,其实数学看起来最不容易!但能够彻底掌握好基 ...

  9. matlab实现滑动平均滤波(一)

    最近时间在研究滤波算法,目的是为了更好的识别音频数据.因为有些音频数据里面的杂波太多,很难识别,所以需要先对其进行过滤,才能解析识别.为此,我先在matlab上做了仿真.采用的很多滤波算法,最后选择了 ...

最新文章

  1. python3 字符串 hex 相互转换 代替python2 decode(‘hex’)
  2. 【正一专栏】内马尔留不留下都已经是伤痕累累
  3. 好好学python · 字典
  4. mybatis的mapper.xml文件中含有中文注释时运行出错,mybatis配置优化和别名优化 mybatis配置之映射器说明
  5. python创建一个元组、输出元组下标为1、3、5的元素_【Python 1-9】Python手把手教程之——元组和元组的使用技巧...
  6. java如何让线程阻塞_Java中如何使一个线程进入阻塞态?
  7. struts2 过滤器和拦截器的区别和使用
  8. Netty架构与原理详解
  9. android 镜像投屏开发,Android 投屏实现纪要
  10. 2018年下半年信息系统项目管理师考试真题附答案解析(5)
  11. JAVA自行车租借管理系统计算机毕业设计Mybatis+系统+数据库+调试部署
  12. 【校内模拟】八云蓝(线段树)(大力分类讨论)
  13. 记录一下申请邓白氏编码的完整流程
  14. TPshop项目-功能测试(1)
  15. 湖北省2022年高企申报奖励补贴以及申报材料流程讲解(认定条件要求内容)
  16. 博特电子-17届智能车无线充电组恒功率方案
  17. 数据概览神器—Pandas-profiling
  18. probit模型与logit模型的相同点,区别及关系
  19. 利用Java实现微信公众号发送信息提醒通知
  20. xp系统无法访问局域网计算机,xp拒绝访问| windows xp系统局域网拒绝访问怎么办...

热门文章

  1. 云计算的认识和看法_谈谈对于云计算的认识和理解
  2. The word ‘localhost‘ is not correctly spelled 这个问题怎么解决
  3. Android 接口的default 方法运行时报错AbstractMethodError
  4. 神途boss_神途BOSS刷新了,女玩家以身冒险前往打骨魔洞
  5. IDM下载器下载百度网盘文件
  6. Maya 2023安装步骤(附安装、汉化、图文教程)
  7. 烤仔TVのCCW丨存储押金代付
  8. 柳如是,当得奇女子。
  9. 【风马一族_php】NO3_php基础知识
  10. java打印出 锟斤拷_一段java代码带你认识锟斤拷