抽取与内插的频谱分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
抽取与内插的频谱分析
工科试验班
钟汇凯
3080100443
我们知道,为了避免在抽样信号中出现混叠,抽样定理要求被抽样的信号是一个带限信号。然而,在实际应用中,绝大多数信号都不能满足这个要求,为了减小混叠的影响以及放宽对滤波器性能指标的要求,在实际应用中往往采取一种提高抽样率的办法,使信号的抽样率远远大于限带滤波器通带频率的两倍。例如,在下图中,当抽样频率略大于限带频率 ωm 的两倍时,混叠的影响还是很明显的,而当抽样频率远远大于两倍的 ωm 时,混叠的影响就非常之小了。
虽然提高抽样率可以减小混叠的影响,但是,在对连续时间信号进行处理的离散时间系统中,过高的抽样率将增加系统的成本,因为,过高的抽样率将要求离散时间系统以较高的速率工作,而高速率器件的成本一般都要贵于低速率的器件。可以设想,如果能对信号的抽样率进行调整,使得在信号的抽样和恢复中使用较高的抽样率,在离散时间处理中使用较低的抽样率,那么,上述性能和成本的矛盾就可以得到适当的折中,而离散时间信号的抽取和内插就是一种调整信号抽样率的办法。从技术性能层面来看。这两种方法类似于连续时间信号的抽样和内插。
抽取
离散时间信号的抽取包含信号抽样和尺度变换两个步骤:首先,以抽样间隔N 对离散时间信号进行抽样,然后再对抽样信号进行1/ N 的尺度压缩变换。下图是离散时间信号的抽取过程,图中,x [ n ] 是离散时间信号,xs [ n ] 是抽样信号,抽样间隔N=3,xd [ n ] 是抽取信号,它是xs [ n ] 进行1/N 尺度压缩变换后所得到的结果。
由图可见,在抽样信号xs [ n ] 和抽取信号xd [ n ] 之间存在以下关系:
(1)
由于抽样信号xs [ n ] 在N 的整数倍上和离散时间信号x [ n ] 相等,因此,式(4.55)也可等效为:
(2)
虽然式(1)和式(2)在形式上完全相同,但两者的含义不同:式(1)的含义是,抽取信号xd [ n ] 是由抽样信号xs [ n ] 进行1/N 尺度压缩变换的结果;而式(2)的含义是,抽取信号xd [ n ] 是从离散时间信号x [ n ] 中每隔(N-1)个点取一个样本值所组成的一个新序列,这个过程就称为离散时间信号的抽取。
既然xd [ n ] 是xs [ n ] 进行尺度变换的结果,那么,利用xs [ n ] 的傅里叶变换和傅里叶变换的尺度换性质就可以求得抽取信号xd [ n ] 的变换式。
根据式(1)和傅里叶变换的尺度变换特性可以求得:
(3)
而抽样信号xs [ n ] 的傅里叶变换为:
(4
将此式代入式(3)而得:
由于,抽取信号xd [ n ] 的傅里叶变换为:
(4.59)
此式表明,抽取信号的频谱是被扩展N 倍的离散时间信号的频谱以2p 为间隔周期重复的结果。或者说,抽取信号的频谱由N 个离散时间信号的频谱叠加而成,这N 个频谱的频带被扩展了N 倍,而且,每个频谱之间相距2p 。如果考虑抽取信号和抽样信号之间的关系,那么,由式(3)可知,抽取信号的频谱仅仅是抽样信号频谱扩展N 倍的结果。下图给出了当N = 3 时,离散时间信号、抽样信号以及抽取信号的频谱,其中,下图a主要用来说明抽取信号的频谱和抽样信号频谱之间的关系,而下图b主要用来说明抽取信号的频谱和原序列频谱之间的关系。
内插
离散时间信号的内插是抽取的逆过程,它可以增加信号的抽样率,因此,内插也称为增抽样。内插一般用来从抽取信号中还原出离散时间信号,其基本过程是在抽取信号的两个相邻样本值之间插入(N -1)个零值点,这也是从抽取信号到抽样信号的转换,然后再利用一个低通滤波器滤出原离散时间信号,整个过程的相关波形及系统结构如图。
根据内插的定义,当n/N为整数时,抽取信号xd [ n ]和内插信号xi [ n的关系为:
而当不为整数时,xi [ n ] = 0。根据这个定义可将抽取信号表示为:
(5)
再利用尺度变换性质,可以求得:
(6)
该式表明,内插信号的频谱是对抽取信号的频谱进行尺度压缩变换的结果,其尺度因子为1/N 。
如果使内插信号通过一个截止频率为的低通滤波器,则滤波器的输出就是离散时间信号x [ n ],这样,我们就从抽取信号中还原出了原来的离散时间信号,整个还原过程的相关频谱如图所示,图中假设内插因子N = 3 。
举例与MATLAB分析抽取X[ones(1,11)] X1=X[2N] X2=X[3N] MATLAB仿真
内插x1=[zeros(1,18),1,1,1,1,1,zeros(1,18)];
x2=[zeros(1,16),1,0,1,0,1,0,1,0,1,zeros(1,16)];
x3=[zeros(1,14),1,0,0,1,0,0,1,0,0,1,0,0,1,zeros(1,14)]; MATLAB仿真: