Welch's estimate of the Spectral Kurtosis
The spectral kurtosis (SK) is a fourth-order statistical tool which can indicate the presence of transients and their locations in the frequency domain by "decomposing" the kurtosis of a signal as function of frequency. As such, it helpfully supplements the classical power spectral density.
The matlab function SK_W.m provides the Welch's estimate of the SK.
The following example illustrates its usage for the detection of transients with theoretical spectral content in band [.15 .19]:
load x % synthetic signal provided in the pack
Nw = 2^8;
Nfft = 2*Nw;
Noverlap = round(3/4*Nw);
[SK,M4,M2,f] = SK_W(x,Nfft,Noverlap,Nw);
figure,newplot;
subplot(211),plot(f(1:Nfft/2),M2(1:Nfft/2)),grid on,
xlabel('normalized frequency'),xlim([f(1) f(Nfft/2)]),ylim([0 .1]),title('Power spectrum')
subplot(212),plot(f(1:Nfft/2),SK(1:Nfft/2)),grid on
xlabel('normalized frequency'),xlim([f(1) f(Nfft/2)]),title('Spectral Kurtosis')
As demonstrated in Ref. [2], the square root of the spectral kurtosis is related to the optimal filter (in the mean-square sense) that extracts the transients of interest. This is achieved as follows:
b = fftshift(real(ifft(SK)));
xf = fftfilt(b,x);
figure,newplot;
subplot(211),plot(x,'k'),title('Original signal')
subplot(212),plot(xf,'k'),title('Filtered signal with square root of spectral kurtosis')
References:
[1] J. Antoni, The spectral kurtosis: a useful tool for characterising nonstationary signals, Mechanical Systems and Signal Processing, Volume 20, Issue 2, 2006, pp.282-307.
[2] J. Antoni, R. B. Randall, The spectral kurtosis: application to the vibratory surveillance and diagnostics of rotating machines, Mechanical Systems and Signal Processing, Volume 20, Issue 2, 2006, pp.308-331.
Citation pour cette source
Jerome Antoni (2024). Welch's estimate of the Spectral Kurtosis (https://www.mathworks.com/matlabcentral/fileexchange/48914-welch-s-estimate-of-the-spectral-kurtosis), MATLAB Central File Exchange. Extrait(e) le .
Compatibilité avec les versions de MATLAB
Plateformes compatibles
Windows macOS LinuxCatégories
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Découvrir Live Editor
Créez des scripts avec du code, des résultats et du texte formaté dans un même document exécutable.
Version | Publié le | Notes de version | |
---|---|---|---|
1.0.0.0 | signal 'x' added to pack of files |