Frequency resolution using pwelch

47 visualizzazioni (ultimi 30 giorni)
Oskar Kilgus
Oskar Kilgus il 17 Mag 2023
Commentato: Mathieu NOE il 23 Giu 2023
Hi everyone,
i want to analyze the frequency domain of accelerometer data sets sampled at 500 kHz.
(figure: comparing different window-functions using pwelch with (in this case) windowlength=1024, nfft=1024, fs=500.000Hz, data length=100.000 samples)
When using the pwelch function in MATLAB i can use the windowlength (and a certain windowfunction of course) and the FFT-length as parameters affecting the frequency resolution. Looking at the figure above i'm facing two problems:
1) When changing these parameters in such way, that the frequency resolution is high i feel like it comes with high spectral leakage and therefore automatically becomes obsolete.
2) The system monitored with the accelerometer is a metal-to-metal contact, excited by a shock using a hammer. I am wondering why there is a peak at 0 Hz. In such systems i would expect high-frequency components rather than the spectrum seen in the figure.
Appreciate every help or idea on how to handle any of the two problems mentioned above!
Thanks in advance!
  17 Commenti
Oskar Kilgus
Oskar Kilgus il 22 Giu 2023
Thank you so much Mathieur, that´ll do i suppose!
Mathieu NOE
Mathieu NOE il 23 Giu 2023
my pleasure
do no hesitate to come back when you have new data to share !

Accedi per commentare.

Risposte (1)

Gokul Nath S J
Gokul Nath S J il 23 Mag 2023
Hi Oskar,
Changing the window length and FFT length in the pwelch function can impact the frequency resolution and spectral leakage of the resulting power spectral density (PSD) estimate. It is often a trade-off between these two factors, where increasing the window length improves the frequency resolution but also increases spectral leakage, and vice versa.
To minimize spectral leakage, it is important to choose an appropriate window function that can reduce the sidelobe levels of the FFT. Common window functions include the Hamming, Blackman, and Kaiser windows, among others. Choosing an appropriate window function and applying it properly can help you achieve a good balance between frequency resolution and spectral leakage.
Regarding the presence of a peak at 0 Hz in the spectrum, it is possible that this peak is due to the baseline, DC offset, or bias in the signal caused by some extraneous factors such as instrument noise, bias voltage, or other disturbances. This peak can also be related to the displacement or other non-linear properties of the system being monitored, especially if it is a mechanical or vibrational system.
To resolve this issue, you may want to consider subtracting the baseline or DC offset from the signal before performing the PSD estimation, or use high-pass filtering or other techniques to remove the low frequency components. You may also want to investigate the properties and behavior of the system being monitored, including its input-output relationship, the effects of boundary conditions, and other factors that may contribute to the observed low-frequency peak in the spectrum.
with regards,
Gokul Nath S J
  3 Commenti
Mathieu NOE
Mathieu NOE il 26 Mag 2023
you could use detrend to remove dc offset and maybe also a linear drift (then use detrend with 'linear' option)
Oskar Kilgus
Oskar Kilgus il 30 Mag 2023
I tried to remove dc offset through subtracting the mean value of a signal, which did not work properly. I also thought about using detrend (tried it too), but that feels rather false for a oscillating system, right?

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by