在《浅谈傅里叶 4》里,我引入了卷积的概念来简要的解释了傅里叶的改进方法——短时傅里叶。它类似一种滑动的滤波器,只不过与我们熟知的与对空间滤波、频域滤波不同,这是一个类似时域滤波的滤波器,而我们这节要回到短时傅里叶的数学表达式, 由公式 STFT(t,f)=∫[f(t)⋅ω(t−t∗)]⋅e−2πiktdtSTFT(t, f) = \int [f(t) \cdot \omega (t - t^*)] \cdot e ^{-2\pi ikt} dtSTFT(t,f)=∫[f(t)⋅ω(t−t∗)]⋅e−2πiktdt 出发,进一步详细讨论短时傅里叶的优缺点。

什么是卷积(Convolution)

前面提到了,短时傅里叶是一种类似卷积的操作,这里我将简要的提一下卷积的概念,尽管我可能在以后的文章里会详细的介绍卷积的概念,不过这里作为一个简要的介绍引入这个重要的数学概念是非常必要的。

首先回到一般的空间滤波的概念。

比如说,对于计算平均数的空间滤波来说,它有一个核函数,这个函数可以是3X3,也可以是其他大小,这个具体取决于你的具体应用。,然后我们把这个核函数,滑动的在原数据集上依次的对数据进行处理,并在新的相同维度的矩阵中,对应的位置上填写具体的数值。

上图中,你会注意到有一个红色的方框,它在“滑动的处理”原始数据,所以这里引入了另外一个重要概念滑动。而卷积呢,你就可以理解为有一个核函数,通过滑动的方式,依次对原始函数进行处理的过程。

用一个基本公式可以表示这个过程,就是
Io=Ii⨀fsI_o = I_i \bigodot f_s Io​=Ii​⨀fs​

其中 IiI_iIi​ 指代的是原始数据集,而 ⨀\bigodot⨀ 可以理解为某种元素积的函数,而 fsf_sfs​ 则是具体的“掩码”函数,那么如果用连续过程进行表示,这个就变成了下面这个卷积公式:

F(x)=∫f(τ)g(x−τ)dτF(x) = \int f(\tau)g(x-\tau) d\tau F(x)=∫f(τ)g(x−τ)dτ

而短时傅里叶公式呢:

STFT(τ,f)=∫[f(τ)⋅ω(τ−t∗)]⋅e−2πikτdτSTFT(\tau, f) = \int [f(\tau) \cdot \omega (\tau - t^*)] \cdot e ^{-2\pi i k \tau} d \tauSTFT(τ,f)=∫[f(τ)⋅ω(τ−t∗)]⋅e−2πikτdτ

再回到短时傅里叶函数,你看看是不是很相似?区别只不过在于卷积有一个对 g(τ)g(\tau)g(τ) 来说所谓“旋转”的过程。至于为什么有这个区别,以后有机会的时候再说。

短时傅里叶方法的缺陷

在介绍了傅里叶方法的数学推导,并且引入了傅里叶方法对于时频信号分析的改进技术——短时傅里叶。任何强大有力的工具都有它的适用性,也就是傅里叶虽然有精确的频率信息,但是不包含各频率出现的时间信息。于是我们改进了傅里叶方法,并且引入了短时傅里叶。

短时傅里叶确实一定程度上解决了傅里叶缺失信号频率出现的时间问题,但是也引来了另外一个问题,那就是测不准问题。用个通俗的例子来举例,就是用尺子去测量π,2\pi, \sqrt{2}π,2​,这类尺子无论多小的单位,都无法准确测量的实数,当然,这个举例不一定正确。

海森堡于1927年提出,这个理论是说,你不可能同时知道一个粒子的位置和它的速度,粒子位置的不确定性,必然大于或等于普朗克常数(Planck constant)除于4π\piπ,这表明微观世界的粒子行为与宏观物质很不一样。此外,不确定原理涉及很多深刻的哲学问题,用海森堡自己的话说:“在因果律的陈述中,即‘若确切地知道现在,就能预见未来’,所得出的并不是结论,而是前提。我们不能知道现在的所有细节,是一种原则性的事情。”

对于信号处理来说,更为准确的说法是对于给定信号来说,我们无法知道该信号中确切包含的频率与频率出现的时间,以及关联频率的范围,所以我们只能假定某种频率会出现,用某种方法去近似的测量它。

对于短时傅里叶方法,就存在这样的问题,我们无法知道某种频率一定出现的时间位置,所以窗函数的跨度(时间T)就非常难设计,而且,因为高频信号在时域范围有较好的体现,而低频信号在频域范围有较好的体现;观测高频信号,我们需要用较窄的跨度去测量它,但是对于低频信号则需要较长的跨度去测量它,而实际的信号又是动态的,所以使用短时傅里叶方法会经常出现测不准信号的情况。

我们用图来说明:

由于短时傅里叶的观察窗口大小是确定的,平移时间间隔是确定的,所以它的精度范围也是确定的,如右图所示。当某时刻T0T_0T0​出现了某种低频信号,而此时傅里叶窗口的大小不够大,那么就会导致对这个低频信号的测量失败,在对应的频谱图上就不能有较好的体现。

那么,如果我们换个思路,比如动态的调整窗大小,或许我们可以解决,或者把“测不准”带来的影响降低到最小。不过这就引入了小波分析了,属于另外一个范畴,这里就不展开讨论。

综上所述,使用傅里叶分析,可以有效的得出原始信号中包含的频率范围,但是要求处理的数据是“已经固定了的”,并且由于处理时间的滞后性,不适用于实时处理。而它的改进办法,有通过在时间轴上“滑动观察时间窗口”的方法,使傅里叶分析可以用于实时处理,但是对于数据信号要预先有所了解,并设计合适大小的观察窗,这对于未知信号不是友好,这通常意味着使用者需要反复调试参数,以确定最佳大小。

