时频分析常用工具:STFT短时傅里叶变换 & 小波变化

2023-05-16

文章目录

  • 1 傅里叶变换的局限性
  • 2 STFT
  • 3 小波变换

参考:
时频分析之STFT:短时傅里叶变换的原理与实现
形象易懂讲解算法I——小波变换
https://www.zhihu.com/question/58814934

1 傅里叶变换的局限性

在这里插入图片描述
在这里插入图片描述
4个不同频率的正弦信号按不同顺序组成时域信号,但是不同的时域组合信号的傅里叶变换都是一样的,FFT无法捕捉到信号在时域分布上的不同
再看一组例子
在这里插入图片描述
在这里插入图片描述
时域上出现了一个很明显的突变扰动,然而在频域图中,这样的变化并没有很好的被捕捉到。注意到红框中部分,显然傅里叶变换把突变解释为了一系列低成分的高频信号的叠加,并没有很好的反应突变扰动给信号带来的变化

通过以上的两个例子,我们不难发现傅立叶变换的缺陷。

(1)第一个例子告诉我们,傅里叶变换只能获取一段信号总体上包含哪些频率的成分,但是对各成分出现的时刻并无所知。因此时域相差很大的两个信号,可能频谱图一样。

(2)第二个例子告诉我们,对于信号中的突变,傅里叶变换很难及时捕捉。而在有些场合,这样的突变往往是十分重要的。

傅里叶变换非常擅长分析那些频率特征均一稳定的平稳信号。但是对于非平稳信号,傅立叶变换只能告诉我们信号当中有哪些频率成分——而这对我们来讲显然是不够的。我们还想知道各个成分出现的时间先后顺序


平稳信号与非平稳信号的区别我搜了下发现难以具体说明,通信中常用的chirp信号是典型的非平稳信号


平稳信号与非平稳信号FFT后的差异还可见下图
在这里插入图片描述
最上边的是频率始终不变的平稳信号。而下边两个则是频率随着时间改变的非平稳信号,它们同样包含和最上信号相同频率的四个成分

知道信号频率随时间变化的情况,即各个时刻的瞬时频率及其幅值——这也就是时频分析

常用的有两种方法:短时傅里叶变换 STFT, 小波变换

2 STFT

把整个时域过程分解成无数个等长的小过程,每个小过程近似平稳,再傅里叶变换,就知道在哪个时间点上出现了什么频率了。”这就是短时傅里叶变换

在这里插入图片描述
用这样的方法,可以得到一个信号的时频图了:
在这里插入图片描述
使用STFT存在一个问题,我们应该用多宽的窗函数?

窗太窄,窗内的信号太短,会导致频率分析不够精准,频率分辨率差;窗太宽,时域上又不够精细,时间分辨率低。
这个其实可以用海森堡的测不准原理来解释,我们无法同时精确测量时域和频域信息

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
由上面三个图可以看出,窄窗口时间分辨率高、频率分辨率低,宽窗口时间分辨率低、频率分辨率高。对于时变的非稳态信号,高频适合小窗口,低频适合大窗口。然而STFT的窗口是固定的,在一次STFT中宽度不会变化,所以STFT还是无法满足非稳态信号变化的频率的需求。

3 小波变换

STFT是给信号加窗,分段做FFT;而小波直接把傅里叶变换的基给换了——将无限长的三角函数基换成了有限长的会衰减的小波基。这样不仅能够获取频率,还可以定位到时间了

直接看参考第二篇知乎文章,讲的很好


最后,引用知乎看的一段话:


让我几句话讲明白小波这个事:我们无法同时测准一个信号的频率和时域,要么频域不准,要么时域不准,这两者存在一个理论极限,是可以由数学证明的客观存在,即测不准原理.(公式详见小波十讲).

连续无限长度的傅里叶分析以完全抛弃了所有的时域信息为代价,获得了完全精确的频域信息,怎么讲? 你算个频谱,看每个频点有几个振幅值? 一个吧? 你能告诉我1000Hz在第一秒多大,第二秒多大吗? 不行吧? 因为它只有一个值.

为了解决这个问题,我们引入了滑动窗口傅里叶,滑动窗口加窗傅里叶使得每个频段既能带有时域信息又能带有频域信息,这样同一个频点在不同的时间段可以获得多个振幅值,我们就拥有了这个频点的一些时域信息,但加窗傅里叶依然受测不准原理影响,窗口尺寸越大频率测得越准时域测得越不准,反之亦然.

那小波呢? 小波变换说白了还是滑动窗口傅里叶,只不过窗口尺寸在高频取短点儿,低频窗口取长点, 使得高频在时域更准,低频在频域更准.就是这么简单!

同理的我们完全可以设计一个变换使得高频频率更准,低频时域更准,或者高频频域更准中频时域更准低频频域更准… 但这些都是受测不准原理影响的,只可能更差,并不会比傅里叶更好.

所以你要知道,小波变换从某种意义上来说只是时频变换的一个trick,同样受到测不准原理的影响,它并没有真正获得比傅里叶更精确的信息.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

