数字信号处理课程设计实验报告基础实验实验一离散时间系统及离散卷积一、实验目的(1)熟悉MATLAB软件的使用方法。(2)熟悉系统函数的零极点分布、单位脉冲响应和系统频率响应等概念。(3)利用MATLAB绘制系统函数的零极点分布图、系统频率响应和单位脉冲响应。(4)熟悉离散卷积的概念,并利用MATLAB计算离散卷积。二、实验容1、离散时间系统的单位脉冲响应(1)选择一个离散时间系统;(2)用笔进行差分方程的递推计算;(3)编制差分方程的递推计算程序;(4)在计算机上实现递推运算;(5)将程序计算结果与笔算的计算结果进行比较,验证程序运行的正确性;2.离散系统的幅频、相频的分析方法(1)给定一个系统的差分方程或单位取样响应;(2)用笔计算几个特殊的幅频、相频的值,画出示意曲线图;(3)编制离散系统的幅频、相频的分析程序;(4)在计算机上进行离散系统的幅频、相频特性,并画出曲线;(5)通过比较,验证程序的正确性;3.离散卷积的计算(1)选择两个有限长序列,用笔计算其线性卷积;(2)编制有限长序列线性卷积程序;(3)利用计算程序对(1)选择的有限长序列进行卷积运算;(4)比较结果验证程序的正确性。三、实验要求(1)编制实验程序,并给编制程序加注释;(2)按照实验容项要求完成笔算结果;(3)验证编制程序的正确性,记录实验结果。(4)至少要求一个除参考实例以外的实例,在实验报告中,要描述清楚实例中的系统,并对实验结果进行解释说明。四、实验程序及其结果1、离散时间系统的脉冲响应%y(n)-0.9y(n-1)+0.5y(n-2)=x(n)+0.5x(n-1)设x(n)=2^n;0=n=15clearall;b=[1,0.5];a=[1,-0.9,0.5];n=0:15;x=impseq(0,0,15)h=filter(b,a,x);%系统冲击响应subplot(2,1,1);stem(n,h);title('系统冲激响应');xlabel('n');ylabel('h');n=0:15;x=2.*n;nx=0:15;nh=0:15;y=conv_m(x,nx,h,nh);ny=length(y);n=0:ny-1;subplot(2,1,2);stem(n,y);title('系统对x(n)响应');xlabel('n');ylabel('y');B=roots(b);A=roots(a);figure;zplane(B,A);2、离散系统的幅频、相频的分析方法%差分方程为y(n)-1.76y(n-1)+1.1829y(n-2)-0.2781y(n-3)%=0.0181x(n)+0.0543x(n-1)+0.0543x(n-2)+0.0181x(n-3)b=[0.0181,0.0543,0.0543,0.0181];a=[1.000,-1.76,1.1829,-0.2781];m=0:length(b)-1;l=0:length(a)-1;K=500;k=0:1:K;w=pi*k/K;H=(b*exp(-j*m'*w))./(a*exp(-j*l'*w));%计算频率相应magH=abs(H);%magH为幅度angH=angle(H);%angH为相位subplot(2,1,1);plot(w/pi,magH);grid;xlabel('以\pi为单位的频率');ylabel('幅度');title('幅度响应');subplot(2,1,2);plot(w/pi,angH);grid;xlabel('以\pi为单位的频率');ylabel('相位');title('相位响应');3、离散卷积的计算%x=[1,4,3,5,3,6,5],-4=n=2%h=[3,2,4,1,5,3],-2=n=3%求两序列的卷积clearall;x=[1,4,3,5,3,6,5];nx=-4:2;h=[3,2,4,1,5,3];nh=-2:3;ny=(nx(1)+nh(1)):(nx(length(x))+nh(length(h)));y=conv(x,h);n=length(ny);subplot(3,1,1);stem(nx,x);xlabel('nx');ylabel('x');subplot(3,1,2);stem(nh,h);xlabel('nh');ylabel('h');subplot(3,1,3);stem(ny,y);xlabel('n');ylabel('x和h的卷积');实验二离散傅里叶变换与快速傅里叶变换一、实验目的(1)加深理解离散傅立叶变换及快速傅立叶变换概念;(2)学会应用FFT对典型信号进行频谱分析的方法;(3)研究如何利用FFT程序分析确定性时间连续信号;(4)熟悉应用FFT实现两个序列的线性卷积的方法。二、实验容1、用离散傅立叶变换程序处理时间抽样信号,并根据实序列离散傅立叶变换的对称性,初步判定程序的正确性;2.观察三角波和反三角波序列的时域和幅频特性,用N=8点FFT分析信号序列的幅频特性,观察两者的序列形状和频谱曲线有什么异同?绘出两序列及其幅频特性曲线。三角波序列反三角波序列elsennnnnxc048301)(elsennnnnxd043304)(3.已知余弦信号如下当信号频率F=50Hz采样间隔T=0.000625s,采样长度N=64时,对该信号进行傅里叶变换。用FFT程序分析正弦信号,分别在以下情况进行分析。(1)F=50,N=32,T=0.000625;(2)F=50,N=32,T=0.005;(3)F=50,N=32,T=0.0046875;(4)F=50,N=32,T=0.004;(5)F=50,N=64=0.0006254.选定某一时间信号进行N=64点离散傅立叶变换,并且,对同一信号进行快速傅立叶变换,并比较它们的速度。三、实验要求1、编制DFT程序及FFT程序,并比较DFT程序与FFT程序的运行时间。给编制的程序加注释;2.完成实验容2,并对结果进行分析。在单位圆Z上的变换频谱会相同吗?如果不同,你能说出那个低频分量更多吗?为什么?3.完成实验容3,并对结果进行分析;4.利用编制的计算卷积的计算程序,给出一下三组函数的卷积结果。(1))2cos()(Fttx其它01401)(nnx14054)(nnhn(2)(3)四、实验程序及其结果分析1、离散傅里叶变换function[Xk]=dft(xn,N)%计算N点的DFTn=0:1:N-1;k=0:1:N-1;WN=exp(-j*2*pi/N);nk=n'*k;WNnk=WN.^nk;Xk=xn*WNnk;End2、(1)三角波clearall;n=0:1:7;x1=(n+1).*(n=0).*(n=3)+(8-n).*(n=4);%三角波序列subplot(3,1,1);stem(n,x1);title('三角波序列');xlabel('n');N=8;k=0:N-1;X1=fft(x1,N);magX1=abs(X1);phaX1=angle(X1);subplot(3,1,2);stem(k,magX1);xlabel('k');ylabel('三角波DFT的幅度');subplot(3,1,3);stem(k,phaX1);xlabel('k');ylabel('三角波DFT的相位');其它0901)(nnx190)5.0sin(5.0)(nnnh90)1.01()(nnnx901.0)(nnnh(2)反三角波clearall;n=0:1:7;x2=(4-n).*(n=0).*(n=3)+(n-3).*(n=4);%反三角波序列subplot(3,1,1);stem(n,x2);title('反三角波序列');xlabel('n');N=8;k=0:N-1;X2=fft(x2,N);magX2=abs(X2);phaX2=angle(X2);subplot(3,1,2);stem(k,magX2);xlabel('k');ylabel('幅度');subplot(3,1,3);stem(k,phaX2);xlabel('k');ylabel('相位');结果分析:由图知:三角波和反三角波序列的波形不同,当N=8时,正反三角波的幅频特性相同,因为两者的时域只差一个相位3、余弦信号的FFT分析cleaall;F=50;N=32;T=0.000625;%(1)F=50,N=32,T=0.000625n=1:N;x=cos(2*pi*F*n*T);figure(1);subplot(2,1,1);plot(n,x);ylabel('x(n)');xlabel('n');title('(1)F=50,N=32,T=0.000625');X=fft(x);magX=abs(X);subplot(2,1,2);plot(n,X);ylabel('FFT|X|');xlabel('f(pi)');F=50;N=32;T=0.005;%(2)F=50,N=32,T=0.005n=1:N;x=cos(2*pi*F*n*T);figure(2);subplot(2,1,1);plot(n,x);ylabel('x(n)');xlabel('n');title('(2)F=50,N=32,T=0.005');X=fft(x);magX=abs(X);subplot(2,1,2);plot(n,X);ylabel('FFT|X|');xlabel('f(pi)');F=50,N=32,T=0.0046875;%(3)F=50,N=32,T=0.0046875n=1:N;x=cos(2*pi*F*n*T);figure(3);subplot(2,1,1);plot(n,x);ylabel('x(n)');xlabel('n');title('(3)F=50,N=32,T=0.0046875');X=fft(x);magX=abs(X);subplot(2,1,2);plot(n,X);ylabel('FFT|X|');xlabel('f(pi)');F=50,N=32,T=0.004;%(4)F=50,N=32,T=0.004n=1:N;x=cos(2*pi*F*n*T);figure(4);subplot(2,1,1);plot(n,x);ylabel('x(n)');xlabel('n');title('(4)F=50,N=32,T=0.004');X=fft(x);magX=abs(X);subplot(2,1,2);plot(n,X);ylabel('FFT|X|');xlabel('f(pi)');F=50,N=64,T=0.000625;%(5)F=50,N=64,T=0.000625n=1:N;x=cos(2*pi*F*n*T);figure(5);subplot(2,1,1);plot(n,x);ylabel('x(n)');xlabel('n');title('(5)F=50,N=64,T=0.000625');X=fft(x);magX=abs(X);subplot(2,1,2);plot(n,X);ylabel('FFT|X|');xlabel('f(pi)');结果分析;不同的采样间隔会产生不同的栅栏效应,相当于透过栅栏观赏风景,只能看到频谱的一部分,而其它频率点看不见,因此很可能使一部分有用的频率成分被漏掉,从而产生不同的频谱图,减小栅栏效应可用提高采样间隔也就是频率分辨力的方法来解决。间隔小,频率分辨力高,被“挡住”或丢失的频率成分就会越少。但会增加采样点数,使计算工作量增加。4、卷积计算clearall;n=0:14;x1=1.*(n=0).*(n=14);%第一组函数h1=(4/5).^n;N=27;y=circonvt(x1,h1,N);disp(y);subplot(3,1,1);i=