数字信号处理实验_第1页
数字信号处理实验_第2页
数字信号处理实验_第3页
数字信号处理实验_第4页
数字信号处理实验_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、物理与电子电气工程学院 实验报告物理与电子电气工程学院实验报告课程名称:数字信号处理院 系:物电学院专 业:电子信息工程班 级:1307学 号:171313199姓 名:董宝坤- 2 -实验报告(1)实验名称常见离散信号产生与实现实验日期指导教师一、实验目的1. 掌握MATLAB语言的基本操作,学习基本的编程功能。2. 掌握几种基本的离散时间信号(包括单位抽样序列,单位阶跃序列,单频正弦序列,单频复指数序列,实指数序列等)。3.能够熟练利用MATLAB产生这些基本的离散时间信号。二、预习要求1熟悉各种常用序列,掌握序列matlab实现。2预习MATLAB中序列产生的调用函数及绘制图形函数ste

2、m()。三、实验内容利用MATLAB编程产生和绘制下列有限长序列:(1)单位脉冲序列(2)单位阶跃序列(3)矩形序列(4)正弦型序列(5)任意序列四、实验报告1实现上述各序列。2. 画出各序列的图形,并对结果进行分析。n=-3:3;x=impDT(n);stem(n,x,'fill'),xlabel('n'),grid ontitle('单位脉冲序列')axis(-3 3 -0.1 1.1)n=0:39;x=2*sin(pi/5*n+pi/3);stem(n,x,'fill'),xlabel('n'),grid o

3、ntitle('正弦型序列x(n)=2*sin(pi/5*n+pi/3)')axis(0,40,-2,2);n=0:39;x=2*sin(pi/5*n+pi/3);stem(n,x,'fill'),xlabel('n'),grid ontitle('正弦型序列x(n)=2*sin(pi/5*n+pi/3)')axis(0,40,-2,2);n=0:39;x=2*sin(pi/5*n+pi/3);stem(n,x,'fill'),xlabel('n'),grid ontitle('正弦型序列x

4、(n)=2*sin(pi/5*n+pi/3)')axis(0,40,-2,2);n=-3:5;x=impDT(n)+2*impDT(n-1)+3*impDT(n-2)+4*impDT(n-3)+5*impDT(n-4);stem(n,x,'fill'),xlabel('n'),grid ontitle('x(n)')axis(-3 5 -1 8)n=-3:5;x=impDT(n)+2*impDT(n-1)+impDT(n-2)+2*impDT(n-3);stem(n,x,'fill'),xlabel('n'

5、),grid ontitle('h(n)')axis(-3 5 -1 3)分析总结: 经本次实验我了解了单位阶跃序列、单位阶跃序列、正弦序列、指数序列及复指数序列的实现方法,并通过绘出它们的图形掌握了各个函数的特点,此次实验编写的均是子程序,方便以后随时调用。实验报告(2)实验名称离散时间系统的时域分析实验日期指导教师一、实验目的1学会运用MATLAB求解离散时间系统的零状态响应。2学会运用MATLAB求解离散时间系统的单位取样响应。3学会运用MATLAB求解离散时间系统的卷积和。二、预习要求1. 预习实验中基础知识,熟悉MATLAB指令及y=filter(b,a,x)、imp

