BAB 3 IMPLEMENTASI DSP
3.1
Pengenalan DSK TMS320C6713 DSK TMS320C6713 merupakan salah satu starter kit untuk pemrosesan
sinyal digital dari vendor Texas Instrument yang digunakan secara luas untuk beberapa aplikasi mulai dari pemrosesan komunikasi dan kontrol hingga pemrosesan gambar dan suara. Dalam implementasinya, DSP menggunakan komponen dasar seperti terlihat pada Gambar 3.1.
Gambar 3.1 Komponen dasar Sistem DSP
Sinyal analog yang akan diproses dalam sistem DSP dikonversikan ke dalam bentuk digital menggunakan analog-to-digital converter (ADC). Data digital ini akan diproses sesuai algoritma DSP yang dikehendaki. Hasil pemrosesan ini kemudian akan diubah kembali ke dalam bentuk analog menggunakan digital-to-analog converter (DAC). Keuntungan penggunaan DSP di antaranya adalah kemampuannya yang sangat besar dalam mengolah unit logika aritmetika dan pengoptimalan multipliers, dapat bekerja dengan baik pada pemrosesan secara kontinu atau disebut sebagai real-time processing, dapat mengimplementasikan algoritma linier dan nonlinier yang kompleks, dapat dimodifikasi secara mudah dengan mengubah software, mengurangi jumlah komponen sehingga mudah difabrikasi, dan memiliki reabilitas yang tinggi.
28
Beberapa fitur pada DSP membuatnya berbeda dengan microprocessor lain. Perbedaan tersebut di antaranya : 1. High speed arithmetic. DSP mempunyai adder dan multiplier yang dapat digunakan secara paralel dalam satu kali instruksi sehingga operasi pertambahan dan perkalian dapat dilakukan dalam satu cycle. Kemampuan pengolahan aritmetika ini sangat cepat dibandingkan dengan microprocessor lainnya. 2. Dapat melakukan pemrosesan secara real-time. DSP mempunyai kemampuan yang tinggi dalam menerima dan mentransmisikan data secara real-time tanpa menginterupsi operasi matematis internal. 3. Mempunyai arsitektur multiple acces memory. Operasi pada DSP yang banyak dilakukan adalah pertambahan dan perkalian. Untuk dapat mengoperasikan kedua operasi ini secara simultan maka terdapat fitur multiple acces memory. 4. DSP memiliki keuntungan dalam hal penggunaan daya yang lebih kecil dan relatif lebih murah.
Pada tugas akhir ini digunakan DSP Starter Kit tipe TMS320C6713. Paket DSK terdiri atas: 1. Code Composer Studio (CCS) yang menyediakan tool pendukung untuk software yang dibuat sesuai dengan algoritma pemrosesan sinyal digital yang dikehendaki. CCS menyediakan integrated development environment (IDE) yang menyatukan compiler C, assembler, linker, debugger dan lainnya. 2. Board yang berisi digital signal processor floating point TMS320C6713 yang memiliki frekuensi clock 225 MHz, memori internal 192 KB, dan frekuensi sampling standar adalah 48 KHz. 3. Kabel USB yang menghubungkan board DSK dengan komputer. 4. Power supply untuk board DSK.
3.1.1
Arsitektur DSK TMS320C6713 DSK TMS320C6713 merupakan bagian dari keluarga platform DSP
TMS320C6000 floating point yang mempunyai arsitektur very-long-
29
instruction-word (VLIW) VelociTI yang canggih dengan kinerja tinggi sehingga menjadi pilihan yang baik untuk aplikasi multichannel dan multifunction. DSK TMS320C6713 mempunyai frekuensi clock 225 MHz sehingga mempunyai kemampuan untuk memproses 8x32 bit instruksi setiap 1 = 4.444ns dan dapat mengeksekusi 1350 juta operasi floating point 225MHz
per detik (MFLOPS), 1800 juta instruksi per detik (MIPS), serta dapat melakukan 450 juta operasi multiply-accumulate per detik (MACs). DSK TMS320C6713 mempunyai beberapa peripheral pendukung di antaranya dua buah Multichannel Audio Serial Ports (McASPs), dua buah Multichannel Buffered Serial Ports (McBSPs), dua buah Inter-Integrated Circuit (I2C) buses, sebuah dedicated modul General-Purpose Input/Output (GPIO), dua buah general-purpose timers, sebuah host-port interface (HPI), dan aglueless external memory interface (EMIF) yang mempunyai kemampuan sebagai interface dengan SDRAM, SBSRAM, dan asynchronous peripheral.
Gambar 3.2 Diagram blok DSK TMS320C6713 [3]
Fitur utama yang terdapat dalam DSK TMS320C6713 adalah : •
DSP TMS320C6713 beroperasi pada 225 MHz
•
AIC23 Stereo codec
30
•
16 MB SDRAM
•
512 KB non − volatile memori flash
•
4 LED dan switch DIP
•
Konfigurasi software board melalui register yang diimplementasikan dalam CPLD
Gambar 3.3 Bentuk fisik DSK TMS320C6713 [3]
•
Pilihan konfigurasi boot
•
Konektor ekspansi standar untuk penggunaan daughtercard
•
Emulasi JTAG melalui emulator JTAG on-board menggunakan interface USB atau emulator eksternal
•
Power supply (+5V)
3.1.2
Peta Memori DSK TMS320C6713 DSP keluarga C67xx memiliki ruang pengalamatan yang besar. Kode
program dan data dapat ditempatkan dimana pun dalam unified address space. Alamat pada memori berukuran 32 bit. Peta memori menunjukkan ruang pengalamatan pada DSK TMS320C6713. Secara umum, memori internal menempati alamat paling awal dari ruang pengalamatan yang tersedia. EMIF memiliki 4 daerah pengalamatan yang terpisah yang disebut chip enable
31
spaces (CE0 – CE3). SDRAM menempati CE0 sedangkan flash dan CPLD menempati CE1. CE2 dan CE3 secara umum dipesan untuk daughtercards.
Gambar 3.4 Peta memori DSK TMS320C6713 [3]
3.1.3 Fitur – fitur DSK TMS320C6713 DSK TMS320C6713 mempunyai fitur-fitur penting yang akan dijelaskan dalam subbab-subbab berikut.
3.1.3.1 Memori Flash Memori flash memiliki ukuran 512 KB, namun penggunaan dalam konfigurasi standar adalah 256 KB. Flash merupakan tipe memori yang tidak akan kehilangan isi memorinya jika catu daya dimatikan. DSK menggunakan memori flash yang berfungsi untuk booting. Dalam flash ini berisi sebuah program kecil yang disebut power on self test (POST). Program ini berjalan saat DSK pertama kali dinyalakan. Program POST akan memeriksa fungsifungsi dasar board seperti koneksi USB, audio codec, LED, switches, dan sebagainya. Memori flash berada pada ruang alamat CE1 (alamat 0x90000000).
32
3.1.3.2 SDRAM Synchronous Dynamic RAM atau SDRAM dengan ukuran 16 MB merupakan memori utama yang berfungsi sebagai tempat penyimpanan instruksi maupun data. SDRAM berada di awal ruang pengalamatan CE0 (alamat 0x80000000). DSK menggunakan 128 megabit SDRAM dalam 32 bit EMIF. Pengontrol SDRAM merupakan bagian dari EMIF dan harus dikonfigurasi dalam software untuk operasi yang sesuai.
3.1.3.3 AIC23 Stereo Codec AIC23 Stereo Codec berfungsi sebagai ADC bagi sinyal audio yang masuk ke board maupun sebagai DAC bagi sinyal yang keluar dari board. Frekuensi pencuplikan untuk AIC23 Stereo Codec ini adalah 8 KHz – 96 KHz dengan sampel 16 hingga 32 bit. Bagian AIC23 Stereo codec terdiri atas konektor microphone, line-in, line-out dan speaker. Proses yang dilakukan codec ini adalah dengan mencuplik sinyal analog yang masuk misalnya melalui microphone ataupun input line-in dan mengkonversi hasil pencuplikan tersebut ke dalam data digital sehingga dapat diproses oleh DSP. Jika proses dalam DSP sudah selesai maka data digital yang telah diproses akan dikonversi lagi menjadi sinyal analog sehingga melalui headphone output (speaker) atau line-out dapat diketahui sinyal output-nya.
Gambar 3.5 Interface codec pada DSK TMS320C6713
33
Codec berkomunikasi melalui 2 kanal serial audio. Kanal pertama digunakan untuk mengontrol konfigurasi register internal codec sedangkan kanal lainnya digunakan untuk mengirim dan menerima sampel audio digital. DSK TMS320C6713 ini juga mempunyai 2 buah Multichannel Buffered Serial Ports (McBSP) yang digunakan untuk mengontrol kanal. McBSP0 digunakan sebagai kanal kontrol unidirectional yang diprogram untuk mengirim 16 bit control word ke AIC23. Tujuh bit control word pertama menspesifikasikan register yang akan dimodifikasi sementara 9 bit berikutnya berisi nilai register. Kanal kontrol hanya digunakan ketika mengkonfigurasi codec dan secara umum akan idle ketika data audio sedang ditransmisikan. McBSP1 digunakan sebagai kanal data bidirectional. Semua data audio mengalir ke kanal data. DSK umumnya menggunakan format data sampel selebar 16-bit untuk kanal kiri dan kanan. Format data ini disebut format DSP yang didesain secara spesifik untuk dapat beroperasi dengan port McBSP pada DSP. Codec mempunyai clock sistem 12 MHz. Clock sistem 12 MHz ini berhubungan dengan sample rate USB karena mayoritas USB menggunakan clock 12 MHz dan dapat menggunakan clock yang sama baik untuk codec maupun pengontrol USB. Kecepatan sampel internal yang membangkitkan pembagian clock 12 MHz ini digunakan untuk membangkitkan frekuensi yang umum seperti 48KHz, 44,1KHz, dan 8KHz.
3.1.3.4 Daughter Card Interface DSK menyediakan tiga konektor ekspansi yang dapat digunakan untuk menerima plug-in daughter card. Daughter card memungkinkan user membangun platform DSK sendiri untuk memperluas dan menyediakan kemampuan aplikasi I/O yang spesifik. Konektor ekspansi ini digunakan untuk memori, peripheral, serta Host Port Interface (HPI). Konektor memori menyediakan akses sinyal DSP EMIF asynchronous ke interface dengan memori dan memory mapped devices. HPI merupakan interface berkecepatan
34
tinggi yang dapat memungkinkan beberapa DSP untuk saling berkomunikasi dan bekerja sama pada suatu proyek yang dibuat.
3.1.3.5 Complex Programmable Logic Device (CPLD) DSK TMS320C6713 menggunakan CPLD Altera EPM3128TC100 – 10 untuk mengimplementasikan : •
4 memory mapped control/status register yang memungkinkan software mengontrol beberapa fitur board,
•
mengontrol interface daughtercard dan sinyal,
•
berbagai macam glue logic yang dapat mengikat beberapa komponen board secara bersamaan.
3.1.3.6 Voltage power supply +5 volt Input 5 volt ini dibagi dengan menggunakan voltage regulator menjadi 1,26 volt untuk internal DSP dan 3,3 volt untuk I/O buffer DSP dan chip lain yang berada pada board.
3.1.3.7 LED dan Switches DSK memiliki 4 LED dan sebuah 4 DIP switch sebagai sarana sederhana untuk menyediakan umpan balik interaktif ke user. Keduanya diakses melalui reading dan writing ke register-register CPLD.
3.2
Code Composer Studio Code Composer Studio (CCS) menyediakan integrated development
environment (IDE) untuk menggabungkan beberapa tool software. CCS berisi tool untuk code generation seperti compiler C, assembler, dan linker. CCS memiliki kemampuan
secara
grafis
dan
mendukung
real-time
debugging.
CCS
menyediakan tool software yang mudah digunakan untuk build dan debug program. Compiler C meng-compile program yang ditulis dalam bahasa C untuk menghasilkan file assembly berekstensi *.asm. Assembler kemudian akan mengassemble file *.asm untuk menghasilkan file machine language object dengan
35
ekstensi *.obj. Linker akan mengkombinasikan file-file object dan object libraries sebagai input untuk menghasilkan file executable berekstensi *.out. File executable ini dapat di-load dan di-run secara langsung ke prosessor TMS320C6713. Tipe-tipe file yang akan dijumpai ketika menggunakan CCS secara lengkap adalah sebagai berikut: 1. file *.pjt : nama file project, menyimpan keseluruhan file yang diperlukan untuk menjalankan algoritma program DSP. 2. file *.c : program utama dengan bahasa pemrograman C. 3. file *.asm : assembly source program yang dapat dibuat oleh user ataupun oleh C compiler. 4. file *.sa : linear assembly source program 5. file *.h : header support file 6. file *.lib : library file seperti run-time support library rts6701.lib 7. file *.cmd : linker command file yang berisi alokasi alamat memori yang digunakan. 8. file *.obj : object file yang dibuat melalui assembler 9. file *.out : executable file yang dibuat oleh linker untuk di-load dan di-run ke prosesor. Analisis secara real-time dapat dilakukan dengan menggunakan real-time data
exchange
(RTDX)
yang
tergabung
dengan
DSP/BIOS.
RTDX
memungkinkan pertukaran data antara host dengan target DSP dan menganalisis secara real-time tanpa menghentikan proses yang dilakukan DSP. Statistik kunci dan kinerjanya dapat dimonitor secara real-time.
3.3 Mekanisme Transfer Data 3.3.1 DSP berbasis sampel dan DSP berbasis frame Pemrosesan sinyal secara real-time secara umum dapat dibagi menjadi dua jenis, yaitu pemrosesan berbasis sampel dan pemrosesan berbasis frame. Pada pemrosesan berbasis sampel, setiap satu input sampel diolah kemudian dikeluarkan (output) satu sampel pula. Untuk input dan output berupa sinyal
36
analog, setiap diperoleh satu hasil pencuplikan, hasil tersebut langsung diproses kemudian hasil proses tersebut dialirkan ke output. Kelemahan sistem ini adalah lama waktu pemrosesan menjadi relatif singkat karena proses di DSP harus selesai sebelum diperoleh hasil sampel yang berikutnya. Input satu sampel
Sinyal Analog
Satu sampel diproses DSP
Output satu sampel
Sinyal Analog yang telah direkonstruksi
Gambar 3.6 Pemrosesan DSP berbasis sampel
Pada pemrosesan berbasis frame (sekumpulan sampel yang berturutan, terkadang disebut “block” atau “packet”), sampel dikumpulkan terlebih dahulu sampai sebanyak N, jika telah terkumpul sampel sebanyak N maka proses terhadap frame baru dimulai. Sementara frame diproses, sampel-sampel berikutnya dikumpulkan lagi dalam frame berikutnya. Keuntungan sistem ini adalah lama waktu pemrosesan yang diperbolehkan relatif lebih panjang dibandingkan dengan DSP berbasis sampel. Semakin besar ukuran frame maka semakin panjang juga waktu pemrosesan yang diperbolehkan. Sinyal Analog
Input satu sampel
Tidak
Input satu sampel
Telah terkumpul N sampel?
Output satu sampel
Sinyal Analog yang telah direkonstruksi
Ya
Mulai menyusun frame berikutnya
Gambar 3.7 Pemrosesan DSP berbasis frame
3.3.2 Triple Buffering Untuk pemrosesan real-time berbasis frame, diperlukan setidaknya tiga buffer memori setiap saat. Satu buffer untuk mengisi frame dengan sampelsampel baru, satu untuk memproses frame oleh DSP, dan satu untuk mengirim frame yang telah diproses ke output. Misalkan nama ketiga buffer tersebut adalah buffer A, buffer B, dan buffer C. Metode “kasar” untuk pemrosesan 37
real-time adalah mengisi buffer A dengan input sampel sebagai penympanan keluaran ADC, kemudian mengkopi isi buffer A ke buffer B untuk pemrosesan dan mengosongkan buffer A agar siap menerima sampel-sampel berikutnya. Setelah pemrosesan selesai, isi buffer B dikopi ke buffer C, isi buffer C kemudian dikirimkan ke DAC dan seterusnya. Metode seperti ini tidaklah efisien. Metode yang efisien untuk mengimplementasikan pemrosesan berbasis frame adalah dengan menggunakan “triple buffering”. Dengan teknik ini tidak diperlukan untuk menyalin isi buffer. Caranya adalah dengan mendefinisikan tiga buah pointer yang akan digunakan sebagai alamat dari lokasi memori buffer untuk input, pemrosesan, dan output. Saat buffer input telah terisi penuh, hanya diperlukan untuk mengganti pointer alih-alih menyalin semua isi buffer ke buffer lain.
Tabel 3.1 Mekanisme Triple Buffering
Pointer
T0
T1
T2
T3
T4
dan seterusnya...
pInput
buffer A buffer C buffer B buffer A buffer C dan seterusnya..
pProses
buffer B buffer A buffer C buffer B buffer A dan seterusnya..
pOutput buffer C buffer B buffer A buffer C buffer B dan seterusnya..
Keadaan awal buffer adalah setiap buffer berisi nol. Buffer A merupakan buffer yang pertama kali berisi input. Setelah buffer A penuh, pointer buffer A akan menjadi pointer proses dan buffer C menjadi buffer untuk input (saat T1). Saat T2, pemrosesan pada buffer A telah selesai sehingga pointer buffer A akan menjadi pointer output. Buffer C yang telah terisi penuh akan menjadi buffer untuk proses sedangkan buffer B menjadi buffer untuk input. Saat T3, pointer buffer A kembali sebagai input (seperti kondisi awal T0). Proses ini akan berulang terus menerus.
38
3.3.3 Direct Memory Access (DMA) DMA adalah suatu mekanisme yang transfer data dari satu lokasi memori ke lokasi lainnya dilakukan tanpa adanya intervensi atau kerja dari CPU. DMA memiliki unit controller yang dapat melakukan operasi transfer memori yang terpisah dari CPU. Setelah DMA dikonfigurasi, DMA dapat bekerja sendiri tanpa “campur tangan” CPU. Transfer data dari memori ke codec (atau sebaliknya) dapat dilakukan oleh DMA sehingga jumlah interrupt CPU akan berkurang drastis. Berkurangnya jumlah interrupt ini berarti kecepatan pemrosesan dapat ditingkatkan karena CPU hanya bertugas dalam proses pengolahan data, tanpa harus mengurus proses transfer memori.
3.4
Desain Sistem OFDM Pada tugas akhir ini, digunakan dua desain sistem OFDM. Perbedaan antara
dua desain sistem OFDM ini terletak pada metoda sinkronisasi yang digunakan.
Inp ut
Outp ut
Convolu tion
Interlea ver
Viteb ri
deInterle aver
mappi ng
IFF T
demapp ing
Tamb ah
Estima si
D/ A
FF T
A/ D
kan
am bil
Sinkronis asi
Gambar 3.8 Struktur Sistem OFDM dengan metoda sinkronisasi menggunakan cyclic prefix (CP)
Inp ut Outp ut
Convolu tion Viteb ri
Interlea ver deInterle aver
mappi ng demapp ing
IFF T
Tamb ah
Estima si
FF T
Upsamp ling am bil
Pulse Shaping Downsamp ling
D/ A Pulse Shaping
Gambar 3.9 Struktur Sistem OFDM dengan metoda sinkronisasi menggunakan pilot symbol
Dapat dilihat bahwa perbedaan antara kedua struktur sistem OFDM di atas, terletak pada blok upsampling, pulse shaping filter, dan downsampling. Ketiga blok ini terdapat pada sistem OFDM yang menggunakan metode sinkronisasi
39
kan
A/ D
dengan menggunakan pilot symbol. Sedangkan pada sistem OFDM dengan metode sinkronisasi menggunakan CP tidak terdapat ketiga blok tersebut.
3.4.1 •
Transmitter Convolution Encoder, merupakan suatu teknik forward error correction yang bertujuan untuk meningkatkan kinerja sistem dengan menambahkan bit-bit yang redundan pada data informasi sumber.
•
Interleaver, merupakan teknik untuk mengatasi masalah burst error yang disebabkan oleh interfensi dari luar, seperti petir, gangguan listrik yang disebabkan manusia, dan kanal fading.
•
Mapping. Setelah interleaving, deretan bit kemudian di-mapping dengan skema mapping tertentu. Skema mapping dapat berupa BPSK, QPSK, QAM-16, atau QAM-64.
•
IFFT. Data diubah ke dalam domain waktu menggunakan IFFT. Complex
conjugate
mirror
ditambahkan
sebelum
IFFT
agar
mendapatkan output simbol yang real. •
Tambah CP. Untuk mempertahankan ortogonalitas selama proses pengiriman data, maka ditambahkan CP. CP ini adalah deretan terakhir dari simbol output IFFT yang disalin dan ditempatkan di depan simbol output IFFT. Sehingga terbentuk frame OFDM.
•
Digital-to-Analog Converter, D/A. Sinyal diubah menjadi analog agar dapat dikirim melalui kanal.
3.4.2 •
Receiver Analog-to-Digital Converter, A/D. Sinyal yang diterima diubah kembali menjadi sinyal digital.
•
Sinkronisasi. Karena ada perbedaan clock antara transmitter dan receiver, sehingga transmitter dan receiver tidak sinkron, maka diperlukan algoritma sinkronisasi untuk menemukan sampel awal dari frame OFDM.
40
•
Ambil CP. Blok ini menghilangkan CP yang ditambahkan pada transmitter.
•
FFT. Data diubah kembali pada domain frekuensi menggunakan FFT. Kemudian complex conjugate mirror yang ditambahkan di transmitter, dihilangkan.
•
Estimasi Kanal. Distorsi yang ada pada kanal harus dikompensasi.
•
Demapping. Proses ini berkebalikan dengan proses mapping pada transmitter
•
Deinterleaver. Proses ini berkebalikan dengan proses interleaver pada transmitter.
•
Vitebri Decoder. Proses ini mendekodekan bit-bit yang ditambahkan saat proses Convolutional Coding pada transmitter.
3.5
Arsitektur Sistem OFDM pada Layer Pemrosesan Sinyal Bagian ini akan membahas lebih dalam mengenai pemrosesan sinyal yang
diolah dengan sistem OFDM ini.
3.5.1
Mapping Pada blok mapping ini, terdapat dua proses, yaitu constellation mapper
dan channel mapper.
3.5.1.1 Constellation Mapper Deretan bit yang akan dikirim, disimpan dalam packet, kemudian akan di-mapping ke titik-titik konstelasi. Mapper yang dapat digunakan antara lain adalah Binary Phase Shift Keying (BPSK), Quadrature Phase Shift Keying (QPSK), dan Quadrature Amplitude Modulation (QAM). Pada Tugas Akhir ini constellation mapper yang digunakan adalah QPSK. Sinyal QPSK secara matematis dapat dinyatakan dengan = s (t )
1 1 d I (t ) co s(2π f c t ) + dQ (t ) sin (2π f c t ) 2 2
41
(3.1)
d I (t) dan d Q (t) merepresentasikan data inphase dan quadrature. Pada Tugas Akhir ini sinyal tidak akan dimodulasi tetapi hanya dipetakan ke titiktitik konstelasi QPSK. Titik-titik konstelasi QPSK dapat dilihat pada Gambar 3.10. QPSK mapper akan memetakan data ke dalam 4 titik konstelasi. Masing-masing titik konstelasi tersebut diwakili oleh 2 bit. Data yang akan dipetakan memiliki format short (16 bit) sehingga satu buah data akan diwakili oleh
16 bit = 8 titik konstelasi. Diagram alir proses QPSK 2 bit / konstelasi
mapper dapat dilihat pada Gambar 3.11.
Gambar 3.10 Konstelasi QPSK Mapper Mulai
packet
Data dibagi menjadi 8 bagian
Petakan masing-masing bagian ke titik konstelasi
qpskre
qpskim
Selesai
Gambar 3.11 Proses QPSK Mapper 42
3.5.1.2 Channel Mapper Channel mapper berfungsi untuk memetakan masing-masing titik konstelasi ke dalam subcarrier-subcarrier. Pada pemodelan sistem ini, jumlah subcarrier minimal yang diperlukan adalah BUFFER_LENGTH × 8 titik konstelasi. Subcarrier yang akan digunakan akan diberi nilai 1 sedangkan subcarrier yang tidak digunakan diberi nilai 0. Sebelum titik-titik konstelasi dipetakan, dilakukan proses pemeriksaan apakah subcarrier ke-1 dapat digunakan jika ya (bernilai 1) maka titik konstelasi pertama akan dipetakan ke subcarrier tersebut, jika tidak (bernilai 0) periksa subcarrier berikutnya. Proses tersebut diulang terus sampai semua titik konstelasi telah dipetakan ke subcarrier-nya masing-masing. Diagram alir proses Channel Mapper dapat dilihat pada Gambar 3.12.
3.5.2
IFFT IFFT memiliki fungsi untuk mengubah data paralel menjadi serial dan
menghasilkan membuat susunan subcarrier saling overlap tetapi tanpa menimbulkan
interferensi
karena
ortogonalitas
subcarrier.
Sebelum
melakukan proses IFFT bagian real dan imajiner ditempatkan dalam satu array, B2. Kemudian hasilnya ditampung dalam array hasil_IFFT. Diagram alir proses IFFT dapat dilihat pada Gambar 3.13.
43
Mulai
qpskre
qpskim
Periksa subcarrier ke-N
Apakah subcarrier bernilai 1?
Tidak
Ya
Petakan ke subcarrier
Tidak
Apakah semua Telah dipetakan?
Ya
chmapre
chmapim
Selesai
Gambar 3.12 Proses Channel Mapper
44
Mulai
chmapre
chmapim
Susun chmapre dengan chmapim dalam 1 array
B2
IFFT
hasil_ifft
Selesai
Gambar 3.13 Proses IFFT 3.5.3
FFT FFT berfungsi untuk mengubah data serial menjadi paralel dan
mengembalikan data sehingga didapat kembali data yang sama dengan data sebelum proses IFFT. Input bagi blok FFT adalah hasil_IFFT yang merupakan hasil dari proses IFFT. Data yang telah di-FFT kemudian dipisahkan kembali bagian real dan imajinernya. Bagian real ditampung dalam array E dan bagian imajiner ditampung dalam array F. Diagram alir proses FFT dapat dilihat pada Gambar 3.14.
45
Mulai
hasil_ifft
fft
hasil_fft
Pisahkan real dan imajiner
F
E
(bagian imajiner)
(bagian real)
Selesai
Gambar 3.14 Proses FFT 3.5.4
Demapping Pada blok mapping ini, terdapat dua proses, yaitu constellation mapper
dan channel mapper. 3.5.4.1 Channel Demapper Proses ini dilakukan dengan hanya mengambil data dari subcarriersubcarrier yang bernilai 1 sedangkan subcarrier-subcarrier yang bernilai nol diabaikan. Hal ini dilakukan karena pada proses channel mapper, titik-titik konstelasi hanya diisikan pada subcarrier-subcarrier yang bernilai 1, subcarrier-subcarrier yang bernilai nol tidak mengandung informasi apapun. Diagram alir proses Channel Demapper dapat dilihat pada Gambar 3.15.
46
Mulai
E
F
(bagian real)
(bagian imajiner)
Periksa subcarrier ke-N
Apakah subcarrier bernilai 1?
Tidak
Ya
Ambil data dari subcarrier
Tidak
Apakah semua subcarrier telah diperisa?
Ya
demodre
demodim
Selesai
Gambar 3.15 Proses Channel Demapper
47
3.5.4.2 Constellation Demapper Proses dimulai dengan mengambil 8 titik konstelasi (pada proses QPSK mapper satu buah data short 16 bit dipetakan ke dalam 8 titik konstelasi) untuk kemudian di-demapping. Hasil demapping terhadap satu titik konstelasi berjumlah 2 bit sehingga dengan 8 titik konstelasi didapat 16 bit yang kemudian disusun untuk mendapatkan kembali data short 16 bit. Diagram alir proses QPSK Demapper dapat dilihat pada Gambar 3.16.
Mulai
demodre
demodim
Temukan 8 titik konstelasi
Ubah titik konstelasi ke biner dan susun
Ubah ke short
packet_receive
Selesai
Gambar 3.16 Proses QPSK Demapper
48
3.5.5 Sinkronisasi 3.5.5.1 Sistem OFDM dengan metoda sinkronisasi menggunakan cyclic prefix Algoritma sinkronisasi terdiri atas dua bagian, yaitu sinkronisasi pada start-up dan sinkronisasi berkelanjutan selama transmisi, lihat Gambar 3.17.
Menden
Energi
garkan
terdetek
Sinkron
si?
isasi
Mode berkela njutan
Gambar 3.17 Diagram alir receiver pada mode start-up Sinkronisasi pada start-up menggunakan algoritma pendeteksian energi sederhana, yang menghitung jumlah kuadrat dari L sampel yang berdekatan di dalam buffer. Energi yang terhitung kemudian dibandingkan ke threshold. Jika energi lebih besar daripada threshold, awal frame ditemukan dan tidak ada energi yang harus dihitung. Tetapi jika energi lebih kecil daripada threshold, frame tidak ditemukan dan jumlah kuadrat dari sampel L berikutnya dihitung sampai energi berada di atas threshold, lihat Gambar 3.18.
Gambar 3.18 Pendeteksian energi di receiver Threshold harus diset sangat hati-hati, cukup rendah agar sistem tidak melewatkan permulaan dari frame tapi juga cukup tinggi agar tidak dipicu oleh noise.
49
Sekali lokasi frame pertama ditemukan dengan menggunakan pendeteksian energi, detector ML, seperti dijelaskan di bagian 2.3.1, digunakan untuk menemukan lokasi lain yang lebih pasti. Algoritma sinkronisasi berkelanjutan kemudian menghitung permulaan dari frame berikutnya berdasarkan pengetahuan dari lokasi dari frame saat itu, panjang frame, dan jumlah guard bits yang disisipkan. Berdasarkan informasi ini, sebuah observasi interval lebih panjang daripada frame dibuat dan sampelsampel di interval ini diletakkan di buffer sinkronisasi. Kemudian detektor ML digunakan untuk menemukan lokasi frame yang tepat di dalam buffer. Penggunaan detektor ML akan berkelanjutan menempatkan frame di tengah-tengah buffer, yang sebaliknya akan menyelip selama ada perbedaan dalam frekuensi sampel di antara transmitter dan receiver. Penempatan frame ditunjukkan di Gambar 3.19.
Gambar 3.19 Sebuah frame OFDM diletakkan di tengah-tengah buffer DSP [5]
Jika detector ML memberi sebuah lokasi frame yang membedakan lebih dari satu sampel dari lokasi dihitung, beberapa gejala tertentu diambil. Frame pada saat itu akan diekstrak pada lokasi yang diberikan oleh detektor ML, tapi ketika frame berikutnya dibaca ke dalam buffer, lokasinya hanya akan diatur oleh satu sampel meskipun detector ML memberi nilai yang besar. Karena perbedaan di frekuensi clock antara transmitter dan receiver cukup kecil, nilai sinkronisasi satu tahap pada suatu waktu akan cukup untuk menjaga sistem tersinkron. Dengan metode ini, masalah yang berhubungan
50
dengan loss dari sinkronisasi selama error yang dibuat oleh detektor ML dapat dihindari. 3.5.5.2 Sistem OFDM dengan metoda sinkronisasi menggunakan pilot symbol Pada sistem OFDM ini, algoritma yang digunakan untuk menentukan permulaan index frame adalah menghitung cross correlation dari gelombang sinusoidal yang diterima gelombang sinusoidal yang diketahui. Receiver menghitung korelasi dengan sinyal yang diterima, pergeseran waktu, dan menjaga nilai maksimum dan index korespondensi. Jika nilai maksimum lebih tinggi daripada threshold yang ditetapkan sebelumnya, maka gelombang sinusoidal ditemukan. Jika tidak ada gelombang sinusoidal ditemukan, frame dianggap sebagai data kosong dan estimasi error dilakukan. Dari sampel sesaat setelah gelombang sinusoidal, training sequence pertama dilakukan.
Gambar 3.20 Metoda sinkronisasi ini menggunakan korelasi antara training sequence dengan sinyal output dari filter
Dengan menggunakan persamaan (2.37), maka korelasi yang menunjukkan nilai maksimum mengindikasikan awal dari training frame.
Gambar 3.21 Contoh Hasil Korelasi
51