提问人:Embed101 提问时间:11/2/2023 最后编辑:Embed101 更新时间:11/2/2023 访问量:37
使用倍频程从测量步骤定义适当的传递函数
Defining proper transfer function from measuring step using Octave
问:
我遇到了 Octave 的颠簸。 我正在电机/系统上工作。我放了放大器,速度就出来了。我通过施加 1A 来迈出一步,电机开始运行。我记录了它的速度,在 0 到 2 秒之间,响应有点好用下面的代码中描述的 y 描述。现在很容易将这个系统描述为一阶系统。在绘制 y 和单步执行时H_sys1th它们看起来有些相同。希望得到更好的结果,我要求八度对H_sysd进行阶跃响应,但结果看起来一点也不像。我做错了什么?我的目标是在 S 域中有一个传递函数,表示尽可能接近的 y。
% Import the Control package
pkg load control
% function written as Y = ax^3 + bx^2 + cx + d
% edit below values:
a = 20;
b = -90;
c = 200;
d = -10;
dt = 0.001; % sample frequency of controller (1Khz) = 0.001
t_sim = 2; % step response length
% Transfer function Plant:
t = 0 : dt : t_sim; % Time Vector [s]
y = a*t.^3 + b*t.^2 + c*t + d;
H_sys = tf([0, d, c, 2*b, 6*a],[1, 0, 0, 0, 0])
H_sysd = c2d(H_sys, 0.001);
% First order transfer funciton
K = 160;
T = 0.9;
E = 1;
H_sys1th = tf ([K], [T, E])
subplot(1,2,1)
plot(t, y)
title('Function System')
subplot(1,2,2)
step(H_sysd, 'b', H_sys1th, 'r', t)
title('Step Transfer Function System')
图像 1,左 Y,右红色 = 一阶 TF,蓝色 = 三阶 TF
答: 暂无答案
评论