3.4 取样频率的转换
我们知道,对于某一给定的模拟信号,取样频率越高,取样后所获得的样值越多,编码后的比特率也就越高。在某些情况下,在已经获得了数字信号之后,可能希望通过降低原有数字信号的取样率来降低信号的码率,例如由于传输带宽的变化,希望从传送高分辨率(720×576)的图像改为传送低分辨率(360×288)的图像。这种由高取样率的样值去推算低取样率样点数值的技术,在数字信号处理中称为抽取,或下取样。相对应地,由低取样率的样值去估计较高频率的取样点上的数值,这种技术称为内插,或上取样。如何在降低取样率时尽可能地减少混叠失真,以及如何在内插时获得尽可能准确的估值,是本节讨论的主要内容。
3.4.1 下取样
下取样也称为亚取样。图3-5(a)是一个离散时间(或空间)信号的频谱,其取样频率f1略高
于奈氏频率。如果我们希望将取样频率降低到f2=f1/n(n为正整数),而f2低于奈氏频率时,不能简单地采取隔n个样点抽取一个、丢弃其余样点的做法,因为这样作完全等效于用f2作为取样频率直接对原模拟信号进行抽样,将会造成频谱的混叠。对频谱如图(a)所示的离散时间信号进行2抽1(每隔1个样点丢弃1个样点)以后造成混叠失真的情况如图(b)所示,图中阴影部分为频谱混叠的区域。当图中的横坐标以对取样频率归一化的角频率ω度量时,0~2π表示了频谱的一个周期,[0,π)区间对应于正频率部分,[π,2π)区间对应于负频率部分。在数字信号处理中,对于周期性延拓的频谱,通常只针对1个周期进行讨论。

图3-5 离散时间(或空间)信号的频谱
在上面的例子中,一种避免混叠失真的做法是,先用一个截止频率为f1/2的低通滤波器将图3-5(a)所示频谱的基带部分取出,恢复出原来的模拟信号;然后用另一低通滤波器将此模拟信号的带宽限制到f2/2,再重新取样得到取样频率为f2的样值[见图3-6(a)]。实际上,我们可以省略恢复模拟信号的中间步骤,将图中的两个滤波器合并为一个,其截止频率由带宽较窄的滤波器确定(f2/2)。此滤波器称为抗混叠滤波器。

图3-6 取样频率的降低
图3-6(b)从频谱的角度描述了下取样的实现过程。其中X(ejw)是输入信号x(n)的频谱;|H(ejw)|是抗混叠滤波器的频率响应,它的截止频率为f1/2n,n为下取样的比值(图中n=4);|W(ejw)|为通过抗混叠滤波器后信号w(n)的频谱,它的最高频率被限制到下取样频率(f1/n)的1/2;|Y(ejw′)|为经下取样后的信号y(m)的频谱。值得注意,图中的ω和ω′是分别相对于f1和f2归一化的。
抗混叠滤波器通常用FIR数字滤波器来实现,它的基本构成如图3-7所示,其中z-1代表一个时钟周期的延时。由图可知,滤波器的输出信号为

图3-7 FIR数字滤波器
不难看出,该滤波器的冲激响应为{a(i),i=0,1,…,M-1},是有限长度的。FIR滤波器在工作时通常要对w(n)每一个样值进行计算(加权、求和),但在下取样中使用时,有数量众多的样值最终要被丢弃,对这些将要被丢弃的样点值进行计算是一种资源的浪费。如果将FIR和再抽样结合在一起,则可以有效地解决这个问题。此时,图3-7中的延时单元按输入信号的时钟频率f1工作,而乘法器和加法器则工作在较低的输出信号的时钟频率f1/n上。
3.4.2 上取样
取样定理告诉我们,以不低于奈氏频率取样得到的离散时间(或空间)信号,经过截止频率为1/2取样频率的理想低通滤波器,可以完全(无差错)地恢复出原来的模拟信号来。图3-8说明了这个过程。由于理想低通的冲激响应为sinc函数,信号的每个样值(图中的黑点)通过滤波器后形成一个sinc脉冲,这些sinc脉冲相互叠加的结果就得到原来的模拟信号f(t)。由此可见,通过理想低通滤波器,我们可以获得输入样值之间任意点的内插值,截止频率为1/2取样频率的理想低通滤波器可以称为理想内插滤波器。由于理想低通是不能实现的,只能采用矩形窗或其他形式的低通窗截断后的sinc函数作为内插滤波器的冲激响应;而且在上取样中,我们只需要得到在上取样频率样点(而不是任意点)上的内插值,因此内插滤波器可以采用FIR数字滤波器,并不必须是模拟滤波器。

