MATLAB/simulink控制系统之传递函数模型(0基础)

目录

5.3 传递函数模型

5.3.1 概述

5.3.2 模型建立

5.3.3 MATLAB中


5.3 传递函数模型

5.3.1 概述

1)概念

传递函数:当初始条件为零时,系统输出量(响应函数)的拉氏变换表达式与系统输入量(驱动函数)的拉氏变换表达式之比,称为该系统的传递函数,其一般表达式为:

特征多项式:传递函数的分母为系统的特征多项式;极点:特征多项式等于0组成特征方程的根;阶数:特征多项式的最高阶数n;根轨迹增益

拉普拉斯变换:可采用传递函数代替常系数微分方程来描述系统的特性。这就为采用直观和简便的图解方法来确定控制系统的整个特性、分析控制系统的运动过程,以及提供控制系统调整的可能性。

(2)算子阻抗法

参考:https://download.csdn.net/download/qq_38693598/10969179

https://wenku.baidu.com/view/f11c8023915f804d2b16c1ef.html?sxts=1550723655119

模型

算子阻抗

输入为电流,输出位电压

电阻:R

 

电容:

 

电感:Ls

(3)典型电路环节

  • 比例环节

 

  • 惯性环节

  • 理想积分环节
  • 实际积分环节
  • 理想微分环节
  • 一阶微分环节
  • 二阶微分环节
  • 实际微分环节
  • 二阶振荡环节
  • 延迟环节

K=Rf/Ri;T=Rf*Cf,积分/微分时间常数,也叫再调时间;

ωn=1/T称为无阻尼自然振荡角频率;ζ-阻尼比,当0<ζ<1二阶振荡环节 具有一对实部为负的共轭复数极点,其单位阶跃响应曲线是衰减振荡;(时域分析会用到)

(4)串/并/反馈结构图

  • 串联连接

  • 并联连接

  • 反馈连接

闭环系统闭环传递函数

图中+对应正反馈,-对应负反馈,传递函数中正好相反

如把反馈通道在A点处断开

闭环系统开环传递函数:

此时,闭环系统闭环传递函数(单位反馈)为

当H(s)=1时

 

单位反馈

  • 带扰动闭环连接

①求C(s)对R(s)的传递函数,令N(s)=0得

②求C(s)对N(s)的传递函数,令R(s)=0得

 

③求C(s)对R(s)和N(s)的传递函数,

若G1(s)G2(s)H(s)>>1,负反馈能有效的抑制被反馈回路所包围的干扰

④求E(s)对R(s)的传递函数,即令N(s)=0,比较点内‘-’为串联‘-1’增益

 

⑤求E(s)对N(s)的传递函数,即令R(s)=0,

等效变换的方法:

信号引出点前移乘、后移除;信号比较点前移除、后移乘、互换合并不变

(5)零/极点分布图

将传递函数的零、极点表示在复平面上的图形称为传递函数的零、极点分布图。图中,零点用“O”表示,极点用“×”表示。

5.3.2 模型建立

(1)步骤

传递函数列写大致步骤:

  1. 列写系统的微分方程
  2. 消去中间变量
  3. 在零初始条件下取拉氏变换
  4. 求输出与输入拉氏变换之比
  1. 列写系统中各元件的微分方程
  2. 在零初始条件下求拉氏变换
  3.  整理拉氏变换后的方程组,消去中间变量
  4. 整理成传递函数的形式

(2)拉氏变换

原函数

象函数

单位脉冲函数δ(t)

1

单位阶跃函数1(t)

\frac{1}{s}

K常数函数

\frac{k}{s}

t 单位斜坡函数

\frac{1}{s^2}

t^{n}

\frac{n!}{​{s^{n+1}}}

e^{-at}

\frac{1}{s+a}

sinωt

\frac{\omega }{s^2+\omega ^2}

cosωt

\frac{s }{s^2+\omega ^2}​​​​​​​

微分\frac{\partial f(t)}{\partial t}

s*F(s)

积分\int{f(t)dt}^{}

\frac{1}{s}F(s)​​​​​​​

衰减定律e^{-at}f(t)

F(s+a)

5.3.3 MATLAB中模型建立

多项式传递函数

tf/tfdata

num=[13 4 0 6];%多项式分子各项系数降次排列

den=[5 3 16 1 7];%多项式分母各项系数降次排列

sys=tf(num,den);%建立传递函数模型

或s=tf('s'); sys=10/(s*(0.5*s+1)*(0.1*s+1));%此处不能用sym代替tf,

