数字信号处理之抽取和插值 (6)

由于采样速率不匹配等原因,我们通常会对采集到的离散信号进行抽取(decimation)或者插值(interpolation)。或者在该过程中同时进行滤波操作

1. 梳状函数 (comb function)

1.1 连续时域梳状函数

连续时域梳状函数的定义: \[
comb(t) = \sum_{n=-\infty}^{\infty} \delta(t – nT) \tag 1
\]
出于书写方便的原因,后边统一采用 \(s(t)\) 表示梳状函数,

由于 \(s(t)\) 是在连续时域中,并不是序列 \(s[n]\) ,因此由 FT 变换,我们可以表示梳状函数的连续频谱为: \[
S(j \Omega) = \int_{-\infty} ^{\infty} s(t) e^{-j \Omega t} dt
\]
\(\Omega_s = \cfrac {2 \pi} {T}\) , T 为 \(s(t)\) 的最小周期

由于 \(s(t)\) 是周期信号, 可以使用傅里叶级数展开,得到傅里叶级数系数 (Fourier series coefficient): \[
COMB[k] = \cfrac {1} {T} \int_{-T/2}^{T/2} s(t) e^{-j \Omega_s t} dt = \cfrac {1} {T} \int_{-T/2}^{T/2} \delta(t) e^{-j \Omega_s t} dt = \cfrac {1} {T}
\]
于是我们可以把 \(s(t)\) 使用傅里叶级数形式 ( Fourier Series )表示: \[
s(t) = \sum_{n=-\infty}^{\infty} \delta(t – nT) = \cfrac {1} {T} \sum_{k = -\infty}^{\infty} e^{j k\Omega_s t} \tag 2
\]
如下的视频中描述了上述等式右侧(用欧拉公式)随着 \(k\) 变大,求和效果非常明显地变为 \(\delta\) 函数

由此根据 FT 得出频谱函数 \[
S(j \Omega) = F[s(t)] = F[ \cfrac {1} {T} \sum_{k = -\infty}^{\infty} e^{jk \Omega_s t}] = \cfrac {1} {T} \sum_{k = -\infty}^{\infty} F[ e^{jk \Omega_s t} ]
\]
由于 \(F[e^{jk \Omega_s t}] = 2\pi \delta(\Omega – k\Omega_s)\) , 所以: \[
S(j \Omega) = \cfrac {2 \pi} {T} \sum_{k = -\infty} ^{\infty} \delta(\Omega – k \Omega_s) \tag 3
\]
因此,我们得到结论: 梳状函数经过 FT 变换在频域仍然是梳妆函数,其周期为 \(\Omega_s = \cfrac {2 \pi} {T}\)\(T\) 为时域周期

另一方面,直接采用定义的 \(\delta\) 函数进行 FT 计算,有 \[
\begin {align}
S(j \Omega) &= \int_{-\infty} ^{\infty} [\sum_{n = -\infty}^{\infty} \delta(t-nT)] e^{-j \Omega t} dt \\\\
&= \sum_{n = -\infty}^{\infty} (\int_{-\infty} ^{\infty} \delta(t-nT) e^{-j \Omega t} dt) \\\\
&= \sum_{n = -\infty}^{\infty} e^{-j \Omega nT}
\end {align} \tag 4
\]
因此在连续频域中,对于自变量 \(\Omega\) 来说: \[
\sum_{n = -\infty}^{\infty} e^{-j \Omega nT} = \cfrac {2 \pi} {T} \sum_{k = -\infty} ^{\infty} \delta(\Omega – k \Omega_s) \tag 5
\]

其中 \(\Omega_s = \cfrac {2 \pi} {T}\)

还是请牢记,这是连续梳状函数的频谱,自变量为 \(t\) ,不是 \(n\)

1.2 离散时域梳状函数

离散时域中周期为 \(M\) 的梳状函数定义如下: \[
comb(n) = c_M[n] = \sum_{k=-\infty}^{\infty} \delta[n-kM] \tag 6
\]
还记得离散周期函数用什么变换吗 ?

DTFS 变换专门用于这类信号!!!!

\(W_M \triangleq e^{j 2\pi /M}\), 由 DTFS 变换 \[
a_m = \cfrac {1} {M} \sum_{n=0}^{M-1} c_M[n] W_M^{-nm} = \cfrac {1}{M} \tag {7}
\]
这是由于在 \(n=0, 1, …, M-1\) 中,只有 \(c_M[0] = 1\) , 于是 \[
c_M[n] = \sum_{m=0}^{M-1} a_m W_M^{mn} = \cfrac {1}{M} \sum_{m=0}^{M-1} W_M^{mn} \tag {8}
\]

