implementasi dsp - digilib.itb.ac.id file1. high speed arithmetic. dsp mempunyai dan multiplier...
TRANSCRIPT
28
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.
29
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-
30
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.444225MHz
ns= dan dapat mengeksekusi 1350 juta operasi floating point
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
31
• 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
32
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 fungsi-
fungsi dasar board seperti koneksi USB, audio codec, LED, switches, dan
sebagainya. Memori flash berada pada ruang alamat CE1 (alamat
0x90000000).
33
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
34
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
35
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 meng-
assemble file *.asm untuk menghasilkan file machine language object dengan
36
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
37
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.
Sinyal Analog Input satu sampel
Output satu sampel
Satu sampel diproses
DSP
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
Input satu sampel
Sinyal Analog yang telah
direkonstruksi
Telah terkumpul N
sampel?
Mulai menyusun frame berikutnya
YaTidak
Output satu sampel
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 sampel-
sampel 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
38
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.
39
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.
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
Gambar 3.8 Struktur Sistem OFDM dengan metoda sinkronisasi menggunakan cyclic prefix (CP)
Input
Convolution
Interleaver
mapping
IFFT
Tambah
D/A
A/D
Sinkronisasi
ambil
FFT
Estimasi
demapping
deInterleaver
Vitebri
Output
Input
Convolution
Interleaver
mapping
IFFT
Tambah
Upsampling
D/A
Pulse Shaping
Downsampling
ambil
FFT
Estimasi
demapping
deInterleaver
Vitebri
Output
A/D
Gambar 3.9 Struktur Sistem OFDM dengan metoda sinkronisasi menggunakan pilot symbol
kan
kan
Pulse Shaping
40
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.
41
• 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
1 1( ) ( ) co s(2 ) ( )sin (2 )2 2I c Q cs t d t f t d t f tπ π= + (3.1)
42
dI(t) dan dQ
16 2 /
bitbit konstelasi
(t) merepresentasikan data inphase dan quadrature. Pada
Tugas Akhir ini sinyal tidak akan dimodulasi tetapi hanya dipetakan ke titik-
titik 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 = 8 titik konstelasi. Diagram alir proses QPSK
mapper dapat dilihat pada Gambar 3.11.
Gambar 3.10 Konstelasi QPSK Mapper
Mulai
packet
Data dibagimenjadi 8 bagian
Petakanmasing-masing
bagianke titik konstelasi
qpskre qpskim
Selesai
Gambar 3.11 Proses QPSK Mapper
43
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.
44
Mulai
qpskimqpskre
Periksasubcarrier
ke-N
Apakah subcarrierbernilai 1?
Tidak
Petakanke
subcarrier
Ya
Ya
Tidak
chmapre chmapim
Apakah semuaTelah dipetakan?
Selesai
Gambar 3.12 Proses Channel Mapper
45
Mulai
chmapre chmapim
Susun chmapredengan 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.
46
Mulai
hasil_ifft
fft
hasil_fft
Pisahkan real dan imajiner
E(bagian real)
F(bagian imajiner)
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 subcarrier-
subcarrier 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.
47
Mulai
E(bagian real)
F(bagian imajiner)
Periksasubcarrier
ke-N
Apakah subcarrierbernilai 1?
Tidak
Ambil datadari subcarrier
Ya
demodre demodim
Apakah semua subcarrier telah
diperisa?
Ya
Tidak
Selesai
Gambar 3.15 Proses Channel Demapper
48
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 titikkonstelasi
Ubah titik konstelasi ke biner
dan susun
Ubah ke short
packet_receive
Selesai
Gambar 3.16 Proses QPSK Demapper
49
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.
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.
Menden
garkan
Energi
terdetek
si?
Sinkron
isasi
Mode
berkela
njutan
50
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 sampel-
sampel 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
51
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