LAPORAN TAHUNAN
PENELITIAN HIBAH BERSAING
METODE EFISIENSI AREA INTEGRATED CIRCUIT (IC) DENGAN
REDUKSI WORDLENGTHS UNTUK MENINGKATKAN KINERJA
PERANGKAT KOMPUTASI ELEKTRONIK
Tahun ke 2 dari rencana 3 tahun
Zulfikar, S.T., M.Sc.
NIDN. 0020077507
Hubbul Walidainy, S.T., M.T.
NIDN. 0026087301
Dibiayai oleh Direktorat Penelitian Pengabdian kepada Masyarakat,
Direktorat Jenderal Pendidikan Tinggi, Kementerian Pendidikan dan
Kebudayaan, sesuai dengan Surat Perjanjian Penugasan Pelaksanaan
Hibah Penelitian bagi Dosen Perguruan Tinggi Batch I Universitas Syiah
Kuala Tahun Anggaran 2015
Nomor: 035/SP2H/PL/Dit.Litabmas/II/2015 tanggal 5 Pebruari 2015
UNIVERSITAS SYIAH KUALA
NOVEMBER 2015
i
RINGKASAN
Perkembangan teknologi integrated circuit (IC) yang kian pesat dan kebutuhan akan bertambahnya informasi yang dapat disajikan dalam sebuah perangkat komputasi elektronik dewasa ini telah mendorong para peneliti untuk menemukan cara menghemat area yang terpakai oleh rangkaian komputasi dalam sebuah IC. Penelitian ini bertujuan menerapkan metode baru dengan cara reduksi wordlengths untuk menghemat area dari suatu IC guna meningkatkan kinerja dari perangkat komputasi elektronik. Dengan berkurangnya
wordlengths, maka area yang dibutuhkan dalam sebuah IC untuk rangkaian komputasi akan semakin kecil.
Pada penelitian ini, untuk tahun kedua dipilih rangkaian transformasi Fourier jenis Discrete Fourier Transform (DFT) sebagai target untuk diefisiensikan. Rangkaian tersebut dirancang dengan menggunakan blok-blok dasar operasi aritmatika seperti penambah dan pengali. Tahapan awal dari teknik reduksi wordlength yang diajukan telah berhasil diaplikasikan pada rangkaian tersebut. Rangkaian 4-point DFT dan teknik perancangannya disajikan secara detail. Hasil simulasi behavior, synthesis dan simulasi waktu terhadap beberapa chip FPGA dari Xilinx dipaparkan pada bab 5. Desain lanjutan untuk 8-point DFT telah berhasil dilaksanakan dan diefisiensikan juga.
Hasil awal dari penelitian ini telah dipublikasikan pada seminar internasional ICEEI 2015 tanggal 10-11 Agustus 2015. Dan hasil lanjutan telah submit pada jurnal internasional bereputasi IJECE. Hasil lanjutan ini (8-point DFT) lebih efisien dari rancangan konvensional. Dengan demikian penelitian ini telah mencapai tujuan keseluruhan.
Keywords: Integrated Circuit, Penghematan Area, Reduksi Wordlengths, FPGA, 4-point DFT, 8-point DFT
PRAKATA
Penelitian ini bermaksud untuk menghemat area suatu IC dari perangkat komputasi elektronik dengan harapan kinerja perangkat tersebut semakin meningkat. Penelitian ini memakai menerapkan teknik reduksi/ pengurangan wordlength dari rangkaian pembangkitan bilangan random. Diharapakan area yang dibutuhkan dalam sebuah IC untuk rangkaian bilangan random semakin kecil.
Adapun Metode dan tahapan penelitian yang digunakan adalah sebagai berikut:
• Studi Literatur, mempelajari beberapa rangkaian aritmatika kompleks yang akan dijadikan sasaran penelitian.
• Implementasi Software, pemodelan rangkaian-rangkaian target ke dalam hardware melalui program VHDL akan dilakukan. Beberapa program simulasi telah dipilih, antara lain Xilinx ISE dan Quartus Altera.
• Perbandingan, bersama dengan rancangan metode baru, akan disimulasikan juga rangkaian-rangkaian aritmatika konvensional yang telah dipakai saat ini. Jika area dari rangkaian dengan metode baru tidak lebih hemat, maka akan dilakukan pemrograman ulang. Perbandingan akan dilakukan melalui software dari Xilinx dan Altera.
• Pengembangan Lanjut, setelah diimplementasikan ke FPGA, akan dikaji kemungkinan penghematan lebih lanjut terhadap rangkaian yang dipilih. Jika memungkinkan akan dilakukan dan dimulai pemrograman ulang.
Penulis mengucapkan terima kasih yang sebesar-besarnya kepada pihak-pihak yang telah membantu terlaksananya penelitian ini.
iii
DAFTAR ISI
RINGKASAN i
PRAKATA ii
DAFTAR ISI iii
DAFTAR TABEL iv
DAFTAR GAMBAR v
DAFTAR LAMPIRAN vi
BAB I. PENDAHULUAN 1
BAB II. TINJAUAN PUSTAKA 4
2.1 Discrete Fourier Transforms 4
BAB III. TUJUAN DAN MANFAAT PENELITIAN 8
3.1 Tujuan Penelitian 8
3.2 Mamfaat Penelitian 8
BAB IV. METODE PENELITIAN 9
BAB V. HASIL YANG DICAPAI 11
5.1 Desain Rangkaian DFT 4 point 11
5.2. Implementasi Rangkaian DFT 4 point 14
5.3. Desain Rangkaian DFT 8 point 15
BAB VI. RENCANA TAHAPAN BERIKUTNYA 20
BAB VII. KESIMPULAN DAN SARAN 21
DAFTAR PUSTAKA 22
DAFTAR TABEL
Tabel I. Jumlah dari nontrivial perkalian real dan penambahan untuk menghitung N
titik komplek DFT 7
Tabel II. Daftar perintah konversi bilangan antara standard logic vector, signed dan
unsigned 4
Tabel III. Perbandingan frekuensi maksimum diantara chip-chip Xilinx 13
Tabel IV. Perbandingan kecepatan diantara chip Xilinx 15
Tabel V. Area yang diperlukan diantara chip Xilinx 15
v
DAFTAR GAMBAR
Gambar 1. Array data dua dimensi untuk penyimpanan urutan x(n), 0<=n<= N-1 5 Gambar 2. Dua pengaturan untuk array-array data; (a) Row wise; (b) Column wise 6
Gambar 3. Fishbone diagram metode penelitian 9
Gambar 4. Blok dan aliran data dari rancangan rangkaian DFT 4-point 12 Gambar 5. Algoritma dari DFT 4-point berdasarkan perkalian dari fungsi Rademacher 13
Gambar 6. Rangkaian kontrol berdasarkan fungsi Rademacher 14
Gambar 7. Hasil simulasi dari desain rangkaian DFT 14
Gambar 8. Skema bagan 8-point DFT 16
Gambar 9 Hasil-hasil komplek konjugate 17
Gambar 10. Desain 8-point DFT ysng efisien 18
Gambar 11. Rangkaian dari 2-point DFT 18
DAFTAR LAMPIRAN
LAMPIRAN I: BIODATA KETUA PENELITI 25
LAMPIRAN II: BIODATA ANGGOTA PENELITI 28
LAMPIRAN III: Publikasi Artikel pada ICEEI 2015 30
1
BAB 1 PENDAHULUAN
Sekarang ini banyak rangkaian elektronika diimplementasikan kedalam sebuah
Integrated Circuit (IC). Kecendrungan untuk masa yang akan datang semakin banyak rangkaian elektronika diimplementasikan kedalam IC, hal ini dikarenakan faktor biaya produksi yang murah jika diproduksi dalam jumlah yang banyak. Seiring dengan itu, tuntutan akan semakin besarnya rangkaian elektronika untuk suatu aplikasi tertentu mendorong para peneliti untuk menemukan cara yang lebih efisien untuk merealisasikan suatu rangkaian elektronika kedalam sebuah IC.
Salah satu faktor efisiensi yang sangat penting dalam merealisasikan suatu rangkaian elektronika kedalam sebuah IC adalah area (besarnya ukuran IC). Sebagai contoh, sebuah telepon genggam produksi sekarang ini mempunyai kemampuan berlipat ganda jika dibandingkan dengan telepon genggam produksi 10 tahun yang lalu dengan ukuran yang sama tentunya, hal ini salah satunya dikarenakan efisiensi area pada IC. Kapasitas IC didalam telepon genggam produksi sekarang ini jauh lebih besar walaupun dengan ukuran (dimensi) yang sama dengan sebelumnya. Hal ini bergantung dari teknologi terbaru pembuatan rangkaian terintegrasi.
Penghematan area dari suatu IC lebih lanjut juga bisa dicapai dengan menyederhanakan rangkaian komputasi elektronik. Rangkaian tersebut digunakan untuk perhitungan-perhitungan seperti penjumlahan, pengurangan, pembagian, perkalian dan lain-lain. Penghematan rangkaian ini akan lebih terasa jika diterapakan pada perhitungan lebih dari satu tingkatan (komplek). Metode yang akan digunakan adalah reduksi wordlengths (lebar kata). Dengan diterapkannya metode ini, diharapkan area yang terpakai didalam suatu IC menjadi lebih kecil. Sehingga suatu IC dengan ukuran yang sama bisa menampung lebih banyak rangkaian untuk aplikasi lain.
Pada tahun 2014, peneliti telah memilih rangkaian pembangkit bilangan randon uniform dengan metode Linear Congruential Generator (LCG). Desain rangkaian LCG yang efisien dibandingkan dengan metode biasa telah dihasilkan dan diseminasikan pada jurnal internasional. Tahapan lanjutan untuk menghemat area dari LCG juga telah dilakukan. Pada tahap lanjut ini, desain rangkaian lebih cepat dari yang sebelumnya.
Metode reduksi wordlengths akan diuji juga terhadap rangkaian-rangkaian lain untuk mendapatkan suatu generalisasi. Tahun 2015, peneliti berencana akan menerapkan metode reduksi wordlengths terhadap rangkaian Discrete Fourier Transform (DFT).
Digital signal processing (DSP) digunakan di hampir semua piranti elektronik. Kebutuhan untuk memproses suatu signal di dalam perangkat elektronik adalah keharusan sekarang ini. Data atau sinyal dari luar atau di dalam perangkat harus diproses untuk tujuan tertentu menggunakan aplikasi khusus. Sering kali data harus ditransformasikan ke domain yang lain untuk mempermudah pemrosesan.
Transformasi yang paling banyak digunakan adalah jenis Fourier transform. Dalam hal discrete, Discrete Fourier Transforms (DFT) sering digunakan untuk merubah sinyal atau data ke domain frekuensi. Ini adalah suatu transformasi yang sangat hebat dan telah digunakan sejak dulu.
DFT tidak efisien jika diimplementasikan secara langsung. Banyak ilmuan memperkenalkan konsep penyederhanaan proses perubahan data dengan DFT. penyederhanaan tersebut membawa ke perkembangan algoritma Fast Fourier Transforms (FFT). Selama beberapa dekade terakhir, peneliti telah mengembangkan algoritma FFT seperti Radix-2, Radix-4, Split Radix, Prime Factor Algorithm (FPA) dan Winograd Fourier Transforms (WFTA). Algoritma-algoritma tersebut telah dikembangkan untuk tujuan tertentu dan masing-asing punya kelebihan dan kekurangan.
Algoritma Walsh transforms lebih sederhana dari pada Fourier transforms, tetapi trnsformasi ini jarang digunakan dan hampir dilupakan. Walsh transforms punya sedikit kesamaan dengan Fourier transforms. Berdasarkan kesamaan tersebut, beberpa peneliti telah mengadopsi algoritma Walsh untuk mengembangkan Fourier transforms yang lebih efisien. Suatu algoritma untuk menghitung DFT dengan menggunakan Walsh transforms di kembangkan melalui faktorisasi matrik intermediate T. Monir T dkk telah mengusulkan suatu kombinasi perhitungan yang efisien dari Walsh dan DFT. teknik ini berdasarkan penggunaan Radix-4 Walsh Hadamard transforms (FWHT). Teknik lain yang juga efisien adalah perhitungan keduanya (DFT dan Walsh transfors) dengan menggunakan algoritma Radix-2 juga telah dipublikasikan.
Algoritma-algoritma kombinasi sebelumnya dirancang untuk input dan output data secara paralel. Hal ini menyebabkan penggunaan memori dalam jumlah besar sehingga tidak sesuai untuk aplikasi rangkaian-rangkaian kecil. Oleh karena itu, kami mengenalkan suatu algoritma untuk meminimalkan penggunaan memori dengan memberikan input secara serial dan output didapat secara paralel. Model algoritma ini bisa di dapatkan dengan menggunakan
3
perkalian dari fungsi Rademacher. Desain telah dilakukan untuk DFT 4-point, detail rancangan akan disajikan kemudian.
Pada tahapan lanjut telah didesain rangkaian untuk menjalankan fungsi 8-point DFT. rangkaian tersebut merupakan gabungan dari rangkaian DFT yang lebih kecil seperti 4-point dan 2-point DFT sesuai dengan konsep decimatin in time (DIT). Desain awal telah dibuat dengan mengkoneksikan DFT yang lebih kecil. Analisa terhadap wordlengths dan kebiasaan data juga telah dilaksanakan. Hasilnya adalah rangkaian 8-point DFT yang efisien.
BAB 2
TINJAUAN PUSTAKA
2.1 Discrete Fourier Transform
Pada dasarnya, permasalahan perhitungan untuk DFT adalah untuk menghitung urutan {X(k)} dari N bilangan nilai komplek yang diberikan urutan data yang lain {x(n)} dengan panjang N, sesuai dengan persamaan (1)
1 0 ) ( ) ( 1 0 − ≤ ≤ =
∑
− = N k W n x k X N n kn N (1) dimana N j N e W − 2π/ = (2)Secara umum, urutan x(n) juga diasumsikan adalah nilai komplek. Begitu juga dengan Inverse Discrete Transform (IDFT) menjadi
1 0 ) ( 1 ) ( 1 0 − ≤ ≤ =
∑
− = − N n W k X N n x N k nk N (3)Perhitungan langsung dari DFT untuk urutan nilai komplek x(n) dari N titik dapat dinyatakan oleh:
∑
− = + = 1 0 2 sin ) ( 2 cos ) ( ) ( N n I R R N kn n x N kn n x k X π π (4)∑
− = − − = 1 0 2 sin ) ( 2 sin ) ( ) ( N n I R I N kn n x N kn n x k X π π (5)Perhitungan langsung dari persamaan-persamaan (4) dan (5) membutuhkan: • 2N2 evaluasi dari fungsi-fungsi trigonometri
• 4N2 perkalian real
• 4N(N-1) penambahan real
• Sebuah bilangan untuk indeks dan pengalamatan operasi
Perhitungan langsung dari DFT pada dasarnya tidak efisien, hal ini karena perhitungan tersebut tidak memperlihatkan properti-properti symetri dan perulangan dari faktor WN.
Kedua property tersebut adalah:
• Properti Symetri: k N N k N W W + /2 =−
5 • Properti Perulangan: k N N k N W W + =
Fast Fourier Transform (FFT) adalah suatu metode cepat untuk perhitungan Discrete Fourier Transform (DFT). Ada beberapa metode yang dapat digunakan untuk melakukan DFT berdasarkan pendekatan divide dan conquer yang mana lebih cepat dari perhitungan DFT secara langsung. Metode-metode tersebut adalah:
• Radix-2 FFT • Radix-4 FFT • Split-Radix FFT
Pendekatannya berdasarkan kepada dekomposisi dari N titik DFT kedalam successive DFT yang lebih kecil. Untuk mengilustrasikan notasi dasar, mari kita lihat perhitungan dari N titik DFT, dimana N dapat difaktorkan sebagai perkalian dari dua bilangan integer, yaitu
N = LM (6)
Urutan x(n), 0 <= n <= N-1, dapat disimpan pada array terindeks satu dimensi oleh n atau sebagai array terindeks dua dimensi oleh l dan m, dimana 0 <= l <= L-1 dan 0 <= m <= M-1 sebagai ilustrasi yang ditunjukkan pada Gambar 1.
0 1 … N-1 x(0) x(1) x(2) … x(N-1) (a) M column index L 0 1 … M-1 0 x(0,0) x(0,1) … 1 x(1,0) x(1,1) … 2 x(2,0) x(2,1) … . . . . . . . . . … . . . L-1 … (b)
Gambar 1. Array data dua dimensi untuk penyimpanan urutan x(n), 0<=n<= N-1
n
M L 0 1 2 … M-1 0 x(0) x(1) x(2) … x(M-1) 1 x(M) x(M+1) x(M+2) … x(2M-1) 2 x(2M) x(2M+1) x(2M+2) … x(3M-1) . . . . . . . . . . . . … . . . L-1 x((L-1)M) x((L-1)(M+1)) x((L-1)(M+2)) … x(LM-1) (a) M L 0 1 2 … M-1 0 x(0) x(L) x(2L) … x((M-1)L) 1 x(1) x(L+1) x(2L+1) … x((M-1)L+1) 2 x(2) x(L+2) x(2L+2) … x((M-1)L+2) . . . . . . . . . . . . … . . . L-1 x(L-1) x(2L-1) x(3L-1) … x(LM-1) (b)
Gambar 2. Dua pengaturan untuk array-array data; (a) Row wise; (b) Column wise Algoritma 1 (row wise):
• Simpan sinyal secara column-wise • Hitung M titik DFT dari setiap row
• Kalikan hasil array dengan faktor phase lq N
W
• Hitung M titk DFT dari setiap column • Baca array yang dihasilkan secara row-wise
Algoritma 2 (column wise):
• Simpan sinyal secara row-wise • Hitung L titik DFT dari setiap column • Kalikan hasil array dengan faktor phase pm
N
W
• Hitung M titik DFT dari setiap row
• Baca array yang dihasilkan secara column-wise
Perkembangan penggunaan FFT dengan pendekatan divide and conquer adalah:
Row wise n=Ml + m
7
• N2 perkalian telah berkurang menjadi N(M+L+1)
• N(N-1) penambahan telah berkurang menjadi N(M+L-2)
Tabel 1: Jumlah dari nontrivial perkalian real dan penambahan untuk menghitung N titik komplek DFT
Perkalian Real Penambahan Real
Radix Radix Radix Split Radix Radix Radix Split
N 2 4 8 Radix 2 4 8 Radix 16 24 20 20 152 148 148 32 88 68 408 388 64 264 208 204 196 1,032 976 972 964 128 712 516 2,504 2,308 256 1,800 1,392 1,284 5,896 5,488 5,380 512 4,360 3,204 3,076 13,566 12,420 12,292 1,024 10,248 7,856 7,172 30,728 28,336 27,652
BAB 3
TUJUAN DAN MANFAAT PENELITIAN
3.1 Tujuan Penelitian
Penelitian ini secara umum bertujuan untuk menghemat area dari suatu IC dari perangkat komputasi elektronik. Diharapkan kinerja perangkat komputasi elektronik tersebut semakin meningkat. Penelitian ini akan menggunakan teknik reduksi wordlengths dari rangkaian komputasi aritmatika. Dengan berkurangnya wordlengths, maka area yang dibutuhkan dalam sebuah IC untuk fungsi yang sama akan semakin kecil.
Pada tahap awal, penelitian ini bertujuan khusus untuk:
1. Melakukan analisis statistik terhadap semua wordlengths yang digunakan dari rangkaian komputasi elektronik (DFT 4 point).
2. Mereduksi wordlengths dari rangkaian komputasi elektronik tersebut.
3. Membandingkan desain rangkaian komputasi elektronik yang telah dengan area dari rangkaian komputasi elektronik lain.
Pada tahap lanjutan, penelitian ini bertujuan khusus untuk:
1. Melakukan analisis statistik secara mendalam terhadap semua sinyal-sinyal (data) yang mungkin digunakan untuk masukan ke rangkaian komputasi elektronik (DFT 8 point).
2. Mereduksi wordlengths rangkaian tersebut, sehingga dicapai hasil yang lebih optimal dari desain lain.
3. Mendokumentasikan dan mendiseminasikan hasil penelitian tersebut kepada pihak terkait baik di tingkat nasional maupun internasional.
3.2 Mamfaat Penelitian
Suatu perangkat elektronik akan lebih bernilai jual jika dilengkapi dengan berbagai macam aplikasi atau fungsi tambahan. Hal ini senada dengan perkembangan teknologi perangkat elektronik selama ini, dimana makin banyak (beragam) aplikasi tambahan yang dimasukkan kedalam suatu perangkat elektronik dengan ukuran atau dimensi yang sama dengan sebelumnya. IC merupakan komponen utama tempat aplikasi-aplikasi disematkan. Jadi kebutuhan untuk menghemat area IC menjadi keharusan. Dengan penghematan area IC maka akan ada ruang untuk menambahkan rangkaian untuk aplikasi yang lain.
9
BAB 4
METODE PENELITIAN
Penulis telah menginisialisasi penelitian ini dengan mempublikasikan konsep dasar reduksi wordlengths dari rangkaian aritmatika. Hasil implementasi konsep desain kedalam FPGA menunjukkan bahwa area yang dibutuhkan lebih sedikit dibandingkan dengan metode konvensional. Penulis juga telah menerapkan metode yang diajukan pada rangkaian LCG, sehingga area yang diperlukan lebih sedikit.
Metode penelitian yang digunakan untuk penghematan area dari IC dengan metode reduksi wordlengths tertuang dalam fishbone diagram (diagram tulang ikan) seperti terlihat pada Gambar 3.
Gambar 3 Fishbone diagram metode penelitian
Berikut adalah penjelasan metode penelitian yang tersusun seperti pada gambar 3:
• Studi Literatur, pada tahap awal, penulis akan mendalami beberapa rangkaian aritmatika komplek yang akan dijadikan sasaran penelitian. Setiap tahun akan dipilih 1 (satu) buah rangkaian. Studi statistik terhadap aplikasi rangkaian tersebut akan dilakukan secara mendalam.
• Implementasi Software, pemodelan rangkaian-rangkaian target kedalam hardware melalui program VHDL akan dilakukan. Beberapa program simulasi telah dipilih,
antara lain: Xilinx ISE dan Quartus Altera. Konsep konversi bilangan sangat membantu dalam penerapan.
• Perbandingan, bersama dengan rancangan metode baru, akan disimulasikan juga rangkaian-rangkaian aritmatika konvensional yang telah dipakai saat ini. Jika area dari rangkaian dengan metode baru tidak lebih hemat, maka akan dilakukan pemrograman ulang. Perbandingan akan dilakukan melalui software dari Xilinx dan Altera.
• Implementasi Hardware, urutan proses untuk mengimplementasikan rangkaian yang dirancang kedalam hardware FPGA adalah: Translation, Mapping, Place & Route, Program Generation, dan Downloading.
• Pengujian Hardware, untuk pengujian ini akan dilakukan beberapa tahapan seperti: pengujian visual, pengujian dengan alat ukur dan pengujian akan dilakukan untuk berbagai macam kemungkinan.
• Pengembangan Lanjut, setelah diimplementasikan ke FPGA, akan dikaji kemungkinan penghematan lebih lanjut terhadap rangkaian yang dipilih. Jika memungkinkan akan dilakukan dan dimulai pemrograman ulang.
Metode penelitian yang telah dijelaskan diatas adalah untuk satu tahapan proses dari suatu rangkaian komputasi elektronik. Hal ini ditargetkan akan selesai selama 1 (satu) tahun. Untuk tahun ke 2 dan ke 3, proses seperti pada fishbone diagram tersebut akan diulang dari awal. Pada tahun ke 2 dan ke 3, implementasi dan pengujian juga akan dilakukan pada
software. Hal ini dilakukan untuk menjustifikasi metode yang telah dirancang dengan berbagai kemungkinan yang tidak didapatkan pada implementasi rangkaian di tahun pertama. Jumlah publikasi setiap tahunnya adalah 2 (dua). Publikasi pertama sekitar bulan Agustus – September, publikasi kedua pada akhir tahun. Publikasi pertama baru bisa dilakukan setelah tahapan Pengujian Hardware. Setelah dilakukan pengembangan untuk penghematan lanjutan, diharapkan hasil penelitian akan lebih baik, sehingga publikasi kedua akan layak untuk dimuat pada jurnal baik ditingkat nasional maupun internasional.
Indikator capaian penelitian ini berdasarkan perbandingan dengan metode konvensional atau dengan rangkaian yang diajukan oleh peneliti lain. Jika area yang diperlukan lebih sedikit dari area yang dibutuhkan oleh metode konvensional atau rangkaian yang dipublikasikan peneliti lain, maka penelitian ini dinilai berhasil. Indikator capaian kedua adalah diterimanya hasil penelitian ini pada seminar dan jurnal ilmiah.
11
BAB 5
HASIL DAN PEMBAHASAN
Penelitian ini dimulai sekitar pertengahan bulan februari. Sampai saat laporan ini dibuat, penelitian ini sudah selesai 100%. Tujuan tahap awal dari penelitian ini telah tercapai. Hal ini diperkuat dengan diterima dan hasil awal penelitian ini pada seminar internasional. Tujuan lanjut dari penelitian ini juga telah tercapai dengan submisi artikel pada jurnal internasional. Berikut akan dipaparkan beberapa rancangan desain rangkaian DFT dan efisiensi yang dicapai terhadap desain tersebut.
5.1 Desain Rangkaian DFT 4 point
Walsh transforms merubah suatu sinyal pada domain waktu ke domain frekuensi dengan cara yang sangat sederhana. Matrik Walsh berisi bilangan +1 atau -1. Dari itu, pada proses perubahan tidak ada perkalian. Mari kita lihat Walsh matrik berikut untuk transform length N=4: 1 1 1 1 1 1 −1 −1 1 −1 1 −1 1 −1 −1 1
Pada saat perubahan hanya dibutuhkan penambahan dan pengurangan saja. Dan ini telah di demonstrasikan oleh banyak peneliti. Walaupun demikian, jenis transformasi ini jarang digunakan dalam aplikasi.
Berbeda halnya dengan DFT, dia membutuhkan algoritma yang sangat rumit dalam melakukan proses transformasi. Namun DFT memberikan lebih banyak informasi tentang suatu sinyal di domain frekuensi. Matrik DFT bisa berisi bilangan bukan integer dan komplek. Sehingga, DFT membutuhkan rangkaian lebih dalam transformasi. Cara DFT melakukan proses transformasi dapat ditiru dari kebiasaan Walsh transforms, terutama untuk N=4. Berikut adalah matrik DFT (N=4):
1 1
1 − −11 1
1 −1
1 −1 −1 −1
Matrik tersebut punya kesamaan dengan matrik Walsh. Matrik DFT berisi biangan positif atau negative kecuali untuk baris pertama. Kami telah mengembangkan algoritma yang menghubungkan kedua jenis transformasi tersebut. Kami memilih menggunakan perkalian dari fungsi Rademacher dalam pentransferan sinyal dari domain waktu ke domain frekuensi. Metode ini telah dikembangkan lebih untuk membedakan dan men treat bilangan komplek
(dalam kasus ini j dan –j). Gambar 4 menunjukkan blok diagram dan aliran data dari DFT 4-point yang dirancang.
Negative Circuits Control Circuits Enter x Xr0 Xr1 Xr2 M u lt ip le x e rs R e a l A ccu m u la to rs O u tp u t B u ff e rs Xr3 Im a g in e r A cc u m u la to rs D a ta B u ff e rs Xi0 Xi1 Xi2 O u tp u t B u ff e rs Xi3
Gambar 4. Blok dan aliran data dari rancangan rangkaian DFT 4-point Blok diagram yang ditunjukkan pada gambar 4 terdiri dari:
- Rangkaian Negatif - Multiplexers
- Data buffers and Output buffers - Real accumulators
- Imaginary accumulators - Rangkaian Kontrol.
Data input x dihubungkan ke rangkaian negative, multiplekser dan buffer data secara parallel. Rangkaian negative digunakan untuk menyediakan nilai negative dari input data x. multiplekser digunaan untuk memilih apakah positif atau negative dari nilai x yang akan dilewatkan. Hubungan langsung antara input data x dengan buffer untuk menghindari pemilihan oleh multiplekser karena baris pertama dari matrik DFT hanya berisi nilai positif.
Nilai yang terpilih akan dilewatkan ke real akumulator atau imaginer akumulaor melalui buffer-buffer juga di control oleh sinyal dari rangkaian control. Akhirnya, semua nilai yang tersimpan pada buffer output akan dilewatkan ke luar dan dianggap sebagai hasil DFT. buffer data dikontrol oleh rangkaian control, tetapi buffer output tidak. Buffer-buffer ini digunakan untuk menyimpan sementara nilai-nilai sebelum di keluarkan.
Gambar 5 menampilkan algoritma dari blok yang telah dirancang pada gambar 4. Data input x dilewatkan ke system secara serial dan hasil DFT diambil secara parallel. Setiap kali sinyal Enter naik, sebuah data x dimasukkan ke system dan fungsi Rademacher dibangkitkan. Buffer (F0, F1, F2, F3) digunakan untuk menyimpan sementara input data. Buffer F1, F2, dan F3 akan menahan nilai sementara berdasarkan perkalian dari fungsi Rademacher. Jika R(1) tidak nol, buffer F3 akan menyimpan nilai negative dari x. jika R(0) adalh nol, buffer F2 akan meyimpa nilai positif dari x, nilai-nilai yang disimpan pada buffer F1 dan F3 akan dianggap
13
imaginer. Selain itu, jika R(0) tidak nol, buffer F2 akan menyimpan nilai negative dari x, nilai pada buffer F1 dan F3 akan diakumukasika pada real akumulator Real1 dan Real 3. Nilai-nilai baik pada real akumulator atau imaginer akumulator akan dianggap sebagai hasil DFT dan akan dilewatkan keluar dari system ketika Clock naik.
Gambar 5. Algoritma dari DFT 4-point berdasarkan perkalian dari fungsi Rademacher Gambar 6 menunjukkan rangkaia control yang digunakan untuk mengatur aliran data dari DFT 4-point yang di rancang. Rangkaian control dibangun berdasarkan fungsi Rademacher. Dalam prakteknya, fungsi Rademacher dapat dengan mudah dibangkitkan menggunakan sebuah counter. Sinyal-sinyal dibangkitan berdasarkan perkalian dari fungsi Rademacher. Sinyal R(0) dan R(1) diambil dari bit LSB dan MSB dari counter naik. Sementara sinyal Rxor adalah perkalian dari R(0) dan R(1). Sinyal-sinyal ini kemudian digunakan untuk mengontrol multiplekser dan akumulator.
Counter up C Q(0) Q(1) R(0) Rxor R(1) Enter
Gambar 6. Rangkaian kontrol berdasarkan fungsi Rademacher
5.2 Implementasi Rangkaian DFT 4 point
Desain DFT 4-point yang diajukan telah diimplementasikan ke dalam FPGA. Berbagai jenis chip Xilinx telah dipilih dengan software Xilinx ISE 13.4. Desain di realisasikan dengan program VHDL. Gambar 7 menunjukkan hasil simulasi behavior dari rangkaian yang didesain. Data input x=[5,6,1,3] di lewatkan ke dalam rangkaian secara seri. Hasil dari DFT muncul secepatnya, tetapi ini bukan nilai akhir karena pada saat tersebut, tidak semua nilai input telah masuk. Hasil DFT yang betul dating setelah semua data telah dilewatkan. Disini keluaran DFT adalah Xr=[15,4,-3,4] dan Xi=[0,-3,0,3] mewakili bagian real dan imaginer. Data input x direpresentatsikan dalam mode 4 bit sign, sementara data output direpresentasikan dengan 6 bit sign. Hal tersebut untuk mengakomodir kemungkinan hasil penjumlahan.
Gambar 7. Hasil simulasi dari desain rangkaian DFT
Tabel 4 memperlihatkan perbandingan kecepatan dari rangkaia yang didesain dalam berbgai chip Xilinx. Teknik DFT yang diajukan akan optimal kecepatannya jika di implementasikan dengan Artix 7. Beberapa parameter kecepatan disini adalah: frekuensi maksimum, waktu antar kedatangan dan waktu yang dibutuhkan output. Kintex 7 hampir
15
secepat Artix 7. Chip Spartan 3E dan Spartan 6 adalah yang paling lambat dibandingkan dengan yang lain, hal ini karena teknologi yang lama.
Dalam hal area yang diperlukan, chip lama (Spartan 3E dan Spartan 6) membutuhkan lebih sedikit area dibandingkan dengan yang lain. Mereka hanya memerlukan 26 slice register dan 48 slice LUT. Sementara itu, chip dengan teknologi baru memerlukan area yang lebih. Hal tersebut dikarenakan chip-chip baru dilengkapi dengan LUT 6 input. Ini akan tidak terlalu efisien untuk rangkaian kecil. Perbandingan area yang diperlukan terpapar dengan jelas pada table 5.
Table 4. Perbandingan kecepatan diantara chip Xilinx
Chips
Speed Variables
Max Frequency Input arrival times Output require time
MHz ns ns Virtex 7 555 0.820 0.737 Spartan 6 352 2.631 3.597 Kintex 7 631 0.758 0.681 Artix 7 635 0.704 0.640 Spartan 3E 296 3.920 4.040
Tabel 5. Area yang diperlukan diantara chip Xilinx
Chips Area Variables
Slice Registers Slice LUTs
Virtex 7 43 56
Spartan 6 26 48
Kintex 7 43 56
Artix 7 43 56
Spartan 3E 26 48
5.3 Desain Rangkaian DFT 8 point
Desain 8-point DFT diturunkan dari hasil penelitian sebelumnya yaitu desain rangkaian 4-point DFT yang digabungkan dengan teknik decimation in time (DIT). Gambar 8 memperlihatkan bagan 8-point DFT yang terkenal. Desain tersebut terdiri dari:
• Dua buah 4-point DFT • Empat buah 2-point DFT
• Tiga buah proses real multiplication • Tiga buah proses imaginary multiplication
Proses perkalian digunakan untuk menjalankan twiddle factor. Seperti yang telah didemonstrasikan sebelumny pada, disana tidak membutuhkan proses perkalian untuk
rangkaian 4-point DFT. Namun demikian, untuk 8-point DFT harus dilengkapi dengan beberapa rangkaian proses perkalian.
Gambar 8. Skema bagan 8-point DFT
Skema rangkaian pada gambar 8 menunjukkan blok-blok dan komponen secara umum. Dalam rangka menghubungkan blok-bok dengan komponen, dibutuhkan teknik khusus yang dapat melibatkan baik rangkaian real maupun imaginer. Jenis-jenis bilangan ini bisa diturunkan dari twiddle factor dari setiap blok atau komponen. Misalkan blok 4-point DFT, tabel 6 memperlihatkan semua kemungkinan jenis bilangan dari jika diasumsikan semua data input adalah real.
Tabel 6. Jenis bilangan berdasarkan perhitungan twiddle factor
k Twiddle Factor Jenis Input Jenis Output
0 W40 Cos (0) – j Sin (0) 1 x(0) : Real X(0) : Real
1 W41 Cos (2π/4) – j Sin (2π/4) - j x(1) : Real X(1) : Real + Imaginary
2 W42 Cos (4π/4) – j Sin (4π/4) - 1 x(2) : Real X(2) : Real
3 W43 Cos (6π/4) – j Sin (6π/4) j x(3) : Real X(3) : Real + Imaginary
Beberapa hasil dari 4-point DFT dikalikan dengan twiddle factor (W81, W82 and W83).
Perkalian ini dapat di analisa sebagai berikut,
(R + I) x W81 = (R + I) x (Cos (2π/8) – j Sin (2π/8)) = (R + I) x (R + I) = R + I
(R) x W82 = (R) x (Cos (4π/8) – j Sin (4π/8)) = (R) x ( I) = I
(R + I) x W83 = (R + I) x (Cos (6π/8) – j Sin (6π/8)) = (R + I) x (R + I) = R + I
Hasilnya adalah bahwa output dari 8-point DFT berisi bilanagn real dan imaginer kecuali untuk X(0) dan X(4) yang hanya berisi bilangan rela saja. Desain ini akan dianalisa kemudian
17
untuk menentukan kebutuhan buffer. Koneksi yang mengandung bilangan real dan imaginer membutuhkan dua kali lebih banyak buffer untuk penyimpanan data sementara.
Jumlah ragkaian yang dibutuhkan untuk desain 8-point DFT sangat banyak. Namun dalam perspektif rangkaian, disana ada peluang untuk dihemat. Analisa yang mendalam untuk menentukan bagian mana saja yang bisa dioptimalkan. Pada desain sebelumnya, jenis bilangan yang digunakan untuk menghubungkan antar blok telah ditentukan. Disini, disediakan analisis dari bilangan-bilangan tersebut.
Fenomena yang unik dari hasil DFT adalah ketika beberapa hasinya adalah komplek conjugate dari hasil yang lainnya. Sebagai contoh diberikan x={1,2,3,4,5,6,7,8}, kemudian hasil DFT adalah X={36, -4+9.66i, -4+4i, -4+1.66i, -4, -4-1.66i, -4-4i, -4-9.66i}. Dimana X1
ber komplek konjugate dengan X7, X2 ber komplek konjugate dengan X6 dan X3 ber komplek
konjugate dengan X5, yang secara umum dapat diformulasikan sebagai berikut:
− ∗, 1,2, … , − 1
Dimana N=4,8,16, ….. hal ini sama dengan hasil-hasil 4-point DFT, D1=D3* (catatan: D
adalah hasil 4-point DFT untuk membedakannya dengan hasil 8-point DFT). Gambar 9 menunjukkan mapping dari semua kemungkinan komplek conjugate dari rangkaian DFT yang dirancang.
Gambar 9. Hasil-hasil komplek konjugate
Dengan didapatkannya komplek conjugate dari beberapa hasil DFT, rangkaian dapat dioptimalkan.
Dari gambar 9, dapat dilihat bahwa hasil-hasil dari 2-point DFT nomor 2 dan 4 adalah komplek conjugate satu sama lain. Dari itu, salah satu blok (DFT) ini dapat dihilangkan. Konsekuensinya, dibutuhkan sebuah rangkaian negative. Keuntungan lain dari penghilangan blok tersebut adalah salah satu komponen twiddle factor W81 atau W83 tidak dibutuhkan lagi.
Hal tersebut juga akan mengurangi rangkaian dari kedua buah 4-point DFT.
Proses perkalian pada W82 juga bisa dihilangkan karena besaran dari W82 adalah 1.
Hasil dari 4-point DFT D2 sekarag dapat dihubungkan langsung dengan input dari 2-point DFT yang ketiga dan diasumsikan sebagai bilanga imaginer. Penghematan lain didapatkan pada kedua buah blok 4-point DFT karena ketidakterhubungan dari hasil D3. Gambar 10
menunjukkan desain rangkaian 8-point DFT yang efisien.
Gambar 10. Desain 8-point DFT ysng efisien
Gambar 11 menunjukkan rangkaian dari 2-point DFT. rangkaian tersebut dikembangkan berdasarkan kesederhanaan dari twiddle factor W20 = 1 dan W21 = -1. Oleh
karena itu, untuk mendapatkan hasil dari DFT tersebut dapat dilakukan hanya dengan menambahkan dan mengurangkan kedua input yang diberikan. Gambar 12 memperlihatkan 4-point DFT yang telah dimodifikasi.
x(1) Adder Adder x(0) X(0) X(1)
19 Negative Circuits Control Circuits Enter x Xr0 Xr1 Xr2 M u lt ip le xe rs R e a l A c c u m u la to rs O u tp u t B u ff e rs Im a g in a ry A c c D a ta B u ff e rs Xi1 O u tp u t B u ff e r
Gambar 12. Rangkaian 4-point DFT yang telah di modifikasi
Rangkaian 4-point DFT yang telah dimodifikasi lebih efisien, rangkaian tersebut hanya menggunakan lebih sedikit akumulator dan buffer. Dapat dilihat bahwa disana hanya ada emapat buah akumulator dan empat buah buffer. Desain sebelumnya membutuhkan delapan buah akumulator dan delapa buah buffer. Walaupun demikian, rangkaian ini tidak bisa digunakan sendiri, melainkan harus diintegrasikan dengan rangkaian lain untuk membentuk rangkaian 8-point DFT.
BAB 6
RENCANA TAHAPAN BERIKUTNYA
Penelitian penghematan area dari rangkaian komputasi elektronik direncanakan akan selesai setelah 3 tahun. Pada tahun pertama (2014), penelitian ini mempunyai dua tahapan tujuan yaitu tahap awal dan tahap lanjutan. Kedua tahapan tersebut telah tercapai dengan baik. Tahun kedua (2015) yang sedang berjalan, peneliti juga telah mendapatkan kedua tahapan tujuan. Tujuan tahap awal untuk mendesain 4-point DFT telah berhasil, begitu juga dengan tujuan tahap lanjutan yang telah berhasil menghemat rangkaian 8-point DFT.
Sebagaimana pada tahun pertama dan kedua yang telah berjalan, penelitian penghematan area terhadap rangkaian transformasi fourier juga akan dijabarkan kedalam dua tahapan dalam masa satu tahun terakhir (2016).
Tahapan awal terdiri dari langkah-langkah sebagai berikut:
1. Melakukan analisis statistik terhadap semua wordlengths yang digunakan dari rangkaian transformasi Fourier jenis Discrete Fourier Transform (DFT) khusus untuk yang lebih besar dari 8-point.
2. Mereduksi wordlengths dari rangkaian tersebut.
3. Membandingkan area dari rangkaian DFT yang telah direduksi wordlengths nya dengan area dari rangkaian DFT konvensional dan yang diajukan orang lain.
Tahapan lanjutan terdiri dari langkah-langkah sebagai berikut:
1. Melakukan analisis secara statistik secara mendalam terhadap semua data-data yang mungkin digunakan untuk masukan ke rangkaian DFT.
2. Dari analisa tersebut, akan dirancang rangkaian DFT modifikasi. Hal ini bertujuan untuk mencapai hasil yang lebih optimal.
3. Mendokumentasikan dalam bentuk laporan penelitian dan mendiseminasikan hasil rancangan lanjutan tersebut pada jurnal internasional.
21
BAB 7
KESIMPULAN DAN SARAN
Rangkaian yang dipilih pada tahun kedua adalah transformasi Fourier. Tujuan awal dan lanjutan dari penelitian ini pada tahun 2015 telah tercapai. Rancangan dan implementasi dari 4-point DFT kedalam FPGA telah berhasil dilakukan. Hasil awal dari penelitian ini telah dipublikasikan pada seminar internasional ICEEI 10-11 agustus 2015.
Rancangan yang lebih efisien untuk 8-point DFT telah berhasil dirancang. Rangkaian modifikasi jauh lebih efisien dalam hal jumlah komponen dan proses aritmatika dibandingkan dengan rangkaian secara umum. Hasil penelitian dari desain yang terakhir telah di submit pada jurnal internasional terindex Scopus (IJECE).
DAFTAR PUSTAKA
A. Amira, A. Bouridane, and P. Milligan, and P. Sage, “A High Throughput, FPGA Implementation of A Bit Level Matrix Product,” Proceeding of IEEE Workshop on Signal Processing Systems Design and Implementation (SIPS), LA, USA, pp: 356-364, 2000.
A. Amira, A. Bouridane, P. Milligan, and M. Roula, “An FPGA Implementation of Walsh-Hadamard Transforms for Signal Processing,” Proceeding of IEEE International Conference on Acoustic, Speech and Signal Processing, Vol. 2, pp: 1105-1108, 2001.
A note on random number generation. September 2009. Christophe Dutang dan Diethelm Wuertz.
B. J. Falkowski, and T. Sasao, “Unified Algorithm to Generate Walsh Functions in Four Different Orderings and Its Programmable Hardware Implementations,” Proceeding of IEE on Vision, Image and Signal Processing, Vol. 152, Issue: 6, pp: 819-826, 2005. B. J. Fino and V. R. Algazi, “Unified Matrix Treatment of the Fast Walsh-Hadamard
Transform,” IEEE Transactions on Computers, Vol. 42, pp: 1142-1146, 1976
D E Knuth. 2002. The Art of Computer Programming: seminumerical algorithms. Vol. 2, Edisi Ketiga. Massachusetts: Addison-Wesley.
D H Lehmer. 1954. Random number generation on the BRL high speed computing machines. Oleh M L Juncosa. Math. Rev. 15, 559
http://www.letech.jpn.com. 2014. Genuine Random Number Generator (GRANG). 10 Maret. http://en.wikipedia.org. 2014. Comparison of hardware random number generators. 10 Maret http://en.wikipedia.org. 2014 - Linear congruential generator, 10th March
http://en.wikipedia.org. 2014. List of random number generators, 11 Maret
“Hadamard Transform.” en.wikipedia.org. Wikipedia, 6 Feb. 2011. Web. 27 Apr. 2011. <http://en.wikipedia.org/wiki/Walsh_transform>
J.W. Cooley and J.W. Tukey. An Algorithm for the Machine Calculation of Complex Fourier
Series. Math. Comp., Vol. 19, pp. 297-301, April 1965.
John. G. Proakis, and Dimitris G. Manolakis, Digital signal processing: principles, algorithms, and applications, 4th ed., Pearson Prentice Hall, New Jersey, 2007. M Anis dkk. 2009. Low-Power Design of Nanometer FPGAs: Architecture and EDA. Morgan
Kaufmann.
M. Y. Zulfikar, S. A. Abbasi, and A. R. M. Alamoud, “FPGA Based Processing of Digital Signals using Walsh Analysis,” Proceeding of IEEE International Conference on Electrical, Control and Computer Engineering (INECCE 2011), pp: 440-444, 21-22 June, Pahang, Malaysia, 2011.
Monir T. Hamood and, Said Boussakta, “Fast Walsh–Hadamard–Fourier transform algorithm,” Trans. Signal Processing, vol. 59, no. 11, pp. 5627-5631, November 2011
23
M. G. Karpovsky, R. S. Stankovic and J. T. Astola, Spectral Logic and Its Applications for The Design of Digital Devices, John Wiley & Sons Inc. Publication, New Jersey, 2008 N Harald. 1992. Random Number Generation and Quasi-Monte Carlo Methods. Society for
lndustrial and Applied Mathematics. Philadelphia.
Numerical Computing with MATLAB. 2008. By Cleve B. Moler, SIAM.
P P Chu. 2006. RTL Hardware Design Using VHDL: Coding for Efficiency, Portability, and
Scalability. Jhon Wiley and Sons.
P. Duhamel, and M. Vetterli, “Fast Fourier Transforms: a tutorial, review and a state of the art,” Trans. Signal Processing, vol. 19, no. 4, pp. 259-299, April 1990.
P. K. Meher, and J. C. Patra, “Fully-Pipelined Efficient Architectures for FPGA Realization of Discrete Hadamard Transform,” Proceeding of International Conference on Application Specific Systems, Architectures and Processors (ASAP 2008), pp: 43-48, 2008
S Hauck dkk. 2007. Reconfigurable Computing: The Theory and Practice of FPGA-Based
Computation. Morgan Kaufmann.
S. K. Bahl, “Design and Prototyping a Fast Hadamard Transformer for WCDMA,” Proceeding of 14th IEEE International Workshop on Rapid Systems Prototyping, pp: 134-140, 2003
S K Park dan K W Miller (1988). Random number generators: good ones are hard to find. Association for Computing Machinery. 31(10). pp: 1192-2001.
S Kilts. 2007. Advanced FPGA Design: Architecture, Implementation, and Optimization. Wiley-IEEE Press.
S. Salivahanan, A. Vallavaraj, and C. Gnanapriya, Digital Signal Processing, McGraw Hill, New Delhi, 2000.
S. Boussakta, and A. G. J. Holt, “Fast algorithm for calculation of both Walsh-Hadamard and Fourier transforms (FWFTs),” Electron. Letter, vol. 25, no. 20, pp. 1352-1354, 1989. Teng Su, and Feng. Yu, “A Family of Fast Hadamard–Fourier Transform Algorithms,” Signal
Processing Letters, vol. 19, no. 9, pp. 583-586, September 2012.
Wolfram Mathematica ® Tutorial Collection. 2008. Random Number Generation. www.doulos.com. 2013. VHDL Vector Arithmetic using Numeric_std. 8th March.
Zulfikar. 2009. Generating Non Uniform Random Numbers Using Residue and Rejection
Methods. Jurnal Rekayasa Elektrika. Vol. 8 No. 2.
Zulfikar. 2014. FPGA Implementations of Uniform Random Number based on Residue
Method. Jurnal Rekayasa Elektrika. Vol. 11 No. 1.
Zulfikar. 2012. Novel Area Optimization in FPGA Implementation Using Efficient VHDL
Zulfikar dkk. 2012. FPGA Based Complete Set of Walsh and Inverse Walsh Transforms for
Signal Processing. Jurnal Electronics and Electrical Engineering. Vol.18. No. 8. Pp: 3-8.
Zulfikar dan H Walidainy. 2014. Design and Implementations of Linear Congruential
Generator into FPGA. International Journal of Electronics Communication and Computer Engineering. Vol. 5, Issue 4. Pp: 809-813.
Zulfikar and H. Walidainy, "A Novel 4-Point Discrete Fourier Transforms Circuit based on Product of Rademacher Functions," IEEE Proceeding of International Conference of Electrical Engineering and Informatics (ICEEI), pp:142-147, Bali, Indonesia, August 10-11, 2015
Zulfikar, S. A. Abbasi, and A. R. M. Alamoud, “A Novel Complete Set of Walsh and Inverse Walsh Transforms for Signal Processing,” Proceeding of IEEE International Conference on Communication Systems and Network Technologies (CSNT 2011), pp: 504-509, Katra, Jammu, 3-5 June, 2011.
Zulfikar, S. A. Abbasi, and A. R. M. Alamoud, “FPGA Based Complete Set of Walsh and Inverse Walsh Transforms for Signal Processing,” Transaction of Electronics and Electrical Engineering, vol. 18, no. 8, pp. 3-8, October 2012
25
LAMPIRAN I. BIODATA KETUA PENELITI
A. Identitas Diri
1 Nama Lengkap (dengan gelar) Zulfikar, S.T., M.Sc.
2 Jenis Kelamin L
3 Jabatan Fungsional Lektor
4 NIP 197507202006041003
5 NIDN 0020077507
6 Tempat dan Tanggal Lahir Kampung Sentosa, 20 Juli 1975
7 E-mail [email protected]
8 Nomor Telepon/HP 081280239034
9 Alamat Kantor Jl Syech Abdurrauf, Darussalam
10 Nomor Telepon/Faks 0651-7554336
11 Lulusan yang Telah Dihasilkan S-1= 5 orang; S-2= - orang; S-3= - orang
12. Mata Kuliah yang diampu
1. Elektronika Digital 2. Perancangan VLSI 3. Elektronika Industri 4. Teknik Digital
5. Elektronika Telekomunikasi 6. Sistem Kendali Terprogram
B. Riwayat Pendidikan
S-1 S-2
Nama Perguruan Tinggi Universitas Sumatera Utara
King Saud University
Bidang Ilmu Teknik Elektro Teknik Elektro
Tahun Masuk-Lulus 1994-1999 2008-2011
Judul Skripsi/Thesis Pengalokasian pita suara dan data ke dalam jaringan B-ISDN
An Intellectual Property Core for Spectrum Analysis, Synthesis and Processing of Periodic Multiple Digital Signals Nama
Pembimbing/Promotor
Ir. Zulfin, M.T. Prof. Shuja A Abbasi
C. Pengalaman Penelitian Dalam 5 Tahun Terakhir
No. Tahun Judul Penelitian Pendanaan
Sumber Jml (Juta Rp) 1 2015
Metode Efisiensi Area Integrated Circuit (IC) dengan Reduksi Wordlengths untuk Meningkat kan Kinerja Perangkat Komputasi Elektronik
DIPA 67,5
2 2014
Metode Efisiensi Area Integrated Circuit (IC) dengan Reduksi Wordlengths untuk Meningkat kan Kinerja Perangkat Komputasi Elektronik
DIPA 46
3 2010 An Advanced Application Specific IC Research NPST 4.800 KSU : King Saud University
NPST: National Plant for Sciences Technology, Saudi Arabia
D. Pengalaman Pengabdian Kepada Masyarakat dalam 5 Tahun Terakhir
No. Tahun Judul Pengabdian Kepada Masyarakat Pendanaan
Sumber Jml (Juta Rp) 1 2015 Pengenalan Aplikasi Komputer untuk Guru SD
Gugus Lambada Klieng Kecamatan Baitussalam Kabupaten Aceh Besar
Mandiri 10,8
2 2012
Pembinaan kelistrikan untuk keamanan dan penghematan energi kepada masyarakat Gampong Mon Mata Kecamatan Lhong Aceh Besar
Mandiri 5,8
E. Publikasi Artikel Ilmiah Dalam Jurnal Dalam 5 Tahun Terakhir
No. Judul Artikel Ilmiah Nama Jurnal Volume/Nomor/ Tahun
1
Desain Sistem Kontrol Traffic Light Adaptif pada Persimpangan Empat Berbasis PLC Siemens
Jurnal Nasional Teknik Elektro
Volume 4/ Nomor 1 Maret 2015
2
An Improved Design of Linear Congruential Generator based on Wordlengths Reduction Technique into FPGA
International Journal of Eletrical and Computer Engineering
Volume 5/ Nomor 1 Feb 2015
3
FPGA Implementation of Uniform Random Number Using Residue and Rejection Method Jurnal Rekayasa Elektrika Volume 11 / Nomor 1 / Tahun 2014 4
Design of Linear Congruential Generator based on Wordlengths Reduction Technique into FPGA
International Journal of Electronics Communication Computer Engineering Volume 5 / Nomor 4 / Tahun 2014 5 Processing of Multiple Digital Signals
Based on Real-time Walsh Transform
International Journal of Electrical and Computer Engineering Volume 3 / Nomor 2 / Tahun 2013
6 FPGA Based Complete Set of Walsh and Inverse Walsh Transforms for Signal Processing
Electronics and Electrical Engineering
Volume 18 / Nomor 8 / Tahun 2012 7 Novel Area Optimization in FPGA
Implementation Using Efficient VHDL Code
Rekayasa Elektrika Volume 10 / Nomor 2 / Tahun 2012 8 Design and Implementation of an
Improved Arbitrary Waveform Generator Based on Walsh Functions
International Journal of Physical Sciences
Volume 7 / Nomor 10 / Tahun 2012 9 Perancangan Pengontrolan Traffic
Light Otomatis
Rekayasa Elektrika Volume 9 / Nomor 3 / Tahun 2011
LAMPIRAN II. ANGGOTA PENELITI
A. Identitas Diri
1 Nama lengkap (dengan gelar) Hubbul Walidainy, ST, MT
2 Jenis Kelamin L
3 Jabatan Fungsional Lektor
4 NIP 197308262000121001
5 NIDN 0026087301
6 Tempat dan Tanggal Lahir Banda Aceh, 26 agustus 1973
7 E-mail [email protected]
8 Nomor Telepon/HP 0651 22905
9 Alamat Kantor Jl Syech Abdurrauf no 7, Darussalam 10 Nomor Telepon/Faks
11 Lulusan yang Telah Dihasilkan
S-1 = 32 orang; S-2 = … orang; S-3 = … orang
12 Mata Kuliah yang Diampu
1. Dasar Telekomunikasi 2. Kalkulus 1 3. Elektronika Telekomunikasi 4. Analisis Numerik B. Riwayat Pendidikan S1 S2
Nama Perguruan Tinggi Univ. Gadjah Mada Univ. Gadjah Mada
Bidang Ilmu Teknik Elektro Teknik Elektro
Tahun Masuk-Lulus 1992-1998 1999-2003
Judul
Skripsi/Tesis/Disertasi
Studi Kelayakan UMTS Proses Adaptif untuk Menghapus Gema Nama
Pembimbing/Promotor
Adhi Soesanto, MSc, PhD Prof. Adhi Soesanto, MSc, PhD
C. Pengalaman Penelitian Dalam 5 Tahun Terakhir
No Tahun Judul Pendanaan
Sumber Jml (Juta Rp) 1 2015 Metode Efisiensi Area Integrated Circuit
(IC) dengan Reduksi Wordlengths untuk Meningkat kan Kinerja Perangkat Komputasi Elektronik
DIPA 67,5
2 2014 Metode Efisiensi Area Integrated Circuit (IC) dengan Reduksi Wordlengths untuk Meningkat kan Kinerja Perangkat Komputasi Elektronik
DIPA 46
3 2012 Laboratorium Eksperimen: Pengaturan Tinggi Permukaan Cairan pada Tangki Secara Otomatis Menggunakan UniTrain Berbasis PID
LAMPIRAN III. Publikasi artikel pada ICEEI 2015
Berikut adalah bukti publikasi artikel pada International Conference on Electrical
Engineering and Information 2015 (ICEEI 2015).
The authors gratefully acknowledge the financial support from Syiah Kuala University, Ministry of Education and Culture, Indonesia under project Hibah Bersaing, No. 035/SP2H/PL/Dit.Litabmas/II/2015, Feb 5, 2015.
A Novel 4-Point Discrete Fourier Transforms
Circuit based on Product of Rademacher Functions
Zulfikar1, Hubbul Walidainy2 Department of Electrical Engineering
Syiah Kuala University Banda Aceh 23111, Indonesia.
E-mail: [email protected], [email protected]
Abstract—This paper presents a new circuit design for
implementing 4-point DFT algorithm based on product of Rademacher functions. The circuit has been derived from the similarity of how Fourier transforms and Walsh transforms are implemented. Walsh matrices contain numbers either +1 or -1 except for first row. Similarly, the 4-point DFT matrix contain numbers either positive or negative except for first row. This similarity has been taken into the case of how to implement the DFT circuit based on how Walsh transforms is generated. Since Walsh transforms is derived based on product of Rademacher functions, the proposed 4-point DFT circuit is designed according to product Rademacher functions. The circuit consist of negative circuit, multiplexers, accumulator (real and imaginary), buffers, and control circuit. The control circuit is designed to produce Rademacher functions for controlling and managing data flow. The 4-point DFT circuit has been successfully designed and implemented to FPGA platform. Among the selected chips, Artix 7 is the fastest one.
Keywords—DFT; Walsh transforms; Rademacher functions; DFT matrix; Walsh matrix
I. INTRODUCTION
Digital signal processing is used in almost all electronics devices. The need for processing a signal is a must nowadays. Data or signal either from outside or internal have to process for specific purposes using specific application or processing. Often, data have to be transformed to other domains for easier processing.
The most widely used transformation type is Fourier transforms. In terms of discrete model, Discrete Fourier Transforms (DFT) often used to converts signal or data to frequency domain. In domain frequency, it is easier to process and extract information of the data. This is a powerful transformation model that has been used since long time ago.
The DFT is inefficient when it is implementing directly. Many scientist proposed simplification of the process of data transformation of DFT. Those simplifications lead to the development of Fast Fourier Transforms (FFT) algorithm. During previous several decades, researchers have been developed the algorithm of the FFT implementation such as Radix-2, Radix-4, Split Radix, Prime Factor Algorithm (FPA), and Winograd Fourier Transform (WFTA) [1]. Those
algorithms have been developed for certain purposes and each of them comes with advantages and drawbacks.
Walsh transforms algorithm is simpler than Fourier transform, but this transformation model is rarely used in application and almost forgotten. Walsh transforms has a few similarity to the Fourier transforms [2]-[5]. Based on this, some researchers have adopted this algorithm for developing the more efficient Fourier transforms [6]-[8]. An algorithm for calculating DFT using Walsh transforms is developed through the factorization of intermediate transform T [6]. Monir T et al proposed an efficient combination of Walsh and DFT calculation. The technique is based on the utilize Radix-4 fast Walsh Hadamard Transforms (FWHT) [7]. Another efficient technique of calculating both DFT and Walsh transforms by utilizing Radix-2 algorithm was also published [8].
The previous combination algorithms are designed for parallel input and output data. This leads to huge number of memory resources which is not suitable for small circuit applications. Therefore, we proposed an algorithm to minimize the use of memory by taking input serially and the output is gathered in parallel. This such algorithm may be achieved using product of Rademacher. The design has been done for 4-point DFT, details of the design is covered in section III.
In this paper, some basic theory of Walsh transforms, and Fourier transforms are covered in the next section. Section III provide the detail design of both algorithm and circuit for 4-point DFT. Section IV views the implementation and discussion of the proposed algorithm into FPGA. Finally, the conclusion and some suggestions for future works are presented in the section V
II. BACKGROUND THEORY
A. Fourier Transforms
The Fourier transforms is a tool that converts a waveform (a function or signal) into an alternate representation, characterized by cosine and sine. The Fourier Transforms indicates that any waveform may be re-written as the sum of sinusoidal functions [9].
Usually, Fourier transform is used to analyze the frequency content of a signal, design a system/ filter with particular properties, and solve differential equations in the frequency domain using algebraic operators. It is possible to develop an The 5th International Conference on Electrical Engineering and Informatics 2015
August 10-11, 2015, Bali, Indonesia
alternative Fourier representation for finite duration sequences that is referred to the Discrete Fourier Transforms (DFT) [9],[10].
DFT contains signal which is discrete and periodic, as can be expressed in the following expression (x(n) represents N point discrete signal in time domain).
∑
− = = 1 0 ) ( ) ( N n nk N W n x k X (1) where N j Ne
W
=
− 2π/ , therefore(
)
∑
∑
− = − − = − = = 1 0 / 2 1 0 / 2 ( ) ) ( ) ( N n nk N j N n N kn j x n e e n x k X π π (2)Direct computation of the above equations is inefficient since they do not extract the symmetry and periodicity property as follows: (1) Symmetry property: k N N k N W W + /2 =− (3) (2) Periodicity property k N N k N
W
W
+=
(4)Direct computation of DFT of a complex value sequence x(n) can be expressed further as
∑
− =⎥⎦
⎤
⎢⎣
⎡
+
=
1 02
sin
)
(
2
cos
)
(
)
(
N n I R RN
kn
n
x
N
kn
n
x
k
X
π
π
(5)∑
− =⎥⎦
⎤
⎢⎣
⎡
−
−
=
1 02
cos
)
(
2
sin
)
(
)
(
N n I R IN
kn
n
x
N
kn
n
x
k
X
π
π
(6)The DFT requires N2 (NxN) complex multiplications,
which is each X(k) requires N complex multiplications.
Therefore to determine the values of the DFT (from X(0) to
X(N-1)) N2 multiplications are required. The DFT also requires
(N-1)*N complex additions that is each X(k) requires N-1 additions. Therefore to evaluate all the values of the DFT (N-1)*N additions are required [1],[9]
After Cooley and Tukey developed the divide-and-conquer method, many scientists proposed the algorithm for simplifying the calculation of DFT. All of them aim to reduce number of memory usage and arithmetic functions [1].
B. Walsh Transforms
Walsh transforms performs a symmetric, orthogonal, and
linear operation on 2m real numbers (or complex numbers). In
terms of discrete one, Walsh transform is used to transform numbers (information) from time domain to frequency domain. A method of transforming information from time domain, represented in real numbers, is known as Hadamard transforms or Walsh Hadamard transforms. This method is also known as Walsh-Fourier transforms, since it is an example of a
generalized class of Fourier transforms [11].
Hadamard transforms for transform lengths N (N-point) can be performed by multiplying the input values (numbers) X with Hadamard matrix H to produce the output as the transformed coefficients matrix, Y as follows:
(
H X)
N Y N
1
= (7)
Hadamard matrix is a square matrix whose entries are either +1 or -1 and whose rows are mutually orthogonal. This matrix is another name of Walsh functions based on Hadamard ordering [12].
A direct implementation of eq. (7) in case input transform
length N will require N2–N additions and subtractions. This
huge area consumption, challenges many scientists to develop the more efficient computation algorithms. One such method to reduce number of additions and subtractions has been introduced in terms of unified matrix by Fino and Algazi [13].
The implementation of this idea require N(log2N) additions and
subtractions. Many workers adopted Fino et al idea in order to realize the Walsh transform; Fast Hadamard Transform (FHT) is the popular one.
Another way to perform Walsh transforms is by evaluating it in terms product of Rademacher functions [12]. It has attracted many scientists to develop effective and efficient structures. In general, Walsh transforms may be evaluated as follows
(
)
∑
− = = 1 0 , 1 N k k n X nt N Y ψ (8)where
ψ
(
n,t)
refers to any ordering of Walsh functions.III. CIRCUIT DESIGN
Walsh transforms converts a signal in time domain into frequency domain in very simple way. Walsh matrix contains number either +1 or -1. Therefore, in the transformation process, there will be no multiplication task. Let consider Walsh matrix for transform lengths N=4 as follow:
In performing the transformation, it requires addition or subtraction only. This has been performed in many works for certain signals [2],[3],[14]-[16]. In spite of this, this transformation method is rarely used in applications.
In contrast, DFT requires very complicated algorithm and circuit in performing transformation process. However, DFT provide more useful information about a signal in frequency domain. DFT matrix may contains non integer and complex numbers. Obviously, it would require more circuit in transformation process. The way of DFT performing transformation may be imitated the behavior of Walsh transforms performed, especially for N=4. Let’s consider DFT matrix (N=4) as follows.
The matrix is quite similar to Walsh matrix. The 4-point DFT matrix contain numbers either positive or negative except for first row. We have developed the algorithm that connect both transforms method. We consider method of using product of Rademacher functions in transforming signal from time domain to frequency domain. The method has been develop more for distinguish and treats the complex numbers (in this case j and –j). Fig. 1 shows block diagram and data flow of the proposed 4-point DFT. Negative Circuits Control Circuits Enter x Xr0 Xr1 Xr2 M ul tip lex er s Rea l A c c u mul a to rs Ou tp ut Bu ffe rs Xr3 Im a g in er Ac c u mula to rs Dat a Bu ffe rs Xi0 Xi1 Xi2 Ou tp u t B u ff er s Xi3 Fig. 1. Blocks and data flow of the design 4-point DFT circuit
The design block diagram shown in the fig. 1 consist of:
- Negative circuit
- Multiplexers
- Data buffers and Output buffers
- Real accumulators
- Imaginary accumulators
- Control circuit.
Input data x is connected to negative circuit, multiplexers and data buffers in parallel. Negative circuit is used to provide negative value of input data x. multiplexers is used to selects either positive or negative value of input data x. The connection of data input x directly to the buffers in order to avoid selection of multiplexers since the first row of DFT matrix contain only positive value.
The selected values will be passed to either real accumulators or imaginary accumulators through buffers also controlled by the signal from control circuit. Finally all values stored in output buffers will be passing out and consider as the DFT results. Data buffers is controlled by the control circuit, but the output buffers is not. These buffers is used to stored temporary values before passing out.
Fig. 2 views algorithm for the designed block of the fig. 1. Input data x is passing to the system in serial and the results of DFT are taking out in parallel. Every times signal Enter goes high, one data x is passing into the system and Rademacher functions is generated. Buffers (F0, F1, F2, F3) are used to stored input data temporary. Buffers F1, F2 and F3 will hold values temporary based on product of Rademacher functions
condition. If R(1) is not zero, buffer F3 will store negative value of x. If R(0) is zero, buffer F2 store positive value of input data x, values stored in buffers F1 and F3 will consider as imaginary. Otherwise, if R(0) is not zero, buffer F2 will store negative value of x, the values in buffers F1 and F3 will be accumulated in real accumulators Real1 and Real3, respectively. The values either in real accumulators or in imaginer accumulators will consider as the DFT results and will be passing out the system when Clock is goes high.
Fig. 2. Algorithm of 4-point DFT based on product of Rademacher functions
Fig. 3 shows design control circuit that is used to manage the data flow of the designed 4-point DFT circuit. The control circuit is developed based on Rademacher functions. In practice, Rademacher functions can be easily generated using a counter. The signals are generated based on product of Rademacher functions. Signal R(0) and R(1) are taken from the Least Significant Bit (LSB) and Most Significant Bit (MSB) of the counter up, respectively. Meanwhile, signal Rxor is product of R(0) and R(1). These signals are then used to control multiplexers and accumulators.
Fig. 3. Control circuits based on Rademacher functions
Fig. 4 shown the connections configuration of the control signals for multiplexers. The input data through Mux2 is control by signal R(0). If the signal is high, then positive x will be passed to buffer F2. Otherwise, negative x will be selected. The input data through mux1 is controlled by signal Rxor. When the signal is high, positive x will be pass to buffer F1. Similarly, when the signal control R(1) is high, the positive value of input data will be selected and passed to buffer F3.
Fig. 4. Configuration of control signal for multiplexers
Fig. 5 shown the connection configuration of the control signals for accumulators. Initially, all accumulators is zero. Fig. 5(a) shows the configuration connection of control signal R(0) for enabling accumulator Real1 or Im1. If R(0) is equal to ‘1’, data in buffer F1 will be accumulated in accumulator Im1 (accumulator Real1 is disable). Otherwise, data in buffer F1 will be accumulated in accumulator Real1.
The value stored in buffer F3 will be accumulated in accumulator Im3 (accumulator Real3 is disable) if signal control R(0) is high. The value will be accumulate in accumulator Real3 if R(0) is being low when the signal Enter goes high. This behavior is shown in the Fig. 5(b).
(a)
(b)
Fig. 5. Configuration of control signal for: (a) Accumulator Real1 and Im1; (b) Accumulator Real3 and Im3
IV. FPGA IMPLEMENTATION
The proposed 4-point DFT design has been implemented into FPGA. Various Xilinx chips has been selected using Xilinx ISE 13.4 software. The proposed design is realized using VHDL codes. Fig. 6 shows the behavior simulation results of the design. Input data x=[5,6,1,3] is passing into the circuit serially. The resulting DFT comes immediately, but this is not the final values since at that time, not all input values has been passing in. The right DFT values comes up after all input data has been passed. Here the output DFT is Xr=[15,4,-3,4] and Xi=[0,-3,0,3] represent real and imaginary part, respectively. Input data x is represented in 4-bit sign number, meanwhile the output data are represented in 6-bit sign number. This is to accommodate the possibility of summation results [5],[17].
Fig. 6. Simulation results of the design DFT circuit
Table I views speed comparison of the proposed circuit into various Xilinx chips. The proposed DFT circuit is best implement into Artix 7 in terms of speed parameters: maximum frequency, input arrival time and output require time. Kintex 7 chip almost as fast as Artix 7. Spartan 3E and Spartan 6 are very slow compare to other chips, this is due to old technology.
In terms of occupies area, the old chips (Spartan 3E and Spartan 6) utilized less area than others. They require only 26 slice registers and 48 slice Look up Table (LUTs). Meanwhile the new technology chips utilized more area. This is might be because the new chips equipped with 6 input LUTs technology.