当前位置:文档之家› 多速率数字信号处理

多速率数字信号处理

数字信号探究性学习--多速率数字信号处理一、问题的提出在一维信号处理中,有效地利用抽取和插值操作以便与有处理带宽要求的信号处理系统的采样率相一致,这就是所谓的多速率数字信号处理。

在采样速率变化问题中,插值涉及到由滤波器引起上行采样,而抽取涉及到下行采样。

本次探究性学习即是分析抽取和插值过程的频谱特性的变化,然后研究整数倍抽取和插值,并在此基础上进一步研究有理数因子速率转换,其中也有几个应用例子。

二、对该问题的分析和具体实现(含程序及波形)多速率数字信号处理共分为三个方面的问题:信号整数倍抽取,信号整数倍插值,以及信号有理数倍速率转换。

以下将分别描述三个问题的原理和实现方法。

1、信号整数倍抽取(1)抽取过程的时域描述已知信号为x(n),抽取因子为M,抽取后得到信号为y(n),则整个信号抽取过程可表示为:y(n)= x(Mn)带有M因子的抽取过程分为两个步骤:首先,x(n)与一个周期为M的采样脉冲序列相乘,即每M个点保留一个点,其余M-1个点全为0,以便得到采样信号w(n);然后,去掉这些0点后得到一个低速率的信号y(n),具体描述如下:给定输入信号x(n),定义中间信号w(n)为:w(n)= x(n)抽取后信号为:y(n)= w(Mn)(2)抽取过程的频域描述为分析抽取信号的频谱,需要计算中间信号w(n)的频谱。

抽取信号的频谱与原来信号的频谱有以下关系:首先X(w)作M-1次等间隔平移,其平移间隔为2π/M,然后做叠加平均得到W(w);最后频谱拉伸M倍即可得到抽取信号的频谱。

(3)抽取过程的实际结构如果输入信号的频谱大于π/M,那么W(w)将会混叠,会给抽取信号的频谱带来失真,因为抽取信号的采样速率不允许降到奈奎斯特采样速率以下,因此在抽取前应进行“反混淆”滤波,该低通滤波器的截止频率为π/M。

由图(1)可知:图(1)所以令“反混叠”低通滤波器为理想滤波器,表示为:那么整个过程可描述为:信号X(w)通过低通滤波器H(w)(wc=π/M),然后伸长M倍即得抽取信号的频谱Y(w)。

MATLAB信号处理工具箱提供了抽取函数decimate用于信号整数倍抽取,其调用格式为:y=decimate(x,M)y=decimate(x,M,n)y=decimate(x,M,’fir’)y=decimate(x,M,n,’fir’)其中y=decimate(x,M)将信号x的采样率降低为原来的1/M。

在抽取前缺省地采用了8阶Chebyshev I型低通滤波器压缩频带;y=decimate(x,M,n)指定所采用chbyshev I型低通滤波器的阶数,通常n<13;y=decimate(x,M,`fir`)的30点滤波器来压缩频带;y=decimate(x,M,n,`fir`)指定所使用FIR滤波器的点数;以下为具体举例分析:【例】线性调频信号采样频率fs,采样点数为N=T*fs,现将其采样频率降为原来的1/2。

其MATLAB程序如下:k=1;T=4;fc=k*T;fs=4*fc;%(或是fs=2*fc)Ts=1/fs;N=T/Ts;x=zeros(1,N); t=0:N-1;x=cos(k*pi*(t*Ts).^2); subplot(2,2,1); stem(t*Ts,x); M=2;y=decimate(x,M); tnew=0:N/M-1; subplot(2,2,3); stem(tnew*M*Ts,y); X=fft(x);X=fftshift(X); subplot(2,2,2);plot((t-N/2)*fs/N,abs(X)); Y=fft(y);Y=fftshift(Y); subplot(2,2,4);plot((tnew-N/M/2)*fs/N,abs(Y)); 输出结果如图(2),(3)01234-1-0.500.5101234-1-0.500.511.5-4-202423456-2-101201234(2) fs=2fc01234-1-0.500.5101234-1-0.500.511.5-10-50510051015-4-20240246(3) fs=4fc若原信号采样率为fs=4fc ,从图(3)中可看出抽取后K 采样率降为仍然满足乃奎斯特准则,信号的频谱没有太大变化。

若原信号采样率为fs=2fc ,由图(2)可见,抽样后采样频率降为不满足乃奎斯特准则,信号频谱有较大变化,信号波形损失较大,由此可以看出信号采样会损失一定的信息。

2、信号整数倍插值 (1)插值过程的时域描述已知信号为x (n ),插值后得到的信号为u (n ),则整个信号抽取的过程可表示为用图(4)说明由“填零”方式进行上行采样的过程,这里L=3。

(4)(2)差值过程的频域描述对填充的信号进行傅里叶变换,得到的信号u(n)的频谱为由上式可知,以填充的信号频谱与经过频率压缩的输入信号频谱相关,它是原信号频谱的L倍压缩。

(3)插值过程的实际结构在实际的插值过程中,“插零”后以填充的信号还要经过低通滤波,滤波的目的在于消除填零过程引起的“复制”。

在时域中,可以将滤波操作看作为一个使得采样值被非零值代替的平滑运算。

通常情况下信号u(n)通过低通滤波器H(w),截止频率过程由图(5)表示。

