Wavelet Decomposition: Difference in MODWT and MODWTMRA functions
6 views (last 30 days)
Show older comments
Referring to MATLAB example,
load GDPcomponents;
realgdpwt = modwt(realgdp,'db2',6,'reflection');
gdpmra = modwtmra(realgdpwt,'db2','reflection');
I am finding it difficult to fathom the need for Multi-resolution analysis (MRA) when MODWT yields (additive) details and approximation coefficients at desired levels. Also, the output of MRA has a look-ahead bias, which is undesirable, esp. for computing reliable boundary coefficients for prediction purposes.
0 Comments
Answers (1)
Wayne King
on 19 Jan 2017
Hi Rajat, MODWT and MODWTMRA are actually doing very different things. MODWT is providing the expansion coefficients while MODWTMRA is providing vector projections onto the various wavelet subspaces and final-level scaling space. I think you may be confused because in the case of the MODWT, there are as many expansion coefficients at each level as they are samples in the original data. But they are very different and as such they have very different properties and use cases.
For example, the MODWT coefficients are norm-preserving in the sense that if you add up the energy in the wavelet coefficients and the final-level scaling coefficients, you get back the same value as the energy (L2 norm squared) of the original signal. This is NOT true of the MRA. I'll illustrate this with the MATLAB var() command which works easily with matrices.
load noisdopp;
wt = modwt(noisdopp);
% Sum the variances at each level. There will be 10 wavelet subspaces and 1 final-level scaling space
% Remember these are the expansion coefficients
sum(var(wt,0,2))
% Compare with signal
var(noisdopp,0)
Note they are equal. So the MODWT expansion coefficients provide an analysis of variance of the data.
This will NOT be the case with the MODWTMRA, which are the PROJECTIONS (not expansion coefficients) onto the various subspaces.
However, if you sum the components in the MRA element by element, you get back the original time series. This property is NOT shared by the expansion coefficients (output of MODWT). Using the MODWT decomposition from above.
mra = modwtmra(wt);
xrec = sum(mra);
max(abs(xrec-noisdopp))
You get back the original signal exactly. If you try that with the MODWT coefficients, you will NOT get back the original data. The MRA has a zero-phase property in that features in the MRA are exactly lined-up with where they occur in the time series, this is why you can simply sum the components in the MRA and get back the original data. Again, not a property shared by the MODWT coefficients.
If you want to see the analogy with the critically-sampled DWT, MODWT provides the same thing as WAVEDEC, while MODWTMRA provides the same thing as WRCOEF.
Hope that helps, Wayne
0 Comments
See Also
Categories
Find more on Discrete Multiresolution Analysis in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!