第8章MATLAB工具箱及其仿_第1页
第8章MATLAB工具箱及其仿_第2页
第8章MATLAB工具箱及其仿_第3页
第8章MATLAB工具箱及其仿_第4页
第8章MATLAB工具箱及其仿_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第8章 MATLAB工具箱及其仿真8.1 入门实例【例例8-1】 构建一组正弦信号及其积分运算的模型,并用示波器显示结果构建一组正弦信号及其积分运算的模型,并用示波器显示结果需要用到的需要用到的simulink模块:模块:输入源模块输入源模块(Sources)中的正弦波模中的正弦波模块块(Sine Wave);接收器模块接收器模块(Sink)中的示波器模块中的示波器模块(Scope);连续系统模块连续系统模块(Continous)中的积分中的积分模块模块(Integrator);信号路线模块信号路线模块(Signal Routing)中的中的信号混路模块信号混路模块(Mux)最终的最终的sim

2、ulink模型图:模型图: 建模步骤: 打开模型编辑窗口打开模型编辑窗口n 在在MATLAB的命令窗口提示符下输入命令的命令窗口提示符下输入命令simulink,打开打开Simulink模块库浏览窗口模块库浏览窗口(Simulink Library Browser),如图),如图8-1所示。所示。n 单击其工具栏中的单击其工具栏中的“Create a new model”按钮,弹出模型编辑窗口,如图按钮,弹出模型编辑窗口,如图8-2所示。所示。图图8-1 Simulink 模块库窗口浏览器模块库窗口浏览器图图8-2 模型编辑窗口模型编辑窗口建模步骤: 信号源的选取信号源的选取n 选择两个正弦信

3、号,用一个正弦波模块表示。打开选择两个正弦信号,用一个正弦波模块表示。打开“Simulink”模块库浏览窗口中模块库浏览窗口中“Sources”模块库,选择正弦波模块模块库,选择正弦波模块“Sine Wave”,如图,如图8-3所示,按住鼠标左键并所示,按住鼠标左键并将其拖曳到模型窗口中进行处理。将其拖曳到模型窗口中进行处理。 信号源的设置信号源的设置n 两个信号的幅值和相位分别为两个信号的幅值和相位分别为1 2和和1 3。双击模型编辑窗口中的正弦模块,进入。双击模型编辑窗口中的正弦模块,进入模块的参数设定窗口,从而对模块进行参数设定,如图模块的参数设定窗口,从而对模块进行参数设定,如图8-4

4、所示。所示。图图8-3 选取正弦波模块选取正弦波模块图图8-4 正弦信号参数设置对话框正弦信号参数设置对话框建模步骤: 其它模块的选取其它模块的选取n分别从连续模块库里选取积分模块(分别从连续模块库里选取积分模块(Integrator),从输出源模块库里选取示波器(),从输出源模块库里选取示波器(Scope),从信号路径),从信号路径模块库里选取信号混路模块(模块库里选取信号混路模块(Mux) 连线及线型设置连线及线型设置n用鼠标在功能模块的输入与输出之间直接连接,对于输入线的分支,按住用鼠标在功能模块的输入与输出之间直接连接,对于输入线的分支,按住Ctrl键,在要建立分支的地方用键,在要建立

5、分支的地方用鼠标拉出。正弦信号模块的输出为向量输出,因此引出的线为粗线。鼠标右击模型编辑窗口,在弹出窗口鼠标拉出。正弦信号模块的输出为向量输出,因此引出的线为粗线。鼠标右击模型编辑窗口,在弹出窗口进行格式设置,如图进行格式设置,如图8-5所示。所示。 标签设置标签设置n在连线上双击鼠标左键,即可输入该线的说明标签。设置结果如图在连线上双击鼠标左键,即可输入该线的说明标签。设置结果如图8-6所示。所示。图图8-5 包含正弦信号及其积分的包含正弦信号及其积分的simulink模型图模型图图图8-6 信号名称的定义信号名称的定义建模步骤: 系统仿真及结果显示系统仿真及结果显示n 采取默认的仿真参数进

6、行仿真。具体地,鼠标单击工具栏上的采取默认的仿真参数进行仿真。具体地,鼠标单击工具栏上的 按钮执行仿真,然按钮执行仿真,然后鼠标右击弹出菜单,如图后鼠标右击弹出菜单,如图8-7所示。所示。n 打开示波器,仿真后得到系统的输出波形如图打开示波器,仿真后得到系统的输出波形如图8-8所示。所示。图图8-7 查看输出结果查看输出结果图图8-8 两个正弦信号及其积分波形两个正弦信号及其积分波形8.2 Matlab 工具箱分类MATLAB程序包括拥有数百个内部函数的主程序包和程序包括拥有数百个内部函数的主程序包和30多种工具箱扩展包。多种工具箱扩展包。Matlab工具箱工具箱功能型工具箱:功能型工具箱:扩

7、充扩充MATLAB的符号计算、可视化建模仿真、文字处理及的符号计算、可视化建模仿真、文字处理及实时控制等功能实时控制等功能学科型工具箱:学科型工具箱:专业性比较强的工具箱,如控制系统工具箱、信号处理工专业性比较强的工具箱,如控制系统工具箱、信号处理工具箱、通信工具箱等具箱、通信工具箱等MATLAB工具箱举例:工具箱举例:通信工具箱通信工具箱(CommunicationToolbox)可以研究信号编码、调制解调、滤波器和均衡器设计、通道模型、同步等,并且可以研究信号编码、调制解调、滤波器和均衡器设计、通道模型、同步等,并且可以方便地由结构图直接生成可应用的可以方便地由结构图直接生成可应用的C语言

8、源代码。语言源代码。控制系统工具箱控制系统工具箱(Control System Toolbox)支持连续和离散系统设计,可以研究状态空间和传递函数、模型转换、频域响应支持连续和离散系统设计,可以研究状态空间和传递函数、模型转换、频域响应(Bode图、图、Nyquist图、图、Nichols图)、时域响应(脉冲响应、阶跃响应、斜坡响应图)、时域响应(脉冲响应、阶跃响应、斜坡响应等)、根轨迹、极点配置、等)、根轨迹、极点配置、LQG等。等。图像处理工具箱图像处理工具箱(Image Processing Toolbox)可以研究二维滤波器设计和滤波、图像恢复增强、色彩集合及形态操作、二维变可以研究二

