为什么傅立叶变换如此重要?


129

在讨论信号处理时,每个人都会讨论傅立叶变换。为什么信号处理如此重要,它对信号有什么影响?

它仅适用于数字信号处理还是也适用于模拟信号?


10
最近在math.SE上恢复了关于傅立叶变换的讨论,我认为该站点上的人们可能会发现其中的一些值得,甚至可能希望参与其中。
Dilip Sarwate

1
cf. 此答案具有一些出色的历史背景。傅里叶级数至少可以追溯到托勒密的行星天文学。添加更多的离心机和行星轮,就像在傅立叶级数中添加更多的术语一样,可以解释物体在天空中的任何连续运动。
Geremia'1

Answers:


144

这是一个非常广泛的问题,确实很难确定为什么精确的傅立叶变换在信号处理中很重要。一个人可以提供的最简单的挥手答案是,它是一种非常强大的数学工具,可让您在不同的域中查看信号,在其中可以轻松分析一些困难的问题。

由于不同的原因,它几乎遍及工程和物理科学的每个领域,这使得确定原因变得更加困难。我希望了解它的某些特性,使其广泛地被采用,并结合一些实际的例子和一小段历史,可能有助于人们理解它的重要性。

历史:

要了解傅立叶变换的重要性,重要的是要稍微退后一步,欣赏约瑟夫·傅立叶提出的傅立叶级数的强大功能。简而言之,在域可积分的任何周期函数可以写成正弦和余弦的无穷和,如下所示:d = [ - π π ]g(x)D=[π,π]

τ ķ = 1

g(x)=k=τkeȷkx
τk=12πDg(x)eȷkx dx

其中。一种功能可以分解为其组成频率(即,分解为所有频率的正弦和余弦)的想法是有力的,并且构成了傅立叶变换的主干。eıθ=cos(θ)+ȷsin(θ)

傅立叶变换:

傅里叶变换可以看作是上述傅里叶级数对非周期函数的扩展。为了完整和清楚起见,我将在此处定义傅立叶变换。如果是连续的可积分信号,则其傅立叶变换由下式给出:X f x(t)X(f)

X(f)=Rx(t)eȷ2πft dt,fR

逆变换由

x(t)=RX(f)eȷ2πft df,tR

信号处理的重要性:

首先,信号的傅立叶变换会告诉您信号中存在哪些频率以及比例如何

示例:您是否曾经注意到在通话过程中按每个电话的数字键听起来不同,并且每种电话型号听起来都一样?这是因为它们每个都由两个不同的正弦曲线组成,可用于唯一地标识按钮。当您使用手机打组合键来导航菜单时,另一方知道您所按下的键的方式是通过对输入进行傅立叶变换并查看当前的频率。

除了一些非常有用的基本属性(这些属性使数学运算简单)之外,其在信号处理中如此重要的其他一些原因还包括:

  1. 傅立叶变换的幅度平方立即告诉我们信号在特定频率具有多少功率。 x t f|X(f)|2x(t)f
  2. 根据Parseval定理(更一般地说是Plancherel定理),我们有 表示在整个时间范围内信号的总能量等于在所有频率范围内变换的总能量。因此,该变换是节能的。
    R|x(t)|2 dt=R|X(f)|2 df
  3. 时域中的卷积等效于频域中的乘法,即给定两个信号和,则如果x(t)y(t)

    z(t)=x(t)y(t)
    其中表示卷积,则的傅立叶变换只是z(t)

    Z(f)=X(f)Y(f)

    对于离散信号,随着高效FFT算法的发展,几乎总是如此,在频域中实现卷积运算比在时域中实现更快。

  4. 与卷积运算类似,互相关也可以在频域中轻松实现为,其中表示复共轭。Z(f)=X(f)Y(f)
  5. 通过能够将信号分解为它们的组成频率,可以通过使信号的贡献为零来轻松地选择性屏蔽某些频率。

    范例:如果您是足球迷,那么不知不觉中的Vuvuzelas无人机会让您烦恼,该无人机几乎淹没了2010年南非世界杯期间的所有评论。但是,呜呜祖拉的恒定音高约为235Hz,这使广播公司可以轻松地安装陷波滤波器来消除有害噪声。[1]

  6. 时域中的移位(延迟)信号表现为频域中的相位变化。虽然这属于基本属性类别,但实际上它是一种广泛使用的属性,尤其是在成像和断层扫描应用中,

    示例:当波在异质介质中传播时,它会根据介质中波传播速度的变化而减慢并加快速度。因此,通过观察相位与预期值和测量值的变化,可以推断出多余的时间延迟,从而可以告诉您介质中波速发生了多少变化。当然,这是非常简化的外行解释,但构成了断层扫描的基础。

  7. 信号的导数( n 导数)也可以使用傅立叶变换轻松计算(请参阅106)。

