文章目录

  • 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 的例子,这里就简单记录一下步骤过程吧。

    1. Ports&Subsystem****模块中选取Subsystem**模块;
    2. 双击打开Subsystem模块进行像不应内容编辑;
    3. 进行模块封装。

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 通信原理及仿真学习(二)相关推荐

  1. matlab设置非平坦结构元,详解MATLAB/Simulink通信系统建模与仿真图书信息

    第1章 Simulink基础 1.1 Simulink简介 1.2 运行Simulink演示程序 1.2.1 运行房屋热力学系统演示模型 1.2.2 房屋热力学系统模型说明 1.2.3 其他Simul ...

  2. 基于matlab的通信原理,基于Matlab的通信原理

    基于Matlab的通信原理Tag内容描述: 1.基于基于 MATLABMATLAB 的眼图仿真的眼图仿真 及其与通信实验箱之结果的比较及其与通信实验箱之结果的比较 摘要摘要 通信实验往往可以从硬件和软 ...

  3. matlab实现通信原理(附上完整仿真源码)

    通信原理是现代通信系统的核心,它涉及到信号的传输.调制.解调.编码.解码等多个方面.在通信原理中,信号的传输是最基本的环节,而MATLAB是一个非常适合用来模拟和实现通信原理的工具.本文将介绍如何使用 ...

  4. matlab演示系统,基于Matlab的通信原理演示系统的设计与应用

    基于 Matlab的通信原理演示系统的设计与应用 李 强 , 明 艳 , 吴坤君 (重庆邮电大学 通信学院 , 重庆 400065) 摘 要 : 利用 Matlab图形用户界面的开发环境和强大的通信仿 ...

  5. 系统动力学模型matlab仿真,MATLAB/Simulink动力学系统建模与仿真(带目录)_IT教程网...

    资源名称:MATLAB/Simulink动力学系统建模与仿真(带目录) 内容简介: 本书主要介绍了动力学系统中微分方程模型.传递函数模型和状态空间模型等建立的基 础理论,并引入了simulink仿真技 ...

  6. matlab中进行太阳能电池模型,基于Matlab╱Simulink的太阳能电池特性仿真

    - 1 - 基于Matlab/Simulink 的太阳能电池特性仿真 朱丽 合肥工业大学电气自动化系,安徽合肥(230009) E-mail :lilyzhu1980@http://www.doczj ...

  7. matlab 制动仿真,基于MATLAB/Simulink的电动汽车再生制动仿真

    2019(4) 电动汽车的电动机在断电后,在其本身及所带负载的惯性作用下会旋转一段时间后才停止运转.因此,利用电动机制动过程中的剩余能量回收,为车载电源系统充电,从而保证电动汽车的续驶里程已经成为研究 ...

  8. matlab在风能领域,基于Matlab/Simulink的风力机性能仿真研究

    能源研究与信息 第 22 卷 第 2 期 Energy Research and Information Vol. 22 No. 2 2006 收稿日期:2005-10-14 作者简介:高 平(198 ...

  9. MATLAB Simulink模块库详解(二)Sinks篇

    MATLAB Simulink模块库详解(二)Sinks篇 Simulink模块库概述 1.Sources模块库,为仿真提供各种信号源 2.Sinks模块库,为仿真提供输出设备元件 3.Continu ...

最新文章

  1. C# 向TIM或者QQ自动发送中文消息【微信也是可用的】 附测试GIF
  2. linux ls只显示文件名或者文件夹名
  3. 常用正则表达式 验证电子邮件网址邮政编码等
  4. C语言 · 前10名
  5. 最新IP数据库 存储优化 查询性能优化 每秒解析上千万
  6. 大陆居民身份证验证方法(java)
  7. 长在华人第一学霸家族的他,到底有多牛?
  8. Mysql探究与学习大纲--主要是为了自己复习方便
  9. python 抽象类和接口
  10. Vue笔记:使用 axios 中 this 指向问题
  11. linux 中写一个脚本 定时删除缓存任务,并创建相关文件,Linux使用shell脚本定时删除历史日志文件...
  12. 计算机ppt试题训练,教案计算机试题.ppt
  13. linux mysql 备份 压缩_Linux下mysql定时备份压缩
  14. ubuntu18.04LTS搭建hackrf+limesdr软件无线电开发环境,并下载Gnuradio。
  15. 人工智能书籍推荐:【A027】[图灵原创].人工智能简史
  16. 设计一个对向车道的左转待转区提高十字路口的并行通行率
  17. 佐切的第四天学习分享
  18. 企业微信获取corpid,Secret,Agentid
  19. 硬盘坏了!!!!!!
  20. BAT批处理脚本实例学习(五)局域网共享批处理安装软件

热门文章

  1. RFID-RC522门禁
  2. AAAI2021推荐系统论文清单
  3. 一个游戏程序员的App移动互联网创业
  4. flash跨域修复建议
  5. 计算机组成与系统结构 第二章 计算机系统中的数据表示
  6. 饼状图(PieChart)与柱形图(BarChart)的使用
  7. USB2.0、USB3.0和typec引脚定义
  8. docker入门实践,安装指定版本的mysql镜像
  9. 在Android项目中调用FFmpeg命令
  10. Springboot 对接苹果内购代码