[请输入文档标题]
[在此处键入文档的摘要。摘要通常是对文档内容的简短总结。在此处键入文档的摘要。
摘要通常是对文档内容的简短总结。]
[请输入公司名称]
[请输入公司地址]
[请输入电话号码]
[请输入传真号码]
2022 年 6 月 8 日
第一章 MALTAB 基础知识 ................................................................................................................. 1
1.1 MATLAB 基础知识 ................................................................................................................ 1
1.1.1 MATLAB 程序设计语言简介 .....................................................................................1
1.1.2 MATLAB 界面及帮助 ..............................................................................................1
1.2 MATLAB 基本运算 .............................................................................................................2
1.2.1 MATLAB 内部特殊变量和常数 ..............................................................................2
1.2.2 变量类型 .................................................................................................................. 2
1.2.3 内存变量管理 .......................................................................................................... 3
1.2.4 MATLAB 常用数学函数 ..........................................................................................3
1.2.5 MATLAB 矩阵生成 ..................................................................................................3
1.2.6 MATLAB 矩阵运算 ..................................................................................................5
1.2.7 MATLAB 中的矩阵分析 ..........................................................................................6
1.3 MATLAB 程序设计 .............................................................................................................7
1.3.1 M 文件 .......................................................................................................................7
1.3.2 程序控制结构 .......................................................................................................... 8
第二章 MATLAB 计算结果可视化和确知信号分析 .......................................................................13
2.1 计算结果可视化............................................................................................................... 13
2.2 确知信号分析 ................................................................................................................... 17
2.2.1 周期信号的傅里叶级数......................................................................................... 17
2.2.2 信号的傅里叶变换及其反变换.............................................................................19
第三章 随机信号与数字基带仿真 ................................................................................................ 24
3.1 基本原理和实现示例 ........................................................................................................ 24
3.1.1.库函数产生随机数................................................................................................. 24
3.1.2 基带信号波形生成和其功率谱密度.....................................................................28
3.2 蒙特卡罗算法 .................................................................................................................... 31
第四章 模拟调制 MATLAB 实现 ...................................................................................................... 35
4.1 模拟调制 ........................................................................................................................... 35
4.2 AM 调制解调的 MATLAB 实现 ...................................................................................... 36
第五章 模拟信号的数字传输 ........................................................................................................ 45
5.1 脉冲编码调制 .................................................................................................................... 45
5.2 低通抽样定理 .................................................................................................................... 45
5.3 均匀量化原理 ................................................................................................................... 46
5.4 非均匀量化....................................................................................................................... 48
第六章 数字频带传输系统 .......................................................................................................... 52
6.1 数字频带传输原理 ........................................................................................................... 52
6.2 信道加性高斯白噪声功率的讨论 ....................................................................................53
6.3 仿真分析 ............................................................................................................................ 54
第七章 通信系统仿真综合实验 .................................................................................................... 68
7.1 基本原理 ............................................................................................................................ 68
7.1.1 数字频带传输通信系统......................................................................................... 68
7.1.2 数字基带传输通信系统 ........................................................................................68
7.2 实验内容 ............................................................................................................................ 68
目 录
第一章 MALTAB 基础知识 ................................................................................................................. 1
1.1 MATLAB 基础知识 ................................................................................................................ 1
1.2 MATLAB 基本运算 .............................................................................................................2
1.3 MATLAB 程序设计 .............................................................................................................7
第二章 MATLAB 计算结果可视化和确知信号分析 .......................................................................13
2.1 计算结果可视化............................................................................................................... 13
2.2 确知信号分析 ................................................................................................................... 17
第三章 随机信号与数字基带仿真 ................................................................................................ 24
3.1 基本原理和实现示例 ........................................................................................................ 24
3.2 蒙特卡罗算法 .................................................................................................................... 31
第四章 模拟调制 MATLAB 实现 ...................................................................................................... 35
4.1 模拟调制 ........................................................................................................................... 35
4.2 AM 调制解调的 MATLAB 实现 ...................................................................................... 36
第五章 模拟信号的数字传输 ........................................................................................................ 45
5.1 脉冲编码调制 .................................................................................................................... 45
5.2 低通抽样定理 .................................................................................................................... 45
5.3 均匀量化原理 ................................................................................................................... 46
5.4 非均匀量化....................................................................................................................... 48
第六章 数字频带传输系统 .......................................................................................................... 52
6.1 数字频带传输原理 ........................................................................................................... 52
6.2 信道加性高斯白噪声功率的讨论 ....................................................................................53
6.3 仿真分析 ............................................................................................................................ 54
第七章 通信系统仿真综合实验 .................................................................................................... 68
7.1 基本原理 ............................................................................................................................ 68
7.2 实验内容 ............................................................................................................................ 68
第一章 MATLAB 基础知识
第一章 MALTAB 基础知识
本章目标
了解 MATLAB 程序设计语言的基本特点,熟悉 MATLAB 软件运行环境
掌握创建、保存、打开 m 文件及函数的方法
掌握变量等有关概念,具备初步的将一般数学问题转化为对应的计算机模型并进
行处理的能力
1.1 MATLAB 基础知识
1.1.1 MATLAB 程序设计语言简介
MATLAB,Matrix Laboratory 的缩写,是由 MathWorks 公司开发的一套用于科学工
程计算的可视化高性能语言,具有强大的矩阵运算能力。与大家常用的 Fortran 和 C 等高
级语言相比,MATLAB 的语法规则更简单,更贴近人的思维方方式,被称为“草稿纸式的
语言”。MATLAB 软件主要由主包、仿真系统(simulink)和工具箱(toolbox)三大部分
组成。
1.1.2 MATLAB 界面及帮助
MATLAB 基本界面如图 1-1 所示,命令窗口包含标题栏、菜单栏、工具栏、命令行区、
状态栏、垂直和水平波动条等区域。
(1)菜单栏
图 1-1 MATLAB 基本界面
1
第一章 MATLAB 基础知识
在 MATLAB 主窗口的菜单栏,共包含 File、Edit、View、Web、Window 和 Help 6
个菜单项。
File 菜单项:File 菜单项实现有关文件的操作。
Edit 菜单项:Edit 菜单项用于命令窗口的编辑操作。
View 菜单项:View 菜单项用于设置 MATLAB 集成环境的显示方式。
Web 菜单项:Web 菜单项用于设置 MATLAB 的 Web 操作。
Window 菜单项:主窗口菜单栏上的 Window 菜单,只包含一个子菜单 Close all,用于
关闭所有打开的编辑器窗口,包括 M-file、Figure、Model 和 GUI 窗口。
Help 菜单项:Help 菜单项用于提供帮助信息。
(2)工具栏
MATLAB 主窗口的工具栏共提供了 10 个命令按钮。这些命令按钮均有对应的菜单命
令,但比菜单命令使用起来更快捷、方便。
(3)命令行区
MATLAB 按以下顺序对输入命令进行解释:
检查它是否是工作空间中的变量,实则显示变量内容。
检查它是否是嵌入函数,是则运行之。
检查它是否是子函数。
检查它是否是私有函数。
检查它是否是位于 MATLAB 搜索路径范围内的函数文件或脚本文件。
MATLAB 里有以下几种方法可获得帮助:
(1)帮助命令(help)是查询函数相关信息的最直接方式,信息会直接显示在命令窗口中。
键入 help sin,会显示 sin 相关信息。
(2)lookfor 命令可以从键入的关键字列出所有相关的题材,和 help 相比,lookfor 覆盖范
围更广,可查找到某个主题所有词组或短语。
(3)帮助窗口(help window)提供与帮助命令相同的信息,但帮助窗口界面更为方便直接。
(4)帮助桌面(help desk)通过在命令窗口中选择帮助菜单的“help desk”选项或键入
helpdesk 命令即可进入帮助桌面。
(5)在线帮助页是帮助桌面的在线帮助均有相应的 PDF 格式文件。
( 6 ) Mathworks 网 站 , 对 于 连 接 入 Internet 的 用 户 通 过 Mathworks 公 司 的 网 站
www.mathworks.com 询问有关问题。
1.2 MATLAB 基本运算
1.2.1 MATLAB 内部特殊变量和常数
MATLAB 内部有很多变量和常数,用来表达特殊含义,常用的有:
变量 ans:指示当前未定义变量名的答案。
常数 eps:表示浮点相对精度,其值是从 1.0 到下一个最大浮点数之间的差值。
常数 Inf:表示无穷大。
虚数单位 i j:表示不定型值,是由 0/0 运算产生。
常数 pi:表示圆周率π。
1.2.2 变量类型
(1)变量命名规则
MATLAB 中对变量的命名应遵循以下规则:
变量名可以由字母、数字和下划线混合组成,但必须以字母开头。
2
第一章 MATLAB 基础知识
字符长度不能大于 31。
变量命名区分大小写。
(2)局部变量和全局变量
局部变量是指那些每个函数体内自己定义的,不能从其他函数和 MATLAB 工作空间访
问的变量。
全局变量是指用关键字“global”声明的变量。全局变量名应尽量大写,并能反映它本
身的含义。如果需要在工作空间和几个函数中都能访问一个全局变量,必须在工作空间和
几个函数中都声明该变量是全局的。
1.2.3 内存变量管理
(1)内存变量的删除与修改
clear 命令用于删除 MATLAB 工作空间中的变量。
clc 命令用于清空 MATLAB 命令窗口中的变量。
who 和 whos 这两个命令用于显示在 MATLAB 工作空间中已经驻留的变量名清单。who
命令只显示出驻留变量的名称,whos 在给出变量名的同时,还给出它们的大小、所占字节
数及数据类型等信息。
(2)内存变量文件
利用 MAT 文件可以把当前 MATLAB 工作空间中的一些有用变量长久地保留下来,扩
展名是.mat。MAT 文件的生成和装入由 save 和 load 命令来完成。常用格式为:
save 文件名 [变量名表]
load 文件名 [变量名表]
1.2.4 MATLAB 常用数学函数
[-append][-ascii]
[-ascii]
MATLAB 提供了许多数学函数,函数的自变量规定为矩阵变量,运算法则是将函数逐
项作用于矩阵的元素上,因而运算的结果是一个与自变量同维数的矩阵。函数使用说明:
三角函数以弧度为单位计算。
abs 函数可以求实数的绝对值、复数的模、字符串的 ASCII 码值。
用于取整的函数有 fix、floor、ceil、round,要注意它们的区别。
rem 与 mod 函数的区别。rem(x,y)和 mod(x,y)要求 x,y 必须为相同大小的实矩阵或为标
量。
1.2.5 MATLAB 矩阵生成
MATLAB 具有强大的矩阵运算和数据处理功能,对矩阵的处理必须遵从代数规则。
(1)矩阵的建立
直接输入法
最简单的建立矩阵的方法是从键盘直接输入矩阵的元素。具体方法如下:将矩阵的元
素用方括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用空格或逗号分隔,
不同行的元素之间用分号分隔。
利用 M 文件建立矩阵
对于比较大且比较复杂的矩阵,可以为它专门建立一个 M 文件。下面通过一个简单例
子来说明如何利用 M 文件创建矩阵。
利用冒号表达式建立一个向量
冒号表达式可以产生一个行向量,一般格式是:e1:e2:e3,其中 e1 为初始值,e2 为步
长,e3 为终止值。
在 MATLAB 中,还可以用 linspace 函数产生行向量。其调用格式为:linspace(a,b,n),
其中 a 和 b 是生成向量的第一个和最后一个元素,n 是元素总数。显然,linspace(a,b,n)与
3
第一章 MATLAB 基础知识
a:(b-a)/(n-1):b 等价。
建立大矩阵
大矩阵可由方括号中的小矩阵或向量建立起来。
(2)矩阵的拆分
矩阵元素
通过下标引用矩阵的元素,例如
A=[1,2,3;4,5,6];
A(1,2)
ans=2
采用矩阵元素的序号来引用矩阵元素。矩阵元素的序号就是相应元素在内存中的排列
顺序。在 MATLAB 中,矩阵元素按列存储,先第一列,再第二列,依次类推。例如
A=[1,2,3;4,5,6];
A(3)
ans=2
显然,序号(Index)与下标(Subscript )是一一对应的,以 m×n 矩阵 A 为例,矩阵元素 A(i,j)
的序号为(j-1)*m+i。其相互转换关系也可利用 sub2ind 和 ind2sub 函数求得。
矩阵拆分
1) 利用冒号表达式获得子矩阵
① A(:,j)表示取 A 矩阵的第 j 列全部元素;A(i,:)表示 A 矩阵第 i 行的全部元素;A(i,j)
表示取 A 矩阵第 i 行、第 j 列的元素。
② A(i:i+m,:)表示取 A 矩阵第 i~i+m 行的全部元素;A(:,k:k+m)表示取 A 矩阵第 k~
k+m 列的全部元素,A(i:i+m,k:k+m)表示取 A 矩阵第 i~i+m 行内,并在第 k~k+m 列中的
所有元素。
此外,还可利用一般向量和 end 运算符来表示矩阵下标,从而获得子矩阵。end 表示某
一维的末尾元素下标。
2) 利用空矩阵删除矩阵的元素
在 MATLAB 中,定义[]为空矩阵。给变量 X 赋空矩阵的语句为 X=[]。注意,X=[]与
clear X 不同,clear 是将 X 从工作空间中删除,而空矩阵则存在于工作空间中,只是维数为
0。
(3)特殊矩阵
常用的产生通用特殊矩阵的函数有:
zeros:产生全 0 矩阵(零矩阵)。
ones:产生全 1 矩阵(幺矩阵)。
eye:产生单位矩阵。
rand:产生 0~1 间均匀分布的随机矩阵。
randn:产生均值为 0,方差为 1 的标准正态分布随机矩阵。
例 1-1 分别建立 3×3、3×2 和与矩阵 A 同样大小的零矩阵。
(1) 建立一个 3×3 零矩阵。
zeros(3)
(2) 建立一个 3×2 零矩阵。
zeros(3,2)
(3) 设 A 为 2×3 矩阵,则可以用 zeros(size(A))建立一个与矩阵 A 同样大小零矩阵。
A=[1 2 3;4 5 6]; %产生一个 2×3 阶矩阵 A
zeros(size(A)) %产生一个与矩阵 A 同样大小的零矩阵
4
第一章 MATLAB 基础知识
例 1-2 建立随机矩阵:(1) 在区间[20,50]内均匀分布的 5 阶随机矩阵。(2) 均值为 0.6、方差
为 0.1 的 5 阶正态分布随机矩阵。
命令如下:
x=20+(50-20)*rand(5)
y=0.6+sqrt(0.1)*randn(5)
此外,常用的函数还有 reshape(A,m,n),它在矩阵总元素保持不变的前提下,将矩阵 A
重新排成 m×n 的二维矩阵。
1.2.6 MATLAB 矩阵运算
(1)算术运算
基本算术运算
MATLAB 的基本算术运算有:+(加)、-(减)、*(乘)、/(右除)、\(左除)、^(乘方)。注
意,运算是在矩阵意义下进行的,单个数据的算术运算只是一种特例。
1) 矩阵加减运算
假定有两个矩阵 A 和 B,则可以由 A+B 和 A-B 实现矩阵的加减运算。运算规则是:若
A 和 B 矩阵的维数相同,则可以执行矩阵的加减运算,A 和 B 矩阵的相应元素相加减。如
果 A 与 B 的维数不相同,则 MATLAB 将给出错误信息,提示用户两个矩阵的维数不匹配。
2) 矩阵乘法
假定有两个矩阵 A 和 B,若 A 为 m×n 矩阵,B 为 n×p 矩阵,则 C=A*B 为 m×p 矩
阵。
3) 矩阵除法
在 MATLAB 中,有两种矩阵除法运算:\和/,分别表示左除和右除。如果 A 矩阵是非
奇异方阵,则 A\B 和 B/A 运算可以实现。A\B 等效于 A 的逆左乘 B 矩阵,也就是 inv(A)*B,
而 B/A 等效于 A 矩阵的逆右乘 B 矩阵,也就是 B*inv(A)。对于含有标量的运算,两种除法
运 算 的 结 果 相 同 , 如 3/4 和 4\3 有 相 同 的 值 , 都 等 于 0.75。 又 如 , 设 a=[10.5,25], 则
a/5=5\a=[2.1000 5.0000]。对于矩阵来说,左除和右除表示两种不同的除数矩阵和被除数矩
阵的关系。对于矩阵运算,一般 A\B≠B/A。
4) 矩阵的乘方
一个矩阵的乘方运算可以表示成 A^x,要求 A 为方阵,x 为标量。
点运算
在 MATLAB 中,有一种特殊的运算,因为其运算符是在有关算术运算符前面加点,所
以叫点运算。点运算符有.*、./、.\和.^。两矩阵进行点运算是指它们的对应元素进行相关运
算,要求两矩阵的维参数相同。
(2)关系运算
MATLAB 提供了 6 种关系运算符:<(小于)、<=(小于或等于)、>(大于)、>=(大于或等
于)、==(等于)、~=(不等于)。它们的含义不难理解,但要注意其书写方法与数学中的不等
式符号不尽相同。关系运算符的运算法则为:
当两个比较量是标量时,直接比较两数的大小。若关系成立,关系表达式结果为 1,否
则为 0。
当参与比较的量是两个维数相同的矩阵时,比较是对两矩阵相同位置的元素按标量关
系运算规则逐个进行,并给出元素比较结果。最终的关系运算的结果是一个维数与原
矩阵相同的矩阵,它的元素由 0 或 1 组成。
当参与比较的一个是标量,而另一个是矩阵时,则把标量与矩阵的每一个元素按标量
关系运算规则逐个比较,并给出元素比较结果。最终的关系运算的结果是一个维数与
原矩阵相同的矩阵,它的元素由 0 或 1 组成。
5