我正在处理音频信号,需要执行3频段DWT。我正在尝试使用MATLAB中的dwt
函数来执行此操作。但是,在阅读了此功能后,我意识到它只允许您输入两个滤波器,即高频带和低频带,但是我需要输入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
。