gaussian kernel smoothing, how to optimize parameter sigma?

Hi, my question is how to find an optimal standard deviation for the gaussian kernel filter smoothing?
too large, we are losing amplitude, too small, it can be still noisy
Are there standard methods to optimize this choice? on which metrics?
x= (0:0.1:7)';
y = sin(x);
y_=y + 0.3*randn(size(y)); %noisy signal
y__ = zeros(length(x), 3); % reconstructs
for i=1:length(x)
%test different gaussian sigmas
k = exp( -(x-repmat(x(i),length(x),1)).^2 / (2*.2^2) ) ;
y__(i,1) = k'*y_ / sum(k);
k = exp( -(x-repmat(x(i),length(x),1)).^2 / (2*.5^2) ) ;
y__(i,2) = k'*y_ / sum(k);
k = exp( -(x-repmat(x(i),length(x),1)).^2 / (2*.8^2) ) ;
y__(i,3) = k'*y_ / sum(k);
end
plot([y y_ y__])

Answers (1)

Asked:

on 5 May 2014

Answered:

on 9 Oct 2015

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!