Daubechies-4 Transform в MATLAB - PullRequest
       16

Daubechies-4 Transform в MATLAB

1 голос
/ 14 апреля 2010

У меня есть матрица 4x4, которую я хочу разложить на 4 полосы частот (LL, HL, LH, HH, где L = низкий, H = высокий), используя одноуровневое вейвлет-преобразование Добеши-4. В результате преобразования каждая полоса должна содержать коэффициенты 2x2. Как я могу сделать это в MATLAB? Я знаю, что MATLAB имеет функции dbaux и dbwavf. Однако я не уверен, как их использовать, и у меня также нет набора инструментов вейвлета.

Любая помощь очень ценится.

Спасибо.

Ответы [ 2 ]

2 голосов
/ 18 апреля 2010

Я думаю, что пакет программного обеспечения Ивана Селесника нажимает все нужные вам кнопки. Он охватывает отдельные случаи 1D, 2D и 3D ... и реализацию Matlab, и учебник! Для этого не требуется набор инструментов Wavelet, но, вероятно, требуется набор инструментов для обработки сигналов (не уверен насчет набора инструментов для обработки изображений). Он также предоставляет код для более сложных вейвлет-преобразований, так что вы даже можете изучить альтернативные методы.

0 голосов
/ 14 апреля 2010

Вы пробовали это?

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

...