MATLAB/Simulink 通信原理及仿真学习(二)
文章目录
- MATLAB/Simulink 通信原理及仿真学习(二)
- simulink仿真
- 常用的Simulink库
- 1. 信号源模块库
- 2. 数序运算模块
- 3. 信号输出模块库
- 4.仿真搭建
- 5.搭建自己的库
- 6.S-函数编写
MATLAB/Simulink 通信原理及仿真学习(二)
simulink仿真
交互式、图形化的建模环境
鼠标拖动不同模块库中的系统模块并将它们连接起来。交互式的仿真环境
下拉菜单或通过命令行进行仿真,例如蒙特卡洛仿真。专用模块库
DSP、Blockset和Communication Blocket等。更重要的是用户可以对系统模型进行代码生成,并将生成代码下载到不同的目标机上。提供了仿真库的扩充和定制机制
可以扩展仿真环境功能,接入第三方开发提供的模块库进行更高级的系统仿真。与MATLAB工具箱的集成
Simulink的有点:(1)基于矩阵的数值计算;(2)高级编程语言;(3)图形可视化;(4)工具箱提供面向具体应用领域的功能;(5)丰富的数据I/O工具;(6)提供与其他高级语言的接口;(7)支持多平台;(8)开放与可扩展的体系结构。
常用的Simulink库
1. 信号源模块库
- 输入端口模块(In1):用来反映整个系统的输入端子,设置在模型线性化与命令行仿真时是必须的。
- 常数输入模块(Constant):常数作为输入。
- 普通信号源发生器(Signal Generator):能够生成若干种常用信号,如:方波、正弦、锯齿波,允许用户自由地调整其幅值、相位及其他信号。
- 接地线模块(Ground):零输入模块,Simulink仿真中如果一个模块的输入端子没有接任何其他模块,接入此输入端子即可避免错误信息。
- 时间信号模块(Clock):生成当前仿真时钟, 在与时间有关的指标求取中很有意义的。
- 读文件模块(From File)和读工作空间模块(From Workspace):两个模块允许从文件或MATLAB工作空间中读取信号。
- 带宽限幅白噪声(Band-Limited White Noise):
- 其他类型信号输入:阶跃输入(Step)、斜坡输入(Ramp)、脉冲信号(Pulse Generator)、正弦信号(Sine Wave)等。
2. 数序运算模块
增益函数(Gain):输出信号等于输入信号乘以增益模块中的值。
求和函数(Sum):求输入的多路信号的和或差。
代数约束模块(Algebraic Constraint):约束输入信号,令其值为0.
复数的实部虚部提取模块(Complex to Real-Imag)、复数变换成幅值幅角的模块(Complex to Magnitude-Angle)及其反变换。
数学函数,绝对值(Abs),符号函数(Sign),三角函数(Trigonometric)、取整模块(Rounding Function)等。
数字逻辑模块,逻辑运算模块(Logic Operator)、组合逻辑模块(Combinational Logic),常用于逻辑电路搭建。
3. 信号输出模块库
- 输出端口模块(Out1):反映整个系统的输出端子,这样的设置在模型线性化与命令行仿真时是必须的。
- 示波器模块(Scope):将输入信号在示波器中显示出来(非常常用的模块)。
- x-y示波器(x-y Graph):将两路输入信号分别作为示波器的两个坐标轴,将信号的相轨迹显示出来。
- 工作空间写入模块(To Workspace):将输入信号直接写到MATLAB的工作空间中。该模块默认的写法是结构体型的数据, 可以通过设置将之设置成矩阵型的。
- 写文件模块(To File):将输入信号写到文件中。
- 数字显示模块(Display):将输入信号用数字的形式显示出来。
- 仿真定制模块(Stop Simulation):如果输入的信号为非零时,将强行终止正在进行的仿真过程。
- 信号终结模块(Terminator):可以将该模块连接到闲置的未连接的模块输出信号上,避免出现警告。
4.仿真搭建
- 模型选取后,可以鼠标左击起始模块,之后按住Ctrl座机目标块,系统会自动进行模块之间的连接。
- 按住Shift键后可以进行连接线的调整。
- 可以使用Signal Routing中的Mux模块,进行模块组合,将某些模块的输出信号(常为标量)组合为一个矢量信号,并将其作为另一个模块的输入。
- 注意在仿真时,如果仿真的时间段较大,这是系统默认的最大步长 s t e p = t e n d − t b e g i n 50 step = \frac{t_{end}-t_{begin}}{50} step=50tend−tbegin会比较大,这是需要去调整一下最大步长,即如下:
5.搭建自己的库
- 这里步骤很多特别繁琐,用到的时候看例子学习吧,有关于 Subsystem Examples 的例子,这里就简单记录一下步骤过程吧。
- 从Ports&Subsystem****模块中选取Subsystem**模块;
- 双击打开Subsystem模块进行像不应内容编辑;
- 进行模块封装。
6.S-函数编写
- S-函数时系统函数(System-functions)的简称,采用非图形化的方式描述一个功能块。
状态矢量 x \boldsymbol x x分成两部分,连续实际状态 x c ′ \boldsymbol x_{c}^{'} xc′和离散事件状态 x d + 1 \boldsymbol x_{d+1} xd+1。
- 涉及的概念知识有:(1)直接反馈:(2)可变长度输入;(3)采样时间和偏移。
可以去MATLAB安装路径下 \toolbox\simulink\blocks中查找S-函数模板sfuntmpl.m,运行时注意必须把simulink放置在S-函数文件所在的目录。
MATLAB/Simulink 通信原理及仿真学习(二)相关推荐
- matlab设置非平坦结构元,详解MATLAB/Simulink通信系统建模与仿真图书信息
第1章 Simulink基础 1.1 Simulink简介 1.2 运行Simulink演示程序 1.2.1 运行房屋热力学系统演示模型 1.2.2 房屋热力学系统模型说明 1.2.3 其他Simul ...
- 基于matlab的通信原理,基于Matlab的通信原理
基于Matlab的通信原理Tag内容描述: 1.基于基于 MATLABMATLAB 的眼图仿真的眼图仿真 及其与通信实验箱之结果的比较及其与通信实验箱之结果的比较 摘要摘要 通信实验往往可以从硬件和软 ...
- matlab实现通信原理(附上完整仿真源码)
通信原理是现代通信系统的核心,它涉及到信号的传输.调制.解调.编码.解码等多个方面.在通信原理中,信号的传输是最基本的环节,而MATLAB是一个非常适合用来模拟和实现通信原理的工具.本文将介绍如何使用 ...
- matlab演示系统,基于Matlab的通信原理演示系统的设计与应用
基于 Matlab的通信原理演示系统的设计与应用 李 强 , 明 艳 , 吴坤君 (重庆邮电大学 通信学院 , 重庆 400065) 摘 要 : 利用 Matlab图形用户界面的开发环境和强大的通信仿 ...
- 系统动力学模型matlab仿真,MATLAB/Simulink动力学系统建模与仿真(带目录)_IT教程网...
资源名称:MATLAB/Simulink动力学系统建模与仿真(带目录) 内容简介: 本书主要介绍了动力学系统中微分方程模型.传递函数模型和状态空间模型等建立的基 础理论,并引入了simulink仿真技 ...
- matlab中进行太阳能电池模型,基于Matlab╱Simulink的太阳能电池特性仿真
- 1 - 基于Matlab/Simulink 的太阳能电池特性仿真 朱丽 合肥工业大学电气自动化系,安徽合肥(230009) E-mail :lilyzhu1980@http://www.doczj ...
- matlab 制动仿真,基于MATLAB/Simulink的电动汽车再生制动仿真
2019(4) 电动汽车的电动机在断电后,在其本身及所带负载的惯性作用下会旋转一段时间后才停止运转.因此,利用电动机制动过程中的剩余能量回收,为车载电源系统充电,从而保证电动汽车的续驶里程已经成为研究 ...
- matlab在风能领域,基于Matlab/Simulink的风力机性能仿真研究
能源研究与信息 第 22 卷 第 2 期 Energy Research and Information Vol. 22 No. 2 2006 收稿日期:2005-10-14 作者简介:高 平(198 ...
- MATLAB Simulink模块库详解(二)Sinks篇
MATLAB Simulink模块库详解(二)Sinks篇 Simulink模块库概述 1.Sources模块库,为仿真提供各种信号源 2.Sinks模块库,为仿真提供输出设备元件 3.Continu ...
最新文章
- C# 向TIM或者QQ自动发送中文消息【微信也是可用的】 附测试GIF
- linux ls只显示文件名或者文件夹名
- 常用正则表达式 验证电子邮件网址邮政编码等
- C语言 · 前10名
- 最新IP数据库 存储优化 查询性能优化 每秒解析上千万
- 大陆居民身份证验证方法(java)
- 长在华人第一学霸家族的他,到底有多牛?
- Mysql探究与学习大纲--主要是为了自己复习方便
- python 抽象类和接口
- Vue笔记:使用 axios 中 this 指向问题
- linux 中写一个脚本 定时删除缓存任务,并创建相关文件,Linux使用shell脚本定时删除历史日志文件...
- 计算机ppt试题训练,教案计算机试题.ppt
- linux mysql 备份 压缩_Linux下mysql定时备份压缩
- ubuntu18.04LTS搭建hackrf+limesdr软件无线电开发环境,并下载Gnuradio。
- 人工智能书籍推荐:【A027】[图灵原创].人工智能简史
- 设计一个对向车道的左转待转区提高十字路口的并行通行率
- 佐切的第四天学习分享
- 企业微信获取corpid,Secret,Agentid
- 硬盘坏了!!!!!!
- BAT批处理脚本实例学习(五)局域网共享批处理安装软件