通俗易懂理解傅里叶变换(Fourier Transform)

重要说明:本文从网上资料整理而来,仅记录博主学习相关知识点的过程,侵删。

一、参考资料

从傅里叶(Fourier)变换到伽柏(Gabor)变换再到小波(Wavelet)变换

《The Wavelet Tutorial》小波教程 中文翻译(上)

形象易懂讲解算法I——小波变换

二、相关介绍

1. 信号相关介绍

1.1 时域信号

实际上,大多数信号都是原始格式的时域信号(Time-Domain)。也就是说,不管信号测量的是什么,它都是时间的函数。换句话说,当我们绘制信号时,其中一个轴是时间(自变量),另一个轴(因变量)通常是振幅(amplitude)。当我们绘制时域信号时,我们得到信号的时间-振幅表示(time-amplitude representation)。

假设一个时域信号是原始(Raw)信号,而一个信号已经被任何可用的数学转换方法“转换(transformed)”为处理过的(processed)信号。

1.2 为什么需要信号变换?

对于大多数信号处理相关应用,这种时间幅度表示(time-amplitude representation)并不总是信号的最佳表示。在许多情况下,最显著的信息隐藏在信号的频率内容中。一个信号的频谱(frequency spectrum)基本上就是那个信号的频谱成分(spectral components)。信号的频谱显示了信号中存在的频率。因此,对信号进行数学变换,以从该信号中获得原始信号中不容易获得的进一步信息。

频谱成分:对于信号的频率-振幅表示,振幅为波峰对应的频率,即为一个频谱成分。

1.3 平稳性信号(不随时间变化)

平稳信号,是指频率内容不随时间变化的信号,不同的频谱成分有相同的时间间隔(周期)。换句话说,平稳信号的频率内容不随时间变化。在这种情况下,不需要知道频谱成分在什么时候存在,因为所有的频谱成分在任何时候都存在(all frequency components exist at all times)。简单理解,平稳信号中存在的所有频率成分,都存在于信号的整个过程中,一直有10Hz,一直有50Hz,一直有100Hz。

例如,下面的信号是一个平稳信号,因为它在任何给定时刻包含的频率为10、25、50和100 Hz。
x ( t ) = c o s ( 2 ∗ p i ∗ 10 ∗ t ) + c o s ( 2 ∗ p i ∗ 25 ∗ t ) + c o s ( 2 ∗ p i ∗ 50 ∗ t ) + c o s ( 2 ∗ p i ∗ 100 ∗ t ) x(t)=cos(2*pi*10*t)+cos(2*pi*25*t)+cos(2*pi*50*t)+cos(2*pi*100*t) x(t)=cos(2pi10t)+cos(2pi25t)+cos(2pi50t)+cos(2pi100t)
平稳信号如下图所示:

在这里插入图片描述

平稳信号的傅里叶变换如下图所示:

在这里插入图片描述

最上面的图形是平稳信号的(对称的一半)频谱。下面的图是上面图的放大版,只显示了我们感兴趣的频率范围。注意对应于频率10、25、50和100Hz的四个频谱成分。

对于平稳信号,10Hz、25Hz、50Hz、100Hz不同频率的频谱,除了波纹(ripples)和振幅差(总是可以归一化的)之外,这几种频谱几乎是相同的,尽管对应的时域信号彼此不太接近。回想一下,傅立叶变换给出了信号的频谱内容,但它没有给出这些频谱成分在何时出现的信息。因此,傅立叶变换适用于平稳信号

1.4 非平稳信号(随时间变化)

在实际应用中,由于存在大量实际的平稳信号和非平稳信号,因此很难进行分离。例如,几乎所有的生物信号都是非平稳的。其中最著名的有ECG(心脏的电活动,心电图),EEG(大脑的电活动,脑电图)和EMG(肌肉的电活动,肌电图)。

非平稳信号,是指频率内容随时间变化的信号,不同的频谱成分有不同的时间间隔(周期)。绘制了一个频率随时间不断变化的信号,如下图所示:

在这里插入图片描述

如下图绘制的信号具有四个不同的频率成分在四个不同的时间间隔,因此是一个非平稳信号。间隔0到300ms有一个100Hz的正弦信号,间隔300到600ms有一个50Hz的正弦信号,间隔600到800ms有一个25Hz的正弦信号,最后间隔800到1000ms有一个10Hz的正弦信号。

在这里插入图片描述

非平稳信号的傅里叶变换如下图所示:

在这里插入图片描述

