【傅里叶变换、短时傅里叶变换、小波变换】

  1. 傅里叶:可以知道信号中的成分,但对非平稳过程,不能看出各成分出现的时刻
  2. 短时傅里叶变换-:加固定窗的傅里叶变换,无法满足非稳态信号变化的频率的需求
  3. 小波变换:时域能量有限,频域带通滤波

一、傅里叶变换

1.1原理
举例:
下图为平稳信号进行傅里叶变换得到频谱图的四个频域成分,分别是10Hz, 25 Hz, 50 Hz, 100 Hz。
在这里插入图片描述
傅里叶变换为什么能得到信号各个频率成分?

傅里叶变换把无限长的三角函数作为基函数:这个基函数会伸缩、会平移(其实本质并非平移,而是两个正交基的分解)。缩得窄,对应高频;伸得宽,对应低频。
然后,这个基函数不断和信号做相乘。某一个尺度(宽窄)下乘出来的结果,代表的是信号所包含的当前尺度对应频率成分的多少。
在这里插入图片描述

这一步其实是在计算信号和三角函数的相关性。基函数会在某些尺度下,与信号相乘得到的值越大(相关度高),代表信号包含的这两个频率成分较多,在频谱上这两个频率会出现两个峰。
在这里插入图片描述

1.2 缺陷
对平稳信号以及频率随着时间变化的非平稳信号分别做FFT(快速傅里叶变换)如下图所示:

我们发现这三个在时域上有巨大差异的信号,频谱(幅值谱)却非常一致。我们可以在频谱上看到清晰的四条线,代表包含的四个频率成分是一样的,只是出现的先后顺序不同。

可见,傅里叶变换处理非平稳信号有天生缺陷,只能获取一段信号总体上包含哪些频率的成分,但是对各成分出现的时刻并无所知

二、短时傅里叶变换(Short-time Fourier Transform, STFT)

2.1 概念

平稳信号大多是人为制造出来的,自然界的大量信号几乎都是非平稳的。对于这样的非平稳信号,只知道包含哪些频率成分是不够的,这还需要进行时频分析,了解各个成分出现的时间,信号频率随时间变化的情况,各个时刻的瞬时频率及其幅值。一个简单可行的方法就是——加窗。

简单来讲,短时傅里叶变换是把整个时域过程分解成无数个等长近似平稳的小段,再对每一个小段进行FFT(傅里叶变换),以此确定频率成分随着时间的变化情况

将下图显示的非平稳信号做短时傅里叶变换,得到一个信号的时频图。时频分析结果如下图所示:既能看到10Hz, 25 Hz, 50 Hz, 100 Hz四个频域成分,还能看到出现的时间。(两排峰对称,只看一排即可)
在这里插入图片描述

STFT变换后的时频图:
在这里插入图片描述

2.2 缺陷

使用STFT时,应该用多宽的窗函数?

对于时变的非稳态信号,高频适合小窗口,低频适合大窗口。

然而,STFT的窗口是固定的,在一次STFT中宽度不会变化。

窗太窄,窗内的信号太短,会导致频率分析不够精准,频率分辨率差;
窗太宽,时域上又不够精细,时间分辨率低。

所以,STFT还是无法满足非稳态信号变化的频率的需求。

这是一对不可兼得的矛盾体。绝对意义的瞬时频率是不存在的,我们只能知道一个时间段内某个频带的分量存在 。
在这里插入图片描述
在这里插入图片描述

举例说明:
对同一个信号(4个频率成分)采用不同宽度的窗做STFT,结果如右图。

窄窗口时间分辨率高、频率分辨率低,
宽窗口时间分辨率低、频率分辨率高。

用窄窗,时频图在时间轴上分辨率很高,几个峰基本成矩形;
用宽窗,时频图在时间轴上变成了一座座小山。

但是,在频率轴上窄窗(1)明显不如下边(2)(3)两个宽窗精确;

(1)窄窗做STFT,结果如右图:
在这里插入图片描述
(2)宽窗做STFT,结果如右图:
在这里插入图片描述
(3)宽窗做STFT,结果如右图:
在这里插入图片描述

三、小波变换

傅里叶变换|短时傅里叶变换| 小波变换 |的区别:

区别傅里叶变换短时傅里叶变换小波变换
基函数无限长的三角函数基无限长的三角函数基有限长的会衰减的小波基
频谱,能够获取频率频谱,能够获取频率时频谱,能够获取频率并定位到时间
变量一个,频率ω一个,频率ω2个,尺度a(scale)、平移量 τ(translation)
窗口-加固定窗口-

