【问题标题】:Daubechies-4 Transform in MATLABMATLAB 中的 Daubechies-4 变换
【发布时间】:2011-02-08 01:10:49
【问题描述】:

我有一个 4x4 矩阵,我希望通过使用一级 Daubechies-4 小波变换将其分解为 4 个频带(LL、HL、LH、HH,其中 L=low,H=high)。作为变换的结果,每个频带应包含 2x2 系数。如何在 MATLAB 中做到这一点?我知道 MATLAB 有 dbauxdbwavf 函数。但是,我不确定如何使用它们,而且我也没有小波工具箱。

非常感谢任何帮助。

谢谢。

【问题讨论】:

    标签: matlab signals transform signal-processing wavelet


    【解决方案1】:

    我认为 Ivan Selesnick 的 wavelet software package 为您按下了所有正确的按钮。它涵盖了可分离的 1D、2D 和 3D 案例……包括 matlab 实现和教程!它不需要小波工具箱,但可能需要信号处理工具箱(不确定图像处理工具箱)。它还为更高级的小波变换提供代码,因此您甚至可以探索替代技术。

    【讨论】:

      【解决方案2】:

      你试过了吗?

      N = length(S);
      S = transpose(S);
      s1 = S(1:2:N-1) + sqrt(3)*S(2:2:N);
      d1 = S(2:2:N) - sqrt(3)/4*s1 - (sqrt(3)-2)/4*[s1(N/2) s1(1:N/2-1)];
      s2 = s1 - [d1(2:N/2) d1(1)];
      s = (sqrt(3)-1)/sqrt(2) * s2;
      d = (sqrt(3)+1)/sqrt(2) * d1;
      

      礼貌http://en.wikipedia.org/wiki/Daubechies_wavelet#Implementation

      【讨论】:

      • 是的 - 这是维基百科上提供的代码。我不确定 id 做什么(即我不明白) - 输入和输出是什么。它似乎是在向量上进行计算,而不是矩阵。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-28
      • 2017-04-06
      • 1970-01-01
      • 2016-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多