数字信号处理实验报告书

上传人:liy****000 文档编号:120205273 上传时间:2020-02-05 格式:DOCX 页数:30 大小:4.33MB
返回 下载 相关 举报
数字信号处理实验报告书_第1页
第1页 / 共30页
数字信号处理实验报告书_第2页
第2页 / 共30页
数字信号处理实验报告书_第3页
第3页 / 共30页
数字信号处理实验报告书_第4页
第4页 / 共30页
数字信号处理实验报告书_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《数字信号处理实验报告书》由会员分享,可在线阅读,更多相关《数字信号处理实验报告书(30页珍藏版)》请在金锄头文库上搜索。

1、数字信号处理实验报告书班级:姓名:学号:联系方式:2019年12月实验一 离散时间信号产生,图形显示及文件读存实验1. 实验目的1、熟悉常用的MATLAB命令,掌握离散时间信号的时域表示方法;2、掌握用MATLAB描绘二维图像的方法;3、掌握用MATLAB存读文件的方法。2. 实验原理及实验内容1、实验原理序列的表示方法有列举法、解析法和图形法,相应的用MATLAB也可以用以下几种表示方法,具体介绍如下:(1)列举法在MATLAB中,用一个列向量来表示一个有限长序列,由于一个列向量并不包含位置信息,因此需要用表示位置的n和表示量值的x两个向量来表示任意一个序列,如:例1.1:n=-3,-2,-

2、1,0,1,2,3,4; x=2 5 1 2 0 3 -1 4;如果不对向量的位置进行定义,则MATLAB默认该序列的起始位置为n=0。由于内存有限,MATLAB不能表示一个无限序列。(2)解析法对于有解析表达式的确定信号,首先定义序列的范围即n的值,然后直接写出该序列的表达式,如:例1.2:实现实指数序列的MATLAB程序为:n=0:10; x=(0.5).n;(3)图形法在MATLAB中用图形法表示一个序列,是在前两种表示方法的基础上将序列的各个量值描绘出来,即首先对序列进行定义,然后用相应的画图语句画图,如:例1.3:绘制在1中用列举法表示的序列的图形,则在向量定义之后加如下绘图语句:s

3、tem(n,x);MATLAB中数据格式主要有二进制格式和ASCII码格式,使用函数完成数据存取功能。2、实验内容(1)产生一个单位抽样序列和一个有延迟的单位抽样序列,并在同一界面绘制其序列图形。(2)产生一个向前时移3个时刻的单位阶跃序列:,其中,绘制其序列的图形。(3)产生一个复指数序列:,绘制其序列的图形,绘制其实部、虚部、幅度和相位波形。(4)将数据文件保存为.dat文件和ASCII码相应文件3. 实验程序及实验结果1-1 n = -1:8; x = zeros(1,1),1,zeros(1,8); stem(n,x) axis(-5,10,0,2); n = -1:8; x = ze

