《数字信号处理》学习笔记

《数字信号处理》学习笔记

与数字信号处理相关的数学知识集中于傅里叶分析,学起来美哉美哉

此笔记命名为《傅里叶分析基础入门》也不为过

1 向量空间与内积

傅里叶分析的核心理念源于线性代数中的向量分解思想

1.1 向量的分解与坐标

这部分由高中的向量知识衔接。

• 问题:如何将向量 \(\vec{a}\) "分解"到 \(\vec{b}\) 的方向上?

• 方法:计算 \(\vec{a}\) 在 \\vec{b} 方向上的投影坐标。

• 公式推导:

  1. 向量投影的几何定义:\(\vec{a}\) 在 \(\vec{b}\) 上的投影长度(标量)为 \(|\vec{a}|\cos\theta。\)

  2. 单位向量:\(\vec{b}\) 方向上的单位向量为 \(\hat{b} = \frac{\vec{b}}{|\vec{b}|}。\)

  3. 投影向量:

    \\\text{proj}_{\\vec{b}} \\vec{a} = (\|\\vec{a}\|\\cos\\theta) \\hat{b} = \\frac{\|\\vec{a}\|\|\\vec{b}\|\\cos\\theta}{\|\\vec{b}\|\^2} \\vec{b}。 \\

  4. 投影坐标:即投影向量相对于 \(\vec{b}\) 的缩放倍数。

\A_{b} = \\frac{\|\\vec{a}\|\|\\vec{b}\|\\cos\\theta}{\|\\vec{b}\|\^2} = \\frac{\\langle \\vec{a}, \\vec{b} \\rangle}{\\langle \\vec{b}, \\vec{b} \\rangle} 其中,\\langle \\vec{a}, \\vec{b} \\rangle = \|\\vec{a}\|\|\\vec{b}\|\\cos\\theta \\

此时,\(\vec{a}\) 在 \(\vec{b}\) 方向上的分解可表示为 \(\vec{a} = A_b \vec{b} + \vec{a}_{\perp}\),其中 \\vec{a}_{\\perp} 与 \(\vec{b}\) 正交,也就是垂直的意思。

1.2 从离散向量到连续函数

我们可以用多维正交基来表示多维向量。

设 f(x) 为二维连续函数。

如果我们把自变量 x 看作 n 维正交基的索引 n ,则 f(x)=f(1),f(2),...,f(n)和正交基底{\(v_{1}\),\(v_{2}\),\(v_{3}\)...\(v_{n}\)}相对应,可以将 f(x) 看作一个特殊的 n 维向量。

• 内积的推广:

◦ 离散(n维向量):

\\\langle \\vec{f}, \\vec{g} \\rangle = \\sum_{i=1}\^{n} f_i g_i \\

◦ 连续(函数):当 \(n \to \infty,\Delta x \to 0\),求和变为积分。

\\\langle f(x), g(x) \\rangle = \\int_{a}\^{b} f(x)g(x) dx \\

这里的积分就是无限维空间中的内积

函数可以看作是无限维空间中的向量。 对函数的分析可以类比为在无限维空间中寻找它在某组基函数上的坐标。


2 傅里叶级数:周期信号的三角分解

2.1 基本定义与公式

对于一个周期为 T,满足狄利克雷(Dirichlet)条件的周期信号 f(t),它可以分解为:

\f(t) = \\frac{a_0}{2} + \\sum_{k=1}\^{\\infty} \\left\[ a_k \\cos(k\\omega t) + b_k \\sin(k\\omega t) \\right \]

其中,基波角频率 \\omega = \\frac{2\\pi}{T},基波频率 \(f = \frac{1}{T}\)。

这就是傅里叶级数。

系数计算公式的推导:

其理论根基是三角函数集正交性

三角函数集:{\(1,\cos x,\sin x,\cos 2x,\sin 2x...,\cos nx,\sin nx\)}

  1. 在区间 \(-\\frac{T}{2}, \\frac{T}{2}\)(或任意长度为 T 的区间)上,可推出以下式子:

\\\begin{aligned} \&\\int_{-T/2}\^{T/2} \\cos(m\\omega t) \\cos(n\\omega t) dt = \\begin{cases} 0, \& m \\ne n \\\\ \\frac{T}{2}, \& m = n \\neq 0 \\\\ T, \& m = n = 0 \\end{cases} \\\\ \&\\int_{-T/2}\^{T/2} \\sin(m\\omega t) \\sin(n\\omega t) dt = \\begin{cases} 0, \& m \\ne n \\\\ \\frac{T}{2}, \& m = n \\neq 0 \\end{cases} \\\\ \&\\int_{-T/2}\^{T/2} \\cos(m\\omega t) \\sin(n\\omega t) dt = 0, \\quad \\text{对所有 } m, n \\end{aligned} \\

