《MATLAB电子仿真与应用教程(第3版)》主要介绍MATLAB的基础知识和电子仿真技术,并详细介绍集成在MATIAB中的simulink软件包。《MATLAB电子仿真与应用教程(第3版)》的内容涉及MATLAB仿真应用数学基础、MATLAB中的控制系统仿真与设计、MATLAB中的数字信号处理仿真与滤波器设计以及MATIAB中的通信系统仿真及应用,这些内容基本涵盖了电信工程中电子仿真的各个方面,也反映了近年来电子仿真发展的主要趋势。《MATLAB电子仿真与应用教程(第3版)》的最大特色就是从MATLAB的入门开始,详细阐述MATIAB开发环境的主要工具及使用,在介绍MATLAB的实际应用时,用大量的范例将理论设计与工程实际紧密结合,读者可以从《MATLAB电子仿真与应用教程(第3版)》中直接找到工程实际中大量问题的解决方法。
《MATLAB电子仿真与应用教程(第3版)》不但适合初学MATIJAB的读者,而且可以作为工程技术人员的参考资料,也可以作为高年级本科生或硕士研究生的“系统仿真”教材。
理论与工程实际紧密结合,书中所列举的例子基本上都来源于工程实际,甚至有些就是现实当中的工程设计。仿真工程应用系统化,书中严格地按照各种理论系统进行仿真过程的设计,使所有的工程内容都可以找到理论根源。
MATLJAB是Math Worlks公司推出的一套高效率的数值计算和可视化软件,它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的、界面友好的用户环境。
MATLAB的推出得到了各个领域专家学者的广泛关注,其强大的扩展功能更是为各个工程领域提供了分析和设计的基础。随着MATLAB在各个工程领域应用的日益广泛,专家学者们相继推出了控制系统工具箱(Control Systems Foolbox)、模糊逻辑工具箱(Fuzzy Fogic Tool-box)、虚拟现实工具箱(Virtual Reality Toolbox)、数字信号处理模块库(DSP Blockset)、神经网络模块库(Neural Network Blockset)和航天器控制模块库(Aerospace Blockset)等简单实用的工具箱和模块库,这些工具箱给各个领域的研究和工程应用提供了强有力的工具,而且这些工具箱还在不断增加。借助于日渐完善的MATLAB软件,各个领域的研究人员可以直观、方便地进行分析、计算和设计工作,大大节省了时间,提高了工作效率。此外,在MAT-LAB中,所有的分析工具都可以立即获得,因此可以很方便地看到运行结果、分析这些结果,并且使结果可视化。
特别需要说明的是作为MATIAB扩展功能的Simulink软件包,它是一个集成在MATTJAB中的集建模、仿真和系统分析为一体的软件包,它具有相对独立的功能和使用方法。利用Simulink,设计人员可以建立起一套直观、完整的模型图,并依据所描述的系统模型的数学关系对整个系统进行仿真。事实上,在世界各国的电子系统理论教学中,MATLAB及Simulink都已经成为必备的辅助教学软件之一,利用这个软件不但可以摆脱繁杂的大规模计算,而且还可以使学生自己动手构建模型。本书的第4章对Simulink的使用和仿真过程进行了详细的阐述,目的是希望读者能够掌握并熟练运用这个有用的仿真工具。
本书的最大特点就是与工程实际的紧密结合,书中所列举的例子基本来源于工程实际,甚至有些就是现实当中的工程设计,因此本书很好地做到了理论联系实际,使读者对各种MAT-LAB仿真应用有一个感性的认识,使得书中的内容更加易学易用。本书的另一大特色就是注重仿真工程应用的系统化,书中严格地按照各种理论系统进行仿真过程的设计,使所有的工程内容都可以找到理论根源,从而方便了读者对各种理论背景的查询。同时本书根据各种理论设计了一套严整的仿真函数,这些函数都是MATIJAB库函数中所没有而工程实际中又经常用到的,因而工程设计人员可以直接调用书中提供的一些函数来进行电子仿真,从而大大方便了系统分析设计人员的仿真应用。
由于MAT[.AB是一个极其庞大,而且功能完善的软件,不可能将其所有的功能一一介绍给读者,但本书涉及的内容基本覆盖了工程实际中常用的分析工具和分析方法。限于作者的水平,本书的不足之处在所难免,欢迎广大读者和用户批评指正。
第1章 MATLAB入门
1.1 MATLAB简介
1.1.1 MATLAB的功能及特点
1.1.2 MATLAB系统
1.1.3 MATLAB安装的目录结构
1.2 MATLAB开发环境
1.2.1 设置MATLAB
1.2.2 M.AT[AB桌面工具
1.3 MATLAB语言初步
1.3.1 MATLAB语言的特点
1.3.2 MATLAB的语言结构和编程方法
1.3.3 MATLAB的主要语法和操作符
1.4 本章小结
第2章 MATLAB常用数学方法
2.1 矩阵和数组的运算
2.1.1 矩阵的定义和运算
2.1.2 数组的定义和运算
2.1.3 数组的关系和逻辑运算
2.1.4 多维数组
2.2 特殊矩阵的生成
2.2.1 零矩阵与单位矩阵
2.2.2 对角矩阵
2.2.3 伴随矩阵
2.2.4 Vandermonde矩阵
2.2.5 Hilbert矩阵及逆.Hilbert矩阵
2.3 矩阵特征参数的提取
2.3.1 矩阵的秩
2.3.2 矩阵的行列式
2.3.3 矩阵的迹
2.3.4 矩阵的范数
2.3.5 矩阵的特征多项式、特征方程与特征根
2.4 矩阵的分解
2.4.1 三角分解
2.4.2 Cholesky分解
2.4.3 奇异值分解
2.5 矩阵特征值与特征矢量
2.5.1 矩阵特征值与特征矢量的计算
2.5.2 广义矩阵特征值与特征矢量
2.6 矩阵求逆与线性方程求解
2.7 矩阵的非线性运算
2.7.1 对矩阵各个元素的非线性运算
2.7.2 对整个矩阵的非线性运算
2.8 其它常用数学方法
2.8.1 多项式拟合
2.8.2 非线性方程求解与最优化
2.9 常用数学方法举例
2.9.1 解线性方程组的全主元三角分解法
2.9.2 离散数据多项式拟合的正交化方法
2.9.3 求矩阵特征值的基本QR方法
2.10 本章小结
第3章 MATLAB中控制系统的数学描述与建模
3.1 微分方程
3.1.1 微分方程的数值解
3.1.2 非线性系统
3.1.3 线性化
3.2 传递函数
3.2.1 多项式的根和特征多项式
3.2.2 传递函数的零点和极点
3.2.3 部分分式展开
3.3 状态空间描述
3.3.1 将微分方程化成状态方程
3.3.2 矩阵的对角化
3.4 模型的转换与连接
3.4.1 数学模型的转换
3.4.2 系统模型的连接
3.5 模型的降阶与实现
3.5.1 模型降阶
3.5.2 模型实现
3.6 控制系统的模型属性
3.7 控制系统常用数学方程求解
3.8 本章小结
第4章 Similllink建模与仿真
4.1 一个使用Simulink的小例子
4.2 典型控制系统的建模与仿真
4.2.1 控制系统建模
4.2.2 仿真参数的设置
4.2.3 系统仿真
4.3 sinlulink模块的操作
4.3.1 添加和选取模块
4.3.2 调整模块的位置和大小
4.3.3 模块名的处理
4.3.4 复制和删除模块
4.3.5 模块属性和参数的设置
4.3.6 模块间的连线
4.4 模块的合成、创建与封装
4.4.1 模块的合成
4.4.2 创建新模块
4.4.3 模块的封装
4.5 simulink的mail文件
4.6 本章小结
第5章 控制系统的时域分析和设计方法
5.1 控制系统的稳定性分析
5.2 控制系统的时域分析
5.2.1 时域分析的一般方法
5.2.2 常用时域分析函数
5.2.3 时域分析应用实例
5.3 根轨迹分析方法
5.3.1 模条件和角条件
5.3.2 绘制根轨迹的基本规则
5.3.3 根轨迹分析应用实例
5.4 极点配置设计方法
5.5 解耦控制设计方法
5.6 线性二次型最优控制器设计
5.6.1 线性二次型指标与里卡第(Riccati)方程求解
5.6.2 最优控制器设计实例
5.7 线性二次型高斯(Gauss)最优控制
5.7.1 LQG问题的一般解法
5.7.2 回路传输恢复技术
5.7.3 LQG设计实例
5.8 本章小结
第6章 控制系统的频域分析和设计方法
6.1 控制系统的频域分析
6.1.1 频域分析的一般方法
6.1.2 常用频域分析函数
6.1.3 频域分析应用实例
6.2 控制系统的校正
6.2.1 单变量系统的两种主要校正方式
6.2.2 PD、PI、PID校正
6.2.3 串联校正实例
6.3 多变量系统的频域设计方法
6.3.1 数学模型与标准型
6.3.2 多变量系统的频率响应
6.4 定量反馈控制设计方法
6.4.1 单变量系统的Q订设计方法
6.4.2 QFT设计举例
6.4.3 QFT设计工具箱应用
6.5 MlAl主战坦克观测仪飞轮控制器的设计
6.6 本章小结
第7章 MATLAB在数字信号处理中的应用
7.1 离散时间信号与系统
7.1.1 离散时间信号
7.1.2 离散系统的卷积和相关
7.1.3 离散系统的差分方程
7.2 离散时间傅里叶变换
7.2.1 离散时间傅里叶变换定义与计算
7.2.2 离散时间傅里叶变换的特性
7.3 离散傅里叶变换
7.3.1 离散傅里叶级数
7.3.2 离散傅里叶变换
7.4 数字信号处理信号分析实例
7.4.1 实验准备
7.4.2 wav文件的一次性傅里叶变换
7.4.3 wav文件的分段傅里叶分析
7.4.4 用simuhnk进行仿真
7.5 本章小结
第8章 FIR滤波器设计
8.1 数字滤波器的结构
8.1.1 基本元件
8.1.2 IIR滤波器的结构
8.1.3 FIR滤波器的结构
8.2 滤波器设计基础
8.2.1 滤波器指标的确定
8.2.2 问题的描述
8.3 线性相位FIR滤波器的性质
8.3.1 冲激响应
8.3.2 频率响应
8.3.3 零点位置
8.4 FIR滤波器的窗函数设计技术
8.4.1 窗函数设计的基本思想
8.4.2 常用窗函数
8.4.3 窗函数设计公式
8.4.4 FTR滤波器设计实例
8.5 本章小结
第9章 FIR滤波器设计
9.1 滤波器的指标
9.2 模拟滤波器原型
9.2.1 巴特沃斯低通滤波器
9.2.2 切比雪夫低通滤波器
9.3 滤波器的变换
9.3.1 滤波器变换的基本方法
9.3.2 滤波器变换实例
9.4 用MATLAB设计低通滤波器
9.4.1 设计低通滤波器的MATLA函数
9.4.2 低通滤波器设计实例
9.5 本章 小结
第10章 MATLAB在通信仿真中的应用
10.1 信息论基础
10.1.1 信息的度量
10.1.2 信道容量的计算
10.1.3 信源编码
10.2 模拟线性调制
10.2.1 常规双边带调幅(AM)
10.2.2 抑制载波双边带调幅(DSB-SC)
10.2.3 单边带调幅(SSB)
10.2.4 残留边带调幅(VSB)
10.3 模拟角度调制
10.3.1 频率调制
10.3.2 相位调制
10.3.3 关于模拟调制的总结
10.4 脉冲编码调制(PCM)
10.4.1 模拟信号的抽样
10.4.2 最佳量化及量化误差
10.4.3 均匀量化
10.4.4 对数量化器及A律PCM编码
10.5 数字信号基带传输
10.5.1 数字基带信号的码型
10.5.2 码型的功率谱分布
10.5.3 基带传输的误码率
10.5.4 扰码与解扰
10.6 数字信号载波传输
10.6.1 幅度键控(ASK)
10.6.2 频移键控(FSK)
10.6.3 相移键控(PSK、DPSK)
10.6.4 正交幅度调制(QAM)
10.7 小结
在计算机技术日益发展的今天,计算机的应用正逐步将科技人员从繁重的计算工作中解脱出来。在科学研究和工程应用中,往往需要进行大量的数学计算,一些科技人员曾经尝试使用BASIC、Fortran以及c语言编写程序,以减轻工作量。但编制程序需要掌握高级语言的语法,还需要对各种算法有深刻的了解,这对大多数科技人员来说是不现实的,而且也是没有必要的。
为了满足用户对数学计算的要求,一些著名的软件公司都分别推出了一批数学类计算应用软件,如MAT[AB、MATHEM.AT[CA、MAPI正和MATHCAD。其中Math Works公司推出的MATLAB,由于其强大的功能以及应用性,受到越来越多的科技工作者的欢迎。在美国、欧洲等发达国家的大学中,已成为一种必须掌握的编程语言。
本章简要介绍MATL,AB的功能特点、安装过程及其用户界面,希望读者通过这些内容能够对MATLAB有一定程度的感性了解。
1.1 MArLAB简介
目前,在国际流行的科技应用软件中,数学类(区别于文字处理和图像处理类)软件共有30多种。从它们的数学处理的原始内核来看,不外乎两种类型:数值计算型和数学分析型。前者如MATLAB、Xmath等,它们对大量数据具有较强的管理、计算和可视化能力,运行效率较高;后者如MATHEMATICA、MAPLE等,它们长于符号计算,可以得到问题的解析符号解和任意精度解,但处理大量数据速度较慢。