PERANCANGAN BANDSTOP FILTER
(BSF) DENGAN ALGORITMA GENETIK Oleh:Muhammad Anwar Dosen Jurusan Teknik Elektronika
Universitas Negeri Padang
Abstract
A study to find the optimal value required of digital filter design problem is given in this paper. In digital signal processing (DSP), designing an optimal filter is much preferred. Some of methods are commonly based on approximation methods. Genetic algorithm (GA) is a stochastic (random) searching method that mimics the metaphor of natural biological evolution to solve the problem, and in this case, it’s about how to find optimal digital filter design.
In its application, GA just need the evaluation function as a problem representation which will to be optimized. The digital filter structures in z-domain indicates the nonlinear problem where the z value is constrained by the stability. The genetic programming can be used, when the transfer function H[z]of bandstop filter has been transferred to evaluation function, and –1 z 1 as the solution bounds and stability guarantee.
The genetic programming simulation for solving digital filter problem is to produce the transfer function which has lowest order, stable and meet the prescribed tolerance settings (as design criteria). One of the disadventages using this method is the larger computational loading. However, the findings of this paper can be interpreted that the GA’s performance is different from the other methods in optimal digital filter design, especially in providing guarantees on fulfillment of all the design criteria.
Keywords : genetic algorithm, digital filter, filter structure, design criteria, BSF
PENDAHULUAN
Algoritma genetik (genetic algorithm, GA) merupakan suatu wujud pencarian random (stochastic) yang menirukan prinsip proses evolusi biologi alami guna mencari solusi optimal untuk suatu permasalahan kompleks. Algoritma genetik adalah suatu event yang memiliki kebebasan dan fleksibilitas intrinsik untuk memilih solusi yang diinginkan menurut spesifikasi rancangan. Nilai optimal yang diperoleh merupakan produk akhir hasil perkembangan generasi ke generasi dengan individu-individu terbaik dalam jumlah populasi tertentu.
Proses pemilihan individu dari suatu populasi disesuaikan dengan tingkat fitness yang ditetapkan berdasarkan fungsi obyektif untuk masalah yang dioptimasi. Individu atau disebut juga kromosom (chromosome) dengan nilai
fitness lebih tinggi, akan berpeluang besar
terpilih (bertahan hidup) dan menjadi induk atau
mating pool members untuk memperoleh
keturunan atau generasi berikutnya. Kromosom tersebut sekaligus menjadi kandidat solusi pada setiap siklus iteratif yang disebut dengan generasi. Gambar 1 menunjukkan siklus algoritma genetik.
Tahap seleksi dengan mengevaluasi kualitas setiap individu dalam populasi, menghasilkan individu-individu yang akan mengalami proses rekombinasi atau perkawinan. Individu yang mempunyai kualitas yang lebih tinggi mempunyai kemungkinan yang lebih besar untuk dipilih sebagai calon-calon induk bagi generasi berikutnya. Generasi baru inilah sebagai sub-populasi yang akan menggantikan posisi induk sebelumnya dan akan mengalami proses sama. Siklus ini diulangi sesuai jumlah generasi hingga suatu kriteria akhir yang diinginkan tercapai yaitu memperoleh solusi optimal.
Proses evolusi algoritma genetik, dapat dikelompokkan dalam empat tahap dasar sebagaimana bagan alir berikut.
Operator genetik
Operator-operator genetik berguna untuk memperkenalkan kromosom atau string baru dalam populasi. Operator ini terdiri atas operator genetik dasar dan operator genetik hasil modifikasi. Operator yang biasa digunakan terdiri atas :
a. Persilangan (crossover), terutama
multipoint crossover
b. Mutasi
c. Reordering dan inversi d. Pengkodean kembali nol
Parameter genetik
Untuk mengendalikan operator-operator genetik diperlukan ukuran parameter. Pemilihan ukuran parameter genetik menentukan kinerja algoritma genetik dalam memecahkan suatu masalah. Ukuran parameter yang sering digunakan terdiri atas ukuran populasi, probabilitas crossover (Pc), dan probabilitas mutasi (Pm). Ukuran parameter populasi tidak memiliki standar nyata. Pada umumnya semakin besar ukuran populasi, Population (chromosomes) Selection Fitness Fitness PhenoType PhenoType Genetic Operation Mating Pool (parents) Sub-population (offspring) Objective Function Replacement
Gambar 1. Siklus algoritma genetik [Man, 1997]
Gambar 2. Bagan alir algoritma genetik
semakin cepat mencapai konvergensi dan akan membutuhkan komputasi lebih banyak dengan waktu yang panjang. Dalam berbagai percobaan, ukuran populasi sebaiknya berada dalam rentang 70 hingga 200.
Fungsi fitness
Fungsi fitness merupakan ukuran kinerja suatu individu agar tetap bertahan hidup dalam lingkungannya. Dalam algoritma genetik, fungsi
fitness adalah fungsi objektif atas masalah yang
akan dioptimasi. Fungsi ini sebagai ukuran profit yang ingin dimaksimalkan atau sebagai ukuran cost yang ingin diminimumkan. Untuk setiap masalah yang dioptimasi dibutuhkan pendefinisian fungsi fitness supaya string dengan kinerja yang tinggi dapat menghasilkan nilai fungsi fitness sesuai dengan tujuan.
Pemakaian GA untuk pemecahan masalah, khususnya teknik optimisasi, terus merambah berbagai bidang ilmu, seiring dengan pengembangan teori GA itu sendiri. K.F.Man [1996] mengelompokkan tiga wilayah umum materi tulisan atau penelitian yang membahas bidang algoritma genetik, yaitu tentang desain-desain industri, pemrosesan sinyal dan teknik kendali. Dalam sistem pemrosesan sinyal khususnya mengenai tapis, A.Roberts dan G.Wade dari University of Plymouth, Inggris Raya, telah dua kali melakukan penelitian (1993 dan 1994) tentang perancangan tapis FIR dengan GA terstruktur (A structured GA for FIR filter
design) dan perancangan tapis FIR tanpa pengali
menggunakan GA (Multiplier-less FIR filter
design using a genetic algorithm). Kesimpulan
dari penelitian tersebut menunjukkan bahwa tapis digital FIR dapat dirancang sebagai suatu alternatif untuk pemrograman linear dengan algoritma genetik.
Sementara itu, tapis digital dengan unjuk-kerja yang lebih optimal serta memenuhi kriteria jelas amat diperlukan. Perancangan tapis
digital yang memenuhi kriteria perancangan, yakni :
menetapkan orde tapis terendah, sehingga implementasinya lebih sederhana
tapis harus stabil (pole-pole berada dalam lingkup unit circle),
harus memenuhi penetapan tolerans, baik pada jalur pass maupun pada jalur stop.
Pada akhirnya memungkinkan untuk direalisasi dengan formulasi algoritma genetik tanpa pembatasan pada jenis rancangan tapis. Setiap jenis tapis, apakah dalam bentuk Low
Pass, High Pass, Band Pass maupun Band Stop
dapat dengan bebas dioptimisasi hingga orde terendah, walaupun pada kesempatan ini difokuskan pada tapis BSF (bandstop filter). Karena itu dibutuhkan persamaan umum fungsi alih (transfer function, H[z]) untuk jenis tapis BSF, dan secara teoritis, operasi genetik yang menghasilkan kromosom dapat dianggap sebagai solusi potensial untuk H[z], sehingga dengan demikian masalah penaksiran parameter untuk perancangan tapis BSF digital dapat diselesaikan.
METODOLOGI PENELITIAN
Ruang lingkup materi adalah pengkajian spesifikasi input dan proses algoritma genetik sebagai alat untuk menemukan solusi optimal pada perancangan BSF digital. Dengan demikian materi kajian terdiri atas tiga tahap berikut. a. Pembuatan model fungsi evaluasi sebagai
fungsi fitness yang dibentuk oleh solusi terkekang untuk jenis BSF.
b. Penerapan operator algoritma genetik ke dalam pemrograman genetik dengan implementasi MATLAB.
c. Penentuan nilai parameter genetik yang dibutuhkan, meliputi jumlah generasi (atau iterasi), jumlah populasi, peluang seleksi, peluang crossover, dan laju mutasi berdasarkan ujicoba program.
Fungsi evaluasi merupakan ungkapan atas pokok permasalahan yang akan dioptimasi (persamaan rancangan). Karena itu perlu dirumuskan terlebih dahulu permasalahannya dengan langkah-langkah sebagai berikut:
a. Tentukan struktur tapis dasar yang akan digunakan sebagai fungsi alih tapis BSF. Misalnya, bila diambil bentuk bertingkat (cascade) orde empat untuk tapis BSF, maka diperoleh fungsi alih:
21 22
2 12 11 2 22 21 2 12 11 2 a z a z a z a z b z b z b z b z K z H dengan nilai K dan setiap koefisien berada dalam kekangan yang memenuhi syarat nilai setiap pole yaitu –1 z 1, dan koefisien yakni . Artinya bahwa K dan seluruh koefisien harus mempunyai nilai dalam kekangan sedemikian sehingga diperoleh solusi otimal.
b. Karena kondisi optimal tapis BSF diindikasikan oleh tanggapan magnitudenya, maka fungsi alih dalam domain z harus direpresentasikan dalam domain frekuensi , dengan z ej.
Dengan demikian diperoleh fungsi evaluasi, yaitu:
e solusi
f z f j eval , ) (
) 8 ( ) 7 ( ) 4 ( ) 3 ( ) 6 ( ) 5 ( ) 2 ( ) 1 ( ) 9 ( ) ( 2 2 2 2 sol e sol e sol e sol e x sol e sol e sol e sol e sol e H j j j j j j j j j dengan nilai meliputi kisar 0
dan orde filter paling minimal yang masih mungkin. Artinya bahwa dengan fungsi evaluasi pada orde lebih kecil dari 4, tidak diperoleh hasil tanggapan magnitude yang optimal (memenuhikriteria stabil). Setiap solusi (sol) harus memenuhi kekangan pole sebagai berikut:
1
sol
(
1
),
(
2
),
(
3
),
(
4
),
(
6
),
8
,
9
1
2
sol
(
5
),
7
2
Besar nilai tanggapan magnitude secara ideal dalam spesifikasi praktis untuk bandstop filter dalam rentang adalah:
p2 p1 1 1 s2 s1 2 , 0 untuk , 1 ) ( 1 untuk , ) ( 0 ) ( j j j e H e H e H
1 76 . 0 0.24, 0 untuk , 1 ) ( 95 . 0 6 . 0 4 . 0 untuk , 1 . 0 ) ( 0 ) (
j j j e H e H e HDengan demikian, dapat digambarkan tanggapan magnitude untuk BS seperti berikut.
0 0.4 0.6 ) (ej H stopband passband
Gambar 1. Tanggapan magnitude BS praktis 1
0.95
0.1
0.24 0.76
Untuk menerapkan operator algoritma genetik ke dalam pemrograman genetik, maka strukturnya harus direpresentasikan ke dalam bentuk yang dipahami oleh bahasa pemrograman genetik. Pemrograman genetik dalam percobaan penelitian ini, diimplementasikan dengan menggunakan paket (toolbox) perangkat lunak MATLAB. MATLAB merupakan lingkup penghitungan teknis untuk komputasi dan visualisasi numerik unjuk-kerja tinggi. MATLAB memadukan analisis numeris, komputasi matriks, pemrosesan isyarat, dan grafis dalam tatanan yang mudah digunakan. Setiap masalah dan solusi hanya dinyatakan dalam formula matematis biasa, tak seperti pemrograman tradisional.
Seperti halnya pada pemrograman genetik, maka segenap parameter genetik
meliputi jumlah generasi, jumlah populasi, peluang seleksi, peluang crossover, dan laju mutasi harus diberikan dalam bentuk yang dipahami oleh bahasa pemrograman genetik. Nilai parameter yang diberikan akan sangat menentukan hasil yang diperoleh. Karena itu, hasil optimal bisa didapatkan dalam beberapa kali ujicoba.
HASIL DAN PEMBAHASAN
Hasil percobaaan penelitian ini adalah didapatkannya fungsi alih untuk jenis tapis BSF digital melalui eksekusi pemrograman genetik secara terpadu. Adapun fungsi evaluasi dengan ruang solusi untuk tapis dimodelkan sebagaimana dalam tabel berikut.
Tabel 1. Fungsi evaluasi untuk setiap jenis tapis
Jenis tapis Fungsi evaluasi Kriteria
1 2 3 BSF
(7) (8)
) 4 ( ) 3 ( ) 6 ( ) 5 ( ) 2 ( ) 1 ( ) 9 ( ) ( 2 2 2 2 sol z sol z sol z sol z x sol z sol z sol z sol z sol e H j dengan: z = ej, 0 ruang solusi (1)=(2)=(3)=(4)=(6)=(8)=(9) = [-1 1] ruang solusi (5) = (7) = [-2 2] Orde = 4 Tolerans: pass=[1 0.95] stop=[0.1 0] p1 = 0.24 s1 = 0.4 s2 = 0.6 p2 = 0.76Data Tabel 1 memperlihatkan hasil pemodelan fungsi evaluasi dengan ruang solusi yang dibentuk berdasarkan struktur tapis cascade
form untuk jenis tapis BSF. Besar orde tapis
ditetapkan pada nilai terendah, dengan tidak mengabaikan kriteria perancangan yang lain, yakni tetap stabil dan memenuhi batas tolerans. Data ini juga menegaskan bahwa orde filter minimum adalah 4 untuk memastikan criteria yang lain juga dipenuhi.
Selain fungsi evaluasi, parameter input operator genetik juga diberikan untuk menjalankan program secara terpadu, seperti diperlihatkan pada Tabel 2 berikut.
Tabel 2. Parameter input operator genetik Parameter operator genetik Bandpass filter Jumlah populasi Jumlah generasi Koef. Seleksi ‘roulette’ Operator Crossover: Aritmetik Heuristik Simple Operator Mutasi : Boundary Uniform 99 8242 0.04 [2 0] [2 3] [2 0] [2 0 0] [2 0 0] Setelah program dijalankan, populasi awal akan dibangkitkan secara acak melalui fungsi inisialisasi. Jumlah individu-individu yang dihasilkan merupakan suatu matriks berdimensi jumlah populasi dengan variabel solusi. Dalam kasus ini, dengan jumlah
populasi 99 dan variabel solusi yang dicari sebanyak 9 buah, maka jumlah individu membentuk matriks berdimensi 99 x 9. Individu-individu yang menghasilkan nilai
fitness fungsi evaluasi paling besar, berarti
juga memiliki nilai fitness yang tinggi. Selanjutnya individu-individu (populasi terbaik) tersebut mempunyai peluang paling besar untuk terpilih menjadi induk-induk guna melahirkan populasi baru yang lebih tangguh pada generasi berikutnya.
Setelah program dieksekusi maka diperoleh solusi optimal untuk jenis tapis BSF yang memenuhi kriteria perancangan
sebagaimana tabel di atas. Selanjutnya fungsi evaluasi dapat dinyatakan dalam domain z berupa fungsi alih berikut.
0.2826 0.0001 0.2501 0.0078 0.3484 0.0006 0.6921 0.0056 0.4295 ) ( 4 3 2 2 3 4 z z z z z z z z z H BS
Tanggapan magnitude tapis yang didefinisikan kriteria dan fungsi evaluasinya pada Tabel 1, diperlihatkan pada Gambar 2 berikut.
Gambar 4. Tanggapan magnitude tapis hasil perancangan algoritma genetik Berdasarkan pada hasil percobaan, terlihat
bahwa algoritma genetik memberikan unjuk-kerja optimal dalam perancangan tapis BSF digital. GA akan menjamin bahwa kriteria perancangan selalu dipenuhi, yaitu stabilitas dan pemenuhan batas tolerans yang diperoleh pada orde tapis terendah.
KESIMPULAN
Berdasarkan hasil percobaan penelitian dan pembahasan, maka dapat disimpulkan bahwa algoritma genetik bisa digunakan untuk merancang tapis BSF digital secara optimal. Setidaknya ada 2 aspek penting yang sangat mempengaruhi hasil perancangan dengan algoritma genetik.
a. Perumusan fungsi evaluasi dan penetapan ruang solusi; terlihat bahwa semakin banyak variabel solusi di dalam fungsi evaluasi, maka algoritma genetik agak kesulitan mencari nilai paling optimal, walaupun secara umum hasil yang
diperoleh sudah cukup memadai, yakni sesuai dengan kriteria perancangan. Karena itu, sedapat mungkin jumlah variabel diminimalisir dan ruang pencarian solusi tak terlalu lebar. Hal ini akan mengurangi beban komputasi dan lamanya waktu eksekusi, meskipun ini bukanlah masalah utama.
b. Jumlah populasi dalam penelitian ini ditetapkan setelah melalui ujicoba trial
and error, sehingga tetap ada
kemungkinan bahwa jumlah populasi yang dipilih bukan yang memberikan hasil paling optimum. Karena itu frekuensi ujicoba harus lebih tinggi dan jumlah generasi ditetapkan kemudian setelah membandingkan beberapa hasilnya. Jumlah populasi dan generasi berbanding lurus dengan beban dan waktu komputasi. Semakin besar jumlah populasi dan generasi, maka beban komputasi juga semakin besar dan waktu eksekusi
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1 1.2 1.4 H( e j) frekuensi
semakin lama. Jumlah populasi yang besar bukan jaminan ditemukannya solusi paling optimal, namun percobaan menunjukkan rentang yang umum yakni dari 70 hingga angka 200.
Bagaimanapun jika dibandingkan dengan metode perancangan tapis digital konvensional, ada satu hal yang merupakan kelebihan algoritma genetik. Hal itu adalah adanya jaminan bahwa semua kriteria yang ditetapkan terhadap rancangan tapis digital, akan dipenuhi, baik stabilitas, batas tolerans maupun minimisasi orde filternya.
DAFTAR PUSTAKA
Davis, Lawrence (edit). 1991. Handbook of
Genetic Algorithms. New York : Van
Nostrand Reinhold.
Goldberg, David E. 1989. Genetic Algorithms
in Search, Optimization, and Machine Learning. New York :
Addison-Wesley Publishing Company Inc.
Krauss, Thomas P., Shure, Loren dan Little, John N. 1994. Signal Processing
Toolbox User’s Guide (for Use with MATLAB). The Mathworks Inc.
Kuc, Roman. 1982. Introduction to Digital
Signal Processing. New York :
McGraw-Hill Book Co.
Man, Tang, Kwong dan Halang. 1997. Genetic
Algorithms for Control and Signal Processing, Advances in Industrial Control. Grea Britain :
Springer-Verlag London Limited.
Man, Tang and Kwong. 1996. Genetik
Algorithms: Consepts and
applications. IEEE Trans. Ind.
electron., vol. 43, no. 5, Okt., pp. 519-531.
Pohlheim, Hartmut.. 1998. Genetic and
Evolutionary Algorithms : Principles,
Methods and Algorithms. The
Mathworks Inc., on his web: