Bode Plot axes changes with sampling time?
8 次查看(过去 30 天)
显示 更早的评论
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);
回答(4 个)
Arkadiy Turevskiy
2014-4-21
编辑:Arkadiy Turevskiy
2014-4-21
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.
0 个评论
John
2014-4-21
2 个评论
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.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Plot Customization 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!