【问题标题】:Discrete Wavelet Transform in MATLABMATLAB 中的离散小波变换
【发布时间】:2013-07-20 17:13:13
【问题描述】:

我正在处理音频信号,需要执行 3-Band DWT。我正在尝试使用 MATLAB 中的 dwt 函数来执行此操作。然而,在阅读了这个功能后,我意识到它只允许你输入两个滤波器,一个高和低频段,但我需要输入 3。无论如何我可以这样做吗?谢谢!

【问题讨论】:

  • 递归应用?
  • 什么意思?我需要将音频分解为 3 个频段,一个低频段(近似值)和两个高频段(细节 1 和细节 2)。这意味着我需要输入三个过滤器集,其中dwt 只允许您输入2(Lo_DHi_D)。

标签: matlab audio signal-processing wavelet dwt


【解决方案1】:

您如何描述它不是小波如何工作。我认为您应该更多地阅读文档/教程/背景信息,以便了解您正在使用的内容。 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 进行 3 级分解。对于您的情况,请保留lev1_hilev2_hilev2_lo2

【讨论】:

  • 如果您希望在高频中获得更高的分辨率,可以使用一些变换来做到这一点,但在时域中您可能会更好。
  • 哦,好吧,我明白你对多级分解的意思。我可能仍然没有正确理解这一点,但我要问的不是将信号分解为多个级别。我指的是信号被分成 3 个分量的一个级别。
  • 我还没有听说过这样的 DWT - 也许它是新事物,但我认为您只是在寻找 2 级分解。
  • 我认为它相对较新,但有很多关于它的信息。但它不是 2 级分解。
  • 我明白了,有趣!我没有遇到过这个。这里有一些等式可以实现:ijns.femto.com.tw/…
猜你喜欢
  • 2016-05-11
  • 2018-10-20
  • 1970-01-01
  • 1970-01-01
  • 2016-02-18
  • 2012-10-30
  • 2015-11-28
  • 2011-06-30
  • 1970-01-01
相关资源
最近更新 更多