• Tidak ada hasil yang ditemukan

IMPLEMENTASI ALGORITMA CORDIC (COORDINATE ROTATION DIGITAL COMPUTER) PADA FPGA UNTUK APLIKASI DIGITAL MIXER.

N/A
N/A
Protected

Academic year: 2021

Membagikan "IMPLEMENTASI ALGORITMA CORDIC (COORDINATE ROTATION DIGITAL COMPUTER) PADA FPGA UNTUK APLIKASI DIGITAL MIXER."

Copied!
6
0
0

Teks penuh

(1)

1

Proceeding Seminar Tugas Akhir Jurusan Teknik Elektro FTI-ITS

IMPLEMENTASI ALGORITMA CORDIC (COORDINATE ROTATION

DIGITAL COMPUTER) PADA FPGA UNTUK APLIKASI DIGITAL

MIXER.

Mahasiswa Bagus Rijalul Haq 2207 100 548

Dosen Pembimbing Ir. Totok Mujiono, M.Kom

Jurusan Teknik Elektro – FTI, Institut Teknologi Sepuluh Nopember Kampus ITS, Surabaya – 60111

Abstrak - FPGA (Field Programmable Gate

Array) banyak digunakan untuk berbagai aplikasi khusus berkecepatan tinggi, seperti modulasi dan demodulasi pada base station. Operasi standar seperti perkalian, penambahan, dan pengurangan telah umum dipergunakan. Untuk operasi khusus seperti akar, pembagian, trigonometri, dan logaritmik perlu digunakan metoda khusus untuk mempercepat operasi, salah satunya menggunakan metoda algoritma CORDIC. Pada tugas akhir ini akan dilakukan implementasi algoritma CORDIC pada FPGA untuk aplikasi digital mixer yang banyak dipakai pada modulasi dan demodulasi digital.

Kata kunci: FPGA, CORDIC (Coordinate Rotation

Digital Computer), Quadratur Digital Mixer.

1. PENDAHULUAN

Perkembangan teknologi komunikasi dewasa ini begitu pesat. Proses komunikasi selalu melibatkan adanya pengiriman dan penerimaan informasi. Dalam pengolahan informasi tersebut, proses modulasi dan demodulasi digital mutlak diperlukan. Dalam operasi tersebut diperlukan adanya mixer untuk pengubahan frekuensi untuk memindahkan frekuensi sinyal dari frekuensi tinggi (ƒRF) ke frekuensi sedang (ƒIF) atau sebaliknya. Metode quadratur mixer memerlukan kepresisian sudut sebesar 90° pada kedua gelombang oscilator yang akan sulit memperoleh kepresisian yang tinggi jika dibuat dalam bentuk analog. Algoritma CORDIC merupakan salah satu metoda yang digunakan untuk membangkitkan sinyal oscilator berupa sinusoida, sinus dan cosinus.

Algoritma CORDIC merupakan algoritma yang mampu menyelesaikan operasi – operasi aritmatik rumit yang menggunakan metode iterasi dari bentuk rotation mode dengan sudut bebas. Proses ini dilakukan dengan menggunakan pergeseran, penambahan, dan tabel look-up. Pengunaan FPGA sebagai aplikasi dari metode ini dikarenakan FPGA memiliki spesifikasi yang berkecepatan tinggi untuk menyelesaikan operasi-operasi khusus pada modulasi dan demodulasi.

Pada tugas akhir ini dilakukan implementasi algoritma CORDIC untuk menghasilkan fungsi sinusoida, serta pembuatan aplikasi digital mixer pada FPGA yang banyak dipakai pada receiver demodulasi digital.

2. STUDI PUSTAKA

Studi pustaka digunakan sebagai dasar dan teori penunjang dalam pembuatan tugas akhir ini. Berikut ini beberapa studi pustaka.

Demodulasi

Demodulasi merupakan pemisahan frequency pembawa dengan base band frequency. Proses ini merupakan kebalikan dari modulasi yaitu proses mencampurkan Analog base band frequency kedalam frequency pembawa analog. Frequency analog adalah frequency yang berbentuk gelombang Sinusoida. Sehingga dari proses demodulasi didapatkan suatu informasi asli. Peralatan untuk melaksanakan proses demodulasi disebut demodulator.