尽管有改进的动态滑窗,或者自适应的所谓的小波分析方法(Wavelet Transform),但是我们可以从自己的工作经历预判,这种自适应方法带来的一定是性能的下降。

浅谈傅里叶——5. 短时傅里叶的缺点与卷积的基本概念相关推荐

  1. 浅谈Linux tty体系,理清tty驱动层次与各种概念

    虽然Linux内核是由C语言写的,但处处体现面向对象的设计思想,这对很多只会C语言的朋友来说,理解比较困难,尤其是tty体系,涉及很多混乱的概念. 1. 上古时期的tty.terminal和conso ...

  2. 浅谈傅里叶——2. 连续傅里叶公式推导与三角函数正交性

    关于连续傅里叶公式的推导 在上一篇浅谈傅里叶(1)中已经给出了欧拉公式的推导和三角函数和的表达式,虽然三角函数和就是傅里叶公式的表达形式,但是数学家们还是嫌这样的表达式过于累赘,于是试图偷懒,通过将实 ...

  3. 时频分析:短时傅里叶实现(3)

    目录: 前言 实验环境 Matlab spectrogram函数 1语法 2使用说明 3代码如下 3.1谱图和瞬时频率 3.2鸟声信号功率谱密度追踪 参考: 前言 之前讲了时频分析的原理,现在来讲讲它 ...

  4. ajax感受,有什么缺点,浅谈ajax的优点与缺点

    AJAX (Asynchronous Javascript and XML) 是一种交互式动态web应用开发技术,该技术能提供富用户体验. 完全的AJAX应用给人以桌面应用的感觉.正如其他任何技术,A ...

  5. 浅谈压缩感知(九):正交匹配追踪算法OMP

    浅谈压缩感知(九):正交匹配追踪算法OMP 主要内容: OMP算法介绍 OMP的MATLAB实现 OMP中的数学知识 一.OMP算法介绍 来源:http://blog.csdn.net/scucj/a ...

  6. 浅谈Hybrid技术的设计与实现【转】

    https://www.cnblogs.com/yexiaochai/p/4921635.html 前言 浅谈Hybrid技术的设计与实现 浅谈Hybrid技术的设计与实现第二弹 浅谈Hybrid技术 ...

  7. 浅谈Hybrid技术——Big-man

    浅谈Hybrid技术--Big-man 前言: 现在的移动网络以及移动应用可谓是市场强大到无可比拟,骑着自行车在城市的街头上走一走,早已经没有了往日的路上的人们抬头仰望星空的感觉,更多的是成为了一个& ...

  8. 浅谈TCP协议与DDOS

    本节内容 1.TCP协议浅谈 1.HTTP连接 2.SOCKET原理 3.TCP介绍 4.TCP连接的三次握手与四次挥手 2.DDOS 1.什么是DDOS 2.攻击原理 3.防护方法 4.其他攻击方式 ...

  9. (转)浅谈Hybrid技术的设计与实现

    转载地址:https://www.cnblogs.com/yexiaochai/p/4921635.html 前言 浅谈Hybrid技术的设计与实现 浅谈Hybrid技术的设计与实现第二弹 浅谈Hyb ...

最新文章

  1. 【洛谷p1313】计算系数
  2. 导线坐标计算软件_8套超全建筑工程测量计算表,输入参数得到精确结果,从此不加班...
  3. 【安全漏洞】Emissary 的SSRF漏洞(CVE-2021-32639)发现过程
  4. python限定方法参数类型、返回值类型、变量类型
  5. python 过滤相似图片_求教 python 网站爬虫过滤出图片 url 的问题
  6. 【音视频安卓开发 (二)】
  7. window自动任务
  8. Python风格总结:判断元素是否在列表中存在
  9. 改变mysql默认字符集为utf8
  10. xml和TreeView
  11. 计算机挂个硬盘显示格式化怎么解决,硬盘提示格式化怎么办?硬盘数据怎么恢复?...
  12. 设备功耗计算专题《低功耗实战篇,全志XR808连接AP的最低功耗研究》
  13. 软件工程阶段性总结(三)——软件设计和编码
  14. 从汇编层次理解malloc函数
  15. 【Liunx_QT触摸屏不管用】
  16. 服务器风扇支持热插拔,被骗十几年 原来这些设备不能热插拔!
  17. 什么击计算机窗口可以打开资源管理器,如何打开资源管理器? 5种打开资源管理器的方法...
  18. 绘制cadence16.6原理图库
  19. 招聘 | 百度NLP部 - 对话算法实习生
  20. 怎样卸载deepin系统_Deepin深度系统系统卸载教程 - 安装卸载 - Deepin深度系统用户手册...

热门文章

  1. oracle ebs 提交请求,EBS Form开发中点击按钮提交请求报表的实现方式--fnd_request.submit_request...
  2. 微信哪个电话能转人工服务器,微信人工客服电话多少?微信客服怎么打转人工(这份教程收好了)...
  3. 腾讯推出微信企业服务平台风铃
  4. window8系统 dns有问题怎么修复,浏览器代理设置,浏览器提示网页无法显示
  5. vue3 +vite+ts实战项目添加 eslint + prettier + lint-staged 踩坑指南
  6. 在 Mac 上多开微信,还能看到朋友撤回的信息:WeChatTweak - 少数派
  7. 内网渗透建立代理通道(如何攻击目标内网机器?)-Socks代理(゚益゚メ) 渗透测试
  8. Struggling
  9. Sqldbx连接OracleX64位
  10. 基于boost库的站内搜索引擎