信号系统之移动平均滤波器

1 通过卷积实现

移动平均滤波器的工作原理是平均输入信号中的多个点,以产生输出信号中的每个点。在方程式形式中,这样写:

其中是 x 输入信号,y 是输出信号,M 是平均值中的点数。例如,在 5 点移动平均滤波器中,输出信号中的点 80 由下式给出:

作为替代方案,输入信号中的点组可以围绕输出点对称选择

这相当于将方程 15-1 中的 j=0 to M-1,更改为 j=-(M-1)/2 to (M-1)/2。例如,在 10 点移动平均线过滤器中,索引 可以从 0 到 11(单侧平均)或 -5 到 5(对称平均)。对称平均要求 M 为奇数。只有一侧的点,编程稍微容易一些,但会产生输入和输出信号之间的相对偏移。

移动平均滤波器是使用非常简单的滤波器内核的卷积。例如,一个 5 点过滤器的过滤器内核是:…0, 0, 1/5, 1/5, 1/5, 1/5, 1/5, 0, 0…也就是说,移动平均滤波器是输入信号的卷积,其面积为 1 的矩形脉冲。表 15-1 显示了实现移动平均滤波器的程序。

2 降噪与阶跃响应

移动平均滤波器不仅非常适合许多应用,而且是常见问题的最佳选择,可减少随机白噪声,同时保持最敏锐的阶跃响应。

图 15-1 显示了其工作原理的示例。(a)中的信号是隐藏在随机噪声中的脉冲。在(b)和(c)中,移动平均滤波器的平滑作用降低了随机噪声的幅度(好),但也降低了边缘的清晰度(坏)。在所有可能使用的线性滤波器中,移动平均线在给定的边缘锐度下产生的噪声最低。降噪量等于平均值中点数的平方根。例如,一个 100 点移动平均滤波器可将噪声降低 10 倍。

为了理解为什么移动平均线是最佳解决方案,假设想要设计一个具有固定边缘锐度的滤波器。例如,假设通过指定阶跃响应的上升中有 11 个点来修复边缘锐度。这要求过滤器内核有 11 个点。优化问题是:**如何选择滤波器内核中的11个值,以最小化输出信号上的噪声?**由于试图减少的噪声是随机的,因此没有一个输入点是特殊的;每个都和它的邻居一样嘈杂。因此,通过在滤波器内核中为任何一个输入点分配更大的系数来给予它优先处理是没有用的。当所有输入样本(即移动平均滤波器)得到同等处理时,可获得最低噪声。

3 频率响应

图15-2显示了移动平均滤波器的频率响应,它由矩形脉冲的傅里叶变换在数学上描述:

roll-off非常慢,阻带衰减非常可怕。显然,移动平均滤波器无法将一个频带与另一个频带分开。请记住,时域中的良好性能会导致频域中的性能较差,反之亦然。简而言之,移动平均线是一个非常好的平滑滤波器(时域中的动作),但是一个非常糟糕的低通滤波器(频域中的动作)

4 移动平均滤波器的亲戚

在理想情况下,滤波器设计人员只需要处理时域或频域编码信息,而不必在同一信号中混合使用两者。不幸的是,在某些应用程序中,两个域同时重要。移动平均滤波器的亲戚具有更好的频域性能,在混合域应用中非常有用。

多通道移动平均滤波器涉及将输入信号通过移动平均滤波器两次或多次。图 15-3a 显示了由一次、两次和四次传递产生的整个过滤器内核。两次传递等同于使用三角形滤波器核(与自身卷积的矩形滤波器核)。经过四次或更多次传递后,等效滤波器核看起来像高斯(回想一下中心极限定理)。如(b)所示,与单次通路的直线相比,多次通路产生“s”形阶跃响应。(c)和(d)中的频率响应由方程 15-2 乘以每次通过的自身给出。也就是说,每个时域卷积都会导致频谱的倍增。

移动平均滤波器的这些亲戚如何比移动平均滤波器本身更好?三种方式:

  • 首先,也是最重要的一点,这些滤波器比移动平均滤波器具有更好的阻带衰减
  • 其次,滤波器内核在末端附近逐渐变细到较小的振幅。回想一下,输出信号中的每个点都是来自输入的一组样本的加权和。如果滤波器内核逐渐变细,则输入信号中较远的样本的权重低于靠近的样本。
  • 第三,阶跃响应是平滑曲线,而不是移动平均线的突然直线。后两者通常好处有限。

移动平均滤波器及其相关滤波器在降低随机噪声的同时保持尖锐的阶跃响应方面都大致相同。歧义在于如何测量阶跃响应的上升时间。如果上升时间是从步长的 0% 到 100% 测量的,则移动平均滤波器是可以做的最好的,如前所述。相比之下,测量从 10% 到 90% 的上升时间使 Blackman 窗口优于移动平均滤波器。

