信号与系统复习笔记——采样

信号与系统复习笔记——采样与通讯系统

采样定理

冲激串采样函数可表示为:

p ( t ) = ∑ n = − ∞ + ∞ δ ( t − n T ) p(t) = \sum_{n=-\infty}^{+\infty} \delta(t - nT) p(t)=n=+δ(tnT)

周期 T T T 称为采样周期,而 ω s = 1 T \omega_s = \frac{1}{T} ωs=T1 为采样频率。

对信号 x ( t ) x(t) x(t) 进行冲激串采样的结果为:

x p ( t ) = x ( t ) p ( t ) = ∑ n = − ∞ + ∞ x ( n T ) δ ( t − n T ) x_p(t) = x(t)p(t) = \sum_{n=-\infty}^{+\infty} x(nT) \delta(t - nT) xp(t)=x(t)p(t)=n=+x(nT)δ(tnT)

x p ( t ) x_p(t) xp(t) 本身仍是一个冲激串,幅度为 x ( t ) x(t) x(t) 在采样点上的值。

并且有:

X p ( j ω ) = 1 2 π [ X ( j ω ) ∗ P ( j ω ) ] X_p(j\omega) = \frac{1}{2\pi}[X(j\omega) \ast P(j\omega)] Xp()=2π1[X()P()]

其中:

P ( j ω ) = 2 π T ∑ k = − ∞ + ∞ δ ( ω − k ω s ) P(j\omega) = \frac{2 \pi}{T} \sum_{k = -\infty}^{+\infty}\delta(\omega - k\omega_s) P()=T2πk=+δ(ωkωs)

已知信号和单位冲激函数做卷积等于该信号的位移:

X ( j ω ) ∗ δ ( ω − ω 0 ) = X ( j ( ω − ω 0 ) ) X(j\omega) \ast \delta(\omega - \omega_0) = X(j(\omega - \omega_0)) X()δ(ωω0)=X(j(ωω0))

于是有:

X p ( j ω ) = 1 T ∑ k = − ∞ + ∞ X ( j ( ω − k ω s ) ) X_p(j\omega) = \frac{1}{T} \sum_{k = -\infty}^{+\infty} X(j(\omega - k\omega_s)) Xp()=T1k=+X(j(ωkωs))

X p ( j ω ) X_p(j\omega) Xp() 频谱是 X ( j ω ) X(j\omega) X() 频谱以周期 T T T 出现并叠加得到的结果,若频谱无重叠,那么则可以通过低通滤波器得到原信号频谱,这称为 采样定理

x ( t ) x(t) x(t) 是一个带限信号,在 ∣ ω ∣ > ω M |\omega| > \omega_M ω>ωM 的时候 X ( j ω ) = 0 X(j\omega) = 0 X()=0 。如果 ω s > 2 ω M \omega_s > 2\omega_M ωs>2ωM ,那么 x ( t ) x(t) x(t) 就可以被频率为 ω s \omega_s ωs 的周期采样串所采样并且唯一的确定。

其中2倍最大频率 2 ω M 2\omega_M 2ωM 称为 奈奎斯特频率

零阶保持采样

实际上传输窄和幅度较大的脉冲是相当困难的,我们可以采用零阶保持的方法来进行采样,即在采样的瞬间,直到下一次采样点来临,都是一直保持这一样本值:

零阶保持采样

这相当于,冲激采样之后,在串联一个零阶保持器:

零阶保持器

零阶保持器具有一个从0开始的矩形窗口的单位脉冲响应,并且保持时间为采样频率 T T T

利用插值重建信号

插值,就是用一连续信号对一组样本值的拟合。常见的插值方法有:零阶保持插值、线性插值,多项式插值等。

对于冲激串采样的结果 x p ( t ) x_p(t) xp(t) 来说,通入截止频率为 ω M \omega_M ωM 的低通滤波器即可还原成源信号,这在时域上相当于做卷积:

x r ( t ) = x p ( t ) ∗ h ( t ) = ∫ − ∞ + ∞ h ( t − τ ) ∑ n = − ∞ + ∞ x ( n T ) δ ( τ − n T ) d τ = ∑ n = − ∞ + ∞ x ( n T ) ∫ − ∞ + ∞ h ( t − τ ) δ ( τ − n T ) d τ = ∑ n = − ∞ + ∞ x ( n T ) h ( t − n T ) x_r(t) = x_p(t) \ast h(t) = \int_{-\infty}^{+\infty}h(t - \tau) \sum_{n=-\infty}^{+\infty} x(nT) \delta(\tau - nT) d\tau = \sum_{n=-\infty}^{+\infty} x(nT) \int_{-\infty}^{+\infty}h(t - \tau) \delta(\tau - nT) d\tau = \sum_{n=-\infty}^{+\infty} x(nT) h(t - nT) xr(t)=xp(t)h(t)=+h(tτ)n=+x(nT)δ(τnT)dτ=n=+x(nT)+h(tτ)δ(τnT)dτ=n=+x(nT)h(tnT)

