【Simulink系列】——动态系统仿真 之 混合系统

声明:本系列博客参考有关专业书籍,截图均为自己实操,仅供交流学习!

一、混合系统概述

由不同类型系统共同构成的系统称为混合系统!仿真时必须考虑连续信号和离散信号的采样匹配问题,一般使用变步长连续求解器!不同类型信号、不同采样时间信号可用如下颜色显示:

仿真时变步长求解器可不时地调整仿真步长以匹配离散信号的采样时间

二、混合仿真示例1:通信系统

(1)物理模型&数学描述

①信源

通信系统需要传递的信号,这里使用单位幅值、单位频率的锯齿波。

②调制与解调

调制信号为正弦连续信号(幅值1,频率100Hz);

解调信号为正弦离散信号(幅值1,频率100Hz,采样时间为0.005s);

并采用双边带抑制载波调制与解调。调制:output=input x carrier,其中input为低频信号,carrier为高频载波信号,output为幅度调制信号;解调:output=input x carrier,其中input为信道传递的信号,carrier为解调信号,output为幅度解调信号。

③信道

信道的动态方程为10^{-9}\ddot{y}+10^{-3}\dot{y}+y=u。其中u为信道输入,y为信道输出,显然为一条线性连续信道,信道的传递函数为:

\frac{Y\bigl(s\bigr)}{U\bigl(s\bigr)}=\frac{1}{10^{-9}s^{2}+10^{-3}s+1}

信道噪声random number模块产生,为服从高斯正态分布的随机性干扰,均值为0,方差为0.01。

信道延迟:信道经过缓冲区为1024的延迟,用Transport Delay模块实现。

④数字滤波器

数字滤波器的差分方程如下,为一个线性离散系统

y(n)-1.6y(n-1)+0.7y(n-2)=0.04u(n)+0.08u(n-1)+0.04u(n-2)

使用Z变换变为如下形式:

\frac{Y(z)}{U(z)}=\frac{0.04+0.08z^{-1}+0.04z^{-2}}{1-1.6z^{-1}+0.7z^{-2}}

(2)Simulink模型

首先回顾下在线性离散系统中我们做的简单的信号调制和解调模型,以作对比:

这里的混合系统如下:

(3)封装成子系统

可以用subsystem模块进行封装,这里只有示意图不再演示:(信号解调最后的discrete filter模块是数字滤波器)

(4)模块与仿真参数设置

根据物理模型&数学描述进行设置。Transport Delay的初始缓冲区设置为1024;Transfer Fcn根据信道动态方程设置,分子[1],分母[1e-9 1e-3 1];discrete filter模块根据数字滤波器Z变换式子设置,分子[0.04 0.08 0.04],分母[1 -1.6 0.7],采样时间0.005s。其他根据上面描述设置,此处不赘述。

仿真器用变步长连续求解器,其他根据需要。

(5)仿真运行

结果不佳,还是之前在线性离散系统仿真中遇到的问题,设定的锯齿波频率为1,但是scope显示却不是?如果有会的博友,请多多指教!

三、混合仿真示例2:汽车行驶控制

系统基本要点:

①操作机构的不同位置对应汽车不同的位置;

②测量汽车当前速度,并与设置的期望速度作差;

③由速度差值信号得到驱动牵引力大小,做到反馈控制。

(1)物理模型&数学描述

①速度操作机构的位置变换器

作用是将操纵机构的位置转换为相应的速度:

v=30x+50,x\in[0,1]

②离散行驶控制器

作用是根据速度差值产生相应的牵引力,典型的PID控制器:

其中u为输入,y为输出,x为系统中的状态。

③动力机构

作用是在牵引力作用下改变速度使其达到指定值:

F=m\dot{v}+bv

其中m为汽车质量1500kg,b为阻力因子取23。

(2)Simulink模型

Slider Gain模块用于限制位置变换器的输入信号x的范围;Unit Delay模块输入为x(n),输出为x(n-1);Unit Delay1模块输入为u(n),输出为u(n-1)。

(3)模块与仿真参数设置

