我正在处理音频信号处理,需要执行3频段DWT。我试图在MATLAB中使用dwt
函数来执行此操作。然而,在阅读了这个功能后,我意识到它只允许你输入两个滤波器,一个Hi和Low Band,但是我需要输入3.无论如何我能做到吗?谢谢!
答案 0 :(得分:0)
你如何描述它不是小波的工作方式。我认为您应该更多地阅读文档/教程/背景信息,以便了解您正在使用的内容。 Oli是正确的 - 多级分解会发生的情况是,为每个级别计算细节和近似值,然后将滤波器应用于近似值(低频带)以计算下一级别。
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
您保留lev1_hi
,lev2_hi
,lev3_hi
和lev3_lo
进行3级分解。对于您的情况,请保留lev1_hi
,lev2_hi
和lev2_lo2
。