lab01_Matlab平台的使用_记得带耳机_2012年.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《lab01_Matlab平台的使用_记得带耳机_2012年.doc》由会员分享,可在线阅读,更多相关《lab01_Matlab平台的使用_记得带耳机_2012年.doc(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Matlab平台的使用1.总论Matlab是信号处理中功能强大且广泛使用的工具。本实验的主要目标是使你们熟悉使用Matlab。我们假定你们有过其他某种语言的编程经验,应该已经了解变量,循环和函数等基本概念。这里介绍一下Matlab的基本编程结构。本实验的三个目标:1.学习基本的Matlab命令和语法,包括“帮助”系统2.学习编写你自己的Matlab的脚本文件,并像命令一样运行它们3.学习一点Matlab的高级编程技术,例如向量化1.1要提交的内容提交的实验报告要求回答所有下面被方框框住的问题,还有方框部分要求提交的Matlab代码。实验报告要求包括:1.姓名,学号,日期和实验报告的题名。2.一
2、两句介绍本实验的内容3.所有方框部分的回答和代码,答案要求简洁清楚4.几句结论,重点谈谈你遇到的问题以及怎么解决的,或者你用了什么较好的方法,或者你有什么收获和感受实验报告文档名为“班号-学号-姓名”。只交电子版。一周内,提交给各班学习委员,学习委员再打包提交给我,wukn2. 初识Matlab1. 启动Matlab,运行Matlab的帮助。在命令窗口输入“doc”,或在菜单中选“help”。2. 在命令窗口中,试试:helpwin helpwin plot helpwin colon %- a VERY IMPORTANT notation helpwin ops helpwin zeros
3、 helpwin ones lookfor filter %- keyword search 3.运行Matlab的demo:在命令窗口输入“demo”4.把Matlab当计算器用,试试:pi*pi - 10 sin(pi/4) ans 2 %- ans holds the last result 5.在Matlab中给变量赋值,试试:xx = sin( pi/5 ); cos( pi/5 ) %- assigned to what? yy = sqrt( 1 - xx*xx ) ans 注意观察语句末尾有分号和无分号有什么差别。6.Matlab中的复数运算的基本操作,试试:zz = 3 +
4、4i, ww = -3 + 4j real(zz), imag(zz) abs(zz,ww) %- Vector constructor conj(zz+ww) angle(zz) exp( j*pi ) exp(j* pi/4, 0, -pi/4 ) 3. 再识Matlab3.1Matlab数组索引(a).冒号的含义试试如下命令的结果:jkl = 0 : 6 jkl = 2 : 4 : 17 jkl = 99 : -1 : 88 ttt = 2 : (1/9) : 4 tpi = pi * 0:0.1:2 ; %注意这里有分号(b).从向量提取数字和或插入数字,思考如下xx的定义:xx =
5、zeros(1,3), linspace(0,1,5), ones(1,4) xx(4:6) size(xx) length(xx) xx(2:2:length(xx) xx(2:2:end) 解释以上代码最后4行的结果(c).观察如下赋值的结果:yy = xx; yy(4:6) = pi*(1:3) 现在写一条语句,xx用(b)中定义的方法,把xx的偶数索引的元素(即xx(2),xx(4)等)的值替换为常数pp。使用向量替换,不要用循环。xx(2:2:length(xx)=pipi3.2Matlab脚本文件(a)看看关于向量的实验。把向量看作一个数字集合,试试:xk = cos( pi*(0
6、:11)/4 ) %-comment: compute cosines 解释一下余弦函数的值是怎样存储在向量xk中的。xk(1)是什么意思?有定义xk(0)吗?注:语句后没有分号,所以语句会把xk的计算结果依次显示在命令窗口,在百分号后面的文字是注释,可以忽略。(b)Matlab中可以写循环,但是这不是最有效率的解决办法。尽量避免循环,并使用冒号会提高效率。下面的代码是用一个循环来计算余弦函数的值的: yy = ; %- initialize the yy vector to be empty for k=-5:5 yy(k+6) = cos( k*pi/3 ) end yy 解释为什么需要写
7、yy(k+6)。如果用yy(k)会发生什么?因为括号里面的数值必须大于0,如果用yy(k),k从-5开始到5,软件会提示错误.不使用循环,而用3.1的方法,利用冒号,重新实现这个功能。(c)Matlab中实数和复数的绘制都很容易。基本绘图命令绘制向量yy和向量xx的关系,试试:xx = -3 -1 0 1 3; yy = xx.*xx - 3*xx; plot( xx, yy ) zz = xx + yy*sqrt(-1) plot( zz ) %- complex values: plot imag vs. real 在命令窗口输入“helpwin arith”,了解当xx是一个向量时,操作
8、xx.*xx是如何工作的。当xx是一个矩阵时,操作xx.*xx又是如何工作的。当你没把握某个命令时,可随时使用帮助系统。(d)使用Matlab的编译器创建脚本文件,命名为mylab1.m,文件内容如下:clear all; close all;tt = -1 : 0.01 : 1; xx = cos(5*pi*tt); zz = 1.4*exp(j*pi/2)*exp(j*5*pi*tt); plot(tt, xx, b-, tt, real(zz), r-) %- plot a sinusoid grid on title(TEST PLOT of a SINUSOID) xlabel(TI
9、ME (sec) 解释为什么real(zz)的图形是一个正弦曲线。它的相位和幅度是多少?由所绘图形的时移量计算相位。ZZ的实部应该是一个余弦曲线,但是因为初相位是/2,所以变成了正弦曲线.相位是/2,幅度是1.4.(e)在命令窗口输入“mylab1”即可运行上述m文件,即mylab1 %-will run the commands in the file type mylab1 %-will type out the contents of % mylab1.m to the screen 3.3 Matlab与声音相关的函数命令这一节练习是关于声音信号的,所以需要带耳机来机房听效果。(a)运
10、行Matlab的声音demo:在命令窗口输入“xpsound”。你可以听到多种声音,并可以查看对应的时间序列,功率谱密度和声谱图(声谱图详见7.3)。(b)现在在Matlab中生成一个音调(例如正弦),用soundsc()命令 soundsc(xx,fs)函数需用两个参数,,xx是播放文件的数据的向量,fs是播放样本的采样率。另外,soundsc(xx,fs)会自动把xx的值尺度变化成1到1之间,然后调用sound(xx,fs)播放信号。听一听在3.2(d)的第2行和第3行创建了一个向量xx为2.5Hz的正弦序列。而你们要生成的正弦信号的频率为2000Hz,时长为0.9秒,采样率fs为1102
11、5个样本秒。采样率说明了采样点之间的时间间隔,所以时间向量应定义为:tt = 0:(1/fs):dur; 其中fs为采样率,dur为时长(以秒为单位)。可以在帮助系统中查找sound()和soundsc()了解它们的用法和含义。那么,你们的tt向量的长度(即样本数)是多少?4.用Matlab处理正弦信号在实验报告中要包括本节的图形和实验结果描述。写一个Matlab的m文件来完成步骤(a)到步骤(d)。你们的实验报告也要包括这个m文件的代码。(a)生成一个时间向量tt,需要覆盖下面的(b)中频率为4000Hz的正弦信号的两个周期。tt的定义方式使用3.2(d)的方式。如果我们使用T表示正弦的周期
12、,定义向量tt的开始时间为T,结束时间为T,那两个周期就会包括tt=0。最后,确保你们正弦波的每个周期有至少25个样本。也就是说,当你们使用冒号操作符定义时间变量时,要使增量足够小,才能保证每个周期可以产生至少25个样本。(b)生成以下两个4000Hz的正弦序列:x1(t)=A1cos(2(4000)(ttm1)x2(t)=A2cos(2(4000)(ttm2)其中A1是你的年龄,A2=1.2A1,tm1=(37.2/M)T,tm2=(41.3/D)T,这里M和D分别是你生日的月和日,T是周期绘制以上两个信号在-TtT的图形。为了输出下面(d)的要求,使用subplot(3,1,1)和subp
13、lot(3,1,2)来使图在一个图形窗口内,详见helpwin subplot一般用法是:subplot(2,1,2);plot(xx);(c)创建第3个正弦信号为x3(t)=x1(t)+x2(t).在Matlab中,这表示把两个正弦向量中的值对应相加。绘制x3(t)在-TtT的图形,使用subplot(3,1,3)绘图。(d)对每个图都添加一个图名,图名都要包含你的姓名,用title函数clear all; close all;tt=-0.00025:0.00001:0.00025;x1=20*cos(8000*pi*tt-(37.2/4)*2*pi);x2=24*cos(8000*pi*t
14、t+(41.3/3)*2*pi);x3=x1+x2;subplot(3,1,1)plot(tt,x1)title(杨泽雄 1)subplot(3,1,2)plot(tt,x2)title(杨泽雄 2)subplot(3,1,3)plot(tt,x3)title(杨泽雄 3)xlabel(time(sec)详见 helpwin title, helpwin subplot4.1 复数幅度用一条语句生成以上正弦信号x1(t)的值,可以使用复数幅度表示方法:x1(t)=ReXejwt 其中X和w为某个常数。5.复指数简介本节目标是让大家熟悉复数,并了解怎么使用它们表示正弦信号(例如x(t)=Acos
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- lab01_Matlab 平台 使用 记得 耳机 _2012
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内