这些过滤器的最大区别是执行速度。它是目前最快的数字滤波器。移动平均线的多次传递会相应变慢,但仍然非常快。相比之下,高斯滤波器和Blackman滤波器的速度非常慢,因为它们必须使用卷积。考虑过滤器内核中点数的 10 倍(基于乘法比加法慢约 10 倍)。例如,使用递归,预计 100 点的高斯比移动平均线慢 1000 倍。

5 递归实现

移动平均滤波器的一个巨大优势是它可以使用非常快速的算法来实现。要理解这一点,想象一下将输入信号 x[] 传递到一个七点移动平均滤波器,形成一个输出信号 y[]。现在看看两个相邻的输出点 y[50] 和 y[51] 是如何计算的:

这些计算几乎相同;必须为 y[50] 添加点 x[48] 到 x[53],并为 y[51] 再次添加点。如果已经计算了 y[50],则计算 y[51] 的最有效方法是:

一旦使用 y[50] 找到 y[51],就可以从样本 y[51] 计算 y[52],依此类推。在 y[] 中计算第一个点后,所有其他点都可以找到,每个点只有一个加法和减法。这可以用等式表示:

注意,此公式使用两个数据源来计算输出中的每个点:来自输入的点和先前从输出中计算的点,这称为递归方程(recursive equation),这意味着一次计算的结果用于未来的计算。

移动平均递归滤波器与典型的递归滤波器有很大不同。特别是,大多数递归滤波器具有无限长脉冲响应(infinitely long impulse response,IIR),由正弦波和指数组成。移动平均线的脉冲响应是矩形脉冲(有限脉冲响应,或finite impulse response,FIR)。

由于多种原因,该算法比其他数字滤波器更快:

  • 首先,无论滤波器内核的长度如何,每个点只有两次计算
  • 其次,加法和减法是唯一需要的数学运算,而大多数数字滤波器需要耗时的乘法。
  • 第三,索引方案非常简单。方程 15-3 中的每个索引都是通过添加或减去可以在过滤开始之前计算的整数常量(即 p 和 q)找到的。
  • 第四,整个算法可以用整数表示来执行。根据所使用的硬件,整数可能比浮点快一个数量级以上。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/688172.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于51单片机的智能台灯的设计与实现

摘 要:针对青少年因坐姿不正确、灯光亮度不合适、用眼过度等原因易导致的近视问题,文中提出使用51单片机作为主控制单元,选用红外检测、光敏检测、蓝牙通信、蜂鸣器和模数转换等模块,设计了一款智能台灯。该智能台灯具有节能、预防近视等功能。经测试,该台灯具有保护视力的…

php基础学习之常用系统函数

一,有关输出的语句/函数 echo语句 用于输出一个或多个字符串 print语句 用于输出一个字符串(用句点连接的多个字符串本质是一个字符串),与echo类似,但返回值为1 printf()函数 用于格式化输出字符串,类似于C…

Android下SF合成流程重学习之Refresh流程

Android下SF合成流程重学习之Refresh流程 引言 在前面初步分析完成了Android下SF合成流程重学习之Invalidate流程,我们接下来继续下面的分析。当有事务的更新或者有Buffer的更新便会触发后面刷新的流程,即Refresh流程! 一. onMessageRefresh 文件&…

QT串口通讯上位机_基础串口通讯

目录 1. 实现目标1.1 界面1.2 发送1.3 接收1.4 清除接收、发送 2. 新建工程3. 添加头文件4. 变量定义5. 完整代码6. 工程下载 1. 实现目标 1.1 界面 1.2 发送 1.3 接收 1.4 清除接收、发送 2. 新建工程 3. 添加头文件 QT serialport // #include <QDebug‘’> #incl…

数据库架构师之道:MySQL安装与系统整合指南

目录 MySQL数据库安装&#xff08;centos&#xff09; 版本选择 企业版 社区版 选哪个 MySQL特点 MySQL服务端-客户端 mysql下载选择 软件包解释 安装MySQL的方式 rpm包安装 yum方式安装 源码编译安装★ 具体的编译安装步骤★★ 环境准备 free -m命令 cat /pr…

OpenAI超级视频模型Sora登上央视,LeCun强推的「世界模型」雏形相继诞生,AGI如何能够以人类的理解方式看世界?

OpenAI超级视频模型Sora热度不减 Sora一经面世&#xff0c;瞬间成为顶流&#xff0c;话题热度只增不减&#xff0c;一度登上央视新闻报道。 强大的逼真视频生成能力&#xff0c;让许多人纷纷惊呼「现实不存在了」。 OpenAI官方技术报告 OpenAI官方Sora技术报告&#xff1a;V…

JMeter 配置元件之按条件读取CSV Data Set Config

实践环境 win10 JMeter 5.4.1 需求描述 需求是这样的&#xff0c;需要压测某个接口(取消分配接口)&#xff0c;请求这个接口之前&#xff0c;需要先登录系统(物流WMS系统)&#xff0c;并在登录后&#xff0c;选择并进入需要操作的仓库&#xff0c;然后请求接口&#xff0c;…

