Code covered by the BSD License  

Highlights from
Noise variance estimation

5.0

5.0 | 1 rating Rate this file 52 Downloads (last 30 days) File Size: 2.28 KB File ID: #25645
image thumbnail

Noise variance estimation

by Damien Garcia

 

23 Oct 2009 (Updated 10 Jun 2010)

EVAR estimates the noise variance from 1-D to N-D data

| Watch this File

File Information
Description

Suppose that you have a signal Y (Y can be a time series, a parametric surface or a volumetric data series) corrupted by a Gaussian noise with unknown variance. It is often of interest to know more about this variance. EVAR(Y) thus returns an estimated variance of the additive noise.

EVAR provides better results if the original function (i.e. the function without noise) is relatively smooth i.e. has continuous derivatives up to some order. Several tests, however, showed that EVAR works well even with multiple discontinuities.

Note: EVAR only works with evenly-gridded data in one and higher dimensions. See also ESTIMATENOISE (file #16683)

Here are two examples:

%-- Let us estimate the noise variance from a corrupt signal --
% First create a time signal
t = linspace(0,100,1e6);
y = cos(t/10)+(t/50);
% Make this signal corrupted by a Gaussian noise of variance 0.02
var0 = 0.02; % noise variance
yn = y + sqrt(var0)*randn(size(y));
% Now estimate the variance with EVAR and compare with the "true" value
evar(yn)

%-- Let us estimate now the noise variance from volumetric data --
% Create a volume array
[x,y,z] = meshgrid(-2:.2:2,-2:.2:2,-2:.2:2);
f = x.*exp(-x.^2-y.^2-z.^2);
% Make these data corrupted by a Gaussian noise of variance 0.5
var0 = 0.5; % noise variance
fn = f + sqrt(var0)*randn(size(f));
% Estimate the variance with EVAR and compare with the "true" value
evar(fn)

------
Several tests are also given in:
http://www.biomecardio.com/matlab/evar.html
-----

Acknowledgements

The author wishes to acknowledge the following in the creation of this submission:
Estimatenoise

MATLAB release MATLAB 7.5 (R2007b)
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Comments and Ratings (1)
06 Dec 2009 John D'Errico  
Please login to add a comment or rating.
Updates
29 Oct 2009

A better description

04 Dec 2009

optimset options have been modified

17 Mar 2010

The upper and lower bounds for FMINBND are calculated according to the tensor rank of the input array

10 Jun 2010

A minor improvement

Tag Activity for this File
Tag Applied By Date/Time
signal processing Damien Garcia 26 Oct 2009 10:21:38
statistics Damien Garcia 26 Oct 2009 10:21:38
signal processing Yuko 18 Mar 2010 04:33:39
statistics Yuko 18 Mar 2010 04:33:42
signal processing Vincent 09 Apr 2010 10:12:27
statistics Vincent 09 Apr 2010 10:12:30

Contact us at files@mathworks.com