Konferensi Nasional Sistem dan Informatika 2008; Bali, November 15, 2008
KNS&I08-044
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
[email protected]),
[email protected]) ,
[email protected]) 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]: ∞
N
M
k =0
k =0
k =1
y (n ) = ∑ h(k )x(n − k ) = ∑ bk x(n − k ) − ∑ ak y (n − k )
(1)
dengan 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: N
−1
−N
b + b z + ... + bN z = H (z ) = 0 1 −1 1 + a1 z + ... + aM z − M
∑b z k =0 M
1 + ∑ ak z − k k =1
Fungsi transfer pada persamaan (2) dapat difaktorisasi menjadi[2][4]:
249
−k
k
(2)
Konferensi Nasional Sistem dan Informatika 2008; Bali, November 15, 2008
H (z ) =
KNS&I08-044
K (z − z1 )( z − z 2 ) . . . ( z − z N ) (z − p1 )(z − p2 ) . . . (z − pM )
(3)
dengan z1, z2… 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] :
+ b2 k z −2 + a2 k z − 2 k =1 1 + a1k z N
−1
b +b z H (z ) = ∏ 0 k 1k −1 N
2
H (z ) = ∏ 2
k =1
dengan
(4)
N k (z ) Dk ( z )
N k (z ) = b0 k + b1k z −1 + b2 k z −2
Dk ( z ) = 1 + a1k z −1 + a2 k z −2
N 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]
250
Konferensi Nasional Sistem dan Informatika 2008; Bali, November 15, 2008
KNS&I08-044
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. Menentukan spesifikasi tapis Menghitung dan menampilkan koefisien tapis Menampilkan realisasi struktur Menghitung dan menampilkan coefficient quantization error Menampilkan kurva tanggapan frekuensi 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. Komponenkomponen 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 digunakan untuk menyimpan file, dan submenu Keluar digunakan untuk keluar dari program. Menu item yang lainnya 251
Konferensi Nasional Sistem dan Informatika 2008; Bali, November 15, 2008
KNS&I08-044
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
Masukan
Keluaran
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.
252
Konferensi Nasional Sistem dan Informatika 2008; Bali, November 15, 2008
KNS&I08-044
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. Impuls Invariant
Impuls Invariant
Peletakan Pole Zero 50
Galat (%)
Galat (%)
20 15 10 5 0
40 30 20 10 0
20000 22000 24000 26000 28000 30000 32000 34000 36000 38000
20000
(a) Impuls Invariant
22000
24000
26000
28000
30000
32000
34000
36000
38000
Frekuensi Sam pling (Hz)
Frekuensi Sam pling (Hz)
(b) Peletakan Pole Zero
Impuls Invariant
150
Peletakan Pole Zero
150 G alat (%)
Galat (%)
Peletakan Pole Zero
100 50
100 50 0
0 20000 22000 24000 26000 28000 30000 32000 34000 36000 38000
20000 22000 24000 26000 28000 30000 32000 34000 36000 38000
Frekuensi Sam pling (Hz)
Frekuensi Sam pling (Hz)
(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, sehingga galat sama dengan nol. Pada metode Peletakan Pole Zero, galat yang besar terjadi saat frekuensi sampling 253
Konferensi Nasional Sistem dan Informatika 2008; Bali, November 15, 2008
KNS&I08-044
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. Peletakan Pole Zero
Impuls Invariant
20
80
15
60
G alat (% )
Galat (%)
Impuls Invariant
10 5
40 20 0
0 5
6
8
10
12
14
16
18
20
22
24
26
5
28
6
8
10
12
(a)
Impuls Invariant
Peletakan Pole Zero
250 Galat (%)
200 150 100 50 0 6
8
10
12
14
16
18
20
22
24
26
28
26
28
(b)
Impuls Invariant
5
14
Bit Kuantisasi
Bit Kuantisasi
Galat (%)
Peletakan Pole Zero
16
18
20
22
24
26
28
5
Bit Kuantisasi
Peletakan Pole Zero
140 120 100 80 60 40 20 0 6
8
10
12
14
16
18
20
22
24
Bit Kuantisasi
(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. 254
Konferensi Nasional Sistem dan Informatika 2008; Bali, November 15, 2008
Impuls Invariant
Peletakan Pole Zero
40
Jumlah Koefisien (N)
Jumlah Koefisien (N)
Peletakan Pole Zero
30 20 10 0 10
20
30
40
50
60
70
80
90
KNS&I08-044
100
Impuls Invariant
50 40 30 20 10 0 1000 1400 1800 2200 2600 3000 3400 3800 4200 4600
Stopband Attenuation (dB)
Transition Width (Hz)
(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.
255