[信息与通信]Matlab与数字通信系统仿真.ppt

上传人:sccc 文档编号:5614765 上传时间:2023-08-02 格式:PPT 页数:50 大小:969KB
返回 下载 相关 举报
[信息与通信]Matlab与数字通信系统仿真.ppt_第1页
第1页 / 共50页
[信息与通信]Matlab与数字通信系统仿真.ppt_第2页
第2页 / 共50页
[信息与通信]Matlab与数字通信系统仿真.ppt_第3页
第3页 / 共50页
[信息与通信]Matlab与数字通信系统仿真.ppt_第4页
第4页 / 共50页
[信息与通信]Matlab与数字通信系统仿真.ppt_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《[信息与通信]Matlab与数字通信系统仿真.ppt》由会员分享,可在线阅读,更多相关《[信息与通信]Matlab与数字通信系统仿真.ppt(50页珍藏版)》请在三一办公上搜索。

1、Matlab基础与数字通信仿真,赵婷婷,内容,Matlab简介,1,Matlab与数字通信仿真,4,Matlab语言基础,2,Matlab绘图基础,3,内容,Matlab 简介,1,Matlab窗口环境,Matlab是什么?,Matlab是什么?,Matlab=Matrix Laboratory=矩阵实验室由MathWorks公司于1984年推出的一套高性能的数值计算和可视化数学软件基本元素是矩阵数学表达式与运算规则符合通常的习惯语法不严格具有强大的数值计算和图示能力具有丰富的工具箱(ToolBox)强大的help功能,Matlab窗口环境,脚本M文件 在命令窗口中输入并执行 它所用的变量都要

2、在工作空间中获取,Matlab窗口环境,程序文件 以.m格式进行存取程序 运行时只需在工作空间中键入其名称即可,MATLAB语句形式 变量表达式;通过等号将表达式的值赋予变量。当键入回车键时,该语句被执行。语句执行之后,窗口自动显示出语句执行的结果。如果不希望结果回显,只需在语句后加分号即可。,Matlab窗口环境,MATLAB语句形式 变量表达式;通过等号将表达式的值赋予变量。当键入回车键时,该语句被执行。语句执行之后,窗口自动显示出语句执行的结果。如果不希望结果回显,只需在语句后加分号即可。,Matlab窗口环境,命令行编辑器方向键和控制键可以编辑修改已输入的命令:回调上一行命令:回调下一

3、行命令多行命令():如果命令语句超过一行或者太长希望分行输入,可以使用多行命令继续输入,Matlab窗口环境,例如:S=1-12+13+4+9-4-18;,内容,Matlab 语言基础,2,基本运算符,变量,矩阵,常用函数,基本语句,Matlab语言基础:变量,变量的命名变量无需定义即可使用变量的名字必须以字母开头,之后可以是任意字母、数字或下划线(不能超过31个字符)变量名称区分字母的大小写变量可包含下连字符、数字,但不能包含空格、标点,变量操作在命令窗口中,同时存储着输入的命令和创建的所有变量值,它们可以在任何需要的时候被调用采用clear将清除内存内的所有变量采用“clear 变量名”清

4、除指定变量,一些特殊的变量,ans:最近生成的无名变量 i,j:虚数单位pi:圆周率 nargin:函数的输入变量个数eps:计算机的最小数 nargout:函数的输出变量个数,inf:无穷大(2/0)realmin:最小正实数realmax:最大正实数 nan:不定量(0/0)flops:浮点运算数,Matlab语言基础:变量,常用的数学运算符,运算式中,通常不需要考虑空格多条命令可以放在一行中同行中各条命令可用分号隔开,表示禁止结果显示同行中各条命令也可用逗号隔开,表示需要显示结果,-加-减*-乘/-左除-右除-幂,Matlab语言基础:基本运算符,常用的关系运算符,-大于=-大于等于-小

5、于=-小于等于=-等于=-不等于,运算法则 若关系式成立,结果为1 若关系式不成立,结果为0,Matlab语言基础:基本运算符,常用的逻辑运算符,&-与|-或!-非,运算法则 若逻辑真,结果为1 若逻辑假,结果为0,Matlab语言基础:基本运算符,其他常见符号,Matlab语言基础:基本运算符,=-变量赋值%-注释符-共轭转置符.-转置符:-冒号运算符,举例:n:s:m 产生nm、步长为s的序列,循环语句for-end循环:循环次数事先确定时使用while-end 循环:循环次数不能事先确定时使用,Matlab语言基础:基本语句,for i=n:s:m 语句体end s 为步长可以为正数,负