上式体现了低通滤波器的冲激响应曲线的拟合插值过程:

插值过程

对一个理想的低通滤波器来说,其:

h ( t ) = T sin ⁡ ( ω c t ) π t h(t) =T \frac{\sin(\omega_ct)}{\pi t} h(t)=Tπtsin(ωct)

这种插值方式通常称为 带限插值

理想滤波器物理上是不存在的,因此我们通常使用近似的非理想滤波器,会对信号还原造成一定损失,例如零阶保持器,在零阶保持采样中,可以将零阶保持器视为一个低通滤波器,其频率响应和理想滤波器相比如下:

零阶保持器
若零阶保持器效果不好,可采用高阶保持器,这里的阶数指,插值后的函数曲线最高在该阶数的导数连续,例如零阶保持器表示在零阶导数都不连续,而线性插值(一阶保持器)表示在零阶导数连续,一阶导数不连续。

易知线性插值的冲激响应是如图的三角波形:

线性插值的冲激响应
其频率响应和理想滤波器相比如下:

一阶保持器
其频率响应为:

H ( j ω ) = 1 T [ sin ⁡ ( ω T / 2 ) ω / 2 ] 2 H(j\omega) = \frac{1}{T} [\frac{\sin(\omega T/2)}{\omega/2}]^2 H()=T1[ω/2sin(ωT/2)]2

欠采样

ω s > 2 ω M \omega_s > 2 \omega_M ωs>2ωM 的时候,采样信号的频谱是由原信号频谱重复组成,当 ω s > 2 ω M \omega_s > 2 \omega_M ωs>2ωM 的时候,采样信号的频谱不再是重复原信号频谱,而是发生 混叠现象 ,因此利用低通滤波器也不能把信号还原出来。

显然,对于采样点上的信号值通常能够准确的还原出来,即:

x r ( n T ) = x ( n T ) x_r(nT) = x(nT) xr(nT)=x(nT)

我们使用 x ( t ) = cos ⁡ ω 0 t x(t) = \cos \omega_0 t x(t)=cosω0t 来说明欠采样的效果,当采用不同的采样频率的时候:

x r ( t ) = cos ⁡ ω 0 t = x ( t ) ω 0 = ω s 6 x r ( t ) = cos ⁡ ω 0 t = x ( t ) ω 0 = 2 ω s 6 x r ( t ) = cos ⁡ [ ( ω s − ω 0 ) t ] ≠ x ( t ) ω 0 = 4 ω s 6 x r ( t ) = cos ⁡ [ ( ω s − ω 0 ) t ] ≠ x ( t ) ω 0 = 5 ω s 6 \begin{matrix} x_r(t) = \cos \omega_0 t = x(t) & \omega_0 = \frac{\omega_s}{6} \\ x_r(t) = \cos \omega_0 t = x(t) & \omega_0 = \frac{2\omega_s}{6} \\ x_r(t) = \cos[(\omega_s - \omega_0)t] \neq x(t) & \omega_0 = \frac{4\omega_s}{6} \\ x_r(t) = \cos[(\omega_s - \omega_0)t] \neq x(t) & \omega_0 = \frac{5\omega_s}{6} \\ \end{matrix} xr(t)=cosω0t=x(t)xr(t)=cosω0t=x(t)xr(t)=cos[(ωsω0)t]=x(t)xr(t)=cos[(ωsω0)t]=x(t)ω0=6ωsω0=62ωsω0=64ωsω0=65ωs

当混叠发生的时候,原始频率 ω 0 \omega_0 ω0 就被混叠成一个较低的频率 ω s − ω 0 \omega_s - \omega_0 ωsω0 。当 ω 0 = ω s \omega_0 = \omega_s ω0=ωs 的时候,被重建的信号就是一个常数。

对于带相位的 x ( t ) = cos ⁡ ( ω 0 t + ϕ ) x(t) = \cos (\omega_0 t + \phi) x(t)=cos(ω0t+ϕ) 来说,傅里叶变换的形状是相同的,只不过在 ω 0 \omega_0 ω0 的位置的冲激有个幅度因子 π e j ϕ \pi e^{j\phi} πejϕ − ω 0 -\omega_0 ω0 的时候冲激有个幅度因子 π e − j ϕ \pi e^{-j\phi} πejϕ ,当发生混叠的时候,此时:

x r ( t ) = cos ⁡ [ ( ω s − ω 0 ) t − ϕ ] x_r(t) = \cos[(\omega_s - \omega_0)t - \phi] xr(t)=cos[(ωsω0)tϕ]

