跳转至
\[ \newcommand{\bs}{\boldsymbol} \newcommand{\bsX}{\boldsymbol{X}} \newcommand{\bf}{\mathbf} \newcommand{\msc}{\mathscr} \newcommand{\mca}{\mathcal} \newcommand{\T}{\text{T}} \newcommand{\rme}{\mathrm{e}} \newcommand{\rmi}{\mathrm{i}} \newcommand{\rmj}{\mathrm{j}} \newcommand{\rmd}{\mathrm{d}} \newcommand{\rmm}{\mathrm{m}} \newcommand{\rmb}{\mathrm{b}} \newcommand{\and}{\land} \newcommand{\or}{\lor} \newcommand{\exist}{\exists} \newcommand{\sube}{\subseteq} \newcommand{\lr}[3]{\left#1 #2 \right#3} \newcommand{\intfy}{\int_{-\infty}^{+\infty}} \newcommand{\sumfy}[1]{\sum_{#1=-\infty}^{+\infty}} \newcommand{\vt}{\vartheta} \newcommand{\ve}{\varepsilon} \newcommand{\vp}{\varphi} \newcommand{\Var}{\text{Var}} \newcommand{\Cov}{\text{Cov}} \newcommand{\edef}{\xlongequal{def}} \newcommand{\prob}{\text{P}} \newcommand{\Exp}{\text{E}} \newcommand{\t}[1]{\text#1} \newcommand{\N}{\mathbb{N}} \newcommand{\Z}{\mathbb{Z}} \newcommand{\Q}{\mathbb{Q}} \newcommand{\R}{\mathbb{R}} \newcommand{\C}{\mathbb{C}} \newcommand{\versionofnewcommand}{\text{260125}} \]

Sampling 采样

真实的世界是连续的, 数字只是人类的智力活动. 欲利用数字技术刻画真实世界, 一定要涉及的话题是 "采样".

\[ \begin{aligned} x(t) &\leftrightarrow x(n)\\ x(j\Omega) &\leftrightarrow x(e^{j\omega})\\ X(j\Omega) &=\int_{-\infty}^{+\infty}X(t)\exp(-j\Omega t)\ dt\\ X(e^{j\omega}) &=\sum_{k=-\infty}^{+\infty}X(k)=\exp(-j\omega k) \end{aligned} \]

假如现在在时域上, 我们进行周期采样, 时间间隔为 \(T\). 在实践中, 我们不可能在无穷小的时间内确定某个点上的精确值, 因此采样也分为理想和非理想的. 不过, 现在我们先假设采样都是理想的. 那么, 采样到的离散信号可以记为

\[ x(n)=x(nT) \]

现在, 我们想寻求频域上连续与离散的联系. 但一个是积分, 一个是求和, 该如何操作? 考虑引入一个中间状态:

\[ x_s(t)=x_c(t)\cdot\sum_{k=-\infty}^{+\infty}\delta(t-kT) \]

该中间状态 \(x_s(t)\) 仍然是个连续信号, 但同时也体现了离散的采样. \(\delta\) 函数的累加意味着采样信号, 与原始连续信号 \(x_c(t)\) 相乘则是对采样信号进行调制, 调制的幅度由连续信号在采样点上的取值决定.

进一步地,

\[ \begin{aligned} x_s(t)=&\sum_{k=-\infty}^{+\infty}x_c(t)\cdot\delta(t-kT)\\ =&\sum_{k=-\infty}^{+\infty}x_c(kT)\cdot\delta(t-kT) \end{aligned} \]

若想探究频域上的样子, 考虑到时域上相乘则频域上卷积, 就要分别研究 \(x_c(kT)\)\(\delta(t-kT)\) 在频域上的模样. 然而 \(\delta\) 是个广义函数. 但没关系, 我们这样看:

\[ \begin{aligned} g(t) &\edef\sum_{k=-\infty}^{+\infty}\delta(t-kT)\\ g(t) &=g(t+T),\forall t \end{aligned} \]

对于周期函数, 我们可以进行傅里叶展开:

$$ \begin{aligned} g(t)&=\sum_{k=-\infty}^{+\infty} \alpha_k\exp(j\frac{2\pi k}{T}t)\ \alpha_k&=\frac{1}{T}\int_{-\frac{T}{2}}^{\frac{T}{2}}g(t)\exp(-j\frac{2\pi k}{T}t)\ dt\

&=\frac{1}{T}\int_{-\frac{T}{2}}^{\frac{T}{2}}\sum_{n=-\infty}^{+\infty}\delta(t-nT)\exp(-j\frac{2\pi k}{T}t)\ dt \end{aligned} $$

对于 \(\sum_{n=-\infty}^{+\infty}\delta(t-nT)\), 只有 \(n=0\) 时的 \(\delta\) 落在积分限 \((-\frac{T}{2},\frac{T}{2})\) 内, 因此:

\[ \begin{aligned} \alpha_k &= \frac{1}{T}\int_{-\frac{T}{2}}^{\frac{T}{2}} \delta(t)\exp(-j\frac{2\pi k}{T}t)\ dt\\ &=\frac{1}{T}\cdot \left(\exp(-j\frac{2\pi k}{T}t)\right)\Bigg|_{t=0}\\ &=\frac{1}{T} \end{aligned} \]

于是有:

\[ g(t)=\sum_{k=-\infty}^{+\infty}\delta(t-kT)=\frac{1}{T}\sum_{k=-\infty}^{+\infty}\exp(j\frac{2\pi k}{T}t) \]

由于复指数的傅里叶变换有如下结论:

\[ \mathcal{F}(\exp(j\omega_k t))=2\pi\delta(\omega-\omega_k) \]

即, 复指数与 \(\delta\) 互为傅里叶变换对. 于是:

\[ \begin{aligned} \hat{g}(j\Omega)&=\frac{2\pi}{T}\sum_{k=-\infty}^{+\infty}\delta(\Omega-\frac{2k\pi}{T})\\ &=\frac{2\pi}{T}\sum_{k=-\infty}^{+\infty}\delta(\Omega-k\Omega_s), \quad\Omega_s=\frac{2\pi}{T} \end{aligned} \]

接下来, 可以作卷积了.

\[ \begin{aligned} X_s(j\Omega)=&\ \frac{1}{2\pi}X_c(j\Omega)*\hat{g}(j\Omega)\\ =&\ \frac{1}{2\pi}X_c(j\Omega)* \left( \frac{2\pi}{T}\sum_{k=-\infty}^{+\infty}\delta(\Omega-k\Omega_s) \right)\\ =&\ \frac{1}{T}\sum_{k=-\infty}^{+\infty}X_c(j(\Omega-k\Omega_s)) \end{aligned} \]

这其实是一步 频谱搬移, Spectrum Shifting. 这相当于在图像上把频谱搬移了 \(k\Omega_s\) 距离. 因此可以说, 频谱搬移等价于离散采样.

注意, \(\Omega_s\) 是采样频率, 因此通过调整采样频率, 可以让频谱搬移后的结果在图像上 "分的足够开", 因为这显然是一个很好的性质, 例如可以建立原始信号到搬移结果的一一对应. 不过, 这一定就要对原始信号的频谱带宽作限制, 否则无论搬移多远都会产生重合, 从而在反映原始频谱时出现 Loss. 假设 单边带宽 Single-Side Bandwidth\(\Omega_c\) 那么, 采样频率具体要满足什么要求呢? 为了保证不重合, 一定有:

\[ \Omega_s\geq 2\Omega_c \]

此即 Nyquist 采样定理.

同时, 采样频率足够大, 意味着采样间隔足够宽, 那么反映信号在时域上的信息必然有许多 Loss. 另外, 如果带宽无限, 即原始信号的波动要多密集有多密集, 那么无论多短的采样间隔总是会产生 Loss. 这样来看, 时域上的 Loss 与频域上的 Loss 具有某种一致性.

好, 现在既然已经通过约束采样频率, 把一系列频谱图搬开了. 那么, 如何得到原始信号的频谱呢? 很简单! 通过一个低通滤波, 把最中间, 即 \(y\) 轴上 \(k=0\) 时的那个图滤出来就好了!

\[ \begin{aligned} X_r(j\Omega) &=H_r(j\Omega)\cdot X_s(j\Omega)\\ H_r(j\Omega) &= \begin{cases} 1& |\Omega|\leq \Omega_r\\ 0& others \end{cases} \end{aligned} \]

其中,

\[ \Omega_c\leq \Omega_r\leq\Omega_s-\Omega_c \]

这样就有

\[ X_r(j\Omega)=X_c(j\Omega) \]

接下来, 从 \(X_s(j\Omega)\)\(x(s)\) 的关联本身来看 \(X_s(j\Omega)\)

\[ \begin{aligned} X_s(j\Omega)&=\int_{-\infty}^{+\infty}x_s(t)\exp(-j\Omega t)\ dt\\ &= \int_{-\infty}^{+\infty}(\sum_{k=-\infty}^{+\infty}x_c(kT)\cdot\delta(t-kT))\exp(-j\Omega t)\ dt\\ &= \sum_{k=-\infty}^{+\infty}x_c(kT)\int_{-\infty}^{+\infty}\delta(t-kT)\exp(-j\Omega t)\ dt\\ &= \sum_{k=-\infty}^{+\infty}x_c(kT)\exp(-j\Omega(kT)) \end{aligned} \]

同时, 对于离散信号有

\[ X(e^{j\omega})=\sum_{k=-\infty}^{+\infty}x(k)\exp(-j\omega k) \]

容易发现,

\[ x_c(kT)=x(k)\\ \]

而如果:

\[ \Omega=\frac{\omega}{T} \]

则显然就有:

\[ \begin{aligned} X(e^{j\omega})&=X_s(j\frac{\omega}{T})\\ \Rightarrow X(e^{j\omega})&=\frac{1}{T}\sum_{k=-\infty}^{+\infty}X_c\left(j(\frac{\omega}{T}-k\frac{\omega_s}{T})\right) \end{aligned} \]

这样, 就实现了连续信号到离散信号的转变. 这里值得再强调一下, 频谱搬移等价于离散采样. 这是本节最重要的思想观念.

另外, 反过来也成立. 在时域上进行 "搬移", 或者说周期延拓, 也等价于在频域上离散采样. 即 一个域上搬移等价于另一个域上采样

最后, 我们再讨论一个事. 如果已知采样 \(x_c(kT)\) 结果, 能否复原出原始信号 \(x_c(t)\)? 当然可以! \(x_c(kT)\) 不就是离散的 \(x(k)\) 嘛. 既然采样后的频谱是原始信号频谱搬移的结果, 那么通过一个低通滤波器 \(H_r\) 处理就很容易还原出 \(x_c(t)\) 了. 只不过在时域上计算时, 仍然要请出那个兼有离散性质的连续函数 \(x_s(t)\) 来代替 \(x(k)\).

\[ \begin{aligned} x_c(t)=&h_r(t)* x_s(t)\\ =& h_r(t)* \left(\sum_{k=-\infty}^{+\infty}x_c(kT)\cdot\delta(t-kT)\right)\\ =& \sum_{k=-\infty}^{+\infty}x_c(kT)\cdot (h_r(t)*\delta(t-kT))\\ =& \sum_{k=-\infty}^{+\infty}x_c(kT)\cdot h_r(t-kT) \end{aligned} \]

其中,

\[ \begin{aligned} h_r(t)=&\frac{1}{2\pi}\int_{-\infty}^{+\infty}H_r(j\Omega)\exp(j\Omega t)\ d\Omega\\ =&\frac{1}{2\pi}\int_{-\Omega_r}^{\Omega_r}\exp(j\Omega t)\ d\Omega\\ =&\frac{1}{2\pi}\int_{-\Omega_r}^{\Omega_r}\cos(\Omega t)\ d\Omega\\ =&\frac{1}{2\pi}\frac{\sin(\Omega t)}{t}\Bigg|_{-\Omega_r}^{\Omega_r}\\ =&\frac{1}{\pi}\frac{\sin(\Omega_rt)}{t} \end{aligned} \]

我们可以说, 采样实际上就是在做插值 (Interpolation). 插值的基是一个 \(Sa\) 函数 \(h_r(t)\).

另外, 我们也可以说, 采样是在做展开. 这一观念有助于研究非周期信号. 周期信号中, 展开的基是 \(Sa\) 函数, 非周期信号展开用的基则是别的函数了.

Poisson Summation Formula

这里, 对 "时域上搬移等效于频域上采样" 作严格说明:

\(f(t)\) 周期延拓的结果为 \(g(t)\)

\[ \sum_{k=-\infty}^{+\infty}f(t+kT)=g(t)=g(t+kT) \]

对周期函数 \(g(t)\) 进行傅里叶展开

$$ g(t)=\sum_{n=-\infty}^{+\infty}\alpha_n\exp(j\frac{2\pi n}{T}t)\

\begin{aligned} \alpha_n=&\frac{1}{T}\int_{-\frac{\pi}{2}}^{\frac{\pi}{2}} G(t)\exp(-j\frac{2\pi n}{T}t)\ dt\ =&\frac{1}{T}\int_{-\frac{T}{2}}^{\frac{T}{2}} \sum_{k=-\infty}^{+\infty} f(t+kT)\exp(-j\frac{2\pi n}{T}t)\ dt\ =&\frac{1}{T}\sum_{k=-\infty}^{+\infty}\int_{-\frac{T}{2}}^{\frac{T}{2}} f(t+kT)\exp(-j\frac{2\pi n}{T}t)\ dt\ =&\frac{1}{T}\sum_{k=-\infty}^{+\infty}\int_{kT-\frac{T}{2}}^{kT+\frac{T}{2}} f(t^\prime)\exp(-j\frac{2\pi n}{T}(t^\prime-kT))\ dt^\prime\ =&\frac{1}{T}\sum_{k=-\infty}^{+\infty}\int_{kT-\frac{T}{2}}^{kT+\frac{T}{2}} f(t^\prime)\exp(-j\frac{2\pi n}{T}t^\prime)\ dt^\prime\ =&\frac{1}{T}\int_{-\infty}^{+\infty}f(t^\prime)\exp(-j\frac{2\pi n}{T}t^\prime)\ dt^\prime\ =&\frac{1}{T}\mathcal{F}(f(\frac{2\pi n}{T}))\ \end{aligned} $$

那么就有

\[ \begin{aligned} g(t)=&\ \frac{1}{T}\sum_{n=-\infty}^{+\infty}F(\frac{2\pi n}{T})\exp(j\frac{2\pi n}{T}t)\\ G(j\Omega)=&\ \int_{-\infty}^{+\infty}g(t)\exp(-j\Omega t)\ dt\\ =&\ \int_{-\infty}^{+\infty}\frac{1}{T}\sum_{n=-\infty}^{+\infty}F(\frac{2\pi n}{T})\exp(j\frac{2\pi n}{T}t)\exp(-j\Omega t)\ dt\\ =&\ \frac{1}{T}\sum_{n=-\infty}^{+\infty}F(\frac{2\pi n}{T})\int_{-\infty}^{+\infty}\exp(j\frac{2\pi n}{T}t)\exp(-j\Omega t)\ dt\\ =&\ \frac{1}{T}\sum_{n=-\infty}^{+\infty}F(\frac{2\pi n}{T})\delta(\Omega-\frac{2\pi n}{T}) \end{aligned} \]

这一串的 \(\delta\) 不就是在采样嘛, 而且采样的幅度就是 \(f\) 在频域上的对应的值 \(F\).

该公式也被称为 泊松求和公式 Poisson Summation Formula, 在分析离散信号的过程中很有用.