You can perform basic, orthogonal, and weak orthogonal matching pursuit using the Wavelet
Analyzer app. To access the Matching Pursuit 1-D, enter
waveletAnalyzer
at the MATLAB® command prompt.
Click Matching Pursuit 1-D.
To demonstrate the Matching Pursuit 1-D tool, select File —> Example —> Cusp signal.
In the upper left corner, you see the plot of the signal with the matching pursuit approximation superimposed.
Underneath the plot, you see the relative errors using the L1, L2, and L-infinity norms.
The maximum relative error in a given norm is
where || || denotes the specified norm, R is the residual vector at each iteration in the matching pursuit algorithm, and Y is the signal.
In the middle panel on the left is the plot of the final residual vector after the matching pursuit algorithm terminates.
The bottom left panel displays the percentage of retained signal energy (L2 norm) and the relative error percentages for the L1, L2, and L-infinity norms over the algorithm iterations.
In the top middle panel of the Matching Pursuit 1-D tool, you see the indices of the selected coefficients from the subdictionaries.
The left vertical axis shows the name of the subdictionary. The right vertical axis gives the ratio of selected vectors to the total number of vectors in the subdictionary. The location of the vertical bars along the horizontal axis gives the relative positions of the selected vectors in the subdictionaries.
More detailed information on selected components is available by clicking More on Components in the bottom right panel.
The bottom middle panel displays the superposition of selected vectors from the subdictionaries.
This
plot enables you to assess the relative contribution of the subdictionaries
to the signal approximation. In this example, you can see that the
cosine and DCT subdictionaries contribute significantly to the approximation
of the slowly-varying portions of the signal. The Daubechies least
asymmetric wavelet with 4 vanishing moments (sym4
)
enables the matching pursuit to sparsely represent the cusp around
index 700.
In the top right panel of the Matching Pursuit 1-D tool, you see the dictionary used in the analysis.
You have the ability to add or delete subdictionaries with Add Component and Del Component.
The next panel contains the algorithm stopping rules.
Max. Iterations — This controls the number of iterations of the greedy matching pursuit algorithm. The value is equal to the number of expansion coefficients (vectors) used in the approximation. The utility of matching pursuit is that you can approximate many real-world signals efficiently with far fewer vectors than needed to span the signal space.
Max Relative Error — Specifies
the stopping criterion based on the maximum relative error. Choose
one of None
, L2 norm
, L1
norm
, or Linf norm
.
The maximum relative error in a given norm is
where || || denotes the specified norm, R is the residual vector at each iteration in the matching pursuit algorithm, and Y is the signal.
In the next panel you select the algorithm used in the matching
pursuit. Choose one of Basic MP
for basic
matching pursuit, Orthogonal MP
for orthogonal
matching pursuit, and Weak MP
for weak
orthogonal matching pursuit. See Matching Pursuit Algorithms for a brief description of these
algorithms.
In the Display Parameters panel, you can control how the progress of the matching pursuit is displayed.
Select one of
Final Plot
— Plots
the result of matching pursuit only after the algorithm terminates.
Stepwise
— Updates
the result every N iterations where N is a positive integer. If you
select Stepwise
, the Display
every iterations item becomes visible. Select the number
of iterations from the drop down menu. You are prompted to step through
the algorithm with the Next or Final
Plot.
Movie
— Updates
the result every N iterations where N is a positive integer in a continuous
manner. If you select Movie
, the Display
every iterations item becomes visible. Select the number
of iterations from the drop down menu. Click Continue to
step through the algorithm as a movie, which continues until the algorithm
terminates. Click Pause to pause the algorithm,
or Final Plot to update only at the termination
of the algorithm.
After you obtain a matching pursuit of a signal, use
to obtain detailed interactive plots and information on the selected dictionary atoms and the final residual vector.
Click More on Components.
From the above figure, you can see that while the DCT and cosine subdictionaries contribute energy across the extent of the signal, the wavelet and wavelet packet contributions are localized at the cusp around sample 700. This result is expected because wavelets and wavelet packets excel at sparsely representing abrupt changes in a signal or image.
Change the Display to the Coefficients
view.
The Selection of Coefficients panel enables you to selectively sort and display contributions to the signal approximation by the various subdictionaries.
Under Selection parameters, choose By
Family
and sym4 — lev5
.
Click Select
From the preceding operation, you see that the wavelet packet contributes to the approximation of the cusp, but does not contribute significantly to the global approximation.
Choose dct
and click Select.
The DCT basis contributes significantly to the global approximation of the signal but the smooth DCT basis vectors are not able to sparsely represent the cusp.
Selecting More on Residuals on the Matching Pursuit 1-D tool allows you to examine the residual vector, a histogram of the residuals, a cumulative histogram, the estimated autocorrelation sequence, and the magnitude-squared discrete Fourier transform.
You can control which plots are displayed and the appearance of the histogram by the options in the right panel.
This example shows how to perform an interactive matching pursuit of electricity consumption data collected over a 24-hour period.
Load the electricity consumption signals in the workspace. Select the data for the 32nd day for further matching pursuit.
load elec35_nor;
x = signals(32,:);
To start the app, enter waveletAnalyzer
at the
MATLAB command prompt.
Click the Matching Pursuit 1-D tool.
Select File —> Import Signal from Workspace
Load x
.
Construct the following matching pursuit dictionary.
In the Algorithm Stopping Rules panel, set Max. Iterations to 30.
Select Orthogonal MP
to use
orthogonal matching pursuit.
Click Approximate.