Best way for finding transfer function in time domain

17 vues (au cours des 30 derniers jours)
mehrab zamanian
mehrab zamanian le 29 Jan 2023
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

Réponse acceptée

Star Strider
Star Strider le 29 Jan 2023
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.
.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by