Bode Plot axes changes with sampling time?

조회 수: 9 (최근 30일)
John
John 2014년 4월 19일
댓글: Arkadiy Turevskiy 2014년 4월 28일
Why does the Bode Plot 'bode()' frequency axis change in magnitude if the sampling time 'dt' is changed in magnitude? If dt is changed from 1e-3, to 1e-4, the axis labels go from 10^1 --> 10^4, to 10^2 --> 10^5. But sampling time shouldn't change the axis magnitude, just the accuracy.
dt = 1e-4;
t = (0 : dt : 50)';
uc = chirp(t, 0.1, t(end), 100);
yc = circshift(uc, 100); %phase shift the output
data = iddata(yc, uc, dt);
TF= etfe( data );
bode(TF);
  댓글 수: 1
John
John 2014년 4월 25일
Nobody else sees this when running the code above? It seems a basic thing to not work...

댓글을 달려면 로그인하십시오.

답변 (4개)

Arkadiy Turevskiy
Arkadiy Turevskiy 2014년 4월 21일
편집: Arkadiy Turevskiy 2014년 4월 21일
Take a look at the examples section here .
The FFT frequency is basically an inverse of sampling time, so when you make dt 10 times smaller, frequency goes 10 time higher, as shown in the example referenced above.

John
John 2014년 4월 21일
Right, but efte automatically sets the axes, and it also has the sampling time as an input via 'iddata'. It should already compensate for that, since there is not other provision for entering the time vector.
  댓글 수: 2
Arkadiy Turevskiy
Arkadiy Turevskiy 2014년 4월 21일
If you take a look at a signal processing book like Discrete-Time Signal Processing by Oppenheim and Schafer, and look at frequency-domain representation of sampling, you will see that all the frequency plots are defined with sampling frequency, 1/T Hz , or 2pi/T rad/sec.
The bode plot will show the right content at the right frequencies, but the range will always extend to (1/t)/2 - half of the sampling frequency. This is the right behavior. If you have t=1e-4, you can still capture frequency content happening at just below half of sampling frequency, 5 Khz. With sampling time 1e-3, you can only capture frequency content up to 500 Hz.
Think about it this way: if your transfer function is a very narrow passband at 100 Hz, no matter what dt is (1e-3 or 1e-4), you will see your passband at 100Hz, but the range will extend to either 500Hz or 5,000 Hz.
John
John 2014년 4월 22일
But that's just it, the passband is not fixed, and its value varies with dt -- of course, it shouldn't change just because of dt.
Hence the confusion of what 'etfe' is doing.
In other words, as i change 'dt', the plot shown on the screen is exactly the same and remains in place (i.e. it is not squeezed or stretched), and the axis magnitude just changes under it.
For example, the passband could be 100 in one case, and 1000 in another case as dt changes by a factor 10.
That shouldn't happen...

댓글을 달려면 로그인하십시오.


John
John 2014년 4월 24일
bump? Still a mystery...

John
John 2014년 4월 28일
Anyone from Mathworks? Is this a bug?
  댓글 수: 1
Arkadiy Turevskiy
Arkadiy Turevskiy 2014년 4월 28일
I already tried to explain the best I could that it is not a bug.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Plot Customization에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by