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 vues (au cours des 30 derniers jours)
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.

Réponse acceptée

Prashant Arora
Prashant Arora le 18 Juil 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 commentaires
Danny Wehby
Danny Wehby le 19 Juil 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 le 19 Juil 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.

Connectez-vous pour commenter.

Plus de réponses (1)

zuyuan
zuyuan le 14 Nov 2024 à 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!

Translated by