打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
[离散时间信号处理学习笔记] 14. 多采样率信号处理

多采样率信号处理一般是指利用增采样、减采样、压缩器和扩展器等方式来提高信号处理系统效率的技术(These multirate techniques refer in general to utilizing upsampling, downsampling, compressors, and expanders in a variety of ways to increase the efficiency of signal-processing systems. )本文章主要讨论多采样率技术中的两个研究成果:滤波与压缩器/扩展器的互换;多相分解。

压缩器/扩展器的时域与频域表示

尽管上一篇文章中已经讨论过这部分内容,不过由于这部分是理解本文所必须的关键知识点,这里将在时域与频域展开更详细的分析。

压缩器

假设压缩器的压缩率为M,那么压缩器在时域上的表示为

xd[n]=x[nM]

x[n]的采样频率为T,那么xd[n]的采样频率为Td=MT,按照离散序列与连续信号在频域上的关系,有

X(ejω)Xd(ejω)=1Tk=Xc[j(ωT2πkT)]=1MTr=Xc[j(ωMT2πrMT)]

压缩前的序列频谱X(ejω)与压缩后的序列频谱Xd(ejω)之间有如下关系

Xd(ejω)=1MTr=Xc[j(ωMT2πrMT)]=1MT{+Xc[j(ωMT2πMT)]+Xc[j(ωMT0MT)]+Xc[j(ωMT2πMT)]+}=1MT{+Xc[j(ωMT0MT)]++Xc[j(ωMT2(M1)πMT)]+Xc[j(ωMT2MπMT)]++Xc[j(ωMT2MπMT2(M1)πMT)]+}

 =1MT{+i=0M1Xc[j(ωMT2iπMT)]+i=0M1Xc[j(ωMT2iπMT2πT)]+}=1MTk=i=0M1Xc[j(ωMT2πiMT2πkT)]=1Mi=0M1{1Tk=Xc[j(ω2πiMT2πkT)]}=1Mi=0M1X(ej(ω2πi)/M)

如下图所示

扩展器

假设扩展器的扩展率为L,那么扩展器在时域上的表示为