误区:STFT是是给信号加窗,分段做FFT;小波变换并没有采用窗的思想,没有做傅里叶变换。不能认为小波变换就是加不等长的窗,让窗口大小变起来,对每一小部分进行傅里叶变换。
为什么叫“小波”,因为是很小的一个波~

从公式看小波变换的变量有尺度a(scale)和平移量 τ(translation)两个。尺度a控制小波函数的伸缩,平移量 τ控制小波函数的平移。尺度就对应于频率(反比),平移量 τ就对应于时间。
在这里插入图片描述

当伸缩、平移到这么一种重合情况时,也会相乘得到一个大的值。和傅里叶变换不同的是,这时候不仅可以知道信号有这样频率的成分,而且知道它在时域上存在的具体位置。而当我们在每个尺度下都平移着和信号乘过一遍后,我们就知道信号在每个位置都包含哪些频率成分。
在这里插入图片描述
另外,对于突变信号,傅里叶变换存在吉布斯效应,我们用无限长的三角函数怎么也拟合不好突变信号:

在这里插入图片描述

衰减的小波:

在这里插入图片描述


图链接:THE WAVELET TUTORIAL (下载:THE WAVELET TUTORIAL)

参考原文链接:https://ww.zhihu.com/question/22864189/answer/40772083

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/776233.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

系统可靠性分析与设计相关知识总结

一、软件可靠性定义 软件可靠性使软件产品在规定的条件下和规定的时间区间内完成规定的功能的能力。是软件系统在应用或系统错误面前,在意外或错误使用的情况下维持软件系统功能特性的基本能力。 规定的条件:直接与软件运行相关的使用该软件的计算机系统…

husky配置实现代码提交前校验与规范提交信息

husky是一个Git Hook管理工具,主要用于实现提交前eslint校验和commit信息的规范校验。 Husky 的原理是让我们在项目根目录中写一个配置文件,然后在安装 Husky的时候把配置文件和 Git Hook 关联起来,这样我们就能在团队中使用 Git Hook 了。 …

Matplotlib数据可视化实战-2绘制折线图(2)

2.11营业额可视化 已知某学校附近一个烧烤店2022年每个月的营业额如下图所示。编写程序绘制折线图对该烧烤店全年营业额进行可视化,使用红色点画线连接每个月的数据,并在每个月的数据处使用三角形进行标记。 烧烤店营业额 月份123456789101112营业额/万…

Redis - 5k star! 一款简洁美观的 Redis 客户端工具~

项目简介 Tiny RDM 是一款现代化、轻量级的跨平台 Redis 桌面客户端,可在 Mac、Windows 和 Linux 系统上运行。初次打开 Tiny RDM,你会被它舒适的风格和配色所吸引,界面简约而不简单,功能齐全。 Tiny RDM 有着如下的功能特性 项…

男生t恤什么牌子好?男士T恤品牌推荐?

很多男士朋友最近都打算准备一套春夏季穿的短袖,但奈何当前的市场上充斥着大量低劣质的衣裤。这些产品的质量普遍不耐穿、耐洗,并且版型不好等情况。为此我特意为大家整理五个质量好且价格不贵的五个男装品牌。希望能够帮助到大家挑选到合适的短袖。 因为…

保研线性代数机器学习基础复习1

1.什么是代数(algebra)? 为了形式化一个概念,构建出有关这个概念的符号以及操作符号的公式。 2.什么是线性代数(linear algebra)? 一项关于向量以及操作向量的公式的研究。 3.举一些向量的例子&#x…

【opencv】教程代码 —ImgProc (7)使用维纳滤波器来恢复失焦的图像

7. out_of_focus_deblur_filter.cpp使用维纳滤波器来恢复失焦的图像 代码的主要功能是通过使用维纳滤波器来恢复失焦的图像,它读取一个灰度图像文件,对其进行滤波操作,并将结果保存为新文件。这个过程包括计算点扩散函数(PSF),执行…

机器学习模型——KNN

KNN的基本概念: KNN(K-Nearest Neighbor)就是k个最近的邻居的意思,即每个样本都可以用它最接近的k个邻居来代表。KNN常用来处理分类问题,但也可以用来处理回归问题。 核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某…

python实现在线 ChatGLM调用

