Reply by ganesh November 3, 20102010-11-03
hi,

I have a transfer function. I want to find the input waveform which
will give me a step waveform at the output. If H is the transfer
function, I try to find x(t) by taking the inverse laplace of 1/(s.H).
But if I feed x(t) back to H, I do not get the output as a step.
Instead I get something else totally different. Is my matlab code
given below ok?

The matlab code is below

%define the transfer function
H=tf([kp ki/T],[K kp ki/T]);

%step_f = 1/s
step_f = tf([1],[1 0]);

%get the input waveform in the laplace domain
inp_f = step_f/H;

%using inp_f find the required input waveform in time domain.
t = 0:0.0001:.9;
inp_i=impulse(inp_f, t);

%verify that the output "out" is a step waveform
out=lsim(contr_out, inp_i, t);

-> here if I plot out, it is not a step waveform