# Transfer Function Identification from Impulse Response

I'm working on a system involving a stepper motor that is used for moving a carriage back and forth in a linear motion. I have recorded the response (i.e. carriage position vs. time) corresponding to a single motor step. This, I believe, is what one would call the impulse response of the system:

In order to simulate the response to several consecutive steps, and to develop speed control strategies, I'm looking for a way to convert this time-domain impulse response into a frequency-domain (Laplace) transfer function of the form num(s) / den(s), if possible using open-source tools like Scilab or Python. What's a pragmatic way to do that?

• This would be a step-response which the impulse-response can be calculated. An approach, is to convert the step-response to an impulse-response and then take the transform. Jun 5 '15 at 12:49
• I am sure this has already been asked but I can't find the other question. That's a second order response, your fundamental frequency is about 100Hz (measure it on the graph) while the Q factor is a bit trickier, especially with so few oscillations. Jun 5 '15 at 12:56
• electronics.stackexchange.com/questions/117124/… Jun 5 '15 at 12:56
• Of course you need to calculate also the DC gain but that's pretty obvious :D Jun 5 '15 at 12:57
• Chris: this is the response to a motor step, which is actually a discrete event. There's no way I can move the carriage more than a motor step (approx. 50 um) at a time, which is why I was thinking of this as an impulse reponse. Jun 5 '15 at 13:07