wdcbm

Пороги для вейвлет- 1-D с использованием стратегии Бирже-Массарта

Синтаксис

[THR,NKEEP] = wdcbm(C,L,ALPHA,M)
wdcbm(C,L,ALPHA)
wdcbm(C,L,ALPHA,L(1))

Описание

[THR,NKEEP] = wdcbm(C,L,ALPHA,M) возвращает зависящие от уровня пороги THR и количества коэффициентов, подлежащих сохранению NKEEP, для шумоподавления или сжатия. THR получен с использованием правила выбора коэффициентов вейвлета на основе стратегии Бирже-Массара.

[C,L] - структура разложения вейвлет сигнала, подлежащего деноизации или сжатию, на уровне j = length(L)-2. ALPHA и M должны быть вещественными числами больше 1.

THR является вектором длины j; THR(i) содержит порог для уровня i.

NKEEP является вектором длины j; NKEEP(i) содержит количество коэффициентов, сохраняемых на уровне i.

j, M и ALPHA определить стратегию:

  • На уровне j + 1 (и более грубых уровнях) все сохранено.

  • Для уровня i от 1 до j, ni самые большие коэффициенты сохраняются с ni = / (j + 2-i)ALPHA.

Как правило ALPHA = 1,5 для сжатия и ALPHA = 3 для шумоподавления.

Значение по умолчанию для M является M = L(1), количество коэффициентов самого грубого приближения, поскольку предыдущая формула приводит для i = j + 1, к nj + 1 = M = L(1). Рекомендуемые значения для M являются от L(1) к 2 * L(1).

wdcbm(C,L,ALPHA) эквивалентно wdcbm(C,L,ALPHA,L(1)).

Примеры

% Load electrical signal and select a part of it.
load leleccum; indx = 2600:3100; 
x = leleccum(indx);

% Perform a wavelet decomposition of the signal
% at level 5 using db3.
wname = 'db3'; lev = 5;
[c,l] = wavedec(x,lev,wname);

% Use wdcbm for selecting level dependent thresholds  
% for signal compression using the adviced parameters.
alpha = 1.5; m = l(1);
[thr,nkeep] = wdcbm(c,l,alpha,m)

thr =
   19.5569   17.1415   20.2599   42.8959   15.0049

nkeep =
     1     2     3     4     7

% Use wdencmp for compressing the signal using the above
% thresholds with hard thresholding.
[xd,cxd,lxd,perf0,perfl2] = ...
                  wdencmp('lvd',c,l,wname,lev,thr,'h');

% Plot original and compressed signals.
subplot(211), plot(indx,x), title('Original signal');
subplot(212), plot(indx,xd), title('Compressed signal');
xlab1 = ['2-norm rec.: ',num2str(perfl2)];
xlab2 = [' %  -- zero cfs: ',num2str(perf0), ' %'];
xlabel([xlab1 xlab2]);

Ссылки

Бирге, Л.; P. Massart (1997), «От выбора модели до адаптивной оценки», D. Pollard (ed), Festchrift for L. Le Cam, Springer, pp. 55-88.

См. также

| | |

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