Best way for finding transfer function in time domain

16 次查看(过去 30 天)
I have the input and output in time domain and I want to find transfer function in time domain. one way is fist find transfer function in freq domain and after that get ifft for caculate transfer function in time domain. I explain this way in the following code:
FT_input=fft(input,NFFT);
FT_output=fft(output,NFFT);
TransferFunction=(FT_output./FT_input);
TimeDomainTF=ifft(TransferFunction,NFFT);
I want to know is there any simple way that I dont have ti get fft and ifft. I want to find Ht in following eqn:
conv(input,Ht)=output

采纳的回答

Star Strider
Star Strider 2023-1-29
If you want to create a filter from it (returning numerator and denominator coefficient vectors), use the Signal Processing Toolbox invfreqz function. Then use filtfilt with the estimated filter and ‘input’ to get ‘output’.
To estimate it as a control system, use the System Identification Toolbox functions iddata and then either ssest or tfest. Then use lsim with ‘input’ (and its associated time vector) to get ‘output’.
The approach you use depends on the result you want.
.

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by