Дискретный вейвлет

Программное обеспечение Wavelet Toolbox™ позволяет вам анализировать сигналы, изображения и 3-D данные с помощью ортогонального и биортогонального критически выбранного дискретного вейвлет. Критически выбранный дискретный вейвлет также известен как децимированный дискретный вейвлет. Децимированный дискретный вейвлет наиболее подходит для сжатия данных, шумоподавления и разреженного представления определенных классов сигналов и изображений.

При децимированном дискретном вейвлет шкалы и переводы являются диадическими.

Можно выполнить 1-D, 2-D и 3-D децимированный дискретный вейвлет с помощью интерактивного инструмента путем ввода waveletAnalyzer в командной строке и нажатием кнопки Wavelet 1-D, Wavelet 2-D или Wavelet 3-D.

1-D Вейвлет Шумоподавления

Этот пример показывает, как деноцировать сигнал с помощью дискретного вейвлет.

Создайте опорный сигнал.

len = 2^11;
h = [4  -5  3  -4  5  -4.2   2.1   4.3  -3.1   5.1  -4.2];
t = [0.1  0.13  0.15  0.23  0.25  0.40  0.44  0.65  0.76  0.78  0.81];
h  = abs(h);
w  = 0.01*[0.5 0.5 0.6 1 1 3 1 1 0.5 0.8 0.5];
tt = linspace(0,1,len);
xref = zeros(1,len);
for j=1:11
    xref = xref+(h(j)./(1+((tt-t(j))/w(j)).^4));
end

Добавьте средний белый Гауссов шум с отклонением 0,25.

rng default
x = xref + 0.5*randn(size(xref));
plot(x)
axis tight

Figure contains an axes. The axes contains an object of type line.

Денуризируйте сигнал до уровня 3, используя Daubechies наименее асимметричный вейвлет с 4 моментами исчезновения. Используйте универсальное правило выбора порога Донохо и Джонстона с мягким порогом на основе коэффициентов DWT на уровне 1. Используйте режим расширения сигнала периодизации - dwtmode('per'). Постройте график результата вместе с опорным сигналом для сравнения.

origmode = dwtmode('status','nodisplay');
dwtmode('per','nodisplay')
xd = wdenoise(x,3,'Wavelet','sym4',...
    'DenoisingMethod','UniversalThreshold','NoiseEstimate','LevelIndependent');
plot(xd)
axis tight
hold on
plot(xref,'r')
legend('Denoised','Reference')

Figure contains an axes. The axes contains 2 objects of type line. These objects represent Denoised, Reference.

Восстановите исходный режим расширения.

dwtmode(origmode,'nodisplay')

2-D децимированный дискретный вейвлет

В этом примере показано, как получить 2-D DWT входного изображения.

Загрузите и отобразите изображение. Изображение состоит из вертикальных, горизонтальных и диагональных шаблонов.

load tartan;
imagesc(X); colormap(gray);

Figure contains an axes. The axes contains an object of type image.

Получите 2-D DWT на уровне 1 с помощью биортогональных B-сплайн вейвлет и масштабирующих фильтров с 2 моментами исчезновения в фильтрах анализа и 4 моментами исчезновения в фильтрах синтеза. Извлеките горизонтальные, вертикальные и диагональные коэффициенты вейвлета и коэффициенты приближения. Отображение результатов.

[C,S] = wavedec2(X,1,'bior2.4');
[H,V,D] = detcoef2('all',C,S,1);
A = appcoef2(C,S,'bior2.4');
subplot(221);
imagesc(A); title('Approximation Level 1');
colormap(gray);
subplot(222);
imagesc(H); title('Horizontal Details');
subplot(223);
imagesc(V); title('Vertical Details');
subplot(224);
imagesc(D); title('Diagonal Details');

Figure contains 4 axes. Axes 1 with title Approximation Level 1 contains an object of type image. Axes 2 with title Horizontal Details contains an object of type image. Axes 3 with title Vertical Details contains an object of type image. Axes 4 with title Diagonal Details contains an object of type image.

Вы видите, что детали вейвлета чувствительны к конкретным ориентациям на входном изображении. Коэффициенты приближения являются lowpass приближения к оригинальному изображению.

Неразрешенный дискретный вейвлет

Этот пример показывает, как получить неразрешенное (стационарное) вейвлет шумного частотно-модулированного сигнала.

Загрузите шумный доплеровский сигнал и получите стационарное вейвлет до уровня 4.

load noisdopp
swc = swt(noisdopp,4,'sym8');

Постройте график исходного сигнала и коэффициентов вейвлета уровня 1 и 3. Постройте график приближения уровня 4.

subplot(4,1,1)
plot(noisdopp)
subplot(4,1,2)
plot(swc(1,:))
ylabel('D1')
set(gca,'ytick',[])
subplot(4,1,3)
plot(swc(3,:))
ylabel('D3')
set(gca,'ytick',[])
subplot(4,1,4)
plot(swc(5,:))
ylabel('A4')
set(gca,'ytick',[])

Figure contains 4 axes. Axes 1 contains an object of type line. Axes 2 contains an object of type line. Axes 3 contains an object of type line. Axes 4 contains an object of type line.

Вейвлет и коэффициенты приближения на каждом уровне равны по длине входному сигналу. Аддитивный шум почти полностью локализован в коэффициентах детализации первого уровня. Коэффициенты детализации уровня 3 захватывают высокочастотные колебания в начале сигнала Доплера. Коэффициенты приближения уровня 4 являются lowpass приближения с Доплеровским сигналом.

Получите 2-D неразрешенное вейвлет изображения. Используйте Daubechies наименее асимметричный вейвлет, sym4, и получить мультирезолюционный анализ до уровня 3. Загрузите изображение. Использование wcodemat чтобы масштабировать матрицу для отображения.

load tartan
nbcol = size(map,1);
cod_X = wcodemat(X,nbcol);

Получите неразрешенный мультирезолюционный анализ до уровня 3.

[ca,chd,cvd,cdd] = swt2(X,3,'sym4');

Отобразите оригинальное изображение и коэффициенты приближения и детализации на каждом уровне.

figure
subplot(2,2,1)
image(cod_X)
title('Original Image')
colormap(map)

for k = 1:3
    cod_ca  = wcodemat(ca(:,:,k),nbcol);
    cod_chd = wcodemat(chd(:,:,k),nbcol);
    cod_cvd = wcodemat(cvd(:,:,k),nbcol);
    cod_cdd = wcodemat(cdd(:,:,k),nbcol);
    decl = [cod_ca,cod_chd;cod_cvd,cod_cdd];
    
    subplot(2,2,k+1)
    image(decl)
    
    title(['SWT: Approx. ', ...
        'and Det. Coefs (Lev. ',num2str(k),')'])
    colormap(gray)
end

Figure contains 4 axes. Axes 1 with title Original Image contains an object of type image. Axes 2 with title SWT: Approx. and Det. Coefs (Lev. 1) contains an object of type image. Axes 3 with title SWT: Approx. and Det. Coefs (Lev. 2) contains an object of type image. Axes 4 with title SWT: Approx. and Det. Coefs (Lev. 3) contains an object of type image.

См. также

| | | | | | | |