Estimate noise of 1-D wavelet coefficients.
Syntax
STDC = wnoisest(C,L,S)
Description
STDC = wnoisest(C,L,S) returns estimates of detail coefficients standard deviation for levels contained in input vector S. [C,L] is the input wavelet decomposition structure (see wavedec).
The estimator used is Maximum Absolute Deviation / 0.6745, well suited for zero mean Gaussian white noise in de-noising one-dimensional models (see
thselect).
Examples
% Generate Gaussian white noise.
init = 2055415866; randn('seed',init);
x = randn(1,1000);
% Decompose x at level 2 using db3 wavelet.
[c,l] = wavedec(x,2,'db3');
% Estimate standard deviation of coefficients
% at each level 1 and 2.
% Since x is a Gaussian white noise with unit
% variance, estimates must be close to 1.
wnoisest(c,l,1:2)
ans =
1.0111 1.0763
% Now suppose that x contains 10 outliers.
ind = 50:50:500;
x(ind) = 100 * ones(size(ind));
% Decompose x at level 1 using db3 wavelet.
[ca,cd] = dwt(x,'db3');
% Ordinary estimate of cd standard deviation
% overestimates noise level.
std(cd)
ans =
8.0206
% Robust estimate of cd standard deviation
% remains close to 1 the noise level.
median(abs(cd))/0.6745
ans =
1.0540
Limitations
This procedure is well suited for Gaussian white noise.
See Also
thselect, wavedec, wden
References
D.L. Donoho, I.M. Johnstone (1994), "Ideal spatial adaptation by wavelet shrinkage," Biometrika, vol 81, pp. 425-455.
[ Previous | Help Desk | Next ]