Slider Gain模块最小值0,最大值1,初始值0.5;Unit Delay模块初始状态0,采样时间0.02s;PID的增益分别为1、0.003、0.01;其他参数增益如下图:

仿真器采用变步长连续求解器

(4)仿真运行

增加微分项增益可减小超调量,缩短系统调节时间;增加积分项增益可增加超调量,延长调节时间;增加比例项增益也可缩短系统调节时间。

 往期精彩

STM32专栏(付费9.9)icon-default.png?t=N7T8http://t.csdnimg.cn/E2F88

OpenCV-Python专栏(付费9.9)icon-default.png?t=N7T8http://t.csdnimg.cn/zK1jV

AI底层逻辑专栏(付费9.9)icon-default.png?t=N7T8http://t.csdnimg.cn/zic0f

机器学习专栏(免费)icon-default.png?t=N7T8http://t.csdnimg.cn/FaXzAFreeRTOS专栏(免费)icon-default.png?t=N7T8http://t.csdnimg.cn/SjIqU电机控制专栏(免费)icon-default.png?t=N7T8http://t.csdnimg.cn/FNWM7 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/704563.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++学习笔记:多态

C学习笔记:多态 什么是多态?多态的构成条件?C11中的final和override抽象类是什么?什么是虚表?多继承中的虚表 什么是多态? 多态是在不同继承关系的类对象,去调用同一函数,产生了不同的行为。 例如:学校在餐厅的某个档口为老师们提供了教师优惠,同样…

SpreadJS+vue3练手使用

SpreadJS的练手使用 // 首先在 package.json 这个文件里{"name": "app-admin","private": true,"version": "0.0.0","type": "module","scripts": {"dev": "vite",&quo…

【深度学习笔记】 3_13 丢弃法

注:本文为《动手学深度学习》开源内容,部分标注了个人理解,仅为个人学习记录,无抄袭搬运意图 3.13 丢弃法 除了前一节介绍的权重衰减以外,深度学习模型常常使用丢弃法(dropout)[1] 来应对过拟合…

阿里面试:最佳线程数,如何确定?

尼恩说在前面 在40岁老架构师 尼恩的读者交流群(50)中,最近有小伙伴拿到了一线互联网企业如得物、阿里、滴滴、极兔、有赞、shein 希音、百度、网易的面试资格,遇到很多很重要的面试题: 如何确定系统的最佳线程数? 小伙伴 没有回…

机器学习深度解析:原理、应用与前景

随着人工智能的迅速发展,机器学习已经成为当今时代最为引人注目的技术之一。它不仅仅是一种技术或工具,更是一种推动社会进步、影响人类生活的重要力量。那么,什么是机器学习?它是如何工作的?又在哪些领域中发挥着不可…

阿里云服务器ECS u1实例性能怎么样?

阿里云服务器ECS u1实例,2核4G,5M固定带宽,80G ESSD Entry盘优惠价格199元一年,性能很不错,CPU采用Intel Xeon Platinum可扩展处理器,购买限制条件为企业客户专享,实名认证信息是企业用户即可&a…

介绍一下我们:久菜盒子工作室

大数据科学团队/全网可搜索的久菜盒子工作室 我们是:985硕博/美国全奖doctor/计算机7年产品负责人/医学大数据公司医学研究员/SCI一区2篇/Nature子刊一篇/中文二区核心一篇/都是我们 主要领域:医学大数据分析/经管数据分析/金融模型/统计数理基础/统计学…

编程笔记 Golang基础 028 结构体与JSON

编程笔记 Golang基础 028 结构体与JSON 一、JSON二、结构体转JSON(序列化)三、JSON转结构体(反序列化)小结 结构体与JSON之间的相互转换是现代软件开发中数据处理的基础工具,极大地简化了数据在不同层次、不同组件间的…

spring boot 集成科大讯飞星火认知大模型

一、安装依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/…

Educational Codeforces Round 160 (Rated for Div. 2) D. Array Collapse(笛卡尔树+DP)

原题链接&#xff1a;D. Array Collapse 题目大意&#xff1a; 给你一个长度为 n n n 的排列 p p p &#xff0c;排列的定义为 [ 1 , 2 , 3 , . . , n ] [1,2,3,..,n] [1,2,3,..,n] 中每个数都出现 恰好 一次。 你可以做 任意多次 这样的操作&#xff1a; 选出一个任意长度…