6、数或小数,while 表达式 语句体end表达式为真,执行语句体表达式为假,终止该循环,分支语句if-elseif-else-end:具有优先级switch-case-otherwise-end:无优先级,Matlab语言基础:基本语句,if 表达式1 语句体1elseif 表达式2 语句体2.else 语句体elseend,switch 变量 case 变量值1 语句体1 case 变量值2 语句体2 otherwise 语句体otherwiseend,常用的数学函数,abs-求绝对值sin-正弦cos-余弦tan-正切asin-反正弦acos-反余弦atan-反正切sqrt-求平方根,ex

7、p-eximag-求虚部real-求实部sign-求符号log-求自然对数log10-以10为底的对数conj-共轭复数,Matlab语言基础:常用函数,Matlab语言基础:矩阵,矩阵的生成,例如:创建一个33矩阵输入:a=1 2 3;4 5 6;7 8 9 或者a=1 2 3 4 5 6 7 8 9 屏幕输出:a=1 2 3 4 5 6 7 8 9,矩阵的元素直接排列在方括号内 行与行之间用分号隔开每行内的元素使用空格或逗号隔开大的矩阵可以用分行输入,回车键代表分号,矩阵的生成,举例:输入 a=1:2:10屏幕输出:a=1 3 5 7 9输入 a=10:-2:1屏幕输出:a=10 8 6

8、4 2,用线性等间距生成向量矩阵 start:step:end start:起始值 step:步长(默认为1,可为负值)end:终止值,Matlab语言基础:矩阵,一些常用的特殊矩阵,eye(2,3)ans=1 0 0 0 1 0,eye(2)ans=1 0 0 1,V=5 7 2;A=diag(V)A=5 0 0 0 7 0 0 0 2,Matlab语言基础:矩阵,单位矩阵:eye(m,n);eye(m)零矩阵:zeros(m,n);zeros(m)一矩阵:ones(m,n);ones(m)对角矩阵:对角元素向量 V=a1,a2,an A=diag(V)随机矩阵:rand(m,n)产生一个m

9、n的均匀分布的随机矩阵,zeros(2,3)ans=0 0 0 0 0 0,zeros(2)ans=0 0 0 0,ones(2,3)ans=1 1 1 1 1 1,ones(2)ans=1 1 1 1,rand(2,2)ans=0.4154 0.8744 0.0150 0.9708,矩阵元素的访问通过确认矩阵下标,可以对矩阵的子块进行插入、提取和重排 注意:MATLAB中矩阵下标从1开始,而不是从0开始,Matlab语言基础:矩阵,A(m,n):提取第m行,第n列元素 A(:,n):提取第n列元素 A(m,:):提取第m行元素 A(m1:m2,n1:n2):提取m1m2行和n1 n2列的所有

10、元素 A(:):得到一个长列矢量,其元素按矩阵的列进行排列,A=1 2 3 4 5 6;,A(2,1)ans=4,A(2,:)ans=4 5 6,A(:,2)ans=2 5,A(1:2,2:3)ans=2 3 5 6,A(:)ans=1 4 2 5 3 6,矩阵的扩展与消除矩阵扩展:如果在原矩阵中一个不存在的地址位置上设定一个数(赋值),则该矩阵会自动扩展行列数,并在该位置上添加这个数,而且在其他没有指定的位置补零。消除子块:如果将矩阵的子块赋值为空矩阵,则相当于消除了相应的矩阵子块。,Matlab语言基础:矩阵,A=1 2 3 4 5 6;,A(3,2)=7A=1 2 3 4 5 6 0 7