此时不要关心小小的涟漪,它们是由于一个频率分量突然变化到另一个频率分量。高频分量的振幅要高于低频分量的振幅。这是因为较高的频率(每个300毫秒)比较低的频率(每个200毫秒)持续的时间更长。(振幅的精确值并不重要)。

2. 频率相关介绍

2.1 为什么需要频率信息?

通常情况下,在时域上不容易看到的信息可以在频域上看到

让我们举一个生物学信号的例子。假设我们正在观察一个心电图(ECG)信号。健康心电图信号的典型形态对心脏病学家来说是众所周知的。任何明显的形状偏离通常被认为是一种病理状态的症状。然而,这种病理状态在原始时域信号中并不总是很明显。心电医师通常使用记录在条带上的时域心电信号来分析心电信号。最近,新的计算机化心电图记录仪/分析仪也利用频率信息来确定病理状态是否存在。当对信号的频率内容进行分析时,病理状态有时可以更容易地诊断出来。

2.2 频率与速率的关系

我们都知道频率与速度的变化有关。如果某物(数学或物理变量)迅速变化,我们说它是高频的,而如果这个变量变化不那么迅速,它平稳地变化,我们说它是低频的。如果这个变量完全不变,那么我们说它的频率为零,或者没有频率。例如,一份日报的出版频率比一份月刊的出版频率要高。

频率以(周期/秒)为单位,或者有一个更常见的名字“赫兹(Hertz)”。例如,电流频率如下图所示,第一个是3Hz的正弦波,第二个是10Hz,第三个是50Hz:

在这里插入图片描述

研究表明:较高的频率可以更好地在时间上分辨,较低的频率可以更好地在频率上分辨。这意味着,某个高频分量可以比低频分量更好的定位在时域(相对误差更小)。相反,低频分量比高频分量能更好地定位在频率中。

2.3 如何测量频率

我们如何测量频率,或者说如何找到一个信号的频率内容呢?答案是傅里叶变换

如果取信号在时域的傅里叶变换,则得到该信号的频幅表示。换句话说,我们现在有一副图,其中一个轴是频率,另一个轴是振幅。这张图告诉我们信号中每个频率有多少。

频率轴从零开始,一直到无穷远。对于每个频率,我们有一个振幅值(amplitude value)。例如,如果我们取家庭中使用的电流做FT,我们会在50Hz处有一个尖峰,其他地方没有,因为那个信号只有50hz的频谱成分。然而,实际的信号并没有怎么简单,在大多数实际应用中,信号包含不止一个频谱成分。下面显示了50Hz信号的傅里叶变换。

在这里插入图片描述

3. 海森堡不确定性原理

不确定性原理,或者叫测不准原理,最早出自量子力学,意为在微观世界,粒子的位置与动量不可同时被确定。但是这个原理并不局限于量子力学,有很多物理量都有这样的特征,比如能量和时间、角动量和角度。体现在信号领域就是时域和频域。不过更准确一点的表述应该是:一个信号不能在时空域和频域上同时过于集中;一个函数时域越“窄”,它经傅里叶变换的频域后就越“宽”。

三、傅里叶变换(FT)

//TODO

3.1 FT简介

几乎从1822年Fourier发表他的“热传导理论”以来,傅氏分析便成为最完美的数学分析工具与最广泛、最有效地应用着的信号分析方法之一。

傅里叶变换(Fourier Transform,简称“FT“)是将信号从时域空间变换到频域空间,并用频率-振幅表示。FT(以及WT)是一种可逆变换,也就是说,它允许在原始信号处理(转换)信号之间来回切换。但是,在任何给定的时间,只有其中一个可用。即时域信号中没有频率信息,傅里叶变换信号中也没有时间信息。

傅里叶变换的本质,是把一个时间(时域)信号拆解成不同频率的正弦波的叠加,通过观察拆解后的正弦波,能够知道该信号的频率分量是什么。傅里叶变换丢失了时间(时域)特性。

傅里叶变换告诉我们某个频率成分是否存在。这个信息与这个分量出现的时间无关。因此,在用傅立叶变换对信号进行处理之前,知道它是否是平稳的是非常重要的。简单来说,傅里叶变换适合平稳信号

3.2 FT的基本类型