我的NPI项目之Android Camera (二) -- 核心部件之 Camera Sensor

说到Camera模组&#xff0c;我们比较关心的是用的什么样的sensor&#xff1f; sensor的分辨率多少&#xff0c;sensor的像素多大&#xff0c;sensor是哪家生产的等等一些问题。今天&#xff0c;我们就穿越时间&#xff0c;将sensor的历史扒一扒。 Wikipedia先看一下&#xff1…

MOSFET栅极应用电路分析汇总(驱动、加速、保护、自举等等)

概述 MOSFET是一种常见的电压型控制器件&#xff0c;具有开关速度快、高频性能、输入阻抗高、噪声小、驱动功率小、动态范围大、安全工作区域(SOA)宽等一系列的优点&#xff0c;因此被广泛的应用于开关电源、电机控制、电动工具等各行各业。栅极做为MOSFET本身较薄弱的环节&am…

【C++11新特性】详解智能指针 创建、使用、注意事项

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…

小白如何学鸿蒙开发?

在互联网技术不断发展的现在&#xff0c;鸿蒙操作系统的出现标志着是能技术领域的一次重大突破&#xff0c;鸿蒙作为华为推出的一代操作系统&#xff0c;鸿蒙不仅达代表了自主创新的力量&#xff0c;还因为独特的分布式架构和全场景适配能力而备受关注。随着鸿蒙生态的不断完善…

测试架构师必备技能 —— Nginx安装部署实战

Nginx("engine x")是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的免费开源Web和 反向代理服务器&#xff0c;也是一个 IMAP/POP3/SMTP 代理服务器。在高并发访问的情况下&#xff0c;Nginx是Apache服务器不错的替代品。官网数据显示每秒TPS高达50W左右。本文…

左旋字符串解析

题目 实现一个函数&#xff0c;可以左旋字符串中的k个字符。 例如&#xff1a; ABCD左旋一个字符得到BCDA ABCD左旋两个字符得到CDAB 法1&#xff1a;一个个移动 #include<stdio.h> #include<string.h>//把一个字符串s,左移time个字符 void leftRound(char* s…

leetcode日记(26)有效的数独

用暴力解法解出来的&#xff0c;判断3*3那要写的比较多&#xff0c;判断竖列那花了点功夫。 不知道有没有更好的解法。 class Solution { public:bool isValidSudoku(vector<vector<char>>& board) {for(int i0;i<9;i){vector<char>cboard[i];for(i…

[Docker实战] 旭日X3派上Docker Openwrt +Samba 实现局域网NAS 开启AP模式

​ &#x1f308; 博客个人主页&#xff1a;Chris在Coding &#x1f3a5; 本文所属专栏&#xff1a;[旭日X3派] [Docker实战] ❤️ 前置学习专栏&#xff1a;[Linux学习] ⏰ 我们仍在旅途 …

创建补丁文件.patch

前言 在linux中&#xff0c;在工程实践中。 自己基于文件1进行了修改&#xff0c;得到文件2&#xff0c;文件1有线上仓库。时常会遇到以下两种情景&#xff1a; 由于文件过大&#xff0c;直接向组员分享文件2很麻烦。由于修改地方过多&#xff0c;每次更换环境都需要重新修改文…

【JAVA语言-第18话】集合框架(五)——Map、HashMap、LinkedHashMap、TreeMap集合

目录 双列集合Map 1.1 概述 1.2 特点 1.3 Map接口中的常用方法 1.3.1 练习 1.4 HashMap集合 1.4.1 概述 1.4.2 特点 1.5 LinkedHashMap集合 1.5.1 概述 1.5.2 特点 1.6 TreeMap集合 1.6.1 概述 1.6.2 特点 1.7 Map集合练习 1.8 HashMap、LinkedHashMap、Tre…

【EI会议征稿通知】第五届城市工程与管理科学国际会议(ICUEMS 2024)

【Scopus稳定检索】第五届城市工程与管理科学国际会议&#xff08;ICUEMS 2024&#xff09; 2024 5th International Conference on Urban Engineering and Management Science 第五届城市工程与管理科学国际会议&#xff08;ICUEMS 2024&#xff09;将于2024年5月31日-6月2日…

GitKraken Create Repository and Clone不可点击

问题 GitKraken Create Repository and Clone不可点击 详细问题 笔者第一次使用GitKraken&#xff0c;在创建仓库时&#xff0c;填写完成仓库初始化后。发现Create Repository and Clone不可点击。 解决方案 选择Where to clone to位置 产生原因 在创建仓库时&#xff0…

洛谷: P1479 宿舍里的故事之五子棋

题目链接: https://www.luogu.com.cn/problem/P1479 思路: 这道题目可以打表或者搜索。每个位置有选择/不选择两种情况。搜索的时候我们一行一行的搜索&#xff0c;直到使用的棋子达到n为止。b[i]为五子连线的数量&#xff0c;b[i] 1表示五子连线的数量可以取i&#xff0c;在…