深度学习开源框架基础算法之傅立叶变换的概要介绍
作者:liumiaocn 发布时间:2022-05-25 22:18:47
傅立叶变换时数字信号处理的重要方法之一,是法国数学家傅立叶在1807年在法国科学学会上发表的一篇文章中所提出的,在文章中使用了正弦函数描述温度分布,而且提出了一个著名的论断:任何连续性的周期信号都可以由一组适当的正弦曲线组合而成。而这个论断被当时审查论文的著名数学家拉格朗日所否定,拉格朗日认为正弦函数无法组合成一个个带有棱角的信号,但是从无限逼近的角度考虑,可以使用正弦函数来非常逼近期直到表示方法不存在明显差异,这篇论文最终在在拉格朗日死后15年之久才得以发表。
傅立叶变换的分类
根据信号是是周期性以及连续还是离散的特点,将傅立叶变换进行延伸,变换分为如下四种
另外,根据使用的是实数还是复数,有分为实数傅立叶变换和复数傅立叶变换。
主要特点:FS
用于分析连续周期信号。时域上任意连续的周期信号可以分解为无限多个正弦信号之和,在频域上就表示为离散非周期的信号,即时域连续周期对应频域离散非周期的特点。
主要特点:FT
主要用于分析连续非周期信号,由于信号是非周期的,它必包含了各种频率的信号,所以具有时域连续非周期对应频域连续非周期的特点。
FS和FT 都是用于连续信号频谱的分析工具,都以傅立叶级数理论问基础推导出的。时域上连续的信号在频域上都有非周期的特点,但对于周期信号和非周期信号又有在频域离散和连续之分。
主要特点:DTFT
它用于离散非周期序列分析,根据连续傅立叶变换要求连续信号在时间上必须可积这一充分必要条件,那么对于离散时间傅立叶变换,用于它之上的离散序列也必须满足在时间轴上级数求和收敛的条件;由于信号是非周期序列,它必包含了各种频率的信号,所以DTFT对离散非周期信号变换后的频谱为连续的,即有时域离散非周期对应频域连续周期的特点。
主要特点:DFT
假设了序列的周期无限性,但在处理时又对区间作出限定(主值区间),以符合有限长的特点,这就使DFT带有了周期性。另 外,DFT只是对一周期内的有限个离散频率的表示,所以它在频率上是离散的,就相当于DTFT变换成连续频谱后再对其采样,此时采样频率等于序列延拓后的周期N,即主值序列的个数。
离散傅立叶变换DFT
DFT用于将信号从时域变换为频域,而且时域与频域都是离散的,可以确认出一个信号是由哪些正弦波叠加而成,而这些结果者反应为正弦波的振幅和相位等信息。而至于时域与频域,前者表示的是信号随时间动态变化的关系,在这种分析方式下,往往会随着时间的不同信号呈现不同的状态变化。而频域可以理解为正弦波的振幅,从傅立叶的论断中我们了解到,任何周期函数,都可能是由不同振幅和不同相位与角频率的正弦波的叠加,频域分析的一个主要结果是频谱,常见的频谱有两种:振幅相关的频谱与相位相关的频谱。比如正弦曲线可表示为y=Asin(ωx+φ)+k,具体的实际意义如下所示:
理解辅助:变形的谐波函数
谐波(harmonic wave)是指电流中所含有的频率为基波的整数倍的电量,一般是指对周期性的非正弦电量进行傅里叶级数分解,其余大于基波频率的电流产生的电量。如下可以看出动态的三角函数的图形变换,可以加深对傅立叶论断的理解。
理解辅助:振幅的频谱
而至于如何求取频谱,由于三角函数具有正交性,相互之间不具影响,根据此特性结合下图,对于振幅的频谱则可有直观的了解。而至于初相相关的频谱,可以以此为基础,不难理解。
快速傅立叶变换FFT
FFT(Fast Fourier Transform)实际只是DFT的改善。是1965年由库利和图基共同提出的一种快速计算DFT的方法。这种方法充分利用了DFT运算中的对称性和周期性,从而将DFT运算量从N2减少到N*log2N。当N比较小时,FFT优势并不明显。但当N大于32开始,点数越大,FFT对运算量的改善越明显。比如当N为1024时,FFT的运算效率比DFT提高了100倍。
应用领域和局限
傅立叶变化在很多领域都有很好的应用,比如图像优化和音频降噪等等,但是由于傅立叶变换的模型建立在平稳信号基础上的,对于非平稳信号的分析具有很大的局现性。
来源:https://blog.csdn.net/liumiaocn/article/details/80440879


