Daubechies-4在MATLAB中变换

时间:2010-04-14 18:03:25

标签: matlab signals transform signal-processing wavelet

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

非常感谢任何帮助。

感谢。

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

你试过这个吗?

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