数字信号处理(DSP)与模拟信号处理(ASP)

傅立叶变换的理论是适用的,而与信号是连续的还是离散的无关,只要它是“好的”且绝对可积分即可。因此,是的,只要信号满足此条件,ASP就会使用傅立叶变换。但是,在ASP中谈论拉普拉斯变换(这是广义傅里叶变换)也许更常见。拉普拉斯变换定义为

X(s)=0x(t)est dt,sC

优点是,不必像傅里叶变换那样将其局限于“好的信号”,而是该变换仅在收敛的特定区域内有效。它广泛用于研究/分析/设计LC / RC / LCR电路,这些电路又用于收音机/电吉他,哇哇踏板等。


这几乎是我现在能想到的所有内容,但是请注意,没有任何编写/解释可以完全抓住傅立叶变换在信号处理和科学/工程学中的真正重要性。


2
使用FT及其属性提供一些真实世界的应用程序时,这是一个很好的答案。+1。
goldenmean 2011年

3
@endolith我并不是说傅立叶变换是第一个,只是它很强大。注意,泰勒级数不是组成频率的扩展。例如,大约为的泰勒级数是,而的傅立叶变换是(给出或采用一些归一化因子)。后者是正确的频率表示,因此我不确定是否可以将Taylor级数进行任何比较。sin(αx)0αxα3x3/3!+α5x5/5!sin(αx)[δ(ωα)δ(ω+α)]/(2ȷ)
Lorem Ipsum

6
当我开始阅读此回复时,不知为何我知道@yoda写下了它,然后向下滚动查看它实际上是谁=)
Phonon

2
详细说明#3:卷积是将滤镜应用于图像时的操作,例如平均滤镜或高斯滤镜(尽管不能进行傅立叶变换非线性滤镜)。
乔纳斯(Jonas)

1
Peter K的观点非常关键。可以相对于许多不同的基准来表示信号。正弦和余弦是特殊的,因为它们是LTI系统的本征函数。
nibot 2012年

53

洛雷姆·伊普苏姆(Lorem Ipsum)的好答案错了一件事:傅立叶变换将信号分解为组成复杂的指数:

eȷωt

和复指数是本征函数线性的,时不变系统

简单地说,如果一个系统,是线性和时间不变的,那么它的一个复杂的指数响应将是相同的频率的复指数但(可能)不同的相位,,和幅度,,---和幅度可能为零:HϕA

y=H[eȷωt]=Aeȷϕeȷωt

因此,傅立叶变换是分析线性,时不变系统的有用工具。


@Peter K.我认为,按照(学术上)正确性而非答案的“普遍性”的选择哲学,您的答案应整合到Lorem Ipsum提供的上述答案中,尽管该答案被选择为96的答案用户的观点,缺乏这种非常重要的观点。
Fat32

@Peter很抱歉打扰您,但您是1)主持人,2)您的名字出现在带有波束成形标签的“活动”用户列表中。您能否快速查看一下Math.SE中的这篇帖子在这里是否会受到好评?我不确定DSP.SE,Math.SE还是EE.SE是否有最好的机会来帮助该问询者。我正在考虑迁移(我可以作为Math.SE主持人来做)。
Jyrki Lahtonen '16

@Peter K.,能否请您再次提出问题:dsp.stackexchange.com/questions/37468。我修好了它。谢谢。
罗伊

@Royi已经开放了吗?
彼得·克

彼得(为什么有人可以使用某些人,而有些人却@不能?有什么选择呢?),似乎有人打开了它。谢谢。
罗伊

16

另一个原因:

这是(如卷积有用),由于其linearithmic时间复杂度(具体的的FFT)。
我认为,如果不是这种情况,我们可能会在时域上做更多的事情,而在傅立叶领域做得更少。

编辑:由于人们要我写为什么FFT快速...

