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
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.444
225MHz = nsdan 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
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.
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
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 Ya Tidak 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
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
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)
Inp
ut Convolution Interleaver mapping IFFT Tambah D/ A A/D Sinkronis asi am bil FF T Estima si demapp ing deInterle aver Viteb ri Outp ut Inp
ut Convolution Interleaver mapping IFFT Tambah
Upsamp
ling Pulse Shaping D/A Downsamp ling am bil FF T Estima si demapp ing deInterle aver Viteb ri Outp ut 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
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 ( ) co s(2 ) 1 ( ) sin (2 )
2 I c 2 Q c
42 dI(t) dan dQ 16 2 / bit bit 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-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 dibagi menjadi 8 bagian Petakan masing-masing bagian ke titik konstelasi qpskre qpskim Selesai
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
44 Mulai qpskim qpskre Periksa subcarrier ke-N Apakah subcarrier bernilai 1? Tidak Petakan ke subcarrier Ya Ya Tidak chmapre chmapim Apakah semua Telah dipetakan? Selesai
45 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.
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-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.
47 Mulai E (bagian real) F (bagian imajiner) Periksa subcarrier ke-N Apakah subcarrier bernilai 1? Tidak Ambil data dari subcarrier Ya demodre demodim Apakah semua subcarrier telah diperisa? Ya Tidak Selesai
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 titik konstelasi Ubah titik konstelasi ke biner dan susun Ubah ke short packet_receive Selesai
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.