为什么用卷积滤波,而不是非常easy的在频率领域内进行数据的频率处理
卷积。为了更好的“动态”滤波。
问题来了。为什么用卷积滤波。而不是非常easy的在频率领域内进行数据的频率处理?
为了强调我觉得的答案,已经用blog标题给出了。卷积。为了更好的“动态”滤波!
有心人可能会思考这种问题,对于带有噪声的输入信号,要滤去高频噪声(例如以下图中的信号,我特意假定输入为y = sin(10x)+sin(1000x)的输入信号,能够明显的观察到强烈的高频噪声)
假设想搞定这个滤去高频噪声本身不是难事。直接fft 转换到频率领域。然后把高频部分直接置0,然后逆向fft转换回时间领域。
搞定。。
。
(为了方便,这里直接调用matlab的fft。当然我们也能够用自己写的fft)
以下是fft得到的频谱,我们能够非常直观的看到中间的两道直峰是高频段,左右两边的是低频断,假设想低通滤波就直接把高频段直接置0就能够了。这非常“简单粗暴”。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2lubXloZWFydA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
以下是输入信号和输出信号的对照
效果非常好嘛。无论什么类型的滤波,反正我在频率内操作数据,然后逆向变换到时间领域就是了。
可是,问题来了,以上的fft都是基于有一定规模的数据,说直接点就是已经得到了数据。然后处理数据。
实际的通信的信号处理往往不会这样。例如说打电话,别人说了一段话了,不可能等手机处理器採集足够多的数据然后处理了,接着再把处理好的数据利用功放播放出来吧!
这里就涉及到一个实时信号处理的问题。一旦要求信号处理实时操作,那么上述的变换到频率领域再变换回时间领域的方法不再适用。怎么办? 频率内的乘法相应时间领域内的卷积!
所以,当以下这样的带有复杂频率信息的信号实时连续的输入系统时,我们为了实时处理就要用卷积。把滤波的工作全然在时间领域内搞定。
文章引发的问题也就得到了解决。
时间领域内,卷积可以更好的实时滤波。
进而才会有各种卷积函数的设计。不搞清楚为什么用卷积而不是直接的频率领域内处理非常难让人有足够的动力去看那些为了更好的设计卷积函数而附带的繁杂的关于卷积函数设计的数学分析。
为什么用卷积滤波,而不是非常easy的在频率领域内进行数据的频率处理的更多相关文章
- 数学之路-python计算实战(19)-机器视觉-卷积滤波
filter2D Convolves an image with the kernel. C++: void filter2D(InputArray src, OutputArray dst, int ...
- 【计算机视觉】OpenCV篇(6) - 平滑图像(卷积/滤波/模糊/降噪)
平滑滤波 平滑滤波是低频增强的空间域滤波技术.空间域滤波技术即不经由傅立叶转换,直接处理影像中的像素,它的目的有两类:一类是模糊:另一类是消除噪音.空间域的平滑滤波一般采用简单平均法进行,就是求邻近像 ...
- 获取器操作都是针对数据而不是数据集的,要通过append()方法添加数据表不存在的字段
获取器操作都是针对数据而不是数据集的,要通过append()方法添加数据表不存在的字段 public function getMembership(){ //加入会员s_id = 1 $busines ...
- 数学之路-python计算实战(20)-机器视觉-拉普拉斯算子卷积滤波
拉普拉斯算子进行二维卷积计算,线性锐化滤波 # -*- coding: utf-8 -*- #线性锐化滤波-拉普拉斯算子进行二维卷积计算 #code:myhaspl@myhaspl.com impor ...
- 用python实现对图像的卷积(滤波)
之前在看卷积神经网络,很好奇卷积到底是什么,最后看到了这篇文章http://blog.csdn.net/zouxy09/article/details/49080029,讲得很清楚,这篇文章中提到了对 ...
- 玩转Web之Json(二)----jquery easy ui + Ajax +Json+SQL实现前后台数据交互
最近在学Json,在网上也找过一些资料,觉得有点乱,在这里,我以easy ui的登录界面为例来说一下怎样用Json实现前后台的数据交互 使用Json,首先需要导入一些jar包,这些资源可以在网上下载到 ...
- 让Easy UI 的DataGrid直接内嵌的JSON对象,并重写form load 方法
前言 我有这样的JSON对象 { "UserName": "jf", "UserPwd": "123456", &quo ...
- Jquery Easy UI Datagrid 上下移动批量保存数据
DataGrid with 上下移动批量保存数据 通过前端变量保存修改数据集合,一次性提交后台执行 本想结合easyui 自带的$('#dg').datagrid('getChanges'); 方法来 ...
- easy ui datagrid 获取选中行的数据
取得选中行数据: var row = $('#tt').datagrid('getSelected'); if (row){ alert('Item ID:'+row.itemid+" Pr ...
随机推荐
- size_type类型
由string类类型和vector类类型定义的类型,用以保存任意string对象或vector对象的长度,标准库类型将size_type定义为unsigned类型 string::size_type它 ...
- GET,POST请求
get请求 post请求
- wordpress 后台登录增加访问效验
目前已知的增加 wordpress 后台登录安全的方案有三种: 安全插件:如Limit Login Attempts Reloaded.WPS Hide Login 等等: 登录 URL 增加自定义k ...
- 计算a-b的差[返回BigDecimal 类型]
/*** * 返回 a-b 的差 [返回 BigDecimal 类型] * @param a 被减数 * @param b 减数 * @return */ public static BigDecim ...
- (2016北京集训十三)【xsy1532】网络战争 - 最小割树+树上倍增+KD树
题解: 好题!! 这题似乎能上我代码长度记录的前五? 调试时间长度应该也能上前五QAQ 首先题目要求的明显就是最小割,当然在整个森林上求Q次最小割肯定是会GG的,所以我们需要一个能快速求最小割的算法— ...
- ES6学习笔记(二十一)编程风格
本章探讨如何将 ES6 的新语法,运用到编码实践之中,与传统的 JavaScript 语法结合在一起,写出合理的.易于阅读和维护的代码. 1.块级作用域 (1)let 取代 var ES6 提出了两个 ...
- mysql 百万级查询优化
关于mysql处理百万级以上的数据时如何提高其查询速度的方法 最近一段时间由于工作需要,开始关注针对Mysql数据库的select查询语句的相关优化方法. 由于在参与的实际项目中发现当mysql表的数 ...
- vuex 基本入门和使用(三)-关于 mutation
vuex 基本入门和使用(三)-关于 mutation vuex 版本为^2.3.1,按照我自己的理解来整理vuex. 关于 mutation 这里应该很好理解. 更改 Vuex 的 store 中的 ...
- Qt之QFileIconProvider(根据扩展名获取文件图标、类型)
简述 在Qt之QFileIconProvider一节中已经讲解关于如何获取文件图标与类型.但只仍针对本地已存在的文件,此节,我们主要运用前面分享的内容,讲述如何通过任意后缀或本地不存在的文件来获取相关 ...
- Google笔试(2015年8月)
华电北风吹 天津大学认知计算与应用重点实验室 日期:2015/8/21 这三道题目的PDF能够在这里下载 https://github.com/ncepuzhengyi/jobHuntingExam/ ...