猜你喜欢
- 为什么使用生产者消费者模式在线程世界里,生产者就是生产数据的线程,消费者就是消费数据的线程。在多线程开发中,如果生产者处理速度很快,而消费者
- 前言:平时根据需求写代码.人工进行测试往往不会面面俱到,还会因为需求的改变繁琐的进行测试通过完成一个测试函数,可以大大简化测试的步骤,并且在
- 带你走进数据类型一:整数、浮点数Python中整数和浮点数的定义以及运算和C++都是一样的,我在这里就不需多说了,我就说明一点:Python
- 本文实例为大家分享了pyqt实现右下角弹出框的具体代码,供大家参考,具体内容如下构造函数中:self.desktop=QDesktopWid
- 1. os.listdir()概述os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。例如:dir ='
- 骨架提取与分水岭算法也属于形态学处理范畴,都放在morphology子模块内。1、骨架提取骨架提取,也叫二值图像细化。这种算法能将一个连通区
- em 和 strong 的区别,可以从三个层次上来谈。首先看 HTML 4.01 中的说明:EM: Indicates emphasis.S
- 当需要制作转动鼠标滚轮放大页面字体这样的交互效果时,会用到 Mousewheel 事件。其实在大多数浏览器(IE6, IE7, IE8, O
- 爬取结果:爬取代码import osimport jsonimport requestsfrom tqdm import tqdmdef l
- 本文实例讲述了Python实现的弹球小游戏。分享给大家供大家参考,具体如下:弹球1. Ball 类draw负责移动Ball碰撞检测,反弹,B
- 大家可能都不大熟悉关于pdb这个模块,实际上就是python中的内置模块,主要作用于命令行调试代码,下面我们将通过是哪个小结给大家详细介绍下
- 是不是很多人不用c#中的using和as操作符?甚至不知道? 其实这2个操作符在小处非常有用。 1、using&nb
- 本文实例为大家分享了python实现分页效果展示的具体代码,供大家参考,具体内容如下难点:清空Layout#!/usr/bin/python
- 本文提供一种方法,通过将字符串编码成Unicode格式,保证数据在展示和传输过程中万无一失。无论客户端浏览器如何改变编码,页面上的编码都不会
- 网上async with和async for的中文资料比较少,我把PEP 492中的官方陈述翻译一下。异步上下文管理器”async with
- 作为抛砖引玉,用python3实现百度云语音解析,首先需要模拟Post请求把音频压缩文件丢给百度解析。但是遇到一个问题客户端怎麽丢数据都是返
- 目前防采集的方法有很多种,先介绍一下常见防采集策略方法和它的弊端及采集对策: 一、判断一个IP在一定时间内对本站页面的访问次数,如果明显超过
- 一、命令格式:定义变量名称条件函数用“:”作为结尾下一级命令用空格键缩进,默认使用Tab键因为这样比较明显例如:yongHuMing = i
- CONVERT的使用方法: 格式: CONVERT(data_type,expression[,style]) 说明: 此样式一般在时间类型
- 为什么PHP7的性能可以提高这么多?1. JIT 2. Zval的改变 3. 内部类型zend_string 4. PHP数组的变化(Has