前端导出EXCEL

步骤解析 定义了一个名为 excelDown 的函数&#xff0c;它接受两个参数&#xff1a;res 和 type。res 是包含响应数据的对象&#xff0c;type 是要导出的文件类型。如果 type 未提供&#xff0c;则默认使用 Excel 文件的 MIME 类型。 export const excelDown (res, type) >…

unity导航网格无法烘培到台阶和斜坡

如图是我在b站学Unity导航网格时建的一个示例场景&#xff0c;本场景使用的为棱长1m的立方体&#xff0c;读者可以以此为参照度量其他物体大小。 可见导航网格根本无法烘焙到斜坡和台阶上&#xff0c;为解决问题我做了不少尝试&#xff0c;调整最大坡度和步高都没办法解决问题…

AI新纪元:可能的盈利之道

本文来源于Twitter大神宝玉&#xff08;dotey&#xff09;在聊 Sora 的时候&#xff0c;总结了 Sora 的价值和可能的盈利方向&#xff0c;我把这部分内容单独摘出来再整理一下。现在的生成式 AI 大家应该不陌生&#xff0c;用它总结文章、翻译、写作、画图&#xff0c;当然真正…

搭建私有Git服务器:GitLab部署详解

引言&#xff1a; 为了方便团队协作和代码管理&#xff0c;许多组织选择搭建自己的私有Git服务器。GitLab是一个集成了Git版本控制、项目管理、代码审查等功能的开源平台&#xff0c;是搭建私有Git服务器的理想选择。 目录 引言&#xff1a; 一、准备工作 在开始部署GitLab之…

Dockerfile和jar包不同目录处理

如果Dockerfile的全路径为/srm/myDockerfile/Dockerfile&#xff0c;而JAR文件位于/srm目录下&#xff0c;你可以在Dockerfile中使用相对路径引用JAR文件。以下是如何编写Dockerfile的示例&#xff1a; 假设你的项目结构如下&#xff1a; luaCopy code /srm |-- myDockerfile …

Map集合的遍历方式

遍历Map集合的几种方式 迭代器(Iterator)forlambdaStream 代码示例 package com.haimeng.Array;import java.security.Key; import java.util.HashMap; import java.util.Iterator; import java.util.Map;public class Lambda1 {public static void main(String[] args) {//…

MySQL数据库基础(十五):PyMySQL使用介绍

文章目录 PyMySQL使用介绍 一、为什么要学习PyMySQL 二、安装PyMySQL模块 三、PyMySQL的使用 1、导入 pymysql 包 2、创建连接对象 3、获取游标对象 4、pymysql完成数据的查询操作 5、pymysql完成对数据的增删改 PyMySQL使用介绍 提前安装MySQL数据库&#xff08;可以…

shell脚本介绍及基本功能

目录 1. 什么是shell 2. hello word 2.1 echo 2.2 第一个脚本 3. Bash的基本功能 3.1别名 3.2 常用快捷键 3.3 输入输出 3.4 输出重定向 3.5 多命令执行 3.6 管道符 3.7 通配符和特殊符号 1. 什么是shell Shell 是一个用 C 语言编写的程序&#xff0c;它是用户使用…

数据分析---常见处理逻辑

目录 数据清洗数据转换数据聚合数据筛选增删改查(以查为例)数据清洗 去除重复值:使用DISTINCT关键字去除重复行。//这将返回一个包含所有不重复城市的结果集 SELECT DISTINCT city FROM students;处理缺失值:使用IS NULL或IS NOT NULL判断是否为空值,并使用COALESCE或CASE…

STM32--低功耗模式详解

一、PWR简介 正常模式与睡眠模式耗电是mA级&#xff0c;停机模式与待机模式是uA级。 二、电源框图 供电区域有三处&#xff0c;分别是模拟部分供电&#xff08;VDDA&#xff09;&#xff0c;数字部分供电&#xff0c;包括VDD供电区域和1.8V供电区域&#xff0c;后备供电&…