How do i implement (-s*exp(-0.1s) + 1 - exp(-0.1s))/(s + exp(-0.1*s) -1) as a transfer function in Simulink
5 次查看(过去 30 天)
显示 更早的评论
I have read other questions suggesting the function to be divided into transport delays and transfer functions and then put them in series. But I havent been able to divide this function into two forms.
0 个评论
采纳的回答
Vaibhav Awale
2015-11-4
This is an irrational transfer function. The best way to implement it would be to create a MATLAB function with 's', the complex frequency as input argument and output the numeric value of transfer function.
Something like the following would do:
function out = Gfcn(s)
out = (-s*exp(-0.1*s) + 1 - exp(-0.1*s))/(s + exp(-0.1*s) - 1);
end
This function can then be called repeatedly for obtaining the required system characteristics.
Else you can create a transfer function by using pade approximation for transport delays. One simple way will be the following:
s = tf('s');
G = (-s*exp(-0.1*s) + 1 - exp(-0.1*s))/(s + exp(-0.1*s) - 1); % This creates a state space model for your system
Ga = pade(G,2); % Make a rational system using pade approximation for transport delay
[den, num] = ss2tf(Ga.a, Ga.b, Ga.c, Ga.d); % Obtain numerator and denominator of pade approximated system
Gtf = tf(num, den) %Transfer function of system with time delays approximated using pade approximation
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Nonlinear Operators 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!