​ 所以三角函数集的正交性得证。

  1. 求解系数 \(a_k\):

    \(a_k\) 的本质上是信号 f(t) 在各个不同的余弦信号上的投影值。

\a_k = \\frac{2}{T} \\int_{-T/2}\^{T/2} f(t) \\cos(k\\omega t) dt, \\quad k=1,2,3,... \\

​ 用内积来计算 \(a_k\) :

\a_k=\\frac{\}{\<\\cos (k\\omega t),\\cos (k\\omega t)\>}=\\frac{\\int\^{T/2}_{-T/2}f(t)\\cos (k\\omega t)}{\\int\^{T/2}_{-T/2}\\cos (k\\omega t)\\cos (k\\omega t)}=\\frac{\\int\^{T/2}_{-T/2}f(t)\\cos (k\\omega t)}{\\frac{T}{2}}=\\frac{2}{T} \\int_{-T/2}\^{T/2} f(t) \\cos(k\\omega t) dt \\

  1. 求解系数 \(b_k\):

◦ 方法同上

\\\int_{-T/2}\^{T/2} f(t) \\sin(k\\omega t) dt = b_k \\cdot \\frac{T}{2} \\

◦ 解得:

\b_k = \\frac{2}{T} \\int_{-T/2}\^{T/2} f(t) \\sin(k\\omega t) dt, \\quad k=1,2,3,... \\

2.2 利用辅助角公式化简傅里叶级数

将同频率的正余弦项合并,便于观察振幅和相位:

\a_k \\cos(k\\omega t) + b_k \\sin(k\\omega t) = A_k \\cos(k\\omega t + \\varphi_k) \\

推导:

令 \(A_k = \sqrt{a_k^2 + b_k^2}\),并设 \(\cos\varphi_k = \frac{a_k}{A_k}\), \\sin\\varphi_k = -\\frac{b_k}{A_k},则 \(\varphi_k = -\arctan\left(\frac{b_k}{a_k}\right)\)。

代入展开:

\\\begin{aligned} A_k \\cos(k\\omega t + \\varphi_k) \&= A_k\[\\cos(k\\omega t)\\cos\\varphi_k - \\sin(k\\omega t)\\sin\\varphi_k \\ &= \cos(k\omega t) \cdot A_k\cos\varphi_k - \sin(k\omega t) \cdot A_k\sin\varphi_k \\ &= \cos(k\omega t) \cdot a_k - \sin(k\omega t) \cdot (-b_k) \\ &= a_k \cos(k\omega t) + b_k \sin(k\omega t) \end{aligned} \]

\(A_k\) 是第 k 次谐波分量的振幅,\(\varphi_k\) 是其初始相位。


3 傅里叶级数的复指数形式

3.1 欧拉公式与复指数信号

欧拉公式: e\^{j\\theta} = \\cos\\theta + j\\sin\\theta ,其中 \(j=\sqrt{-1}\)。

由此可得:

\\\cos\\theta = \\frac{e\^{j\\theta} + e\^{-j\\theta}}{2}, \\quad \\sin\\theta = \\frac{e\^{j\\theta} - e\^{-j\\theta}}{2j} \\

复指数信号的性质:

• 相乘:\(e^{j\alpha} \cdot e^{j\beta} = e^{j(\alpha+\beta)}\),可得出两个复指数信号相乘等于旋转角度相加

• 与共轭信号相乘:\(e^{j\omega t} \cdot e^{-j\omega t} = e^{0} = 1\),可得到直流信号

3.2 复指数形式的推导

  1. 将复指数的欧拉公式代入傅里叶级数,可替换 \(\cos (kwt)\) 和 \(\sin (kwt)\),得到下式

\\\begin{aligned} f(t) \&= \\frac{a_0}{2} + \\sum_{k=1}\^{\\infty} \\left\[ a_k \\frac{e\^{jk\\omega t}+e\^{-jk\\omega t}}{2} + b_k \\frac{e\^{jk\\omega t}-e\^{-jk\\omega t}}{2j} \\right \\ &= \frac{a_0}{2} + \sum_{k=1}^{\infty} \left( \frac{a_k - jb_k}{2} \right) e^{jk\omega t} + \sum_{k=1}^{\infty} \left( \frac{a_k + jb_k}{2} \right) e^{-jk\omega t} \end{aligned} \]

  1. 进一步化简:

◦ 令 \(c_0 = \frac{a_0}{2}\)。

◦ 令 \(c_k = \frac{a_k - jb_k}{2}\),其中 k=1,2,3,...。

◦ 对于 k=-1,-2,-3,...,令 \(c_k = \frac{a_{|k|} + jb_{|k|}}{2}\),即 \(c_{-k} = c_k^*\)(共轭对称)。

