PLOTTING STEP RESPONSE OF TRANSFER FUNCTION USING FOURIER TRANSFORM

2 views (last 30 days)
i am not getting the desired output from this code! can anyone help me with it??
the transfer function is in fourier domain!!
clc;
clear all;
syms t;
G = tf([1], [1 0.9 5]);
[num,den] = tfdata(G);
syms s
G_sym = poly2sym(cell2mat(num),s)/poly2sym(cell2mat(den),s)
G_sym=subs(G_sym,s,0.1*1i)
Y_four_sym = G_sym/s; % U(s) = 1/s for the unit step
y_time_sym(t) = ilaplace(Y_four_sym,t);
t=0:0.001:10;
plot(t,y_time_sym(t)

Answers (1)

Ameer Hamza
Ameer Hamza on 5 Apr 2020
There are some issues in your code, compare it with the following code
G = tf(1, [1 0.9 5]);
[num,den] = tfdata(G);
syms s t
G_sym = poly2sym(num{:},s)/poly2sym(den{:},s);
Y_four_sym = G_sym/s; % U(s) = 1/s for the unit step
y_time_sym(t) = ilaplace(Y_four_sym,t);
T=0:0.001:10;
plot(T,y_time_sym(T))
  11 Comments
Ameer Hamza
Ameer Hamza on 5 Apr 2020
By "solving" if you mean that finding the response of the system, then there are other methods. But if you specifically want to solve it with Fourier transform, then it probably not be possible in MATLAB.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!