这是因为它巧妙地避免了额外的工作。

a0x0+a1x1++anxnb0x0+b1x1++bnxn

如果要天真地执行此操作(使用FOIL方法),则将需要大约算术运算(给定或采用恒定因子)。n2

但是,我们可以做一个看似平凡的观察:为了使两个多项式相乘,我们不需要将系数设为FIL。取而代之的是,我们可以简单地在(足够)个点上评估多项式,对评估值进行逐点乘法,然后进行插值以得到结果。

为什么这样有用?毕竟,每个多项式都有项,如果我们要在点处对每个项求值,那仍然会导致运算,因此它似乎无济于事。n2nn2

但是,如果我们正确地做到了,那就可以了!如果我们在“正确”的点上进行评估,一次在多个点上评估一个多项式要比分别在这些点上进行评估要。什么是“正确的”要点?

事实证明,这些是统一的根(即所有复数使得)。如果我们选择从整数的根来评估多项式,那么很多表达式将变成相同的(因为很多单项式变成相同的)。这意味着我们可以对它们进行一次运算,然后在其他所有点重新使用它来评估多项式。zzn=1

我们可以通过这些点插值来取回结果的多项式系数,只需使用做了非常类似的过程单位根。

我显然在这里跳过了很多数学运算,但是有效地,FFT基本上就是我刚刚描述的用于评估和内插多项式的算法。
正如我所展示的,它的用途之一是在比正常时间短得多的时间内乘法多项式。事实证明,这节省了大量工作,将运行时间减少到与(即线性方程)成正比,而不是与(二次方程)成正比。 nlognn2

因此,使用FFT更快地执行典型运算(例如多项式乘法)的能力使其变得有用,这就是为什么人们现在对MIT的稀疏FFT算法的新发现感到兴奋。


什么是线性时间复杂度?我不会拒绝这个答案,但是我认为它不会对傅里叶变换的讨论增添任何价值。
Dilip Sarwate 2012年

1
@DilipSarwate我怀疑他使用它作为O(n * log(n))的简写。
吉姆·克莱

@ DilipSarwate:吉姆是正确的。它拥有一切跟(离散)傅立叶变换。如果没有FFT,则傅立叶变换所花费的时间与输入大小的平方成正比,这将使它们的使用效率大大降低。但是,使用FFT,它们花费的时间与输入大小成正比(乘以其对数),这使它们更加有用,并加快了许多计算的速度。同样,可能是一个有趣的阅读。
Mehrdad

您应该提到为什么要快。它的速度在哪里?为什么我们要关心它的速度?
Cyber​​Men 2012年

1
我认为这个答案是合理的。它应该被解释为:“除了在其他人的答案中解释的所有出色特性之外,FFT还使其成为实时应用中的一种可行方法”。
Andrey Rubshtein 2012年

15

除了彼得的回答,还有另一个与本征函数有关的原因。也就是说,是微分算子的本征函数。这就是为什么可以使用傅里叶变换(对应于纯虚数)和拉普拉斯变换(对应于复数)来求解微分方程的原因。ekxdndxnkk

由于是卷积和微分算子的本征函数,所以这也许就是LSIV系统可以用微分方程表示的原因之一。ekx

编辑:事实上,微分(和积分)运算符是LSIV运算符,请参见此处


8

该线程中的其他一些答案对傅立叶变换的定义和性质进行了极好的数学讨论。作为音频程序员,我只想提供自己的直觉,以了解为什么它对我很重要。

傅里叶变换使我能够回答关于声音的问题,而这些问题很难或不可能用其他方法来回答。这使难题变得容易。

录音包含一组三个音符。有哪些注意事项?如果您将记录保留为一组随时间变化的幅度,则这不是一个容易的问题。如果您将录音随时间转换为一组频率,则非常简单。

我想更改录音的音高而不更改其持续时间。我该怎么做呢?仅通过操纵输入信号的幅度,就有可能但并不容易做到。但是,如果您知道构成信号的频率,这很容易。

该录音包含语音还是音乐?仅使用基于幅度的方法很难做到。但是,基于傅立叶变换及其族,有几乎所有时间都有好的解决方案猜测正确的答案。

使用离散版本的Fourier变换对录音进行转换,几乎可以使您想询问的有关数字音频录音的每个问题都变得更加容易。

