概述
S域传递函数
50 Y(S)
G(S) = exp(-100*s) * ---------- = -----
1000 s + 1 X(S)
通过MATLAB编程生成动态响应曲线,这里的采样周期设为1s,便与后期辨识工业现场被控对象。
这里涉及到《自动控制原理》知识点,S变换、Z变换、差分方程等。
将S域传递函数离散化
0.04998 y(z)
g(z) = z^(-100) * --------- = -----
z - 0.999 x(z)
方程分子分母同时除以z
0.04998 y(z)
g(z) = z^(-101) * --------------- = -----
1 - 0.999z^(-1) x(z)
将上述方程十字相乘
y(z) - 0.999y(z)z^(-1) = 0.04998x(z) z^(-101)
改写成
y(t) - 0.999y(t-1) = 0.04998x(t-101)
y(t) = 0.999y(t-1) + 0.04998x(t-101)
clear all;close all;clc;
sys=tf([0 50],[1000,1],'inputdelay',100);
% ts 为采样时间常数
ts = 1;
dsys=c2d(sys,ts,'zoh');
% num 为分子系数,den 为分母系数
[num,den]=tfdata(dsys,'v');
% tdelay 为滞后时间常数
tdelay = 101;
for m=1:tdelay
y(m)=0;
end
x=linspace(1, 1, 10000);
for n=102:1:10000
y(n)=-den(2)*y(n - 1)+num(2)*x(n-101);
end
figure(1)
plot(y)
最后
以上就是风趣路人为你收集整理的MATLAB编程测试传递函数的响应曲线(系统辨识第一篇)的全部内容,希望文章能够帮你解决MATLAB编程测试传递函数的响应曲线(系统辨识第一篇)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复