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