**信号与系统课程实践报告**1内容与要求采集一段人说话时的声音,并进一步经过若干次的取样,从而得到对同一段连续信号在不同取样频率下的离散信号,比如最初的取样频率是44kHz,那么经过下取样后可以得到在22kHz、11kHz、5.5kHz、2.75kHz等频率下的取样结果。试针对该信号及其取样信号,分析取样率对信号重构的影响,通过编写重构运算程序计算重构误差。2思路与方案注:原理见信号书P184-185页首先,将采样后的信号进行快速傅里叶变换到频域,根据时域采样定理,使用低通滤波器对信号频谱进行滤波,获得原始信号的所有信息,然后根据下采样频率恢复原来的声音信号。将恢复的声音信号和原始信号分别在空域和频域进行相减,然后与原始信号的空域和频域曲线相比较,分析重构信号与原始信号的误差,即信号重构误差。3成果展示原始信号**取样信号(22k,11k,5.5k,2.75k)******重构信号(22k,11k,5.5k,2.75k)********22k时重构误差代码:[X,fs]=audioread('D:\文本文档\01-江山此夜.wav');ts=1/fs;N=length(X)-1;t=0:1/fs:N/fs;Nfft=N;df=fs/Nfft;fk=(-Nfft/2:Nfft/2-1)*df;subplot(211)t_range=[0,350,-2,2];**plot(t,X);axis(t_range);Original_f=ts*fftshift(fft(X,N));subplot(212)f_range=[-4000,4000,0,0.6];plot(fk,Original_f);axis(f_range);%对信号进行采样%采样频率为22kHzdeX=resample(X,22000,44100);ts=1/22000;N=length(deX)-1;t=0:1/fs:N/fs;Nfft=N;df=fs/Nfft;fk=(-Nfft/2:Nfft/2-1)*df;figure(2)subplot(211)t_range=[0,200,-2,2];plot(t,deX);**axis(t_range);deX_f=ts*fftshift(fft(deX,N));subplot(212)f_range=[-8000,8000,0,0.6];plot(fk,deX_f);axis(f_range);%对信号进行重构%BP=fir1(300,[00,6000]/(fs/2));%reX=filter(BP,1,deOrginal_f);%reX_sound=ifft(reX);BP=fir1(300,[100,6000]/(fs/2));reX=filter(BP,1,deX);reX=resample(reX,44100,22000);ts=1/22000;N=length(reX)-1;t=0:1/fs:N/fs;Nfft=N;df=fs/Nfft;sound(reX,fs);fk=(-Nfft/2:Nfft/2-1)*df;figure(3)plot(t,reX);title('重构信号');reX_f=ts*fftshift(fft(reX,N));**figure(4)f_range=[-4000,4000,0,0.6];plot(fk,reX_f);axis(f_range);%采样前和采样后的振幅相减reX=reX(1:N-1,:);de_re=X-reX;figure(5)plot(t(:,1:N-1),de_re);title('重构误差');4总结与感想经过此次MATLAB课程设计我学到了很多知识和学习方法。在信号与系统课上所学的那点知识需要结合实践才有用处。所以为了做好这次的课程设计,我上网搜索了许多与此有关的知识,这个过程中我也学会了好多。在这次设计中,我学到了对信号的采样定理的应用,以及信号的重构,并通过观察MATLAB所生成的频谱图,进一步了解了有关信号的采样与重构,对信号的采样程度进行比较其误差,了解不同采样程度的重构信号和原信号所产生的差异。通过对不同的采样频率对同一信号进行下采样并进行信号重构,分析了各个采样频率下信号的重构误差,理解了采样信号恢复原始信号全部信息的原理,实现了奈奎斯特采样定律下信号重构方法。5参考资料[1]吴大正.信号与线性系统分析(第4版)[M].高等教育出版社,2004.