时频分析常用工具:STFT短时傅里叶变换 & 小波变化 的相关文章

  • CMake项目中神器:CMakeLists.txt

    首次接触 CMake xff0c 见识了 CMakeLists txt 的强大后 xff0c 赶紧整理出来分享一下 参考资料 xff1a Cmake 3 6 W3Cschool参考手册 本文讲述了一个 CMake 项目 xff0c 在从单文
  • TCP详解之拥塞控制

    概述 TCP模块还有一个重要任务 xff0c 就是提高网络利用率 xff0c 降低丢包率 xff0c 并保证网络资源对每条数据流的公平性 xff0c 这就是所谓的拥塞控制 拥塞控制的四个部分 xff1a 慢启动 拥塞避免 快速重传 快速恢复
  • frps搭建自己的内网穿透服务器

    frps搭建自己的内网穿透服务器 开发过程中 xff0c 很多时候我们需要用到内网穿透 xff0c 将自己的服务器映射到外网 xff0c 下面说一下怎么用frps搭建自己的内网穿透服务器 frps Github地址 里面有中文文档 xff0
  • 更换backbone心得

    1 对于目标检测 xff0c backbone相当于连接中间环节 xff0c 连接着图片输入和后面的检测头 xff0c 所以在更换网络时候只要注意输入backbone的数据形式以及后面一个环节要求输入的形式 xff0c 把backbone的
  • from torch._C import *ImportError: DLL load failed while importing _C: 找不到指定的模块。

    更新torch的版本 xff0c 原先是1 4 0出现这个问题 xff0c 更新到1 11 0后解决 pip install torch 61 61 1 11 0 43 cpu torchvision 61 61 0 12 0 43 cpu
  • 模型衡量标准recall precision accuracy f1score(hmean)

    问题背景 xff1a 在处理分类问题时 xff0c 会遇到一种情况 xff1a 假设一个二元分类问题 xff1a 假设我们的预测算法是 xff1a xff0c 这个算法忽略特征值 xff0c 不管任何情况下都是预测等于0 毫无疑问这是一个糟
  • layoutlmV3使用步骤

    1 layoutlm系列的预训练权重全都是放在huggingface上面 xff0c 安装官方教程如果下载失败 xff0c 可以在linux系统下载 xff0c 然后将下载的缓存文件保存 或者在官网上下载并保存 需要下载的文件如下图 2 将
  • Python引用路径

    0 官方建议 xff0c 总是优先使用绝对引用 xff0c 只有在引用路径较为复杂导致引用代码很长时 xff0c 才考虑使用相对引用 绝对引用 优点是清晰且直接 xff0c 可以很容易就确定引用文件位置 xff1b 且即使当前文件的位置发生
  • 关于batch normalization的理解

    套餐 xff1a 卷积 43 BN 43 激活 xff0c 原始的BN0 61 X E X std xff0c 减去均值除以标准差 xff0c 改进后的BN 61 BN0 43 xff0c 其中 和 是通过模型学习得到的 原因 xff1a
  • 基于tablemaster的表格检测与表格重构。

    1 结果展示 原图1 原图1的结果 原图2 原图2的结果
  • 【文献笔记】【精读】MobileNet V1

    文章目录 1 论文结构2 研究的问题3 文献综述3 1 当前 xff08 2017 xff09 已有的DNN的问题3 2 当前已有的网络轻量化的方法 4 MobileNet 简介4 1 本网络创新点4 2 本网络优点 5 MobileNet
  • 【知识点】神经网络输入归一化区别:[0, 1]和[-1, 1]

    1 前置知识 1 1 ReLU的单侧抑制 参考 xff1a RELU的单侧抑制 单侧抑制含义 xff1a relu的曲线是一个折线 xff0c 在小于0的部分一直为0 xff0c 而在大于0的部分是一条斜率为1的直线 单侧抑制的优点 xff
  • 【知识点】机器学习降维方法

    摘抄文章 xff1a 打破 维度的诅咒 xff0c 机器学习降维大法好 为什么数据需要降维 机器模型用来帮忙预测一个目标变量 xff0c 但是不一定输入图像的每一个特征都对应目标变量 xff0c 这会使模型变得复杂 这里所说的降维的纬度 x
  • Windows + Linux 双系统的安装

    Windows 43 Linux 双系统的安装 参考自 https blog csdn net flyyufenfei article details 79187656 参考自 https blog csdn net u012052268
  • merlin工具包+语音合成TTS技术调研

    merlin官方github merlin 这篇文章至少这个暑假都会持续更新中 前言 大二时做比赛从github上扒了爱丁堡大学某语音实验室做出来的toolkit叫merlin xff0c 当时啥也不会 xff0c 不懂python也不懂u
  • 【知识点】通信中的反向散射技术

    参考论文 xff1a 反向散射通信技术与物联网 传统反向散射技术 如RFID xff0c 应用于商品识别 停车场收费系统等 在要识别的物体上加标签 xff0c 然后向其发射射频信号 xff0c 根据反射回来的信号进行判断 缺点 xff1a
  • 【文献笔记】【精读】An Introduction to Deep Learning for the Physical Layer

    文章地址 xff1a An Introduction to Deep Learning for the Physical Layer github xff1a py radio autoencoder xff08 第三方代码 xff0c 非
  • 【知识点】IQ调制 IQ数据 星座图

    将以下链接依次看完 xff0c 就能明白IQ调制 通信里 星座图 到底是什么意思啊 通信原理 入坑之路 详解IQ调制以及星座图原理 什么是IQ调制 xff0c 为什么要用IQ调制 xff1f 什么是高阶调制 数字调制系列 xff1a 如何理
  • 【文献笔记】【精读】Deep Learning-Based Communication Over the Air

    文章地址 xff1a Deep Learning Based Communication Over the Air 建议在看这篇blog前先看这篇 xff1a 文献笔记 精读 An Introduction to Deep Learning
  • 【文献笔记】【精读】LEARNING TO PROTECT COMMUNICATIONS WITH ADVERSARIAL NEURAL CRYPTOGRAPHY

    文章地址 xff1a Learning to Protect Communications with Adversarial Neural Cryptography 源码 xff08 第三方 xff09 xff1a pytorch http

随机推荐