MATLAB Answers

gaussian kernel smoothing, how to optimize parameter sigma?

20 views (last 30 days)
cyril
cyril on 5 May 2014
Answered: Junpeng Lao on 9 Oct 2015
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__])

Community Treasure Hunt

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

Start Hunting!