当前位置:文档之家› DSP实习实验报告

DSP实习实验报告

M A T L A B上机实习报告姓名:班级:指导老师:2009.12.13一、实验课程名称:数字信号处理二、实验目的掌握应用MATLAB 解决数字信号处理问题的方法,即熟悉应用MATLAB 处理数字信号处理问题相关的函数。

三、实验设备安装有MATLAB 软件的计算机四、实验内容编写MATLAB 程序,实现下列题目:实验一:设线性时不变(LTI )系统的冲激响应为h(n),输入序列为x(n)1、h(n)=(0.8)n ,0≤n ≤4; x(n)=u(n)-u(n-4)2、h(n)=(0.8)n u(n), x(n)=u(n)-u(n-4)3、h(n)=(0.8)n u(n), x(n)=u(n)求以上三种情况下系统的输出y(n)。

实验二:1、设有离散序列 x(n)=cos(0.48πn)+cos(0.52πn)分析下列三种情况下的幅频特性。

(1) 采集数据长度N=16,分析16点的频谱,并画出幅频特性。

采集数据长度N=16,并补零到64点,分析其频谱,并画出幅频特性。

(2) 采集数据长度N=64,分析64点的频谱,并画出幅频特性。

观察三幅不同的幅频特性图,分析和比较它们的特点及形成原因。

2、实现序列的内插和抽取所对应的离散傅里叶变换。

