卷积。为了更好的“动态”滤波。

问题来了。为什么用卷积滤波。而不是非常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的在频率领域内进行数据的频率处理的更多相关文章

  1. 数学之路-python计算实战(19)-机器视觉-卷积滤波

    filter2D Convolves an image with the kernel. C++: void filter2D(InputArray src, OutputArray dst, int ...

  2. 【计算机视觉】OpenCV篇(6) - 平滑图像(卷积/滤波/模糊/降噪)

    平滑滤波 平滑滤波是低频增强的空间域滤波技术.空间域滤波技术即不经由傅立叶转换,直接处理影像中的像素,它的目的有两类:一类是模糊:另一类是消除噪音.空间域的平滑滤波一般采用简单平均法进行,就是求邻近像 ...

  3. 获取器操作都是针对数据而不是数据集的,要通过append()方法添加数据表不存在的字段

    获取器操作都是针对数据而不是数据集的,要通过append()方法添加数据表不存在的字段 public function getMembership(){ //加入会员s_id = 1 $busines ...

  4. 数学之路-python计算实战(20)-机器视觉-拉普拉斯算子卷积滤波

    拉普拉斯算子进行二维卷积计算,线性锐化滤波 # -*- coding: utf-8 -*- #线性锐化滤波-拉普拉斯算子进行二维卷积计算 #code:myhaspl@myhaspl.com impor ...

  5. 用python实现对图像的卷积(滤波)

    之前在看卷积神经网络,很好奇卷积到底是什么,最后看到了这篇文章http://blog.csdn.net/zouxy09/article/details/49080029,讲得很清楚,这篇文章中提到了对 ...

  6. 玩转Web之Json(二)----jquery easy ui + Ajax +Json+SQL实现前后台数据交互

    最近在学Json,在网上也找过一些资料,觉得有点乱,在这里,我以easy ui的登录界面为例来说一下怎样用Json实现前后台的数据交互 使用Json,首先需要导入一些jar包,这些资源可以在网上下载到 ...

  7. 让Easy UI 的DataGrid直接内嵌的JSON对象,并重写form load 方法

    前言 我有这样的JSON对象 { "UserName": "jf", "UserPwd": "123456", &quo ...

  8. Jquery Easy UI Datagrid 上下移动批量保存数据

    DataGrid with 上下移动批量保存数据 通过前端变量保存修改数据集合,一次性提交后台执行 本想结合easyui 自带的$('#dg').datagrid('getChanges'); 方法来 ...

  9. easy ui datagrid 获取选中行的数据

    取得选中行数据: var row = $('#tt').datagrid('getSelected'); if (row){ alert('Item ID:'+row.itemid+" Pr ...

随机推荐

  1. 解决vuex刷新页面数据丢失

    1.前言 vue构建的项目中,vuex的状态存储是响应式的,当vue组件从store中读取状态的时候,若store中的状态发生变化,那么相应的组件也会得到高效刷新,问题来了,vuex存储的数据只是在页 ...

  2. (2016北京集训十)【xsy1530】小Q与内存

    一道很有意思的神题~ 暴力平衡树的复杂度很对(并不),但是$2^{30}$的空间一脸屎 这题的正解是一个类似线段树的数据结构,我觉得很有创新性Orz 首先可以想到一种暴力就是用一个点代表一个区间,然后 ...

  3. POJ1743Musical Theme(后缀数组+二分)

    题意 有N(1 <= N <=20000)个音符的序列来表示一首乐曲,每个音符都是1..88范围内的整数,现在要找一个重复的主题.“主题”是整个音符序列的一个子串,它需要满足如下条件: 1 ...

  4. vuejs--递归组件(树型表格分享)

    前言    前段时间使用vue做了一套后台管理系统,其中使用最多就是递归组件,也因为自己对官方文档的不熟悉使得自己踩了不少坑,今天写出来和大家一起分享. 递归组件    组件在它的模板内可以递归地调用 ...

  5. 紫书 例题8-7 UVa 11572(滑动窗口)

    滑动窗口这个方法名字非常形象, 先是窗口的右指针尽量往右滑, 滑不动了就滑窗口的左指针, 滑到右指针又可以开始滑动为止. 这道题是要记录滑的过程中最大的窗口长度, 限制条件是窗口中不能出现重复的值. ...

  6. 紫书 习题 11-1 UVa 821 (Floyd)

    水题, Floyd一遍就完了. #include<cstdio> #include<algorithm> #define REP(i, a, b) for(int i = (a ...

  7. poj3134 Power Calculus IDA*

    好端端的一道搜索题目,,,硬生生的被我弄成了乱搞题,,,枚举当前的maxd,深搜结果,然而想到的剪枝方法都没有太好的效果,,,最后用一个贪心乱搞弄出来了,,, 贪心:每次必用上一次做出来的数字与其他数 ...

  8. Qt之自定义布局管理器(QCardLayout)

    简述 手动布局另一种方法是通过继承QLayout类编写自己的布局管理器. 下面我们详细来举一个例子-QCardLayout.它由同名的Java布局管理器启发而来.也被称之为卡片布局,每个项目偏移QLa ...

  9. HDU 5297 Y sequence Y数列

    题意:给定正整数n和r.定义Y数列为从正整数序列中删除全部能表示成a^b(2 ≤ b ≤ r)的数后的数列,求Y数列的第n个数是多少. 比如n = 10. r = 3,则Y数列为2 3 5 6 7 1 ...

  10. UITextField限制输入长度

    首先,汉字的输入时的联想词在输入到TextFiled时,并不会走 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersIn ...