Finding transfer function with Fast Fourier Fransform.

2.5k Views Asked by At

I have two signals with input = a(t) and output = b(t) that have been sampled every 0.01s and as such the fast Fourier transform has been used on both and utilised to produce a transfer function.

The only problem is that currently I'm left with a massive list of complex values. How would one find a closed form type expression for such a system? I imagine I need to find the poles and zeros?

Edit: For clarity I would like to say that I used numpy.FFT (python language) and it produces an array of complex values. This was applied to both a(t) and b(t). The FFT of b was divided by the FFT of a. This leaves me with an array of complex numbers.

2

There are 2 best solutions below

9
On

Let A(f) and B(f) be the FFT's from a(t) respectively b(t).

Then you're supposed to take the inverse FFT from B(f)/A(f). It will result in an array of real values that identifies the transfer function with respect to time.

0
On

If you are starting from numerical data and want to estimate an analytical expression for it, then you will have to perform some sort of model fit to the data. For signal modeling, you can search for topics such as least squares, Pade approximations, and Prony's method to name a few.

Here are some slides I quickly found with google that wil provide a starting point for you.