wpbmpen

Оштрафованный порог для пакетного шумоподавления вейвлета

Синтаксис

THR = wpbmpen(T,SIGMA,ALPHA)
wpbmpen(T,SIGMA,ALPHA,ARG)

Описание

THR = wpbmpen(T,SIGMA,ALPHA) возвращает глобальный порог THR для шумоподавления. THR получен пакетным содействующим правилом выбора вейвлета с помощью метода пенализации, предоставленного Birgé-Massart.

T пакетное соответствие дерева вейвлета пакетному разложению вейвлета сигнала или изображения, чтобы быть denoised.

SIGMA стандартное отклонение нулевого среднего Гауссова белого шума в модели шумоподавления (см. wnoisest для получения дополнительной информации.

ALPHA настраивающийся параметр для термина штрафа. Это должно быть вещественное число, больше, чем 1. Разреженность пакетного представления вейвлета сигнала denoised или изображения растет с ALPHA. Обычно ALPHA = 2.

THR минимизирует оштрафованный критерий, данный

позвольте t* быть минимизатором

crit(t) = -sum(c(k)^2,k≤t) + 2*SIGMA^2*t*(ALPHA + log(n/t)) 

где c(k) пакетные коэффициенты вейвлета, отсортированные в порядке убывания их абсолютного значения и n количество коэффициентов, затем THR = | c (t*) |.

wpbmpen(T,SIGMA,ALPHA,ARG) вычисляет глобальный порог и, кроме того, строит три кривые:

  • 2*SIGMA^2*t*(ALPHA + log(n/t))

  • sum(c(k)^2,k£t)

  • crit(t)

Примеры

% Example 1: Signal denoising.
% Load noisy chirp signal.
load noischir; x = noischir;

% Perform a wavelet packet decomposition of the signal
% at level 5 using sym6.
wname = 'sym6'; lev = 5;
tree = wpdec(x,lev,wname);

% Estimate the noise standard deviation from the
% detail coefficients at level 1,
% corresponding to the node index 2.
det1 = wpcoef(tree,2);
sigma = median(abs(det1))/0.6745;

% Use wpbmpen for selecting global threshold  
% for signal denoising, using the recommended parameter.
alpha = 2;
thr = wpbmpen(tree,sigma,alpha)

thr =

    4.5740


% Use wpdencmp for denoising the signal using the above
% threshold with soft thresholding and keeping the 
% approximation.
keepapp = 1;
xd = wpdencmp(tree,'s','nobest',thr,keepapp);

% Plot original and denoised signals.
figure(1)
subplot(211), plot(x),
title('Original signal')
subplot(212), plot(xd)
title('De-noised signal')

% Example 2: Image denoising.
% Load original image.
load noiswom; 
nbc = size(map,1);

% Perform a wavelet packet decomposition of the image
% at level 3 using coif2.
wname = 'coif2'; lev = 3;
tree = wpdec2(X,lev,wname);
      
% Estimate the noise standard deviation from the
% detail coefficients at level 1.
det1 = [wpcoef(tree,2) wpcoef(tree,3) wpcoef(tree,4)];
sigma = median(abs(det1(:)))/0.6745;

% Use wpbmpen for selecting global threshold  
% for image denoising.
alpha = 1.1;
thr = wpbmpen(tree,sigma,alpha)

thr =

   38.5125


% Use wpdencmp for denoising the image using the above
% thresholds with soft thresholding and keeping the
% approximation.
keepapp = 1;
xd = wpdencmp(tree,'s','nobest',thr,keepapp);

% Plot original and denoised images.
figure(2)
colormap(pink(nbc));
subplot(221), image(wcodemat(X,nbc))
title('Original image')
subplot(222), image(wcodemat(xd,nbc))
title('De-noised image')

Смотрите также

| | | |

Представлено до R2006a