针对不同种类的信号共有四种基本傅里叶变换,分别是:针对连续周期信号的连续傅里叶级数(Continuous Fourier Series, CFS,一般直接简称为FS)、针对连续非周期信号的连续时间傅里叶变换(Continuous Time Fourier Transform, CTFT,一般直接简称为FT)、针对离散周期信号的离散傅里叶级数(Discrete Fourier Series, DFS)、针对离散非周期信号的离散时间傅里叶变换(Discrete Time Fourier Transform, DTFT),这四种基本傅里叶变换都不适合计算机处理(要求时域和变换域均为离散的、有限长的),因此把DFS进行变形,取其时域和频域的主值区间定义出了离散傅里叶变换(Discrete Fourier Transform, DFT),直接按照DFT公式计算的话计算量太大,于是就又有了各种快速计算方法,统称为快速傅里叶变换(Fast Fourier Transform, FFT)。

3.3 FT的基函数

傅里叶变换把无限长的三角函数作为基函数:

在这里插入图片描述

傅里叶变换的基函数会伸缩、会平移(其实本质并非平移,而是两个正交基的分解)。缩得窄,对应高频;伸得宽,对应低频。然后这个基函数不断和信号做相乘。某一个尺度(宽窄)下乘出来的结果,就可以理解成信号所包含的当前尺度对应频率成分有多少。于是,基函数会在某些尺度下,与信号相乘得到一个很大的值,因为此时二者有一种重合关系。那么我们就知道信号包含该频率的成分的多少。

仔细体会可以发现,这一步其实是在计算信号和三角函数的相关性。

在这里插入图片描述

在这里插入图片描述

上图中,这两种尺度能乘出一个大的值(相关度高),所以信号包含较多的这两个频率成分,在频谱上这两个频率会出现两个峰。

3.4 FT的全域性

从傅里叶变换公式中我们知道,要从一个信号来得到其傅里叶变换(频谱),必须取无限长的时间量 ( − ∞ , + ∞ ) \left.\left(\begin{array}{cc}{-\infty},&{+\infty}\\\end{array}\right.\right) (,+),即必须要获得时域中的全部信息,反之要利用频谱来描述信号时,无论这个信号的时间多么短,都需要用整个频域来描述。在某一时间段[t1,t2]对应的频谱信息傅里叶变换无法给出,而这种局部信息又常常是我们十分感兴趣的。如对音乐信号,我们常常关心的是什么时候发出什么频率的音符,对地震信号我们关心的是什么空间位置出现什么频率的波等等,这些信号都是非平稳信号,它们的频域特性随时间变化,所以信号在任一时刻的频域特征都很重要,不能将时频两域完全分离。

即Fourier变换不具有局部性。它只适用于确定性信号平稳信号,由于缺乏时间的局部信息,对时变信号、非平稳信号,Fourier频率分析存在严重不足,它无法告知某些频率成分发生在哪些时间内,无法表示某个时刻信号频谱的分布情况。信号在某时刻的一个小的邻域内发生变化,那么信号的整个频谱都要受到影响,而频谱的变化从根本上来说无法标定发生变化的时间位置和发生变化的剧烈程度。傅里叶变换的时域和频域是完全分割的

其实根本原因是傅里叶变换的三角基是全域性的,其局部化性质不好,因而只能得到信号的整个频谱,难以在任何有限频段上确定任意小范围内信号的局部特征。

3.5 FT的吉布斯效应(突变信号)

傅里叶变换处理突变信号存在吉布斯效应,用无限长的三角函数很难拟合突变信号。

在这里插入图片描述

3.6 FT的局限性

对于非平稳信号,傅里叶变换有局限性。看如下一个简单的信号:

在这里插入图片描述

对平稳信号做快速傅里叶变换,可以在频谱上看到清晰的四条线,信号包含四个频谱成分。

在这里插入图片描述

如上图,最上边的是频率始终不变的平稳信号。而下边两个则是频率随着时间改变的非平稳信号,它们同样包含和最上边信号相同频率的四个成分。

做快速傅里叶变换后,可以发现这三个时域上有巨大差异的信号,频谱(幅值谱)却非常一致。尤其是下边两个非平稳信号,我们从频谱上无法区分它们,因为它们包含的四个频率的信号的成分确实是一样的,只是出现的先后顺序不同。

可见,傅里叶变换处理非平稳信号有天生缺陷。它只能获取一段信号总体上包含哪些频率的成分,但是对各成分出现的时刻并无所知。因此时域相差很大的两个信号,可能频谱图一样

然而平稳信号大多是人为制造出来的,自然界的大量信号几乎都是非平稳的,所以在比如生物医学信号分析等领域的论文中,基本看不到单纯傅里叶变换这样naive的方法。

在这里插入图片描述

