Home My Page Projects MPTK: The Matching Pursuit ToolKit
Summary Activity Forums Tracker Lists Docs News SCM Files

Forum: help

Monitor Forum | Start New Thread Start New Thread
RE: Time-frequency maps using mpview [ Reply ]
By: Supratim Ray on 2008-07-29 20:28
Dear Remi,

Thanks to the change in the code you described in the previous post, I am able to get the pseudo WV representation. I am facing some problems though. I understand that the code is still the alpha stage and has low priority, but I thought I would at least mention them here so that they can be sorted out in later versions.

1. Works only for windowOpt = 0.02. I noticed that the time-frequency reconstruction does not depend on the window opt parameter, even though the signal shape obviously does. Perhaps this is because the theGaussianSigma2 variable used in the WV computation is hardcoded to 0.02?

2. Not equivalent to the real Gabor decomposition: For real atoms, there are two WV Gaussians per atom (equation 58, M&Z). This amounts to spectral overlapping similar to the temporal periodization for atoms with small scales but very high or very low center frequencies. You seem to be ignoring the second term altogether.

3. Normalization: The normalization issue comes up again. The energy distribution does not integrate to the signal energy.

4. Ignores delta functions. This can be easily fixed though.


I noticed that some of the problems I mentioned in my previous email/messages can be easily fixed. For example, by taking windowOpt = 1/(32*pi) ~ 0.01, we can make sure that the atoms are almost zero outside the FFT range. The completeness issue remains (corners at biased against long scale atoms), but can be addressed by taking a longer segment and analyzing only the middle portion. I am still concerned about the normalization issue though. Inner product * atom_norm must decrease monotonically for the real matching pursuit (equation 55, M&Z). It is probably affecting the mpview energy representation also.


RE: Time-frequency maps using mpview [ Reply ]
By: RĂ©mi Gribonval on 2008-07-16 08:55
Hi Supratim,

To begin with let me recall that MPTK code for time-frequency representations is still an alpha version. The priority is currently low to work on it, but any contribution is welcome! Note that in version 0.5.5 and experimental Matlab interface bookedit_exp is provided to display and edit time-frequency representations of books.

Back to mpview now. Generally speaking, there are two time-frequency display modes:
-one which uniformly fills 'rectangles' with a constant value (depending on the atom amp)
-the other which attempts to fill it with the (pseudo) Wigner-Ville representation.

However, as I just realized, the code (mpview.cpp) of the mpview function currently disables the second mode. You can circumvent this by removing the comment on the line
// if ( book->add_to_tfmap( tfmap, MP_TFMAP_PSEUDO_WIGNER, NULL ) == 0 ) {
and commenting the next line.
A cleaner fix, which I have just implemented and will be available in the next release, is to define a new option to the mpview command to dynamically choose the mode.

The second problem is the one you noticed: the pseudoWV distribution is not obvious unless you have a Gaussian Gabor atom, in which case it is a 2D Gaussian. What the code currently does is always display the 2D Gaussian.

Best regards,


RE: Time-frequency maps using mpview [ Reply ]
By: Supratim Ray on 2008-07-15 14:11
Hi again,

Looking into the code in more detail, I realized that the time-frequency distribution of energy WITHIN the spectro-temporal support of the atom may not be obvious unless the window is gaussian (in which case it becomes a 2D Gaussian). Is this why the energy is uniformly distributed (rectangular windows) within the window? If yes, do you have any code to compute the Wigner-Ville distribution of gabor atoms (following Mallat and Zhang)?

Thank you,

Time-frequency maps using mpview [ Reply ]
By: Supratim Ray on 2008-07-14 23:06
Dear MPTK administrators,

I tried to reconstruct the time-frequency map of a test signal using mpview assuming that it will generate the Wigner-Ville distribution of the signal, as defined in equation 58 of Mallat and Zhang, 1993. But the results I'm getting are very different. It appears that this command assigns a constant value over the spectro-temporal support of signal, and then scales it by the magnitude of the inner product. As a result, I get a perfectly rectangular box in the time-frequency domain rather than a 2D Gaussian as expected from the WV distribution. Could you please tell me what mpview is doing? Perhaps there is an error in the way I'm compiling/reading the file?

Thanks in advance.