2. 抽取 (decimation)

2.1 模拟信号的抽样过程

注意一下: 在连续信号中,我们用 \(\Omega\) 表示模拟角频率,时间用 \(t\) 表示

而在离散信号中,我们用 \(\omega\) 表示数字频率,用 \(nT\) 表示每个采样时刻

则根据 FT 变换可以得到模拟信号的频谱 \[
X_a(j \Omega) = \int_{-\infty} ^{\infty} x_a(t) e^{-j \Omega t} dt
\]
由于 \(\hat x_a(t) = x_a(t) \cdot s(t)​\), 根据时域相乘等于FT变换后的频域卷积: \[
\hat X_a(j \Omega) = \frac {1} {2 \pi} X_a(j\Omega) \ast S(j \Omega) \tag 9
\]
\(\Omega_s = \cfrac {2 \pi} {T} = 2 \pi f_s​\) , T 为采样时间间隔,也是梳状函数 \(s(t)​\) 的周期 \[
\begin {align}
\hat X_a(j\Omega) &= \cfrac {1} {2\pi} [ \cfrac {2 \pi} {T} \sum_{k = -\infty} ^{\infty} \delta(\Omega – k \Omega_s) \ast X_a(j\Omega) ] \\\\
&= \cfrac {1} {T} \int_{-\infty} ^{\infty} X_a(j \theta) \sum_{k = -\infty} ^{\infty} \delta(\Omega – k \Omega_s – \theta) d \theta \\\\
&= \cfrac {1} {T}\sum_{k = -\infty} ^{\infty} (\int_{-\infty} ^{\infty} X_a(j \theta) \delta(\Omega – k \Omega_s – \theta) d \theta)
\end{align}
\]
根据冲激函数的性质,可得 \[
\hat X_a(j\Omega) = \cfrac {1} {T}\sum_{k = -\infty} ^{\infty} X_a(j\Omega – jk\Omega_s) \tag {10}
\]
或者将 \(\Omega_s = \cfrac {2 \pi} {T}\) 代入: \[
\hat X_a(j\Omega) = \cfrac {1} {T}\sum_{k = -\infty} ^{\infty} X_a(j\Omega – jk \cfrac {2\pi} {T}) \tag {11}
\]
结论:

一个连续信号经过理想采样后,它的频谱是每次偏移 \(\Omega_s = \cfrac {2 \pi} {T}\) 后的叠加,也就是产生了频谱的周期延拓。

由此得到著名的奈奎斯特采样定理

抽样频率必须大于等于两倍原信号最高频率分量,才能无失真地恢复原连续信号。

1.2 离散信号的抽取 (decimation)

抽取又称降采样 (down sample),或者二次采样(subsample)

由于现在只在离散域讨论,我们采用 \(z\) 变换分析和离散时域梳状函数 \(c_M[n]\) \[
c_M[n] = \sum_{k=-\infty}^{\infty} \delta[n-kM]
\]
经过 \(M\) 倍降采样后,原信号 \(x[n]\) 变为: \[
x_{(\downarrow M)} [n] = x[nM] = x[nM] c_M[nM] \tag {12}
\]
注意上面式子中是 \(c_M[nM]​\) ,而不是 \(c_M[n]​\) \[
c_M[nM] = \sum_{k=-\infty}^{\infty} \delta[nM-kM] = \sum_{k=-\infty}^{\infty} \delta[(n-k)M]
\]
原因是经过降采样的信号 \(n\) 的取值仍然为 \(1, 2, 3, …\) ,而不是 \(M, 2M, 3M, …\) ,比如说 \(n=1\) 时, \[
x_{(\downarrow M)} [1] = x[M] = x[M] \cdot (\sum_{k=-\infty}^{\infty} \delta[(1-k)M])
\]
回到 \(x_{(\downarrow M)} [n]\), 我们做 \(z\) 变换,有 \[
X_{(\downarrow M)}^z (z) = \sum_{n=-\infty}^{\infty} x[nM] c_M[nM] z^{-n} = \sum_{n=-\infty}^{\infty} x[n] c_M[n] z^{-n/M} \tag {13}
\]
等式(13)中间的求和表示 : \[
\cdots + x[0] z^0 + x[M]z^{-1} + x[2M]z^{-2}+\cdots
\]
等式(13)右边的求和表示: \[
\cdots + x[0] z^0 +0+\cdots+0+ x[M]z^{-1} + 0+\cdots
\]
这里一定要想清楚,后面自然就有: \[
X_{(\downarrow M)}^z (z) = \sum_{n=-\infty}^{\infty} x[n] [\cfrac {1}{M} \sum_{m=0}^{M-1} W_M^{mn} ]z^{-n/M}
\]
继续: \[
\begin {align}
X_{(\downarrow M)}^z (z) &= \sum_{n=-\infty}^{\infty} x[n] [\cfrac {1}{M} \sum_{m=0}^{M-1} W_M^{mn} ]z^{-n/M} \\\\
&= \cfrac {1}{M} \sum_{m=0}^{M-1} [ \sum_{n=-\infty}^{\infty} x[n](W_M^{-m} z^{1/M})^{-n}] \\\\
&= \cfrac {1}{M} \sum_{m=0}^{M-1} X^z(W_M^{-m} z^{1/M})
\end {align}
\]
记住这个公式吧: \[
X_{(\downarrow M)}^z (z) = \cfrac {1}{M} \sum_{m=0}^{M-1} X^z(W_M^{-m} z^{1/M}) \tag {14}
\]
还记得吗? DTFT 是 \(z\) 变换中 \(z\) 在单位圆上的转换 \[
z = e^{j \omega} \Rightarrow z^{1/M} = e^{j\omega/M}
\]
同时, \(W_M^{-m} = e^{-j 2 \pi m/M}​\) \[
X_{(\downarrow M)}^f (e^{j\omega}) = \cfrac {1}{M} \sum_{m=0}^{M-1} X^f(e^{j \frac {\omega – 2\pi m}{M}}) \tag {15}
\]
因此,时域进行抽点,在频域意味着:

  • \(X_f(e^{j\omega})\) 沿 \(\omega\) 轴扩展 \(M\) 倍得到 \(X_f(e^{j\omega /M})\)
  • \(X_f(e^{j\omega /M})\) 沿 \(\omega\) 轴偏移 \(2\pi m\) ,得到 \(X^f(e^{j \frac {\omega – 2\pi m}{M}})\)
  • \(m=0,1, …, M-1\) 得到的频谱叠加得到新的频谱