Untuk pengolahan informasi yang diterima melalui antena yang berfrekuensi tinggi ƒRF ke frekuensi sedang ƒIF

diperlukan adanya modulator, yaitu analog modulator dan digital modulator.

Gambar 2.1. Diagram Blok Proses Demodulasi

Mixer

Untuk melakukan operasi mixing atau perkalian diperlukan dua operand. Operand pertama adalah bilangan yang akan dikalikan, operand kedua adalah bilangan pengalinya, sedangkan operand ketiga adalah hasil kalinya. Jika operand pertama dan kedua berukuran masing-masing 3 bit (n-bit), maka operand ketiga berukuran 6 byte (2n-bit).

Mixer dalam aplikasi demodulasi merupakan suatu sirkuit pengali dua buah frekuensi menghasilkan frekuensi baru, dari suatu sinyal dengan frekuensi tinggi ke frekuensi yang lebih rendah, frekuensi yang dihasilkan merupakan penjumlahan dan pengurangan dari frekuensi asal dengan frekuensi pembawanya. fRF Analog Demodulator A/D Digital Demodulator fIF(analog) fRF(digital) fBase

(2)

Secara ideal pengoperasian mixer melakukan fungsi trigonometri dengan sistim multiplying 2 gelombang sinus. Jika masukan berupa sinyal sinusoidal, maka keluaran mixer ideal merupakan jumlah dan perbedaan dari frekuensi yang diberikan sebagai berikut :

Gambar 2.2. Blok Diagram Mixer

Quadrature

Metode quadratur adalah sebuah skema modulasi yang membawa data dengan mengubah amplitudo dari dua gelombang pembawa. Kedua gelombang tersebut merupakan gelombang sinusoida, berbeda fase dengan yang lainnya sebesar 90°. Dalam proses komunikasi, metode quadrature digunakan pada proses transmitter sebagai modulasi gelombang dan juga pada receiver sebagai demodulasi gelombang. Keunggulan metode quadrature adalah memiliki performansi interferensi yang lebih baik, lebih tahan noise, dan kecepatan lebih tinggi.

Gambar 2.3. Skematik Quadrature Transmitter

Gambar 2.4. Skematik Quadrature Receiver

Pada Quadratur Amplitude Modulation, bentuk sinyal yang ditransmisikan :

Dengan menggunakan identitas trigonometri, didapatkan:

Dengan I(t) dan Q(t) adalah sinyal termodulasi dan f0 frekuensi carrier.

Pada receiver, terdapat dua modulasi sinyal yang dapat dimodulasi. Sinyal secara terpisah diterima dari receiver dan dikalikan sinus dan cosinus. Bentuk I(t) dan Q(t) di demodulasi dengan mengalikan masing-masing dengan cosinus dan sinus. Berikut ini bentuk pada I(t) :

Dengan menggunakan standart identitas trgonometri, dapat ditulis :

Selanjutnya, digunakan filter untuk menghilangkan frekuensi tinggi (pada 4πf0t), dan hanya meninggalkan I(t). dengan cara yang sama, dapat mengkalikan s(t) dengan gelombang sinus kemudian difilter untuk mendapatkan Q(t).

CORDIC

CORDIC (COordinate Rotation DIgital Computer) adalah algoritma sederhana dan efisien untuk menghitung operasi khusus seperti akar, hiperbolik, trigonometri, dan logaritmik. Pada umumnya CORDIC memiliki kecepatan yang lebih tinggi daripada metoda pendekatan lain karena metodenya yang sederhana. Pada FPGA metoda ini dapat meminimalisir jumlah gate yang hendak dipakai dalam perancangan. Algoritma CORDIC menggunakan metode iterasi dari bentuk rotation mode dengan sudut bebas, proses ini dilakukan hanya dengan menggunakan pergeseran dan penambahan. Rumusan untuk algoritma CORDIC yaitu :

xi+1= xi – di . 2 -i . yi yi+1 = yi + di . 2-i . xi zi+1 = zi – di . αi Dengan : di = ±1

zi+1 = Angle Accumulator αi = sudut pada tabel look-up xi+1 = nilai cos

