How do I determine transfer function from input/output data?

4 views (last 30 days)
I have a discrete-time data set with the following values: u(k)=0 for all k except k=1. When k=1, u(k)=1 (I am basically supplying an impulse signal at one specific time value) y(k)=0 for all k except k=1,2,3. When k=1,2,3 y(k)=1
I need to determine a discrete-time transfer function from this data, and generate a plot of this information. Any pointers would be greatly appreciated.
  2 Comments
Kaushik Lakshminarasimhan
Kaushik Lakshminarasimhan on 10 Nov 2017
Why do you need Matlab for this? The transfer function is basically, h(k) = 1 for k = {0, 1, 2} and 0 everywhere else.
Joe Thompson
Joe Thompson on 11 Nov 2017
I am trying to learn how to get matlab to generate the information I require. This is why I need Matlab for this. How is the transfer function structured in the way you describe, as there is no input besides an initial impulse at k=0? How would this look in Z-domain?

Sign in to comment.

Answers (1)

Yogananda Jeppu
Yogananda Jeppu on 11 Nov 2017
If it was filter sort of thing the TF would be available as a X(k+1) = A x(k) + B u(k) form. This would make sense to derive in the Z domain. What you have is what we call as a pulser. If my input changes from 0 -> 1 I send out a pulse for 3 frames.

Community Treasure Hunt

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

Start Hunting!