matlab通信系统仿真.ppt
《matlab通信系统仿真.ppt》由会员分享,可在线阅读,更多相关《matlab通信系统仿真.ppt(164页珍藏版)》请在三一办公上搜索。
1、MATLAB通信系统仿真,陈晓红手机:邮箱:,第一章 MATLAB语言基础,1.1 MATLAB简介 了解MATLAB语言的功能和主要特点 掌握MATLAB语言的基本操作,1.1 MATLAB简介,一、概述 MATLAB的名称源自Matrix Laboratory,它的首创者是在数值线性代数领域颇有影响的Cleve Moler博士,他也是生产经营MATLAB产品的美国Mathworks公司的创始人之一。MATLAB是一种科学计算软件,专门以矩阵的形式处理数据。MATLAB将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而使其被广泛地应用于科学计算、控制系统、信息处理等领域的分析
2、、仿真和设计工作中。,MATLAB产品族可以用来进行如下工作:数值分析;数值和符号计算;工程与科学绘图;控制系统的设计与仿真;数字图像处理;数字信号处理;通讯系统设计与仿真;财务与金融工程等。,1.1 MATLAB简介,二、MATLAB仿真的意义 当在实际电子通信系统中进行试验研究比较困难或者根本无法实现时,仿真技术就成为必然的选择。,1.1 MATLAB简介,MATLAB与其它计算机高级语言如C,C+等相比,MATLAB语言编程要简洁得多,编程语句更加接近数学描述,可读性好,其强大的图形功能和可视化数据处理能力也是其它高级语言望尘莫及的。对于具有任何一门高级语言基础的学生来说,学习MATLA
3、B十分容易。,1.1 MATLAB简介,MATLAB使得人们摆脱了常规计算机编程的繁琐,让人们能够将大部分精力投入到研究问题的数学建模上。可以说,应用MATLAB这一数学计算和系统仿真的强大工具,可以使科学研究的效率得以成百倍的提高。,1.1 MATLAB简介,二、MATLAB特点跨平台的数学语言超高级语言语法简单,编程风格接近数学风格强大的绘图功能计算精度很高拥有学科众多,领域广泛的工具箱可移植,1.1 MATLAB简介,二、MATLAB入门操作 命令窗口 Command Window 历史命令窗口 Command History 当前目录窗口 Current Directory 工作空间窗
4、口 Workspace,1.1 MATLAB简介,1.1 MATLAB简介,1.Command Window 可显示除图像以为的所有结果最简单的计算器使用法 例1.1 求12+2(7-4)32 例1.2 输入矩阵 例1.3 矩阵A的分行输入,MATLAB表达式的基本运算符 加+减-乘*除/或 幂 MATLAB中可以采用逗号或空格来分隔矩阵中的列元素,而采用分号或回车符来分隔矩阵的行,整个矩阵包含在方括号“”内。,1.1 MATLAB简介,数值的记述 MATLAB的数值采用习惯的十进制表示,可以带小数点或负号 3-99 0.001 9.456 1.3e-3 4.5e33,1.1 MATLAB简介
5、,变量命名规则 变量名、函数名对字母大小敏感;变量名的第一个字符必须是英文字母(可包含英文、数字和下划线,但不得包含空格和标点)。,1.1 MATLAB简介,1.1 MATLAB简介,复数和复数矩阵 MATLAB把复数作为一个整体处理。虚数单位用预定义变量i或j表示;复数z=a+bi=直角坐标是和极坐标系之间转换的MATLAB指令:real(z)imag(z)abs(z)angle(z)MATLAB的矩阵元素允许是复数、复变量和由它们组成的表达式,1.1 MATLAB简介,例1.5 z1=3+4i,z2=1+2i,z3=,计算z=z1z2/z3例1.6 A=1,3;2,4-5,8;6,9*i
6、B=1+5i,2+6i;3+8*i,4+9*i C=A*B例1.7 求上述复数矩阵C的实部、虚部、模和相角,1.1 MATLAB简介,指令窗的常用控制指令 clc 清除指令窗中显示内容 clear 清除工作空间中保存的变量 exit 关闭/退出MATLAB quit 关闭/退出MATLAB,2.Command History Window 记录着用户在指令窗中所输入过的所有指令行。,1.1 MATLAB简介,3.Current Directory Window 组织、管理和使用所有matlab文件和非matlab文件。,1.1 MATLAB简介,例1.8 在当前目录窗口中获取M和MAT文件信息
7、,比如matlab6p5toolboxmatlabelmatones.m文件的文件信息。(1)使matlab6p5toolboxmatlabelmat出现在当前目录栏中。此时,就可在文件列表中看到ones.m的文件类型和简单描述。(2)下拉菜单项File:Preference,引出参数选择Preference对话框,点选Current Directory项,勾选“Show M-file comments and MAT-file contents”。这样就可以看到详细的文件描述。,1.1 MATLAB简介,4.Workspace Window 内存变量的查阅、保存和编辑。,1.1 MATLAB
8、简介,内存变量的查阅与编辑数组编辑器和大数组的输入内存变量的保存内存变量的删除,1.1 MATLAB简介,第一章 MATLAB语言基础,1.2 MATLAB数值数组及其运算 掌握一、二维数值数组的创建与寻访 掌握数组运算与矩阵运算的区别 了解字符串运算,数组是指一组实数或复数排成的长方阵列,它可以是一维的“行”或“列”,也可以是二维的“矩形”,也可以是三维的“若干同维矩形的堆叠”,甚至更高的维数。数组运算是指:无论在数组是施加什么运算(加减乘除或函数),总认定是那种运算对被运算组中的每个元素平等地实施同样的操作。,1.2 MATLAB数值数组及其运算,1.2 MATLAB数值数组及其运算,引例
9、2.1 绘制函数 在 时的曲线 x=0:0.1:1;y=x.*exp(-x);plot(x,y)xlabel(x);ylabel(y);title(y=x.*exp(-x);,1.2 MATLAB数值数组及其运算,说明:1.第一句指令定义自变量采样数组:以0为起点,每隔0.1取一个采样点,直到1为止,该数组是111的数组 2.运算符“.*”,实施数组x和数组exp(x)对应元素的相乘。因此,所得结果y也是111的数组。数组运算避免了效率很低的循环运算。3.plot根据所得的x数组和y数组,绘制曲线。4.定义在连续区间上的函数,进行数值计算时必须对此给定的连续区间进行适当的采样,得到一个采样值数
10、组。数值计算都是关于这种采样数组进行的。,1.2 MATLAB数值数组及其运算,一、一维数组的创建(1)逐个元素输入法(2)冒号生成法(3)函数生成法,1.2 MATLAB数值数组及其运算,(1)逐个元素输入法例2.2 x=2 pi/2 sqrt(3)3+5*i(2)冒号生成法 x=a:inc:b 说明:1、a是数组的第一个元素;inc是采样点之间的间隔,即步长。2、a,inc,b用冒号分隔,冒号必须在英文状态下。3、inc可以省略,省略时,默认其值为1。4、inc可取整数或负数。例2.3 A=1:2:10,B=1:10,C=10:-1:1,1.2 MATLAB数值数组及其运算,(3)函数生成
11、法 线性等分A=linspace(a1,an,n)对数等分A=logspace(a1,an,n)说明:1、A=linspace(a1,an,n),a1首元素,an尾元素,n是采样总点数(默认为100)。该指令作用与A=a1:(an-a1)/n-1:an相同。2、A=logspace(a1,an,n),a1是首元素的幂,an是尾元素的幂,n是采样总点数。A(n)=n默认50。例2.4 A=linspace(3,50,6),B=logspace(2,6,3),1.2 MATLAB数值数组及其运算,二、一维数组的子数组的寻访和赋值例2.5 rand(state,0);x=rand(1,5);x(3)
12、%寻访数组x的第三个元素 x(1 2 5)%寻访数组x的第一、二、五个元素组成的子数组 x(1:3)%寻访前3个元素组成的子数组 x(3:end)%寻访前3个以为的全部其它数据 x(3:-1:1)%由前3个元素倒排成的子数组 x(1 2 3 4 4 3 2 1)%对元素可以重复访问,所得数组长度允许大于原数组,1.2 MATLAB数值数组及其运算,例2.4 子数组的赋值 x(3)=0%对上例中的第三个元素赋值为0 x(1 4)=1 1%对x数组的第一、四个元素都赋值为1说明:保证被重新赋值的子数组的长度与送入的长度相同,1.2 MATLAB数值数组及其运算,三、二维数组的创建 对于较小数组,从
13、键盘上直接输入比较简单,二维数组必须有以下3个要素:1、整个输入数组必须以方括号“”为其首尾;2、数组的行与行之间必须用分号“;”,或回车键隔离;3、数组元素必须用逗号或空格分隔。例2.6 a=2.7358;b=33/79;C=1,2*a+i*b,b*sqrt(a);sin(pi/4),a+5*b,3.5+i,1.2 MATLAB数值数组及其运算,对于较大而复杂的数组,可用两种方法:1、公式编辑器 2、专门建立一个M文件,起名保存,以后只要在matlab指令窗中,运行该文件,文件中的数组就会自动生成于matlab内存中。,1.2 MATLAB数值数组及其运算,四、二维数组的子数组寻访和赋值 1
14、、二维数组元素的标识 全下标标识法 如 A(3,5)单下标标识法 由于数组在matlab中规定是按列存储的,首先对二维数组的所有元素“一维编号”,即设想把二维数组的所有列,按先左后右,首尾相接排成一维长列,然后自上而下对元素位置进行编号。以(mn)的二维数组A为例,若全下标元素位置是“第r行第c列”,则相应的单下标为 l=(c-1)m+r,1.2 MATLAB数值数组及其运算,四、二维数组的子数组寻访和赋值 2、二维数组的子数组寻访和赋值 A(r,c)A(r,:)由A的r行和全部列上的元素组成 A(:,c)由A的全部行和c列上的元素组成 A(:)单下标全元素寻访 A(:)=D(:)全元素赋值方
15、式,A、D两个数组的总元素相等,但行宽、列长不一定相同。,1.2 MATLAB数值数组及其运算,例2.7 A=zeros(2,4)A(:)=1:8 s=2 3 5 A(s)Sa=10 20 30 A(s)=Sa A(:,2,3)=ones(2),1.2 MATLAB数值数组及其运算,五、标准数组生成函数和数组操作函数1、eye 产生单位数组 ones 全1数组 zeros 全0数组 rand 均匀分布随机数组 randn 正态分布随机数组,1.2 MATLAB数值数组及其运算,例2.8 ones(1,2)randn(state,0)randn(2,3)eye(3),1.2 MATLAB数值数组
16、及其运算,五、标准数组生成函数和数组操作函数2、数组操作函数 reshape 总元素数不变的前提下,改变各维的大小 tril 提取数组下三角元素,生成下三角阵 triu 提取数组上三角元素,生成上三角阵 flipud 沿水平轴上下翻转 fliplr 沿垂直轴左右翻转 repmat 按指定维上的数组铺放模块数组 rot90 逆时针旋转90度,1.2 MATLAB数值数组及其运算,例2.9 a=-4:4,A=reshape(a,3,3),flipud(A)fliplr(A)rot90(A)repmat(A,1,3),1.2 MATLAB数值数组及其运算,六、数组运算和矩阵运算 二维数组和矩阵在外观
17、外形和数据结构上看,没有区别。所以,二维数组和矩阵的标识、建立、存储可以使用相同的指令,区别只在他们的运算符和运算法则。数组“除、乘方、转置”运算前的小黑点决不能遗漏,否则不按数组运算规律进行。在执行数组与数组之间的运算时,参与运算的数组必须是同维的,运算所得结果数组也与原数组同维。数组的运算是针对每个元素的运算,而矩阵的运算则遵循线性代数中矩阵的运算法则。,1.2 MATLAB数值数组及其运算,六、数组运算和矩阵运算 例2.10 A=zeros(2,3);A(:)=1:6;A=A*(1+i);A1=A.A2=A,1.2 MATLAB数值数组及其运算,六、数组运算和矩阵运算 矩阵、向量、标量都
18、是数学概念,而数组不是。数组是一个用于程序设计的概念。在其它语言中,数组的运算会采用循环,而matlab中不用,有专门用于数组的运算符和运算法则。矩阵运算也是,不用循环。向量和标量可以视为矩阵的特例。n维行向量可以看成1n阶矩阵,n维列向量可以看成n1阶矩阵。标量可以看成11阶矩阵。,1.2 MATLAB数值数组及其运算,七、字符串运算1、创建字符串数组例2.11 a=This is an example.2、字符串数组a的大小例2.12 size(a)%以一个向量的形式给出所有各维的数值大小3、字符串数组元素标识 在一维字符串数组中,按从左至右的顺序用自然数数码标识字符的位置例2.13 a1
19、=a(1:4),1.2 MATLAB数值数组及其运算,七、字符串运算4、中文字符串数组 注意字符外面的单引号对必须在英文状态下输入。5、创建带单引号的字符串 当字符串中文字包含单引号时,每个单引号用连续的2个单引号符表示 例2.14 b=Example“3.1.2”,第一章 MATLAB语言基础,1.3 MATLAB数值运算 掌握多项式插值与拟合 重点掌握一维插值和多项式拟合的方法,1.3 MATLAB数值运算,1.什么叫插值和拟合?在许多实际问题中,我们需要用函数f(x)来表示某种内在规律的数量关系。但存在两个问题:a.我们得到的是给定区间一系列点的测量值;b.函数的解析表达式很复杂,使用不
20、方便。我们希望根据跟定的各点测量值,做出一个既能反映函数f(x)特性,又能便于计算的的简单函数来近似f(x)。,1.3 MATLAB数值运算,1.什么叫插值和拟合?插值,就是构造一个便于计算的g(x)近似f(x),g(x)通过全部节点,再利用g(x)来估计其他插值节点。拟合,也是就是构造一个便于计算的g(x)近似f(x),不要求g(x)通过全部节点,要求再数据点上的误差平方和最小。,1.3 MATLAB数值运算,2.插值和拟合的比较,1.3 MATLAB数值运算,2.插值和拟合的比较相同点都需要根据已知数据构造函数。可使用得到函数计算未知点的函数值。不同点插值需要构造的函数正好通过各插值点,拟
21、合则不要求,只要均方差最小即可。对实验数据进行拟合时,函数形式通常已知,仅需要拟合参数值。,1.3 MATLAB数值运算,2.插值和拟合的比较 总结:测量值准确无误差时,一般用插值;测量值与真实值有误差时,一般用拟合。,1.3 MATLAB数值运算,3.常用插值方法一维插值一个自变量 y1=interp1(x,y,x1,method)线性插值非线性插值三次多项式插值三次样条插值二维插值两个自变量(了解)z1=interp1(x,y,z,x1,y1,method),1.3 MATLAB数值运算,3.常用插值方法linear(分段)线性插值,即相邻节点间用直线连接。,1.3 MATLAB数值运算,
22、3.常用插值方法cubic三次多项式插值,即在整个区间构造三次多项式,通过已知的数据点求得多项式的系数。spline三次样条插值,也为三次分段多项式插值,即在相邻节点构成的子区间构造三次多项式,在整个区间二阶导数连续。,1.3 MATLAB数值运算,例3.1 x,y的实测数据如表,求x=2.55处的插值结果。程序:x=1 2 3 4 5;y=11.2 16.5 20.4 26.3 30.5;x1=2.55;y11=interp1(x,y,x1,linear)y12=interp1(x,y,x1,cubic)y13=interp1(x,y,x1,spline),1.3 MATLAB数值运算,4.
23、常用拟合方法多项式拟合最小二乘法拟合,1.3 MATLAB数值运算,4.常用拟合方法多项式拟合 p=polyfit(x,y,n)其中,x,y为已知的测量点,n为要拟合的多项式的阶数。拟合后的目标多项式的形式为。p即是拟合后的多项式各系数,1.3 MATLAB数值运算,4.常用拟合方法 可结合使用多项式求值函数y=polyval(p,x)来求出输入数据点在拟合多项式上的值,两个进行比较。,1.3 MATLAB数值运算,例3.2 设x=0 0.3 0.8 1.1 1.6 2.3,y=0.5 0.82 1.14 1.25 1.35 1.40,试求二次多项式拟合系数,并据此计算x1=0.9 1.2时对
24、应的y1。程序:x=0 0.3 0.8 1.1 1.6 2.3;y=0.5 0.82 1.14 1.25 1.35 1.40;p=polyfit(x,y,2)x1=0.9 1.2;y1=polyval(p,x1),1.3 MATLAB数值运算,4.常用拟合方法最小二乘法拟合 最小二乘法曲线拟合问题最常用的方法。最小二乘法拟合的一般形式:最小二乘准则就是确定,使得n个测量点处的观测值,与 在拟合曲线y上计算值最小的误差平方和,即,1.3 MATLAB数值运算,4.常用拟合方法最小二乘法拟合 使用最小二乘法时,的形式会告知,比如会已知拟合模型时指数函数,根据已知测量点求系数a、b。,1.3 MAT
25、LAB数值运算,测试习题:y=sinx,,在n个节点(n取511)上用分段线性、三次多项式和三次样条插值方法,计算m个插值点(m取50100)的函数值,通过图形与理论值进行比较。,第一章 MATLAB语言基础,1.4 MATLAB符号运算 掌握符号对象的生成和各种表达式 掌握符号表达式的各种操作(化简、微分、积分)掌握符号积分变换(Fourier、Laplace和Z变换),1.4 MATLAB符号运算,符号运算的特点总结起来有四点:1.运算以推理解析的方式进行,不受计算误差积累问题的困扰;2.符号计算可给出完全正确的封闭解,或给出任意精度的数值解;3.符号计算指令调用比较简单,与经典教科书公式
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 通信 系统 仿真
链接地址:https://www.31ppt.com/p-6512194.html