资源描述:
《数字信号多采样率设计报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验名称:多采样率数字信号处理实验原理:多采样率数字信号处理共分为3方面的问题:信号的整数倍抽取、信号的整数倍插值和信号的冇理数倍速率转换。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的采样率降低为原来的丄,抽取前缺省地采M用8阶ChebyshevI型低通滤波器压缩频带。y=d
2、ecimate(x,M,n)指定所采用ChebyshevI型低通滤波器的阶数,通常«<13oy=decimate(x,M,,fir,)指定用FIR滤波器来压缩频带。y=decimate(x,M,n,,fir,)指定所用FIR滤波器的阶数。Matlab信号处理工具箱提供了插值函数interp用于信号整数倍插值,其调用格式为:y=interp(x,L)y=interp(x,L,n,alpha)[y,b]=intei*p(x,L,n,alpha)其屮y=interp(x,L)将信号的采样率捉高到原来的L倍。y=inte
3、rp(x,L,n,alpha)指定反混叠滤波器的长度〃和截止频率alpha,缺省值为4和0.5o[y,b]=interp(x,L,n,alpha)在插值的同时,返回反混叠滤波器的系数向量。信号的有理数倍速率转换是使信号的采样率经由一个有理因子厶/M来改变,可以通过插值和抽取的级联来实现。Matlab信号处理工具箱提供了重采样函数resample用于冇理倍数速率转换,其调用格式为:y=resample(x,L,M);y=resample(x,L,M,n);y=resample(x,L?M,n,beta);y=res
4、ample(x,L,M,b);[y,b]二y=resample(x,L,M);其中,y=resample(x,L,M);将信号x的采样率转换为原來的厶/M倍,所用的低通滤波器为kaiser窗的FIR滤波器。y=resample(x,L,M,n)指定用x左右两边各n个数据作为重采样的邻域。y二resample(x,L,M,n,beta)指定Kaiser窗的FIR滤波器的设计参数,缺省值为5oy=resample(x,L,M,b)指定用于重采样的滤波器系数向量。[y,b]=resample(x,L,M)除了得到重采样
5、信号外,还返回所使用的滤波器系数向量。二.实验内容:1、令兀®)=cos(2刃?〃£),〃/;=1/12,实现以下采样率的转换:(1)作厶=2倍的插值;⑵作M=3倍的抽取;(3)作L/M=2/3倍的采样率转换。给出相对每一种情况下的数字滤波器的频率特性和频率传换后的信号波形。2、录制一段语音信号,对录制的信号进行采样,画出采样前后语音信号的时域波形和频谱图,改变信号的采样率,输出改变采样率后信号的频谱,对比前后语咅信号的变化。三.程序:(1)n=():30;x=cos(2*pi*n/!2);y=interp(x,
6、3);figure;subplot(2,2,l),stem(x);山收原始信号时域图xlabel('(a)');subplot(2,2,2);plot(abs(fft(x)));曲eC原始信号频域图J;xlabel('(b)');subplot(2,2,3);stem(y);titled插值后的信号时域图xlabelC(c)');subplot(2,2,4);plot(abs(fft(y)));titled插值后的信号频域图);xlabeKXd)*);原始信号时域图原始信号频域图15,100•010203040(
7、b)插值后的信号频域图40
8、30j
9、・20-10I*-o'~,————050100⑵t=0:.00025:l;x=cos(2*pi*t/12);y=decimate(x,3);figure,subplot(2,2,1),stem(x(1:120));titled原始信号时域图),xlabel('(a)‘);subplot(2,2,2),plot(abs(fft(x))),title(,原始信号频域图'),xlabel('(b)');subplot(2,2,3),stem(y(1:30));titleC抽取后的信号
10、时域图’),xlabel('(c)');subplot(2,2,4),plot(abs(fft(y)));titleC抽取后的信号频域图J,xlabelC(d));原始信号时域團原始信号频域團302010(a)抽取后的信号时域图(C)0••0204060(b)抽取后的信号频域图8i011105101520(d)n=0:3&x=cos(2*pi*n/12);[y,b]=re