Reputation: 165
I am working with audio signal processing and need to perform a 3-Band DWT. I am trying to use the dwt
function in MATLAB to do this. However, after reading about this function I realized it only allows you to input two filters, a Hi and Low Band, but I need to input 3. Is there anyway I can do this? Thank you!
Upvotes: 0
Views: 1799
Reputation: 2519
How you are describing it is not how wavelets work. I think you should read the documentation/tutorials/background information more so that you understand what you are working with. Oli is correct - what happens for multilevel decomposition is that the detail and approximation are computed for each level, and then the filters are applied to the approximation (low band) to calculate the next level.
E.g:
sig1=audioread('myfilename');
[lev1_lo lev1_hi]=dwt(sig1(:,1),'haar');
[lev2_lo lev2_hi]=dwt(lev1_lo,'haar');
[lev3_lo lev3_hi]=dwt(lev2_lo,'haar');
%etc
You keep lev1_hi
, lev2_hi
, lev3_hi
and lev3_lo
for a 3-level decomposition. For your case, keep lev1_hi
, lev2_hi
and lev2_lo2
.
Upvotes: 0