1
IMPLEMENTASI SISTEM MULTICARRIER OFDM MENGGUNAKAN DSK TMS320C6713 Ferdi Ganda Kurnia Pembimbing : Dr. Ir. Effrina Yanti Hamid.
Abstraksi— Sistem OFDM merupakan sistem yang populer saat ini serta diajukan untuk transmisi Next Generation Network. Untuk itu penulis tertarik untuk mengembangkan prototipe Sistem OFDM pada platform pengembangan DSP yaitu DSK TMS320C6713. Prototipe ini kemudian dapat dikembangkan untuk berbagai aplikasi. Pengembangan prototipe ini ditujukan pula untuk mengevaluasi kompleksitas pemrograman. Pada tugas akhir ini telah dilakukan beberapa tahapan simulasi diantaranya simulasi MATLAB, simulasi program dengan bahasa C, dan terakhir pengimplementasian program pada DSK TMS320C6713. Pada tahap implementasi dievaluasi kompleksitas pemrograman yaitu evaluasi waktu pemrosesan dan evaluasi penggunaan memori. Objek dari evaluasi ini adalah programprogram yang menggunakan transfer data menggunakan CPU dan EDMA. Melalui simulasi ini ditemukan bahwa program yang menggunakan transfer data menggunakan EDMA memiliki waktu pemrosesan lebih singkat dibandingkan dengan program yang hanya menggunakan CPU dalam menangani masalah transfer data. Akan tetapi penggunaan EDMA mengakibatkan penggunaan memori lebih besar dibandingkan dengan yang mengunakan CPU. Kata Kunci— CPU, DSK, EDMA, OFDM
I. PENDAHULUAN Teknologi OFDM ditemukan pertama kali pada tahun 1960 dalam suatu penelitian mengenai pengurangan dampak intersymbol interference (ISI) pada suatu kanal multipath. OFDM merupakan bentuk khusus dari modulasi multicarrier dengan jarak antar subcarrier yang rapat dan saling overlap sehingga memungkinkan multiple-access. Modulasi multicarrier dilakukan dengan membagi bandwidth yang tersedia ke dalam beberapa bandwidth sempit (subchannel) yang memiliki kecepatan lebih rendah. Masing-masing subchannel ini kemudian digunakan untuk transmisi satu simbol data. Subchannel yang berdekatan akan overlap satu sama lain sehingga bandwidth dapat dimaksimalkan (penggunaan bandwidth dapat diefisiensikan hingga 50%). Sistem OFDM ini telah banyak dimanfaatkan di beberapa
negara serta diteliti untuk pemanfaatan transmisi Next Generation Network (NGN). Di Eropa, OFDM digunakan sebagai standar Digital Audio Broadcast (DAB) dan Digital Video Broadcast (DVB). Selain itu OFDM diajukan sebagai teknik modulasi untuk high bit-rate digital subscriber lines (HDSL) dan asymmetric digital subscriber lines (ADSL). Melihat berbagai keuntungan yang ditawarkan oleh sistem OFDM, penulis tertarik untuk meneliti lebih jauh mengenai sistem OFDM. Pada kesempatan ini penulis tertarik untuk mengimplementasikan sistem OFDM pada platform pengembangan algoritma pemrosesan sinyal digital yaitu DSP Starter Kit (DSK) TMS320C6713. DSK TMS320C6713 memiliki komponen prosesor inti DSP C6713. Prosesor ini merupakan prosesor floating point 32-bit. Prosesor C6713 ini digunakan pada aplikasi yang memerlukan tingkat keakuratan yang cukup tinggi dan dynamic range yang lebar seperti pada wireless base station, implementasi algoritma rekonstruksi sinyal, dan sinkronisasi kode pada sistem CDMA. Pengimplementasian pada DSK TMS320C6713 ini telah menghasilkan suatu prototipe Sistem OFDM untuk komunikasi satu arah. Tujuan dari penelitian ini diantaranya : mempelajari prinsipprinsip sistem OFDM, mensimulasikan sistem OFDM secara real-time, menciptakan suatu prototipe sistem OFDM, dan mengevaluasi kompleksitas pemrograman sistem OFDM yang diimplementasikan pada DSK TMS320C6713 Batasan masalah penelitian ini diantaranya : sistem OFDM yang diimplementasikan tidak menggunakan channel coding, protokol transmisi, mekanisme error control, estimasi kanal dan sinkronisasi; implementasi dilaksanakan pada satu DSK TMS320C6713 ; simulasi dilakukan pada kondisi yang ideal, yaitu tidak ada derau kanal dan distorsi; sampling rate yang digunakan adalah 48000 Hz; dan sistem diujicobakan dengan sinyal masukan berupa musik dengan channel mono dengan mengasumsikan bandwidth 20000 Hz sehingga frekuensi pencuplikan 48000 Hz dapat dianggap cukup. Metode-metode penelitian meliputi : simulasi program menggunakan MATLAB, simulasi program menggunakan bahasa C; dan implementasi pada DSK TMS320C6713.
2 (7)
II. DASAR TEORI A. Modulator dan Demodulator Sistem OFDM yang didesain pada penelitian ini menggunakan modulasi QAM-16. Persamaan matematisnya dinyatakan sebagai berikut : (1) dimana dapat diekspresikan sebagai (2) dimana didefinisikan sebagai (3)
(4) (5) (6) Di transmitter terjadi proses modulasi sedangkan di receiver terjadi proses demodulasi. Proses modulasi memetakan sinyal real menjadi sinyal konstelasi yang bernilai kompleks sedangkan di receiver sinyal konstelasi bernilai kompleks ini dikembalikan lagi ke bentuk sinyal real.
Vektor input,
, harus memenuhi kondisi berikut : (8)
(9) E. Cyclic Prefix Untuk membangun keortogonalan karena hadirnya delay spread kanal maka digunakan Cyclic prefix. Cyclic prefix merupakan salinan L terakhir dari data masukan bernilai real. Sampel-sampel ini ditambahkan pada frame OFDM di transmitter dan selanjutnya dihilangkan di receiver. III. DESAIN SISTEM Komponen-komponen penyusun transmitter dan receiver sistem OFDM yang akan disimulasikan pada penelitian ini dijelaskan oleh gambar 1 dan 2. IV. IMPLEMENTASI DSP
B. Channel Mapper dan Channel Demapper Channel Mapper dilakukan di transmitter sedangkan di receiver dilakukan Channel Demapper. Sinyal konstelasi serial keluaran QAM-16 Modulator dipetakan ke subchannelsubchannel paralel yang tersedia oleh Channel Mapper di transmitter. Di receiver dilakukan hal sebaliknya. Banyaknya subchannel paralel yang tersedia adalah N dimana memenuhi 2N + 2 = point IFFT yang digunakan. Point IFFT harus berupa bilangan pangkat 2. Sebagai contoh jika point IFFT yang digunakan adalah 64 maka banyaknya subcarrier yang digunakan adalah 31. C. Complex Conjugate Mirror Di transmitter data keluaran Channel Mapper ditambahkan Complex Conjugate Mirror sedangkan di receiver complex conjugate ini dibuang untuk mengembalikan ke bentuk data asal. Jika terdapat data, …
A. Arsitektur DSK TMS320C6713 Pada penelitian ini digunakan DSK TMS320C6713. Board ini dilengkapi dengan DSP TMS320C6713 yang memiliki frekuensi clock sebesar 225 MHz serta memiliki memori internal sebesar 256 Kbytes. Peripheral-peripheral on-board DSK diantaranya adalah dua buah multi-channel buffered serial port (McBSP) dan sebuah DMA controller (EDMA). DSK ini juga memiliki SDRAM on-board 16 Mbyte. Untuk pemrosesan sinyal audio, board DSP dilengkapi dengan sebuah codec on-board yang disebut AIC23, kerjanya meliputi pengkodean sampel masukan analog ke bentuk digital untuk selanjutnya diproses DSP, dan kemudian pendekodekan kembali ke keluaran analog setelah diproses DSP. Untuk mempercepat tugas penyalinan data antara CPU dengan codec dapat digunakan EDMA yang bekerja menyalin satu frame antara codec dengan memori dan mengiterupsi DSP. DSK TMS320C6713 memiliki sebuah perangkat khusus yang disebut JTAG emulator on-board yang dapat mengakses langsung register dan memori melalui port interface JTAG.
maka setelah ditambahkan kompleks konjugat 0
…
0
…
D. IFFT dan FFT IFFT dan FFT merupakan komponen terpenting dalam sistem OFDM. Di transmitter dilakukan IFFT sedangkan di receiver dilakukan FFT. Definisi IFFT/FFT untuk vektor yang telah ditambahkan Complex Conjugate Mirror adalah sebagai berikut :
QAM Modulator
Channel Mapper
Add Conjugate Mirror
IFFT
Add Cyclic Prefix
Gambar 1. Komponen-komponen penyusun transmitter OFDM
Kinerja program dapat dipantau melalui Code Composer Studio.
3
Gambar 4. Hubungan PC, DSK, dan speaker
Gambar 3. Diagram blok DSK TMS320C6713[5]
Remove Cyclic Prefix
FFT
Remove Conjugate Mirror
Channel Demapper
QAM Demodulator
Gambar 2. Komponen-komponen penyusun receiver OFDM
1) Fitur-fitur DSK TMS320C6713 DSK TMS320C6713 merupakan suatu platform pengembangan program DSP pada keluarga DSP C67xx. DSK TMS320C6713 menawarkan kemampuan komputasional tingkat-tinggi, memori dan peripheral-peripheral on-board, serta emulasi berbasis JTAG. DSK ini juga disediakan sebagai referensi desain hardware untuk DSP TMS320C6713. DSK C6713 memiliki fitur-fitur hardware, diantaranya: DSP TMS320C6713 yang beroperasi pada frekuensi 225 MHz, Codec stereo TLV320AIC23 disertai dengan line in, line out, microphone, dan headphone, SDRAM berukuran 16 Mbyte, Memori Flash berukuran 512 Kbytes (256 Kbytes yang dapat digunakan), 4 LED dan Dip Switch, Emulasi JTAG melalui emulator JTAG on-board dengan interface USB, dan Konektor ekspansi standar untuk penggunaan daughter card B. Code Composer Studio DSK TMS320C6713 dilengkapi dengan Code Composer Studio. Compiler ini didesain untuk mengoptimasi pemrograman DSP tingkat tinggi dalam bahasa C. Fitur-fitur CCS yang utama diantaranya : Dukungan dokumentasi, pelatihan dan komunitas programmer; Fullfeatured debugging termasuk berbagai jenis eksekusi bersyarat dan breakpoint, data watch window dan analisis kinerja aplikasi seperti evaluasi memori dan evaluasi cycle; Library yang lengkap yang mendukung variasi pemrograman DSP; dan kemampuan untuk menampilkan grafis, seperti plot sinyal dan analisis FFT sinyal C. Integrasi Sistem Hardware yang diperlukan dalam pengujian dan evaluasi diantaranya : PC, DSK TMS20C6713, dan speaker. Pada implementasi ini digunakan PC dengan spesifikasi prosesor Athlon X2 3600 serta memori 1 GB. Selain itu diperlukan juga 2 buah kabel audio untuk menghubungkan line in DSK dengan line out komputer dan yang menghubungkan line out
DSK dengan speaker. DSK dihubungkan dengan PC melalui kabel USB. Program pemutar musik sebagai sinyal analog masukan untuk DSK, penulis menggunakan Winamp; Code Composer Studio sebagai program yang melakukan debugging, compiling, dan linking program Sistem OFDM; dan DSK Diagnostics, untuk mendiagnosa peripheral-peripheral DSK serta memeriksa kesiapan peripheral-peripheral DSK dalam mengeksekusi program. Pendiagnosaan dilakukan sebelum membuka CCS dan selalu dilakukan pertama kali setelah DSK terhubung dengan komputer. D. Implementasi Sistem Prototipe Sistem OFDM ini diimplementasikan pada satu DSK TMS320C6713. DSK tersebut bertindak sebagai transmitter dan receiver.. Semua kode ditulis dalam bahasa C, kemudian didebug, dicompile, dan dilink menggunakan CCS. Selain itu CCS juga melakukan optimasi program. File source dan header FFT dan IFFT merupakan file yang telah dibuat sebelumnya yang didownload dari www.cs.umbc.edu/~squire/download. Untuk keperluan evaluasi kompleksitas, penulis telah membuat 10 program yang terdiri dari 5 program menggunakan mekanisme transfer data menggunakan CPU dan 5 program menggunakan EDMA. Prototipe Sistem OFDM yang dibangun mendukung komunikasi satu arah. Semua keperluan interface dengan user dilakukan langsung melalui CCS. Gambar 5 adalah diagram alir yang menjelaskan tahapan eksekusi program yang menggunakan mekanisme transfer data menggunakan CPU dan Gambar 6 adalah diagram alir yang menjelaskan tahapan eksekusi program yang menggunakan mekanisme transfer data yang menggunakan EDMA. Tahapan eksekusi program yang menggunakan mekanisme transfer data menggunakan CPU dijelaskan sebagai berikut. Program dimulai dengan pengosongan ketiga buffer, setelah itu DSK diinisialisasi. Penginisialisasian ini juga berlaku untuk McBSP yang berperan dalam mekanisme transfer data. Transfer data yang pertama kali dilakukan adalah pengisian input buffer dengan sampel-sampel yang disediakan codec. Selanjutnya adalah pemrosesan isi buffer oleh algoritma DSP. Ketika buffer pertama diproses, McBSP mengisi buffer yang TABEL I KARAKTERISTIK PROGRAM-PROGRAM YANG AKAN DIEVALUASI Panjang Banyak Paket Point Program Cyclic Subcarrier Data FFT/IFFT Prefix OFDM 64 3 64 16 31 OFDM 128 6 128 32 63 OFDM 256 12 256 64 127 OFDM 512 24 512 128 255 OFDM 1024 48 1024 256 511
4 seterusnya selama program berjalan. V. PENGUJIAN DAN EVALUASI
Gambar 5. Diagram alir eksekusi program yang menggunakan mekanisme transfer data menggunakan CPU
terdapat dimana dalam sekali eksekusi diolah 3 paket data yang berukuran 16 bit atau setiap eksekusi diproses 48 bit. Dengan begitu dalam satu detik diolah . Nilai ini adalah nilai bitrate sistem. Codec mencuplik sinyal audio pada kecepatan 48000 Hz (default framework code) untuk satu channel (mono). Artinya dalam satu detik codec memberikan 48000 sampel data audio berukuran 16 bit atau terdapat TABLE II WAKTU PEMROSESAN MASING-MASING PROGRAM
CPU Program
OFDM 64 OFDM 128 OFDM 256 OFDM 512 OFDM 1024
Waktu Pemroesan (cycle)
kedua yang masih kosong. Setelah buffer pertama selesai diproses McBSP menransfer isi buffer pertama ke codec dan buffer kedua diproses. Ketika buffer kedua diproses, buffer ketiga diisi oleh sampel. Proses berlanjut dari pengisian buffer seterusnya selama program berjalan. Tahapan eksekusi program yang menggunakan mekanisme transfer data menggunakan EDMA dijelaskan sebagai berikut. Program dimulai dengan pengosongan ketiga buffer, setelah itu EDMA controller dan DSK diinisialisasi. Inisialisasi EDMA controller bertujuan untuk menyiapkan EDMA untuk berfungsi menransfer data sedangkan penginisialisasian DSK bertujuan untuk menyiapkan EDMA untuk mengambil alih tugas McBSP dalam hal transfer data. Transfer data yang pertama kali dilakukan adalah pengisian input buffer dengan sampel-sampel yang disediakan codec. Selanjutnya adalah pemrosesan isi buffer oleh algoritma DSP. Ketika buffer pertama diproses, EDMA mengisi buffer yang kedua yang masih kosong. Setelah buffer pertama selesai diproses EDMA menransfer isi buffer pertama ke codec dan buffer kedua diproses. Ketika buffer kedua diproses, buffer ketiga diisi oleh sampel. Proses berlanjut dari mulai pengisian buffer
A. Evaluasi Waktu Pemrosesan Waktu pemrosesan masing-masing program disajikan pada Tabel II. Dari tabel tersebut terlihat bahwa semakin banyak paket yang diproses maka waktu pemrosesan akan semakin besar. Hal ini membuktikan bahwa semakin banyak data yang diolah maka kompleksitas komputasi akan semakin tinggi. Jika dibandingkan dengan program dengan mekanisme transfer data menggunakan EDMA, waktu pemrosesan program tesebut lebih cepat daripada program dengan mekanisme transfer data menggunakan CPU. Hal ini memperlihatkan peranan EDMA dalam mengambil alih transfer memori dari CPU, sehingga CPU hanya berkonsentrasi pada pengolahan sinyal saja. Bitrate sistem masing-masing program disajikan pada Tabel III. Perhitungan bitrate sistem dilakukan sebagai berikut. Misalkan pada OFDM 64 CPU, untuk sekali eksekusi membutuhkan waktu 3.31 x 10-3 detik artinya dalam 1 detik
Clock (cycle) 828,505 1,631,362 3,431,548 6,636,362 13,948,460
Time (ms) 3.31 6.53 13.7 26.5 55.8
Clock (cycle) 112,576 221,581 449,585 900,317 2,022,572
Time (ms) 0.45 0.89 1.80 3.60 8.09
16.000.000 14.000.000 12.000.000 10.000.000 8.000.000 6.000.000 4.000.000 2.000.000 64
128
CPU Gambar 6. Diagram alir eksekusi program yang menggunakan mekanisme transfer data menggunakan CPU
EDMA
256
512
1024
Point IFFT/FFT EDMA
Gambar 7. Grafik Perbandingan Waktu Pemrosesan Sistem Transceiver
5 1.
TABLE III BITRATE SISTEM MASING-MASING PROGRAM CPU Bitrate Sistem (bit per detik)
Program
OFDM 64 OFDM 128 OFDM 256 OFDM 512 OFDM 1024
14501.51 14701.38 14014.60 14490.57 13763.44
EDMA
Kebocoran Buffer pada fs = 48000 Hz 753498.49 753298.62 753985.40 753509.43 754236.56
Bitrate Sistem (bit per detik) 106666.67 107865.17 106666.67 106666.67 94932.01
Kebocoran Buffer pada fs = 48000 Hz 661333.33 660134.83 661333.33 661333.33 673067.99
2.
. Bitrate sistem OFDM 64 CPU adalah 14501.51 ≈ 14501 bit per detik, sehingga dalam satu detik terdapat atau yang tidak terolah. Sampel-sampel data yang tidak terolah inilah yang disebut sebagai kebocoran buffer sistem. Untuk mengatasi kebocoran buffer akibat tidak tertampungnya sampel data audio codec pada buffer yang disediakan, maka penulis mengajukan solusi-solusi berikut : 1. Frekuensi sampling codec disesuaikan dengan sample rate program 2. Program dimodifikasi untuk disesuaikan dengan frekuensi sampling codec B. Evaluasi Penggunaan Memori Dari Tabel IV terlihat bahwa semakin banyak data yang diolah penggunaan memori semakin besar. Penggunaan memori ini ditentukan oleh banyaknya komputasi yang dilibatkan dan penggunaan array dalam fungsi, semakin banyak komputasi dan semakin besar ukuran array yang didefinisikan maka semakin besar pula memori yang diperlukan. Dari tabel tersebut terlihat pula bahwa program yang menggunakan EDMA menggunakan memori lebih besar. Hal ini disebabkan pada program yang menggunakan mekanisme transfer data menggunakan EDMA ditambahkan fungsi untuk menginisialisasi EDMA dan fungsi ISR yang lebih panjang karena berisi deklarasi parameter-parameter EDMA.
3.
DAFTAR PUSTAKA [1] [2] [3]
[4]
[5] [6] [7]
VI. KESIMPULAN DAN RISET LANJUT
[8]
Dari hasil-hasil simulasi dan evaluasi yang telah dijelaskan pada bab sebelumnya dapat diambil beberapa kesimpulan diantaranya:
[9]
TABEL IV PENGGUNAAN MEMORI MASING-MASING PROGRAM Program OFDM 64 OFDM 128 OFDM 256 OFDM 512 OFDM 1024
CPU
EDMA
9,980 10,312 10,124 10,468 10,220
10,348 10,824 10,760 11,552 11,432
Program yang paling banyak membutuhkan waktu pemrosesan adalah program OFDM 1024 yaitu 55,8 ms untuk mekanisme transfer data menggunakan CPU dan 8,09 ms untuk mekanisme transfer data menggunakan EDMA. Sedangkan program yang paling sedikit membutuhkan waktu pemrosesan adalah program OFDM 64 yaitu 3,31 ms untuk mekanisme transfer data menggunakan CPU dan 0,45 ms untuk mekanisme transfer data menggunakan EDMA. Bitrate sistem yang paling besar adalah bitrate program OFDM 128 menggunakan mekanisme transfer data menggunakan EDMA yaitu 108.312,5 bit per second. Sedangkan bitrate sistem paling kecil adalah bitrate program OFDM 1024 menggunakan mekanisme transfer data menggunakan CPU yaitu 13.765 bit per second. Program yang paling banyak menggunakan memori adalah program OFDM 512 menggunakan transfer data menggunakan EDMA yaitu 11.552 byte. Sedangkan program yang paling sedikit menggunakan memori adalah program OFDM 64 menggunakan transfer data menggunakan CPU yaitu 9.980 byte.
Project Lightbrown. “Full duplex OFDM over a frequency selective channel,” Royal Institue of Technology. 2001 Project Blau. “Full duplex OFDM,” Royal Institute of Technology, Sweden, 2001 Mingyue Ji, Zhe Du, Kristofer Kjellgren, Iren Gonzalvez Garcia. “OFDM in multipath,” School of Electrical Engineering, Royal Institute of Technology. June 1, 2007. Naiha Yuan. “An equalization technique for high rate OFDM systems,” Master thesis. Department of Electrical Engineering, University of Saskatchewan Saskatoon, December 2003 Texas Instruments/Spectrum Digital, "TMS320C6713 DSK technical reference," 506735-0001 Rev. B, November 2003. Hiroshi Harada, Ramjee Prasad, “Simulation and Software Radio,” Artech House, 2002 T.B. Welch, C.H.G. Wright and M.G. Morrow, “Real-time digital signal processing from MATLAB to C with the TMS320C6x DSK,” CRC Press, Boca Raton, Florida, 2006. John Squire. “Lecture 18, FFT Fast Fourier Transform,” Tersedia : http:www.cs.umbc.edu/~squire/download Texas Instruments/Spectrum Digital, " TMS320 DSP Development Support Reference Guide," May 1998.