这个在相位上有个颠倒,称为 相位倒置

最后需要注意一点是,采样定理一定是采样频率大于信号最大频率的2倍,等于是不够的,考虑:

x ( t ) = cos ⁡ ( ω s 2 t + ϕ ) x(t) = \cos(\frac{\omega_s}{2}t + \phi) x(t)=cos(2ωst+ϕ)

若通过频率 ω s \omega_s ωs 采样,得到的输出为:

x r ( t ) = cos ⁡ ϕ cos ⁡ ( ω s 2 t ) x_r(t) = \cos\phi\cos(\frac{\omega_s}{2}t) xr(t)=cosϕcos(2ωst)

可见只有当 2 π 2\pi 2π 倍相位偏移的时候,才能正确还原。

连续时间信号的离散时间处理

连续时间信号的离散时间处理的基本框架为:

基本框架
其中 x c ( t ) x_c(t) xc(t) 表示原始连续时间信号, x d [ n ] x_d[n] xd[n] 表示采样的离散信号, y d [ n ] y_d[n] yd[n] 表示经过离散时间系统处理后的离散信号, y c ( t ) y_c(t) yc(t) 表示处理后的连续时间信号。

根据采样定理(采样频率满足采样定理),连续时间信号就可以完全使用其采样样本值代替:

x d [ n ] = x c ( n T ) x_d[n] = x_c(nT) xd[n]=xc(nT)

这一步称为 连续时间到离散时间转换 ,简称C/D。第三步是 离散时间到连续时间转换 ,简称D/C,其实现的是样本值之间的插值。因为大部分的信号处理系统都是数字系统,这样用于实现C/D的器件就称为 模拟数字A/D转换器 ,而实现D/C的器件就称为 数字模拟D/A转换器

实现C/D可以对 x c ( t ) x_c(t) xc(t) 进行冲激串采样,再将得到的采样冲激串序列转换为离散点值序列。

通过傅里叶变换来分析这个过程,我们记 x c ( t ) x_c(t) xc(t) 变换为 X c ( j ω ) X_c(j\omega) Xc() ,记 y c ( t ) y_c(t) yc(t) 变换为 Y c ( j ω ) Y_c(j\omega) Yc() 而记 x d [ n ] x_d[n] xd[n] 变换为 X d ( e j Ω ) X_d(e^{j\Omega}) Xd(ejΩ) ,记 y d [ n ] y_d[n] yd[n] 变换为 Y d ( e j Ω ) Y_d(e^{j\Omega}) Yd(ejΩ)

已知:

x p ( t ) = ∑ n = − ∞ + ∞ x c ( n T ) δ ( t − n T ) x_p(t) = \sum_{n = -\infty}^{+\infty} x_c(nT) \delta(t - nT) xp(t)=n=+xc(nT)δ(tnT)

δ ( t − n T ) \delta(t - nT) δ(tnT) 的傅里叶变换为 e − j ω n T e^{-j\omega nT} ejωnT

X p ( j ω ) = ∑ n = − ∞ + ∞ x c ( n T ) e − j ω n T X_p(j\omega) = \sum_{n = -\infty}^{+\infty} x_c(nT) e^{-j\omega nT} Xp()=n=+xc(nT)ejωnT

现在考虑 x d [ n ] x_d[n] xd[n] 的傅里叶变换:

X d ( e j Ω ) = ∑ n = − ∞ + ∞ x d [ n ] e − j Ω n X_d(e^{j\Omega}) = \sum_{n = -\infty}^{+\infty} x_d[n] e^{-j\Omega n} Xd(ejΩ)=n=+xd[n]ejΩn

带入 x d [ n ] = x c ( n T ) x_d[n] = x_c(nT) xd[n]=xc(nT) 得到:

X d ( e j Ω ) = ∑ n = − ∞ + ∞ x c ( n T ) e − j Ω n X_d(e^{j\Omega}) = \sum_{n = -\infty}^{+\infty} x_c(nT) e^{-j\Omega n} Xd(ejΩ)=n=+xc(nT)ejΩn

我们发现:

X d ( e j Ω ) = X p ( j Ω / T ) X_d(e^{j\Omega}) = X_p(j\Omega / T) Xd(ejΩ)=Xp(jΩ/T)

也就是说,通过连续点值采样的序列 x d [ n ] x_d[n] xd[n] 的傅里叶变换形状和冲激采样序列 x p ( t ) x_p(t) xp(t) 的傅里叶变换的形状一样,只不过有个时间尺度 T T T 的缩放(相当于时间归一化),在概念上是完全一致的。

而对于逆过程,是完全一致的,即将离散序列转换成冲激序列,再通入低通滤波器即可。

