南京信息工程大学数字信号处理实验报告01.学院:电子与信息工程学院班级:11通信1班学号:20111334020姓名:杨丹指导教师:乔杰2013/12/6目录实验一Matlab基本知识和信号处理工具箱 (3)实验二离散信号的产生及分析 (5)实验三离散傅立叶变换及分析 (8)实验四IIR数字滤波器的分析与设计 (12)实验五FIR数字滤波器的分析与设计 (14)实验一 Matlab 基本知识和信号处理工具箱一、实验目的1、 了解Matlab 的基本操作2、 了解Matlab 工具箱的函数3、 正确使用Matlab 进行试验仿真二、实验内容(一)画出振荡曲线 和它的包络程序如下:t=0:pi/20:4*pi; yy=exp(-t/3);y=exp(-t/3).*sin(3*t); plot(t,y,'-r'); hold onplot(t,yy,':b',t,-yy,':b'); grid on shg实验结果:(二)sawtooth 产生锯齿波或三角波在Matlab 命令窗口中输入以下命令,也可以用脚本文件来实现。
程序如下:t=-10:0.1:10; x=sawtooth(t);)3sin(3/t e y t -=3/t e yy -=plot(t,x)grid onShg实验结果:三、实验小结在本次实验中,了解了Matlab的基本操作,基本了解了信号处理工具箱的使用方法,能够进行简单的波形绘制。
对波形代码参量有了基本的识别能力。
实验二 离散信号的产生及分析一、实验目的利用函数、脚本文件或在主命令窗口中编写离散信号命令二、实验内容(一)生成离散信号 并画出复序列x(n)的实部,虚部,幅值和相位图。
程序如下:figure(1);clfn=-15:24;alpha=-0.3+j*0.5; x=exp(alpha.*n);subplot(221);stem(n,real(x));title('real part');xlabel('n');subplot(222);stem(n,imag(x));title('imaginary part');xlabel('n'); subplot(223);stem(n,abs(x));title('magnitude part');xlabel('n'); subplot(224);stem(n,angle(x)*180/pi);title('phase part');xlabel('n');实验结果:(二)请给出离散系统 的单位抽样响应和单位阶跃响应2415,)()5.03.0(<≤-=+-n e n x nj )2(2)()2(7.0)1(3.0)(-+=-+--n x n x n y n y n y程序如下:a=[1,-0.3,0.7];b=[1,0,2];x=impseq(0,-20,120);n=[-20:120];h=filter(b,a,x);subplot(211);stem(n,h);subplot(212);axis([-20,120,-1.1,1.1]);title('冲激响应');xlabel('n');ylabel('h(n)');x=stepseq(0,-20,120);s=filter(b,a,x);subplot(212);stem(n,s)axis([-20,120,-0.5,3]);title('阶跃响应');xlabel('n');ylabel('s(n)');其中,impseq为单位冲激序列的生成函数,程序如下:function [x,n]=impseq(n0,n1,n2)n=[n1:n2];x=[(n-n0)==0];stepseq为单位阶跃序列的生成函数,程序如下:function [x,n]=stepseq(n0,n1,n2)n=[n1:n2];x=[(n-n0)>=0];实验结果:(三)请给出序列 的频谱 要求数字频率范围为程序如下:n=-5:14; x=(-0.5).^n;k=-300:300;w=(pi/100)*k; Xw=x*exp(-j*pi/100*n'*k); magXw=abs(Xw); angXw=angle(Xw); subplot(211)plot(w,magXw);gridxlabel('frequency in units of pi');ylabel('|X|'); subplot(212)plot(w,angXw);gridxlabel('frequency in units of pi');ylabel('angle/pi')实验结果:三、实验小结学习了离散信号的产生与分析,包括对其相位谱幅度谱的理解与分析。
对Matlab 的编程有了一定的了解。
能够进行简单的编程。
145,)5.0()(≤≤-=n n x n )(jw e X ππ33≤≤-w实验三 离散傅立叶变换及分析一、实验目的1、 正确使用Matlab 进行仿真实验2、 能够正确理解与分析序列的离散傅里叶变换二、实验内容 (一)程序如下: n=0:1:99;x=cos(0.23*pi*n)+cos(0.34*pi*n); figure(1);n1=0:1:19;y1=x(1:20); subplot(211);stem(n1,y1);title('长度为20的信号');xlabel('n'); axis([0,10,-2.5,2.5]);Y1=fft(y1); magY1=abs(Y1(1:6)); k1=0:1:5;w1=2*pi/10*k1;subplot(212);stem(w1,magY1);title('samples of DTFT magnitude'); xlabel('freuency in pi'); axis([0,pi,0,15]); figure(2)n3=[0:1:99];y3=[x(1:10),zeros(1,90)]; subplot(211);stem(n3,y3); title('补零后的信号'); xlabel('n');axis([0,100,-2.5,2.5]);Y3=fft(y3); magY3=abs(Y3(1:51)); k3=0:50;w3=2*pi/100*k3; subplot(212);plot(w3,magY3); title('DTDT Magnitude'); xlabel('frequency in pi'); axis([0,pi,0,10]); figure(3)subplot(211);stem(n,x);title('长度为100的信号x(n)'); xlabel('n');axis([0,99,-2.5,2.5]);函数实现请用示例中的所有的离散傅里叶变换求取求以补零的方式加长到中的将的求时取DFT );k (X ),100n 0)(n (x )3();k (X ,100n 0)n (x )1()2(;)k (X DFT )n (x ,)02n 0)(n (x )1()n 43.0(cos )n 32.0(cos )n (x ≤≤≤≤≤≤+=ππX=fft(x);magX=abs(X(1:51));k=0:50;w=2*pi/100*k;subplot(212);plot(w,magX);title('幅频响应'); xlabel('frequency in pi');axis([0,pi,0,60]);实验结果:(二) 请利用DFT 函数实现 并与直接线性卷积的结果比较,看是否一致。
程序如下: n_x=0:6;xn=exp(-2*n_x);hn=[-1,2,1,3];n_h=0:3; xn_z=[xn,zeros(1,5)]; hn_z=[hn,zeros(1,8)]; Xk=fft(xn_z); Hk=fft(hn_z); Yk=Xk.*Hk; yn=ifft(Yk); n_y=0:11;yn_c=conv(xn,hn); figure(1); subplot(3,2,1) stem(n_x,xn); grid on;title('x(n)');xlabel('n'); subplot(3,2,2) stem(n_h,hn); grid on;title('h(n)');xlabel('n'); subplot(3,1,2);{}3,1,2,1)(,60,)(2-=≤≤=-n h n e n x n)(*)()(n h n x n y =stem(n_y,yn);grid on;title('利用DFT计算得到的y(n)');xlabel('n');subplot(313)n_y=0:9;stem(n_y,yn_c);grid on;title('直接作线性卷积得到的y(n)');xlabel('n');实验结果:三、实验小结学习了离散傅里叶变换的程序编写,了解了怎样求频率响应,掌握了计算物理分辨率和计算分辨率的方法,学会了用DFT方式进行卷积与直接线性卷积的的方法。
实验四IIR数字滤波器的分析与设计一、实验目的正确使用Matlab进行IIR数字滤波器的仿真、分析与设计二、实验内容(一)设数据采样率为900Hz,现在要设计一9阶的高通Butterworth型数字滤波器,截止频率为300Hz。
程序如下:[b,a]=butter(9,300/450,’high’);freqz(b,a,128,900)实验结果:(二)设计5阶的带阻切比雪夫II型数字滤波器,阻带为100Hz<w<200Hz,阻带比通带低20dB,系统采样频率为1000Hz。
程序如下:Wn=[100 200]/500;[b,a]=cheby2(5,20,Wn,’stop’);freqz(b,a,512,1000);实验结果:(三)设计一低通切比雪夫I型数字滤波器,通带范围0-100Hz,通带波纹3dB,阻带衰减-30dB,系统采样率为1000Hz。