yi+1 = nilai sin 2-i = shift factor Sin (ωt + θ) Cos(ωt + θ) Sinyal Informasi Out Sin Out Cos Sin (ωt + θ) Cos(ωt + θ) Input Sinyal2 Input Sinyal1

(3)

Angle Accumulator memiliki fungsi sebagai penjumlahan sudut rotasi pada setiap iterasi dengan nilai sudut pengurang atau penjumlah tetap. Nilai awal z0 yang diberikan pada angle accumulator merupakan nilai sudut yang dicari dengan selisih mendekati nol. Dari rumusan diatas dapat diketahui komponen-komponen CORDIC yaitu 2 shift, 1 tabel look-up, dan 3 penambahan.

Table look-up yang digunakan pada algoritma cordic dapat dilihat pada tabel dibawah ini.

Tabel 2.1. Tabel Look-up

Pada tabel look-up diatas nilai tan(αi) = 2-i , nilai ini didalam algoritma CORDIC digunakan sebagai shifter.

3. PERANCANGAN SISTEM

Perancangan sistem yang dibuat meliputi desain CORDIC dan desain mixer digital. Berikut ini penjelasan dari kedua desain

DESAIN CORDIC

Pada desain penggunaan CORDIC untuk menghasilkan nilai sinus dan cosinus digunakan Rotation mode. Pada metode ini, nilai awal yang diberikan meliputi x0 = 0.6073, y0 = 0, dan z0 = nilai sudut yang dikehendaki, antara 00 – 900, range nilai sudut ini sudah mewakili untuk gelombang sinus. Dan nilai di akan bernilai positif jika nilai zi lebih kecil dari nilai sudut yang hendak dicari z0, serta sebaliknya. Iterasi yang diberikan dirancang 16 kali iterasi dan nilai zi akan mendekati nol, dapat dilihat pada gambar 3.1. perolehan

sinus cosinus dengan z0 = 300 , serta flowchart perancangan sistem pada gambar 3.2.

Gambar 3.1. (a). Rotation Mode dengan sudut awal z0. (b). Rumus Algoritma CORDIC

Format data hasil fungsi sinus dan cosinus diberikan sebesar 16 bit dengan bit ke-14 sebagai sign dan bit ke-0 sampai bit ke-13 data hasil CORDIC.

DESAIN MIXER

Desain mixer yang digunakan adalah bentuk quadratur mixer. Pada bentuk ini diperlukan dua oscillator yang merupakan gelombang sinusoida dan memiliki beda fase satu dengan lainnya sebesar 90°. Perbedaan fase ini diambil pada bentuk sinus dan cosinus.

Gambar 3.2. Quadratur Mixer Mode.

Diberikan format data pada input sebesar 8 bit, dan output masing-masing sebesar 24 bit. Sedangkan pada sinus cosinus lebar data sebesar 16 bit. Pada gambar menunjukkan input data sebagai multiplier atau pengkali, sin dan cos sebagai multiplicand atau bilangan yang dikali dan menghasilkan dua output, output mixer sinus dan output mixer cosinus.

i αi tan (αi) 0 45.00 1 = 2 -0 1 26.60 0.5 = 2 -1 2 14.00 0.25 = 2 -2 3 7.10 0.125 = 2 -3 4 3.60 0.0625 = 2 -4 5 1.80 0.03125 = 2 -5 6 0.90 0.015625 = 2 -6 7 0.40 0.0078125 = 2 -7 8 0.20 0.00390625 = 2 -8 9 0.10 0.001953125 = 2 -9 10 0.0560 0.000976563 = 2 -10 11 0.0280 0.000488281 = 2 -11 12 0.0140 0.000244141 = 2 -12 13 0.0070 0.000122070 = 2 -13 14 0.0040 0.000061035 = 2 -14 15 0.0020 0.000030518 = 2 -15 CORDIC Sin Cos Input digital

Out Mixer Sin

Out Mixer Cos xi+1= xi – di . 2 -i . yi yi+1 = yi + di . 2-i . xi zi+1 = zi – di . αi (a) (b)

(4)

4. SIMULASI DAN PENGUJIAN Simulasi dan pengujian dilakukan pada desain CORDIC dan desain digital mixer. Berikut ini hasil simulasi dan pengujian pada tugas akhir.