图3-8 理想内插波形
图3-9给出了上取样的实现过程。首先在取样率为f的输入序列中插入零值样点,使其达到要求的输出取样率f′=Lf;然后对这些样点上的值进行估计,这可以让此序列通过内插滤波器来实现。图下方左列给出了系统各点的时间波形(L=3),右列给出了它们对应的频谱。由图看出,插入零值样点并不改变信号的频谱,而只改变了观察的频率区间。由于取样频率上升了3倍,一个用上采样频率f′归一化的频谱周期对应于原取样频率f下的三个周期。经过内插低通滤波器h(m)之后,只有w(m)的低端频谱保留,从而得到在上取样频率下的信号y(m)。

图3-9 取样频率的增高
假设图3-9的内插滤波器的冲激响应h(m)如图3-10(a)所示,这里m代表与取样点相对应的时间t的离散值。h(m)的包络是一个sinc函数,由于滤波器的截止频率为原取样频率的1/2,即f/2,所以h(m)的主瓣宽度由输入信号的取样周期(1/f)决定。而滤波器需要内插出取样频率为3f的样点值,因此h(m)的取样周期应为1/3f。按照数字滤波器的一般设计方法,滤波器的所有单元都应工作在较高的频率f′=3f上,但是如果采用图3-10(b)所示的分相位内插的方法,各单元的工作频率则可以降低到f。由图看出在这种方法中,滤波器冲激响应h(m)由h0(m)、h1(m)和h2(m)三个并行分支组成,h1(m)和h2(m)相对于h0(m)分别有1/(3f)和2/(3f)的延时。取样开关每隔1/f′切换一个分支,依次选择不同分支的输出。

图3-10 分相位内插滤波器
线性内插是一种广泛使用的内插方法,它利用两相邻样值的加权和内插出二者之间任意位置上的数值,每个样值的权值与该样值到内插位置的距离成反比。假设对图3-11(a)所示的图像进行2∶1上取样,其中,深色方块为输入图像的像素,浅色方块为需要内插出的像素。对于像素b有
b=round[(G+H)/2](3-32)
由于b与G和H的距离相等,因此使用了相同的权值。从内插滤波器的角度来看,(3-32)式代表的是一个双抽头的FIR滤波器,其冲激响应如图(b)的上一行所示。让我们再来看另一种内插方法:每个半像素位置(如b,h,m,s)上的值都由一个冲激响应(权值)为{1/32,-5/32,5/8,5/8,-5/32,1/32}的6抽头FIR滤波器内插出来。例如,
b=round[(E-5F+20G+20H-5I+J)/32](3-33)
图(b)的下一行画出了该滤波器的冲激响应。比较图3-11(b)所示的两个冲激响应,h2比h1更接近于理想内插滤波器的冲激响应(sinc函数),因此,其对应的内插结果更接近于原模拟信号在新抽样频率上的样值。

图3-11 两种2∶1内插滤波器的比较
3.4.3 分数比率转换

图3-12 取样频率为分数比率的转换
在有些情况下,上取样或下取样的倍数不一定是整数。此时,取样频率从f1=mf到f2=nf(m与n之比不为整数)的转换,可分成两个整数比率的转换进行。第一步将f1内插到数值为f1和f2的最小公倍数的频率mnf上;第二步再对所得到的序列用f2重新取样。图3-12表示出这一过程。图中第一个滤波器为内插滤波器,第二个为重新取样前的反混叠滤波器。在实际实现时,这两个滤波器可以合并为一个,其截止率为f1和f2之中较低的一个。