9、维滤波器设计和滤波、图像恢复增强、色彩集合及形态操作、二维变换、图像分析和统计等。换、图像分析和统计等。信号处理工具箱信号处理工具箱(Signal Processing Toolbox)可以研究数字和模拟滤波器设计、应用及仿真,支持谱分析和估计,支持可以研究数字和模拟滤波器设计、应用及仿真,支持谱分析和估计,支持FFT、DCT等变换,支持参数化模型等。等变换,支持参数化模型等。神经网络工具箱神经网络工具箱(Neural Network Toolbox)可以研究可以研究BP、Hopfield、Kohonen、自组织、径向基函数等网络,支持竞争、线性、自组织、径向基函数等网络,支持竞争、线性、Si

10、gmoidal等传递函数,支持前馈、递归等网络结构,支持性能分析及用。等传递函数,支持前馈、递归等网络结构,支持性能分析及用。8.3 Simulink 工具箱8.3.1 Simulink的启用方法的启用方法 Simulink 工具箱的特点工具箱的特点n 可视化的动态系统仿真;图形化建模手段。可视化的动态系统仿真;图形化建模手段。 Simulink 的四种启用方法的四种启用方法n 在在MATLAB命令窗口中输入命令窗口中输入simulink结果是在桌面上出现一个称为Simulink Library Browser的窗口,在这个窗口中列出了按功能分类的各种模块的名称。n 在在MATLAB命令窗口中

11、输入命令窗口中输入simulink3结果是在桌面上出现一个用图标形式显示的Library :simulink3的Simulink模块库窗口。n 可以通过单击可以通过单击MATLAB主窗口工具条上的主窗口工具条上的Simulink图标打开图标打开n 可以通过单击可以通过单击MATLAB主窗口菜单选择主窗口菜单选择FileNewModel弹出一个弹出一个Untitled的的Simulink模型窗口,再选择模型窗口,再选择View Show Library Browser,弹出弹出Simulink Library Brower模块库窗口模块库窗口8.3.2 Simulink的模块库的模块库 Simu

