我正在处理音频信号,需要执行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_hilev2_hilev3_hilev3_lo进行三级分解。对于您的情况,请保留lev1_hilev2_hilev2_lo2

10-08 08:18