Pengolahan Sinyal Dijital Adaptif
-
Author
nia-moedjihardjo -
Category
Documents
-
view
435 -
download
0
Embed Size (px)
Transcript of Pengolahan Sinyal Dijital Adaptif
Simulasi Algoritma Filter Adaptif pada Pengolahan Sinyal DijitalSusmini Indriani LestariningatiJurusan Teknik Komputer Universitas Komputer Indonesia (UNIKOM) Bandung Jl. Dipati Ukur No. 112-116, Bandung 40132 Telp: (022) 2503054 email: [email protected]
AbstrakPemrosesan sinyal dijital menggunakan filter adaptif digunakan pada banyak aplikasi terutama dalam bidang telekomunikasi, misalnya untuk menghilangkan noise dari suatu sinyal informasi. Terdapat banyak algoritma filter adaptif yang dapat digunakan, seperti algoritma LMS (Least Mean Square), RLS (Recursive Least Square) dan GAL (Gradient Adaptive Lattice). Filter adaptif dalam aplikasi real-time biasanya diimplementasikan menggunakan hardware yang dirancang untuk aplikasi pengolahan sinyal dijital (misalnya card TMS). Meskipun demikian, dapat juga dilakukan simulasi filter dijital menggunakan software pada PC. Pada paper ini dibuat simulasi untuk jenis-jenis adaptive filter beserta karakteristiknya. Simulasi tersebut dibuat dengan alat bantu komputer dengan bahasa pemrograman Pascal untuk sistem operasi Windows dari algoritma filter adaptive yang bermacam-macam itu sendiri, dipilih untuk disimulasikan hanya algortima yang umum dan mendasari algoritma lainya, yaitu algoritma LMS, RLS. Pada masing-masing algoritma akan dianalisis kinerjanya, faktor-faktor yang mempengaruhi kinerja tersebut, dan diperbandingkan kinerjanya masing-masing. Kata kunci: White Gaussian Noise, Mean Square Error, Autokorelasi. 1. Pendahuluan datang, ini merupakan persoalan kecepatan konvergensi dari algoritma adapative. Masalah yang lain adalah karena tidak ada blok cuplikan, berarti tidak bisa diterapkannya metoda sample autocorrelation untuk mendapatkan informasi tentang e(n) fungsi autokorelasi sebelumnya. Karena operasi dilakukan pada setiap cuplikan, maka H yang selalu stationer dan time invariant dalam satu blok, sekarang menjadi time variant. Ada banyak algoritma adaptasi untuk mendapatkan H optimum tersebut. Algoritma yang paling mendasar adalah algoritma LMS (Least Mean Square), algoritma RLS (Recursive Least Square), dan Algoritma GLMS (Gradient Least Mean Square). Struktur filter H dapat berupa FIR (Finite Impulse Response) atau lattice karena banyak algoritma adaptasi untuk struktur tersebut, sementara belum ditemukan algoritma adaptasi yang umum untuk struktur IIR (Infinite Impulse Transform). Orde filter dibatasi oleh mean square error yang diinginkan, dan kecepatan processing yang harus dicapai. Dengan makin besarnya orde filter tentu mean square error semakin kecil tetapi kecepatan processing makin lambat. Jadi trade-off harus dilakukan dalam penentuan orde filter ini. Tujuan percobaan ini adalah untuk mengamati serta membandingkan kinerja dan perilaku filter adaptif menggunakan 2 jenis algoritma saja yaitu LMS dan RLS. Untuk mengamati kinerja dan perilaku filter adaptif tersebut, dibuat suatu program simulasi menggunakan bahasa pemrograman Pascal, dengan
Semua Filter Adaptive memakai filter Wiener sebagai realisasi filter optimum yaitu dengan kriteria mean square error minimum.x(n) x(n) + _
+x(n)
y(n)
Adaptive Wiener Filter
Algoritma Adaptasi
Gambar 1. Skema Blok Filter Adaptive Wiener Semua Algoritma dengan sejalannya waktu berusaha untuk konvergen mendekati kondisi ini. Seperti pada prediksi liniear, filter adaptive juga didasari oleh filter Wiener. Semua kaidah dan sifatsifat yang berlaku pada filter Wiener tetap berlaku untuk aplikasi adaptive ini. Perbedaan penerapan filter Wiener untuk aplikasi non adapative dan adaptive adalah jika pada filter Wiener data diproses dengan H optimum perblok cuplikan maka pada filter adaptive data diproses dengan H optimum percuplikan. Berarti H harus menuju optimum dan data harus diproses sebelum cuplikan selanjutnya
1
compiler Borland Delphi 2.0 untuk sistem operasi Windows. 2. Batasan Masalah
3.
Pembahasan
Masalah simulasi adalah bagaimana membuatnya menjadi seolah-olah dapat mewakili keadaan riil bila suatu device atau sistem diimplementasikan. Dalam simulasi algoritma adaptive ini ada beberapa masalah menarik yang harus diperhatikan untuk membuat simulasi ini dapat mewakili keadaan sebenarnya. Untuk merubah fungsi continue menjadi fungsi diskrit dalam fungsi waktu dapat dinyataan oleh persamaan : (nTs) = (t), atau t = nTs., Ts = 1/fs Dimana : T adalah perioda sampling. Misal untuk pembangkitan sinusoidal, dengan sin 2Tf t = sin2Tf n Ts atau sin 2Tf t = sin2Tf / fs) n hal ini dapat dilihat pada gambar 2 dimana frekuensi sampling = fs = 10 MHz dan frekuensi saat kontinu = f = 300 Mhz.
maka fungsi dalam waktu diskritnya adalah p(nTs) = 1 untuk k.T.fs ms< n < (k.T 200)fs ms = 0 untuk (k.T 200)fs ms< n< (k.T T)fs ms Dimana k = 0, 1, 2, .... 3.1 Pembangkitan White Gaussian Noise Pembangkitan white gaussian noise dapat dilakukan dengan menjumlahkan beberapa white noise uniform, hal ini dilakukan berdasarkan teori sentral limit. Pembangkitan white noise sendiri dilakukan dengan subrutin random yang disediakan komputer seperti dengan algoritma linear Congruential generator. Menurut spesifikasinya sebenarnya bilangan random yang dihasilkan tidak sepenuhnya random, tetapi secara praktis boleh dianggap begitu. Mengenai kinerja sinyal random yang kita gunakan untuk simulasi sendiri dapat kita lihat pada gambar 3 dan gambar 4.
Gambar 3. Autokorelasi White Noise Gambar 2. Autokorelasi Sinus dan Spektralnya Ada informasi menarik dari gambar 2 ini bahwa sinyal sinusoidal yang dihasilkan tidak murni sinusoidal ditandai dengan adanya spektrum Pada gambar 3 terlihat sinyal random yang dibangkitkan tidak murni white noise, karena untuk sample yang saling berjauhan ternyata masih ada korelasinya walupun berjauhan. Hal ini akan diperjelas oleh gambar 4 2
Dalam percobaan ini diamati perilaku dan kinerja 2 algoritma filter adaptive, yaitu LMS (Least Mean Square) dan RLS (Recursive Least Square). Kinerja dan perilaku filter diamati dengan cara memasukkan sinyal-sinyal sinusoidal, Gaussian White Noise serta sinyal siklo-stasioner. Sinyal-sinyal ini dapat dimasukkan secara terpisah maupun gabungan. Perilaku sinyal yang diamati meliputi excess error, stabilitas dan kecepatan konvergensi.
frekuensi lain selain 0.3T, dan fungsi autokorelasi sinus yang merupakan cosinus teredam. Hal ini wajar karena fungsi sinusoidal yang dipergunakan pada pemrograman ini sebenarnya adalah fungsi deret yang dibangkitkan dengan ketelitian tertentu. Untuk sinyal cyclo-stationer misalnya dinyatakan dengan fungsi: p(t) = 1 untuk k.T ms< t < k.T 200 ms = 0 untuk k.T 200 ms< t < k.T T ms Dimana: k = 0, 1, 2, .... T adalah perioda fungsi cyclo-stationer,
l
t
lit
ti
i
ilt
l
it
t i
Gambar 6. Koreksi kausalitas simulasi untuk diagram blok filter adaptive Gambar 4. Spektral White Noise Pada gambar 4 terlihat spektral noise yang tidak flat ini menandakan bahwa sinyal ramdom sebenarnya tidak white noise. Ini akan berpengaruh pada simulasi karena sifat penghapus korelasi yang digunakan untuk menghapus whitenoise tidak akan 100% berhasil karena ternyata noise yang digunakan pada simulasi ini masih berkorelasi sehingga dapat muncul pada keluaran x n. Tetapi pada pemeriksaan distribusi noisenya terlihat memang noise terdistribusi gausian seperti yang terlihat pada gambar 5. 4. Analisis 4.1 Algoritma LMS (Least Mean Square) Algorima ini berdasarkan metoda gradient/steepest descent dan Widrow-Hoft LMS menghasilkan persamaan adaptasi H :xn en
xn
yn h(n)
xn
z-1
en
h(n+1)
h(n)
2Q
yn
2Qen
Gambar 7. Struktur filter adaptive LMS FIR orde 1 Algoritma Least Mean Squarenya adalah sbb : 1. Pada waktu n, bobot filter h(n) diketahui 2. Hitung x n = h(n)Tyn 3. Hitung en = n - x n 4. Hitung bobot filter berikutnya h(n 1) = h(n) 2enyn 5. Lanjutkan ke n = n 1
Gambar 5. PDF Noise 3.2 FIR dan Kausalitas Simulasi Berdasarkan diagram blok pada gambar 1 terlihat jika adaptive direalisasikan dengan FIR, sesuai dengan sifatnya maka akan ada delay fasa sebesar (ordefilter-1)/2, karena itu kausalitas dari simulasi ini maka sinyal n yang dikurangkan dengan x n harus didelay sebesar (ordefilter-1)/2 juga, realisasinya dapat dilihat pada gambar 6.
Adapun struktur filter FIRnya untuk orde 1 dapat dilihat pada gambar 7. Terlihat dari algoritma secara numerik akan selalu stabil untuk nilai Q tertentu. Inisialisasi algoritma hanya diperlukan untuk menginisialisasi koefisien filter h. 3
% % '( (' ' & ! % $ #"
Penentuan nilai Q menentukan adanya konvergensi, kecepatan konvergensinya, dan e cess errornya. Untuk menerangkan hal ini dilakukan simulasi dengan input seperti pada gambar 8 dibawah ini )
semakin lama menuju konvergensi, ini dapat dilihat pada contoh hasil simulasi gambar 9 dimana diperbandingkan hasil simulasi untuk Q yang berbeda yaitu 0.03 dan 0.001. E cess error sendiri dapat dicari dengan rumus : E cess error = QEmin. Sementara Emin adalah mean square error minimum yang dicapai pada saat h = hopt, Maka, Emin = E[ n2] - rTR-1r , dimana R adalah matriks autokorelasi signal yn dan r adalah matriks korelasi antara sinyal yn dan sinyal n. Hasil simulasi selanjutnya pada gambar 10 adalah simulasi jika orde filter diperbesar, dengan input tetap sama seperti gambar 8. 1 0 0 0
Gambar 8. Masukan stationer (sinusoidal) untuk simulasi filter adative Hasil Simulasinya dapat dilihat pada gambar berikut,
Gambar 10. Simulasi LMS dengan ordefilter diperbesar. Hasil simulasi diatas menunjukkan bahwa jika orde filter diperbesar dari 11 ke 41, terlihat bahwa penambahan orde filter memperlambat waktu konvergensi, hal ini wajar karena konvergensi algoritma LMS mengikuti hubungan 20M (konvergensi dicapai setelah 20M iterasi), dimana M adalah orde filter. Meskipun konvergensi menjadi lebih lambat, ketelitian menjadi lebih besar (error lebih kecil). LMS signum LMS signum dipakai untuk ADPCM (Adaptive Differential Pulse Code Modulation). LMS signum adalah variasi dari LMS dengan hanya memperhitungkan polaritas en dan yn, tanpa memperhitungkan nilainya. Sehingga persamaan pada algoritma LMS biasa menjadi: h(n 1) = h(n) 2Q?en][yn] Dimana [yn] atau [en] =1 jika en > 0 = 0 jika en = 0 = -1 jika en < 0 2 2 4
Gambar 9. Perbandingan Hasil Simulasi Algoritma LMS dengan Q = 0.03(lebih besar) dengan Q = 0.001(lebih kecil) Nilai Q, terbatas diatas dan dibawah dimana menurut teori, batasnya menentukan kestabilan/ konvergensinya. Batas nilai Q adalah 0< Q < 1 ,( M 1) R
dimana R adalah fungsi autokorelasi signal yn, dan M adalah orde filter FIR. Besarnya nilai Q mempengaruhi e cess error, dan kecepatan menuju konvergensi. Semakin kecil Q semakin teliti (e cess error semakin kecil), tetapi 0 0
Karena lebih sederhana proses perhitungannya, realisasi hadwarenya lebih mudah dan murah, tetapi e cess error lebih besar dibanding LMS biasa untuk nilai Q yang sama. Masalah besarnya e cess error tersebut dapat diatasi dengan memperkecil nilai Q . Hal ini dapat dilihat dari hasil simulasi pada gambar 11 dan gambar 12. 3 3
4.2 Algoritma RLS (Recursive Least Square) Algoritma RLS adalah penerapan dari kriteria Least Square Error Minimum LSE ! [en ]2n
dan persamaan rekursif yang mempunyai tujuan untuk menghindari matriks autokorelasi yang semakin besar dengan berjalannya waktu, serta matriks inversion lemma. Persamaan dan variabel yang digunakan dengan algoritma ini lebih banyak dari pada algoritma LMS, karena lebih banyak faktor yang dipertimbangkan oleh algoritma ini dibandingkan algoritma LMS. Algoritma Recursive Least Square (RLS) adalah sebagai berikut: 1. k(n/n-1) = P-1P(n-1)y(n) 2. R(n) = k(n/n-1)T y(n), Q(n) = 1/ (1 R(n)) 3. k(n) = Q(n)k(n/n-1) 4. P(n) = P-1P(n-1) k(n)k(n/n-1)T 5. x (n/n-1) = h(n-1)T y(n), e(n/n-1) = (n) - x (n/n1), e(n) = Q(n)e(n/n-1), x (n) = (n) - e(n) 6. h(n) = h(n-1) e(n/n-1)k(n) 7. Lanjutkan ke n = n 1 Inisialisasi pada algoritma RLS lebih banyak dibanding algoritma LMS, untuk matriks P diinisialisasi = g secara teoritis, tetapi orde 1000 sudah mencukupi secara praktis. Untuk varibel lainnya seperti k, cukup diinisialisasi = 0.xn xn
Dari gambar 11terlihat bahwa untuk yang sama LMS signum akan menghasilkan ketelitian (e cess error) yang lebih jelek, tetapi hal ini dapat dikompensasi dengan memperkecil untuk LMS signum sehingga diperoleh kinerja yang lebih baik seperti pada gambar 12. 3
n
x(n/n- )
e(n/n- ) e(n/n- )k(n)
zh(n)
h(n- )
P(n- )P-
P P(n- )
(n)
z-
k(n)
Gambar 13. Struktur filter RLS orde 1
@
Gambar 12. Perbandingan LMS dengan LMS signum dengan Quntuk LMS signum jauh lebih kecil.
P(n- )P-
n
@
k(n/n- )
n
A
9
P(n)
R(n)
A
B
A
A
9
A
8
Gambar 11. Perbandingan LMS dengan LMS signum dengan Q yang sama
5
4
C A
A
A
A
7
C A
6
en
@
en
R (n)
5
Perbandingan Algoritma LMS dan RLS Algoritma RLS lebih cepat konvergen dari pada LMS karena lebih banyak faktor yang dipertimbangkan (algoritma RLS dapat diharapkan konvergen setelah 2M iterasi, dengan M adalah orde filter). Tetapi tentu untuk orde filter yang semakin besar maka algoritma RLS akan lebih banyak menghabiskan memori dibandingkan LMS. Hal ini dapat dilihat dari hasil simulasi berikut pada gambar 14.
1.
2.
Algoritma LMS, Algoritma ini sederhana dan stabil, akan tetapi memiliki kecepatan konvergensi yang sangat lambat. Ketelitian algoritma LMS dapat ditingkatkan dengan menaikkan jumlah orde filter atau memperkecil Akan tetapi kedua cara ini memperlambat konvergensi filter. Varian algoritma LMS, algoritma LMS Signum, memiliki kinerja yang lebih jelek dibandingkan algoritma LMS, namun lebih sederhana. Algoritma RLS, algoritma ini memiliki kecepatan konvergensi yang tinggi, akan tetapi lebih kompleks dan memiliki kestabilan yang kurang baik, sehingga harus dilakukan reinisialisasi pada variabel k untuk menjaga stabilitas algoritma.
Gambar 14. Simulasi Perbandingan LMS dan RLS Nilai P pada algoritma RLS merupakan faktor pelupa untuk melupakan sample-sample sebelumnya. Untuk sinyal-sinyal stationer dibuat P mendekati 1 (artinya sample-sample sebelumnya tidak perlu terlalu diingat). Untuk sinyal-sinyal non stationer dibuat P mendekati 0 (artinya sample-sample sebelumnya perlu terlalu diingat). 5. Kesimpulan
Ada hal yang harus sangat diperhatikan dalam simulasi atau realisasi algoritma adaptasi dalam hardware nantinya, yaitu masalah error karena proses-proses numerik seperti rounding, truncating, dan sebagainya, yang jika terakumulasi akan menimbulkan masalah, sehingga harus sangat diperhatikan masalah banyaknya bit yang menyatakan suatu nilai, error karena penggunaan deret atas perhitungan tertentu seperti sinus, dan lainlain. Hal lain yang dapat dicatat adalah bahwa dalam melakukan simulasi, yang diimplementasikan adalah suatu sistem yang tidak real-time. Dalam percobaan ini tampak jelas bahwa yang terjadi adalah cuplikan sinyal datang menunggu perhitungan filter selesai. Hal ini tidak dapat terjadi pada sistem real-time. Oleh karena itu, dalam realisasi algoritma dalam sistem real-time, harus diperhitungkan waktu yang dibutuhkan untuk melaksanakan perhitungan sehingga perhitungan dapat selesai sebelum cuplikan sinyal berikutnya tiba. 6. 1. 2. Daftar Pustaka Orfanidis, Sophocles J. Optimum Signal Processing, An Introduction, 2nd.ed., McGrawHill Book Company, 1988. LIN, David W., On Digital Implementation of the Fast Kalman Algorithms, IEEE Transaction on Acoustics, Speech, and Signal Processing., vol. ASSP-32, hal. 998-1005, N0.5, October 1984. Hayes, Monson H., Statistical Digital Signal Processing and Modeling, John Wiley & Sons, Inc., 1996. Haykin, Simon, Introduction to Adaptive Filters, MacMillan Publishing Company, 1984. Haykin, Simon, Adaptive Filter Theory, Prentice-Hall International Inc., 1996. 6
Untuk menghasilkan simulasi yang baik ada beberapa hal yang harus diantisipasi dan dibuat agar simulasi dapat benar-benar mewakili kejadian sebenarnya, seperti masalah pembangkitan sinyal, pengambilan samplenya, dan kausalitas dari simulasi. Algoritma adaptasi sendiri terdiri dari bermacammacam jenisnya, tetapi semuanya berangkat dari dasar filter optimum yang sama, perbedaannya terutama adalah dari masalah ketelitian, kecepatan konvergensinya, dan kestabilan numerik simulasinya. Algoritma adaptasi sendiri dapat dibagi tiga secara garis besar perkembangannya yaitu yang berdasarkan LMS, RLS dan dibuatnya struktur latice untuk kedua algoritma tersebut. Perilaku masing-masing algoritma yang diamati adalah sebagai berikut:
3. 4. 5.