引言:分解的艺术
一个古老的问题
1822年,法国数学家约瑟夫·傅里叶(Joseph Fourier)在研究热传导问题时,提出了一个革命性的观点:任何复杂的周期函数都可以分解为简单正弦波的叠加。
这个想法在当时引起了巨大的争议。拉格朗日等数学家认为这是不可能的——毕竟,三角函数和任意的周期函数看起来如此不同。
然而,傅里叶是正确的。这个看似简单的主张,打开了信号处理、分析数学乃至整个现代工程学的大门。
傅里叶变换的力量
今天,傅里叶变换无处不在:
- 音乐:你的Spotify音乐被压缩时,背后是傅里叶变换在工作
- 图像:手机摄像头的图像处理、JPEG压缩,都依赖傅里叶方法
- 医学:CT扫描和MRI使用傅里叶重建技术生成人体内部图像
- 通信:WiFi、5G、蓝牙——所有无线通信都使用傅里叶变换来传输数据
- 金融:分析师用傅里叶方法来发现数据中的周期性模式
核心思想:在"时间域"或"空间域"中复杂的信号,在"频率域"中可能变得极其简单。
这篇文章的目标
在接下来的篇幅中,我们将从最基本的三角函数开始,一步一步地推导出傅里叶级数和傅里叶变换。我们会看到:
- 为什么正弦波是"最基本"的函数
- 如何将任意函数分解为正弦波的叠加
- 傅里叶变换的数学本质是什么
- 傅里叶变换在实际问题中的强大应用
让我们开始这段数学之旅。
第一章:三角函数的正交性
1.1 什么是正交?
在向量空间中,正交(orthogonal)意味着两个向量垂直,它们的点积为零。
$$\mathbf{u} \cdot \mathbf{v} = 0 \quad \Rightarrow \quad \mathbf{u} \perp \mathbf{v}$$
这个概念可以推广到函数。一个函数集合如果满足某种"点积"为零的条件,我们就说它们是正交的。
1.2 函数的"点积"
对于定义在区间 $[a, b]$ 上的两个函数 $f(x)$ 和 $g(x)$,我们定义它们的"点积"为:
$$\langle f, g \rangle = \int_a^b f(x) g(x) , dx$$
如果 $\langle f, g \rangle = 0$,我们就说 $f$ 和 $g$ 在区间 $[a, b]$ 上正交。
1.3 三角函数的正交性
考虑三角函数系:
$${1, \cos(x), \sin(x), \cos(2x), \sin(2x), \cos(3x), \sin(3x), \dots}$$
这些函数在任意长度为 $2\pi$ 的区间上都是正交的。
证明1:常数与正弦/余弦正交
$$\int_{-\pi}^{\pi} 1 \cdot \cos(nx) , dx = \left[\frac{\sin(nx)}{n}\right]_{-\pi}^{\pi} = 0$$
$$\int_{-\pi}^{\pi} 1 \cdot \sin(nx) , dx = \left[-\frac{\cos(nx)}{n}\right]_{-\pi}^{\pi} = 0$$
证明2:不同频率的正弦函数正交
$$\int_{-\pi}^{\pi} \sin(mx) \sin(nx) , dx = \begin{cases} 0 & m \neq n \ \pi & m = n \end{cases}$$
使用积化和差公式:$\sin A \sin B = \frac{1}{2}[\cos(A-B) - \cos(A+B)]$
$$\int_{-\pi}^{\pi} \sin(mx) \sin(nx) , dx = \frac{1}{2} \int_{-\pi}^{\pi} [\cos((m-n)x) - \cos((m+n)x)] , dx$$
当 $m \neq n$ 时,两个积分都为零。
当 $m = n$ 时:
$$\int_{-\pi}^{\pi} \sin^2(nx) , dx = \frac{1}{2} \int_{-\pi}^{\pi} [1 - \cos(2nx)] , dx = \frac{1}{2} \cdot 2\pi = \pi$$
证明3:正弦与余弦正交
$$\int_{-\pi}^{\pi} \cos(mx) \sin(nx) , dx = 0$$
无论 $m$ 和 $n$ 是否相等,结果都是零。
1.4 正交归一化
为了方便计算,我们可以将函数"归一化",使它们的范数(“长度”)为1:
$$|f|^2 = \langle f, f \rangle = \int_a^b f^2(x) , dx$$
归一化后的函数:
- $\phi_0(x) = \frac{1}{\sqrt{2\pi}}$
- $\phi_{2n-1}(x) = \frac{\cos(nx)}{\sqrt{\pi}}$
- $\phi_{2n}(x) = \frac{\sin(nx)}{\sqrt{\pi}}$
归一化后,任意两个不同函数的点积为0,相同函数的点积为1。
第二章:傅里叶级数
2.1 问题的提出
假设我们有一个周期为 $2\pi$ 的函数 $f(x)$,我们想把它写成三角函数的线性组合:
$$f(x) = a_0 + \sum_{n=1}^{\infty} \left[ a_n \cos(nx) + b_n \sin(nx) \right]$$
问题:如何确定系数 $a_0, a_1, a_2, \dots$ 和 $b_1, b_2, \dots$?
2.2 利用正交性求系数
第一步:求 $a_0$
对等式两边从 $-\pi$ 到 $\pi$ 积分:
$$\int_{-\pi}^{\pi} f(x) , dx = \int_{-\pi}^{\pi} \left[ a_0 + \sum_{n=1}^{\infty} (a_n \cos(nx) + b_n \sin(nx)) \right] , dx$$
由于三角函数的正交性,除 $a_0$ 外的所有项积分都为零:
$$\int_{-\pi}^{\pi} f(x) , dx = \int_{-\pi}^{\pi} a_0 , dx = a_0 \cdot 2\pi$$
因此:
$$a_0 = \frac{1}{2\pi} \int_{-\pi}^{\pi} f(x) , dx = \frac{1}{2\pi} \int_{-\pi}^{\pi} f(x) , dx$$
第二步:求 $a_n$($n \geq 1$)
两边乘以 $\cos(kx)$,然后积分:
$$\int_{-\pi}^{\pi} f(x) \cos(kx) , dx = \int_{-\pi}^{\pi} a_k \cos^2(kx) , dx = a_k \cdot \pi$$
因此:
$$a_n = \frac{1}{\pi} \int_{-\pi}^{\pi} f(x) \cos(nx) , dx$$
第三步:求 $b_n$($n \geq 1$)
两边乘以 $\sin(kx)$,然后积分:
$$\int_{-\pi}^{\pi} f(x) \sin(kx) , dx = \int_{-\pi}^{\pi} b_k \sin^2(kx) , dx = b_k \cdot \pi$$
因此:
$$b_n = \frac{1}{\pi} \int_{-\pi}^{\pi} f(x) \sin(nx) , dx$$
2.3 傅里叶级数的完整形式
周期为 $2\pi$ 的函数 $f(x)$ 的傅里叶级数为:
$$f(x) = \frac{a_0}{2} + \sum_{n=1}^{\infty} \left[ a_n \cos(nx) + b_n \sin(nx) \right]$$
其中:
$$a_n = \frac{1}{\pi} \int_{-\pi}^{\pi} f(x) \cos(nx) , dx$$ $$b_n = \frac{1}{\pi} \int_{-\pi}^{\pi} f(x) \sin(nx) , dx$$
注意:$a_0$ 的系数是 $\frac{1}{2}$,这是为了与 $a_n$ 的公式保持一致(当 $n=0$ 时,$a_0$ 的公式给出 $\frac{2}{\pi}$ 倍的积分,所以要除以2)。
2.4 周期为 $T$ 的函数
如果函数 $f(t)$ 的周期是 $T$(不是 $2\pi$),我们可以进行变量替换:
令 $\omega_0 = \frac{2\pi}{T}$(基波频率),$x = \omega_0 t$,则:
$$f(t) = \frac{a_0}{2} + \sum_{n=1}^{\infty} \left[ a_n \cos(n\omega_0 t) + b_n \sin(n\omega_0 t) \right]$$
其中:
$$a_n = \frac{2}{T} \int_{t_0}^{t_0+T} f(t) \cos(n\omega_0 t) , dt$$ $$b_n = \frac{2}{T} \int_{t_0}^{t_0+T} f(t) \sin(n\omega_0 t) , dt$$
2.5 傅里叶级数的收敛性
狄利克雷条件(函数可以展开为傅里叶级数的充分条件):
- 函数在周期内连续,或只有有限个第一类间断点
- 函数只有有限个极大值和极小值
- 函数绝对可积:$\int_{-\pi}^{\pi} |f(x)| , dx < \infty$
吉布斯现象:在函数的间断点附近,傅里叶级数会出现约9%的过冲,这个过冲不随项数增加而消失。
2.6 傅里叶级数的例子
例子1:方波
考虑周期为 $2\pi$ 的方波:
$$f(x) = \begin{cases} 1 & 0 < x < \pi \ -1 & -\pi < x < 0 \end{cases}$$
这是一个奇函数($f(-x) = -f(x)$),所以所有余弦系数 $a_n = 0$。
计算正弦系数:
$$b_n = \frac{1}{\pi} \int_{-\pi}^{\pi} f(x) \sin(nx) , dx = \frac{2}{\pi} \int_{0}^{\pi} \sin(nx) , dx = \frac{2}{\pi} \left[ -\frac{\cos(nx)}{n} \right]_0^{\pi} = \frac{2(1 - (-1)^n)}{n\pi}$$
因此:
$$b_n = \begin{cases} \frac{4}{n\pi} & n \text{ 为奇数} \ 0 & n \text{ 为偶数} \end{cases}$$
傅里叶级数:
$$f(x) = \frac{4}{\pi} \left( \sin(x) + \frac{1}{3}\sin(3x) + \frac{1}{5}\sin(5x) + \dots \right)$$
这就是著名的方波的正弦分解。
例子2:锯齿波
考虑周期为 $2\pi$ 的锯齿波:$f(x) = x$(在 $[-\pi, \pi]$ 上)
由于是奇函数,$a_n = 0$:
$$b_n = \frac{1}{\pi} \int_{-\pi}^{\pi} x \sin(nx) , dx = \frac{2}{\pi} \int_{0}^{\pi} x \sin(nx) , dx = \frac{2(-1)^{n+1}}{n}$$
傅里叶级数:
$$f(x) = 2 \sum_{n=1}^{\infty} \frac{(-1)^{n+1}}{n} \sin(nx)$$
第三章:复数形式的傅里叶级数
3.1 欧拉公式
欧拉公式是复数分析中最优美的公式之一:
$$e^{i\theta} = \cos\theta + i\sin\theta$$
从中可以推导出:
$$\cos\theta = \frac{e^{i\theta} + e^{-i\theta}}{2}, \quad \sin\theta = \frac{e^{i\theta} - e^{-i\theta}}{2i} = -i\frac{e^{i\theta} - e^{-i\theta}}{2}$$
3.2 复数形式的傅里叶级数
使用欧拉公式,我们可以将傅里叶级数写成更紧凑的形式:
$$f(x) = \sum_{n=-\infty}^{\infty} c_n e^{inx}$$
其中系数为:
$$c_n = \frac{1}{2\pi} \int_{-\pi}^{\pi} f(x) e^{-inx} , dx$$
推导:将正弦和余弦用复指数表示,合并正负频率项。
$$a_n \cos(nx) + b_n \sin(nx) = a_n \frac{e^{inx} + e^{-inx}}{2} + b_n \frac{e^{inx} - e^{-inx}}{2i}$$
$$= \frac{a_n - ib_n}{2} e^{inx} + \frac{a_n + ib_n}{2} e^{-inx}$$
定义 $c_n = \frac{a_n - ib_n}{2}$,则 $c_{-n} = \frac{a_n + ib_n}{2}$。
3.3 复数形式的优点
- 公式更简洁:只需一个求和,一个系数公式
- 对称性好:正负频率自然出现
- 易于推广到傅里叶变换
- 便于计算:复数乘法比三角函数乘法更简单
第四章:从傅里叶级数到傅里叶变换
4.1 非周期函数的挑战
傅里叶级数只能处理周期函数。对于非周期函数,我们需要傅里叶变换。
关键思想:非周期函数可以看作周期趋向无穷大的周期函数。
4.2 傅里叶变换的推导
考虑周期为 $T$ 的函数 $f_T(t)$,其傅里叶级数为:
$$f_T(t) = \sum_{n=-\infty}^{\infty} c_n e^{in\omega_0 t}$$
其中 $\omega_0 = \frac{2\pi}{T}$,系数:
$$c_n = \frac{1}{T} \int_{-T/2}^{T/2} f_T(t) e^{-in\omega_0 t} , dt$$
当 $T \to \infty$ 时,$f_T(t) \to f(t)$(非周期函数),$\omega_0 \to d\omega$(连续频率)。
令 $F(\omega) = T c_n = \int_{-T/2}^{T/2} f_T(t) e^{-i\omega t} , dt$
当 $T \to \infty$ 时:
$$F(\omega) = \int_{-\infty}^{\infty} f(t) e^{-i\omega t} , dt$$
这称为 $f(t)$ 的傅里叶变换。
4.3 傅里叶变换的定义
傅里叶变换(从时域到频域):
$$\mathcal{F}{f(t)} = F(\omega) = \int_{-\infty}^{\infty} f(t) e^{-i\omega t} , dt$$
傅里叶逆变换(从频域到时域):
$$\mathcal{F}^{-1}{F(\omega)} = f(t) = \frac{1}{2\pi} \int_{-\infty}^{\infty} F(\omega) e^{i\omega t} , d\omega$$
频率与角频率:
有时使用频率 $f$(单位:Hz)而非角频率 $\omega$(单位:rad/s):
$$F(f) = \int_{-\infty}^{\infty} f(t) e^{-i2\pi ft} , dt$$
$$f(t) = \int_{-\infty}^{\infty} F(f) e^{i2\pi ft} , df$$
4.4 傅里叶变换的例子
例子1:矩形脉冲
考虑矩形脉冲:
$$f(t) = \begin{cases} 1 & |t| < \tau/2 \ 0 & |t| > \tau/2 \end{cases}$$
傅里叶变换:
$$F(\omega) = \int_{-\tau/2}^{\tau/2} e^{-i\omega t} , dt = \left[ \frac{e^{-i\omega t}}{-i\omega} \right]_{-\tau/2}^{\tau/2} = \frac{2\sin(\omega\tau/2)}{\omega} = \tau \cdot \text{sinc}\left(\frac{\omega\tau}{2}\right)$$
其中 $\text{sinc}(x) = \frac{\sin x}{x}$。
重要结论:时域的矩形脉冲对应频域的 sinc 函数。
例子2:指数衰减
考虑 $f(t) = e^{-at} u(t)$($a > 0$,$u(t)$ 是单位阶跃函数)
$$F(\omega) = \int_{0}^{\infty} e^{-at} e^{-i\omega t} , dt = \int_{0}^{\infty} e^{-(a+i\omega)t} , dt = \frac{1}{a+i\omega}$$
例子3:高斯函数
$f(t) = e^{-\pi t^2}$ 是一个特殊的例子:
$$F(\omega) = e^{-\pi \omega^2}$$
高斯函数的傅里叶变换还是高斯函数!
第五章:傅里叶变换的性质
5.1 线性性
$$\mathcal{F}{af(t) + bg(t)} = aF(\omega) + bG(\omega)$$
证明:
$$\int_{-\infty}^{\infty} [af(t) + bg(t)] e^{-i\omega t} , dt = a\int f(t)e^{-i\omega t}dt + b\int g(t)e^{-i\omega t}dt$$
5.2 时移性质
$$\mathcal{F}{f(t - t_0)} = e^{-i\omega t_0} F(\omega)$$
证明:
$$\int f(t - t_0) e^{-i\omega t} dt = \int f(u) e^{-i\omega(u+t_0)} du = e^{-i\omega t_0} \int f(u) e^{-i\omega u} du$$
物理解释:时域的延迟对应频域的相位偏移。
5.3 频移性质
$$\mathcal{F}{f(t) e^{i\omega_0 t}} = F(\omega - \omega_0)$$
物理解释:时域的调制对应频域的搬移。这是AM广播和无线电通信的基础。
5.4 导数性质
$$\mathcal{F}{f’(t)} = i\omega F(\omega)$$
$$\mathcal{F}{f^{(n)}(t)} = (i\omega)^n F(\omega)$$
证明:
$$\int f’(t) e^{-i\omega t} dt = [f(t)e^{-i\omega t}]_{-\infty}^{\infty} + i\omega\int f(t)e^{-i\omega t}dt$$
假设 $f(t) \to 0$ 当 $|t| \to \infty$,边界项为零。
物理解释:微分在时域对应乘以 $i\omega$ 在频域。
5.5 卷积定理
卷积定义:
$$(f * g)(t) = \int_{-\infty}^{\infty} f(\tau) g(t - \tau) , d\tau$$
时域卷积 ↔ 频域乘积:
$$\mathcal{F}{f * g} = F(\omega) \cdot G(\omega)$$
频域卷积 ↔ 时域乘积:
$$\mathcal{F}{f \cdot g} = \frac{1}{2\pi} F * G(\omega)$$
重要性:卷积定理是傅里叶变换最重要的性质之一,它将复杂的卷积运算转化为简单的乘法运算。
5.6 帕塞瓦尔定理
$$\int_{-\infty}^{\infty} |f(t)|^2 , dt = \frac{1}{2\pi} \int_{-\infty}^{\infty} |F(\omega)|^2 , d\omega$$
物理解释:时域的能量等于频域的能量(能量守恒)。
第六章:离散傅里叶变换(DFT)
6.1 离散化的必要性
在实际应用中,我们无法处理连续信号。计算机只能处理离散数据。
采样:将连续信号 $f(t)$ 在时刻 $t_n = n\Delta t$ 采样,得到离散序列 $f[n] = f(n\Delta t)$。
奈奎斯特-香农采样定理:如果信号带宽有限(最高频率 $f_{\text{max}}$),当采样频率 $f_s > 2f_{\text{max}}$ 时,可以无失真地重建原信号。
6.2 DFT的定义
对于长度为 $N$ 的离散序列 $x[0], x[1], \dots, x[N-1]$,其离散傅里叶变换为:
$$X[k] = \sum_{n=0}^{N-1} x[n] e^{-i\frac{2\pi}{N}nk}, \quad k = 0, 1, \dots, N-1$$
逆变换:
$$x[n] = \frac{1}{N} \sum_{k=0}^{N-1} X[k] e^{i\frac{2\pi}{N}nk}$$
6.3 DFT的频率分辨率
DFT的频率分辨率为:
$$\Delta f = \frac{f_s}{N} = \frac{1}{N\Delta t}$$
$N$ 越大,频率分辨率越高。
6.4 快速傅里叶变换(FFT)
1965年,Cooley和Tukey发表了FFT算法,将DFT的计算复杂度从 $O(N^2)$ 降低到 $O(N\log N)$。
FFT的意义:
- $N = 1024$:$N^2 = 1,048,576$,$N\log_2 N = 10,240$——加速100倍!
- 实时信号处理成为可能
- 推动了数字信号处理的发展
FFT的原理:利用DFT的周期性和对称性,递归地将长序列分解为短序列。
第七章:实际应用案例
7.1 案例一:音频频谱分析
问题:分析一段音频的频率成分
步骤:
- 采样:以 $f_s = 44.1$ kHz采样音频信号
- 加窗:取一小段(如1024个样本),防止频谱泄漏
- FFT:计算该段的频谱
- 可视化:绘制频谱图
代码思路:
import numpy as np
from scipy.fft import fft
# 采样
fs = 44100 # 采样率
t = np.arange(0, 1, 1/fs) # 1秒
signal = np.sin(2*np.pi*440*t) + 0.5*np.sin(2*np.pi*880*t)
# FFT
N = len(signal)
yf = fft(signal)
xf = np.linspace(0, fs/2, N//2)
# 绘制频谱
import matplotlib.pyplot as plt
plt.plot(xf, 2/N * np.abs(yf[:N//2]))
plt.xlabel('Frequency (Hz)')
plt.ylabel('Amplitude')
plt.title('Audio Spectrum')
plt.show()
结果:在440 Hz和880 Hz处出现峰值,分别对应音叉的基频和泛音。
应用:
- 音乐均衡器
- 语音识别
- 乐器调音
7.2 案例二:图像边缘检测
问题:检测图像中的边缘
原理:边缘是图像亮度变化剧烈的地方,对应高频成分。
步骤:
- 2D FFT:对图像进行二维傅里叶变换
- 高通滤波:保留高频成分,滤除低频
- 逆FFT:得到边缘增强后的图像
代码思路:
import numpy as np
import cv2
# 读取图像
img = cv2.imread('image.jpg', 0)
# 2D FFT
f = np.fft.fft2(img)
fshift = np.fft.fftshift(f)
# 高通滤波
rows, cols = img.shape
crow, ccol = rows//2, cols//2
mask = np.ones((rows, cols), np.uint8)
r = 30 # 滤波半径
cv2.circle(mask, (ccol, crow), r, 0, -1)
# 应用滤波
fshift_filtered = fshift * mask
fimg = np.fft.ifftshift(fshift_filtered)
img_filtered = np.abs(np.fft.ifft2(fimg))
# 显示结果
cv2.imshow('Edge Detection', img_filtered)
cv2.waitKey(0)
结果:图像中的边缘被突出显示。
应用:
- 机器视觉
- 医学图像分析
- 自动驾驶
7.3 案例三:音频降噪
问题:消除音频中的背景噪声
原理:噪声通常是宽带的,而语音信号集中在特定频段。
步骤:
- FFT:将音频转换到频域
- 谱减:减去噪声的频谱估计
- 逆FFT:重建降噪后的音频
代码思路:
import numpy as np
from scipy.fft import fft, ifft
# 带噪声的信号
noisy = original + noise
# FFT
Y = fft(noisy)
N = len(Y)
# 估计噪声(取信号开始的一段静音)
noise_fft = fft(noise_segment)
noise_power = np.abs(noise_fft)**2
# 谱减
Y_clean = np.zeros(N, dtype=complex)
for k in range(N):
magnitude = np.abs(Y[k])
if magnitude > np.sqrt(noise_power[k]):
Y_clean[k] = Y[k] * (1 - np.sqrt(noise_power[k])/magnitude)
else:
Y_clean[k] = 0
# 逆FFT
cleaned = np.real(ifft(Y_clean))
应用:
- 语音通话降噪
- 录音后期处理
- 助听器
7.4 案例四:数据压缩
问题:压缩图像或音频数据
原理:大部分信息集中在低频,高频成分可以量化或丢弃。
JPEG压缩步骤:
- 分块:将图像分成8×8的块
- DCT:对每块进行二维离散余弦变换(DFT的变体)
- 量化:对DCT系数进行量化(丢弃高频信息)
- 编码:对量化后的系数进行熵编码
import cv2
import numpy as np
img = cv2.imread('photo.jpg', 0)
rows, cols = img.shape
# 分块并DCT
compressed = np.zeros_like(img, dtype=np.float32)
for i in range(0, rows, 8):
for j in range(0, cols, 8):
block = img[i:i+8, j:j+8].astype(np.float32)
dct_block = cv2.dct(block)
# 量化(简化版)
dct_block[4:8, 4:8] = 0 # 丢弃高频
compressed[i:i+8, j:j+8] = cv2.idct(dct_block)
# 转换为uint8
compressed = np.clip(compressed, 0, 255).astype(np.uint8)
应用:
- JPEG图像压缩
- MP3音频压缩
- 视频压缩
7.5 案例五:通信系统中的调制
问题:如何在有限的频谱内传输更多信息?
**正交频分复用(OFDM)**是现代通信的核心技术。
原理:
- 将高速数据流分成多个低速子流
- 每个子流调制到不同的正交子载波上
- 子载波之间正交(频谱重叠但不干扰)
数学表示:
$$s(t) = \sum_{k=0}^{N-1} c_k e^{i2\pi k \Delta f t}$$
其中 $c_k$ 是复数调制符号(QAM或PSK),$\Delta f$ 是子载波间隔。
应用:
- WiFi(802.11a/g/n/ac/ax)
- 4G/5G移动通信
- 数字电视
7.6 案例六:金融数据分析
问题:发现股票价格中的周期性模式
步骤:
- 收集股票价格时间序列
- 去趋势(去除长期趋势)
- FFT变换
- 分析频谱中的峰值
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# 股票价格数据
df = pd.read_csv('stock.csv')
price = df['Close'].values
# 去趋势
from scipy import signal
detrended = signal.detrend(price)
# FFT
N = len(detrended)
yf = np.fft.fft(detrended)
xf = np.fft.fftfreq(N, 1/252) # 假设每天采样,252个交易日/年
# 只看正频率
pos_mask = xf > 0
plt.plot(xf[pos_mask], np.abs(yf[pos_mask]))
plt.xlabel('Frequency (cycles/year)')
plt.ylabel('Amplitude')
plt.title('Stock Price Cycle Analysis')
plt.show()
结果:频谱中的峰值对应股票价格的周期性波动。
第八章:相关变换
8.1 拉普拉斯变换
傅里叶变换要求函数绝对可积。拉普拉斯变换放宽了这个条件。
定义:
$$F(s) = \int_{0}^{\infty} f(t) e^{-st} , dt$$
其中 $s = \sigma + i\omega$ 是复数频率。
应用:
- 控制系统分析
- 微分方程求解
- 电路分析
8.2 Z变换
Z变换是离散信号的拉普拉斯变换。
定义:
$$X(z) = \sum_{n=-\infty}^{\infty} x[n] z^{-n}$$
应用:
- 数字滤波器设计
- 离散系统分析
8.3 离散余弦变换(DCT)
DCT是实信号的优化版本,只使用余弦函数。
定义:
$$X[k] = \sum_{n=0}^{N-1} x[n] \cos\left[\frac{\pi}{N}(n + \frac{1}{2})k\right]$$
应用:
- JPEG压缩
- MP3压缩
- 视频压缩
结语:数学的力量
傅里叶变换的意义
回顾我们走过的旅程,从三角函数的正交性到傅里叶级数,从傅里叶变换到实际应用,我们见证了数学的力量。
傅里叶变换不仅仅是一个数学工具,更是一种世界观:
- 分解的思维:复杂问题可以分解为简单问题的叠加
- 频率的视角:从频率角度看问题,往往能发现隐藏的规律
- 变换的思想:通过变换,将困难的问题变得简单
从傅里叶到小波
傅里叶变换的局限是:它只能告诉我们"有哪些频率",不能告诉我们"这些频率在什么时候出现"。
小波变换(Wavelet Transform)解决了这个问题,它同时具有时间和频率的分辨率。
给读者的话
如果你读到这里,恭喜你!你已经掌握了傅里叶分析的基本概念。
傅里叶变换是现代工程和科学的基石。从音乐到医学,从通信到金融,它无处不在。
当你下次听音乐、拍照、使用手机时,请记住:这些技术的背后,都有傅里叶变换在默默地工作。
附录:重要公式汇总
傅里叶级数
周期为 $2\pi$ 的函数:
$$f(x) = \frac{a_0}{2} + \sum_{n=1}^{\infty} [a_n \cos(nx) + b_n \sin(nx)]$$
$$a_n = \frac{1}{\pi} \int_{-\pi}^{\pi} f(x) \cos(nx) , dx$$ $$b_n = \frac{1}{\pi} \int_{-\pi}^{\pi} f(x) \sin(nx) , dx$$
复数形式:
$$f(x) = \sum_{n=-\infty}^{\infty} c_n e^{inx}$$
$$c_n = \frac{1}{2\pi} \int_{-\pi}^{\pi} f(x) e^{-inx} , dx$$
傅里叶变换
连续时间傅里叶变换(CTFT):
$$F(\omega) = \int_{-\infty}^{\infty} f(t) e^{-i\omega t} , dt$$
$$f(t) = \frac{1}{2\pi} \int_{-\infty}^{\infty} F(\omega) e^{i\omega t} , d\omega$$
离散傅里叶变换(DFT)
$$X[k] = \sum_{n=0}^{N-1} x[n] e^{-i\frac{2\pi}{N}nk}$$
$$x[n] = \frac{1}{N} \sum_{k=0}^{N-1} X[k] e^{i\frac{2\pi}{N}nk}$$
傅里叶变换性质
| 性质 | 时域 | 频域 |
|---|---|---|
| 线性 | $af(t) + bg(t)$ | $aF(\omega) + bG(\omega)$ |
| 时移 | $f(t - t_0)$ | $e^{-i\omega t_0}F(\omega)$ |
| 频移 | $f(t)e^{i\omega_0 t}$ | $F(\omega - \omega_0)$ |
| 微分 | $f’(t)$ | $i\omega F(\omega)$ |
| 卷积 | $f * g(t)$ | $F(\omega)G(\omega)$ |
| 乘积 | $f(t)g(t)$ | $\frac{1}{2\pi}F * G(\omega)$ |
常见傅里叶变换对
| 信号 | 傅里叶变换 |
|---|---|
| $\delta(t)$ | $1$ |
| $1$ | $2\pi\delta(\omega)$ |
| $e^{i\omega_0 t}$ | $2\pi\delta(\omega - \omega_0)$ |
| $\cos(\omega_0 t)$ | $\pi[\delta(\omega - \omega_0) + \delta(\omega + \omega_0)]$ |
| $\text{rect}(t/\tau)$ | $\tau\text{sinc}(\omega\tau/2)$ |
| $e^{-at}u(t)$ $(a>0)$ | $\frac{1}{a+i\omega}$ |
| $e^{-\pi t^2}$ | $e^{-\pi \omega^2}$ |
本文旨在为有一定数学基础的读者提供傅里叶分析的入门导引。更深入的学习建议参考专业教材,如 Oppenheim 的《Signals and Systems》、Bracewell 的《The Fourier Transform and Its Applications》等。
