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

4 views (last 30 days)
how do i plot step response here?
clc;
clear all;
syms t;
t= 0:0.001:10
G = tf([1], [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

Answers (1)

Birdman
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], [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 Comments
AAYUSH MARU
AAYUSH MARU on 4 Apr 2020
i want the answer in fourier domain as i am dealing with fourier domain!pls help
AAYUSH MARU
AAYUSH MARU on 4 Apr 2020
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));
i tried using this code! but it is not working i am getting straight line as output

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!