SINUS DAN COSINUS

Pada bagian ini disimulasikan program algoritma CORDIC untuk menghasilkan nilai sin dan cos dari sudut awal yang diberikan. Data yang diolah pada program ini berupa bilangan integer untuk mempermudah proses perhitungan pada program, sehingga diperlukan konversi dari bilangan integer program ke nilai pecahan desimal.

Tabel 4.1. Data Simulasi Pembentukan Sinusoida Sudut 30o i Simulasi ISE Sinus Simulasi ISE Cosinus Konversi Sinus Konversi Cosinus 0 0 9949 0 0.60724 1 9949 9949 0.60724 0.60724 2 4975 14923 0.30365 0.91083 3 8705 13680 0.53131 0.83496 4 6995 14768 0.42694 0.90137 5 7918 14331 0.48328 0.87469 6 8365 14084 0.51056 0.85962 7 8145 14214 0.49713 0.86755 8 8256 14151 0.50391 0.86371 9 8201 14183 0.50055 0.86566 10 8174 14199 0.4989 0.86664 11 8187 14192 0.49969 0.86621 12 8193 14189 0.50006 0.86603 13 8190 14191 0.49988 0.86615 14 8189 14191 0.49982 0.86615 15 8189 14191 0.49982 0.86615

Pada tabel diatas merupakan hasil fungsi sinus pada sampling 30o, untuk menghasilkan gelombang sinusoida diperlukan adanya repeater CORDIC. Pada gambar dibawah ini hasil simulasi gelombang continue dengan sudut 10 derajat.

Gambar 4.1. Simulasi Perubahan Sudut 10o

Tabel 4.1. Konversi Nilai pada Sampling 10o

Simulasi OUT_FINISH Data Simulasi Dalam Derajat Perubahan 10o 1 4 0 o 2 2847 10 o 3 5605 20 o 4 8189 30 o 5 10529 40 o

Pada saat OUT_FINISH menghasilkan pulsa, data perubahan sudut terbentuk. Pulsa pertama OUT_FINISH pada perubahan 10o menghasilkan nilai 4 pada data simulasi, nilai tersebut dalam konversi derajad mendekati 0o, selanjutnya pulsa ke-2 menghasilkan nilai 2847 atau dalam derajat mendekati 10o, demikian seterusnya, juga pada sampling derajat lainnya. Plot hasil gelombang 1 periode dapat dilihat pada gambar berikut.

Gambar 3.2. Flowchart Perancangan Sistem X0 = 0.60725, Y0 = 0, i = 0

Z0 = sudut yang dicari Start If zi > di = -1 di = +1 xi+1= xi – di . 2 -i . yi yi+1 = yi + di . 2 -i . xi zi+1 = zi – di . αi i = i+1 Y T Data input Out Sinus, Cosinus

Hasil If i>15 T Y cnt=cnt+1 Zn + sudut sampling Cnt = 0 cnt >cnt-n Y T

(5)

Gambar 4.3. Plot Gelombang Cosinus Sampling 10o

Frekuensi yang digunakan pada perancangan FPGA adalah sebesar 10 MHz, sehingga waktu tiap clock sebesar 0.1 µs atau 100 ns. Frekuensi masing-masing gelombang dinyatakan sebagai berikut :

Tgel = 0.1 µs x 18 clock x counter fgel = 1/Tgel

Tabel 4.2. Frekuensi-Periode Sinus dan Cosinus Gelombang Perubahan

Derajat Frekuensi Periode

Sin 30o 46.3 KHz 21.6 µ s 10o 15.4 KHz 64.8 µ s 5o 7.70 KHz 129.6 µs Cos 30o 46.3 KHz 21.6 µ s 10o 15.4 KHz 64.8 µ s 5o 7.70 KHz 129.6 µs DIGITAL MIXER

Pengujian digital mixer dilakukan dengan memberikan dua nilai input yang berasal dari gelombang sinus dan cosinus dikalikan dengan data input 8 bit. Lebar data masing - masing pada sinusoida sinus dan cosinus adalah 16 bit. Lebar data hasil perkalian adalah 24 bit.