xe[n]={x[n/L],0,n=0,±L,±2L,else

扩展前的序列频谱X(ejω)与扩展后的序列频谱Xe(ejω)之间有如下关系

Xe(ejω)=n=xe[n]ejωn=n=x[n/L]ejωnn=0,±L,±2L,=k=x[k]ejωkLletting n=kL=X(ejωL)

如下图所示

滤波与压缩器/扩展器的互换

滤波器与压缩器互换

如上一篇文章所描述的减采样就是一个滤波器与压缩器的级联系统。对于这种级联方式,以下两个系统是等价的

证明

YR(ejω)=1Mi=0M1Xb(ej(ω2πi)/M)compress Xb(ejω) with M=1Mi=0M1X(ej(ω2πi)/M)H(ej(ω2πi)/MM)=1Mi=0M1X(ej(ω2πi)/M)H(ej(ω2πi))=H(ejω)1Mi=0M1X(ej(ω2πi)/M)compress X(ejω) with M=H(ejω)Xa(ejω)=YL(ejω)

这个证明过程运用了前面一小节中的压缩器频谱运算,YR(ejω)=YL(ejω)说明右边的系统跟左边的系统是完全等价的。这两个等价系统也很容易理解,观察下图

根据前面我们对扩展器的讨论,我们可以把H(zM)理解为对H(z)做了因子为M的扩展。两个系统分别对应上图的第二第三行:

  • 上图第二行先对x[n]进行因子为M的压缩得到xa[n],然后级联一个滤波器H(z)

  • 上图第三行先用滤波器H(zM)x[n]进行滤波得到xb[n],然后对xb[n]进行因子为M的压缩

滤波器与扩展器互换

如上一篇文章所描述的增采样就是一个滤波器与扩展器的级联系统。对于这种级联方式,以下两个系统是等价的

证明

YL(ejω)=Xa(ejωL)expand Xa(ejω) with L=X(ejωL)H(ejωL)=Xb(ejω)H(ejωL)=YR(ejω)

这个证明过程运用了前面一小节中的扩展器频谱运算,YL(ejω)=YR(ejω)说明右边的系统跟左边的系统是完全等价的。这两个等价系统也很容易理解,观察下图

同样,根据我们前面对扩展器的讨论,我们可以吧H(zL)理解为对H(z)进行了因子为L的扩展。两个系统分别对应上图的第二第三行:

  • 上图第二行先用滤波器H(z)x[n]进行滤波得到xa[n],然后对xa[n]进行因子为L的扩展

  • 上图第三行先对x[n]进行因子为L的扩展得到xb[n],然后级联一个滤波器H(zL)

多级抽取和内插

当抽取或内插率较大时,即M或者L会非常大,这种情况下对M或者L进行分解,如M=M1M2,把单级抽取转换为多级抽取将会使得系统更为高效,具体原因以后(书中第七章)讨论。如下是两级抽取器:

按照上面的步骤反过来,则能把一个一级抽取转换为二级抽取,该一级抽取的的滤波器的系统函数按照如下方式进行分解:

H(z)=H1(z)H2(zM1)

原滤波器的脉冲响应则为分解出来的两个滤波器的脉冲响应的卷积,如下:

h[n]=h1[n]k=h2[k]δ[nkM1]

按照这种方式能把一级抽取器扩展到多级抽取。同理,上述理论也能应用到内插处理中。

多相分解

对一个序列进行多相分解,就是把该序列表示成M组子序列的叠加。如下图:

为了得到这M组子序列,可以采用以下的分解方法:

步骤解析如下

  • 首先是对h[n]进行分解能得到ek[n]

    • 在z变换中,频域上的H(z)zk就相当于时域上h[n]δ[n+k],即进行相位为k的移动,得到h[n+k]

    • h[n+k]进行因子为M的压缩,得到ek[n]

  • 接下来是复原为原来的h[n]

    • ek[n]进行因子为M的扩展,得到hk[n]

    • 分别对Mhk[n]进行相应的移位,然后就能合并得到h[n]

下面是一个M=4,k=3的例子

该过程在频域上表示为:

H(z)=k=0M1Ek(zM)zk

即系统函数H(z)可以被分解成多个经过延迟的滤波器之和,因此就可以把该系统表示成如下并联结构:

抽取/内插滤波器的多相实现

多相分解能降低抽取以及内插实现的计算量。直观地解释就是在抽取的时候,实际上所需要的序列数量只有原序列数量的1M;在内插的时候,对x[n]进行因子为L的扩展后,每L个样本才会有一个非零样本,而零样本是不需要计算的。详情请看下面的分析。

抽取滤波器

原抽取滤波器有如下形式

把抽取滤波器多相分解成如下图左边的形式,然后滤波器与压缩器进行互换就能得到右图的形式。

假设输入序列x[n]的采样率为一个单位时间,即一个单位时间采集一个样本。假设滤波器h[n]为有限长度滤波器(FIR),长度为N个点,那么原抽取滤波器在每个单位时间需要进行N次乘法以及N1次加法;在采用多相分解实现后,对每个分量来说,每M个单位时间才采集一次,即每一个时间单位采集1M次,并且滤波器变为ek[n],这些滤波器的长度为NM,因此对于每一个分量来说,每个单位时间的运算量为1MNM次乘法、1M(NM1)次加法。由于共有M个分量,因此整个系统在每个单位时间的运算量为乘法NM次、加法(NM1)+(M1)次。

内插滤波器

原内插滤波器有如下形式:

把内插滤波器多相分解为如下图左边的形式,然后滤波器与扩展器进行互换就能得到右图的形式。

假设输入序列x[n]的采样率为一个单位时间,即一个单位时间采集一个样本。假设滤波器h[n]为有限长度滤波器(FIR),长度为N个点,那么在对x[n]进行因子为L的增采样后,内插滤波器在每个单位时间需要进行NL次乘法以及L(N1)次加法;在采用多相分解实现后,对每个分量来说,每一个单位时间采集一次,并且滤波器变为ek[n],这些滤波器的长度为NL,因此对于每一个分量来说,每个单位时间的运算量为NL次乘法、(NL1)次加法。由于共有L个分量,因此整个系统在每个单位时间的运算量为乘法N次、加法NL+(L1)次。

多采样滤波器组

这一小节主要描述了一个使用了多相抽取以及内插结构的系统。

理想双信道分解/合成系统

如下图所示为一个语音编码中常用的对音频信号进行双信道分解(analysis)以及合成(synthesis)系统的结构框图。对结构中各部分的解释如下:

  1. 系统分解部分目的是对音频进行高频以及低频的划分,两个信道的带宽分别为|ω|<π2以及π2<|ω|<π,这部分的分解分别由低通滤波器h0[n]以及高通滤波器h1[n]完成。通常取h1[n]=ejπnh0[n],这意味着只需要对低通滤波器频谱左移π即可得到高通滤波器频谱,H1(ejω)=H0(ej(ωπ))

  2. 由于对源信号并行进行了两组滤波,样本数增加了一倍。为了保持滤波后信号的总样本数不变,需要对滤波后的信号进行压缩,压缩倍率为2,也就是使得低频序列v0[n]以及高频序列v1[n]各占一半的样本数。对信号进行压缩意味着信号频谱的扩展,滤波后的信号频谱的带宽分别为|ω|<π2以及π2<|ω|<π,而压缩后会使得两个信道的信号频谱都扩展到了|ω|<π

  3. 然后可以对v0[n],v1[n]进行各种处理。

  4. 系统合成部分的目的就是把两个信道的音频恢复成为全带宽的音频,对于每一个信道来说,此时的样本数只有原样本数的一半,因此需要先把样本进行2倍扩展。

  5. 最后分别通过一个低通滤波器以及高通滤波器完成重构,再把得到的信号相加即可得到全带宽音频。

理想情况下会有如下频谱变化:

式子推导如下:

Y(ejω)=expand{compress{X(ejω)H0(ejω)}}G0(ejω)+expand{compress{X(ejω)H1(ejω)}}G1(ejω)=expand{12[X(ejω/2)H0(ejω/2)+X(ej(ωπ)/2)H0(ej(ωπ)/2)]}G0(ejω)+expand {12[X(ejω/2)H1(ejω/2)+X(ej(ωπ)/2)H1(ej(ωπ)/2)]}G1(ejω)=12[X(ejω)H0(ejω)+X(ej(ωπ))H0(ej(ωπ))]G0(ejω)+12[X(ejω)H1(ejω)+X(ej(ωπ))H1(ej(ωπ))]G1(ejω)=12[G0(ejω)H0(ejω)+G1(ejω)H1(ejω)]X(ejω)+12[G0(ejω)H0(ej(ωπ))+G1(ejω)H1(ej(ωπ))]X(ej(ωπ))

对于上述式子,如果是理想滤波器,分频的低通滤波器H0(ejω)与重构的低通滤波器G0(ejω)的取值范围是仅在|ω|<π2处不为0,因此G0(ejω)Hej(ωπ)0的值为0;同理,理想滤波器的情况下,G1(ejω)H1(ej(ωπ))的值为0,所以上述式子的第二项在理想滤波器的情况下应为0。另外,第二项中的频谱包含ωπ相关项,而ωπ的相关项是由于信号的压缩带来的,因此这一项表征了压缩操作中潜在的混叠失真,而上述式子的第一项表征的是式子在理想情况下的分解与重构。

一种能消除混叠的重构系统

现实中不可能完全实现上述理想滤波器,不过我们也可以通过选取满足下述条件的滤波器来消除混叠:

G0(ejω)H0(ej(ωπ))+G1(ejω)H1(ej(ωπ))=0

该条件被称为混叠抵消条件,满足该式子的一组条件为

h1[n]=ejπnh0[n]g0[n]=2h0[n]g1[n]=2h1[n]H1(ejω)=H0(ej(ωπ))G0(ejω)=2H0(ejω)G1(ejω)=2H0(ej(ωπ))

把这些式子代入频谱函数得到

Y(ejω)=[H20(ejω)H20(ej(ωπ))]X(ejω)

因此完美重构(可能带M个样本延迟)要求

H20(ejω)H20(ej(ωπ))=ejωM

也就是说,在设计分解/合成系统的时候,如果能找到一个符合上面式子的滤波器H0(ejω),就能使用前面的式子来设计H1(ejω),G0(ejω),G1(ejω),得到一个完美重构系统。不过这只是其中的一种分解/合成系统,这类系统的频谱并不能很好地对源信号进行分频,变换过程与前面描述的理想重构系统并不一样(书中稍有涉猎)。

对于这里所描述的这种系统,可以通过多相分解来大幅降低计算量。

因为系统的压缩以及扩展的倍率为2,因此把h0[n]分成两个序列分量e00[n],e01[n],把g0[n]分成两个序列分量f00[n],f01[n]

结合前面的条件,有

e00[n]e01[n]e10[n]e11[n]f00[n]f01[n]f10[n]f11[n]=h0[2n]=h0[2n+1]=h1[2n]=ej2πnh0[2n]=e00[n]=h1[2n+1]=ej(2n+1)πh0[2n+1]=e01[n]=g0[2n]=2h0[2n]=2e00[n]=g0[2n+1]=2h0[2n+1]=2e01[n]=g1[2n]=2h1[2n]=2e00[n]=f00[n]=g1[2n+1]=2h1[2n+1]=2e01[n]=f01[n]

因此该系统可以优化为

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
《数字信号处理》PPT 第9章
第8章 多采样率数字信号处理
奥本海姆《信号与系统》(第2版)笔记和课后习题(含考研真题)详解(下册)
数字滤波器设计小结
频分复用
数字信号处理
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服