You are on page 1of 19

SIMULASI PERBANDINGAN ALGORITMA LMS DAN FDAF PADA ADAPTIVE NOISE CANCELLING

Oleh : Deni Ade Putra L2F005527

Latar Belakang
Seringkali sinyal informasi berupa suara dipengaruhi oleh

gangguan dari luar, salah satunya berupa noise.


Untuk mengatasi noise tersebut, diperlukan filter penekan

noise, salah satunya yaitu filter adaptif dengan algoritma LMS (Least Mean Square) dan FDAF (Frequency Domain Adaptive Filter).

Sistem Adaptif

Sistem adaptif merupakan suatu sistem yang mampu menyesuaikan dirinya terhadap perubahan yang terjadi di lingkungan sekitarnya, sehingga diharapkan akan mampu mengatasi perubahan akibat beragam gangguan. Setiap perubahan dari kondisi lingkungan akan selalu diikuti perubahan bobot dari tapis tersebut hingga diperoleh pendekatan derau sama dengan derau yang terdapat pada sinyal masukan Sistem adaptif kerap digunakan dalam bidang-bidang berikut ini: 1. Identification sistem 2. Prediksi 3. Inverse modelling 4. Interference canceling

Kapan saat menggunakan Sistem Adaptif?


Ketika karakteristik yang diberikan filter harus

berubah-ubah. Ketika spektrum noise overlap dengan spektrum sinyal informasi. Noise tidak diketahui berada pada band frekuensi yang mana?.

ALGORITMA LMS

LMS (Least Mean Square)

LMS bekerja dengan cara meminimalisir galat rataan kuadrat (mean squared error), yakni : 2 2 E [ ] rerat (( d y ) )
Jika computation cost meningkat maka impulse respon akan semakin panjang, berarti dalam kondisi seperti ini penggunaan algoritma LMS kurang menguntungkan.

Algoritma Filter LMS


Sumber Sinyal
s(k) d(k)=s(k)+x1(k)
+

+
-

e( k ) d ( k ) y ( k )

x(k)

Sumber Derau

x(k)

x0 (k )

Filter Adaptif

y (k )

LMS melakukan fungsi filter dalam ranah waktu (time domain)

Algoritma Filter LMS


Error sinyal

Gradien Noise

Weight Update

ALGORITMA FDAF
FDAF (frequency domain adaptive filter)
FDAF melakukan fungsi filter dalam ranah frekuensi (frequency domain)

Penggunaan algoritma dalam domain frekuensi, lebih efektif dalam proses komputasinya / impuls responnya lebih efisien

Algoritma Filter FDAF


d(n) = s(n) + y(n)

x(n)

Tapis Digital

(n)

e(n) = (n)

Algoritma Adaptif

Keterangan: X(n) = noise masukkan d(n) = sinyal s(n) + noise y(n) (n) = nilai noise pendekatan s(n)= sinyal informasi tanpa derau e(n) = estimasi error

Algoritma Filter FDAF

Weight Update

Browse suara (*.wav)


[FileName,PathName] = uigetfile({'*.wav'},'Load Wav File'); [x,Fs] = wavread ([PathName '/' FileName]); handles.x = x ./ max(abs(x)); handles.Fs = Fs; axes(handles.axes1); time = 0:1/Fs:(length(handles.x)-1)/Fs; plot(time, handles.x); title('Sinyal Suara')

Spektogram Suara
axis([0 max(time) -2 2]); axes(handles.axes2); specgram(handles.x, 1024, handles.Fs); title('Signal Spektogram Suara');

Noise

et = 1*sin(2*pi/handles.Fs*700000000*(1:length(handles.x))); eta = transpose (et); handles.eta = eta / max(abs(eta)); axes(handles.axes4); time = 0:1/handles.Fs:(length(handles.x)-1)/handles.Fs; plot(time, handles.eta); title('Noise 700MHz'); axis([0 max(time) -2 2]);

Sinyal Campuran
camp = handles.x+handles.eta; handles.q = camp / axes(handles.axes5); time = 0:1/handles.Fs:(length(handles.q)-1) /handles.Fs; plot(time, handles.q); axis([0 max(time) -1 1]);

max(abs(camp))

title('Suara Sumber + Noise');

Proses Filter LMS


D = 100; %Delay Sinyal L = 32; %Filter Length N = 32; %Block Length ntr = N*floor((length(handles.x)-D)/N); p = handles.q(1:ntr); o = handles.q(1+D:ntr+D); mu = 0.0001; %step size value leak = 1; % No leakage h = adaptfilt.blms(L,mu,leak,N); [y,e] = filter(h,p,o); handles.e=e / max (abs(e)); axes(handles.axes6); time = 0:1/handles.Fs:(length(handles.e)-1)/handles.Fs; plot(time, handles.e); axis([0 max(time) -1 1]); title('Sinyal Hasil Filter BLMS');

Proses Filter FDAF


mu = 0.025; W0 = zeros(1,2048); del = 0.01; lam = 0.98; handles.eta = handles.eta(1:length(W0)*floor(length(handles.eta)/length(W0))); handles.q = handles.q(1:length(W0)*floor(length(handles.q)/length(W0))); % Construct the Frequency-Domain Adaptive Filter hFDAF = adaptfilt.fdaf(2048,mu,1,del,lam); [y,e] = filter(hFDAF,handles.eta,handles.q); handles.er = e; axes(handles.axes8); time = 0:1/handles.Fs:(length(handles.er)-1)/handles.Fs; plot(time, handles.er); axis([0 max(time) -1 1]); title('Sinyal Hasil Filter FDAF');

Perbandingan Filter LMS & FDAF

Kesimpulan
Hasil Filteralisasi dengan menggunakan Algoritma FDAF

(frequency domain adaptive filter) lebih baik dari pada Algoritma LMS (block least mean square) dilihat dari Output system. Algoritma BLMS menghasilkan output dengan amplitudo yang relatif jauh lebih besar dari suara Informasi masukan, dalam hal ini berarti intensitas noise dalam output system masih banyak dari pada algoritma FDAF Penggunaan algoritma dalam domain frekuensi, lebih efektif dalam proses komputasinya / impuls responnya lebih efisien Jika computation cost meningkat maka impulse respon akan semakin panjang, berarti dalam kondisi seperti ini penggunaan algoritma LMS kurang menguntungkan.

You might also like