Gambar 4.4. Mixing Input Data dengan Sinusoida Perubahan Sudut 10o

Tabel 4.3. Simulasi Perkalian Digital Mixer Variabel Perkalian Sampling 10o

Multiplier 30

Multiplicand Sinus 2847 Cosinus 16134 Hasil Sinus 85410 Cosinus 484020

Pada gambar diatas proses mixer dilakukan hanya pada sampling 10 derajat. Pada gambar dibawah ini merupakan proses mixer pada 1 periode sinusoida pada Sampling 5o.

Gambar 4.5. Plot Sinus dengan Sampling 5o

Gambar 4.6. Multiplier Pada Sampling 5o

Gambar 4.7. Hasil Mixer Sinus dengan Sampling 5o

Prosentase keberhasilan pengujian digital mixer pada sampling 5o sebesar 100% ditunjukkan pada kolom evaluasi pada lampiran buku. Demikian juga untuk sampling lainnya. Pada gambar 5.2 merupakan gelombang multiplicand dikalikan dengan gelombang multiplier pada gambar 5.3, sehingga menghasilkan bentuk gelombang baru, ditunjukkan pada gambar 5.4.

5. IMPLEMENTASI DAN TESTING

Adanya keterbatasan input-output pada board FPGA, input digital diberikan 8 bit berupa 4 bit switch 2-1 sampai switch 2-4 dengan 4 bit fixed program, sedang keluarannya sebesar 7 bit MSB untuk sin dan 7 bit MSB untuk cos pada LED, 1 bit MSB merupakan sign. Adapun nilai keluaran dari CORDIC sin dan cos masing-masing adalah 16 bit dikeluarkan pada 7 segment1 untuk sinus dan 7 segment2 untuk cosinus dalam 7 bit MSB dan 1 bit MSB berupa sign.

(6)

Gambar 5.1. Blok Implementasi dan Testing Perancangan

Tabel 5.1. Pengujian Blok Implementasi Dan Testing

Pada tabel 5.1 ditunjukkan data hasil pengujian. Pada proram yang dibuat input outputnya masih dalam bentuk bilangan integer, sehingga untuk menghasilkan nilai input output yang diharapkan dilakukan konversi nilai dari bilangan derajat ke bilangan biner dan sebaliknya. Prosentase keberhasilan pengujian data mixer adalah 100%, untuk Cordic sin memiliki error 2.31% dan Cordic cos dengan error 2.72%. Output yang dihasilkan pada pengujian-implementasi diambil 8 bit MSB.

6. PENUTUP

Dari hasil perancangan dan pengujian algoritma CORDIC dan digital mixer pada FPGA, dapat diambil suatu kesimpulan dan saran – saran untuk pengembangan selanjutnya.

6.1 Kesimpulan

Kesimpulan dari tugas akhir “Implementasi Algoritma CORDIC Pada FPGA untuk Aplikasi Digital Mixer” adalah sebagai berikut :

1. Untuk menghasilkan satu nilai fungsi sinusoida menggunakan algoritma CORDIC diperlukan 16 clock.

2. Waktu yang dibutuhkan untuk membentuk satu periode gelombang sinusoida berbeda pada tiap sampling, yaitu untuk sampling 30o diperlukan 21.6µ s, sampling 10o diperlukan 64.8µ s, dan pada 5o diperlukan 129.6µ s. Semakin kecil sampling yang dipergunakan waktu yang diperlukan untuk membuat satu periode gelombang semakin besar, akan tetapi gelombang yang dihasilkan lebih akurat.

3. Digital Mixer dapat melakukan proses mixing dengan cara perkalian antara multiplicand dan multiplier dikalikan pada saat sampling yang bersamaan. Perkalian antara gelombang sinusoida pada proses digital Mixer diperlukan adanya sign untuk membedakan nilai positif dan negatif dari hasil perkalian.

4. Hasil simulasi pada Xilinx ISE 8.2i dan hasil uji coba pada board FPGA dapat berjalan sesuai perancangan, serta hasil sintesa menunjukkan bahwa diperlukan sebanyak 1244 blok logika untuk mengimplementasikan generator sinus dan cosinus beserta quadrature mixer.

6.2 Saran