(5)滤波采用理想的低通滤波器,其频率为则插值因子为l的插值过程可以分为两个步骤:首先用填零方式进行上行采样,然后对填充后的信号进行低通滤波。

从频域角度看,插值信号即为原信号在频域压缩l倍后经过低通滤波的结果。

MATLAB信号处理工具箱提供了插值函数interp用于信号整数倍插值,其调用格式为其中y=interp(x,L)将信号的采样频率提高到原来的L倍;y=interp(x,L,n,alpha)指定反混叠滤波器的长度n和截止频率alapha,缺省值为4和0.5;[y,b]=interp(x,L,n,alpha)在插值的同时,返回反混叠滤波器的系数向量。

具体举例分析如下:【例】线性调频信号,采样频率fs,采样点数为。

现将其采样率提高为原来的3倍。

MATLAB程序如下:k=1;T=4;Fc=k*T;Fs=2*fc;Ts=1/fs;N=T/Ts;x=zeros(1,N);t=0:N-1;x=cos(k*pi*(t*Ts).^2);sublot(2,2,1);stem(t*Ts,x);y=interp(x,3); subplot(2,2,3); tnew=0:3*N-1; stem(tnew*Ts/3,y); X=fft(x); X=fftshift(X); Subplot(2,2,2); plot(abs(X)); Y=fft(y); Y=fftshift(Y); subplot(2,2,4); plot(abs(Y));程序输出结果如图所示:01234-1-0.500.5101234-3-2-1012010203040234560501005101520(6)由图(6)可见,采样率fs=2fc ,采样后采样率为fs ’=Lfs=6fc 。

但采样率提高不会增加信号的信息。

3. 信号有理数倍速率转换(1)信号有理数倍速率转换实现结构对于任一有理数,均可表示为分数形式。

采样率经由一个有理因子L/M 来改变,可以用前面讨论过的插值和抽取结构的串联来实现。

首先,用L 因子插入信号,然后用M 因子来抽取信号,插值过程的平滑滤波器和抽取过程的反混叠滤波器可以合并为一个低通滤波器,其截止频率为:wc=min{pi/M,pi/L} 即先插值后抽取可以节省一个滤波器。

下图给出了采样速率通过L/M 因子改变的系统框图。

(7)(2)信号有理数倍速率转换频谱变化以有理因子F=L/M=3/2,即L=3,M=2来说明信号有理数倍速率转换频谱变化过程。

MATLAB信号处理工具箱提供了重采样函数resample用于有理数倍速率转换,其调用格式为:y=resample(x,L,M)y=resample(x,L,M,n)y=resample(x,L,M,n,beta)y=resample(x,L,M,b)[y,b]=resample(x,L,M)其中,y=resample(x,L,M)将信号x的采样率转换为原来的L/M倍,所用的低通滤波器为kaiser窗的FIR滤波器。

y=resample(x,L,M,n)指定用x左右两边各n个数据作为重采样的邻域;y=resample(x,L,M,n,beta)指定kaiser窗的FIR滤波器的设计参数,缺省值为5;y=resample(x,L,M,b)指定用于重采样的滤波器系数向量;[y,b]=resample(x,L,M)除得到重采样信号外,还返回所使用的滤波器系数向量b;下面为具体举例分析:【例】线性调频信号,采样率fs,采样点数为N=Tfs。

现将其采样率提高为原来的3/2倍。

其MATLAB程序如下:k=1;T=4;fc=k*T;fs=2*fc;Ts=1/fs;N=T/Ts;x=zeros(1,N);t=0:N-1;x=cos(k*pi*(t*Ts).^2);subplot(2,2,1);stem(t*Ts,x);L=3;M=2;y=resample(x,L,M);subplot(2,2,3); tnew=0:L/M*N-1;stem(tnew*M/L*Ts,y); X=fft(x);X=fftshift(X); subplot(2,2,2);plot((t-N/2)*fs/N,abs(X)); Y=fft(y);Y=fftshift(Y); subplot(2,2,4);plot((tnew-N*L/M/2)*fs/N,abs(Y)); 程序运行结果如下图(8)所示:01234-1-0.500.5101234-2-1012-4-202423456-10-55100246810(8)由图(8)可见,采样率fs=2fc ,采样后采样率为fs ’=(L/M)fs=3fc 。

同样地采样率提高不会增加信号的信息。

三、课题结论在实际工作中,数字信号采样率的转换是经常遇到的。

无论抽取还是插值均不会增加信号的信息量,甚至在抽取时会减少。

并且抽取时可能会引起信号的畸变,这一点在处理过程中应重视。

在做课题的过程中,利用MATLAB 软件及对程序运行结果的分析,可得出以下结论:(1)若原信号经抽取后采样率仍然满足乃奎斯特准则,则信号的频谱没有太大变化;若原信号抽样后采样频率降为不满足乃奎斯特准则,则信号频谱有较大变化,信号波形损失较大。

整数倍抽取不会增加信号的信息量,但有时信号采样会损失一定的信息。

(2)原信号经整数倍插值后采样率fs’变为原来的L倍,但采样率提高不会增加信号的信息量。

(3)原信号经有理数倍速率转换后采样率fs’变为原来的(L/M)倍,但同样地,采样率提高不会增加信号的信息量。

相关主题