I have two sets of one second voltage data sampled with 4000Hz and I can plot all the voltage points vs time points in MATLAB. So it means I have a data matrix with with length of 4000 one column for the time in seconds the other for the voltage.

Now I have simultaneously sampled two data matrix in time domain with this way. One is input to a filter (Vin,t) the other is output (Vout,t). I want to find the transfer function both for amplitude and phase shift.

How can I take the Laplace transform of this data? Can I do it without converting it to a expressible function like poly-fit?


Since you are sampling a real signal, you can just use the a Fourier transform, the fft function in MATLAB. You can divide the FFT of the output by the input, and then fit a curve to the result to approximate the transfer function

  • $\begingroup$ How about phase shift data? $\endgroup$ – floppy380 Nov 20 '17 at 18:58
  • $\begingroup$ Do you mean semilogx(abs(fft(out))./abs(fft(in)))? $\endgroup$ – floppy380 Nov 20 '17 at 19:03
  • $\begingroup$ @user1234 You could interpolate real and imaginary parts separately $\endgroup$ – Robert L. May 20 '18 at 5:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.