PROGRAM SIMULASI UNTUK REALISASI STRUKTUR TAPIS INFINITE
IMPULSE RESPONSE UNTUK MEDIA PEMBELAJARAN
DIGITAL SIGNAL PROCESSING
Damar Widjaja1), Teresia Herlina Bintari2), Bayu Primawan3)
Jurusan Teknik Elektro, Universitas Sanata Dharma, Yogyakarta
damar@staff.usd.ac.id1), herlina_bintari@yahoo.com2) , bayu@staff.usd.ac.id3)
ABSTRACT
This project elaborates on a simulation program for creating structure of infinite impulse response (IIR) filter. The simulation program will simulate how to design the IIR filter from determination specification, calculation of filter coefficient, structure realization and calculation of wordlength effect. Program will calculate the filter coefficient from input specification and is represented by a fixed number of bit (quantization). The calculation of IIR filter coefficient uses the Pole Zero Placement method and the Impulse Invariant method. Filter coefficient that has been quantized is formed in the form of direct and cascade structures. From the structures, program calculates the finite wordlength effect that consists of coefficient quantization errors. The simulation program for the creation of the structure IIR filter was implemented and tested to observe the filter performance. The filter performance is observed from the curve of response frequency representing the output of simulation program. It has been observed that the Pole Zero Placement method is the best method to design IIR filter. High sampling frequency increases the performance of the filter and limited number of quantization bit decreases the performance of the filter.
Keywords: IIR, Filter Coefficient, Structure Realization
1. Pendahuluan
Tapis adalah suatu rangkaian yang menghasilkan karakteristik tanggapan frekuensi yang telah ditentukan dengan tujuan melewatkan rentang frekuensi yang diinginkan dan menekan atau menolak frekuensi yang tidak diinginkan. Pada proses pengolahan sinyal, tapis digunakan untuk keperluan penapisan (filtering), penghalusan (smoothing), dan prediksi (prediction). Sedangkan tapis digital adalah algoritma matematika yang diimplementasikan dalam hardware atau
software yang beroperasi dengan sinyal masukan untuk menghasilkan sinyal keluaran untuk tujuan filtering. Dalam
proses pembelajaran Jurusan Teknik Elektro di perguruan tinggi, pokok bahasan mengenai tapis digital terdapat dalam materi kuliah Pengolahan Sinyal Digital.
Tapis digital diklasifikasikan menjadi dua macam berdasarkan tanggapan impulsnya, yaitu tapis digital dengan tanggapan impuls berhingga atau Finite Impulse Response (FIR) dan tapis digital dengan tanggapan impuls tak berhingga atau
Infinite Impulse Response (IIR). Tujuan penelitian ini adalah menghasilkan suatu program simulasi untuk realisasi
struktur tapis digital IIR. Hasil penelitian ini dapat dimanfaatkan sebagai alat bantu pembelajaran yang mempermudah dosen untuk menjelaskan tapis digital dan mempermudah mahasiswa untuk memahaminya.
Program simulasi ini dirancang dengan beberapa batasan, antara lain spesifikasi tapis yang menjadi masukan program terdiri dari passband edge frequency, transition width, frekuensi sampling, passband ripple, dan stopband attenuation. Penghitungan koefisien tapis menggunakan Invariant Impulse Method dan Pole-Zero Placement Method. Realisasi struktur tapis menggunakan direct form dan cascade form. Finite wordlenght effect yang dianalisis adalah coefficient
quantization errors.
2. Tinjauan Pustaka
2.1 Tapis Digital IIR
Tapis IIR memiliki struktur yang rekursif dengan karakteristik persamaan beda (difference quation ) sebagaiberikut[1][3]:
( )
∑
∞( ) (
)
∑
(
)
∑
(
)
= = = − − − = − = 0 0 1 k N k M k k kxn k a yn k b k n x k h n ydengan y(n) adalah keluaran tapis digital, h(k) adalah tanggapan impuls tapis digital, x(n–k) adalah masukan tapis sebelumnya, y(n–k) adalah keluaran tapis sebelumnya, dan ak dan bk adalah koefisien tapis. Fungsi transfer untuk tapis
IIR adalah:
( )
∑
∑
= − = − − − − − + = + + + + + + = M k k k N k k k M M N N z a z b z a z a z b z b b z H 1 0 1 1 1 1 0 1 ... 1 ...Fungsi transfer pada persamaan (2) dapat difaktorisasi menjadi[2][4]:
(1)
( )
(
(
)(
)(
) (
) (
)
)
M N p z p z p z z z z z z z K z H − − − − − − = . . . . . . 2 1 2 1dengan
z
1,z
2… merupakan tempat kedudukan zero dan p1, p2… merupakan tempat kedudukan pole.2.2 Realisasi Struktur Tapis Digital IIR
Realisasi struktur yaitu pengubahan fungsi transfer, H(z), ke struktur tapis yang sesuai. Penggambaran struktur umum menggunakan diagram blok. Elemen-elemen dasar dari realisasi struktur yaitu pengali (multiplier), penjumlah (adder), dan delay. Elemen-elemen dasar dari struktur tapis ditunjukkan pada Gambar 1.
Gambar 1. Elemen-elemen Dasar Struktur Tapis[1]
2.2.1 Struktur Langsung
Realisasi bentuk langsung dari persamaan (1) ditunjukkan pada Gambar 2., dengan N = M supaya sederhana. Koefisien yang digunakan sama seperti yang ada pada fungsi transfer, tetapi untuk denominator tandanya dibalik.
Gambar 2. Realisasi Struktur Langsung Tapis IIR[1]
2.2.2 Struktur Kaskade
Realisasi kaskade untuk fungsi transfer difaktorkan ke dalam N/2 dengan second order section (sos) berikut[1] :
( )
( )
∏
( )
( )
∏
= = − − − − = + + + + = 2 2 1 1 2 2 1 1 2 2 1 1 0 1 N N k k k k k k k k k z D z N z H z a z a z b z b b z H dengan( )
2 2 1 1 0 + − + − =b b z b z z Nk k k k( )
2 2 1 1 1+ − + − = a z a z z Dk k kN merupakan orde tapis, yang berjumlah genap. Jika ganjil, maka salah satu dari Hk(z) merupakan first-order section. Nk(z) adalah numerator dan Dk(z) adalah denominator. Setiap sos, Hk(z), dapat direalisasikan dengan membuat blok-blok
dan hasilnya kemudian digabungkan secara kaskade, seperti ditunjukkan oleh Gambar 3.
Gambar 3. Realisasi Struktur Kaskade Tapis IIR[1]
(3)
3. Perancangan
3.1 Langkah-langkah Perancangan Tapis Digital IIR
Perancangan tapis digital IIR dilakukan dengan mengikuti alur perancangan yang terdiri dari lima tahap utama seperti berikut[1]:
1. Menentukan spesifikasi tapis, seperti passband edge frequency, transition width, frekuensi sampling, transition
width, passband ripple, stopband attenuation.
2. Menghitung koefisien tapis, yaitu mencari nilai ak dan bk. Ada beberapa metode yang dapat digunakan untuk
menghitung koefisien tapis. Metode yang akan digunakan dalam penelitian ini adalah metode Peletakan Pole-Zero dan metode Impuls Invariant.
3. Realisasi struktur tapis, yaitu mengubah fungsi transfer, H(z), ke bentuk struktur tapis yang sesuai. Ada beberapa macam bentuk struktur tapis, antara lain struktur langsung, struktur kaskade, dan struktur paralel. Struktur tapis yang akan digunakan dalam penelitian ini adalah struktur langsung dan struktur kaskade.
4. Analisa finite wordlength effect
Finite wordlength effect adalah efek yang terjadi jika jumlah bit untuk menyatakan koefisien terbatas. Efeknya
adalah penurunan kinerja tapis sampai pada kondisi tidak stabil. Sumber utama penurunan kinerja tapis digital yaitu: a) Sedikitnya level kuantisasi sinyal masukan dan keluaran.
b) Coefficient quantization error, yaitu kuantisasi koefisien yang tidak akurat yang menyebabkan perubahan tanggapan frekuensi dan dapat menyebabkan tapis tidak stabil.
c) Roundoff error, yaitu kesalahan karena pembulatan aritmatika yang menyebabkan tapis tidak stabil. d) Overflow, yaitu hal yang terjadi jika hasil penjumlahan melebihi wordlength yang diinginkan. Penelitian ini akan membahas tentang coefficient quantization error saja.
5. Implementasi tapis
Implementasi bisa dilakukan pada dengan mengacu pada persamaan beda (difference equation).
Gambar 4. menunjukkan algoritma lima tahap utama perancangan program simulasi untuk realisasi struktur tapis IIR.
Gambar 4. Algoritma Perancangan Program Simulasi 3.2 Layout Tampilan
Layout program adalah rancangan secara visual yang merupakan bentuk implementasi program simulasi untuk realisasi
struktur tapis IIR. Bentuk dari layout program dapat dilihat pada Gambar 5. Gambar 5 ini juga menunjukkan hasil simulasi untuk Low Pass Filter (LPF). Layout terdiri dari beberapa komponen sebagai penyusunnya. Komponen-komponen tersebut terbagi menjadi dua bagian besar, yaitu bagian masukan dan bagian keluaran. Bagian masukan digunakan oleh pengguna untuk memasukkan spesifikasi filter, memilih metode perhitungan koefisien, dan memilih struktur filter yang diinginkan. Beberapa pilihan masukan telah disediakan di program, seperti rentang frekuensi yang diinginkan, metoda perhitungan koefisien dan jenis struktur filter. Pengguna dapat memilih dari pop-up menu dan radio
button yang ada. Push button digunakan untuk beberapa tombol seperti Design Filter 1 yang digunakan untuk
menjalankan program perancangan tapis pertama, Design Filter 2 digunakan untuk menjalankan program perancangan tapis kedua, Struktur 1 digunakan untuk menampilkan gambar struktur tapis dan koefisien struktur tapis pertama, dan Struktur 2 digunakan untuk menampilkan gambar struktur tapis dan koefisien struktur tapis kedua. Bagian keluaran terdiri dari tampilan kurva tanggapan frekuensi, struktur filter dan nilai-nilai koefisien yang dihasilkan, dan error kuantisasi yang terjadi. Tampilan kurva tanggapan frekuensi dapat diubah dengan push button yang ada di bawah grafik yang dapat digunakan untuk melihat legend, memperlihatkan grid, dan melakukan zoom.
Selain itu, program simulasi ini juga dilengkapi dengan menu bar. Pada menu bar terdapat menu item File yang di dalamnya terdapat submenu buka, simpan, dan keluar. Submenu Buka digunakan untuk membuka file, submenu Simpan
Menentukan spesifikasi tapis Menghitung dan menampilkan
koefisien tapis Menampilkan realisasi struktur Menghitung dan menampilkan
coefficient quantization error
Menampilkan kurva tanggapan frekuensi
adalah Bantuan yang di dalamnya terdapat submenu Bantuan yang berisi penjelasan mengenai syarat-syarat untuk masukan tapis yang harus dipenuhi.
4. Pembahasan
4.1 Hubungan antara Metode Perancangan Tapis dengan Kinerja Tapis
Contoh masukan dan hasil program simulasi untuk merancang LPF ditunjukkan pada Tabel 1. Gambar 5. merupakan contoh tampilan program simulasi hasil perancangan. Metode Peletakan Pole Zero dan metode Impuls Invariant dapat dipilih dengan menekan tombol Design 1 dan tombol Design 2. Setelah itu akan muncul kurva tanggapan frekuensi. Gambar 5. digunakan untuk melihat perbandingan kinerja tapis yang dirancang menggunakan kedua metode di atas. Gambar 6. merupakan contoh tampilan struktur tapis menggunakan bentuk langsung.
Tabel 1. Spesifikasi Perancangan LPF.
Hasil/Keluaran Spesifikasi Masukan
Impuls Invariant Peletakan Pole Zero
passband edge frequency (Hz) 5000 4190 5180
transition width (Hz) 2000 2791 1949
frekuensi sampling (Hz) 20000 20000 20000
passband ripple (dB) -3 -0.001357 -0.2955
stopband attenuation (dB) -60 -60 -129.4
bentuk struktur langsung langsung langsung
Gambar 5. Layout dan Tampilan Hasil Perancangan Low Pass Filter.
Dari Tabel 1. terlihat bahwa untuk metode Peletakan Pole Zero menghasilkan selisih passband edge frequency yang lebih kecil dari metode Impuls Invariant dibanding spesifikasi masukan. Demikian juga dengan selisih transition width. Dalam hal passband ripple, pada metode Impuls Invariant memperlihatkan kinerja yang sangat baik. Sedangkan stopband
attenuation, metode Peletakan Pole Zero menghasilkan kinerja yang lebih baik. Dari hasil pengamatan keseluruhan,
metode Peletakan Pole Zero menghasilkan kinerja terbaik untuk merancang tapis, karena spesifikasi aktual yang dihasilkan lebih mendekati spesifikasi yang diharapkan dengan transition width yang lebih curam, passband ripple dan
stopband attenuation nilainya mendekati nol.
Masukan
Gambar 6. Tampilan Struktur Tapis Bentuk Langsung. 4.2 Hubungan antara Frekuensi Sampling dengan Kinerja Tapis
Gambar 7 (a) menunjukkan grafik hubungan antara galat passband edge frequency terhadap frekuensi sampling. Pada metode Impuls Invariant, galat yang besar terjadi saat frekuensi sampling rendah, yaitu 16.2%. Semakin tinggi frekuensi
sampling, galat passband edge frequency semakin kecil, yaitu 1.56%. Pada metode Peletakan Pole Zero, galat terbesar
terjadi saat frekuensi sampling rendah, yaitu 3.6%. Semakin tinggi frekuensi sampling, galat passband edge frequency semakin kecil, yaitu 1.94%. Jadi semakin tinggi frekuensi sampling, kinerja tapis semakin baik.
0 5 10 15 20 20000 22000 24000 26000 28000 30000 32000 34000 36000 38000 Frekuensi Sampling (Hz) G al at (% )
Impuls Invariant Peletakan Pole Zero
0 10 20 30 40 50 20000 22000 24000 26000 28000 30000 32000 34000 36000 38000 Frekuensi Sampling (Hz) Ga la t (% )
Impuls Invariant Peletakan Pole Zero
(a) (b) 0 50 100 150 20000 22000 24000 26000 28000 30000 32000 34000 36000 38000
Frekuensi Sam pling (Hz)
G
al
at (%)
Impuls Invariant Peletakan Pole Zero
0 50 100 150 20000 22000 24000 26000 28000 30000 32000 34000 36000 38000 Frekuensi Sampling (Hz) Ga la t ( % )
Impuls Invariant Peletakan Pole Zero
(c) 4.21 (7d)
Gambar 7. Grafik Hubungan Antara Galat pada (a) Passband Edge Frequency, (b) Transition Width, (c) Passband
Ripple, dan (d) Stopband Attenuation dengan Frekuensi Sampling.
Gambar 7 (b) menunjukkan grafik hubungan antara galat transition width terhadap frekuensi sampling. Pada metode Impuls Invariant, galat yang besar terjadi saat frekuensi sampling rendah, yaitu 39.55%. Semakin tinggi frekuensi
sampling, galat transition width yang dihasilkan semakin kecil, yaitu 3.5%. Pada metode Peletakan Pole Zero, saat
frekuensi sampling rendah, galat yang terjadi kecil, yaitu 2.55%. Saat frekuensi sampling semakin tinggi, galat transition
width semakin besar, yaitu sebesar 22.55%. Jadi kinerja kedua metoda dalam hal transition width saling berkebalikan.
Gambar 7 (c) menunjukkan grafik hubungan antara galat passband ripple dengan frekuensi sampling. Pada Metode Impuls Invariant, galat yang besar terjadi saat frekuensi sampling rendah, yaitu 99.957%. Makin tinggi frekuensi
sampling, galat passband ripple semakin kecil, yaitu 0.7%. Pada metode Peletakan Pole Zero, frekuensi rendah
menghasilkan galat besar, yaitu 90.15%. Semakin tinggi frekuensi sampling, galat passband ripple semakin kecil, yaitu 56.33%. Jadi semakin besar frekuensi sampling, kinerja tapis semakin baik.
Gambar 7 (d) menunjukkan grafik hubungan antara galat stopband attenuation terhadap frekuensi sampling. Tapis yang dirancang menggunakan metode Impuls Invariant memiliki stopband attenuation seperti spesifikasi yang diharapkan,
rendah, yaitu sebesar 115.66%. Semakin tinggi frekuensi sampling, galat stopband attenuation semakin kecil, yaitu 29.11%. Jadi semakin besar frekuensi sampling, kinerja tapis semakin.
4.3 Hubungan antara Jumlah Bit Kuantisasi Koefisien Tapis dengan Kinerja Tapis
Gambar 8 (a) menunjukkan grafik hubungan antara galat passband edge frequency terhadap bit kuantisasi. Pada metode Impuls Invariant, galat kecil saat jumlah bit kuantisasi kecil, yaitu 8.56%. Semakin besar jumlah bit kuantisasi, galat
passband edge frequency semakin besar, yaitu 16.4%, tetapi selanjutnya stabil. Pada metode Peletakan Pole Zero, galat
terbesar terjadi saat jumlah bit kuantisasi kecil, yaitu 6.04%. Semakin besar jumlah bit kuantisasi, galat passband edge
frequency semakin kecil, yaitu 3.6%. Jadi semakin besar jumlah bit kuantisasi, kinerja tapis semakin baik untuk metode
Peletakan Pole Zero, karena galat semakin kecil dan nilai passband edge frequency semakin mendekati spesifikasi yang diharapkan. 0 5 10 15 20 5 6 8 10 12 14 16 18 20 22 24 26 28 Bit Kuantisasi G al at (% )
Impuls Invariant Peletakan Pole Zero
0 20 40 60 80 5 6 8 10 12 14 16 18 20 22 24 26 28 Bit Kuantisasi Ga la t ( % )
Impuls Invariant Peletakan Pole Zero
(a) (b) 0 50 100 150 200 250 5 6 8 10 12 14 16 18 20 22 24 26 28 Bit Kuantisasi Ga la t ( % )
Impuls Invariant Peletakan Pole Zero
0 20 40 60 80 100 120 140 5 6 8 10 12 14 16 18 20 22 24 26 28 Bit Kuantisasi Ga la t (% )
Impuls Invariant Peletakan Pole Zero
(c) (d)
Gambar 8. Grafik Hubungan Antara Galat pada (a) Passband Edge Frequency, (b) Transition Width, (c) Passband
Ripple, dan (d) Stopband Attenuation dengan Bit Kuantisasi.
Gambar 8 (b) menunjukkan grafik hubungan antara galat transition width dengan bit kuantisasi. Pada metode Impuls Invariant, saat bit kuantisasi kecil, galat transition width kecil, yaitu 8.1%. Semakin besar bit kuantisasi, galat transition
width semakin besar, yaitu 40.05%. Pada metode Peletakan Pole Zero, saat bit kuantisasi kecil, galat transition width
cukup besar, yaitu sebesar 61.6%. Semakin besar bit kuantisasi, galat transition width semakin kecil, yaitu 1.6%. Jadi semakin besar bit kuantisasi, kinerja tapis semakin baik untuk metode Peletakan Pole Zero.
Gambar 8 (c) menunjukkan grafik hubungan antara galat passband ripple dengan bit kuantisasi. Pada metode Impuls Invariant, galat terbesar terjadi saat bit kuantisasi kecil, yaitu 142.26%. Saat bit kuantisasi semakin besar, galat passband
ripple yang dihasilkan lebih kecil, yaitu 99.99%. Pada metode Peletakan Pole Zero, saat bit kuantisasi kecil, galat passband ripple sebesar 79.11%. Semakin besar bit kuantisasi, galat passband ripple naik sangat besar, yaitu 236.16%.
Kemudian nilai passband ripple menurun sehingga galat yang terjadi sebesar 90.18%. Dapat dikatakan bahwa semakin besar bit kuantisasi, maka kinerja tapis semakin baik.
Gambar 8 (d) menunjukkan grafik hubungan antara galat stopband attenuation dengan bit kuantisasi. Pada metode Impuls Invariant, saat bit kuantisasi kecil, galat yang terjadi sebesar 14.43%. Semakin besar bit kuantisasi, galat stopband
attenuation mendekati nol. Pada metode Peletakan Pole Zero, saat bit kuantisasi kecil, galat yang terjadi sebesar 83.5%.
Saat bit kuantisasi semakin besar, galat yang terjadi sebesar 125.33%. Kemudian galat semakin menurun hingga sebesar 115.66%. Jadi semakin besar bit kuantisasi, kinerja tapis semakin baik.
4.4 Hubungan Antara Transition Width dan Stopband Attenuation dengan Jumlah Koefisien Tapis Hasil Perancangan dan Kinerja Tapis
Gambar 9 menunjukkan grafik hubungan antara stopband attenuation dengan jumlah koefisien tapis hasil perancangan. Pada metode Impuls Invariant, jumlah koefisien tapis semakin banyak saat nilai stopband attenuation semakin besar. Jadi semakin besar stopband attenuation, kinerja tapis semakin baik semakin mendekati karakteristik tapis ideal. Pada metode Peletakan Pole Zero, perubahan nilai stopband attenuation tidak mempengaruhi jumlah koefisien. Hal ini disebabkan nilai stopband attenuation tidak digunakan dalam merancang tapis. Stopband attenuation yang dihasilkan pada tapis merupakan jumlah dari koefisien tapis pada fungsi transfer.
0 10 20 30 40 10 20 30 40 50 60 70 80 90 100 Stopband Attenuation (dB) Ju m la h Ko ef is ie n ( N )
Peletakan Pole Zero Impuls Invariant
0 10 20 30 40 50 1000 1400 1800 2200 2600 3000 3400 3800 4200 4600 Transition Width (Hz) Ju m lah Ko ef is ie n ( N )
Peletakan Pole Zero Impuls Invariant
(a) (b)
Gambar 9. Grafik Hubungan antara (a) Stopband Attenuation dan (b) Transition Width dengan Jumlah Koefisien Tapis.
Gambar 9 (b) menunjukkan grafik hubungan antara transition width dengan jumlah koefisien tapis hasil perancangan. Pada metode Impuls Invariant, jumlah koefisien tapis semakin kecil saat nilai transition width semakin besar. Jadi semakin kecil transition width, kinerja tapis semakin baik karena dengan semakin banyak jumlah koefisien, tapis yang dihasilkan semakin mendekati karakteristik tapis ideal.
Dari semua percobaan yang telah dilakukan, program simulasi ini mampu melakukan simulasi sesuai dengan teori tentang tapis IIR. Jadi program ini dapat digunakan sebagai program bantu dalam proses pembelajaran tapis IIR yang merupakan topik dasar pada bidang digital signal proccessing. Keterbatasan dari program simulasi ini antara lain melakukan penghitungan koefisien hanya dengan dua metode, memberikan realisasi filter dalam dua struktur dan memberikan analisa finite wordlength effect hanya untuk coefficient quantization error. Sehingga program simulasi ini, di masa mendatang masih dapat dikembangkan untuk memberikan simulasi perancangan tapis IIR secara lengkap.
5. Kesimpulan
Berdasarkan perancangan dan pengamatan yang telah dilakukan, maka diperoleh beberapa kesimpulan sebagai berikut: 1. Program simulasi untuk realisasi struktur tapis digital IIR telah berhasil dibuat dengan baik.
2. Metode Peletakan Pole Zero menghasilkan tapis dengan spesifikasi aktual yang lebih mendekati spesifikasi yang diharapkan dibandingkan metode Impuls Invariant.
3. Dari data percobaan, terbukti bahwa frekuensi sampling dan bit kuantisasi yang semakin besar akan meningkatkan kinerja tapis, serta stopband attenuation yang semakin besar dan transition width yang semakin kecil akan meningkatkan jumlah koefisien tapis.
Daftar Pustaka
[1] Ifeachor, Emmanuel C., dan Jervis, Barrie W. (2001). Digital Signal Processing, 2nd edition. Prentice-Hall, USA.
[2] DeFatta, David J., Lucas, Joseph G., dan Hodgkiss, William S. (1995). Digital Signal Processing: A System Design
Approach. John Wiley and Sons, New York.
[3] Mitra, S.K. (2001). Digital Signal Processing: A Computer-Based Approach. McGraw-Hill, New York.
[4] Application Toolbox II: Digital Filter Design, http://sparg.derby.ac.uk/SPARG/PDFs/Application Toolbox II: Digital Filter Design/Chapter%206.pdf, diakses terakhir tanggal 16 Mei 2007.