1、第1章 MATLAB基础与通信系统仿真本章内容 1.1 MATLAB简介简介 1.2 MATLAB程序设计程序设计 1.3 通信系统仿真通信系统仿真1.2.5 M文件编程 M脚本文件 函数文件 函数调用和参数传递 matlab的程序结构 用户参数交互输入 1.2.5.1 M脚本文件 脚本文件一串按用户意图排列而成的(包括控制流向指令在内的)MATLAB指令集合。创建:file|new-m-file,或者点击工具栏的 按钮 保存:file|Save或者点击工具栏的 按钮 运行:Debug|Run或者点击工具栏的 按钮 1.2.5.2 函数文件 函数文件的第一行总是以“function”引导的“函
2、数声明行”。当函数文件运行时,MATLAB会专门为它开辟一个临时工作空间,称为函数工作空间 函数定义时,一般都定义了输入输出变量的个数,这称为“默认数目”。MATLAB允许使用比“默认数目”较少的输入输出变量,实现对函数的调用 典型 M函数文件的结构 函数声明行 第一注释行 在线帮助文本区 编写和修改记录 函数体 1.2.5.3 函数调用和参数传递 函数调用的一般格式是:输出参数1,输出参数2,=函数名(输入参数1,输入参数2,)局部变量和全局变量 局部变量:它存在于函数空间内部的中间变量,产生于该函数的运行过程中,其影响范围也仅限于该函数本身。全局(Global)变量:通过 global 指
3、令,MATLAB也允许几个不同的函数空间以及基本工作空间共享同一个变量,这种被共享的变量称为全局变量。1.2.5.4 matlab的程序结构 顺序结构 依次顺序执行程序的各条语句 循环结构 被重复执行的一组语句,循环是计算机解决问题的主要手段。分支结构 根据一定条件来执行的各条语句。循环结构 forend语句for indx=循环初始值:循环步长:循环结束值 可执行语句组endwhile-end循环:将循环体中的语句循环执行不定次数。while 表达式 循环体语句 end分支结构 if语句if 条件 可执行语句组Endif 条件 可执行语句组1else 可执行语句组2end if 条件1 可执
4、行语句组1elseif 条件2 可执行语句组2elseif 条件m 可执行语句组melse 可执行语句组m+1end分支结构 switch语句:switch 表达式 case 值1 可执行语句组1 case 值2 可执行语句组2 case 值m 可执行语句组m otherwise 可执行语句组m+1 end分支结构 在循环语句的执行过程中,需要中断循环可以使用break语句和continue语句。break语句是终止循环,执行循环体后的语句。continue语句终止本次循环,本次循环中的continue语句后的循环语句不再执行,而是执行新的循环。break与continue语句经常与if语句联
5、合使用。1.2.5.5 用户参数交互输入 input函数用于向计算机输入一个参数 pause函数暂停程序的执行 disp函数是向命令窗口输出提示信息 1.2.6 文件操作 文件的打开与关闭 fopen函数、fclose函数 文件的读写操作 fread、fwrite、fscanf、fprintf 文件定位 fseek、ftell 1.3 通信系统仿真 1.3.1 通信仿真的概念 1.3.2 通信仿真的基本方法1.3.1 通信仿真的概念 在对原有的通信系统做出改进或建立一个新系统之前,通常需要对这个系统进行建模和仿真,通过仿真结果衡量方案的可行性,从中选择最合理的系统配置和参数设置,然后再应用于实际系统中。这个过程就是通信仿真。1.3.2 通信仿真的基本方法将给定问题映射为仿真模型。把整个问题分解为一组子问题。选择合适的建模、仿真和估计方法,并将其用于解决这些子问题。综合各子问题的解决结果以提供对整个问题的解决方案。