12、link 模块库浏览窗口模块库浏览窗口启用simulink后,打开的simulink模块库浏览窗口如图8-9所示。 Simulink 的模块库按功能进行分类的模块库按功能进行分类在模块库浏览器左侧的“Simulink”栏上单击鼠标右键,在弹出的快捷菜单中单击“Open the Simulink library”命令,打开Simulink基本模块库窗口,如图8-8所示。图图8-9 Simulink 模块库浏览器窗口模块库浏览器窗口图图8-8 Simulink 基本模块库窗口基本模块库窗口1.输入源模块库(输入源模块库(Sources)常用的输入源模块如表8-1所示。表表8-1 常用的输入源模块常

13、用的输入源模块Simulink 模块库按模块简介:模模 块块功功 能能In1输入端口输入端口Ground未连接的输入端口未连接的输入端口Constant常数信号常数信号Signal Generator信号发生器,产生任意波形信号发生器,产生任意波形Step阶跃信号阶跃信号Ramp斜坡信号斜坡信号Sine Wave正弦波信号正弦波信号Repeating Sequence重复序列线性信号重复序列线性信号Pulse Generator脉冲发生器脉冲发生器Chirp Signal频率不断变化的正弦信号频率不断变化的正弦信号Clock时钟信号时钟信号Digital Clock数字仿真时钟,按指定速率输出

14、数字仿真时钟,按指定速率输出From File从从M文件读取数据文件读取数据From Workspace从工作空间读取数据从工作空间读取数据Random Number满足高斯分布的随机信号满足高斯分布的随机信号Uniform Random Number满足平均分布的随机信号满足平均分布的随机信号Band-Limited White Noise带限白噪声带限白噪声2.输出模块库(输出模块库(Sinks)常用的输出模块如表8-2所示。表表8-2 常用的输出模块常用的输出模块Simulink 模块库按模块简介:模模 块块功功 能能Scope示波器,显示信号曲线示波器,显示信号曲线Floating S

15、cope浮动示波器浮动示波器XY Graph显示二维显示二维X-Y图形图形Display显示数值显示数值Out1输出端口输出端口To File将输出写入数据文件。将输出写入数据文件。To Workspace将输出写入将输出写入MATLAB的工作空间的工作空间Stop Simulation当输入不为当输入不为0时停止仿真时停止仿真Terminator终止一个未连接的输出端口终止一个未连接的输出端口3.连续系统模块库(连续系统模块库(Continuous)常用的连续系统模块如表8-3所示。连续系统模块库中所有模块都是假设初始条件为0,但在实际应用中有时要求模块初始条件非零,这时可以在“Blocks

16、ets&Toolboxes”库中双击“Simulink Extras”模块组,再双击其中的“Additional Linear”图标,打开图8-11所示的附加连续线性模块组,其中包含的模块均允许非零初始条件。表表8-3 常用的连续系统模块常用的连续系统模块Simulink 模块库按模块简介:模模 块块功功 能能Integrator积分器积分器Derivative对输入信号微分对输入信号微分State-Space线性状态空间系统模型线性状态空间系统模型Transfer Fcn线性传递函数模型线性传递函数模型Zero-Pole以零极点表示的传递函数模型以零极点表示的传递函数模型Transp

17、ort Delay对输入信号延迟一个给定时间再输出对输入信号延迟一个给定时间再输出Variable Transport Delay对输入信号延迟一个可变时间再输出对输入信号延迟一个可变时间再输出Memory存储上一时刻的状态值存储上一时刻的状态值图图8-11 附加连续线性模块组附加连续线性模块组4.离散系统模块库(离散系统模块库(Discrete)常用的离散系统模块如表8-4所示。和连续系统模块库类似,这些模块也都是表示零初始条件的模块;对初始条件非零的模块,可以在“Simulink Extras”模块组中的“Additional Discrete”(附加离散系统模块组)中查找。表表8-4 常

18、用的离散系统模块常用的离散系统模块Simulink 模块库按模块简介:模模 块块功功 能能Unit Delay一个采样周期的延时一个采样周期的延时Discrete-Time Integrator离散时间积分器离散时间积分器Discrete Filter离散滤波器离散滤波器Discrete Transfer Fcn离散传递函数模型离散传递函数模型Discrete Zero-pole以零极点表示的离散传递函数模型以零极点表示的离散传递函数模型Discrete State-Space离散状态空间系统模型离散状态空间系统模型First-Order Hold一阶采样保持器一阶采样保持器Zero-Orde

19、r Hold零阶采样保持器零阶采样保持器5.数学运算模块库(数学运算模块库(Math Operations)常用的数学运算模块如表8-5所示。表表8-5 常用的数学运算模块常用的数学运算模块Simulink 模块库按模块简介:模模 块块功功 能能模模 块块功功 能能Sum对输入求和对输入求和Rounding Function取整运算取整运算Product对输出求积对输出求积Combinatorial Logic建立真值表建立真值表Dot Product点乘运算点乘运算Logical Operator逻辑运算逻辑运算Gain常值增益常值增益Relational Operator关系运算关系运算S

20、lider Gain滑动增益滑动增益Algebraic Constraint强制输入信号为强制输入信号为0Math Function包括指数函数、对数函数、求平方包括指数函数、对数函数、求平方等等Complex to Magnitude-Angle由复数输入转为幅值和相角输出由复数输入转为幅值和相角输出Trigonometric Function三角函数,包括正弦、余弦、正切三角函数,包括正弦、余弦、正切等等Complex to Real-Imag由复数输入转为实部和虚部输出由复数输入转为实部和虚部输出MinMax最小值或最大值运算最小值或最大值运算Magnitude-Angle to Com

21、plex由幅值和相角输入合成复数输出由幅值和相角输入合成复数输出Abs求绝对值或求复数的模求绝对值或求复数的模Complex to Real-Imag求复数的实部、虚部求复数的实部、虚部Sign取输入的符号函数取输入的符号函数Real-Image to Complex由实部和虚部输入合成复数输出由实部和虚部输入合成复数输出Simulink 模块库按模块简介:6.非线性模块库(非线性模块库(Discontinuties)常用的数学运算模块如表8-5所示。7.查表模块库(查表模块库(Look up Tables)常用的查表模块如表8-7所示。表表8-6 常用的非线性模块常用的非线性模块模模 块块功

22、功 能能Rate Limit变化速率限制变化速率限制Saturation饱和输出,让输出超过某值时能够饱和饱和输出,让输出超过某值时能够饱和Quantizer离散化离散化Blacklash滞环或间隙滞环或间隙Dead Zone死区死区Relay滞环继电器滞环继电器Switch切换开关切换开关Manual Switch手动选择开关手动选择开关Coulomb & Viscous Friction库仑和粘滞摩擦库仑和粘滞摩擦表表8-7 常用的查表模块常用的查表模块模模 块块功功 能能User-defined function用户定义函数模块用户定义函数模块Look-Up Table建立输入信

23、号的查询表(线性峰值匹配)建立输入信号的查询表(线性峰值匹配)Look-Up Table(2-D)建立两个输入信号的查询表(线性峰值匹建立两个输入信号的查询表(线性峰值匹配)配)Fcn利用自定义的函数(表达式)利用自定义的函数(表达式)MATLAB Fcn利用利用MATLAB的现有函数的现有函数S-Function调用自己编写的调用自己编写的S函数的程序函数的程序8.用户自定义函数模块库(用户自定义函数模块库(User-defined Functions)在用户自定义函数模块库中,可以利用Fcn模块对M函数和MATLAB内部函数直接求值,对于用户自己编写的MATLAB复杂函数求解,还可以按照特

24、定的格式编写系统函数(简称S函数),用以实现任意复杂度的功能。9.信号模块库(信号模块库(Signal Routing)信号模块库包括将多路信号组成向量型信号的Mux模块、将向量型信号分解成若干单路信号的Demux模块、选路器模块Selector、转移模块Goto和From、支持各种开关的模块,如一般开关模块(Switch),多路开关模块(Multiport Switch),手动开关模块(Manual Switch)等。10. 信号属性模块库(信号属性模块库(Signal Attributes)信号属性模块库包括信号类型转换模块(DATA Type Conversion)、采样周期转换模块(R

25、ate Transition)、初始条件设置模块(IC)、信号宽度检测模块(Width)等。Simulink 模块库按模块简介:Simulink 模块库按模块简介:11. 其他工具箱模块库其他工具箱模块库双击模块库“Blocksets&Toolboxes”图标,进入Simulink下其他工具箱模块库,如图8-12所示。其中包括:通信模块集(Comm Blocksets)控制系统工具箱(Control System Toolbox)神经网络模块集(Neural NetwokBlockset)状态流(State Flow)等。图图8-12 Simulink的其他工具箱模块库的其他工具箱模块

26、库8.3.3 Simulink建模与仿真建模与仿真 Simulink模型的建立模型的建立1. 启动模型编辑窗口启动模型编辑窗口在MATLAB主窗口菜单选择FileNewModel,在弹出Simulink模块库浏览器的同时,会出现一个名为untitled模型编辑窗口。另外,在启动Simulink模块库浏览器之后,单击其工具栏中的“Create a new model”按钮,也会弹出模型编辑窗口。2. 建立建立Simulink模型模型Simulink 模型通常包含三类模块:信源(Source)、系统(System)及信宿(Sink)。在Simulink模块库浏览器中打开所对应的模块库,选择模块,按

27、住鼠标左键并将其拖曳到模型编辑窗口中进行处理。 建立建立Simulink模型,包括对模块的操作和模型,包括对模块的操作和Simulink线的处理。线的处理。n 模块的操作模块的操作模块的操作包括模块的选取、模块的移动、复制、删除、转向、改变大小、模块命名、颜色设定、参数设定、属性设定、模块输入输出信号等。移动:移动:选中模块,按住鼠标左键并将其拖曳至所需的位置即可。也可以按住Shift键,再进行拖曳。复制:复制:选中模块,然后按住右键进行拖曳,即可复制一个同样的功能模块。n 模块的操作(续)模块的操作(续)删除:删除:选中模块,按Delete键即可。若要删除多个模块,可以按住Shift键,同时

28、用鼠标选中多个模块,然后按Delete键即可。也可以用鼠标选取区域,再按Delete键就可以把该区域中的所有模块和线等全部删除。转向:转向:为了能够顺序连接功能模块的输入端和输出端,功能模块有时需要转向。在菜单“Format”中选择“Flip Block”命令旋转180,选择“Rotate Block”命令顺时针旋转90。或者直接按Ctrl+I 键执行Flip Block 命令,按Ctrl+R 键执行Rotate Block命令。改变大小:改变大小:选中模块,对模块出现的4个黑色标记进行拖曳即可。模块命名:模块命名:先单击需要更名的名称,然后直接更改。名称在功能模块上的位置也可以改变180,可

29、以用“Format”菜单中的“Flip Name”命令来实现,也可以直接通过鼠标进行拖曳。“Hide Name”命令可以隐藏模块名称。颜色设定:颜色设定:“Format”菜单中的“Foreground Color”命令可以改变模块的前景颜色,“Background Color”命令可以改变模块的背景颜色,而模块窗口的颜色可以通过“Screen Color”命令来改变。参数设定:参数设定:双击模块,就可以进入模块的参数设定窗口,从而对模块进行参数设定。参数设定窗口包含了该模块的基本功能,为获得更详尽的帮助,可以单击其上的“Help”按钮。通过模块进行参数设定,就可以获得需要的功能模块。属性设定:

30、属性设定:选择模块,打开“Edit”菜单的模块属性设置对话框可以对模块进行属性设定,包括Description 属性、Priority 优先级属性、Tag 属性、Block Annotation 属性、Callbacks属性。模块的输入、输出信号:模块的输入、输出信号:模块处理的信号包括标量信号和向量信号。标量信号是一种单一信号,而向量信号是一种复合信号,是多个信号的集合。在默认情况下,大多数模块的输出都是标量信号。对于输入信号,模块都具有一种“智能”的识别功能,能自动进行匹配。某些模块通过对参数的设定,可以使模块输出向量信号。n Simulink线的处理线的处理Simulink线的处理包括改

31、变粗细、设定标签、线的折弯、线的分支。改变粗细:改变粗细:考虑到引出信号可以是标量信号或向量信号,所以线分为粗细。当选中“Format”菜单下的“Wide Vector Lines”选项时,线的粗细会根据线所引出的信号而改变。如果信号为标量,则为细线;如果信号为向量,则为粗细。选中Vector Line Widths选项则可以显示出向量引出线的宽度,即向量信号由多少个单一信号合成。设定标签:设定标签:只要在线上双击鼠标左键,即可输入该线的说明标签。也可以通过选中线,然后打开Edit菜单下的Signal Properties对话框进行设定,其中signal name 属性表明信号的名称。当设置这

32、个名称后,与该信号有关的端口相连的所有直线附近都会出现写有信号名称的标签。n Simulink线的处理(续)线的处理(续)线的折弯:线的折弯:按住Shift键,用鼠标在要折弯的线处单击,就会出现圆圈,表示折点,利用折点可以改变线的形状。线的分支:线的分支:按住鼠标右键,在需要分支的地方拉出即可。或者按住Ctrl键,在要建立分支的地方用鼠标拉出即可。8.3.4 Simulink建模实例建模实例建模步骤: 求和模块:求和模块:Math 库中的加法器Add,双击打开参数设置对话框,将其图标形状复选框(Icon shape)选择为“rectangular”,符号列表复选框(List of signs)

33、设置为“+-”。 Gs1和和Gs2增益模块:增益模块:增益参数分别设置为0.2和0.4,因为处于反馈回路,需要旋转其方向,右键单击该模块,在下拉菜单“Format”中选择“Flip Block”命令。 积分模块:积分模块:参数不需要改变。 Scope示波器:示波器:在示波器参数设置窗口选择“Data history”选项卡,选择其中的“Save data to workspace”复选框。这将使送入示波器的数据同时被保存在MATLAB工作空间中默认名为ScopeData的结构矩阵或数组矩阵中。建模步骤:4.连接各个模块连接各个模块单击某模块的输出端,拖曳鼠标到另一模块的输入端处再释放,即将对应

34、模块连接起来。完成模块连接后,得到如图8-13所示的系统模型。图图8-13 求解微分方程的系统模型求解微分方程的系统模型5.设置仿真参数设置仿真参数单击模型编辑窗口“Simulink”菜单中的“Configuration Parameters”选项,打开如图8-14所示对话框,设置仿真参数。建模步骤:图图8-13 求解微分方程的系统模型求解微分方程的系统模型 “Start time”和和“Stop time”栏栏允许用户输入仿真的起始时间和结束时间,这里把结束时间设置为20。 “Solver options”的的“Type”栏栏有两个选项,允许用户选择定步长和变步长算法。 选项选项Relati

35、ve tolerance(相对误差(相对误差限)、限)、Absolute tolerance(绝对误(绝对误差限差限)等等控制仿真精度,不同的算法将有不同的控制参数。 Max step size和和Min step size设置最大允许的步长和最小允许的步长。 一些警告信息和警告级别的设置一些警告信息和警告级别的设置可以通过其中的Diagnostics标签下的对话框来实现,此处不再赘述。6.启动仿真启动仿真设置完仿真参数后,就可以选择“Simulink Start”菜单或单击工具栏中的“ ”按钮来启动仿真。仿真结束后双击示波器,打开示波器窗口,可以看到仿真结果的变化曲线,如图8-15所示。建模

36、步骤:图图8-15 示波器的仿真曲线示波器的仿真曲线8.3.5 Simulink建模仿真命令建模仿真命令Simulink建模仿真命令函数包括sim,simset,simget和set_param。Simulink建模仿真命令函数包括sim,simset,simget和set_param。Simulink建模仿真命令函数包括sim,simset,simget和set_param。8.4 通信工具箱8.5.1 通信工具箱简介通信工具箱简介MATLAB通信工具箱中提供了许多仿真函数和模块,用于对通信系统进行仿真和分析。通信工具箱包括两部分内容:通信命令函数通信命令函数和Simulink的的Commu

37、nications System Toolbox(通信系统模块集)仿真模块(通信系统模块集)仿真模块。用户既可以在MATLAB的工作空间中直接调用工具箱中的函数,也可以使用Simulink平台构造自己的仿真模块,以扩充工具箱的内容。通信工具箱中的函数存在于Comm子目录下,在MATLAB命令窗中输入命令“help comm”,就可以显示通信工具箱中的函数名称和内容列表,详见表8-12。用户需要实现系统的某种功能时,可以先到函数集中寻找相应的函数,然后从help文档查询该函数的详细内容(包括函数功能说明、调用方式和可选择的方式等)。类类 别别函数名称函数名称功能说明功能说明Signal Sour

38、ces (信号源)(信号源)randerr产生随机误差图产生随机误差图randint产生均匀分布的随机整数信号产生均匀分布的随机整数信号randsrc按预定方式产生随机信号矩阵按预定方式产生随机信号矩阵wgn产生高斯白噪声信号产生高斯白噪声信号Performance Evaluation (性能评价)(性能评价)berawgn计算未编码的高斯白噪声信道误码率计算未编码的高斯白噪声信道误码率bercoding计算编码高斯白噪声信道误码率计算编码高斯白噪声信道误码率表表8-12 通信工具箱函数通信工具箱函数类类 别别函数名称函数名称功能功能说明说明Performance Evaluation(性能

39、评价)(性能评价)berconfint计算比特率和蒙特卡洛模拟的置信区间计算比特率和蒙特卡洛模拟的置信区间berfading计算未编码的瑞利衰落信道误码率计算未编码的瑞利衰落信道误码率berfit绘画误码率的曲线绘画误码率的曲线bersync计算不理想同步下的未编码高斯白噪声计算不理想同步下的未编码高斯白噪声biterr计算(二进制)误码数和误码率计算(二进制)误码数和误码率distspec计算卷积码的距离谱计算卷积码的距离谱eyediagram生成眼图生成眼图noisebw计算数字低通滤波器的等价噪音带宽计算数字低通滤波器的等价噪音带宽scatterplot生成散布图生成散布图semiana

40、lytic使用半解析技术计算信道误码率使用半解析技术计算信道误码率symerr计算符号误差数和符号误差率计算符号误差数和符号误差率Source Coding(信源编码)(信源编码)arithdeco对二进制编码进行算术译码对二进制编码进行算术译码arithenco对一符号序列进行算术编码对一符号序列进行算术编码compand计算计算 率或率或 率压扩率压扩dpcmdeco差分脉码调制译码差分脉码调制译码dpcmenco差分脉码调制编码差分脉码调制编码dpcmopt采用优化脉冲编码调制进行参数估计采用优化脉冲编码调制进行参数估计huffmandeco霍夫曼译码器霍夫曼译码器huffmandict

41、使用已知概率模型产生信源的霍夫曼编码字典使用已知概率模型产生信源的霍夫曼编码字典续表:类类 别别函数名称函数名称功能功能说明说明Source Coding(信源编码(信源编码)huffmanenco霍夫曼编码器霍夫曼编码器lloyds采用训练序列和采用训练序列和Lloyd算法优化标量算法算法优化标量算法quantiz生成量化序列和量化值生成量化序列和量化值Error-Control Coding(差错控制编码)(差错控制编码) bchdecBCH译码译码bchencBCH编码编码bchgenpoly产生产生BCH码的生成多项式码的生成多项式convenc卷积纠错码卷积纠错码cyclgen产生循

42、环码的生成矩阵和校验阵产生循环码的生成矩阵和校验阵cyclpoly产生循环码的生成多项式产生循环码的生成多项式decode纠错译码纠错译码encode纠错编码纠错编码gen2par生成矩阵和校验阵的转换生成矩阵和校验阵的转换gfweight计算线性分组码的最小距离计算线性分组码的最小距离hammgen产生汉明码的生成矩阵和校验阵产生汉明码的生成矩阵和校验阵rsdecR-S译码器译码器rsencR-S编码器编码器rsdecof对编码文本进行对编码文本进行R-S译码译码rsencof对文本进行对文本进行R-S编码编码rspoly产生产生R-S码生成多项式码生成多项式syndtable产生伴随译码表

43、产生伴随译码表vitdec利用利用Viterbi算法译卷积码算法译卷积码续表:类类 别别函数名称函数名称功能功能说明说明Interleaving/Deinterleaving(交错与解交错)(交错与解交错)algdeintrlv利用代数派生排列表恢复符号序列利用代数派生排列表恢复符号序列algintrlv利用代数派生排列表重排符号序列利用代数派生排列表重排符号序列convdeintrlv使用移动寄存器恢复符号序列使用移动寄存器恢复符号序列convintrlv使用移动寄存器排列符号序列使用移动寄存器排列符号序列deintrlv恢复符号序列恢复符号序列intrlv重排符号序列重排符号序列helin

44、trlv使用使用helintrlv方法排列符号序列方法排列符号序列heldeintrlv恢复使用恢复使用helintrlv方法排列的符号序列方法排列的符号序列helscandeintrlv用螺旋模型恢复符号序列用螺旋模型恢复符号序列helscanintrlv用螺旋模型排列符号序列用螺旋模型排列符号序列matdeintrlv用矩阵按列填充、按行消减方法恢复符号序列用矩阵按列填充、按行消减方法恢复符号序列matintrlv用矩阵按列填充、按行消减方法重排符号序列用矩阵按列填充、按行消减方法重排符号序列muxdeintrlv按指定的移动寄存器恢复符号序列按指定的移动寄存器恢复符号序列muxintrl

45、v按指定的移动寄存器排列符号序列按指定的移动寄存器排列符号序列randdeintrlv使用随机排列恢复符号序列使用随机排列恢复符号序列randintrlv使用随机排列重排符号序列使用随机排列重排符号序列Analog Modulation/ Demodulation(模拟调制(模拟调制/解调)解调)amdemod模拟幅度解调模拟幅度解调ammod模拟幅度调制模拟幅度调制fmmod模拟频率调制模拟频率调制续表:续表:类类 别别函数名称函数名称功能功能说明说明Analog Modulation/ Demodulation(模拟调制(模拟调制/解调)解调)fmdemod模拟频率解调模拟频率解调pmmo

46、d模拟相位调制模拟相位调制pmdemod模拟相位解调模拟相位解调ssbmod模拟单边幅度调制模拟单边幅度调制ssbdemod模拟单边幅度解调模拟单边幅度解调Digital Modulation/ Demodulation(数字调制(数字调制/解调)解调)dpskmod差分移相键控调制差分移相键控调制dpskdemod差分移相键控解调差分移相键控解调fskmod频移键控调制频移键控调制fskdemod频移键控解调频移键控解调genqammod普通正交幅度调制普通正交幅度调制genqamdemod普通正交幅度解调普通正交幅度解调modnorm调制输出比例因素调制输出比例因素mskmodMSK调制调

47、制mskdemodMSK解调解调oqpskmodOQPSK调制调制oqpskdemodOQPSK解调解调qammodQAM调制调制qamdemodQAM解调解调pskmodPSK调制调制pskdemodPSK解调解调续表:类类 别别函数名称函数名称功能功能说明说明Special Filters(特殊滤波器)(特殊滤波器)hank2sysHankel矩阵到线性系统的转换矩阵到线性系统的转换hilbiir设计希尔伯特变换设计希尔伯特变换IIR滤波器滤波器rcosine用升余弦函数设计滤波器用升余弦函数设计滤波器Lower-Level Functions for Special Filters(特殊

48、滤波器的底层函数)(特殊滤波器的底层函数)rcosiir用升余弦函数用升余弦函数IIR滤波器设计滤波器设计Channels(信道函数)(信道函数)awgn对信号添加高斯白噪声对信号添加高斯白噪声Utilities(实用工具)(实用工具)bi2de二进制到十进制的转换二进制到十进制的转换de2bi十进制到二进制的转换十进制到二进制的转换erf误差函数误差函数erfc补充误差函数补充误差函数istrellis检查输出是否为一个格形式检查输出是否为一个格形式oct2dec八进制到十进制的转换八进制到十进制的转换poly2trellis把编码多项式转换成网格形式把编码多项式转换成网格形式vec2mat

49、把矢量转换成矩阵把矢量转换成矩阵8.5.2 通信命令函数通信命令函数从信源、差错控制、调制与解调三个方面介绍通信命令函数。1.信源编信源编/译码译码在MATLAB通信工具中提供了两种信源编/译码方法:标量量化和预测量化。n 标量量化标量量化标量量化就是给每个落入某一特定范围的输入信号分配一个单独值的过程,并且落入不同范围内的信号所分配的值也各不相同。MATLAB通信工具箱中提供了compand、quantiz、lloyds等函数。n 预测量化预测量化预测量化根据以往发送的信号来估计将要发送的信号。MATLAB通信工具箱中提供了dpcmenco、dpcmdeco、dpcmopt等函数。2.差错控

50、制编差错控制编/译码方法译码方法n 差错控制编码差错控制编码差错控制也称为纠错编码,主要有分组码和卷积码两种类型。分组码分组码卷积码卷积码卷积码中没有相互独立的组。编码过程可以看成是一个宽度为K的滑动窗口,该窗口以步长K在信元上滑动,随着窗口的每次滑动,编码过程都需要一个N位的信号。n 差错控制译码差错控制译码纠错编码的译码有代数译码和概率译码两种方法。代数译码代数译码代数译码基于代数和有限域的数学特征,通常用于分组码中。MATLAB通信工具箱提供了一系列函数用于有限域计算。概率译码概率译码概率译码中最常用的是Viterbi译码,用于卷积码译码。常用的纠错编码方法包括线性分组码、Hamming

51、码、循环码、BCH码、R-S码和卷积码。在MATLAB通信工具箱中,所有这些编/译码运算都提供了纠错编码函数encode及译码函数decode。3.调制与解调调制与解调n 调制的类别调制的类别调制分为模拟调制和数字调制。模拟调制的输入信号为连续变化的模拟量,数字调制的输入信号是离散的数字量。n 调制调制/仿真函数的选择仿真函数的选择在利用MATLAB进行调制/仿真时,既可以采用自定义函数进行调制/仿真,也可以调用MATLAB所提供的函数进行仿真。n 通信工具箱中的调制和解调函数通信工具箱中的调制和解调函数MATLAB通信工具箱中的调制和解调函数包括:带通模拟调制函数ammod和解调函数amde

52、mod模拟频率调制函数fmmod和解调函数fmdemod相位调制函数pmmod和解调函数pmdemod模拟单边带幅度调制函数ssbmod和解调函数ssbdemod数字调制和解调函数fskmod,fskdemod,modnorm8.5.3 通信系统模块集通信系统模块集Simulink模块库中提供了通信系统模块集(Communications System Toolbox),如图8-32所示。各模块组的作用说明如下: 通信信源模块组(通信信源模块组(Comm Sources):):包含各种通信信号输入模块和I/O演示模块。 通信输入模块组(通信输入模块组(Comm Sinks):):包含触发写模块

53、、眼图和散射图模块、误码率计算模块及其相应的演示模块。 信源编码组(信源编码组(Source Coding):):包含标量量化编码/译码模块、DPCM编码/译码模块、规则压缩/解压模块,以及相应的演示模块。 信道组(信道组(Channels):):包含加零均值高斯白噪声信道模块、加二进制误差信道模块、Rayleigh衰减信道模块、Rician噪声信道模块及其相应的演示模块。 调制组调制组(Modulation):包含数字模拟调制模块。 同步组同步组(Synchronization):包含锁相环PLL模块、基带PLL模块、演示模块、线性化基带PLL模块等。 图图8-32 通信模块集通信模块集【例

54、例8-6】 图图8-33所示为一个简单的通信系统所示为一个简单的通信系统Simulink模块图。模块图。构造模型及仿真步骤如下:1.模块的选取模块的选取首先,在MATLAB命令窗口输入“commstartup”,这将关闭通信模块集不支持的Simulink中的Boolean数据类型,同时优化仿真参数。然后,打开Simulink模块库浏览器,建立一个Model文件;从Comm Sources模块组的Random Data Sources子模块组中选择Bernoulli Binary Generator模块,拖曳到新建的Model文件中;同样地,从Channels模块组中选取Binary Symme

55、tric Channel模块;从Comm Sinks子模块组中选取Error Rate Calculation模块;从Simulink的Sinks模块组中选取Display模块。图图8-33通信系统通信系统Simulink模块图模块图2.设置参数设置参数n Bernoulli Binary Generator模块模块信号源为Bernoulli Binary Generator模块,产生二进制随机信号序列。该模块采用默认设置。n Binary Symmetric Channel模块模块Binary Symmetric Channel模块仿真一个噪声信道,给信号叠加一个随机误差。双击该模块,弹出如

56、图8-34所示的对话框。设置误差概率(Error probability)为0.01;设置初始种群(Initial seed)参数为2137;清除Output error vector复选框。n Error Rate Calculation模块模块误码率计算(Error Rate Calculation)模块计算信道的误码率,模块有两个输入端口,Tx为发射信号,Rx为接收信号。模块比较两个信号并计算出误差,模块输出为三列向量:误码率、误差码符、发射信号码符数。图图8-34 Binary Symmetric Channel模块参数设置对话框模块参数设置对话框双击Error Rate Calcul

57、ation模块,在弹出的对话框中设置参数,如图8-35所示。设置输出数据(Output data)送至Port;选择Stop simulation;设置Target number of errors 为80。当误差码符数达到80或最大码符数超过80时停止仿真。3.连线,仿真连线,仿真仿真参数设置对话框如图8-36所示。图图8-34 Error Rate Calculation模块参数设置对话框模块参数设置对话框图图8-36 仿真参数设置对话框仿真参数设置对话框如果将输出数据送入示波器,仿真模块图如图8-37所示。从Display模块中可以观察到输出数据:误码率、误差码符、发射信号码符数。仿真输

58、出波形如图8-38所示。图图8-37 仿真模块图仿真模块图图图8-38 仿真输出波形仿真输出波形从误差监测和纠正模块组(Detection and Correction library)的子模块组(Block sublibrary)里选取Hamming编码模块和Hamming译码模块,将其加入图8-37中,仿真模块图如图8-39所示。【例例8-6】 添加添加Hamming码减少误码率。码减少误码率。图图8-39 Hamming码纠错模块图码纠错模块图双击Bernoulli Binary Generator模块,其对话框如图8-40所示。选择基准帧输出(Frame-based output)复选

59、框,并设置每帧采样数(Samples per frame)为4,因为Hamming码编码块的默认码为7,4,即将4维帧转换为7维帧。Bernoulli Binary Generator模块的输出必须和Hamming码编码模块的输入相匹配。图图8-40 信号发生器参数设置对话框信号发生器参数设置对话框仿真得到Hamming码纠错仿真波形如图8-41所示。图图8-41 Hamming码纠错仿真波形码纠错仿真波形双击示波器模块,单击工具栏上的参数按钮“ ”,设置轴的数目(Number of axes)为2;然后单击“OK”按钮。连线,得到仿真模块图如图8-42所示。验证仿真结果的正确性,可以通过比较译码后信号与发送信号的一致性来完成。从Simulink逻辑与关系操作子模块组(Logic and Bit Operations library)选取关系运算模块(Relation

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论