python实现在线 ChatGLM调用 1. 申请调用权限: 收钱进入到质谱AI开放平台,点击“开始使用”或者“开发者工具台”进行注册: 对于需要使用 API key 来搭建应用的话,需要点击右边红框中的查看 API key,就会进入到我们…

yolov8 pose keypoint解读

yolov8进行关键点检测的代码如下: from ultralytics import YOLO# Load a model model YOLO(yolov8n.pt) # pretrained YOLOv8n model# Run batched inference on a list of images results model([im1.jpg, im2.jpg]) # return a list of Results objects# Pr…

读所罗门的密码笔记04_社会信用

1. 人工智能 1.1. 人工智能可以帮助人们处理复杂的大气问题,完善现有的气候变化模拟,帮助我们更好地了解人类活动对环境造成的危害,以及如何减少这种危害 1.2. 人工智能也有助于减少森林退化和非法砍伐 1.3. 人工智能甚至可以将我们从枯燥…

RISC-V特权架构 - 中断定义

RISC-V特权架构 - 中断定义 1 中断类型1.1 外部中断1.2 计时器中断1.3 软件中断1.4 调试中断 2 中断屏蔽3 中断等待4 中断优先级与仲裁5 中断嵌套6 异常相关寄存器 本文属于《 RISC-V指令集基础系列教程》之一,欢迎查看其它文章。 1 中断类型 RISC-V 架构定义的中…

idea打开文件乱码,设置编码

idea整个项目都设置了utf-8了,但是还是有一个文件是其他编码_(ཀ」 ∠)__ 。 配置项目编码 在设置中设置编码 配置具体目录的编码 上面的设置之后,还是有几个文件一直是乱码,需要单独配置。 偶尔引入的依赖中的文件也会乱码,需…

题目:摆花(蓝桥OJ 0389)

问题描述&#xff1a; 题解&#xff1a; #include <bits/stdc.h> using namespace std; using ll long long; const int N 105; const ll p 1e6 7; ll a[N], dp[N][N];int main() {int n, m; cin >> n >> m;for(int i 1; i < n; i)cin >> a[i…

【科研基础】VAE: Auto-encoding Variational Bayes

[1]Kingma, Diederik P., and Max Welling. “Auto-encoding variational bayes.” arXiv preprint arXiv:1312.6114 (2013). [2] [论文简析]VAE: Auto-encoding Variational Bayes[1312.6114] [3] The Reparameterization Trick [4] 变分法的基本原理是什么? 文章目录 1-…

我的编程之路:从非计算机专业到Java开发工程师的成长之路 | 学习路线 | Java | 零基础 | 学习资源 | 自学

小伙伴们好&#xff0c;我是「 行走的程序喵」&#xff0c;感谢您阅读本文&#xff0c;欢迎三连~ &#x1f63b; 【Java基础】专栏&#xff0c;Java基础知识全面详解&#xff1a;&#x1f449;点击直达 &#x1f431; 【Mybatis框架】专栏&#xff0c;入门到基于XML的配置、以…

负荷频率控制LFC,自抗扰ADRC控制,麻雀SSA算法优化自抗扰参数,两区域二次调频simulink/matlab

红色曲线为优化结果&#xff0c;蓝色曲线为没有自抗扰和没有优化的结果&#xff01;

基于springboot实现蜗牛兼职网平台系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现蜗牛兼职网平台系统演示 摘要 随着科学技术的飞速发展&#xff0c;社会的方方面面、各行各业都在努力与现代的先进技术接轨&#xff0c;通过科技手段来提高自身的优势&#xff0c;蜗牛兼职网当然也不能排除在外。蜗牛兼职网是以实际运用为开发背景&#xff…

【C语言】多文件编程以及static关键字

1、多文件编程 把函数声明放在头文件xxx.h中&#xff0c;在主函数中包含相应头文件在头文件对应的xxx.c中实现xxx.h声明的函数 a、主文件 #include<stdio.h> #include "MyMain.h"//需要包含头文件&#xff0c;头文件包含我们自定义的函数int main(){int num…

6、鸿蒙学习-Stage模型应用程序包结构

基于Stage模型开发的应用&#xff0c;经编译打包后&#xff0c;其应用程序的结构如下图应用程序包结构&#xff08;Stage模型&#xff09;所示。开发者需要熟悉应用程序包结构相关的基本概念。 一、在开发态&#xff0c;一个应用包含一个或者多个Module&#xff0c;可以在DevE…