Given: Two spectrogram plots (spec1.png and spec2.png attached)
Looking for: A method to quantify the difference between the two spectrograms
Purpose: Fault detection and fault severity classification
Previously tried: Substracting the two spectrograms on a point by point basis using: (See specDifference.png)
[S1,F1,T1,S1] = spectrogram(y1,window, noverlap,2048, Fs, 'yaxis');
[S2,F2,T2,P2] = spectrogram(y2,window, noverlap,2048, Fs, 'yaxis');
surf(T2,F2,abs(abs(S1)-abs(S2)),'edgecolor','none'); axis tight; colormap(hot), view(0,90);
This specDifference.png plot allows differences between spectrograms to be visualized. The objective however is to quantify the difference in order to automate the data collection and analysis.
The rationale for using the spectrogram vs comparing the 2-D FFT or PSD plot and calculating the cross correlation or other metric is because this is a mechanism's open-closing event. Visualizing in 2D potentially hides frequency signatures at specific points in time which may serve as fault indicators. Additionally the goal is to quantitatively differentiate normal condition from varying degrees of degraded condition.