# how do i plot step response of a system using fourier transform?

8 views (last 30 days)
AAYUSH MARU on 3 Apr 2020
Commented: AAYUSH MARU on 4 Apr 2020
how do i plot step response here?
clc;
clear all;
syms t;
t= 0:0.001:10
G = tf(, [1 0.9 5]);
[num,den] = tfdata(G);
syms s
G_sym = poly2sym(cell2mat(num),s)/poly2sym(cell2mat(den),s)
Y_four_sym = G_sym/s; % U(s) = 1/s for the unit step
y_time_sym = ifourier(Y_four_sym);
y_n = double(y_time_sym);
subplot(2,1,1)
plot(t,y_time_sym); % i am getting error over.. here tried using ezplot etc

Birdman on 3 Apr 2020
Edited: Birdman on 3 Apr 2020
If you are dealing with s domain, you need to use ilaplace. Try this:
syms t;
G = tf(, [1 0.9 5]);
[num,den] = tfdata(G);
syms s
G_sym = poly2sym(cell2mat(num),s)/poly2sym(cell2mat(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));
##### 2 CommentsShowHide 1 older comment
AAYUSH MARU on 4 Apr 2020
clc;
clear all;
syms t;
G = tf(, [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));
i tried using this code! but it is not working i am getting straight line as output