Jun 06

MPD ++

MPD ++ is a much faster version of Matching Pursuit Decomposition (MPD). MPD is a feature extraction tool. With some prior knowledge about the data, MPD can be used to extract some (specific) features of interest. The user can run MPD on the entire dataset to extract these features and then run detection/classification/regression algorithms on these features. MPD can be used as a dimensionality reduction algorithm to obtain a set of representative features that are relevant for the analysis. For example, if the goal is to find only the sinusoidal components with frequency ‘f ‘from a given signal, the user can setup MPD to extract only the sinusoidal components. However, the traditional algorithm experiences a bottleneck in the execution time when the dictionary size is large. MPD++ addresses this issue.

To utilize MPD++, users will need to set up data in the following way: : The current version of the MPD++ works on univariate data where the row/column represents the sample points. To run MPD++, first assign the basic parameter (or use the default settings) to run MPD and chose a dictionary type (default Sinusoidal Atoms). You can do this by following the instructions and making changes in MPDparameters.m file. To modify the settings that fit your application the best, you need some knowledge about the signal and some understanding on how the algorithm works. For decomposition, the signal has to be in the workspace and the variable should be changes to ‘x’. To run MPD++, execute MPD2plus.m.

For more details, please see the following paper: "Highly Scalable Matching Pursuit Signal Decomposition Algorithm,” Dan Christensen, Santanu Das, and Ashok N.Srivastava.

MPD ++ can be found here


Add New Comment