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.
Zitieren als
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. Abgerufen.
Kompatibilität der MATLAB-Version
Plattform-Kompatibilität
Windows macOS LinuxKategorien
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Live Editor erkunden
Erstellen Sie Skripte mit Code, Ausgabe und formatiertem Text in einem einzigen ausführbaren Dokument.
Version | Veröffentlicht | Versionshinweise | |
---|---|---|---|
1.0.0.0 | signal 'x' added to pack of files |