傅里叶变换笔记
摘要
深入探索傅里叶变换,从傅里叶级数出发,延伸至非周期函数,包含交互式可视化与数学推导。
<link rel="stylesheet" href="https://eli.thegreenplace.net/demos/fourier/windowed.css"><p>傅里叶级数是一种分析周期函数的强大工具。但那些不重复的函数呢?<a class="reference external" href="https://eli.thegreenplace.net/2026/notes-on-fourier-series/">我们之前看到</a>,对于定义在有限区间上的非周期函数,只要我们不关心该区间之外的行为,就可以计算其傅里叶级数。</p><p>现在将这个想法推广到<em>从不</em>重复的函数,即定义在区间<object class="valign-m4 latex-math" data="https://eli.thegreenplace.net/images/math/1cf8fee97b88d4aa5eb4787c05b533d0db945e98.svg" style="height: 18px;" type="image/svg+xml">(-\infty,\infty)</object>上的非周期函数。</p><div class="section" id="visualizing-fourier-series-for-non-repeating-functions"><h2>非重复函数的傅里叶级数可视化</h2><p>为了启发后续内容,回顾之前<a class="reference external" href="https://eli.thegreenplace.net/2026/notes-on-fourier-series/">关于傅里叶级数的文章</a>中使用的例子:</p><object class="align-center" data="https://eli.thegreenplace.net/images/math/219270dd9765adc74c363412ff71219137e90f0c.svg" style="height: 51px;" type="image/svg+xml">\[t(x)=
\begin{cases}
x & 0 \leq x \leq 1 \\
2-x & 1 < x \leq 2 \\
\end{cases}\]</object><p>将其奇延拓到<object class="valign-m4 latex-math" data="https://eli.thegreenplace.net/images/math/8291e9956dc145c0d40503664cdb2aa8907faeec.svg" style="height: 17px;" type="image/svg+xml">[-2,0]</object>。在那篇文章中,为了让傅里叶级数成立,我们假设<object class="valign-m4 latex-math" data="https://eli.thegreenplace.net/images/math/75a7147566fd4ba98fe5d85fe008fab6d58d3968.svg" style="height: 17px;" type="image/svg+xml">t(x)</object>在整条<object class="valign-0 latex-math" data="https://eli.thegreenplace.net/images/math/11f6ad8ec52a2984abaafd7c3b516503785c2072.svg" style="height: 8px;" type="image/svg+xml">x</object>轴上以周期<object class="valign-0 latex-math" data="https://eli.thegreenplace.net/images/math/8f459dda90739295986eb4ce950ace772ec696f7.svg" style="height: 12px;" type="image/svg+xml">2L=4</object>不断重复。现在,让我们面对现实:它实际上并没有重复,并观察傅里叶级数的表现。</p><p>回顾一下,逼近<object class="valign-m4 latex-math" data="https://eli.thegreenplace.net/images/math/75a7147566fd4ba98fe5d85fe008fab6d58d3968.svg" style="height: 17px;" type="image/svg+xml">t(x)</object>的傅里叶级数是正弦级数(因为它是奇函数):</p><object class="align-center" data="https://eli.thegreenplace.net/images/math/7942a20004aaf07d850b012826c56720f6efa3ce.svg" style="height: 41px;" type="image/svg+xml">\[t(x)=\frac{8}{\pi^2}\bigg[ sin\frac{\pi x}{2}-\frac{1}{3^2} sin\frac{3\pi x}{2}+\frac{1}{5^2}sin\frac{5\pi x}{2}-\cdots\bigg]\]</object><p>以下可视化是交互式的。默认情况下,显示<object class="valign-m4 latex-math" data="https://eli.thegreenplace.net/images/math/75a7147566fd4ba98fe5d85fe008fab6d58d3968.svg" style="height: 17px;" type="image/svg+xml">t(x)</object>(及其奇延拓),不显示傅里叶级数逼近。我们将通过一系列步骤观察结果:</p><div class="plot-stack">
<canvas id="series-canvas" class="canvas" width="760" height="470"></canvas>
<div class="controls">
<div class="number-controls">
<div class="number-control">
<label for="terms-number">n(傅里叶级数项数)</label>
<input id="terms-number" type="number" min="0" max="500" step="1" value="0">
</div>
<div class="number-control">
<label for="interval-l">L</label>
<input id="interval-l" type="number" min="2" max="128" step="1" value="2">
</div>
<div class="number-control">
<label for="x-min">x 最小值</label>
<input id="x-min" type="number" min="-512" max="511" step="1" value="-16">
</div>
<div class="number-control">
<label for="x-max">x 最大值</label>
<input id="x-max" type="number" min="-511" max="512" step="1" value="16">
</div>
</div>
</div>
<canvas id="coeffs-canvas" class="canvas" width="760" height="260"></canvas>
</div><p><strong>步骤1</strong>:将 <img alt="n" class="valign-0 latex-math" src="https://eli.thegreenplace.net/images/math/d1854cae891ec7b29161ccaf79a24b00c274bdaa.png" style="height: 7px;" /> 设为某个非零数值;当 n=3 时,逼近已经非常好。</p><p>频率间隔为 <object class="valign-m6 latex-math" data="https://eli.thegreenplace.net/images/math/5a600bbe993cfd18233241243dff681270daa29f.svg" style="height: 19px;" type="image/svg+xml">\frac{\pi}{L}</object>(这是正弦函数中 <object class="valign-0 latex-math" data="https://eli.thegreenplace.net/images/math/11f6ad8ec52a2984abaafd7c3b516503785c2072.svg" style="height: 8px;" type="image/svg+xml">x</object> 的系数)。注意傅里叶级数每隔 <object class="valign-0 latex-math" data="https://eli.thegreenplace.net/images/math/8dde33545500de38fae974b4b18036def142e9e3.svg" style="height: 12px;" type="image/svg+xml">2L</object> 重复一次,符合预期。</p><p><strong>步骤2</strong>:将 <object class="valign-0 latex-math" data="https://eli.thegreenplace.net/images/math/d160e0986aca4714714a16f29ec605af90be704d.svg" style="height: 12px;" type="image/svg+xml">L</object> 增加到 6。这意味着我们构造级数时假设 <object class="valign-m4 latex-math" data="https://eli.thegreenplace.net/images/math/75a7147566fd4ba98fe5d85fe008fab6d58d3968.svg" style="height: 17px;" type="image/svg+xml">t(x)</object> 的周期为 12,而非 4。注意现在傅里叶级数的形状——它们每隔 12 重复一次,且与 <object class="valign-m4 latex-math" data="https://eli.thegreenplace.net/images/math/75a7147566fd4ba98fe5d85fe008fab6d58d3968.svg" style="height: 17px;" type="image/svg+xml">t(x)</object> 的匹配程度不如之前。我们可以将 <img alt="n" class="valign-0 latex-math" src="https://eli.thegreenplace.net/images/math/d1854cae891ec7b29161ccaf79a24b00c274bdaa.png" style="height: 7px;" /> 增加到更大的数值以改善匹配。随着 <object class="valign-0 latex-math" data="https://eli.thegreenplace.net/images/math/d160e0986aca4714714a16f29ec605af90be704d.svg" style="height: 12px;" type="image/svg+xml">L</object> 增大,相邻频率之间的间隔减小。</p><p><strong>步骤3</strong>:将 <object class="valign-0 latex-math" data="https://eli.thegreenplace.net/images/math/d160e0986aca4714714a16f29ec605af90be704d.svg" style="height: 12px;" type="image/svg+xml">L</object> 增加到 10。我们不再看到重复,因此可以随意增大 <em>x 最小值</em> 和 <em>x 最大值</em> 直到看到重复。再次注意,我们需要添加越来越多的系数来让更大的 <object class="valign-0 latex-math" data="https://eli.thegreenplace.net/images/math/d160e0986aca4714714a16f29ec605af90be704d.svg" style="height: 12px;" type="image/svg+xml">L</object> 下的逼近效果更好,且相邻频率的间隔变得更小。</p><p>增加 <object class="valign-0 latex-math" data="https://eli.thegreenplace.net/images/math/d160e0986aca4714714a16f29ec605af90be704d.svg" style="height: 12px;" type="image/svg+xml">L</object> 意味着函数以越来越大的间隔重复。这一进展的逻辑结论是提出一个问题——如果函数<em>从不</em>重复,即 <object class="valign-0 latex-math" data="https://eli.thegreenplace.net/images/math/7024b94c8e1c4e174500651fed6f4034b9133" type="image/svg+xml">L \to \infty</object>,会发生什么?</p>
查看缓存全文
缓存时间: 2026/07/15 10:52
# 傅里叶变换笔记
来源:https://eli.thegreenplace.net/2026/notes-on-the-fourier-transform
傅里叶级数是分析周期函数的强大工具。但对于不重复的函数呢?我们已经看到(https://eli.thegreenplace.net/2026/notes-on-fourier-series/),对于定义在有限区间上的非周期函数,只要我们不关心其在该区间之外的行为,就可以计算其傅里叶级数。
现在,让我们将这个想法扩展到**从不**重复的函数,即定义在区间 \\((-\infty, \infty)\\) 上的非周期函数。
## 可视化非重复函数的傅里叶级数
为了引入后续内容,让我们回顾一下之前关于傅里叶级数的文章(https://eli.thegreenplace.net/2026/notes-on-fourier-series/)中使用的例子:
通过对 \\([-L, L]\\) 进行奇延拓。在那篇文章中,为了使傅里叶级数成立,我们假设 \\(t(x)\\) 以周期 \\(2L\\) 在整个数轴上重复。现在,让我们面对现实——它实际上并不重复——并观察我们的傅里叶级数会如何表现。
回顾一下,逼近 \\(t(x)\\) 的傅里叶级数是正弦级数(因为它是奇函数):
\\[ t(x) \approx \sum_{n=1}^{N} b_n \sin\left(\frac{n\pi x}{L}\right) \\]
以下可视化是交互式的。默认情况下,它显示 \\(t(x)\\)(及其奇延拓)且没有傅里叶级数逼近。我们将通过一系列步骤并观察结果:
**n**(傅里叶级数中的项数)
**L**
**x min**
**x max**
**第 1 步**:将 **n** 设置为某个非零值;当值为 3 时,逼近结果已经非常好。
频率间隔为 \\(\frac{\pi}{L}\\)(这是正弦项中 \\(x\\) 的系数)。注意,傅里叶级数每 \\(2L\\) 重复一次,正如预期。
**第 2 步**:将 \\(L\\) 增加到 6。这意味着我们构建级数时假设 \\(t(x)\\) 的周期为 12,而不是 4。注意现在的傅里叶级数每 12 重复一次,且匹配度不如之前。我们可以将 **n** 增加到更高的值以改善匹配。随着 \\(n\\) 增大,相邻频率之间的间隔减小。
**第 3 步**:将 \\(L\\) 增加到 10。我们不再看到重复,所以可以随意增加 **x min** 和 **x max** 的值直到看到为止。再次注意,我们需要添加越来越多的系数来匹配这个更大的 \\(L\\),且相邻频率的间隔变得更小。
增大 \\(L\\) 意味着我们的函数在越来越大的区间上重复。这个过程的逻辑结论是问——如果函数**从不**重复,即 \\(L \to \infty\\),会发生什么?虽然数学上不严格,但这里的视觉实验让我们可以做出一些推测:我们很可能需要无限多的系数才能实现良好的逼近,而且这些系数之间的间隔将趋于零。
换句话说,我们将不再得到离散的系数集,而是得到一个连续的线,或者说一个**函数**。这个过程中产生的函数就是 \\(t(x)\\) 的傅里叶变换,下一节将展示其数学推导。
## 当 \\(L \to \infty\\) 时,从傅里叶级数到傅里叶变换
在这些笔记中,我们将使用傅里叶级数的复指数形式:
\\[ f(x) = \sum_{n=-\infty}^{\infty} c_n e^{i n \omega_0 x}, \quad c_n = \frac{1}{2L} \int_{-L}^{L} f(x) e^{-i n \omega_0 x} dx, \quad \omega_0 = \frac{\pi}{L} \\]
我们感兴趣的是定义在 \\((-\infty, \infty)\\) 上的非周期函数 \\(f(x)\\)。因此,我们将探讨当 \\(L \to \infty\\) 时上述方程的行为。
首先,让我们对符号做一点改动。我们不使用周期 \\(2L\\) 来表达公式,而是使用第 \\(n\\) 次谐波的角频率 \\(\omega_n = n\omega_0\\):
\\[ f(x) = \sum_{n=-\infty}^{\infty} c_n e^{i \omega_n x} \\]
使用 \\(\Delta \omega = \omega_{n} - \omega_{n-1} = \omega_0 = \frac{\pi}{L}\\) 作为两个相邻频率之间的间隔。
使用这个符号,\\(c_n\\) 可以表示为:
\\[ c_n = \frac{\Delta \omega}{2\pi} \int_{-L}^{L} f(x) e^{-i \omega_n x} dx \\]
到目前为止,这里没有新的见解,只是一些新符号。现在我们用它来促进下一步。
由于 \\(L = \frac{\pi}{\Delta \omega}\\),于是 \\(\frac{1}{2L} = \frac{\Delta \omega}{2\pi}\\)。让我们计算当 \\(L \to \infty\\) 时 \\(f(x)\\) 的傅里叶级数表示的极限:
\\[ f(x) = \lim_{L \to \infty} \sum_{n=-\infty}^{\infty} \frac{\Delta \omega}{2\pi} \left[ \int_{-L}^{L} f(t) e^{-i \omega_n t} dt \right] e^{i \omega_n x} \\]
并将最新的式子代入此式,将其虚拟积分变量从 \\(x\\) 改为 \\(t\\) 以避免混淆\\(^{[1]}\\)。
稍微重新排序,并将方括号内的积分限中的 \\(L\\) 替换为 \\(\pi/\Delta \omega\\):
\\[ f(x) = \lim_{\Delta \omega \to 0} \frac{1}{2\pi} \sum_{n=-\infty}^{\infty} \left[ \int_{-\pi/\Delta \omega}^{\pi/\Delta \omega} f(t) e^{-i \omega_n t} dt \right] e^{i \omega_n x} \Delta \omega \\]
仔细看这个极限下的求和,这是一个黎曼和(见附录 A)!括号内的项是 \\(w\\) 的“采样”版本,而 \\(\Delta \omega \to 0\\)。因此,我们可以将其替换为一个积分,将 \\(\omega_n\\) 变为 \\(\omega\\),将 \\(\Delta \omega\\) 变为 \\(d\omega\\)\\(^{[2]}\\):
\\[ f(x) = \frac{1}{2\pi} \int_{-\infty}^{\infty} \left[ \int_{-\infty}^{\infty} f(t) e^{-i \omega t} dt \right] e^{i \omega x} d\omega \\]
内层积分被称为 \\(f(x)\\) 的**傅里叶变换**,记作\\(^{[3]}\\):
\\[ F(\omega) = \int_{-\infty}^{\infty} f(t) e^{-i \omega t} dt \\]
而 \\(f(x)\\) 的完整方程就是**逆**傅里叶变换:
\\[ f(x) = \frac{1}{2\pi} \int_{-\infty}^{\infty} F(\omega) e^{i \omega x} d\omega \\]
## 计算傅里叶变换的示例
让我们以我们最喜欢的奇三角脉冲为例,计算其傅里叶变换。该函数的数学定义和图示已在本文前面展示。注意,我们并没有周期性地延拓这个函数——它在区间 \\([-1, 1]\\) 之外为零;这正是为什么我们需要傅里叶变换——正如我们已经看到的,傅里叶级数行不通,因为它重构的函数最终会开始重复。
我们要找出:
\\[ T(\omega) = \int_{-\infty}^{\infty} t(x) e^{-i \omega x} dx \\]
为了计算这个积分,让我们使用欧拉公式分解复指数:
\\[ T(\omega) = \int_{-1}^{1} t(x) \cos(\omega x) dx - i \int_{-1}^{1} t(x) \sin(\omega x) dx \\]
由于我们的 \\(t(x)\\) 是奇函数,第一个积分(余弦部分)为零(https://eli.thegreenplace.net/2025/notes-on-even-and-odd-functions/)。此外,\\(t(x) \sin(\omega x)\\) 是偶函数,所以我们可以写成:
\\[ T(\omega) = -2i \int_{0}^{1} t(x) \sin(\omega x) dx = -2i \int_{0}^{1} (1 - x) \sin(\omega x) dx \\]
我们已经计算过一个非常相似的积分,就在关于傅里叶级数的文章(https://eli.thegreenplace.net/2026/notes-on-fourier-series/)中,所以让我们直接跳到结果:
\\[ T(\omega) = -2i \left( \frac{\sin \omega}{\omega} - \frac{1 - \cos \omega}{\omega^2} \right) \\]
唯一剩下的困难是它在 \\(\omega = 0\\) 处的值,初看似乎未定义(除零)。然而,注意当 \\(\omega \to 0\\) 时,分子也趋于 0,所以我们可以使用洛必达法则(两次!)求出:
\\[ \lim_{\omega \to 0} T(\omega) = 0 \\]
因此:
\\[ T(\omega) = \frac{-2i}{\omega^2} (\omega \sin \omega - 1 + \cos \omega) \\]
这个函数是复值的;实际上,它是纯虚数。如何可视化它?一种常见的方法是将复值函数的幅度和相位分开绘制。
\\(T(\omega)\\) 的幅度是:
\\[ |T(\omega)| = \frac{2}{\omega^2} |\omega \sin \omega - 1 + \cos \omega| \\]
由于 \\(T(\omega)\\) 是纯虚数,相位只有两种可能:
* 当分子为正时,得到负的虚数,相位为 \\(-\pi/2\\)。
* 当分子为负时,得到正的虚数,相位为 \\(\pi/2\\)。
* 最后,当 \\(T(\omega) = 0\\) 时(当 \\(\omega = 0\\) 时发生,由我们之前的分析,但也当 \\(w\\) 是 \\(\pi\\) 的整数倍时),相位未定义。
以下是 \\(T(\omega)\\) 相对于 \\(w\\) 的幅度和相位图:
[此处插入图:t(x) 傅里叶变换的幅度和相位]
通常将 \\(F(\omega)\\) 称为 \\(f(x)\\) 的**频域**表示。
## 函数的频域表示
当我们处理的函数定义域是**时间**时(例如,\\(f(t)\\) 中的 \\(t\\) 代表时间),这在信号与系统的研究中很常见,傅里叶变换可以看作是计算该函数的**频域**表示。
再次给出傅里叶变换公式:
\\[ F(\omega) = \int_{-\infty}^{\infty} f(t) e^{-i \omega t} dt \\]
它接受 \\(f(t)\\)——函数的**时域**表示,并将其转换为 \\(F(\omega)\\)——**频域**表示。对于性质良好的函数,这两个表示是**对偶**的——每个表示都完整地描述了函数,只是方式不同。
要从频域表示转换回时域,我们使用逆傅里叶变换:
\\[ f(t) = \frac{1}{2\pi} \int_{-\infty}^{\infty} F(\omega) e^{i \omega t} d\omega \\]
时域图(\\(f(t)\\))显示信号随时间的变化,而频域图(\\(F(\omega)\\))显示信号在所有可能频率上的分布。此外,正如我们已经看到的,\\(F(\omega)\\) 是复值的。因此,每个频率都有幅度和相位:幅度告诉我们该频率的贡献有多强,而相位告诉我们该分量是如何移位的。
频域在信号分析中非常有用;例如,在设计滤波器时。
傅里叶变换还具有许多在信号分析和处理中非常有用的性质。但首先,让我们讨论一下,为了应用傅里叶变换,“性质良好的函数”是什么意思。
## 傅里叶变换的存在条件
傅里叶变换最简单的存在条件是绝对可积性(也称为勒贝格可积):
\\[ \int_{-\infty}^{\infty} |f(x)| dx < \infty \\]
在这个条件下,\\(F(\omega)\\) 在整个 \\(\omega\\) 域上存在,是连续的,并且在 \\(|\omega| \to \infty\\) 时消失(趋于 0)\\(^{[4]}\\)。
虽然这个条件是充分的,但并非必要;有些性质不太好的函数,在一定的限制下也有定义的傅里叶变换。在这些笔记中,我们主要关注实际工程中使用的性质良好的函数,因此我们不会讨论其他情况。
对于实际世界的函数,另一个常见的假设是当 \\(|x| \to \infty\\) 时它们消失(趋于 0)。虽然这并非绝对可积性的直接结果\\(^{[5]}\\),但在工程中是一个合理的假设。毕竟,现实世界的信号具有有限能量。
直观上,当我们还假设 \\(f(x)\\) 是**一致连续**(https://en.wikipedia.org/wiki/Uniform_continuity)的时,在无穷远处消失的假设是合乎逻辑的结论,因为否则在 \\((-\infty, \infty)\\) 上的总面积如何可能是有限的?
这个讨论的一个重要结果是傅里叶变换**不适合**周期函数。以间隔重复的函数**不是绝对可积的**。对于周期函数,我们使用傅里叶级数。
## 傅里叶变换的一些有用性质
**线性性**
傅里叶变换是线性算子,因为积分是线性的:
\\[ \mathcal{F}\\{\alpha f(x) + \beta g(x)\\} = \alpha \mathcal{F}\\{f(x)\\} + \beta \mathcal{F}\\{g(x)\\} \\]
逆傅里叶变换也是如此;很容易证明:
\\[ \mathcal{F}^{-1}\\{\alpha F(\omega) + \beta G(\omega)\\} = \alpha \mathcal{F}^{-1}\\{F(\omega)\\} + \beta \mathcal{F}^{-1}\\{G(\omega)\\} \\]
**缩放性**
如果我们用一个常数缩放函数的定义域,其变换只会稍微改变:
\\[ \mathcal{F}\\{f(ax)\\} = \int_{-\infty}^{\infty} f(ax) e^{-i \omega x} dx \\]
让我们进行变量替换 \\(u = ax\\):
\\[ \mathcal{F}\\{f(ax)\\} = \frac{1}{|a|} \int_{-\infty}^{\infty} f(u) e^{-i \omega u/a} du \\]
这是傅里叶变换在 \\(\omega/a\\) 处的值,所以:
\\[ \mathcal{F}\\{f(ax)\\} = \frac{1}{|a|} F\left(\frac{\omega}{a}\right) \\]
这里有一个小问题;当 \\(a\\) 为负时,积分限应该翻转,导致变换前面出现负号。所以我们可以写成:
\\[ \mathcal{F}\\{f(ax)\\} = \frac{1}{|a|} F\left(\frac{\omega}{a}\right) \\]
这对任何 \\(a \neq 0\\) 都成立。
这个性质在思考信号时很直观:假设 \\(a > 1\\),那么 \\(f(ax)\\) 意味着信号在时域上被**压缩**了 \\(a\\) 倍。缩放性质说频域被用相同的因子**扩展**了;换句话说,更高的频率变得更突出,因为我们需要更锐利的过渡来表示压缩后的信号。
**时移**
如果我们对输入信号进行时移一个常数 \\(a\\),傅里叶变换会发生什么:\\(f(x - a)\\)。根据定义:
\\[ \mathcal{F}\\{f(x - a)\\} = \int_{-\infty}^{\infty} f(x - a) e^{-i \omega x} dx \\]
代入 \\(u = x - a\\),我们得到 \\(dx = du\\),所以:
\\[ \mathcal{F}\\{f(x - a)\\} = \int_{-\infty}^{\infty} f(u) e^{-i \omega (u + a)} du = e^{-i \omega a} \int_{-\infty}^{\infty} f(u) e^{-i \omega u} du = e^{-i \omega a} F(\omega) \\]
**导数的变换**
一个非常常用的性质,常用于偏微分方程的求解;让我们计算 \\(f(x)\\) 的导数的傅里叶变换:
\\[ \mathcal{F}\\{f'(x)\\} = \int_{-\infty}^{\infty} f'(x) e^{-i \omega x} dx \\]
我们将使用分部积分法,其中 \\(u = e^{-i \omega x}\\) 且 \\(dv = f'(x) dx\\)。因此,\\(du = -i \omega e^{-i \omega x} dx\\) 且 \\(v = f(x)\\):
\\[ \mathcal{F}\\{f'(x)\\} = \left[ f(x) e^{-i \omega x} \right]_{-\infty}^{\infty} + i \omega \int_{-\infty}^{\infty} f(x) e^{-i \omega x} dx \\]
回顾“存在条件...”一节中关于 \\(f(x)\\) 在无穷远处消失的假设。因此,上面方程的第一部分为零,我们得到:
\\[ \mathcal{F}\\{f'(x)\\} = i \omega F(\omega) \\]
**卷积的变换**
两个连续函数 \\(f(x)\\) 和 \\(g(x)\\) 之间的卷积定义为:
\\[ (f * g)(x) = \int_{-\infty}^{\infty} f(t) g(x - t) dt \\]
让我们计算这个函数的傅里叶变换:
\\[ \mathcal{F}\\{f * g\\} = \int_{-\infty}^{\infty} \left[ \int_{-\infty}^{\infty} f(t) g(x - t) dt \right] e^{-i \omega x} dx \\]
这一步将积分合并为双重积分,以及下一步(改变积分顺序)的可行性依赖于**富比尼定理**(https://en.wikipedia.org/wiki/Fubini%27s_theorem)以及我们对 \\(f(x)\\) 和 \\(g(x)\\) 是勒贝格可积的假设。
交换积分顺序:
\\[ \mathcal{F}\\{f * g\\} = \int_{-\infty}^{\infty} f(t) \left[ \int_{-\infty}^{\infty} g(x - t) e^{-i \omega x} dx \right] dt \\]
现在,在内层积分中,\\(f(t)\\) 不依赖于 \\(x\\),所以我们可以将其提出来:
\\[ \mathcal{F}\\{f * g\\} = \int_{-\infty}^{\infty} f(t) \left[ \int_{-\infty}^{\infty} g(x - t) e^{-i \omega x} dx \right] dt \\]
内层积分正是时移后的 \\(g\\) 的傅里叶变换,所以我们可以写成:
\\[ \mathcal{F}\\{f * g\\} = \int_{-\infty}^{\infty} f(t) e^{-i \omega t} G(\omega) dt \\]
剩下的积分就是 \\(f(x)\\) 的傅里叶变换,所以:
\\[ \mathcal{F}\\{f * g\\} = F(\omega) G(\omega) \\]
时域中的卷积转化为频域中的乘法!这个结果在信号处理中非常重要,被称为**卷积定理**。
## 附录 A:黎曼和与定积分
假设我们有一个函数 \\(f(x)\\),我们想要知道该函数图形与 \\(x\\) 轴在某个区间 \\([a, b]\\) 之间围成的面积。一种方法是对区间进行**划分**(https://en.wikipedia.org/wiki/Partition_of_an_interval):
\\[ a = x_0 < x_1 < x_2 < \cdots < x_n = b \\]
并计算每个划分元素下 \\(f\\) 的面积。然后我们可以用矩形来近似这些子区域,如下所示:
[此处插入黎曼和图示]
我们将每个矩形的面积记为 \\(A_i\\):
- \\(\Delta x_i = x_i - x_{i-1}\\) 是一个区间的宽度(假设均匀划分,但对于非均匀划分数学上同样成立)。
- \\(x_i^*\\) 是区间 \\([x_{i-1}, x_i]\\) 中的某个值。
有许多选择区间中哪一点作为 \\(x_i^*\\) 的方法:左端点(\\(x_{i-1}\\))、右端点(\\(x_i\\))、中点(如图中所示)或介于两者之间的任意一点。对于我们目的而言,这种区别并不重要,正如我们很快会看到的。
我们可以用**黎曼和**来近似区间 \\([a, b]\\) 上 \\(f\\) 曲线下的面积,使用均匀划分:
\\[ S_n = \sum_{i=1}^{n} f(x_i^*) \Delta x, \quad \Delta x = \frac{b - a}{n} \\]
如果 \\(f\\) 在 \\([a, b]\\) 上连续,那么当 \\(n \to \infty\\) 时:
\\[ \lim_{n \to \infty} S_n = \int_{a}^{b} f(x) dx \\]
这就是所谓的**黎曼积分**,或简称为定积分。极限过程就是为什么 \\(x_i^*\\) 的具体选择不重要:当 \\(n \to \infty\\) 时,\\(\Delta x \to 0\\),区间内的所有点都一样好。
---
[\[1\]](https://eli.thegreenplace.net/2026/notes-on-the-fourier-transform#footnote-reference-1)注意 \\(c_n\\) 不是 \\(x\\) 的函数;在其定义中,\\(x\\) 仅作为虚拟积分变量,可以任意命名。当我们将其代入 \\(f(x)\\) 的方程时,\\(f(x)\\) 是 \\(x\\) 的函数,我们必须小心。因此重命名。
[\[2\]](https://eli.thegreenplace.net/2026/notes-on-the-fourier-transform#footnote-reference-2)注意我们应用了极限;因此,内层积分(方括号内的)的积分限现在也介于 \\(-\infty\\) 和 \\(\infty\\) 之间。
[\[3\]](https://eli.thegreenplace.net/2026/notes-on-the-fourier-transform#footnote-reference-3)为了保持一致性,这里我们将虚拟积分变量改回 \\(x\\)。再次强调,由于 \\(x\\) 只是积分变量且积分是定积分,最终结果不依赖于 \\(x\\)。它是 \\(\omega\\) 的函数。
[\[4\]](https://eli.thegreenplace.net/2026/notes-on-the-fourier-transform#footnote-reference-4)在无穷远处消失的部分是黎曼-勒贝格引理;你可以在维基百科上找到证明。
[\[5\]](https://eli.thegreenplace.net/2026/notes-on-the-fourier-transform#footnote-reference-5)病态的绝对可积函数可以在无穷远处有尖峰但总面积仍然有限。
相似文章
离散时间傅里叶级数与变换笔记
本文详细笔记了离散时间傅里叶级数(DTFS)与离散时间傅里叶变换(DTFT),涵盖其理论基础及信号处理应用实例。
一个有趣的傅里叶变换 – 1/f 噪声
本文解释了幂律函数的傅里叶变换,重点关注1/f噪声这一有趣情况,以及时域和频域之间的对称性。
观察圆圈、正弦与信号
介绍一个交互式网站,通过可视化和动画解释离散傅里叶变换和数字信号处理概念。
快速傅里叶变换 第一部分:库利-图基算法
本文详细推导了库利-图基快速傅里叶变换算法的数学原理,并解释了它如何降低离散傅里叶变换的复杂度。
新手学FFT
一个面向初学者的快速傅里叶变换(FFT)指南,使用R语言,解释如何解读fft函数的输出、幅度、相位以及奈奎斯特极限。