6、z(b,a,N)、y=conv(x,h)函数。2. 结合实验内容,提前编制相应的程序。3思考改变差分方程的形式,单位抽样响应将如何变化。三、实验内容1. 试用MATLAB命令求解以下离散时间系统的单位取样响应。(1)(2)2. 已知某系统的单位取样响应为,试用MATLAB求当激励信号为时,系统的零状态响应。四、实验报告1根据内容要求,写出调试好的MATLAB语言程序及对应的MATLAB运算结果。2. 根据实验结果,对系统的单位取样响应和零状态进行讨论和总结。1.(1)a=3 4 1;b=1 1;n=0:10;x=impDT(n);h=filter(b,a,x);stem(n,h,'fi

7、ll'),grid onxlabel('n'),title('系统单位取样响应h(n)')a=3 4 1;b=1 1;n=0:10;impz(b,a,10),grid ontitle('系统单位取样响应h(n)')(2)a=5/2 6 10;b=1;n=0:10;x=impDT(n);h=filter(b,a,x);stem(n,h,'fill'),grid onxlabel('n'),title('系统单位取样响应h(n)')a=5/2 6 10;b=1;n=0:10;impz(b,a,1

8、0),grid ontitle('系统单位取样响应h(n)')2.nx=-1:5;nh=-2:10;x=uDT(nx)-uDT(nx-5); h=(7/8).nh.*(uDT(nh)-uDT(nh-10); y=conv(x,h); ny1=nx(1)+nh(1); ny=ny1+(0:(length(nx)+length(nh)-2); subplot(311) stem(nx,x,'fill'),grid on xlabel('n'),title('x(n)') axis(-4 16 0 6)subplot(312) stem

9、(nh,h','fill'),grid on xlabel('n'),title('h(n)') axis(-4 16 0 6) subplot(313) stem(ny,y,'fill'),grid on xlabel('n'),title('y(n)=x(n)*h(n)') axis(-4 16 0 6)分析总结:若是在实验中有某些读不懂的函数,可以通过Help-àsearch输入要hg查找的函数名。结合软件显示的图片和理论结果进行比较,看是否一致。若是使用函数,应事先将函数代

10、码输进M文件进行保存后再输入程序代码进行编程。若是出现错误,仔细阅读错误的原因,认真摸索查找,进行改正。(1)产生N个元素矢量函数 x=zeros(1,N) (2)计算系统的单位冲激响应h(n)的两种函数 y=impz(b,a,N) 功能:计算系统的激励响应序列的前N个取样点 y=filter(b,a,x) 功能:系统对输入进行滤波,如果输入为单位冲激序列(n),则输出y即为系统的单位冲激响应h(n).用MATLAB求一个函数的单位取样响应,已知差分方程时,可直接调用系统函数filter(b,a,x)、impz(b,a,N)函数来求,但用filter函数需将激励定义为impDT函数,且已知激励

11、X,而impz函数并不需要其中的N样值个数。同时因为系统的零状态响应是激励与系统的单位取样响应的卷积,所以当知道h(n)和激励时,也可用conv(x,h)函数来求。实验报告(3)实验名称离散时间LTI系统的z域分析实验日期指导教师一、实验目的1. 学会运用MATLAB分析离散时间系统的系统函数的零极点。2. 学会运用MATLAB分析系统函数的零极点分布与其时域特性的关系。3. 学会运用MATLAB进行离散时间系统的频率特性分析。二、预习要求1. 预习实验中基础知识,熟悉MATLAB指令及freqz()、abs()、angle()函数。2. 结合实验内容,提前编制相应的程序。3熟悉系统稳定的充要

12、条件及学过的稳定判据。三、实验内容1. 试用MATLAB画出下列因果系统的系统函数零极点分布图,并判断系统的稳定性。(1) (2)2. 试用MATLAB绘制系统的频率响应曲线。四、实验报告1根据内容要求,写出调试好的MATLAB语言程序及对应的MATLAB运算结果。2. 根据实验,思考freqz有哪些调用方式?频率响应有何特征?B=2,-1.6,-0.9;A=1,-2.5,1.96,-0.48;zplane(B,A),grid onlegend('零点','极点')title('零极点分布图')B=1,-1;A=1,-0.9,-0.65,0.87

13、3,0;zplane(B,A),grid onlegend('零点','极点')title('零极点分布图')b=1 0 0;a=1 -3/4 1/8;H,w=freqz(b,a,400,'whole');Hm=abs(H);Hp=angle(H);subplot(211)plot(w,Hm),grid onxlabel('omega(rad/s)'),ylabel('Magnitude')title('离散系统幅频特性曲线')subplot(212)plot(w,Hp),grid

14、onxlabel('omega(rad/s)'),ylabel('Phase')title('离散系统相频特性曲线')分析总结:MATLAB提供了专门用于求离散系统频响特性的函数freqz(),调用freqz()的格式主要有以下两种: 1. H,w=freqz(B,A,N) 其中B和A分别为离散系统的系统函数分子、分母多项式的系数向量,N为正整数,若N默认,默认值为512。返回值w则包含范围内N个频率等分点返回值H则是离散时间系统频响在0p范围内N个频率等分点的值。2. H,w=freqz(B,A,N,whole)该调用格式将

15、计算离散系统在0p内的N个频率等分店的频率响应的值。 因此,可以先调用freqz()函数计算系统的频率响应,然后利用abs()和angle()函数及plot()函数,即可绘制出系统频响曲线。与第一种方式不同之处在于角频率的范围由0, p扩展到0,2p.第一个式子:有一个极点位于圆外,所以系统不稳定第二个式子:极点均位于圆内,系统稳定p 第三个式子:零点位于原点处,所以对幅度无影响,而极点在单位圆内,所以系统稳定。实验报告(4)实验名称用FFT进行谱分析实验日期指导教师一、实验目的掌握快速傅立叶变换的应用方法。二、预习要求1. 预习实验中的基础知识,运行编制好的MATLAB语

16、句,熟悉fft()函数。2. 根据实验中各的X(k)值以及频谱图,说明参数的变化对信号频谱产生哪些影响?3. 思考如果周期信号的周期预先不知道,如何用FFT进行分析?三、实验内容1 模拟信号,以进行采样,求:(1)N40点FFT的幅度频谱,从图中能否观察出信号的2个频谱分量?(2)提高采样点数,如N128,再求该信号的幅度频谱,此时幅度频谱发生了什么变化?信号的2. 利用MATLAB编程产生和绘制下列有限长序列并编写程序实现信号的谱分析。,四、实验报告1根据内容要求,写出调试好的MATLAB语言程序及对应的结果。2. 结合实验中所得给定典型序列幅频特性曲线,与理论结合比较,并分析说明误差产生的

17、原因以及用FFT作谱分析时有关参数的选择方法。3. 总结实验所得主要结论。N=40;n=0:N-1;t=0.05*n;x=2*sin(4*pi*t)+5*cos(8*pi*t);k=0:N/2;w=2*pi/N*k;X=fft(x,N);magX=abs(X(1:N/2+1);subplot(2,1,1);stem(n,x,'.');title('signal x(n)');subplot(2,1,2);stem(w/pi,magX);title('FFT N=40');xlabel('f (unit :pi)');ylabel(

18、'|X|');gridN=128;n=0:N-1;t=0.05*n;x=2*sin(4*pi*t)+5*cos(8*pi*t);k=0:N/2;w=2*pi/N*k;X=fft(x,N);magX=abs(X(1:N/2+1);subplot(2,1,1);stem(n,x,'.');title('signal x(n)');subplot(2,1,2);stem(w/pi,magX);title('FFT N=40');xlabel('f (unit :pi)');ylabel('|X|');gr

19、idN=12;n=0:N-1;t=0.05*n;x=cos(n*pi/8);k=0:N/2;w=2*pi/N*k;X=fft(x,N);magX=abs(X(1:N/2+1);subplot(2,1,1);stem(n,x,'.');title('signal x(n)');subplot(2,1,2);stem(w/pi,magX);title('FFT N=12');xlabel('f (unit :pi)');ylabel('|X|');gridN=18;n=0:N-1;t=0.05*n;x=cos(n*pi

20、/8);k=0:N/2;w=2*pi/N*k;X=fft(x,N);magX=abs(X(1:N/2+1);subplot(2,1,1);stem(n,x,'.');title('signal x(n)');subplot(2,1,2);stem(w/pi,magX);title('FFT N=18');xlabel('f (unit :pi)');ylabel('|X|');gridN=32;n=0:N-1;t=0.05*n;x=cos(n*pi/8);k=0:N/2;w=2*pi/N*k;X=fft(x,N);

21、magX=abs(X(1:N/2+1);subplot(2,1,1);stem(n,x,'.');title('signal x(n)');subplot(2,1,2);stem(w/pi,magX);title('FFT N=32');xlabel('f (unit :pi)');ylabel('|X|');gridN=12;n=0:N-1;t=0.01*n;x=cos(0.125*pi*n)+2*cos(0.25*pi*n);k=0:N/2;w=2*pi/N*k;X=fft(x,N);magX=abs(X(1:

22、N/2+1);subplot(2,1,1);stem(n,x,'.');title('signal x(n)');subplot(2,1,2);stem(w/pi,magX);title('FFT N=12');xlabel('f (unit :pi)');ylabel('|X|');gridN=16;n=0:N-1;t=0.01*n;x=cos(0.125*pi*n)+2*cos(0.25*pi*n);k=0:N/2;w=2*pi/N*k;X=fft(x,N);magX=abs(X(1:N/2+1);subplo

23、t(2,1,1);stem(n,x,'.');title('signal x(n)');subplot(2,1,2);stem(w/pi,magX);title('FFT N=16');xlabel('f (unit :pi)');ylabel('|X|');gridN=32;n=0:N-1;t=0.01*n;x=cos(0.125*pi*n)+2*cos(0.25*pi*n);k=0:N/2;w=2*pi/N*k;X=fft(x,N);magX=abs(X(1:N/2+1);subplot(2,1,1);stem

24、(n,x,'.');title('signal x(n)');subplot(2,1,2);stem(w/pi,magX);title('FFT N=32');xlabel('f (unit :pi)');ylabel('|X|');grid分析总结: 对信号进行谱分析的重要问题是频谱分辨率D和分析误差,频谱分辨率直接和FFT的变换区间N有关,因为FFT能够实现频率分辨率是2pi/N<=D,可根据此式选择FFT的变换区间N,误差主要来自于FFT作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有

25、当N较大时,离散谱的包络才能逼近于连续谱,因此N要适当选择大一些。周期信号的频谱是离散谱,只有当整数倍周期的长度作FFT,得到的离散谱才能代表周期信号的频谱。如果不知道信号周期,可以尽量选择信号的观察时间长一些。误差产生的原因(1).对周期序列的截取不当,造成频谱泄露(2)。抽样点数N太少,频率分辨率不够用FFT做谱分析时参数的选择(1)。抽样频率要满足奈奎斯特准则,不小于信号最高频率的2倍。(2).在抽样频率一定的情况下,抽样点数N要适当。太小会造成频率分辨力不够,太大会造成数据冗余。对周期序列,最好截取周期的整数倍进行谱分析实验五 数字滤波器的结构一、 实验目的(1) 加深对数字滤波器分类

26、与结构的了解;(2) 明确数字滤波器的基本结构及其相互间的转换方法;(3) 掌握用MATLAB进行数字滤波器各种结构相互间转换的子函数及程序编写方法。二、 实验原理一个离散LSI系统可用系统函数来表示;也可用差分方程来表示:当至少有一个不为0时,则在有限z平面上存在极点,表示一个IIR数字滤波器;当全都为0时,系统不存在极点,表示一个FIR系统。IIR数字滤波器的基本结构分为直接型、直接型、级联型和并联型。FIR数字滤波器的基本结构分为横截型、级联型、并联型、线性相位型和频率抽样型。三、 实验仪器 微型计算机、MATLAB 四、 实验内容(1) 已知一个IIR系统的系统函数为 将其从直接型转换

27、为级联型和并联型结构,并画出各种结构的流程图。(2) 已知一个FIR系统的系统函数为将其从横截型转换为级联型结构,并画出各种结构的流程图。(1) 已知一个IIR系统的系统函数为 将其从直接型转换为级联型和并联型结构,并画出各种结构的流程图。级联型clc;clear allb=0.1,-0.4,0.4,-0.1;a=1,0.3,0.55,0.2;sos,G=tf2sos(b,a)sos = 1.0000 -2.6180 0 1.0000 0.3519 0 1.0000 -1.3820 0.3820 1.0000 -0.0519 0.5683G = 0.1000H(Z)=0.1(1-2.6180z

28、(-1)/(1-1.3820z-1+0.3820(-2)*(1+0.3519z(-1)/(1-0.0519z(-1)+0.5683z(-2)并联型clc;clear allb=0.1,-0.4,0.4,-0.1;a=1,0.3,0.55,0.2;C,B,A=tf2par(b,a)C = -0.5000B = -0.5786 0.0148 1.1786 0A = 1.0000 -0.0519 0.5683 1.0000 0.3519 0H(Z)=(-0.5)+(-0.5786)+0.0148z(-1)/1-0.0519z(-1)+0.5683z(-2)+1.1786/(1+0.3519z(-1)

29、(2) 已知一个FIR系统的系统函数为FIR从横截型转换为级联型结构clc;clear allb=0.2,0.885,0.212,0.212,0.885;sos,G=tf2sos(b,1)sos = 1.0000 5.2830 4.6386 1.0000 0 0 1.0000 -0.8580 0.9540 1.0000 0 0G =0.2000H(Z)=0.2(1+5.2830z(-1)+4.6386z(-2)/(1-0.8580z(-1)+0.9540z(-2)实验报告(6)实验名称实验六 IIR数字滤波器的设计实验日期指导教师一、实验目的1. 要求掌握IIR数字滤波器的设计原理、设计方法和

30、设计步骤。2. 能根据给定的滤波器指标进行滤波器设计。3. 掌握数字巴特沃斯滤波器、数字切比雪夫滤波器设计原理和步骤。二、预习要求1. 预习实验中的基础知识,运行编制好的MATLAB语句,熟悉函数bilinear,impinvar,butter,buttord。2. 思考双线性变换法中和之间的关系是怎样的。3. 能否利用公式完成脉冲响应不变法的数字滤波器设计?为什么?三、实验内容1、基于Butterworth型模拟滤波器原型使用冲激不变转换方法设计数字滤波器,要求具有下面的参数指标:通带截止频率: 通带波动值:阻带截止频率: 阻带波动值:2、基于Butterworth型模拟滤波器原型使用双线性

31、不变法设计数字滤波器,要求具有下面的参数指标:通带截止频率: 通带波动值:阻带截止频率: 阻带波动值:四、实验报告要求1按照实验步骤及要求,比较各种情况下的滤波性能。2. 总结实验所得主要结论。1、基于Butterworth 型模拟滤波器原型使用冲激不变转换方法设计数字滤波器,要求具有下面的参数指标:通带截止频率: Wp= 0.2 通带波动值:Rp=1dB 阻带截止频率: Ws= 0.3 p 阻带波动值:As=15dBRp=1;As=15;wp=0.2*pi;ws=0.3*pi;T=1;wap=2*tan(wp/2);was=2*tan(ws/2);n,wn=buttord(wap,was,R

32、p,As,'s');bs,as=butter(n,wn,'s'); bz,az=bilinear(bs,as,T);Rip=10(-Rp/20);Atn=10(-As/20);H,w=freqz(bz,az,500);mag=abs(H); db=20*log10(mag/max(mag); figure;subplot(2,1,1);plot(w/pi,mag);title('幅频特性');xlabel('w(/pi)');ylabel('|H(jw)|');axis(0,1,0,1.1);set(gca,'XTickMode','manual','XTick',0 0.2 0.3 0.5 1);set(gca,'YTickMode','manual','YTick',0 Atn Rip 1);grid on;subplot(2,1,2);plot(w/pi,db);title('幅频特性(db)');xlabel('w(/pi)');ylabel('dB');axis(0,1,-40,5);set(gca,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论