我有一个4×4矩阵,其我要分解成4个频带(LL,HL,LH,HH,其中L =低,H =高)通过使用单级的Daubechies-4小波变换。作为该变换的结果,每个带应该包含2×2的系数。我怎样才能在MATLAB做到这一点?我知道,MATLAB有dbauxdbwavf功能。但是,我不知道如何使用他们,我也没有小波工具箱。

任何帮助不胜感激。

感谢。

有帮助吗?

解决方案

您是否尝试过这个?

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

其他提示

我觉得伊万Selesnick的小波软件包推动所有正确的按钮,供您。它涵盖了可分离1D,2D和3D的情况下......都matlab实现和教程!它不需要小波工具箱,但它可能需要信号处理工具箱(不知道图像处理工具箱)。它也提供了代码为更先进的小波变换,所以甚至可以探索替代技术。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top