◦ 则上式可简洁地写为:

\f(t) = \\sum_{k=-\\infty}\^{\\infty} c_k e\^{j k \\omega t} \\

  1. 复系数 \(c_k\) 的推导:

◦ 复函数内积定义:

\\\langle f(t), g(t) \\rangle = \\frac{1}{T} \\int_{-T/2}\^{T/2} f(t) g\^\*(t) dt \\

◦ 复指数信号集的正交性:对于集合 { e\^{jk\\omega t} }_{k=-\\infty}\^{\\infty}

\\\langle e\^{jm\\omega t}, e\^{jn\\omega t} \\rangle = \\frac{1}{T} \\int_{-T/2}\^{T/2} e\^{jm\\omega t} (e\^{jn\\omega t})\^\* dt = \\frac{1}{T} \\int_{-T/2}\^{T/2} e\^{j(m-n)\\omega t} dt = \\begin{cases} 0, \& m \\ne n \\\\ 1, \& m = n \\end{cases} \\

◦ 投影求系数:在 \(f(t) = \sum_{n=-\infty}^{\infty} c_n e^{jn\omega t}\) 两边,对 \(e^{jk\omega t}\) 做内积:

\c_k = \\frac{\\langle f(t), e\^{jk\\omega t} \\rangle }{ \\langle e\^{jk\\omega t} , e\^{jk\\omega t} \\rangle}= \\frac{\\int_{-T/2}\^{T/2}f(t)e\^{-jk\\omega t}}{\\int_{-T/2}\^{T/2}e\^{jk\\omega t}e\^{-jk\\omega t}}=\\frac{1}{T} \\int_{-T/2}\^{T/2} f(t) e\^{-jk\\omega t} dt \\


4 从傅里叶级数到傅里叶变换

4.1 核心思想:将周期 T \(\to \infty\)

如何在非周期信号与周期信号之间搭建桥梁呢?只要把T视为无穷大就好啦!

非周期信号可以看作是周期 T \(\to \infty\) 的周期信号。

• 周期信号:频谱 \(c_k\) 是离散的,谱线间隔 \(\Delta \omega = \omega_0 = \frac{2\pi}{T}\)。

• 当 T \(\to \infty\):\(\omega_0 \to 0\),离散谱线间距趋近于0,从而演变为连续谱。

4.2 数学推导

  1. 从复指数级数出发:

\f_T(t) = \\sum_{k=-\\infty}\^{\\infty} c_k e\^{j k \\omega_0 t}, \\quad c_k = \\frac{1}{T} \\int_{-T/2}\^{T/2} f_T(t) e\^{-j k \\omega_0 t} dt (这里用 f_T(t) 强调其为周期信号)。 \\

  1. 定义频谱密度函数:

观察 \(c_k\),其幅度随 T 增大而减小。为了得到一个有限的量,定义:

\F(k\\omega_0) = T \\cdot c_k = \\int_{-T/2}\^{T/2} f_T(t) e\^{-j k \\omega_0 t} dt \\

\(F(k\omega_0)\) 的量纲是"幅度/频率",称为频谱密度。

  1. 代入并取极限:

\f_T(t) = \\sum_{k=-\\infty}\^{\\infty} \\frac{F(k\\omega_0)}{T} e\^{j k \\omega_0 t} = \\frac{1}{2\\pi} \\sum_{k=-\\infty}\^{\\infty} F(k\\omega_0) e\^{j k \\omega_0 t} \\cdot \\omega_0 \\

其中,\(\frac{1}{T} = \frac{\omega_0}{2\pi}\)

  1. 令 T \(\to \infty\):

◦ \(\omega_0 = \Delta \omega \to 0\)。

◦ 离散变量 k\\omega_0 趋近于连续变量 \(\omega\),将求和 \(\sum\) 变为积分 \(\int\),F(\(k\omega_0\)) 演变为连续函数 F(\(\omega\))。

得出傅里叶变换

​ ▪ 正变换(分析方程):

\F(\\omega) = \\lim_{T\\to\\infty} F(k\\omega_0) = \\int_{-\\infty}\^{\\infty} f(t) e\^{-j\\omega t} dt \\

​ ▪ 逆变换(综合方程):

\f(t) = \\lim_{\\omega_0\\to 0} \\frac{1}{2\\pi} \\sum_{k=-\\infty}\^{\\infty} F(k\\omega_0) e\^{j k \\omega_0 t} \\omega_0 = \\frac{1}{2\\pi} \\int_{-\\infty}\^{\\infty} F(\\omega) e\^{j\\omega t} d\\omega \\

离散的傅里叶级数,自然地推广为连续的傅里叶变换。

\(F(\omega)\) 是频谱密度,\(|F(\omega)|\) 描述的是单位频宽内的振幅。


