Professional Documents
Culture Documents
Dengan
Tampak bahwa dengan menggunakan Gaussian maka nilai bobot akan diberikan ditengah sebagai nilai terbesar sementara nilai tetangga menjadi lebih kecil. Hal ini membuat derau pada isyarat (signal) setelah dilewatkan gaussian akan memiliki derau yang amplitudonya menjadi lebih kecil. Istilahnya gaussian ini centered weighted dengan catatan nilai mean (rerata) adalah nol.
Ketika kita mengaplikasikan fungsi gaussian terhadap sebuah isyarat, maka kita menggunakan konvolusi, bila datanya berupa 1 dimensi maka konvolusi 1 dimensi dapat digunakan sebaliknya jika data berupa matriks maka gunakan konvolusi 2 dimensi. Gaussian pada dasarnya merupakan low-pass filter.
Page 1
[image processing]
Programnya adalah
clear all; close all; clc; %% buat data sebuah isyarat dengan derau % sinusiodal % t=-2*pi:1/1000:2*pi; % y=cos(t); % kotak y=[zeros(1,100),ones(1,100)]; plot(y,'g'); hold on; rnd=rand(1,length(y(101:200))); y(101:200)=y(101:200)+rnd; plot(y,'r-','LineWidth',2); hold on; %% gaussian 1 dimensi s=3; % standar deviasi x=9; % ukuran jendela jendela=(x-1)/2; m=0; % nilai rerata berada di origin X=-jendela:jendela; % gaussian dengan koefisien normalisasi koef=(1/sqrt(2*s*s*pi)); G=koef*exp(-((X-m).^2/(2*(s^2)))); sumG=sum(G(:)); if sumG~=0 G=G/sumG; end ress=conv(y,G,'same'); % ress=imfilter(y,G,'symmetric'); plot(ress,'b'); hold on; title('Curve Smoothing with Gaussian'); xlabel('x'); ylabel('Amplitude'); %% %% matlab toolbox h=fspecial('gaussian',[1 9],3); hasil=conv(y,h,'same'); % hasil=imfilter(y,h,'symmetric'); % plot(hasil,'k'); hold off; %% %% beda antara gaussian sendiri dengan toolbox disp('Bedanya : '); beda=ress-hasil; disp(sum(beda)); %%
Page 2
[image processing]
Dalam program di atas, anda bisa melakukan pengubahan terhadap nilai standar deviasi (s) dan juga panjang datanya. Anda akan melihat bahwa hasil filter akan berbeda-beda. Dengan demikian gaussian benar terbukti bisa melakukan smoothing terhadap kurva 1 dimensi.
Page 3