(选做)()()n R n n n x 128]365.1cos 36[cos ⎪⎭⎫ ⎝⎛+⎪⎭⎫ ⎝⎛=ππ 求()()n x n x 41=和()⎪⎭⎫ ⎝⎛=42n x n x 对应的128点傅里叶变换,比较三个结果所得到的幅频特性,分析其差别产生的原因。

实验三:1、设计一个Butterworth 数字低通滤波器,设计指标如下:通带截止频率:0.2π,幅度衰减不大于1分贝阻带截止频率:0.3π,幅度衰减大于15分贝2、让不同频率的正弦波通过滤波器,验证滤波器性能。

3、分析不同滤波器的特点和结果。

4、编程设计实现IIR 滤波器。

选取合适窗函数设计一个线性相位FIR低通滤波器,使它满足如下性能指标:通带截止频率:ωp=0.5π,通带截止频率处的衰减不大于3分贝;阻带截止频率:ωs=0.66π,阻带衰减不小于40分贝。

五、实验过程1、熟悉与离散信号频谱分析相关的MATLAB函数(参考老师提供的PPT);2、通过运行附录2中提供的例题,熟悉用MATLAB解决数字信号处理问题的基本方法;3、根据实验内容中各个题目的要求,编写MATLAB程序代码,调试程序,分析并保存结果。

六、实验中的主要结论、实践技能和心得体会本次DSP实习,即MATLAB软件应用于处理数字信号处理问题。

通过这三次实习我对MATLAB 软件由完全不懂到现在能调用相关函数处理比较简单的问题,同时通过网络资源来帮助自己更好的利用该软件为解决现实中的相关问题服务。

在实习上机的过程中,就是对我们数字信号处理基础知识的巩固,虽然很多比较复杂的问题我们可以交给函数处理,但是对题目的理解及如何调用函数、处理的流程这些能力、知识全是我们课堂所学。

锻炼了我们理论联系实际,用理论武器解决现实问题的能力。

但是,要真正熟练掌握MATLAB软件还需要更多的实践。

七、实验结果对实验练习题编写MATLAB程序并运行,在计算机上输出仿真结果。

附录2 解题程序实验一:1、2小题相似,以下给出第2小题程序,该程序可以用于该类问题的求解,仅需改变相关系数即可。

Matlab程序:x=[ones(1,4)]; %输入为矩形脉冲序列,为一行4列向量N1=length(x);n1=0:N1-1; %序列长度为N1N2=100;n2=0:N2-1;h=0.8.^n2; %冲激响应N=N1+N2-1;n=0:N-1;y=conv(x,h); %调用卷积函数,x、h是参数subplot(311);stem(n1,x);subplot(312);stem(n2,h);subplot(313);stem(n,y);3、第3小题将N1、N2取100即可近似实现。

x=[ones(1,100)]; %输入为矩形脉冲序列,为一行4列向量N1=length(x);n1=0:N1-1; %序列长度为N1N2=100;n2=0:N2-1;h=0.8.^n2; %冲激响应N=N1+N2-1;n=0:N-1;y=conv(x,h); %调用卷积函数,x、h是参数subplot(311);stem(n1,x);subplot(312);stem(n2,h);subplot(313);stem(n,y);运行结果:实验二:1、本题即DFT求解,因无DFT函数,改为调用FFT函数求解。

N1=16;N2=64;n1=0:N1-1;n2=0:N2-1;x=cos(0.48*pi*n)+cos(0.52*pi*n);x1=(1:N1);Y1=fft(x1,N1);magY1=abs(Y1);k1=0:N1-1;w1=2*pi/N1*k1;x2=[x1 zeros(1,N2-N1)];Y2=fft(x2,N2);magY2=abs(Y2);k2=0:N2-1;w2=2*pi*k2/N2;Y3=fft(x,N2);magY3=abs(Y3);k3=0:N2-1;w3=2*pi/N2*k3;subplot(231);stem(n1,x1);title('没有足够点的采样信号');subplot(234);stem(w1/pi,magY1);title('信号的频谱');subplot(232);stem(n2,x2);title('添零信号');subplot(235);stem(w2/pi,magY2);title('高密度频谱');subplot(233);stem(n2,x2);title('有足够采样点的信号');subplot(236);stem(w3/pi,magY3);title('高分辨率频谱');试验结果:实验三:1、本题我参考了网上相似的资料,并根据自己在课堂上所学的Butterworth数字低通滤波器设计方法进行理解,基本掌握该设计方法。

另:该资料中不少函数用的是改进过的函数。

Matlab程序如下:wp=0.2*pi; %通带截止频率ws=0.3*pi; %阻带截止频率Rp=1; % 通带幅度衰减As=15; % 阻带幅度衰减Ripple=10^(-Rp/20);Attn=10^(-As/20);T=1; % 令抽样周期T=1OmegaP=wp/T; % 模拟域通带频率OmegaS=ws/T; % 模拟域阻带频率[cs,ds]=afd_butt(OmegaP,OmegaS,Rp,As); %系数按降幂排列[b,a]=impinvar(cs,ds,1/T);[C,B,A]=dir2par(b,a);[dBz,magz,phaz,grd,w]=freqz_m(b,a);subplot(2,2,1);plot(w/pi,magz); %数字滤波器幅度响应title('数字滤波器幅度响应');xlabel('Frequency in pi units');axis([0,1,0,1.2]);set(gca,'XTickMode','manual','XTick',[0,wp/pi,ws/pi,1]);set(gca,'YTickMode','manual','YTick',[Attn,Ripple,1]);grid;subplot(2,2,2);plot(w/pi,phaz/pi); %数字滤波器相位响应title('数字滤波器相位响应');xlabel('Frequency in pi units');ylabel('pi units');axis([0,1,-1.1,1.1]);set(gca,'XTickMode','manual','XTick',[0,wp/pi,ws/pi,1]); set(gca,'YTickMode','manual','YTick',[-1,-0.5,0,0.5,1]); grid;subplot(2,2,3);plot(w/pi,dBz); %数字滤波器幅度响应(dB)title('数字滤波器幅度响应(dB)');xlabel('Frequency in pi units');axis([0,1,-30,5]);set(gca,'XTickMode','manual','XTick',[0,wp/pi,ws/pi,1]); set(gca,'YTickMode','manual','YTick',[-As,-Rp,0]); grid;subplot(2,2,4);plot(w/pi,grd); %数字滤波器群延时title('数字滤波器群延时');xlabel('Frequency in pi units');ylabel('samples');axis([0,1,0,10]);set(gca,'XTickMode','manual','XTick',[0,wp/pi,ws/pi,1]); set(gca,'YTickMode','manual','YTick',[2,4,6,8,10]); grid;运行结果:Butterworth Filter Order= 64、IIR滤波器的Matlab程序如下:Wp=0.2*pi;Wt=0.3*pi;Ap=1;At=15;T=1;fs=1/T;wp=(2/T)*tan(Wp/2); %预畸变wt=(2/T)*tan(Wt/2); %预畸变[n,wc]=buttord(wp,wt,Ap,At,'s');%巴特沃斯滤波器阶数估计[z,p,k]=buttap(n); %巴特沃斯模拟低通滤波器原型[bp,ap]=zp2tf(z,p,k); %零极点增益模型转换为传递函数模型[bs,as]=lp2lp(bp,ap,wp); %改变低通模拟滤波器的截止频率[bz,az]=bilinear(bs,as,fs); %双线性变换[h,w]=freqz(bz,az); %计算数字滤波器的频率响应subplot(211);H=20*log10(abs(h));plot(w,H);title('数字滤波器频率响应');grid;subplot(212);pha=angle(h); %求相角plot(w,pha);title('数字滤波器相位响应');grid;运行结果:实验四:题目中要求阻带衰减不小于40分贝,故可以选择汉宁窗、海宁窗、布拉克曼窗,我们选择的是汉宁窗。

相关主题