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

问题来了。为什么用卷积滤波。而不是非常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都是基于有一定规模的数据,说直接点就是已经得到了数据。然后处理数据。

实际的通信的信号处理往往不会这样。例如说打电话,别人说了一段话了,不可能等手机处理器採集足够多的数据然后处理了,接着再把处理好的数据利用功放播放出来吧!

这里就涉及到一个实时信号处理的问题。一旦要求信号处理实时操作,那么上述的变换到频率领域再变换回时间领域的方法不再适用。怎么办? 频率内的乘法相应时间领域内的卷积!

所以,当以下这样的带有复杂频率信息的信号实时连续的输入系统时,我们为了实时处理就要用卷积。把滤波的工作全然在时间领域内搞定。

文章引发的问题也就得到了解决。

时间领域内,卷积可以更好的实时滤波。

进而才会有各种卷积函数的设计。不搞清楚为什么用卷积而不是直接的频率领域内处理非常难让人有足够的动力去看那些为了更好的设计卷积函数而附带的繁杂的关于卷积函数设计的数学分析。

最新文章

  1. (五)什么是RDD-Java&Python版Spark
  2. DoTween 教程
  3. js002-在HTML中使用JavaScript
  4. Robot Framework自动化测试(一)---第一个脚本
  5. 1.Spring IoC简单例子
  6. [selenium webdriver Java]元素定位——findElement/findElements
  7. java生产者消费者并发协作
  8. HDU 3523 Image copy detection(KM最大匹配)
  9. 进击的Android注入术《二》
  10. 子查询 此处该用AND 而不是 WHERE
  11. JS跨域解决方式 window.name
  12. div内文字显示两行,多出的文字用省略号显示
  13. github SSH配置
  14. [LOJ3088][GXOI/GZOI2019]旧词——树链剖分+线段树
  15. day6-基础函数的学习(一)
  16. Go语言之高级篇beego框架之配置beego环境
  17. Docker中安装wiki Confluence
  18. GoLand 调试 Go
  19. Java RSA加密算法生成公钥和私钥
  20. ASP.NET前后台交互之JSON数据

热门文章

  1. 优动漫PAINT基础系列之图层模式
  2. EFcore笔记之创建模型
  3. UVA-12083 Guardian of Decency 二分图 最大独立集
  4. finger---用于查找并显示用户信息
  5. HTTP——学习笔记(7)
  6. hadoop-03-安装java
  7. [React] Refactor a Stateful List Component to a Functional Component with React PowerPlug
  8. Android五天乐(第三天)ListFragment与ViewPager
  9. Light OJ 1080 - Binary Simulation
  10. 转】关于cgi、FastCGI、php-fpm、php-cgi