Anda di halaman 1dari 5

[signal processing]

January 18, 2012

MOVING AVERAGE (MA) FILTER

Moving Average filter (MA) bekerja dengan cara mereratakan sejumlah titik tertentu dari isyarat input untuk menghasilkan tiap titik dari isyarat output. MA dirumuskan dengan = 1 +

MA merupakan jenis filter yang sederhana dan berguna untuk menapis derau acak yang terdapat pada isyarat asli. Misalkan x(t) menunjukkan input sedangkan y(t) menunjukkan output sedangkan M merupakan panjang dari MA. Lalu kita buat dua versi dari pengoperasian MA, yakni: One side averaging (mererata pada satu sisi) Agar lebih mudah memahami, kita pelajari contoh berikut saja dengan M=5: 3 + 4 + 5 + 5 6 + 7

3 =

Sehingga penjumlahan dimulai dari j=0 sampai M-1.

Symmetrical averaging (mererata secara simetris) Begitu juga untuk bagian ini kita pelajari contoh berikut dengan M=5: 1 + 2 + 3 + 5 4 + 5

3 =

Pada bagian ini, rentang penjumlahan diubah menjadi

sampai

Jika diperhatikan bahwasanya MA ini merupakan konvolusi antara isyarat input dengan sebuah kernel filter berbentuk pulsa kotak dengan amplitudo satu. Sementara pengali skalar 1/M dikeluarkan saja karena hanya sebuah skalar. Biasanya symmetrical averaging lebih sering digunakan dibanding yang lain. Bila menggunakan jenis ini perlu diingat bahwa nilai M harus ganjil.

[janshendry@gmail.com{EE&IT of UGM, Indonesia}]

Page 1

[signal processing]

January 18, 2012 Sebelumnya telah diutarakan bahwa MA bagus untuk menapis derau acak yang hadir pada isyarat masukan. Memang masih banyak jenis filter lain yang bisa digunakan untuk tujuan yang sama, tapi bila ditinjau dari kesederhanaan maka pilihan terjatuh pada MA. Jenis filter lain mengusung kompleksitas sehingga jumlah komputasi bersifat linier yang artinya semakin banyak. Semua tergantung pada seorang disainer filter apakah cukup dengan menggunakan MA atau perlu jenis filter yang lebih mumpuni. Tentu pertimbangannya bukan hanya terkait dengan jumlah komputasi saja.

Filter MA dikatakan cocok untuk derau acak karena ketika sebuah isyarat dikenai atau mengandung derau acak maka setiap titik pada isyarat menjadi derau bila dibandingkan dengan titik-titik tetangganya. Oleh karena itu kita perlu menggunakan filter yang bisa mengolah titik bukan hanya per-titik saja melainkan bersama-sama dengan tetangganya. Sehingga semua titik akan diperlakukan sama oleh filter tersebut. Dengan demikian kita mendapatkan hasil yang dapat dipercaya.

Sebagai contoh, saya akan menghadirkan isyarat kotak (rectangular) yang telah dikenai isyarat acak. Filter yang akan digunakan adalah MA symmetrical averaging. Program dalam matlab:

clear all; close all; clc; %% isyarat masukan % isyarat kotak M=503; data=[zeros(1,1000),4*ones(1,3000),zeros(1,1000)]; % isyarat sinusoid % t=0:1/1000:2*pi; % data=sin(t); % derau random additive dan output derau= 2*rand(1,length(data))-1; y=data+derau; plot(y,'k'); xlabel('Samples'); ylabel('Amplitude'); title('Isyara Input (asli+derau acak)');

[janshendry@gmail.com{EE&IT of UGM, Indonesia}]

Page 2

[signal processing]

January 18, 2012

figure, buff=zeros(1,length(data)); for i=(M-1)/2+1:length(data)-(M-1)/2 buff(i)=0; for k=-(M-1)/2:(M-1)/2 buff(i)=buff(i)+y(i+k); end buff(i)=buff(i)/M; end plot(buff,'k'); xlabel('Samples'); ylabel('Amplitude'); title(['Output filter untuk M = ',num2str(M)]);

isyarat aslinya yang telah dikenai derau acak adalah:

Hasil pengolahan menggunakan filter MA untuk nilai M yang berbeda-beda:

[janshendry@gmail.com{EE&IT of UGM, Indonesia}]

Page 3

[signal processing]

January 18, 2012

Semakin besar panjang filter MA tampak semakin baik dalam menghilangkan derau. Namun bukan berarti nilai M tersebut harus seperti itu, tergantung dengan disainer filter apakah sudah mencukupi syarat yang diinginkan pada output nya apa belum. Berdasarkan gambar di atas tampak bahwa derau acak pada isyarat asli berhasil ditapis dengan tetap mempertahankan ketajaman dari isyarat pulsa kotak (rectangular) tersebut. Filter MA juga digunakan sebagai smoothing filter pada kawasan waktu, namun bila digunakan pada kawasan frekuensi sebagai lowpass filter hasilnya tidak bagus. Frekuensi response:
%% frekuensi response warna=['r','b','k','g','m','y']; idx=1; figure, M=[3,11,51,103,303,503]; for k=M b=repmat(1/k,1,k); a=1; [h,w]=freqz(b,a); h=abs(h);

[janshendry@gmail.com{EE&IT of UGM, Indonesia}]

Page 4

[signal processing]

January 18, 2012


w=w/max(w); plot(w,h,warna(idx)); idx=idx+1; hold on; end legend('M=3','M=11','M=51','M=103','M=303','M=503'); xlabel('Frekuensi ternormalisasi'); ylabel('Magnitude'); title('Frequency response dari filter MA untuk M variatif'); hold off;

hasil eksekusi dari program di atas adalah

@ trims Sources:
The scientist and Engineers Guide to Digital Signal Processing 2ed. Steven W. Smith. California tech pub. http://gaussianwaves.blogspot.com/2010/11/moving-average-filter-ma-filter.html

[janshendry@gmail.com{EE&IT of UGM, Indonesia}]

Page 5

Anda mungkin juga menyukai