信号与系统复习笔记——采样
信号与系统复习笔记——采样与通讯系统
采样定理
冲激串采样函数可表示为:
p ( t ) = ∑ n = − ∞ + ∞ δ ( t − n T ) p(t) = \sum_{n=-\infty}^{+\infty} \delta(t - nT) p(t)=n=−∞∑+∞δ(t−nT)
周期 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)δ(t−nT)
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(jω)=2π1[X(jω)∗P(jω)]
其中:
P ( j ω ) = 2 π T ∑ k = − ∞ + ∞ δ ( ω − k ω s ) P(j\omega) = \frac{2 \pi}{T} \sum_{k = -\infty}^{+\infty}\delta(\omega - k\omega_s) P(jω)=T2πk=−∞∑+∞δ(ω−kωs)
已知信号和单位冲激函数做卷积等于该信号的位移:
X ( j ω ) ∗ δ ( ω − ω 0 ) = X ( j ( ω − ω 0 ) ) X(j\omega) \ast \delta(\omega - \omega_0) = X(j(\omega - \omega_0)) X(jω)∗δ(ω−ω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(jω)=T1k=−∞∑+∞X(j(ω−kωs))
即 X p ( j ω ) X_p(j\omega) Xp(jω) 频谱是 X ( j ω ) X(j\omega) X(jω) 频谱以周期 T T T 出现并叠加得到的结果,若频谱无重叠,那么则可以通过低通滤波器得到原信号频谱,这称为 采样定理 :
设 x ( t ) x(t) x(t) 是一个带限信号,在 ∣ ω ∣ > ω M |\omega| > \omega_M ∣ω∣>ωM 的时候 X ( j ω ) = 0 X(j\omega) = 0 X(jω)=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(t−nT)
上式体现了低通滤波器的冲激响应曲线的拟合插值过程:
对一个理想的低通滤波器来说,其:
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(jω)=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} πe−jϕ ,当发生混叠的时候,此时:
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(jω) ,记 y c ( t ) y_c(t) yc(t) 变换为 Y c ( j ω ) Y_c(j\omega) Yc(jω) 而记 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)δ(t−nT)
而 δ ( t − n T ) \delta(t - nT) δ(t−nT) 的傅里叶变换为 e − j ω n T e^{-j\omega nT} e−jω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(jω)=n=−∞∑+∞xc(nT)e−jω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]e−jΩ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)e−jΩ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(jω)=Xc(jω)Hc(jω)
其中 H c ( j ω ) H_c(j\omega) Hc(jω) 是 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(jω)=Xc(jω)Hd(ejωT)
并且两个的关系为:
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(jω)=Hd(ejωT),∣ω∣<ωs/2
离散时间信号采样
类似的对离散时间信号采样,离散时间的采样序列为:
p [ n ] = ∑ k = − ∞ + ∞ δ [ n − k N ] p[n] = \sum_{k = -\infty}^{+\infty} \delta[n - kN] p[n]=k=−∞∑+∞δ[n−kN]
那么采样后的信号可以表示为:
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(ejω)=2π1∫2π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(ejω)=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(ejω)=N1k=0∑N−1X(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(ejω)=k=−∞∑+∞xb[k]e−jωk=k=−∞∑+∞xp[kN]e−jω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(ejω)=k=−∞∑+∞xp[k]e−jωk/N=Xp(ejω/N)
也就是:
X b ( e j ω ) = X p ( e j ω / N ) X_b(e^{j\omega}) = X_p(e^{j\omega/N}) Xb(ejω)=Xp(ejω/N)
所以,压缩时间的效果就是将频率扩大 N N N 倍。