资讯动态

傅里叶变换学习笔记:用线性代数理解量子力学位置动量表象

发布时间:2026/10/13 9:44:54 来源:尧图企业网站定制
我的书桌上现在摊着两本笔记左边是线性代数右边是量子力学。标题里“线性代数 or 量子力学”其实是个伪命题因为这两本笔记翻到后面都会跳出一个共同的名字——傅里叶。这篇外传要写的就是我从一次跨学科复习中整理出来的《傅里叶级数与傅里叶变换学习笔记》记录我如何用线性代数的视角重新理解傅里叶又如何在量子力学的位置-动量表象切换中看到同一个数学工具。这篇笔记适合谁读正在啃线性代数、却被“内积空间”“正交基”搞得云里雾里的人正在学量子力学、被位置表象和动量表象来回切换绕晕的人以及在信号处理里看过无数频谱图、却始终没弄明白它和数学课里傅里叶级数有什么关系的人。我不会绕开公式但每个公式我都会解释一遍它到底在干什么。1. 为什么傅里叶是一道连接线性代数与量子力学的桥1.1 把傅里叶变换看成一次换基线性代数最核心的事就一件选一组基然后把向量表示成这组基的线性组合。三维空间里随便一个向量都可以写成三个坐标轴方向的叠加坐标就是它在每个方向上的投影大小。如果换一组基坐标会变但向量本身没变这就是坐标变换。函数也可以这样想把函数看成一个无穷维的向量。什么叫无穷维你每隔一个极小的时间间隔记一个函数值把时间间隔取得越来越密函数就有无穷多个取值这就是一个无穷维向量。傅里叶级数做的事就是把这个无穷维向量投影到一组由 cos 和 sin 构成的坐标轴上。每一个频率分量的系数就是函数在那个方向上的坐标。这个视角一旦建立很多问题顿时就通了“傅里叶变换是连续版本的坐标变换”这句话比我当年背下来的任何性质都更有用。它解释了为什么傅里叶变换可逆、为什么有帕塞瓦尔定理、为什么频域和时域是同一件事的两种描述——因为向量还是那个向量只是换了坐标系。1.2 位置表象与动量表象量子力学里的换基量子力学里同一个量子态可以用坐标波函数 ψ(x) 描述也可以用动量波函数 φ(p) 描述。数学上两者互为傅里叶变换。用线性代数的语言说这就是同一个向量在“位置基”下的坐标和在“动量基”下的坐标傅里叶变换就是这两套坐标之间的转换矩阵。你会看到量子力学教材翻几页就会出现傅里叶变换这不是数学老师在刷存在感而是因为位置算符和动量算符天然不对易。想要从位置表象切到动量表象唯一自然的线性变换就是傅里叶变换。另一件有意思的事是测量位置就是把态矢投影到某个点对应的基矢上测量动量就是投影到一个平面波对应的基矢上。所以为什么标题写成“线性代数 or 量子力学”因为这两个领域在傅里叶这里根本不是二选一而是同一套线性代数思想在不同物理场景里的两个投影。这也是我把这篇笔记称为“外传”的原因主线是量子力学但数学内核是线性代数。1.3 这篇笔记的结构安排下面我会按自己的学习顺序展开先讲傅里叶级数也就是周期信号的分解再让周期趋于无穷自然引出傅里叶变换然后讨论离散傅里叶变换和 FFT 的实操细节最后用线性代数的语言重新讲一遍傅里叶包括算符本征函数和不确定性原理的代数根源。每一段都会把公式背后“为什么要这样做”讲清楚。2. 傅里叶级数周期信号在无穷维空间里的坐标展开2.1 先找到一组正交基三角函数系的正交性先说展开式。一个周期为 T 的函数 f(t)可以写成f(t) a₀/2 Σₙ (aₙ cos(nωt) bₙ sin(nωt))其中 ω 2π/T。这个式子的结构像极了向量分解左边是原始函数右边是无穷多个基向量乘上对应的坐标。a₀/2 这种写法看着别扭但这样规定之后a₀ 正好等于 f(t) 在一个周期内的平均值后续公式也都能统一。为什么偏偏用三角函数而不是随便一组别的函数关键在正交性。定义函数内积为 ⟨g,h⟩ ∫ g(t)h(t)dt积分区间取一个周期。在这个内积下不同频率的三角函数相互垂直∫ cos(nωt)cos(mωt)dt 在 n≠m 时为 0∫ sin(nωt)sin(mωt)dt 在 n≠m 时也为 0任意 cos 和 sin 的乘积积分同样等于 0。而同一个函数和自己做内积不为零∫ cos²(nωt)dt 和 ∫ sin²(nωt)dt 都等于 T/2。这就是基的判定条件一组基里的向量彼此正交且都有非零的“长度”。后面计算系数的时候你会发现正是这种正交性让所有交叉项自动消失否则求每个 aₙ 会变成解一个无穷维线性方程组完全没法动手。2.2 傅里叶系数的计算把函数投影到基上有了正交性求系数就是一次简单的内积操作。把展开式两边同时乘以 cos(mωt) 并在一个周期内积分右边除了和 cos(mωt) 匹配的那一项之外其余项全部因为正交性归零于是得到aₘ (2/T) ∫ f(t)cos(mωt)dt同理bₘ (2/T) ∫ f(t)sin(mωt)dt。这个推导我当年用了一整页纸现在回头看其实只有一行系数 函数与基函数的内积 / 基函数与自身的内积。换成生活化的类比你站在一面墙前想知道你的影子在墙上有多少成分只需要把光源调整到某个特定方向让其他方向的影子全部消失剩下的就是那个方向的投影长度。傅里叶系数就是一组“频率方向”的投影长度。建议你自己手动推一次这个公式。推完你才会明白傅里叶系数从来不是从天而降的而是内积的自然结果。课本上那些积分表本质上就是帮你查“投影长度”的便利工具。2.3 完备性、帕塞瓦尔定理与一个方波例子为什么确定这些三角函数基够用这就涉及完备性。简单说L² 空间里的任何函数都可以用这套基展开到任意精度项数取得越多误差越小并趋于零。这就像三维空间里只用三个互相垂直的单位向量就能表示任何向量只是函数空间是无穷维的需要无穷多个基。帕塞瓦尔定理是坐标观点的直接推论∫|f(t)|²dt (T/2)Σ(aₙ² bₙ²)。左边是信号能量右边是各频率分量的能量之和。它的几何含义就是勾股定理向量长度的平方等于各坐标分量平方之和。价值在于你可以在时域算能量也可以转到频域算能量哪个方便用哪个。举个具体例子。周期 T2 的方波在 [-1/2, 1/2] 上取 1其余取 0。代入系数公式算出来 bₙ 全为 0aₙ 4 sin(nπ/2)/(nπ)所以偶数项全部消失奇数项按 1, 1/3, 1/5, ... 衰减。这个 1/n 的衰减速度是重点方波有突变不光滑所以需要很多高频分量才能逼近而一个纯正弦函数只要一项就精确表达了。函数的平滑程度决定频谱高频分量的衰减速度这是做信号压缩时最基本的直觉。2.4 一级注意事项吉布斯现象和系数约定第一个坑是吉布斯现象。用有限项傅里叶级数逼近方波时在跳跃点附近会出现大约 9% 的过冲而且无论加多少项这个过冲都不会消失只会越来越窄、越来越靠近跳变点。直观解释是方波在跳变处有无限陡的斜率有限项三角级数永远达不到那样的陡峭程度只能以过冲和振铃来“挣扎”。图像压缩中边缘出现振铃伪影根源就在这里。第二个坑是约定不统一。有的教材用 e^(iωt) 作为正变换核有的用 e^(-iωt)逆变换前面的系数 1/2π 放哪边各家也不一样。我吃过亏拿着 A 教材的系数公式直接用 B 教材的逆变换写程序结果频谱形状对了但幅值差了一个因子。后来学乖了在自己的笔记第一页固定写清楚正变换用 e^(-iωt)逆变换带 1/2π之后所有推导和程序都跟这套约定对齐。3. 傅里叶变换从离散频谱到连续频谱3.1 周期趋于无穷级数如何变成积分非周期函数不能直接套傅里叶级数因为根本没有“基频”这个概念。处理办法是把周期 T 推向无穷频域里相邻谐波的间隔 Δω2π/T 会越来越小当 T→∞离散的频谱线连成一片叠加号就变成了积分号。于是得到傅里叶变换对F(ω) ∫f(t)e^(-iωt)dt逆变换 f(t) (1/2π)∫F(ω)e^(iωt)dω。很多人一开始对 1/2π 放哪里非常纠结。我的建议是不要纠结到影响学习认准一套定义用到底。物理学家喜欢对称写法正逆变换各带 1/√(2π)工程领域常常把 1/2π 全部塞到逆变换里。本质是一样的只是能量如何分配的问题就像同一笔钱左边口袋还是右边口袋的区别。从级数到积分的过渡建议亲手写一遍。你会看到离散频率 nω 如何变成连续变量 ω积分核 e^(-iωt) 如何取代离散的 e^(-inωt)以及求和符号如何退化成广义积分。这个过程比死记定义有价值得多。3.2 常用性质与变换对记住这几组就够用傅里叶变换的性质不需要全背但下面这几条必须熟到条件反射的程度。线性变换是线性的叠加原理直接可用处理多个信号的和根本不用重新推。时移f(t-t₀) 的频谱是 F(ω)e^(-iωt₀)。意思很直观时间轴上平移一个量不会改变频率成分只是让每个频率分量都转了一个与频率成正比的相位。频移乘以 e^(iω₀t) 会把整个频谱搬到 ω₀ 处调制技术的基础就是这个性质。尺度变换f(at) 对应的频谱是 (1/|a|)F(ω/a)。时间被压得越窄频谱越宽这就是后面要说时宽带宽积的由头。卷积定理时域卷积对应频域乘积。这是整个信号处理课的镇店之宝它把复杂的卷积积分变成一次乘法无数滤波器设计都是靠这条性质推出来的。常用变换对我列几个高频出现的矩形脉冲对应 sinc 函数高斯函数变换后仍是高斯函数δ 函数对应常数常数对应 δ 函数单位阶跃对应 1/(iω) 加上一个 δ 项。把这些当成“坐标系转换表”背下来做题和读文献会快很多。3.3 从连续到离散采样、频谱泄漏与 FFT 实操计算机没法处理连续的 F(ω)只能对采样后的离散序列做离散傅里叶变换。设采样间隔为 Ts采样率为 fs1/Ts。离散化之后频谱会在频率轴上以 fs 为周期重复这就是数字频谱里必然出现镜像的原因。如果原始信号里有高于 fs/2 的成分这些高频会被“折叠”回低频区形成混叠看起来像低频成分凭空多了不少。这个 fs/2 就是奈奎斯特频率。工程实操里还有两个最常见的坑。第一个是频谱泄漏对一段有限长的正弦波做 FFT频谱不是干净的一根线而是变成一根带拖尾的峰。原因是你对无限长信号开了一个有限长的“观察窗”本质上是乘了一个矩形窗矩形窗在频域对应 sinc 函数于是谱线就被 sinc 卷积“抹糊”了。解决方法是加汉宁窗、海明窗这类窗函数让截断变得平滑但代价是主峰变宽频率分辨能力下降这是不可避免的取舍。第二个坑是归一化。很多人直接用 FFT 结果画幅值发现峰值根本不是信号原本的振幅。因为 FFT 没有自动除以序列长度 N需要手动除以 N如果只画单边谱正频率的幅值还要再乘以 2直流分量除外。这个细节能让你的频域图从“不知道为什么差一个因子”变成“严丝合缝对上”。频率分辨率的计算公式也建议刻在脑子里Δf fs / N。采样率固定时点数越多、观察时长越长频率分辨得越细。如果你想分辨两个间隔只有 0.1Hz 的频率峰采样率和点数必须保证 Δf 小于 0.1Hz否则两个峰必然糊在一起。3.4 数值实验用一段短代码看清傅里叶变换理论说再多不如跑一个实验直观。我用一个非常经典的双正弦叠加信号演示一下两段代码就可以看完频域视角。import numpy as np import matplotlib.pyplot as plt fs 1000 # 采样率 1000Hz N 1000 # 采样点数 t np.arange(N) / fs f1, f2 50, 120 x np.sin(2 * np.pi * f1 * t) 0.6 * np.sin(2 * np.pi * f2 * t) X np.fft.fft(x) freqs np.fft.fftfreq(N, 1/fs) mags np.abs(X) / N # 归一化 mags_single mags[:N//2] * 2 # 只看正频率幅值乘2 freqs_single freqs[:N//2] plt.stem(freqs_single[:200], mags_single[:200]) plt.xlabel(Frequency (Hz)) plt.ylabel(Amplitude) plt.show()这段代码跑完你会看到两个干净的单峰一个在 50Hz 处幅值约为 1一个在 120Hz 处幅值约为 0.6。信号在时域是两组正弦波形交织起来的样子但在频域只需要两根尖峰就能描述同一件事。很多人第一次跑出这种图时才会真正理解什么是“时域和频域是同一信号的两种投影视角”。重点提醒一句这个示例里 fs1000、N1000时间长度正好 1 秒所以频率分辨率 Δf fs/N 1Hz。两个信号频率间隔 70Hz远大于 1Hz完全分得开。如果改成间隔 0.5Hz 的两个信号同样的采样条件它们会合在一起那时你才会体会到“分辨率不足”到底是什么感受。4. 用线性代数语言重新讲一遍傅里叶4.1 复指数所有微分算符的“特征向量”把傅里叶和线性代数焊在一起的是一个关键观察函数 e^(iωt) 是微分算符 d/dt 的本征函数。因为d/dt e^(iωt) iω · e^(iωt)。这就像矩阵特征值问题 Av λv算符作用在这个函数上结果还是这个函数只是整体乘了一个常数 iω。频率越高的分量对应的本征值 iω 的模越大微分时被放大的倍数也越大。为什么这个性质如此重要因为物理规律大量由线性微分方程描述而线性微分方程在复指数基下会变得像代数方程。想象你要解一个带阻尼的振动方程直接用时间域函数来解可能是一通复杂的微分运算把方程两端做傅里叶变换后微分变成乘以 iω方程立刻变成普通代数方程解得 F(ω) 之后再逆变换回来就行。傅里叶变换之所以是好工具本质上就是因为复指数同时是平移算符和微分算符的本征函数。4.2 不确定性原理的傅里叶根源信号在时域和频域不可能同时被压缩。矩形脉冲时域越窄频谱的主瓣越宽高斯函数是唯一能在傅里叶变换后保持高斯形态的函数并且恰好达到时宽带宽积的下界。这不是微分方程的神奇结论纯粹是傅里叶变换的数学结构。量子力学里的位置-动量不确定性关系 Δx·Δp ≥ ħ/2其实就是这个数学事实加上物理单位的映射。粒子的位置波函数越是局域化意味着波包越窄那么它的动量波函数必然越宽对应动量分布越分散。理解这一点很多量子力学公式会祛魅不少原来不确定性并不是只有量子理论才有的怪现象而是任何服从叠加原理的波动系统都具备的普遍性质。必须小心一点这里的“不确定”不是测量误差不是仪器不够精细而是量子态本身在位置基和动量基下的坐标分布宽度受到数学约束。把这一点说清楚能避免不少概念上的混乱。4.3 别把傅里叶和线性代数对立起来我见过不少同学线性代数课不碰积分傅里叶课上不写矩阵两边老死不相往来。实际上离散傅里叶变换就是标准线性代数。Xₖ Σₙ xₙ W^(kn)其中 W e^(-2πi/N)。写成矩阵形式是 X Wx其中矩阵元素 W(k,n) W^(kn)。这个矩阵是 N×N 的对称、可逆矩阵归一化之后是酉矩阵。酉矩阵意味着什么基变换保持内积不变能量守恒就是它的直接推论。连续傅里叶变换也可以理解为积分核为 K(ω,t) e^(-iωt) 的连续线性变换把函数空间里的向量映射到另一个坐标系统。一旦接受这种观点你会获得巨大好处傅里叶变换的可逆性、正交性、帕塞瓦尔定理都可以套用线性代数中关于基变换和酉矩阵的全部直觉而不用每一条都单独记。我后来讲给同学听时用得最多的类比是傅里叶变换就是函数空间里的“旋转”选好角度之后本来缠绕在一起的信息会变得干干净净。4.4 一个容易混淆的小点实信号的频谱对称性实信号 x(t) 的傅里叶变换满足 F(-ω) F*(ω)也就是频谱幅度是偶对称的、相位是奇对称的。这就是为什么画频谱图常常只画正频率一半因为另一半是完全冗余的信息。有人问负频率是不是“不物理”的。答案在坐标视角下很清晰实信号要由复指数叠加生成就必须让正、负频率两个分量成对出现二者的虚部恰好抵消最终才得到实数。这就像用两个复数相加构造一个实数中间过程的复数成分不代表独立存在的物理对象只是坐标分解里的组成部分。5. 我的学习路线与问题排查备忘5.1 推荐的学习顺序先级数、再变换、后离散回到标题如果让我给一条经过验证的学习路线我会这样说先手算三角函数的正交性确认余弦系和正弦系确实构成正交基再算方波、三角波、锯齿波各一组傅里叶系数体会“投影”到底是什么接着把级数写成复数形式让 T→∞ 看离散谱怎么变成连续谱然后熟记常用变换对逐个推导性质最后上 FFT 做实验拿正弦叠加信号和方波信号验证理论。别反着学。先跑 FFT 再回头补理论容易把工具当成黑盒遇到频谱异常也不知道该查哪一环只看理论不作实验又很难建立“频域图像”的直觉。两条腿交替迈效果最好。学量子力学时如果卡在表象变换上我建议把位置-动量表象切换对应到傅里叶正逆变换再把傅里叶正逆变换对应到基底变换矩阵。这个对应一旦贯通波函数的坐标意义会比抽象的公设清晰得多。5.2 常见问题速查表现象可能原因排查与解决频谱峰值比信号幅值大很多FFT 结果未除以序列长度 N对全部频率点幅值统一除以 N单边谱幅值比预期小一半正频率未乘 2正频率不含直流幅值乘 2谱线周围出现大片拖尾截断造成频谱泄漏加汉宁窗、海明窗等窗函数高频处出现与实际不符的峰采样率不足导致混叠提高采样率采样前加抗混叠低通滤波两个邻近频率峰合成为一个频率分辨率不足增加采样时长或 FFT 点数用两个教材的公式写程序结果差常数倍傅里叶变换约定不统一固定一个约定检查 1/2π 和指数符号相位谱看起来完全随机幅值接近零的频率点噪声放大先按幅值阈值筛选再解读相位这七条是我在学习和写代码时踩过的真实问题每条都可以对应一次“对着频谱图发呆半天”的经历。排查顺序也有技巧先确认归一化再看泄漏和混叠最后才怀疑相位因为相位对数值误差远比幅值敏感。5.3 几个让我少走弯路的经验经验一把三种傅里叶版本做成一张对照表。傅里叶级数处理连续周期信号得到离散频谱傅里叶变换处理连续非周期信号得到连续频谱离散傅里叶变换处理离散周期信号得到离散频谱。工程里实际用的是 DFT 和它的快速算法 FFT。这张表贴在笔记第一页遇到问题先定位自己在哪个象限再决定用哪套公式。经验二不要试图背所有变换对。我只需要记住大约八组核心变换对剩下的都可以用性质推导。比如记住了矩形脉冲对应 sinc就能通过尺度变换推出窄脉冲的主瓣宽度记住了高斯对应高斯就能立刻理解高斯波包在位置和动量表象下的宽度关系。性质和少量变换对互相配合比死记一大张表可靠得多。经验三写代码验证数学公式时先拿最简单信号做实验再逐步增加成分。先把单正弦的 FFT 幅值调到完全正确再叠加第二个正弦、加窗、加噪声。每加一个环节只引入一个新变量出了问题立刻能定位。我见过太多次一上来就分析一段复杂信号频谱一团糟连是混叠还是泄漏都分不清楚的情况。循序渐进反而最快。我个人最深的体会是傅里叶分析不是某一个学科的工具箱而是把线性代数、信号处理和量子力学串成一条线的公共接口。每次学一门新课都会在傅里叶这儿遇到老朋友。所以如果有人问我“线性代数还是量子力学”我的答案出乎意料地简单先都学一遍然后在傅里叶这里汇合。最后分享一个小技巧把常用公式做成一张双栏卡片左边时间域、右边频率域用尺度变换和时移性质互相推导比对着书背要轻松得多。这篇外传笔记是我重新整理自己的学习路线时顺手写下的希望它也能帮你在几个学科的教材之间少走几次弯路。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