MATLAB Answers

0

tfestimate gives different results for different Fs

Aldo Sebastian さんによって質問されました 2018 年 12 月 27 日
最新アクティビティ Aquatris
さんによって 回答されました 2018 年 12 月 27 日
So I have an experimental data; A is a chirp signal (sweep sine wave) and B is the response of the system. I identify the system as follows:
figure
Ts= 1e-4;
Fs = 1/Ts;
[T,f]=tfestimate(A,B,[],[],[],Fs);
semilogx(f,20*log10(abs(T)));
grid
But when I change Ts to different values (e.g. 1e-2), the plot changes. For instance
This is with Ts = 1e-4
This is with Ts=1e-2
Can anyone help me figure out what the correct value of Ts is, so my reported eigenfrequencies are correct?

  0 件のコメント

サインイン to comment.

製品


リリース

R2015a

1 件の回答

Aquatris
回答者: Aquatris
2018 年 12 月 27 日

It is because when you change the sampling time, you are basically playing with the fft of the signal. You should use Ts value of whatever you used in your experiment to get correct transfer function. For instance, if you collected data every 10 ms, you should use a Ts value of 10 ms.
The reason behind the change of frequency but not the magnitude is simple. Assume you have a sine wave;
t = 0:1e-3:10;
y = sin(t);
If you take the fft of the signal 'y', and use the sampling rate of 1 ms, since the sine wave is created that way, you will see a magnitude of 1 at frequency of 1 rad/s. However if you do the fft assuming you have a sampling rate of 10 ms, the magnitude in the fft will still be 1 but ferquency will be 0.1 rad/s. Which is what you observed in the graphs you provided. You increased the sampling time from 1e-4 to 1e-2 sec, which is a 100 time increase, which decreased your frequency 100 times.

  0 件のコメント

サインイン to comment.



Translated by