从传递函数到差分方程的转换
1、传递函数的形式
假设传递函数为:G(s)=exp^(-0.004s)*400/(s^2+50s);
其中^后表示指数,如:2^3=8;4^2=16;
在matlab里面建立这个传递函数的命令就是:sys=tf(400,[1,50,0],'inputdelay',0.004);
2、脉冲传递函数
把传递函数离散化就得到脉冲传递函数,这个我就不多说了。。。。
G(z) =z^(-4) *( 0.0001967 z + 0.0001935)/( z^2 - 1.951 z + 0.9512)
= z^(-4) *[0.0001967z ^(-1)+ 0.0001935z^(-2)]/[ 1 - 1.951 z^(-1) + 0.9512z^(-2)] =Y(z)/U(z)……(2)式
在matlab里面离散化命令是:dsys=c2d(sys,0.001,'z');其中0.001为采样时间;
(2)式可写成:
z^(-4) *[0.0001967 z ^(-1)+ 0.0001935z^(-2)] U(z) = [ 1 - 1.951 z^(-1) + 0.9512z^(-2)] Y(z) (3)式
3、差分方程形式
由(3)式可得
0.0001967 z ^(-5)+ 0.0001935z^(-6)]U(z) = [ 1 - 1.951 z^(-1) + 0.9512z^(-2)] Y(z) (4)式
把(4)式得z^(-n)中的(-n)写成(k-n),如z^(-5)U(z)写成u(k-5),可得:
0.0001967 u(k-5)+ 0.0001935u(k-6)= y(k) - 1.951 y(k-1) + 0.9512y(k-2) (5)式
由(5)式得
y(k) = 1.951 y(k-1) - 0.9512y(k-2)+0.0001967 u(k-5)+ 0.0001935u(k-6)
即差分方程形式
[num,den]=tfdata(dsys,'v')这个命令其实就是取式(2)的分子分母
ts=0.001;采样时间=0.001s
sys=tf(400,[1,50,0]);建立被控对象传递函数
dsys=c2d(sys,ts,'z');把传递函数离散化(问题1)
[num,den]=tfdata(dsys,'v');离散化后提取分子、分母 rin=1.0;输入为阶跃信号
u_1=0.0; u_2=0.0; 什么东西的初始状态(问题2)
y_1=0.0; y_2=0.0; 是不是输出的初始状态
error_1=0;初始误差
x=[0 0 0]';PID的3个参数Kp Ki Kd组成的数组
p=100;仿真时间100ms for k=1:1:p
r(k)=rin;
u(k)=kpidi(1)*x(1)+kpidi(2)*x(2)+kpidi(3)*x(3) if u(k)>=10
u(k)=10;
end if u(k)<=-10
u(k)=-10;
end yout(k)=-den(2)*y_1-den(3)*y_2+num(2)*u_1+num(3)*u_2;(问题3)
error(k)=r(k)-yout(k); %返回pid参数
u_2=u_1;u_1=u(k);
y_2=y_1;y_1=yout(k); x(1)=error(k);
x(2)=(error(k)-error_1)/ts;
x(3)=x(3)+error(k)*ts; error_2=error_1;
error_1=error(k);
从传递函数到差分方程的转换相关推荐
- 传递函数到差分方程的转换
文章目录 方法 案例1 一阶系统的差分方程推导 案例2 MATLAB推导 栗1 step1:建模 step2:求:Z域传递函数 栗2 方法 一阶前向差分 s=z−1Ts = \frac{{z - 1} ...
- matlab 传递函数转化差分方程,从传递函数到差分方程的转换
1.传递函数的形式 假设传递函数为:G(s)=exp^(-0.004s)*400/(s^2+50s): 其中^后表示指数,如:2^3=8;4^2=16: 在matlab里面建立这个传递函数的命令就是: ...
- 【控制理论】状态空间模型、传递函数、差分方程的相互转换
转换关系 离散化->差分方程: 离散化后求差分方程时分子分母同除以z的最高次方,使z的次数为负,最后把y(k)提到等式的左边,即得到差分方程的形式 已知连续状态空间求离散状态空间 { x ˙ ...
- 计算机控制系统脉冲传递函数,计算机控制系统的数学描述2(差分方程脉冲传递函数)课件...
<计算机控制系统的数学描述2(差分方程脉冲传递函数)课件>由会员分享,可在线阅读,更多相关<计算机控制系统的数学描述2(差分方程脉冲传递函数)课件(37页珍藏版)>请在人人文库 ...
- 【Matlab】M文件编写PID调节传递函数
前言 之前写了一篇最小二乘法的文章,描述了根据最小二乘法来做曲线拟合的方式,而且从最小二乘法最原始的公式入手编写M文件,目的是可以在单片机,或者说是方便用C来实现.本篇讲述使用M文件来针对一个系统传递 ...
- 连续系统与离散系统传递函数的求解问题
文章目录 1 Z变换的定义与常见激励的Z变换求解 1.1 定义 1.2 单位样值函数 1.3 单位阶跃序列 1.4 斜变序列 1.4.1 间接求导法 1.4.2 错位相减法 1.5 指数序列 1.6 ...
- 传递函数的离散化(以一阶低通RC滤波器为例)
目录 写在前面 RC低通滤波器 离散方法 脉冲响应不变法 一阶向后差分 双线性变换法 验证 验证方法与工具 实施 matlab代码 写在前面 在学习过程中,接触到的都是连续系统,而计算机是离散的,因此 ...
- Matlab学习传递函数Z变换
系统传递函数: 对传递函数做Z变换: 采样时间0.1s: 获得的离散系统为: 运行之后结果为: 对离散函数通过脚本实现: clc clearts = 0.1; sys1 = tf(1,[1,1]); ...
- c语言多变量传函,控制系统仿真-中国大学mooc-题库零氪
第1章 控制系统仿真与CAD概述 第1章 控制系统仿真与CAD概述 单元测试 1. A. B. C. D. 2. A. B. C. D. 3. A. B. C. D. 4. A. B. C. D. 5 ...
最新文章
- 顶点(vertexs) 图元(primitives) 片元(fragments片断) 像素(pixels)
- 告别渣画质,视频会议带宽降90%,英伟达公开Maxine服务背后重要技术
- P3879 [TJOI2010]阅读理解 [STL]
- Java OkHttp3的简单使用
- 机器狗vs警犬!在波士顿动力面前,真狗只能“战术撤退”
- qt的qfiledialog怎么判断打开的是不是一张图片_花瓣网画板图片一键导出 设计师速来围观...
- android 卡片收缩展开,jQuery和CSS3炫酷堆叠卡片展开和收缩特效
- java基于Springboot+vue的零食销售购物商城 elementui 前后端分离
- 20道经典Java面试基础题
- 带通 带阻滤波器 幅频响应_方程推导:二阶有源带通滤波器设计!(内附教程+原理图+视频+代码下载)...
- H.264之lookahead
- Chromium Portable实时更新github下载 最新版本Chromium Portable(谷歌浏览器) 下载
- xiaopiu怎么导出html,xiaopiu原型工具
- java毕业论文云笔记_java毕业设计_springboot框架的云笔记记事本
- vue/html+qrcode生成付款二维码(前端部分)
- 鞍钢鲅鱼圈7m型焦炉建成投产
- android 支付宝 记账本,支付宝app中的记账本该怎么记账?
- mysql cbrt函数_基础方法或属性: 列表,元组,字典,字符串,集合及内置函数等(注:只有英文名)...
- Popmotion动画(二) Pointer tracking 指针跟踪
- 项目管理中story point与时间的关系
热门文章
- 基于ubuntu16.04多用户编译android N(android 7.1)系统提示ninja_wrapper错误问题
- 华为手机双卡有android,华为Mate 40系列手机入网:双卡5G+安卓系统
- (四)Java B2B2C o2o多用户商城 springcloud架构-断路器(Hystrix)
- [转载]Lua和C++交互详细总结
- 基于thrift的微服务框架
- CSS background-position 用法详细介绍
- (转) Unity3D 使用Texturepacker打包工具制作NGUI(Atlas)图集
- 开发非代码的业务知识
- 使用oracle和sqlserver的几点区别【转】
- 在Exchange Server 2007中 设置用户邮箱的大小