5 卷积、冲激响应与滤波器初步

5.1 卷积的定义与计算

• 连续卷积的定义

\(f \* g)(t) = \\int_{-\\infty}\^{\\infty} f(\\tau) g(t - \\tau) d\\tau \\

这就是平移法:将函数 g 翻转(\(g(\tau) \to g(-\tau)\))、平移(\(g(-\tau) \to g(t-\tau)\)),然后与 f 逐点相乘并积分。

它表征系统对输入信号的加权叠加效应。

5.2 单位冲激函数 δ(t) 及其性质

• 定义:

\\\delta(t) = \\begin{cases} +\\infty, \& t=0 \\\\ 0, \& t \\neq 0 \\end{cases},且 \\int_{-\\infty}\^{\\infty} \\delta(t) dt = 1。 \\

• 采样性质:

\\\int_{-\\infty}\^{\\infty} f(t) \\delta(t - t_0) dt = f(t_0) \\

由于 \(\delta(t-t_0)\) 只在 \(t=t_0\) 处有非零贡献,且积分为1,故积分结果就是 \(f(t_0)\) 乘以1

• 任意信号的冲激表示:

\f(t) = \\int_{-\\infty}\^{\\infty} f(\\tau) \\delta(t - \\tau) d\\tau \\

这表示任意信号 f(t) 可以分解为无数个不同位置、不同强度的冲激函数的叠加。

5.3 时域卷积定理的详细证明

定理:若 \(f_1(t) \Leftrightarrow F_1(\omega)\), \(f_2(t) \Leftrightarrow F_2(\omega)\),则 f_1(t) \* f_2(t) \\Leftrightarrow F_1(\\omega) \\cdot F_2(\\omega)

证明:

对卷积结果做傅里叶变换:

\\\begin{aligned} \\mathcal{F}\\{ f_1(t) \* f_2(t) \\} \&= \\int_{-\\infty}\^{\\infty} \\left\[ \\int_{-\\infty}\^{\\infty} f_1(\\tau) f_2(t - \\tau) d\\tau \\right e^{-j\omega t} dt \\ &= \int_{-\infty}^{\infty} f_1(\tau) \left \\int_{-\\infty}\^{\\infty} f_2(t - \\tau) e\^{-j\\omega t} dt \\right d\tau \quad \text{(交换积分次序)} \\ &= \int_{-\infty}^{\infty} f_1(\tau) \left e\^{-j\\omega \\tau} \\int_{-\\infty}\^{\\infty} f_2(u) e\^{-j\\omega u} du \\right d\tau \quad \text{(令 u = t - \\tau)} \\ &= \int_{-\infty}^{\infty} f_1(\tau) e^{-j\omega \tau} F_2(\omega) d\tau \quad \text{(内层积分正是 F_2(\\omega))} \\ &= F_2(\omega) \int_{-\infty}^{\infty} f_1(\tau) e^{-j\omega \tau} d\tau \\ &= F_2(\omega) \cdot F_1(\omega) \end{aligned} \]

证毕。

5.4 滤波器设计概念与例子

问题:滤除信号 f(t) = 0.5 + \\sqrt{2}\\cos(\\omega t - \\frac{\\pi}{4}) + 0.127\\cos(5\\omega t) 中的高频分量 \(0.127\cos(5\omega t)\)。

基于时域卷积定理,可以得到以下的设计方法:

  1. 系统视角:一个线性时不变系统由冲激响应 h(t) 或其频率响应 \(H(\omega) = \mathcal{F}\{h(t)\}\) 完全描述。

  2. 滤波即卷积:让信号 f(t) 通过该系统,输出 y(t) = f(t) * h(t)。

  3. 频域操作:根据时域卷积定理,\(Y(\omega) = F(\omega) \cdot H(\omega)\)。

◦ \(F(\omega)\) 是输入信号的频谱。

◦ 若要滤除 \(5\omega\) 分量,只需设计 \(H(\omega)\),使得在 \(\omega = 5\omega_0\) 处,\(H(5\omega_0) = 0\)(或接近0);

​ 在 \(\omega = \omega_0\) 和 \(\omega = 0\)(直流)处,\(H(\omega) = 1\)(或接近1)。

  1. 实现:

◦ 频域法:直接计算 \(F(\omega)\),乘以设计好的 \(H(\omega)\),再做逆傅里叶变换得到 y(t)。

◦ 时域法:根据设计的 \(H(\omega)\),通过逆傅里叶变换求出对应的 h(t),然后计算时域卷积 y(t) = f(t) * h(t)。

🛠️ 总结:整个傅里叶分析的理论体系,为信号处理(如滤波)提供了强大而清晰的数学工具。从几何直观的向量分解,到严谨的傅里叶变换,再到实用的卷积定理,构成了一个完美自洽的理论闭环。