I am trying to use the spectrum analyzer in Simulink to study a distorted signal. However, every time i change the discretization time of the powergui block, it gives me different (a huge difference) results. So how do I choose the sampling time?

15 views (last 30 days)
For instance, when my sampling time is 20us, the spectrum analyzer says that the fundamental frequency is at 65 Hz. When i set the sampling time to 2us, the fundamental goes up to 200KHz, keeping in mind that my sources operate at a frequency of 50 Hz.

Accepted Answer

Prashant Arora
Prashant Arora on 18 Jul 2017
Hi Danny,
The sampling time for spectrum analysis should ideally be same as the sampling time of the actual signal to be analyzed.
  2 Comments
Danny Wehby
Danny Wehby on 19 Jul 2017
But the sample rate of the spectrum setting is set to inherited, so I suppose it is the same as that of the actual signal. My issue is that results are changing drastically every time i change the sampling time of the whole system. So is there a certain nominal value I can stick to that is neither too small (huge simulation time) nor too big (less accuracy)?
Prashant Arora
Prashant Arora on 19 Jul 2017
Sampling time of a signal will affect the frequency analysis of the system, not just in terms of simulation time or accuracy, but due to effects like Aliasing, random noise etc. You can start with Nyquist limit and decrease the sampling time as required.

Sign in to comment.

More Answers (1)

zuyuan
zuyuan on 14 Nov 2024 at 10:37
Hi Danny,
I think your problem could have some relation with the RBW paramater in spectrum analyzer.
RBW is the resolution bandwidth, and all the frequencies shown on spectrum plot is Integer multiples of RBW. This is determined by the properties of the Fourier transform and is independent of the sampling time.
For example, when you take a segment of length T from a periodic signal and perform a FFT on it, the fundamental frequency of the spectrum you obtain is f0 = 1/T, and all other frequencies will be integer multiples of f0.
If your input signal is 50Hz and the RBW of the spectrum analyzer is 30Hz, you will see a peak at 60Hz in the spectrum instead of 50Hz.
In Simulink, the default setting of RBW is auto, which means that when you change the sampling time, the RBW will also change accordingly. Therefore, you will find that the frequencies in the spectrum change with the sampling time, even if your sampling frequency is much higher than the Nyquist frequency.
I suggest setting the 'RBW source' to 'Property', and set 'RBW(Hz)' to 1Hz and then re-simulating to see if the results improve.

Community Treasure Hunt

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

Start Hunting!