Vol.16 No.1. Februari 2014
Jurnal Momentum
ISSN : 1693-752X
PERANCANGAN BANDPASS FILTER DENGAN ALGORITMA GENETIK (APLIKASI PAKET PEMROGRAMAN MATLAB) Oleh: Muhammad Anwar Dosen Jurusan Teknik Elektronika Fakultas Teknik Universitas Negeri Padang
Abstract A comparative 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 based on approximation methods commonly. 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, about how to find optimal digital filter design. In its application, GA just need the evaluation function of the problem 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]has transferred to evaluation function, and –1 z 1 as the solution bounds. 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 (design criteria). One of the disadventages using this method is the larger computational loading. However, the result 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
hidup) dan menjadi induk atau mating pool 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.
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.
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 subpopulasi 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 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 terpilih (bertahan
1
Vol.16 No.1. Februari 2014
Jurnal Momentum
ISSN : 1693-752X
Population (chromosomes) Fitness PhenoType
Selection
Replacement
Mating Pool (parents)
Objective Function
Genetic Operation
PhenoType Fitness
Sub-population (offspring) Gambar 1. Siklus algoritma genetik [Man, 1997] Proses evolusi algoritma genetik, dapat dikelompokkan dalam empat tahap dasar sebagaimana bagan alir berikut. Inilsialisasi
Evaluasi
Eksploitasi
Eksplorasi
Gambar 2. Bagan alir algoritma genetik 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, semakin cepat mencapai konvergensi dan akan membutuhkan komputasi lebih banyak dengan waktu yang panjang untuk setiap populasi.
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. Reproduksi dan persilangan (crossover) b. Mutasi c. Reordering dan inversi d. Pengkodean kembali nol
Fungsi fitness
Parameter genetik
Fungsi fitness merupakan ukuran kinerja suatu individu agar tetap bertahan
Untuk mengendalikan operatoroperator genetik diperlukan ukuran parameter.
2
Vol.16 No.1. Februari 2014
Jurnal Momentum
Setiap jenis tapis, apakah dalam bentuk Low Pass, High Pass, maupun Band Pass dapat dengan bebas dioptimisasi hingga orde terendah, walaupun pada kesempatan ini difokuskan pada tapis BPF. Karena itu dibutuhkan persamaan umum fungsi alih (transfer function, H[z]) untuk jenis tapis BPF, 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 BPF digital dapat dipecahkan.
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, tapis harus stabil (pole-pole berada dalam lingkup unit circle), harus memenuhi penetapan tolerans Pada akhirnya memungkinkan untuk direalisasi dengan formulasi algoritma genetik tanpa pembatasan pada jenis rancangan tapis.
H z K
ISSN : 1693-752X
METODOLOGI PENELITIAN Ruang lingkup materi adalah pengkajian spesifikasi input dan proses algoritma genetik sebagai alat untuk menemukan solusi optimal pada perancangan BPF 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 BPF. b. Penerapan operator algoritma genetik kedalam pemrograman genetik dengan implementasi MATLAB. c. Penentuan nilai parameter genetik yang dibutuhkan, yang meliputi jumlah generasi (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 BPF. Misalnya, bila diambil bentuk bertingkat (cascade) orde enam untuk tapis BPF, maka diperoleh fungsi alih:
z b1 z b2 x z 2 b11 z b12 z 2 b21 z b22 z a1 z a2 z 2 a11 z a12 z 2 a21 z a22
dengan nilai K dan setiap koefisien a1 , a2 , b1 , b2 , b21 , b22 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 BPF diindikasikan oleh tanggapan
3
Vol.16 No.1. Februari 2014
Jurnal Momentum
magnitudenya, maka fungsi alih dalam domain z harus direpresentasikan dalam domain frekuensi , dengan z e j .
ISSN : 1693-752X
Dengan demikian diperoleh fungsi evaluasi, yaitu:
f ( z ) eval f e j , solusi z sol (1)z sol (2) x H (e j ) sol (13) z sol (7 ) z sol (8)
z
sol (3) z sol ( 4) z 2 sol (5) z sol (6) z 2 sol (9) z sol (10) z 2 sol (11) z sol (12)
2
diperoleh hasil tanggapan magnitude yang optimal (tidak stabil). Setiap solusi (sol) harus memenuhi kekangan pole sebagai berikut:
dengan nilai meliputi kisar 0 dan orde filter paling minimal yang masih mungkin. Artinya bahwa dengan fungsi evaluasi pada orde lebih kecil dari 6, tidak
1 sol (1), (2), (3), (4), 5, (6), (7), 8, 10, 12 , 13 1 2 sol (9), 11 2
Besar nilai tanggapan magnitude secara ideal dalam spesifikasi praktis untuk bandpass filter dalam rentang adalah:
0 H (e j ) 2 , untuk 0 s1 , s 2 H (e ) j untuk p1 p 2 1 1 H (e ) 1 1 , j
0 H (e j ) 0.1, untuk 0 0.24, 0.76 1 H (e j ) j untuk 0.4 0.6 0.95 H (e ) 1, Dengan demikian, dapat digambarkan tanggapan magnitude untuk BP seperti berikut.
H ( e j ) 1 0.95
0.1
0
0.24 stopband
0.4
0.6
passband
0.76 stopband
Gambar . Tanggapan magnitude BPF praktis
4
Vol.16 No.1. Februari 2014
Jurnal Momentum
ISSN : 1693-752X
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.
Untuk menerapkan operator algoritma genetik kedalam pemrograman genetik, maka strukturnya harus direpresentasikan kedalam 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
HASIL DAN PEMBAHASAN
Hasil percobaaan penelitian ini adalah didapatkannya fungsi alih untuk jenis tapis BPF digitalmelalui 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
H (e j ) sol (13)
BPF
z
z sol (1)z sol (2) x z sol (7 ) z sol (8)
sol (3) z sol ( 4) z 2 sol (5) z sol (6) z 2 sol (9) z sol (10) z 2 sol (11) z sol (12)
2
dengan: z = ej, 0 ruang solusi (1)=(2)=(3)=(4)=(5)=(6)=(7)=(8)= (10)=(12)=(13) = [-1 1] ruang solusi (9) = (11) = [-2 2]
Orde = 6 Tolerans: pass=[1 0.95] stop=[0.1 0] s1 = 0.24 p1 = 0.4 p2 = 0.6 s2 = 0.76
Tabel 2. Parameter input operator genetik Parameter operator genetik Jumlah populasi Jumlah generasi Koef. Seleksi ‘roulette’ Operator Crossover: Aritmetik Heuristik Simple Operator Mutasi : Boundary Uniform
Data Tabel 1 memperlihatkan hasil pemodelan fungsi evaluasi dengan ruang solusi yang dibentuk berdasarkan struktur tapis cascade form untuk jenis tapis BPF. Besar orde tapis ditetapkan pada nilai terendah, dengan tidak mengabaikan kriteria perancangan yang lain, yakni tetap stabil dan memenuhi batas tolerans.
Selain fungsi evaluasi, parameter input operator genetik juga diberikan untuk menjalankan program secara terpadu, seperti diperlihatkan pada Tabel 2 berikut.
Bandpass filter 112 10055 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
5
Vol.16 No.1. Februari 2014
Jurnal Momentum
besar untuk terpilih menjadi induk-induk guna melahirkan populasi baru yang lebih tangguh pada generasi berikutnya. Setelah program dieksekusi maka diperoleh solusi optimal untuk setiap jenis tapis yang memenuhi kriteria perancangan sebagaimana tabel di atas. Selanjutnya fungsi evaluasi dapat dinyatakan dalam domain z berupa fungsi alih berikut.
solusi. Dalam kasus ini, dengan jumlah populasi 112 dan variabel solusi yang dicari sebanyak 13 buah, maka jumlah individu membentuk matriks berdimensi 112 x 13. 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
H ( z ) BP
ISSN : 1693-752X
0.1315z 6 0.0024z 5 0.2069z 4 0.0022z 3 0.1083z 2 z 6 0.0116z 5 0.9165z 4 0.0167 z 3 0.4083z 2 0.0005 z 0.0189 0.0092 z 0.0002
Tanggapan magnitude tapis yang didefinisikan kriteria dan fungsi evaluasinya pada Tabel 1, diperlihatkan pada Gambar 2 berikut. 1.4 1.2
H(ej)
1 0.8 0.6 0.4 0.2 0 0
0.2
0.4
0.6
0.8
1
frekuensi
Gambar 4. Tanggapan magnitude tapis hasil perancangan algoritma genetik mempengaruhi hasil perancangan dengan algoritma genetik. a. Dalam 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, setidaknya hal ini akan mengurangi beban komputasi dan lamanya waktu eksekusi.
Berdasarkan pada hasil percobaan, terlihat bahwa algoritma genetik memberikan unjukkerja optimal dalam perancangan tapis BPF 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 BPF digital optimal. Paling kurang ada 2 aspek penting yang sangat
6
Vol.16 No.1. Februari 2014
Jurnal Momentum
ISSN : 1693-752X
Goldberg, David E. 1989. Genetic Algorithms in Search, Optimization, and Machine Learning. New York : AddisonWesley 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 : SpringerVerlag London Limited. Man, Tang and Kwong. 1996. Genetik Algorithms: Consepts and applications. IEEE Trans. Ind. electron., vol. 43, no. 5, Okt., pp. 519531. Pohlheim, Hartmut.. 1998. Genetic and Evolutionary Algorithms : Principles, Methods and Algorithms. The Mathworks Inc., on his web: www.geatbx.com.
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 semakin lama. Bila 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. DAFTAR PUSTAKA Davis, Lawrence (edit). 1991. Handbook of Genetic Algorithms. New York : Van Nostrand Reinhold.
7