《数字通信技术实验指导书new.doc》由会员分享,可在线阅读,更多相关《数字通信技术实验指导书new.doc(55页珍藏版)》请在金锄头文库上搜索。
1、数字通信技术实验指导书徐州师范大学计算机科学与技术学院2009.11前 言数字通信技术课程是一门理论性与实践性都很强的专业课。如何加强理论课程的学习,加深学生对本课程中的基本理论知识及基本概念的理解,提高学生理论联系实际的能力,如何培养学生实践动手能力和分析解决通信工程中实际问题的能力是数字通信技术教学的当务之急。而数字通信技术课程就是一种重要的教学手段和途径。本通信原理实验系统将通信原理的基础知识灵活地运用在实验教学环节中,实验安排循序渐进,设计和验证实验相结合。实验力求紧扣教学内容,理论叙述清楚,重点突出,指导书例题丰富,具有较强的代表性,以理论指导实践,以实践验证基本原理,旨在提高学生分
2、析问题、解决问题的能力及动手能力,适应多层次学生学习需要。课后习题可以作为学生选做或思考使用,便于学生进一步巩固理论基本知识,建立完整的通信系统的概念。本实验手册是我校数字通信技术课程实验指导的主要依据。根据实验大纲要求,共包含4个实验。实验1 Matlab入门与随机信号实验(6学时)一、实验目的1.熟悉matlab语言环境,掌握matlab语法与matlab程序运行、调试方法;2.学会使用matlab编写程序分析信号,进一步提高编写复杂程序能力。二、实验要求1 借阅或购买matlab通信或信号与系统方面的实验指导书,也可以借阅matlab语法编程书籍;2 复习信号与系统中关于信号的傅里叶变换
3、、信号的功率谱密度等概念,掌握计算机实现连续信号积分的方法;3 认真填写实验预习报告,填写实验结果。三、 实验设备PC 微机一台四、 实验原理1. MATLAB语言简介Matlab是Math Works公司推出的一套高性能的数值计算和可视化的科学工程计算软件,它支持解释性语言输入,编程实现简单,具有丰富的数学函数功能支持。Matlab 允许与C、Fortran 语言的接口,其部件Simulink甚至可以采用图形输入的方式来搭构所研究的系统。Matlab6.0以上版本由于采用了新的图形系统,因此对计算机的要求至少要达到:l 操作系统为:Windows 98/Me/2000/XP(Matlab 也
4、有基于其他操作系统的版本,这里只介绍基于Microsoft公司的操作系统);l 内存16MB以上(注:建议 系统内存至少128MB以上);l 剩余磁盘空间1GB以上。Matlab软件的安装可以选择组件,摧荐安装的组件如表1-1所示。表1-1 信号与系统分析摧荐安装组件MatlabMatlab 主包Matlab Help FilePDFAdobe文本格式的帮助文件Matlab Help FileHTML超文本格式的帮助文件Simulink动态建模仿真软件包Signal Processing Toolbox信号处理工具箱Image Processing Toolbox图像处理工具箱Control
5、System Toolbox控制工具箱Wavelet Toolbox小波工具箱Communication Toolbox通信工具箱Extended Symbolic Toolbox扩展数学符号工具箱Matlab软件安装完毕后,点击Matlab图标或命令文件就可以进入Matlab运行环境。Matlab运行环境分成几个部分:桌面和命令窗口。命令历史窗口帮助信息浏览器。工作空间浏览器,文件路径检索等,其中主要部分是命令窗口”,它是Matlb与用户之间交互式命令输入,输出的界面,用户从这个窗口输入的命令,经过Matlab解释后执行,并且将执行结果显示在这个窗口。Matlab采用解释性语言,因此所有的程
6、序,子程序,函数,命令在命令窗口中都被视为Matlab的命令。表1-2是一些最基本的常用Matlab命令。表1-2 一些常用Matlab命令edit编写Matlab脚本文件*.m的工具,编写好的文件*.m,存储后可以通过用命令*执行。helpMatlab中的命令或函数的使用帮助,如果不清楚Matlab命令的格式,可以通过敲入help命令名获得Matlab的使用帮助。helpdesk 该命令打开Matlab帮助环境窗口。exit退出Matlab,关闭主程序,也可以采用quit命令达到相同的效果,或者通过菜单项File中的Exit退出Matlab。cd改变当前Matlab运行目录,缺省情况下Mat
7、lab的当前运行目录是:Matlab6plwork。pwd显示当前Matlab运行目录。Matlab作为一种高级语言,不但可以以命令行的方式完成操作,也可以像大多数程序语言一样具有数据结构,控制流,输入/输出和面向对象的编程能力,适用于各种应用程序设计。Matlab语言具有语法相对简单,使用方便,调试容易等优点。关于Matlab程序设计的更详细的内容可以参考相关书籍。一下将简单介绍Matlab的使用以期待使读者能快速入门。Matlab的程序编写就像堆积木一样,可以通过编写.m文件的方式将Matlab命名或函数组合成一个具体功能的命令或函数,通常将.m文件称为脚本文件。脚本文件可以是Matlab
8、的命令或函数,都可以以命令的形式在Matlab的命令窗口”中运行。【例1-1】先创建一个magicrank.m的脚本文件如下(采用edit命令进行编辑)%investigate the rank of magic squares r=zeros(1,32); %调用Matlab函数,产生132的0向量for n=3:32 %循环30次r(n)=rank(magic(n); %调用幻方函数magic(n)得到nn的幻方矩阵,r %显示r的结果(注:没有分号)end %并求其秩bar(r) %调用Matlab函数bar,画出r的示意图然后在Matlab环境中执行magicrank 例1-1所示是一
9、个简单的脚本文件,或者也可以称之为一个命令magicrank,它求出了从3到30的幻方矩阵的秩,并且用图的形式显示出来。例1-1中涉及到一些基本的Matlab语法和变量的存储、赋值方法,下面将介绍这部分内容,你将看到它是如此简单,以至于你马上可以动手编写你自己的命令。2 Matlab基本语法本节仅介绍在信号分析和通信系统仿真中常用的基本语法,关于其他的语法部分读者可以参考Matlab的联机帮助手册。(1) 变量赋值与存储方式在Matlab中,变量分成如下几类:标量:标量的赋值如a=10;矢量:矢量是由多个标量组成的一个n元组,其赋值如下: a=1 3 5 7 9;a=1:2:9;a=1 7 6
10、 2等矩阵:矩阵的赋值如A=1 2 3; 4 5 6; 7 8 9,其结果相当于矩阵 Matlab中矩阵的存储是按列存储,即上述A矩阵在内存中的存储形式为147258369(2) 程序控制语句n 判断语句ifif语句判断一个逻辑表达式的值,并执行相应的系列命令,其基本语法如下:if 表达式1命令elseif 表达式2 命令else 命令end例如:a=4;b=6;if ab a大于belseif ab a小于belseif a=b a等于belse error(不可能的事情发生了!)endn 分支语句 switch和caseswitch(a) case 0 case 1 case 2 othe
11、rwiseend例如:a=5;b=mod(5,3);switch(b) case 0 模3为0 case 1 模3为1 case 2 模3为2 otherwise 不可能啊!endn 循环语句循环语句可以用for或while实现。例如:for n=3:32 r(n)=n;endwhile 条件命令或函数end当条件不满足时,循环执行中间的命令或函数,当条件满足时,跳出循环执行下面的命令。例如:n=1;while n30 r(n)=n; n=n+1;endn 跳出循环语句有时可能需要在循环体中的某个点跳出,这可通过continue和break实现: continue语句执行后,直接从该点跳到循环
12、体的开始; break语句执行后,直接从该点跳出循环体。例如: n=0; n=0; while n30 while n30 n=n+1; n=n+1; if n=15 if n=15 continue; break; end end r(n)=n; r(n)=n; end end n n执行结果分别为30 153 常用的Matlab函数n 随机数产生类(见表1-3)表1-3 Matlab中的随机数产生类函数函数名注释函数名注释randn产生标准正态随机变量rand产生01之间的均匀分布随机变量randperm产生随机的排序hist对矢量自动进行直方图统计n 数学函数类(见表1-4)表1-4 M
13、atlab中的数学函数Matlab函数名注释Matlab函数名注释acos(x)反余弦函数cos(x)余弦函数acot(x)反余切函数cot(x)余切函数asin(x)反正弦函数sin(x)正弦函数atan(x)反正切函数tan(x)正切函数exp(x)自然指数函数pow2(x)以2为底的指数log(x)自然对数函数sqrt(x)根号函数log2(x)以2为底的对数函数floor(x)向下取整数log10(x)以10为底的对数函数ceil(x)向上取整数mod(x,y)x对y的模round(x)四舍五入函数rem(x,y)x除以y的余数sign(x)符号函数n 做图类函数(见图1-5)表1-5 Matlab中常用的做图类函数