Below are our test signals.
The image below is from my paper on CMP with time-frequency dictionaries. Here we can compare for the test signals above the performance of several decomposition algorithms with respect to residual energy decay.
The dictionary involved has modulated Gaussian windows with scales = [1 4 8 16 32 64 128 256 512] and hops = [1 2 2 4 8 16 32 64 128], respectively.
Running the same decompositions (with the same dictionary) with our implementation of CMP in MPTK, however, produces the following residual energy decays. The \(l\) parameter is the number of refinement cycles between each model augmentation. When \(l=0\) we have MP — which these plots show is ok. However, we see a disturbing increase in residual energy for Bimodal. When properly implemented, CMP should never increase the residual energy in any augmentation or refinement step. Furthermore, I expect in general the \(l=1\) line to be closest to the performance of MP; and the \(l=10\) to be furthest. We do not see that here. (At least the MP decays match those above.)
I am running these same tests using my CMP MATLAB implementation. (The results from my Asilomar 2010 paper above only use \(l=10\).) But these simulations are taking forever! (I see when \(l=1\), CMP converges to a residual energy of -60 dB at iteration 54.) Even if it is wrong, CMPTK runs much faster.
Tomorrow will be spent debugging.