11、 0,A(2,:)=A=1 2 3,矩阵的大小,Matlab语言基础:矩阵,m,n=size(A,x):返回矩阵的行列数m与n 当x=1,则只返回行数m 当x=2,则只返回列数nlength(A)=max(size(A):返回行数或列数的最大值,A=1 2 3 4 5 6;,size(A)ans=2 3,size(A,1)ans=2,size(A,2)ans=3,矩阵的运算,举例A=1+i 2-2i;-3+3i-4-4i A=1+i 2-2i-3+3i-4-4i,B=AB=1-i-3-3i 2+2i-4+4i,C=A.C=1+i-3+3i 2-2i-4-4i,Matlab语言基础:矩阵,转置:

12、转置符号有两种形式 A-共轭转置 A.-普通转置 求逆:inv(A)求行列式:det(A),矩阵的四则运算与幂运算,.*-点乘.-点右除./-点左除.-点幂,点运算是两个维数相同矩阵对应元素间的运算,Matlab语言基础:矩阵,-矩阵加-矩阵减*-矩阵乘/-矩阵左除-矩阵右除-矩阵幂,内容,Matlab绘图基础,3,Matlab绘图基础,MATLAB提供了丰富的绘图功能,help graph2d可得到所有画二维图形的命令help graph3d可得到所有画三维图形的命令,plot(x,y,属性)或者stem():绘图 figure:选择图像 figure(1);figure(2);figure

13、(n)打开不同的图形窗口,以便绘制不同的图形 grid on:在所画出的图形坐标中加入栅格 grid off:除去图形坐标中的栅格 hold on:当前图形保持不变,同时允许在这个坐标内绘制另外一个图形 hold off:使新图覆盖旧的图形,Matlab绘图基础,举例:t=0:pi/20:9*pi;f=sin(t);figure(1)plot(t,f,r:*)grid on,Matlab绘图基础,设定对数坐标,Matlab绘图基础,semilogx:x轴为对数坐标,y轴为线性坐标semilogy:y轴为对数坐标,x轴为线性坐标,设定轴的范围,axis(xmin xmax ymin ymax)a

14、xis(equal):将x坐标轴和y坐标轴的单位刻度调整为一样,文字标示,Matlab绘图基础,text(x,y,字符串)在图形的指定坐标位置(x,y)处,标示单引号括起来的字符串gtext(字符串)利用鼠标在图形的某一位置标示字符串title(字符串)在所画图形的最上端显示说明该图形标题的字符串xlabel(字符串),ylabel(字符串)设置x,y坐标轴的名称。legend(字符串1,字符串,字符串n)在屏幕上开启一个小视窗,然后依据绘图命令的先后用对应的字符串区分图形上的线,t=0:pi/20:5*pi;f=sin(t)figure(1)subplot(121)plot(t,f)grid

15、 onsubplot(122)plot(t,-f)grid on,Matlab绘图基础,subplot(mnk):分割图形显示窗口 m:上下分割个数,n:左右分割个数,k:子图编号,内容,Matlab与数字通信仿真,4,Matlab与数字通信仿真,Matlab与数字通信仿真,Matlab与数字通信仿真,产生随机数,randsrc:产生给定符号集合的随机数randn:产生正态分布的随机数randint:产生均匀分布的随机整数,举例:产生0、1分布的随机序列 randsrc(1,N,0,1;0.5,0.5)randint(1,N),Matlab与数字通信仿真,产生随机数,Matlab与数字通信仿真

16、,Matlab与数字通信仿真,数字调制,qammodqamdemodgenqammodgenqamdemodpammod,pamdemod建议自己编写!,举例:进行QPSK调制,const=1+j,-1+j,1-j,-1-j;y=genqammod(x,const);,数字调制,Matlab与数字通信仿真,Matlab与数字通信仿真,Matlab与数字通信仿真,插值,upsample建议自己编写!,举例:进行8倍上采样 N=8;y=upsample(x,N);,Matlab与数字通信仿真,Matlab与数字通信仿真,波形成型,y=rcosflt(x,Fd,Fs,type_flag,r,dela

17、y)filter=rcosine(Fd,Fs,type_flag,r,delay)y=conv(x,filter)建议自己编写!,Matlab与数字通信仿真,波形成型,给大家的建议,自己去编写课程相关的函数:养成好的习惯:变量、函数的命名有意义,加入注释(%),增强可读性.m文件(主程序)开头先把环境打扫干净(clc;clear)!注意在子程序中不要用clear尽量使用矩阵运算程序尽量模块化,即采用主程序调用子程序参数值最好集中放在程序的开始部分,以便维护,推荐几本书,现代通信系统使用MATLAB 约翰 G 谱罗克斯,马苏德 萨勒赫,刘树棠译 西安交通大学出版社MATLAB与通信仿真 王立宁,乐光新,赞菲 人民邮电出版社精通MATLAB 5 张宜华 清华大学出版社,Thank You for your attention!,It is time for Q&A!,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号