一般的,我们将数字系统中的离散频率响应记为 H d ( e j Ω ) H_d(e^{j\Omega}) Hd(ejΩ) ,那么整个系统可以表示为:

处理框架

显然:

Y c ( j ω ) = X c ( j ω ) H c ( j ω ) Y_c(j\omega) = X_c(j\omega) H_c(j\omega) Yc()=Xc()Hc()

其中 H c ( j ω ) H_c(j\omega) Hc() H d ( e j Ω ) H_d(e^{j\Omega}) Hd(ejΩ) 对应的连续时间系统,那么:

Y c ( j ω ) = X c ( j ω ) H d ( e j ω T ) Y_c(j\omega) = X_c(j\omega) H_d(e^{j\omega T}) Yc()=Xc()Hd(eT)

并且两个的关系为:

H c ( j ω ) = H d ( e j ω T ) , ∣ ω ∣ < ω s / 2 H_c(j\omega) = H_d(e^{j\omega T}), |\omega| < \omega_s / 2 Hc()=Hd(eT),ω<ωs/2

离散时间信号采样

类似的对离散时间信号采样,离散时间的采样序列为:

p [ n ] = ∑ k = − ∞ + ∞ δ [ n − k N ] p[n] = \sum_{k = -\infty}^{+\infty} \delta[n - kN] p[n]=k=+δ[nkN]

那么采样后的信号可以表示为:

x p [ n ] = x [ n ] , n = k N x_p[n] = x[n], n = kN xp[n]=x[n],n=kN

在时域上 x p [ n ] = x [ n ] p [ n ] x_p[n] = x[n]p[n] xp[n]=x[n]p[n] 那么在频域上就有:

X p ( e j ω ) = 1 2 π ∫ 2 π P ( e j θ ) X ( e j ( ω − θ ) ) d θ X_p(e^{j\omega}) = \frac{1}{2\pi} \int_{2\pi} P(e^{j\theta}) X(e^{j(\omega - \theta)}) d\theta Xp(e)=2π12πP(ejθ)X(ej(ωθ))dθ

采样序列 p [ n ] p[n] p[n] 的傅里叶变换为:

P ( e j ω ) = 2 π N ∑ k = − ∞ + ∞ δ ( ω − k ω s ) P(e^{j\omega}) = \frac{2\pi}{N}\sum_{k = -\infty}^{+\infty} \delta(\omega - k\omega_s) P(e)=N2πk=+δ(ωkωs)

那么:

X p ( e j ω ) = 1 N ∑ k = 0 N − 1 X ( e j ( ω − k ω s ) ) X_p(e^{j\omega}) = \frac{1}{N} \sum_{k = 0}^{N-1} X(e^{j(\omega - k\omega_s)}) Xp(e)=N1k=0N1X(ej(ωkωs))

同样的对于离散信号当 ω s > 2 ω M \omega_s > 2\omega_M ωs>2ωM 才能正确采样,被离散低通滤波器还原,否则会发生混叠。相同的,无论是否发生混叠,在采样处的值一直相等。

x r [ k N ] = x [ k N ] x_r[kN] = x[kN] xr[kN]=x[kN]

在实际应用中,离散采样中非采样点的点值为0,为了压缩空间,通常使用压缩采样:

x b [ n ] = x p [ n N ] = x [ n N ] x_b[n] = x_p[nN] = x[nN] xb[n]=xp[nN]=x[nN]

我们把这样的过程称为 抽取

其傅里叶变换为:

X b ( e j ω ) = ∑ k = − ∞ + ∞ x b [ k ] e − j ω k = ∑ k = − ∞ + ∞ x p [ k N ] e − j ω k X_b(e^{j\omega}) = \sum_{k = -\infty}^{+\infty} x_b[k] e^{-j\omega k} = \sum_{k = -\infty}^{+\infty} x_p[kN] e^{-j\omega k} Xb(e)=k=+xb[k]ejωk=k=+xp[kN]ejωk

n = k N n =kN n=kN 而且当 n n n 不是 N N N 的整数倍的时候 x p [ n ] = 0 x_p[n] = 0 xp[n]=0 ,那么就可以写成:

X b ( e j ω ) = ∑ k = − ∞ + ∞ x p [ k ] e − j ω k / N = X p ( e j ω / N ) X_b(e^{j\omega}) = \sum_{k = -\infty}^{+\infty} x_p[k] e^{-j\omega k/N} = X_p(e^{j\omega/N}) Xb(e)=k=+xp[k]ejωk/N=Xp(e/N)

也就是:

X b ( e j ω ) = X p ( e j ω / N ) X_b(e^{j\omega}) = X_p(e^{j\omega/N}) Xb(e)=Xp(e/N)

所以,压缩时间的效果就是将频率扩大 N N N 倍。