下面是以 \(m=3\) 为例的

结论:

  1. Decimation Adds Spectral Replicas of Scaled DTFT

  2. the M-decimated signal will have no aliasing … only if the signal being decimated has: \(X_f(e^{j \omega}) = 0\) for \(\mid \omega \mid \gt \pi/M\)
    This makes complete sense from an “ordinary” sampling theorem view point !!!

  3. after M-decimating an \(M^{th}\)-band signal, the spectrum of the decimated signal will fill the \([-\pi, \pi]\) band.

  4. Although decimation changes the digital frequency of the signal, the corresponding “physical” frequency is not changed
    采样频率减小 \(M\) 倍,频谱扩张 \(M\) 倍,实际物理频率不变

2. 插值 (interpolation)

插值又称扩张 (expansion),又称上采样 (upsampling)

但注意的是,这里不是普遍意义的插值,这里插入的是全是 \(0\) !!!!

因此和以更高的采样频谱采样完全不同!!!

一般情况下,如果我们进行插值操作,一般还需要经过低通滤波器,又称 anti-imaging or interpolation filter.

还是从 \(z\) 变换开始分析 \(L\) 点 expansion \[
\begin {align}
X_{(\uparrow L)}^{z} (z) &= \sum_{n=-\infty}^{\infty} x_{(\uparrow L)} [n] z^{-n} \\\\
&= \cdots + x[0]z^0 + 0 + \cdots + 0 + x[1]z^{-L} + 0 + \cdots + 0 + x[2] z^{-2L} \\\\
&= \sum_{n=-\infty}^{\infty} x[n] z^{-Ln} = X^z (z^L)
\end {align}
\]
得到 \(L\)-expansion 的 \(z\) 变换公式 \[
X_{(\uparrow L)}^{z} (z) = X^z (z^L) \tag {16}
\]
DTFT 是 \(z​\) 变换中 \(z​\) 在单位圆上的转换 \[
z = e^{j \omega} \Rightarrow z^{L} = e^{jL\omega}
\]
于是,得到 \(L\)-expansion 的 DTFT 变换公式 \[
X_{(\uparrow L)}^{f} (e^{j\omega}) = X^{f} (e^{jL\omega}) \tag {17}
\]

因此,经过 \(L\) 点插值的频谱

总结:

Decimation –> 降采样频率: \(Fs_{new} = (Fs_{old})/M\)

Expansion –> 增加采样频率: \(Fs_{new} = (Fs_{old}) \times L\)

如何通过 decimation 和 expansion 相结合获得任何倍率(非整数倍)的采样率呢?

下一小节会介绍多相滤波器,实现这一功能

One thought on “数字信号处理之抽取和插值 (6)

发表评论

电子邮件地址不会被公开。 必填项已用*标注