上图所示的是一个正常人的事件相关电位。对于这样的非平稳信号,只知道包含哪些频率成分是不够的,我们还想知道各个成分出现的时间。知道信号频率随时间变化的情况,各个时刻的瞬时频率及其幅值——这也就是时频分析

四、短时傅立叶变换(STFT)

1. 引言

傅立叶变换可以对信号的频谱加以剖析,它对平稳的信号能够操控得当,但对于非平稳信号来说,则具有局限性。自然界中大多数都是非平稳信号, 只知道信号包含哪些频谱成分是无法解决实际问题的,还需要知道这些成分对应的时间点或者时间段,因此用傅里叶变换处理起来比较棘手。

针对非平稳信号问题,一个有用的方法就是对信号添加时间窗口(时间窗)。由于整个时域很长,所以我们将其划分为多个长度相等的小过程,每个小过程几乎都是平稳信号,然后利用傅里叶变换,便可知道每个时间点对应的频率。此外,为了获得平稳性信号,我们必须有一个足够短的窗口。因为使用无限长的窗口得到傅立叶变换,它提供完美的频率分辨率,但没有时间信息。因此,时间窗口越窄,时间分辨率越好,平稳性假设越好,频率分辨率越差。

窗口窄 ===> 时间分辨率好,频率分辨率差;

窗口宽 ===> 时间分辨率差,频率分辨率好;

为了解决这种局部性的问题,1946年,DennisGabor提出了“窗口Fourier变换”的Gabor变换,即短时傅里叶变换。

Gabor,一般音译为伽(gā)柏(bó)。

在这里插入图片描述

2. STFT的概念

把整个时域过程分解成无数个等长的小过程,每个小过程近似平稳,再傅里叶变换,就知道在哪个时间点上出现了什么频率了,这就是短时傅里叶变换(Short Time FourierTransform, STFT),又称为窗口傅里叶变换。在STFT中,信号被分割成足够小的片段,这些片段(部分)的信号可以假定是静止的。

STFT可以达到时频局部化的目的:它能够在整体上提供信号的全部信息,而又能提供在任一局部时间内信号变化剧烈程度的信息。简言之,可以同时提供时域和频域局部化的信息。能够完成局部分析的关键是“窗口”,窗口的尺度是局部性程度的表征。当窗函数取为高斯窗时一般称为STFT。选择高斯窗的原因在于:

  1. 高斯函数的Fourier变换仍是高斯函数,这使得Fourier逆变换也用窗函数局部化了,同时体现了频率域的局部化;
  2. 根据Heisenberg测不准原理,高斯函数窗口面积已达到测不准原理下界,是时域窗口面积达到最小的函数,即Gabor变换是最优的STFT。

注意STFT的公式输出有两个自变量,时间t和频率ω,即它是一种时频分析。但由于一旦窗口函数选定后,时频窗口的形状便保持不变,割断了频率与窗口宽度的内在联系,STFT实质是具有单一分辨率的分析。STFT的窗函数就要求是一个紧支集函数。

如下图,在时域上分成一段一段做FFT,这样就可以知道频谱成分随时间的变化情况。

在这里插入图片描述

用这样的方法,可以得到一个信号的时频图:

在这里插入图片描述

图上既能看到10Hz, 25 Hz, 50 Hz, 100 Hz四个频域成分,还能看到出现的时间。两排峰是对称的,只看一排即可。

STFT可以用海森堡不确定性原理来解释。类似于我们不能同时获取一个粒子的动量和位置,我们也不能同时获取信号绝对精准的时刻和频率。这也是一对不可兼得的矛盾体。我们不知道在某个瞬间哪个频率分量存在,我们知道的只能是在一个时间段内某个频带的分量存在。 所以绝对意义的瞬时频率是不存在的。

3. STFT的缺陷

使用STFT存在一个问题,我们应该用多宽的窗函数?

窗太宽太窄都有问题:

在这里插入图片描述

在这里插入图片描述

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

实例效果,如下图所示:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

上图对同一个信号(4个频率成分)采用不同宽度的时间窗做STFT,结果如右图。用窄窗,时频图在时间轴上分辨率很高,几个峰基本成矩形,而用宽窗则变成了绵延的矮山。但是频率轴上,窄窗明显不如下边两个宽窗精确。

所以,窄窗口时间分辨率高、频率分辨率低宽窗口时间分辨率低、频率分辨率高。对于随时间变化的非稳态信号,高频适合小窗口,低频适合大窗口。然而STFT的窗口是固定的,在一次STFT中宽度不会变化,所以STFT还是无法满足非平稳信号变化的频率的需求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

花花少年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值