PERANDINGAN NLMS DAN RLS PADA ADAPTIVE NOISE CANCELLER MENGGUNAKAN LABVIEW Suryo Budiyanto1; Christopher Adam Pandawa2 Fakultas Ilmu Komputer, Jurusan Sistem Komputer, BINUS University Jalan K.H. Syahdan No. 9, Palmerah, Jakarta Barat 11480
[email protected]
ABSTRACT This undergraduate thesis is an analysis of digital signal processing, especially to adaptive filter application comparing NLMS & RLS to adaptive noise canceller using LabVIEW. In communication system, there are many unwanted signals. The unwanted signal, or noise, is the main cause of a corrupted signal in communication. To fix the problem, we use adaptive filter, that is a programmed digital filter to muffle noise automatically and usually implemented one or two adaptive algorithms inside. We use algorithm NLMS and RLS. The main purpose of this thesis is to describe different adaptive algorithm filter, especially NLMS and RLS algorithm, and to simulate the two algorithms in LabVIEW and compare them. Keywords: adaptive filter, LabVIEW, NLMS, online filtering, RLS, uniform white noise
ABSTRAK Skripsi ini merupakan analisa proses sinyal digital khususnya pada aplikasi filter adaptif dengan membandingkan NLMS & RLS pada adaptive noise canceller menggunakan LabVIEW. Pada sistem komunikasi, ada banyak sinyal yang tidak kita inginkan. Sinyal yang tidak kita inginkan ini, atau disebut noise, adalah penyebab utama rusak atau berubahnya sinyal dalam komunikasi. Untuk mengatasi masalah ini, kita menggunakan filter adaptif. Filter adaptif adalah filter digital yang sudah diprogram untuk meredam noise secara otomatis dan biasanya mengimplementasikan satu atau dua algoritma adaptif di dalamnya. Dalam hal ini kita menggunakan algoritma NLMS dan RLS. Tujuan utama skripsi ini adalah menjabarkan algoritma filter adaptif yang berbeda, terutama algoritma NLMS dan RLS, mensimulasikan kedua algoritma ini di LabVIEW dan membandingkannya. Kata kunci: filter adaptif, LabVIEW, NLMS, on-line filtering, RLS, uniform white noise
140
Jurnal Teknik Komputer Vol. 18 No. 2 Agustus 2008: 140 - 152
PENDAHULUAN Untuk membandingkan algoritma NLMS dan RLS, digunakan modul- modul pada LabVIEW dan struktur matematik filter adaptif. Algoritma adaptif dirancang menggunakan fungsi dan kontrol yang tersedia dalam LabVIEW. Diagram sistem NLMS dan RLS pada sistem adaptive noise canceller, dapat dilihat pada gambar 1 dan gambar 2.
Gambar 1 Blok diagram sistem NLMS
Gambar 2 Blok diagram sistem RLS
Pada sistem digunakan filter FIR sebagai struktur filter adaptif dapat dilihat pada gambar 3:
Perandingan NLMS dan... (Suryo Budiyanto; Christopher Adam Pandawa)
141
Gambar 3 Struktur filter FIR
Berdasarkan gambar diatas, w n didefinisikan sebagai vektor koefisien filter, u(n) adalah vektor filter state, dan y(n) adalah sinyal output. Kita dapat mendefinisikan vektor koefisien w n sebagai berikut: 1 …
(1.1)
Dengan filter state u(n) sebagai berikut: 1 …
1
(1.2)
Dan sinyal output y(n) sebagai berikut: .
(1.3)
Salah satu algoritma adaptif yang kita gunakan adalah NLMS. Normalized LMS (NLMS) adalah versi yang lebih baik dari LMS biasa. Pada algoritma LMS biasa, step size μ tidak bisa berubah seiring dengan waktu. Pada algoritma NLMS, step size μ(n) dinormalisasi terhadap squared Euclidean norm dari vektor filter state u(n) pada waktu n: (1.4) ε didefinisikan sebagai epsilon dimana nilainya sangat kecil. Pada sistem, kita mendefinisikan ε sama dengan 1. 10 . Normalized LMS (NLMS) versi yang lebih baik dari LMS biasa tetapi melakukan operasi yang sama seperti LMS biasa. Operasi yang dilakukan adalah sebagai berikut: 1. Memfilter sinyal input u n melalui koefisien filter w n untuk menghasilkan sinyal output y(n). 2. Menghitung sinyal error yang terjadi dengan persamaan: e n d n y n (1.5)
142
Jurnal Teknik Komputer Vol. 18 No. 2 Agustus 2008: 140 - 152
3. Perbarui koefisien filter dengan persamaan: w n 1 w n µ. e n . u n Dimana µ sebagaimana didefinisikan diatas.
(1.6)
Semua operasi diatas dimodelkan seperti yang terlihat pada gambar 4:
Gambar 4 Blok diagram algoritma NLMS
Algoritma adaptif lainnya yang kita gunakan adalah RLS. RLS singkatan dari Recursive Least Square. Filter adaptif RLS menggunakan algoritma recursive least square untuk memperbarui koefisien dari filter adaptif. Kecepatan konvergensi filter yang berbasis RLS jauh lebih cepat dari filter adaptif yang berbasis LMS. Operasi pada RLS adalah sebagai berikut: 1. Memfilter sinyal input u n melalui koefisien filter w n untuk menghasilkan sinyal output y(n). 2. Hitung sinyal error yang terjadi dengan persamaan: e n d n y n (1.7) 3. Perbarui secara iteratif vektor gain K n dengan persamaan: K n
P
. .P
. T
dimana λ adalah faktor pelupa (forgetting factor). 4. Perbarui koefisien filter dengan persamaan: w n 1 w n e n .K n 5. Perbarui vektor P(n) dengan persamaan: P n 1 P n K n . uT n . P n
(1.8)
(1.9) (1.10)
Semua operasi diatas dimodelkan seperti yang terlihat pada gambar 5:
Perandingan NLMS dan... (Suryo Budiyanto; Christopher Adam Pandawa)
143
Gambar 5. Blok B diagram algoritma a RLS SA
b diagram m untuk mem mperbarui vekktor P(n) pad da Gambar 6: Dan blok
Gambar 6. Blok B diagram algoritma a RLS SB
PE EMBAHA ASAN Penggujian Sisttem Untuk membandingk m kan algoritm ma NLMS dan d RLS dan juga meenguji perfo orma dan kehanndalan sistem m, dilakukann 5 fase penngujian sistem m. Fase 1 dan d 2 adalah yang paling g penting dalam m pengujian, jika sistem tidak t bisa meelalui fase in ni, maka itu berarti b bahwaa sitem ini gaagal. Fase Perttama dirancaang untuk menguji m apakaah filter dapat mem-filteer atau tidak.. Fase ini mengggunakan 2 jenis j sinyal yaitu sine pattern dan periodic p sincc pattern yanng disimulassikan dari
144
Jurna nal Teknik Kom mputer Vol. 18 1 No. 2 Agu ustus 2008: 140 1 - 152
komputer. Setiap pattern mempunyai amplitudo 1 dan 2000 sampel. Sistem beroperasi sebanyak 100 iterasi. Algoritma yang digunakan dalam fase ini adalah NLMS dan RLS, orde filter=128, µ=0.3 dan λ=0.98. Pada fase ini digunakan uniform white noise untuk mengkorupsi sinyal input. Hasil dari fase ini yaitu sebagai berikut: NLMS; Input: Sine pattern.
Gambar 7. Pemfilteran sine pattern yang terkorupsi menggunakan NLMS
RLS; Input: Sine pattern.
Gambar 8. Pem-filter-an sine pattern yang terkorupsi menggunakan RLS
NLMS; Input: Periodic Sinc Pattern
Perandingan NLMS dan... (Suryo Budiyanto; Christopher Adam Pandawa)
145
Gambar 9. Pem-filter-an periodic sinc pattern yang terkorupsi menggunakan NLMS
RLS; Input: Periodic Sinc Pattern
Gambar 9. Pem-filter-an periodic sinc pattern yang terkorupsi menggunakan RLS Tabel 1 RLS Sine Pattern MSE Error Level
NLMS
Periodic Sinc Pattern
Sine Pattern
Periodic Sinc Pattern
0.000217606
5.619E-05
0.02407931
0.01325631
0.00522075
0.00207661
0.190907
0.117558
Dari hasil di atas, kita mendapat error level dan juga MSE (Mean Square Error) yang kecil. Dari sini disetujui bahwa filter memenuhi syarat untuk fase kedua.
146
Jurnal Teknik Komputer Vol. 18 No. 2 Agustus 2008: 140 - 152
Fase Kedua juga dirancang untuk menguji apakah filter dapat mem-filter atau tidak, sekarang digunakan suara real time dari harmonika sebagai input dan digunakan microphone sebagai sensor suara. Pada fase ini, juga digunakan Uniform White Noise sebagai pengkorupsi sinyal input. Hasilnya sebagai berikut: NLMS; Input: Harmonika
Gambar 10 Pem-filter-an suara harmonika yang terkorupsi menggunakan NLMS
RLS; Input: Harmonika
Gambar 10 Pem-filter-an suara harmonika yang terkorupsi menggunakan RLS Tabel 2 RLS
NLMS "DO"
MSE Error Level
0.00000005555054
0.000001400611
0.0000304574
0.00068267
Seperti fase sebelumnya, pada fase ini, juga didapat error level dan juga MSE yang kecil. Sistem memenuhi syarat untuk fase ketiga.
Perandingan NLMS dan... (Suryo Budiyanto; Christopher Adam Pandawa)
147
Fase Ketiga dirancang untuk menguji utilisasi atau beban komputer dan orde filter. Pada fase ini, akan diuji orde filter untuk memperoleh data berapa lama waktu yang dibutuhkan sistem untuk menyelesaikan 100 iterasi. Hasilnya sebagai berikut (Tabel 3): Tabel 3 Order 64 128 256 512 1024
NLMS 10.75s 11.5469s 11.9844s 13.0937s 14.4375s
RLS 16.5937s 33.1875s 156.828s 600.120s 2303.8s
Time(s)
2500 2000 1500
NLMS
1000
RLS
μ = 0.3 λ = 0.98
500 0 64
128
256
512
1024
Orde
Gambar 10 Perbandingan waktu iterasi NLMS & RLS
Dari hasil di atas, dapat dilihat bahwa RLS membutuhkan waktu lebih banyak untuk menyelesaikan 100 iterasi dibandingkan NLMS. Pada kasus ekstrimnya, RLS membutuhkan waktu yang sangat besar untuk menyelesaikan 100 iterasi ketika orde filter = 1024. Dari sini diketahui bahwa RLS tidak cocok untuk on-line filtering khususnya pada orde filter yang besar karena komputasinya yang kompleks. Pada orde filter = 1024, RLS membutuhkan 2303.8 detik untuk menyelesaikan 100 iterasi sementara NLMS hanya membutuhkan 14.4375 detik. Jadi 159 kali lebih cepat dari RLS. Fase Keempat dirancang untuk menguji step-size dan lambda pada kedua algoritma. Tujun dari fase ini yaitu untuk mengamati waktu konvergensi dan juga MSE yang disebabkan oleh nilai step-size dan lambda. Pada fase ini, orde filter =128 dan Convergence Threshold = 0.01. Hasilnya sebagai berikut: NLMS; Filter Order = 128; Convergence Threshold = 0.1 Tabel 4 Step-Size 0.1 0.2 0.3 0.4 0.5 0.6
148
Time Elapsed (Seconds) 1.750001 0.928126 2.187502 3.806251 5.400003 2.409377
MSE 0.012548 0.05079 0.052619 0.118823 0.157534 0.200785
Jurnal Teknik Komputer Vol. 18 No. 2 Agustus 2008: 140 - 152
0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2
4.793754 5.418752 7.690618 10.95936 12.00937 6.406248 9.496875 17.26252 15.99687 19.12812 13.42188 16.85623 22.4 Unstable
0.275165 0.304079 0.407142 0.51311 0.658829 0.832185 1.033162 1.43127 2.079573 3.63389 4.071057 8.82789 14.76551 Unstable
Gambar 12 Orde filter NLMS terhadap waktu konvergensi
Berdasarkan hasil diatas, semakin besar nilai step size, waktu konvergensi juga semakin besar, pada umumnya. Hasil yang sama juga terjadi pada MSE, semakin besar nilai step size, nilai MSE juga semakin besar. Tetapi ketika diuji dengan step-size=2, sistem menjadi tidak terkendali dan menjadi tidak stabil. Hal ini karena NLMS stabil pada range 0<µ<2. Juga berdasarkan hasil diatas, step-size yang paling optimal berada pada range 0.1-0.3. RLS; Filter Order = 64; Convergence Threshold = 0.01 Tabel 5 Lambda 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0.91 0.92
Time Elapsed (Seconds) 1.940625 1.06875 0.962501 1.1 1.559376 1.5875 0.775 0.556251 1.175001 0.8625 0.803125
MSE 0.001253 0.003441 0.005688 0.00096 0.007296 0.001077 0.001868 0.006773 0.002952 0.00192 0.00633
Perandingan NLMS dan... (Suryo Budiyanto; Christopher Adam Pandawa)
149
0.93 0.94 0.95 0.96 0.97 0.98 0.99 1
1.225001 1.100002 1.031253 0.675001 0.803125 1.196875 1.309376 1.1125
0.001391 0.003348 0.001551 0.006214 0.002401 0.000673 0.004695 0.001751
Gambar 13 Orde filter RLS terhadap waktu konvergensi
Jika dibandingkan dengan pengujian sebelumnya, hasil yang didapat untuk RLS adalah hampir tidak menentu, tidak didapat suatu pola tertentu pada hasil. Semakin besar nilai lambda, waktu konvergensi dan MSE semakin besar dan semakin kecil. Tetapi, jika hasil ini dihubungkan dengan convergence threshold, didapat bahwa lambda = 0.4 dan lambda = 0.98 adalah lambda yang paling optimal. Fase Kelima dirancang untuk menguji bagaimana orde filter, step-size dan lambda akan mempengaruhi sistem atau resource komputer khususnya resource memori. Pada fase ini, digunakan sinusoidal pattern dan suara dari microphone sebagai input. Resource memori yang digunakan oleh NLMS dan RLS dengan orde filter sebagai berikut: Tabel 6 NLMS, Step Size=0.3, Iteration=20 Order
Input Sinusoid
Microphone
64
80537.98k
80744.63k
128
80539.18k
80753.85k
Tabel 7 RLS, Lambda=0.98, Iteration=20 Order
150
Input Sinusoid
Microphone
64
80683.04k
80881.77k
128
80774.41k
80989.51k
Jurnal Teknik Komputer Vol. 18 No. 2 Agustus 2008: 140 - 152
Penggunaan resource memori berdasarkan step size dan lambda sebagai berikut: Tabel 8 NLMS, Order=64, Iteration=20 Input
Step-Size 0.1
0.2
0.3
Sinusoid
80537.07k
80537.29k
80537.21k
Microphone
80744.47k
80752.50k
80752.92k
Tabel 9 RLS, Order=64, Iteration=20 Input
Lambda 0.98
0.99
1
Sinusoid
80683.07k
80675.01k
80675.06k
Microphone
80881.99k
80889.91k
80890.04k
Dari hasil di atas, diketahui bahwa lonjakan penggunaan memori yang disebabkan oleh orde filter sedikit lebih besar daripada lonjakan penggunaan memori yang disebabkan oleh step size atau lambda. Tidak seperti step-size atau lambda; orde filter akan membuat komputasi lebih rumit. Semakin rumit komputasi; sistem akan membutuhkan memori lebih untuk memproses sinyal. Juga dari hasil diatas, diketahui bahwa RLS membutuhkan memori lebih besar daripada NLMS. Fakta bahwa algoritma RLS lebih kompleks daripada algoritma NLMS, yang menyebabkan kenapa RLS membutuhkan memori lebih banyak daripada NLMS untuk melakukan pem-filter-an sinyal.
PENUTUP Dari simulasi filter NLMS dan RLS didapatkan bahwa setiap algoritma adaptif mempunyai kelebihan dan kekurangan masing-masing, tetapi secara keseluruhan, kedua filter dapat beradaptasi dengan lingkungan dan meredam noise yang mengkorupsi sinyal input. NLMS punya beberapa kelebihan bila dibandingkan dengan RLS. Yaitu penggunaan memori dan algoritma yang lebih sederhana daripada RLS. Tapi tidak bisa disangkal bahwa RLS menghasilkan sinyal dengan kualitas yang tinggi dengan kekompleksitasannya dan penggunaan memori yang lebih besar. Ini dapat dibuktikan dari tingkat MSE yang dihasilkan RLS. Semakin kecil MSE, berarti semakin kecil noise power.
DAFTAR PUSTAKA Bellanger , Maurice G. (2001). Adaptive Digital Filters 2nd Edition, Revised & Expanded. Marcel Decker. New York. Boroujeny, Farhang B. (1998). Adaptive Filters Theory and Applications. John Wiley & Sons. England.
Perandingan NLMS dan... (Suryo Budiyanto; Christopher Adam Pandawa)
151
Clark, Cory L. (2005). LabVIEW Digital Signal Processing and Digital Communication. McGrawHill Companies USA. Gustafsson, Fred. (2000). Adaptive Filtering and Change Detection. John Wiley & Sons Ltd. England. Ifeachor, Emmnuel C.; Jervis, Barrie W. (2002). Digital Signal Processing: Practical Approach 2nd Edition. Pearson Education Limited, England. Kehtarnavaz, Nasser; Kim, Namjin. (2005). Digital Signal Processing System-Level Design Using LabVIEW. Elsevier, UK. Madisetti, Vijay K.; Williams Douglas B. (1999). Digital Signal Processing Handbook. CRCnetBASE. Manolakis, Dimitris G.; Ingle, Vinay K.; Kogon, Stephen M. (2005), Stastical and Adaptive -Signal Processing: Spectral Estimation, Signal Modeling, Adaptive Filtering, and Array Processing. Artech House. USA. Poularikas, Alexander D. (1999). The Handbook of Formulas and Tables for Signal Processing. CRC Press. USA. Smith, Steven W. (1999). The Scientist And Engineer’s Guide To Digital Signal Processing 2nd Edition. California Technical Publishing San Diego, California. Treichler, John R.; Johnson Jr., C. Richard; Larimore, Michael G. (2001). Theory And Design Of Adaptive Filters. Prentice Hall, New Jersey. Vaseghi. Saeed V.. (2000). Advanced Digital Signal Processing and Noise Reduction 2nd Edition. John Wiley & Sons Ltd. England.
152
Jurnal Teknik Komputer Vol. 18 No. 2 Agustus 2008: 140 - 152