- 博客(292)
- 收藏
- 关注
原创 自动控制原理 第三章(线性系统的时域分析与校正)【下】
(1)校正指的是采用适当方式,在系统中加入一些结构和参数可调整的装置(校正装置),用以改善系统性能,使系统满足指标要求。(2)常见的校正方式有串联校正、反馈校正和顺馈(复合)校正,如下图所示。
2024-11-03 23:41:54 800
原创 自动控制原理 第三章(线性系统的时域分析与校正)【上】
(1)时域法是最基本的分析方法,是学习复域法、频域法的基础。(2)时域法的特点:①直接在时间域中对系统进行分析校正,直观,准确。②可以提供系统时间响应的全部信息。③基于求解系统输出的解析解,比较烦琐。
2024-11-03 23:39:36 899
原创 自动控制原理 第二章(控制系统的数学模型)【下】
在得到系统方框图的条件下,将每个方框中的元部件名称换成其相应的传递函数,并将所有变量用相应的拉氏变换表示,就转换成系统的结构图。②比较点和引出点的移动,包含比较点前移、比较点后移、引出点前移、引出点后移以及比较点与引出点之间的移动等不同情况。混合节点:指既有输入支路又有输出支路的节点,相当于结构图中的比较点或引出点,如上图的e节点。前向通路:指从源节点开始到阱节点终止,顺着信号流动的方向,且与其它节点相交不多于一次的通路。阱节点:指只有输入支路的节点,对应系统的输出信号,如上图的c节点。
2024-10-28 23:43:17 783
原创 自动控制原理 第二章(控制系统的数学模型)【上】
控制系统的数学模型,是描述系统输入、输出变量以及内部各变量之间关系的数学表达式。建立控制系统的数学模型,通常采用解析法和实验法。①解析法是对系统各部分的运动机理进行分析,根据所依据的物理规律或化学规律分别列写相应的运动方程。②实验法是人为地给系统施加某种测试信号,记录其输出响应,并用适当的数学模型去逼近,这种方法又称为系统辨识。(1)传递函数是在零初始条件下,线性定常系统输出量拉氏变换与输入量拉氏变换之比。零初始条件有两方面含义:一是指输入作用是在。
2024-10-28 23:43:08 761
原创 自动控制原理 第一章(自动控制的一般概念)
(1)自动控制理论是研究关于自动控制系统组成、分析和设计的一般性理论,是研究自动控制共同规律的技术科学。(2)自动控制指的是,在无人直接参与的情况下,利用控制装置,使工作机械或生产过程(被控对象)的某一个物理量(被控量)按预定的规律(给定量)运行。(3)最常见的控制方式有三种——开环控制、闭环控制和复合控制。
2024-10-24 00:11:22 1000
原创 信号与系统 第七章(z变换)
(1)根据z变换的卷积性质,一个线性时不变系统输入和输出的z变换是通过乘以系统单位冲激响应的z变换联系起来的,即,其中和分别是系统输入、输出和单位冲激响应的z变换。(2)当时,就是这个线性时不变系统的频率响应。在z变换的范畴内,一般称为系统函数或传递函数,线性时不变系统的很多性质都与系统函数在z平面的特性密切相关。(1)在此之前,本章提到的“z变换”全称为“双边z变换”,本节介绍的则是“单边z变换”。(2)一个离散时间信号的单边z变换定义为。(3)在时不同,而在。
2024-10-07 23:47:45 2087
原创 信号与系统 第六章(拉普拉斯变换)
(1)根据拉普拉斯变换的卷积性质,一个线性时不变系统输入和输出的拉普拉斯变换是通过乘以系统单位冲激响应的拉普拉斯变换联系起来的,即,其中和分别是系统输入、输出和单位冲激响应的拉普拉斯变换。(2)当时,就是这个线性时不变系统的频率响应。在拉普拉斯变换的范畴内,一般称为系统函数或传递函数,线性时不变系统的很多性质都与系统函数在s平面的特性密切相关。(1)在此之前,本章提到的“拉普拉斯变换”全称为“双边拉普拉斯变换”,本节介绍的则是“单边拉普拉斯变换”。(2)一个连续时间信号。
2024-10-07 23:47:28 1560
原创 信号与系统 第五章(离散时间傅里叶变换)
(1)如果的能量有限,也即平方可和,即,就可以保证是有限的。(2)如果绝对可和,即,也可以保证是有限的。(1)例1:(2)例2:(1)例1:
2024-10-06 15:44:20 319
原创 信号与系统 第四章(连续时间傅里叶变换)
(2)上面举例呈现出的对称性质可以推广到一般的傅里叶变换中,对于任何变换来说,在时间和频率变量互换之后都有一种对偶关系。(1)在第三章中有介绍到经典周期方波,其傅里叶级数系数为。只有有限个不连续点,并且在每个不连续点都必须是有限值。,这种关系可用来确定或联想到傅里叶变换的其它性质,如。,可以把傅里叶级数系数当成一个包络函数的样本,即。只有有限个最大值和最小值。②在任何有限区间内,③在任何有限区间内,
2024-10-06 10:32:41 357
原创 信号与系统 第三章(周期信号的傅里叶级数表示)
(1)在研究线性时不变系统时,复指数信号的重要性在于这样一个事实,即一个线性时不变系统对复指数信号的响应也同样是一个复指数信号,不同的只是在幅度上的变化,如下所示,其中或是一个复振幅因子,一般来说是复变量s或z的函数。(2)一个信号,若系统对该信号的输出响应仅是一个常数(可能是复数)乘以输入,则称该信号为系统的特征函数,而幅度因子称为系统的特征值。
2024-10-06 01:45:00 2521
原创 信号与系统 第二章(线性时不变系统)
的响应就是系统对这些移位脉冲中的每一个响应加权后的叠加,而时不变性又意味着一个时不变系统对移位单位脉冲的响应就是未被移位的单位脉冲响应的移位,将这两点结合在一起,即可得到具有线性和时不变性的离散时间系统的卷积和表示。(3)对于线性时不变系统因果系统,在初始时刻当输入为0时,输出也为0,也就是说,其输出的初始状态为0,此时的输出常称为系统的零状态响应。(1)两个线性时不变系统级联后的冲激响应就是它们单个冲击响应的卷积(两个线性时不变系统级联后的单位冲激响应与它们在级联中的次序无关)。
2024-10-04 11:01:00 1397
原创 信号与系统 第一章(绪论)
(1)由于信号可视为自变量的函数,当自变量改变时,必然会使信号的特性相应地发生改变。(2)本节仅关注很有限但很重要的几种最基本的信号变换——时移、时间反转和时间尺度变换,这些变换只涉及自变量的简单变换,也就是时间轴的变换。(1)一个连续时间系统是这样的系统,输入该系统的信号是连续信号,系统产生的输出也是连续信号,系统的输入-输出关系可以表示为“。(2)一个离散时间系统是这样的系统,输入该系统的信号是离散信号,系统产生的输出也是离散信号,系统的输入-输出关系可以表示为“。
2024-10-04 00:43:15 841
原创 Matlab simulink建模与仿真 第十九章(生成C代码)
(1)MIL测试是模型在环测试(Model in the Loop),通过纯软件仿真的形式,主要验证模型功能的正确性,是否满足设计的功能需求,旨在尽早发现问题。(2)MIL测试通过指定输入和期望结果,将仿真结果与期望结果进行比对,根据判定标准验证模型是否正确。此外,还需要进行模型覆盖率度量,确保满足一定的覆盖率标准,如语句覆盖、分支覆盖等。这种测试方法在嵌入式系统开发的初期阶段及建模阶段中进行,是一种设计验证方法,不同于硬件在环测试(HIL),后者主要用于代码验证。
2024-09-22 00:58:48 1845
原创 Matlab simulink建模与仿真 第十八章(Stateflow状态机)
Stateflow是集成于Simulink中的图形化设计与开发工具,主要用于针对控制系统中的复杂控制逻辑进行建模与仿真,或者说,Stateflow适用于针对事件响应系统进行建模与仿真。
2024-09-18 00:25:24 3116
原创 Matlab simulink建模与仿真 第十七章(补充离散库和补充数学库)
在离散系统中,状态空间可用如下表达式表达,m为状态变量的个数,k为输入信号的个数,r为输出信号的个数,x代表状态变量,u代表输入,y表示输出,A是个m×m的状态矩阵,B是个m×k的输入矩阵,C是个r×m的输出矩阵,D是个r×k的直接馈入矩阵。
2024-09-17 01:06:32 1253
原创 Matlab simulink建模与仿真 第十六章(用户定义函数库)
注:MATLAB版本不同,可能有些模块也会有差异,但大体上区别是不大的。(1)S函数的全称为system-functions(系统函数),它主要用于扩展simulink环境(扩展simulink模块的用法)。(2)S函数可使用多种语言进行编写,如C语言、C++、Python、MATLAB、Fortran等,使用C语言、C++和Fortran这些编译型语言需要借助mex文件。
2024-09-17 01:02:17 1310
原创 Matlab simulink建模与仿真 第十五章(信号源库)
(1)白噪声具有常量功率谱,这意味着白噪声在所有频率上出现的强度相同,不随着频率的增加而衰减,白噪声的这一特性使其在功率谱上趋近为常值,即在整个频谱上都有成分,从低频到高频都有分布。(2)白噪声的理想状态是具有无限带宽,因此其能量是无限大的。然而,在实际应用中,白噪声通常是在一定频率范围内具有均匀功率谱密度的噪声。
2024-09-16 16:29:04 1453
原创 Matlab simulink建模与仿真 第十四章(信号输出库)
①若选择生成的形式为时间序列,输入信号的形式可以多种多样(可用于任何数据类型、复杂程度或维度),该模块将simulink中的仿真采用时间点序列作为一个列向量(成员名为Time),每个仿真采用时间点的输入信号作为也作为一个列向量(成员名为Data),二者组成一个结构体,该结构体存储在FIle name指定的MAT文件中,并将结构体赋给其中指定的变量(如果输入信号为标量或者向量,那么两个成员直接合并成矩阵,而不是存储为结构体)。(1)该模块在前面介绍其它模块时经常使用,它的作用是将输入端口的信号值显示出来。
2024-09-16 01:20:55 1207
原创 Matlab simulink建模与仿真 第十三章(信号通路库)
(2)Tapped Delay模块仅用于将1个信号变成4个信号,然后拼成一维向量输出,在本例中其主要作用并不是延迟;(2)当编号输入端口输入的编号无法选择任一数据端口时(即编号输入端口输入的编号不在数据端口的编号集中),该模块需要选择一个默认数据端口连通至输出端口,具体有两种选择方式,第一种是默认选择最下面的一个数据端口(Last data port),第二种是另开一个默认数据端口(Additional data port),如果发生数据端口编号集中没有输入端口输入编号的情况,那么就将该端口连通至输出。
2024-09-15 01:23:18 994
原创 Matlab simulink建模与仿真 第十二章(信号属性库)
(1)数据比例剥离模块的作用是将定点输入信号的缩放比例去掉,它将输入数据类型映射到有足够位数保存输入的最小内置数据类型(简单地说,如果输入的数据类型是浮点数,该模块将其转换为二进制表示形式,并将小数点去掉,得到所谓的“实际值”,这个“实际值”就是不考虑存储单元对应数据的数据类型,存储单元中的内容是什么,实际值就是什么),所存储的实际值就是该模块的输出值。如果该模块的采样时间不是“-1”(继承输入信号的采样时间),那么输入信号和输出信号的采样时间都要与该模块的采样时间相同。(可能会存在溢出和量化误差的情况)
2024-09-11 00:19:50 1321
原创 Matlab simulink建模与仿真 第十一章(端口及子系统库)【下】
触发使能子系统其实是触发子系统和使能子系统二者的结合,当触发端口传来触发信号时,使能端口的输入需要大于1,触发使能子系统才能够工作。(1)相比于普通的子系统,for循环子系统中多出一个for循环迭代器(For Iterator)。(2)迭代器有一个迭代界限(Iteration limit),这个界限可以从外部输入,也可在模块内部配置,该界限决定一共执行几次循环(循环变量值超过迭代界限,循环结束);
2024-09-09 05:45:00 1091
原创 Matlab simulink建模与仿真 第十一章(端口及子系统库)【上】
子系统分为虚拟子系统和非虚拟子系统,前面提及的普通子系统属于虚拟子系统,而这里的微型子系统则是非虚拟子系统,它可以看作独立的系统,有独立参与运算的能力,而普通的子系统则不行,不过在实际应用中,二者的差别并不大,一般使用普通的子系统足矣。代码重用子系统也属于非虚拟子系统,其用法和微型子系统十分相似。该模块通常和用户自定义的库文件配合使用,可用来表示库文件中包含的各个功能相对独立模块所构成的集合。
2024-09-09 05:00:00 1170
原创 Matlab simulink建模与仿真 第十章(模型扩展功能库)
(1)每次当模块受到触发时,都会调用linmod或者dlinmod函数,求出当前控制系统的线性状态空间模型(A、B、C、D四个矩阵以及其它的一些相关信息),相关信息会以结构体数组的形式存储在基本工作空间中(每触发一次,生成一个工作点,也就是求一次线性状态空间模型,这个工作点以结构体表示,若干个工作点便构成了结构体数组)。(1)在建立模型时,有时需要给模型添加一些属性,比如创建者、创建日期、修改者、修改日期、版本号等,这时可以在模型文件中添加模型信息模块,将需要添加的属性配置进该模块即可。
2024-09-08 01:52:59 1027
原创 Matlab simulink建模与仿真 第九章(模型校验库)
②如果勾选了“Enable assertion”,模块的校验功能将会被激活,在此基础上如果勾选了“Stop simulation when assertion fails”,仿真将会终止并输出错误信息,错误信息可在模块配置框中进行配置。②如果勾选了“Enable assertion”,模块的校验功能将会被激活,在此基础上如果勾选了“Stop simulation when assertion fails”,仿真将会终止并输出错误信息,错误信息可在模块配置框中进行配置。
2024-09-08 01:52:33 1207
原创 Matlab simulink建模与仿真 第八章(数学运算库)【下】
(1)矩阵拼接模块的作用已在其名称中体现,该模块有向量模式(Vector)和多维数组模式(Multidimensional array)两种模式,在向量模式中,输入端口输入的数据只能是一维数据,输出的数据要么是单行要么是单列,而多维数组模式输出的数据不局限于单行/单列,而且可以指定输入矩阵的拼接方式,以二维矩阵为例,Concatenate dimension = 1时输入的矩阵在竖直方向上进行拼接,Concatenate dimension = 2时输入的矩阵在水平方向上进行拼接。
2024-09-07 10:44:03 1693
原创 Matlab simulink建模与仿真 第八章(数学运算库)【上】
(3)以Subtract模块为例,双击Subtract模块,属性“List of signs”表示输入端口的符号排列,比如下图的Subtract模块有两个输入端口,那么就有两个符号,其中每个符号各自代表其对应输入端口的量是作为加数还是减数,“+”对应加法,“-”对应减法,至于“|”符号,它起到一个占位的作用(可认为把它也当成一个输入端口,不过这个输入端口是被堵死的)。②如果其中有部分输入是标量,其它输入是向量或者矩阵(需要有相同的维度),那么这个标量将会自动进行拓展,与其它输入的向量或者矩阵进行匹配。
2024-09-07 10:22:04 2211
原创 Matlab simulink建模与仿真 第七章(表查询库)
(2)以一维查表为例,预查询表模块f1输入的取值范围为[0,1),k1输入需要是一个整数,该模块会以k1的值作为下标(第一个元素的下标为0)找到因变量列表中相应的元素,f1的值可以理解为“下标偏差”(非专业名词),因变量列表相邻元素的下标相差为1,f1=0代表需要求解的因变量正好为k1值索引到的因变量,f1>0时该模块会根据插值算法求解出因变量。输入值在x集范围外的,直接以x集中距离输入值最近的自变量取值对应的因变量作为输出,简单地说,模块中的一维表在x集范围以外,因变量既不递增也不递减。
2024-09-01 22:58:49 1820
原创 Matlab simulink建模与仿真 第六章(逻辑运算、位运算库)
(1)在参与位运算时,输入信号的值都会转换为二进制的表示形式,该模块的作用是将二进制表示形式输入信号的指定的某个位设置为1,其它位不变,然后转换回输入信号原本的形式,输出之。(1)在参与位运算时,输入信号的值都会转换为二进制的表示形式,该模块的作用是将二进制表示形式输入信号的指定的某个位设置为0,其它位不变,然后转换回输入信号原本的形式,输出之。(2)对于二进制数本身的移动,需要先将输入值转换为二进制形式,然后再进行数的移位,移位后产生的空位用0补上,而被移出的位则直接丢弃,其实际的数学意义是对数值进行。
2024-09-01 01:46:52 1778
原创 Matlab simulink建模与仿真 第五章(离散模块库)【下】
c2d函数返回离散时间系统的传输函数(或状态空间模型)。使用d2c函数可以将离散域的传递函数转换为连续域的传递函数,其中第一个参数为离散时间系统的传输函数,或前三个参数为状态空间模型的A、B矩阵及采样时间间隔,如果参数采用离散时间系统的传输函数(即不采用状态空间模型),下一个参数为用于指定变换方法的可选参数,如果参数采用状态空间模型,下一个参数为采样时间间隔;(3)对上述关系式做一定的调整,可得到如下传递函数,为简单起见,假设电阻的阻值为1Ω,电容的容值为1F,传递函数将得到简化。
2024-08-31 12:14:30 2223
原创 Matlab simulink建模与仿真 第五章(离散模块库)【上】
(5)tf函数、zpk函数和ss函数,它们的参数还可以是一般形式、状态空间形式(含四个矩阵的结构体表示)或者零极点增益形式的离散传递函数,执行的功能是将离散传递函数转化为另一种表现形式,比如将含四个矩阵的结构体作为tf函数的参数,tf函数会根据这个结构体构造出一般形式的离散传递函数。(下图中的传递函数g与上图相同)(2)下例中的正弦信号发生器需要更改为基于采样的离散形式(默认是基于时间的连续形式),采样时间(Sample time)为0.1秒,信号每个周期的采样次数为50次。
2024-08-31 12:08:20 2639
原创 Matlab simulink建模与仿真 第四章(非线性模块库)
所有的摩擦力可以划分为两大类——库仑摩擦和粘滞摩擦,前者与运动速度无关(当然,静止与非静止还是需要关注的),后者与运动速度成正比关系。
2024-08-25 12:56:41 1798
原创 Matlab simulink建模与仿真 第三章(连续模块库)
注:积分模块在第二章中有介绍,本章不再赘述;二阶积分模块相当于两个积分模块串联(可以设置两个初始条件),本章也不会对二阶积分模块进行详细介绍;带上下限的积分模块和带上下限的二阶积分模块默认激活“Limit output”选项,本章也不会对它们进行详细介绍。
2024-08-24 23:54:48 2018
原创 Matlab simulink建模与仿真 第二章(常用模块库)【下】
(1)开关模块可实现选择功能,它有3个输入端口和1个输出端口,输入端口从上到下(或从左到右)编号,第一个和第三个输入端口为数据端口,第二个输入端口为控制端口,当控制端口2满足所选标准时,输出端口与输入端口1导通,否则输出端口与输入端口3导通。②对双目运算,有上表所示的六种,对关系运算模块的两个输入,由上至下(或由左至右)第一个输入为操作数1,第二个输入为操作数2,操作数1在关系运算符的左边,操作数2在关系运算符的右边,若关系表达式成立则输出逻辑1,否则输出逻辑0。
2024-08-24 12:46:37 3294
原创 Matlab simulink建模与仿真 第二章(常用模块库)【上】
(1)在计算机中,一般存在控制总线、数据总线等(如下图所示的Bus Creator),总线上的设备可以共享总线,而总线分配器则是负责管理和分配这些通过总线的信号,确保数据和控制的正确传输。(总线模块不建议经常使用,这里仅做简单介绍)(2)示波器模块会显示输入端口的信号图象,如正弦波。
2024-08-20 23:48:12 1702
原创 Matlab simulink建模与仿真 第一章(simulink入门)
(1)MATLAB是一种以矩阵为来处理数据的的计算软件,其应用范围十分广泛,该产品由若干模块组成,simulink是其中一个,它可利用图形化的工具来进行建模与仿真。
2024-08-18 11:51:58 8965
原创 CANoe/CANalyzer基础教程 第五章(CAPL语言)
(1)CAPL是CANoe自带的一种类C编程语言,封装有丰富的函数库。(2)CAPL脚本需要和软件中的节点关联在一起,当CANoe工程启动时,CAPL中的程序才能被使能。(3)使用CANoe的仿真功能与测量功能时可以在两个地方添加与CAPL文件关联的节点:①可以在Simulation Setup窗口中添加一个仿真的网络节点,或者选择网络中已有的节点与CAPL脚本关联。[1]在Simulation Setup窗口中右键,选择“Insert Network Node”添加一个网络节点。
2024-08-15 23:13:30 1841
原创 CANoe/CANalyzer基础教程 第四章(仿真)
(5)按照下图所示可以将自制面板添加进CANoe工程中,其中View栏下的是已添加的面板,New栏下的“Add Panel...”选项则是新增面板操作,Configuration栏下的“Panel Configuration...”选项可以调出配置窗口,该窗口可以对工程中所有已添加的面板进行统一管理。④在CANoe工程中还可以添加自定义的结构体类型系统变量,比如要定义一个结构体变量表示汽车四个轮子的速度,可以点击下一图所示的图标,仿照添加单个变量的操作添加结构体成员即可,添加完成后配置窗口如下二图所示。
2024-08-14 23:43:13 1039
原创 CANoe/CANalyzer基础教程 第三章(发送模块)
激活Frame/System Variable,这是基于其它报文或系统变量的发送方式,可以选择总线上特定ID的报文,这样,当总线上发来一个该ID的报文时就发送一次报文,当然,也可以选择某一个变量。(5)点击下图红箭头所示的按钮,可以获取CANoe中加载的数据库,选择数据库中的报文,点击“OK”即可将报文添加至发送列表中,报文中的属性会按照数据库中的设置一并自动导入,一般只需要设置数据段的内容和报文发送方式即可。(1)用户可以使用CAN IG发送自定义的报文或者是数据库里的报文到CAN总线上。
2024-08-12 23:11:00 1673
原创 CANoe/CANalyzer基础教程 第二章(分析窗口)【下】
2]记录触发的配置窗口:工程中有常用的三种记录模式,如下图所示,由上至下依次是完整记录(工程开始运行时触发开始记录,工程停止运行时触发结束记录)、单个触发事件记录(触发事件可以启动记录的开始,同时将该事件前后时间段的数据记录下来,前后时间段的长短、触发事件需要提前配置)、两个事件触发记录(和单个触发条件记录模式类似,不过它有两个触发事件),每一个被记录下来的数据段(即下图中蓝色横线部分)称之为Trigger Block。二进制(*.blf)——生成比ASCII小得多的文件,支持所有总线系统和协议。
2024-08-11 11:19:19 1668
原创 CANoe/CANalyzer基础教程 第二章(分析窗口)【上】
(6)如果观测的数据量较大,或者观测时间较长,Trace窗口中将会有非常多的报文记录,选择按照时间的顺序显示模式,会发现第一条报文的发送时间可能并不是CANoe的启动时间,这时可以观察Trace窗口中有没有下图所示的淡橙色方块,往上拖动这个方块,就能看到发送时间更早的报文,或者右击方块,可以直接精准跳转到某个时间戳(输入目标时间戳或者目标时间后按下回车即可)。①在主菜单中找到“Analysis”,其下有子选项“Trace”,点击它即可,然后可以选择打开已有的Trace窗口或者新建Trace窗口。
2024-08-11 11:14:34 2801
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人