%[num,den]=tfdata(sys,’v’);%返回传递函数sys的分子分母多项式

零极点式:zpk/zpkdata

z=[-3];%输入零点%注意s系数为1%必须是向量,无点则空向量

p=[-2 -4 -5];%输入极点

k=7;%输入增益

sys=zpk(z,p,k); %建立传递函数模型

%[z,p,k]=zpkdata(sys,’v’);%返回传递函数sys的零极点/增益多项式

相关函数

因子式conv

功能:实现2个多项式降次系数乘积运算

num=4*conv([1 3],conv([1 7 6]),conv([1 7 6])));

den=conv([1 0],conv([1 1],conv([1 1],conv([1 1],[1 3 0 5]))));

sys=tf(num,den);

部分分式展开函数residue ( )

功能:对两个多项式的比进行部分展开,

[r, p, k]=residue(num, den);

%求B(s)/A(s)的部分分式展开式,向量b和a是按s降幂排列的多项式系数,给出部分分式展开式的留数r、极点p和余数k:

模型转换

多项式/零极点式

zpk至tf:[num, den]=zp2tf(z, p, k);%注意前[]后()

tf至zpk:[z, p, k]=tf2zp(num, den)

  • 59
    点赞
  • 348
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 在Matlab中,我们可以使用S函数实现一个PID控制器。S函数是一种用于在Simulink模型中实现C或C++代码的模块。S函数的输入和输出可以与Simulink中的其他模块进行连接,例如传感器、执行器、仿真环境等。 编写一个PID S函数的方法如下: 1. 在MatlabSimulink Library Browser中,找到S-Function模块并添加至一个新建的模型当中。 2. 将S函数模块双击打开,然后在Parameters标签下设置PID控制器的系数Kp、Ki和Kd。 3. 在Outputs标签下定义S函数的输出变量和数值类型。 4. 在mdlInitializeSizes()函数中定义S函数的输入和输出端口的数量、尺寸和数据类型等信息。 5. 在mdlStart()函数中初始化PID控制器的各个参数。 6. 在mdlOutputs()函数中实现PID控制器的算法,根据当前的误差计算控制量并输出到Simulink模型中。 7. 最后,在mdlTerminate()函数中释放资源和清空内存。 需要注意的是,MATLAB的PID S函数只是一个简单的PID算法演示,因此在实际应用中需要根据具体需求修改参数和算法等细节,以达到更好的控制效果和稳定性。 总的来说,在Matlab使用S函数实现PID控制器是一种简便有效的方法,可用于学习、验证和仿真控制系统的设计和性能。 ### 回答2: 在MATLAB中,使用s函数可以实现PID控制器。PID控制器是一种反馈控制器,由比例、积分和微分三个控制项组成。具体实现过程如下: 首先,从MATLAB的工具栏中选择“新建” -> “模块” -> “S函数模块”,打开一个新的S函数编辑器。 然后,在编辑器中编写代码来实现PID控制器。代码将包含PID控制器的公式和需要的控制参数。其中,Kp表示比例控制增益、Ki表示积分控制增益、Kd表示微分控制增益。 在代码顶部,定义所需的输入和输出信号。这些信号包括输入信号、输出信号以及PID控制器的三个参数。 接下来,在代码的主体部分,实现PID控制器公式。使用输入信号、PID参数和PID控制器公式来计算输出信号。 最后,保存S函数文件,并将其添加到MATLAB的工作路径中。从Simulink中,可以将PID S函数模块添加到模型中,以便在Simulink模型使用。 总之,使用MATLAB的S函数实现PID控制器是一种可靠和高效的方法,可用于控制许多工业过程和系统。 ### 回答3: MATLAB使用s函数可以实现PID控制器。PID控制器是一种经典的反馈控制器,它可以通过测量反馈信号来调节输出信号,实现对系统的控制。 使用s函数可以方便地构建PID控制器。首先,可以定义一个s函数模块,其中包含用于计算PID控制输出的代码。在这个模块中,需要定义PID控制器的三个参数:比例系数、积分时间常数和微分时间常数。然后,在每个时刻,根据反馈信号和期望输出信号计算PID控制器的输出,并更新控制参数。 具体实现时,可以使用MATLAB中的s函数库,根据PID控制器的数学模型构建对应的传输函数。然后,在s函数中添加计算控制器输出的代码,并将控制器输出传递给系统。最后,将s函数与系统模型进行连接,即可实现PID控制。 使用s函数实现PID控制器的方法简单易懂,可以快速构建PID控制模型并进行仿真实验。因此,在工程实践中,s函数常被使用来实现PID控制器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值