Untuk pengembangan aplikasi digital mixer pada FPGA lebih lanjut, pengunaan clock untuk membentuk satu fungsi sinusoida bisa dibuat lebih kecil dari 16 clock agar proses pembentukan gelombang sinusoida bisa lebih cepat. Hal ini dapat dilakukan dengan penambahan sudut diberikan pada saat selisih angle accumulator mendekati nol tanpa menunggu selesainya proses iterasi.

7. DAFTAR PUSTAKA

1. Andraka, Ray, A survey of CORDIC algorithms for FPGA based computers, 1998.

2. S. Ravichandra, V. Asari, “Implementation of Unidirectional CORDIC Algorithm Using Precomputed Rotation Bits“, Circuits and Systems, 2002. MWSCAS-2002. Vol.3 , pp. III-453 - III-456, 4-7 Aug. 2002.

3. N. Takagi, T. Asada, and S. Yajima, "Redundant CORDIC methods with a constant scale factor for sine and cosine computation," IEEE Trans. Computers, vol. 40, no. 9, pp. 989-995, Sep. 1991.

4. J.-A. Lee, T. Lang, "Constant-Factor Redundant CORDIC for Angle Calculation and Rotation," IEEE Trans. Computers, vol. 41, no. 8, pp. 1016-1025 , Aug. 1992.

5. T. Lang, E. Antelo, "CORDIC Vectoring with Arbitrary Target Value," IEEE Trans. Computers, vol. 47, no. 7, pp. 736 -749, July 1998.

6. B. Gisuthan, T. Srikanthan, "Pipelining flat CORDIC based trigonometric function generators," Microelectronic Journal 33, pp. 77-89, 2002.

7. Kia Bazargan , “CORDIC Algorithms”, University of Minnesota, 2006.

8. Ken Gentile , “Fundamental of Digital Quadrature Modulation”, RF Mixed Signal Journal, 2003. Out Mixer Sin

Out Mixer Cos 7 segment-1 switch CORDIC Sin Cos 7 segment-2 LED PB1 = 0 PB1 = 1

Gambar

Gambar 2.2. Blok Diagram Mixer
Table  look-up  yang  digunakan  pada  algoritma  cordic dapat dilihat pada tabel dibawah ini
Gambar 4.1. Simulasi Perubahan Sudut 10 o Tabel 4.1. Konversi Nilai pada Sampling 10 o    Simulasi   OUT_FINISH  Data
Gambar 5.1. Blok Implementasi dan Testing Perancangan  Tabel 5.1. Pengujian Blok Implementasi Dan Testing

Referensi

Dokumen terkait

Hasil dari pencarian sistem akan menampilkan map sungai serta status mutu air berdasarkan hasil kumulatif isian data untuk ketujuh paramater yang digunakan yang

Peraturan Pemerintah Nomor 60 Tahun 2014 tentang Dana Desa Yang Bersumber dari Anggaran Pendapatan dan Belanja Negara (Lembaran Negara Republik Indonesia Tahun

Merujuk pada serangkaian hasil analisis data yang telah dilakukan, maka dapat diketahui bahwa jumlah narapidana di Lembaga Pemasyarakatan Wirogunan Kelas II A

(1992) dapat drsimpulkan bah\a Penama k'11 radikal bebas okslgen lang bcrasal darr bahan pemutih gigi dlanggap sebagar ant,gen akan berhadapan dengan barricr fisrk

yang telah memberikan rahmat, taufik dan hidayah-Nya sehingga penulis dapat menyelesaikan penelitian yang berjudul “UJI ANTAGONISME BEBERAPA BAKTERI TERHADAP PATOGEN

Agar dapat mengetahui sembarang nilai pada rugi daya sensor serat optik berstruktur SMS akibat pengukuran suhu dalam rentang tertentu, maka dibutuhkan suatu

Untuk pengukuran posisi sumber juga diperoleh nilai yang masih dalam batas toleransi yang diberikan oleh American Association Physicist in Medicine (AAPM) sebesar ± 3 %

 Diskusi, di mana mahasiswa bersumberkan literatur yang disiapkan dan atau pengalaman yang didapatkan berdiskusi dengan peer-nya... Metode