4、ros(1,6),1,zeros(1,3); stem(n,x) axis(-5,10,0,2);1-2 n = -5:5; x = zeros(1,2),ones(1,9); stem(n,x)1-3n0 = -30;n2 = 30;n = n0:n2;x = 5*exp(3j*n);figure(1)subplot(411)stem(n,real(x),filled);axis(-30,30,min(real(x)-1,1.2*max(real(x)title(复指数序列)ylabel(实部);grid;subplot(412)stem(n,imag(x),filled);axis(-30

5、,30,min(imag(x)-1,1.2*max(imag(x)ylabel(虚部);xlabel(n);grid;subplot(413)stem(n,abs(x),filled);axis(-30,30,min(abs(x)-1,1.2*max(abs(x)ylabel(振幅);xlabel(n);grid;subplot(414)stem(n,angle(x),filled);axis(-30,30,min(angle(x)-1,1.2*max(angle(x)ylabel(相位);xlabel(n);grid;4. 心得体会很久没用MATLAB了,不会新建脚本,在编辑器中写代码而在命

6、令行窗口编辑代码,造成了很多不必要的麻烦。而后请教同学打开了编辑器。编写代码方便了许多。通过实验一,我学会了离散时间信号产生,图形显示及文件读存,在课本以及网上找类似的代码“临摹”,不仅有助于我学习使用MATLAB产生抽样序列和复指数序列的方法,更培养了我独立自学的能力。实验二 离散信号的卷积和实验1. 实验目的1、掌握两个离散信号卷积和的计算方法和编程技术;2、掌握用MATLAB描绘二维图像的方法。2. 实验原理及实验内容1、卷积和的原理两个离散序列x(n)与y(n)的卷积和f(n)定义为:由于通常信号处理中所碰到的都是有始信号或有限时间信号,因此在实际计算卷积和时,求和是在有限范围内进行的

7、。计算过程中上下限的选取和所得结果的分布区间取决于参与卷积的两个序列,下面将分别进行讨论:两个从n=0开始的序列和的卷积:(1)上式右边因子u(n)表示卷积和的结果也是一个从n = 0开始的序列。从n=n1开始的序列和从n=n2开始的序列的卷积和,其中n1和n2为任意整数。 (2)上式右边因子u(n-n1-n2)表示卷积和是一个从n=n1+n2开始的序列。从n=n1开始的长度为N1的加窗序列和从n=n2开始的长度为N2的加窗序列的卷积和,其中则 (3)所得卷积和也是一个加窗序列,从n = n1+ n2开始,长度为N1+ N2-1。MATLAB提供了一个内部函数conv(x,h)用来计算两个有限

8、长度序列的卷积,该函数得到的卷积结果默认从n=0开始,因此当参与卷积的两个序列的起始位置不是n=0时,则由该函数得到的计算结果将出现错误,此时需要重新定义结果的位置向量。由以上卷积运算的原理可知,两有限长序列卷积后仍为有限长序列,长度为两序列长度之和减1,结果的起始位置为两序列起始位置之和,截止位置为两序列截止位置之和。据此,可以得到卷积结果的位置向量。2、实验内容已知某系统的单位取样响应为,试用MATLAB求当激励信号为时,系统的零状态响应。系统的零状态响应是激励与系统的单位取样响应的卷积。3. 实验程序及实验结果subplot(311)n=-2:8;y1=zeros(1,2),ones(1

9、,9);y2=zeros(1,6),ones(1,5);x=y1-y2;stem(n,x)axis(-2,8,0,2);subplot(312)n=-2:8;y1=zeros(1,2),ones(1,9);y3=zeros(1,10),ones(1,1);h=(0.8).n.*(y1-y3);stem(n,h)axis(-2,8,0,2);subplot(313)z=conv(x,h);plot(z);4. 心得体会通过这次实验,我领会到了严谨治学,一丝不苟的态度,在科学研究中的重要性,有时科学研究会是极其枯燥的,可能是复杂的数学演算,或是一次次重复的实验,但不论是什么,我们都要抱以认真务实的

10、态度对待科学,绝不可草草了事,我们现在是站在巨人的肩膀上学习,要抓重点,抓主线,把最本质的东西弄懂,弄通。比如傅立叶变换,才能在学习心知识的时候多思考,多总结发现内在规律才能有创造性的思考问题。实验三 吉布斯现象实验1. 实验目的1、理解吉布斯现象的定义;2、掌握矩形波信号及傅里叶级数的表示方法;3、观察信号对比效果图,进一步认识吉布斯现象。2. 实验原理及实验内容1、吉布斯现象介绍将具有不连续点的周期函数(如矩形脉冲)进行傅立叶级数展开后,选取有限项进行合成。当选取的项数越多,在所合成的波形中出现的峰起越靠近原信号的不连续点。当选取的项数很大时,该峰起值趋于一个常数,大约等于总跳变值的9%。

11、2、实验内容(1)生成一个周期为T,幅值为F,占空比为50%的矩形波信号;【注】MATLAB中可能用到的函数:方波生成函数square( )。一般形式为“y=A*square(B*t+C)”,其中A是方波信号的幅值,B是方波的角频率,C是方波的初相。(2)求矩形波信号的傅里叶展开式;(3)用plot函数绘制傅里叶级数展开式,观察求和项数变化对矩形波合成情况的影响。3. 实验程序及实验结果t=-2:0.01:2;T=15 25 51 101;for k=1:length(T) a=0; for n=1:2:T(k) b=exp(1i*n*pi*t)/n; a=a+b; end y=2*a/(1j

12、*pi); x=0.5*square(pi*t); figure; p=plot(t,real(y),t,x); axis(-2,2,-0.8,0.8); set(gca,XTick,-2:1:2) set(gca,YTick,-2:1:2) set(gca,XTicklabel,-2,-1,0,1,2) set(gca,YTicklabel,-0.8,-0.4,0,0.4,0.8) xlabel(自变量) ylabel(函数值) titlemsg=sprintf(吉布斯现象N=%d的合成波形,T(k); title(titlemsg) text(0,0.5,leftarrow方波函数,Hor

13、izontalAlignment,left) set(gcf,Color,w)end 4. 心得体会通过此次课程设计,我对设计所用到的软件MATLAB有了更加深刻地了解,MATLAB不管在数值计算方面的功能很强大,而且其图形仿真功能更能满足各个领域的需要,因此我们以后更要经常运用MATLAB软件,使其成为自己不可或缺的工具。实验四 离散信号FFT的实现实验1. 实验目的1、了解离散信号FFT算法的思想2、了解DFT,DIF算法的思想3、学习并使用MATLAB掌握FFT算法。2. 实验原理及实验内容1. 简介在信号处理中,常常遇到的不是一个连续的函数,而是离散的数列。以等间隔时间取样的时间序列,

14、.,为例,这里的数据个数为N。对于有限长离散数字信号xn,0nN-1,其离散谱xk可以由离散傅氏变换(DFT)求得。DFT的定义为:上式也可表示为:2. 快速傅里叶变换快速傅立叶变换是傅立叶变换的一种快速算法,简称FFT,采用FFT算法能够大大减小计算离散傅立叶变换所需要的乘法次数,特别是被变换的抽样点数N越多,FFT算法计算量的节省就越显著。由4.1中式Xk易知一次复数惩罚相当于4此=次实数乘法和2次实数加法,而一次复数加法相当于两次实数加法。因此,每计算一个Xk需要4N次实数乘法和2N+2(N-1)=2(2N-1)次实数加法。DFT计算共需要计算N个Xk,因此,完成整个DFT算法共需要4N次实数乘法和4N2-2N次实数加法。可见直接计算N点DFT所需要的时间量和N是成正比的的,当N非常大时,计算量会显著提升。快速傅立叶算法的思路,就是利用复指数函数的性质减小计算量。由于是一个周期函数,具

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号