实际上,每个现代数字音频设备都严重依赖与傅立叶变换非常相似的功能。

再次,请原谅高度非正式的描述;这仅仅是我个人对傅立叶变换为何如此重要的直觉。


嗨,约翰,我有一个愚蠢的问题。我想根据我们在工作场所录制的声音来计算TWA(osha.gov/pls/oshaweb/…),我想知道如果我使用傅里叶变换来分析音频文件是否可以更精确地测量该值。
侯赛因·萨沙尔

除非对麦克风和录音环境进行了校准,否则不会。
johnwbyrd

6

其他人给出了很好的有用的答案。只需考虑一些信号:您只需关心其中的频率(及其相位),而不关心时域。我不知道这是最终的还是完整的答案,但这只是傅里叶变换有用的另一个原因。

当您有某个信号时,它可能由无限(或接近)数量的频率组成,具体取决于您的采样率。但是,事实并非如此:我们知道大多数信号可能的频率最少,或者我们以足够高的速率进行采样。

如果我们知道,为什么我们不能使用它呢?这就是压缩感测领域所做的。他们知道,最可能的信号是误差最小且频率最少的信号。因此,它们使相对于我们的测量以及傅立叶变换幅度的总误差最小。

几个频率的信号通常具有最小的傅立叶变换,或通常为零(如在压缩传感中所说的“稀疏”)。例如,一个频率的信号仅具有增量功能作为变换。

我们也可以使用正式的数学定义。

x¯=arg min ||yAx||+λ||F(x)||

在这里,我们要做的就是最小化误差(第一组)和最小化傅立叶变换(第二组)。在这里,我们有| | | |||||||||

  • x¯作为我们重建的信号(最有可能接近原始信号)
  • y,我们的测量
  • A,选择矩阵
  • x,我们的信号
  • λ一些常数
  • F(x)傅立叶变换。

您可能还记得,奈奎斯特(Nyquist)曾说过,您必须以最高频率的两倍进行测量才能获得良好的表现。好吧,那是假设您的信号中有无限的频率。我们可以超越!

压缩感测领域可以重构在某些域中几乎为零(或稀疏)的任何信号。好吧,傅立叶变换就是这种情况。


5

傅里叶变换的主要重要性在于系统分析。宇宙的主要组成部分是真空,真空基本上是场的线性和时不变的载体:不同的场通过相加各自的矢量来叠加,并且无论何时重复应用某些场,结果都是相同的。

结果,许多还涉及物理物质的系统近似地表现为线性,时不变的系统。

这样的LTI系统可以通过其“脉冲响应”来描述,并且通过将信号与脉冲响应进行卷积来描述对任何时间分布信号的响应。

卷积是一种可交换的关联运算,但在计算和概念上也相当昂贵。但是,函数的卷积通过傅立叶变换映射为分段乘法。

这意味着线性时不变系统及其组合的性质在傅立叶变换后得到了更好的描述和操纵。

结果,诸如“频率响应”之类的东西对于描述许多系统的行为具有相当大的特征,并且对于表征它们很有用。

快速傅立叶变换属于“几乎但不是完全不完全相同的傅立叶变换”类,因为尽管其理论上坚定地提出了快速傅立叶变换的结果,但对于傅立叶变换而言,其结果并不能被真正理解为傅立叶变换。仅当以变换间隔的周期性谈论采样信号时,它们完全对应于傅立叶变换。特别地,几乎总是不满足“周期性”标准。

有几种解决方法,例如使用重叠的窗口函数。

但是,如果做正确的事,FFT 可以用于进行离散时间卷积,这是一种高效的算法,使其在很多事情上都非常有用。

可以将基本FFT算法也用于数论变换(在离散数域而不是复杂的“实数”中工作),以便进行快速卷积,例如在乘以庞大的数或多项式时。在这种情况下,基本上对于任何输入,“频域”都与白噪声没有区别,并且在再次进行逆变换之前没有任何有用的解释。


2

傅里叶变换的物理意义是它告诉信号中出现的频率的相对振幅。它既可以定义为离散时间信号,也可以定义为连续时间信号。任何信号都可以表示为许多谐波频率的混合。傅立叶变换在滤波器应用中有帮助,在滤波器应用中,我们只需要一定范围的频率,然后我们首先需要知道信号中包含的频率幅度是多少。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.