I am trying to extract features from a nonstationary signal (frequencies and time locations). For this purpose, I computed a wavelet transform (complex morlet) of the signal in MATLAB and obtained the scalogram as follows:
Than I tried to decompose the scalogram matrix by SVD, in order to localize the peaks and the spreads of energy in the image. The problem is that every matrix obtained from the decomposition (one for every singular value) contains informations about more than one single atom (peak in the image). I've read many articles about rotating the SVD basis in order to decompose the original matrix in matrices connected each to a single atom, but I'm not able to apply it in practice. If we consider the standard SVD:
A=U*S*transpose(V)
a source in particular:
[Bashor & Kareem, Efficacy of Time-Frequency Domain System Identification Scheme Using Transformed Singular Value Decomposition]
talks about a new SVD given by:
A=Y*Z*transpose(X)
where Y, Z, and X are the transformed singular vector and singular value matrices, defined as:
Y=U*C;
X=V*D;
Z=transpose(C)*S*D;
and the trasformation matrices are found by:
E[Y]=transpose(C)*M*C
"where C are the eigenvectors of M that maximize the mean and M is a matrix of the singular vectors". My problem is to understand the mean of the latter sentence and to apply it in MATLAB. Please help me!