java 移动平均_手把手教系列之移动平均滤波器实现

[导读]:前面一篇文章关于IIR设计的文章,还是有朋友点开来阅读。虽不知看官们的感想如何,但想着总还是有赏光一读,所以决定继续这个系列。本文来聊一聊平均滤波器,这题目咋一看非常容易。但个人觉得里面一些关键要点未必都明了,本文主要关注xx一维平均滤波器设计内在机理、应用场景。

注:尽量在每篇文章写写摘要,方便阅读。信息时代,大家时间都很宝贵,如此亦可节约粉丝们的宝贵时间。

理论理解

学习一样东西,个人建议须从三个维度进行:What Why How

这里的内容主要参考胡广书编写的<>7.5.1节,加了一些自己的理解。

提到平均滤波器,做过单片机应用开发的朋友,马上能想到将一些采样数据进行加和求平均。诚然如此,从其时域数学描述而言也很直观:

$$

\begin{align*}

y(n)&=\frac{1}{N}\sum_{k=0}^Nx(n-k)\&=\frac{1}{N}[x(n)+...+x(n-N+1)]

\end{align*}

$$

其中$x(n)$代表当前测量值,对于单片机应用而言,可以是当前ADC的采样值或者当前传感器经过一系列处理的物理量(比如在工业控制领域中的温度、压力、流量等测量值),而$x(n-1)$表示上一次的测量值,以此类推,$x(n-N+1)$则是前第N-1次测量值。

为了揭示其更深层次的机理,这里用Z传递函数将上述公式进一步描述:

$$

\begin{align*}

H(Z)&=\frac{1}{N}\sum_{k=0}^NZ^{-N}\&=\frac{1}{N}\frac{1-Z^{-N}}{1-Z^{-1}}

\end{align*}

$$

对于傅立叶变换而言:

$$

X(\omega)=\sum_{k=-\infty}^{\infty}x(n)e^{-j\omega{n}}

$$

Z变换的本质是拉普拉斯变换的离散化形式,$Z=e^{\sigma+j\omega}=e^{\sigma}e^{j\omega}$,令$e^{\sigma}=r$,则

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值