Analisis Bit Error Rate Pada Sistem Wcdma Dengan Menggunakan Channel Coding
TUGAS AKHIR
ANALISIS BIT ERROR RATE PADA SISTEM WCDMA
DENGAN MENGGUNAKAN CHANNEL CODING
Diajukan untuk memenuhi salah satu persyaratan dalam menyelesaikan pendidikan sarjana (S-1) pada Departemen Teknik Elektro
Oleh
IM M ANUEL TA SI TE PU 040402007
DEPARTEMEN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS SUMATERA UTARA
MEDAN
(2)
ANALISIS BIT ERROR RATE PADA SISTEM WCDMA DENGAN MENGGUNAKAN CHANNEL CODING
Oleh :
IMMANUELTA SITEPU 04 0402 007
Tugas Akhir ini diajukan untuk melengkapi salah satu syarat untuk memperoleh gelar Sarjana Teknik
Disetujui oleh : Pembimbing,
Maksum Pinem, ST. MT. NIP: 196810042000121001
Diketahui oleh : Pelaksana Harian
Ketua Departemen Teknik Elektro FT USU,
Prof.Dr.Ir. Usman Baafai NIP:19461022 197302 1 001
DEPARTEMEN TEKNIK ELEKTRO FAKULTAS TEKNIK
UNIVERSITAS SUMATERA UTARA MEDAN
(3)
ABSTRAK
Sistem WCDMA pada dasarnya memang dimaksudkan untuk pentransmisian data berkecepatan tinggi, yakni pada teknologi sistem seluler generasi ketiga (3G). Walau bagaimanapun, setiap transmisi komunikasi yang melewati kanal, baik system komunikasi wireless analog maupun yang digital akan rentan terhadap derau. Derau akan menimbulkan error bila berpadu dengan data yang dikirim dan melewati batas treshold. Salah satu solusi yang dapat dilakukan adalah dengan menaikkan Signal to Noise Ratio (SNR). Namun, ketika mobilitas, faktor daya pancar, dan lama daya tahan alat komunikasi menjadi batasan terhadap penggunaan daya pancar yang besar, sistem komunikasi digital sekarang ini selalu menyertakan bagian Channel Coding untuk membantu memperkuat daya tahan sinyal informasi terhadap derau saluran. Cara penggunaan
Channel Coding tersebut termasuk dalam teknik Forward Error Correction
(FEC) atau disebut juga Error-Control Coding (ECC).
Salah satu teknik FEC yang saat ini banyak digunakan dalam sistem komunikasi digital adalah Convolutional Coding. Seperti kebanyakan teknik FEC lainnya, dengan menggunakan teknik ini, sistem komunikasi yang dibangun akan mempunyai BER yang lebih rendah daripada tanpa menggunakan Channel
Coding.
Oleh karena itu, pada Tugas Akhir ini dianalisis hasil perbandingan BER dari kanal AWGN yang menggunakan Channel Coding dan tanpa menggunakan
Channel Coding tersebut dengan metode simulasi menggunakan program Matlab,
dimana terlihat pada kanal AWGN yang menggunakan Channel Coding bernilai 10-2 pada Eb/No 8 dB, sedangkan pada kanal AWGN yang tidak menggunakan
(4)
KATA PENGANTAR
Puji dan syukur Penulis panjatkan kepada Tuhan Yang Maha Esa atas berkat dan rahmat-Nya sehingga penulis diberikan kemampuan dan kesempatan untuk dapat mennyelesaikan Tugas Akhir ini dengan baik.
Tugas Akhir ini berjudul : Analisis Bit Error Rate Pada Sistem WCDMA Dengan Menggunakan Channel Coding. Tugas Akhir ini merupakan salah satu syarat untuk memperoleh gelar kesarjanaan pada Departemen Teknik Elektro Fakultas Teknik Universitas Sumatera Utara.
Penulis menyampaikan rasa hormat dan terima kasih yang sebesar-besarnya kepada orang tua saya, Ayahanda Ir. T. Sitepu dan Ibunda H. br Ginting yang telah membesarkan, mendidik dan terus membimbing serta mendoakan saya. Juga rasa sayang kepada saudara-saudara saya Yuni Lestari br Sitepu , Dewinta Rina br Sitepu, Neni Lala br Sitepu, dan juga kepada bang Ongky Tarigan.
Dalam kesempatan ini, Penulis juga menyampaikan rasa terima kasih yang sebesar-besarnya kepada :
1. Bapak Maksum Pinem, ST. MT. selaku Dosen Pembimbing Tugas Akhir, yang dengan ikhlas dan sabar memberikan masukan, membimbing dan memotivasi saya dalam menyelesaikan Tugas Akhir ini.
2. Bapak Prof. Dr. Ir. Usman Baafai, selaku dosen wali saya selama mengikuti perkuliahan.
3. Bapak Prof. Dr. Ir. Usman Baafai selaku Pelaksana Harian Ketua Departemen Teknik Elektro, Fakultas Teknik USU.
(5)
4. Seluruh staf pengajar di Departemen Teknik Elektro Fakultas Teknik Universitas Sumatera Utara yang telah membekali saya dengan ilmu pengetahuan selama di perkuliahan.
5. Seluruh karyawan Departemen Teknik Elektro Fakultas Teknik Universitas Sumatera Utara.
6. Kepada seluruh teman-teman seperjuangan angkatan 2004 yang senantiasa menemaniku di dalam menyelesaikan Tugas Akhir ini : Alex Sitepu, Dedi Imanuel Gultom, Wiclif, Daus, Batara, Jakson, Hanna, Augus, Juan Khan, Juan Rio, Franklyn, Adinata, Salman, Hans, Muffi, Willy, Joshua, Jefri, Ronal, dan seluruh teman-teman yang belum disebutkan.
7. Teman-teman mahasiswa dan pihak lainnya yang belum disebutkan satu persatu.
Penulis menyadari bahwa Tugas Akhir ini masih belum sempurna, baik dari segi materi maupun penyajiannya. Oleh karena itu Penulis sangat mengharapkan saran dan kritik dari pembaca yang sifatnya membangun demi kesempurnaan Tugas Akhir ini.
Akhir kata, Penulis berharap agar Tugas Akhir ini bermanfaat bagi pembaca dan Penulis.
Medan, Juni 2010 Penulis
(6)
DAFTAR ISI
ABSTRAK ... ... ...i
KATA PENGANTAR ... ... . ii
DAFTAR ISI ... ... . iv
DAFTAR GAMBAR ... ... vii
DAFTAR TABEL ... ... vii
BAB I PENDAHULUAN 1.1 Latar Belakang Masalah... ... .. 1
1.2 Rumusan masalah ... ... .. 2
1.3 Tujuan Penulisan ... ... .. 2
1.4 Batasan Masalah ... ... .. 2
1.5 Metodologi Penulisan ... ... .. 3
1.6 Sistematika Penulisan ... ... .. 4
BAB II SISTEM WCDMA 2.1. Pendahuluan ... ... .. 5
2.2. Komunikasi Spektrum Tersebar ... ... .. 6
2.3. Wideband Code Division Multiple Access (WCDMA) ... .. 8
2.3.1. Perancangan Transceiver ... ... 12
2.3.1.1. Prinsip Pentransmisian Variabel Rate... .... ... 12
2.3.1.2. Struktur Kanal Logika ... .... ... 13
(7)
2.3.1.4. Transmitter WCDMA ... .... ... 17
2.3.1.5. Kontrol Daya ... .... ... 18
2.3.1.6. Kombinasi, Pembentukan Pulsa dan Konversi Frekuensi ... 18
2.3.1.7. Receiver WCDMA ... ... 19
2.3.1.8. Sinkronisasi ... ... 20
2.4. Additive White Gaussian Noise (AWGN) ... ... 21
BAB III CHANNEL CODING 3.1 Umum ... ... 23
3.2 Convolutional Coding ... ... 25
3.2.1. Representasi Enkoder Konvolusional ... ... 26
3.2.2. State Diagram ... ... 27
3.2.3. Diagram Trellis ... ... 29
3.3. Viterbi Decoding ... ... 30
BAB IV ANALISIS BIT ERROR RATE PADA SISTEM WCDMA DENGAN MENGGUNAKAN CHANNEL CODING 4.1. Umum ... ... 32
4.2. Parameter Sistem WCDMA ... ... 32
4.3. Sistem WCDMA Pada Kanal AWGN Tanpa Menggunakan Teknik Channel Coding ... ... 34
4.3.1. Distribusi Uniform ... ... 36
4.3.2. PN Sequence Generator ... ... 36
(8)
4.3.4. QPSK Modulator Baseband ... ... 36
4.3.5. Kanal AWGN ... ... 37
4.3.6. QPSK Demodulator Baseband ... ... 37
4.3.7. Despreader ... ... 37
4.3.8. Error Rate Calculation ... ... 37
4.4. Sistem WCDMA Pada Kanal AWGN Dengan Menggunakan Teknik Channel Coding ... ... 38
4.4.1. Convolutional Encoder ... ... 40
4.4.2. Viterbi Decoder ... ... 40
4.5. Hasil Analisa ... ... 40
4.5.1. Kondisi Pertama: Sistem WCDMA Pada Kanal AWGN Tanpa Menggunakan Teknik Channel Coding... ... 40
4.5.2. Kondisi Kedua: Sistem WCDMA Pada Kanal AWGN Dengan Menggunakan Teknik Channel Coding... ... 42
4.5.3. Perbandingan Hasil Kondisi Pertama Dengan Kondisi Kedua ... 43
BAB V KESIMPULAN DAN SARAN 5.1. Kesimpulan... ... 45
5.2. Saran ... ... 45
DAFTAR PUSTAKA ... ... 46 LAMPIRAN
(9)
DAFTAR GAMBAR
Gambar 2.1 Alokasi bandwidth WCDMA ... ... 10
Gambar 2.2 Struktur Fungsi Kanal Logika ... ... 13
Gambar 2.3 Transmitter WCDMA ... ... 17
Gambar 2.4 Struktur Receiver pada BS ... ... 19
Gambar 3.1 Model Sistem Komunikasi Digital Sederhana ... 24
Gambar 3.2 Konvolusional Enkoder (2, 1, 3) ... ... 27
Gambar 3.3 Enkoder State Diagram (rate = ½, K = 3) .... ... 28
Gambar 3.4 Enkoder Diagram Trellis (rate = 1/2, K = 3) ... 29
Gambar 4.1 Blok Diagram Sistem WCDMA ... ... 33
Gambar 4.2 Blok Diagram Sistem WCDMA pada kanal AWGN tanpa Channel Coding ... ... 34
Gambar 4.3 Diagram Alir Sistem WCDMA pada kanal AWGN tanpa menggunakan Channel Coding ... ... 35
Gambar 4.4 Blok Diagram Sistem WCDMA pada kanal AWGN dengan menggunakan channel coding ... ... 38
Gambar 4.5 Diagram Alir Sistem WCDMA Dengan Channel Coding ... ... 39
Gambar 4.6 Grafik BER terhadap Eb/No pada kanal AWGN tanpa menggunakan Channel Coding ... ... ... 41
Gambar 4.7 Grafik BER terhadap Eb/No pada kanal AWGN dengan menggunakan Channel Coding ... ... ... 43
Gambar 4.8 Perbandingan Grafik BER terhadap Eb/No pada kanal AWGN dengan dan tanpa menggunakan Channel Coding ... ... 44
(10)
DAFTAR TABEL
Tabel 2.1 Hubungan carrier spacing dan bit rate ... ... 11 Tabel 2.2 Spesifikasi Teknis WCDMA ... ... 12 Tabel 4.1 Parameter-parameter umum untuk sistem WCDMA ... 33 Tabel 4.2 Hasil Nilai Bit Error Rate pada kanal AWGN tanpa menggunakan
Channel Coding ... ... 41
Tabel 4.3 Hasil Nilai Bit Error Rate pada kanal AWGN menggunakan
(11)
BAB I PENDAHULUAN
1.1 Latar Belakang Masalah
Sistem komunikasi wireless baik digital maupun analog bertujuan untuk menghantarkan sinyal informasi dari transmitter ke receiver. Bagaimanapun, kanal komunikasi tidak akan lepas dari rugi-rugi kanal seperti noise, interference dan fading. Rugi-rugi kanal tersebut dapat menyebabkan distorsi sinyal dan pemburukan terhadap nilai signal to noise ratio (SNR).
Untuk mengatasi masalah tersebut ialah dengan cara menggunakan teknik
Channel Coding pada pentransmisiannya. Tujuan teknik ini adalah untuk
menambah kapasitas kanal dengan menambahkan informasi tambahan ke dalam data yang ditransmisikan. Channel Coding terdiri dari dua buah, yaitu enkoding kanal pada bagian transmitter dan decoding kanal pada bagian receiver.
Salah satu teknik Channel Coding yang banyak digunakan saat ini dalam sistem komunikasi digital adalah Convolutional Coding dengan Viterbi Decoding. Dengan menggunakan teknik Convolutional Coding dengan Viterbi Decoding maka akan didapatkan hasil BER yang lebih rendah bila dibandingkan dengan yang tidak menggunakan Convolutional Coding dengan Viterbi Decoding.
Wideband Code Division Multiple Access (WCDMA) merupakan sistem
komunikasi yang mendukung pentransmisian berkecepatan tinggi untuk sistem komunikasi bergerak. Teknik Channel Coding juga dapat digunakan pada sistem ini agar didapatkan performansi yang lebih baik. Convolutional Coding ialah
(12)
salah satu teknik Channel Coding yang telah dispesifikasikan untuk sistem WCDMA tersebut.
Oleh karena itu, pada Tugas Akhir ini penulis akan membandingkan hasil
Bit Error Rate yang didapatkan dari kanal AWGN yang menggunakan Convolutional Coding dengan yang tidak menggunakan Convolutional Coding.
1.2 Rumusan Masalah
Dari latar belakang di atas, maka dapat dirumuskan beberapa permasalahan pada Tugas Akhir ini, yaitu:
1. Bagaimana prinsip kerja sistem WCDMA.
2. Apa yang dimaksud dengan Channel Coding, Convolutional Coding dan
Viterbi Decoding.
3. Bagaimana prinsip kerja dari Convolutional Coding.
4. Apa pengaruh Channel Coding terhadap nilai Bit Error Rate pada sistem WCDMA.
1.3 Tujuan Penulisan
Adapun tujuan dari penulisan Tugas Akhir ini ialah untuk menganalisa Bit
Error Rate pada sistem WCDMA yang menggunakan Channel Coding pada kanal
AWGN.
1.4 Batasan Masalah
Untuk menghindari pembahasan yang terlalu luas, maka penulis akan membatasi Tugas Akhir ini dengan hal – hal sebagai berikut :
(13)
1. Hanya membahas sistem WCDMA secara umum.
2. Tidak membahas mekanisme handover pada sistem WCDMA
3. Model kanal yang digunakan ialah kanal AWGN (Additive White
Gaussian Noise).
4. Model probabilitas yang digunakan ialah Distribusi Uniform. 5. Teknik modulasi yang digunakan adalah modulasi QPSK.
6. Tenik Channel Coding yang dipakai ialah Convolutional Coding (transmitter) dengan Viterbi Decoding (receiver).
7. Yang akan dianalisis ialah hasil BER dari sistem WCDMA yang disimulasikan, yaitu dengan kondisi kanal AWGN yang menggunakan
Channel Coding dan tanpa menggunakan Channel Coding.
1.5 Metode Penulisan
Metodologi penulisan yang digunakan oleh penulis pada penulisan Tugas Akhir ini adalah :
1.Studi literatur, yaitu berupa studi kepustakaan dan kajian dari jurnal-jurnal pendukung baik dalam bentuk hard copy maupun soft copy.
2. Analisis (dari metode simulasi dengan menggunakan program Matlab 7.9).
(14)
1.6 Sistematika Penulisan BAB I PENDAHULUAN
Bab ini merupakan pendahuluan yang berisikan tentang latar belakang masalah, tujuan penulisan, batasan masalah, metode penulisan, dan sistematika penulisan dari Tugas Akhir ini.
BAB II SISTEM WCDMA
Bab ini membahas tentang sistem WCDMA yang berkaitan dengan Tugas Akhir yang dibahas.
BAB III CHANNEL CODING
Bab ini membahas tentang teori-teori dasar dari teknik Channel
Coding.
BAB IV ANALISIS BIT ERROR RATE PADA SISTEM WCDMA DENGAN MENGGUNAKAN CHANNEL CODING
Bab ini membahas tentang analisis Bit Error Rate pada sistem WCDMA dengan menggunakan Channel Coding.
BAB V KESIMPULAN DAN SARAN
Bab ini berisi kesimpulan dari Tugas Akhir ini dan saran dari penulis.
(15)
BAB II SISTEM WCDMA
2.1 Pendahuluan
CDMA adalah metode akses jamak yang bekerja berdasarkan teknologi spektrum tersebar, yaitu Direct Sequence Spread Spectrum (DS-SS). Dengan teknologi ini, sinyal informasi ditransmisikan melalui lebar pita yang jauh lebih lebar daripada lebar pita sinyal informasi. Perbedaan antara sistem
Narrowband-CDMA dengan Wideband-Narrowband-CDMA adalah terletak pada kecepatan data kode
penebar, yaitu pada sistem N-CDMA sebesar 1,23 Mbps, sedangkan pada sistem WCDMA sebesar 5-20 Mbps. Perbedaan ini menyebabkan lebar pita transmisi W-CDMA lebih lebar daripada lebar pita transmisi sistem N-CDMA. Hal ini sesuai dengan Teorema Shannon, yang dinyatakan dengan :
) 1
( 2
log S N W
C = + (2.1)
dimana:
C = Kapasitas kanal (bps) W = Lebar pita transmisi (Hz) S = Daya sinyal (Watt)
N = Daya derau (Watt)
terlihat untuk kapasitas kanal yang tetap, karena lebar pita transmisi W-CDMA lebih besar daripada N-CDMA maka W-CDMA memerlukan SNR (Signal to
Noise Ratio) yang lebih rendah dari N-CDMA, dengan kata lain untuk sistem
modulasi digital dengan Eb/No yang sama, W-CDMA mampu mentransmisikan data dengan kecepatan data yang lebih besar daripada N-CDMA.
(16)
2.2 Komunikasi Spektrum Tersebar
Prinsip utama komunikasi spektrum tersebar (Spread Spectrum) adalah penggunaan lebar bidang yang jauh lebih tinggi daripada yang lain. Karena lebar bidang yang lebih tinggi, Power Spektral Density lebih kecil, sehingga sinyal informasi kelihatan seperti derau dalam kanal. Penyebaran dilakukan dengan menggabungkan sinyal data dan kode (Code Division Multiple Access), di mana kode ini independen terhadap data yang dikirimkan.
Beberapa keuntungannya antara lain sebagai berikut
1. Karena sinyal disebarkan dalam pita frekuensi yang lebar, Power
Spectral Density menjadi sangat kecil, sehingga sistem komunikasi
yang lain tidak dipengaruhi oleh jenis komunikasi ini. Namun, level derau Gaussian akan bertambah.
2. Dengan konsep Random Access, maka sistem ini dapat melayani pelanggan dalam jumlah yang besar, karena kode dalam jumlah yang besar dapat dihasilkan.
3. Jumlah maksimum pelanggan yang dapat dialayani dibatasi oleh interferensi.
4. Tingkat keamanan sistem ini lebih terjamin, karena data yang terkirim tidak dapat dikenali atau diproses tanpa ada kode penyebaran (spreading code).
5. Oleh karena lebar bidang yang lebih lebar, maka sistem ini lebih kuat terhadap distorsi.
(17)
Ada beberapa teknik spektrum tersebar yang dapat digunakan. Yang paling popular adalah Direct Spectrum (DS), dan juga Frequency Hopping (FH). Dimana sebuah sistem spektrum tersebar harus memenuhi kriteria sebagai berikut: 1. Sinyal yang dikirimkan menduduki lebar bidang yang jauh lebih lebar
daripada lebar bidang minimum yang diperlukan untuk mengirimkan sinyal informasi.
2. Pada sisi pengirim, terjadi proses penyebaran (spreading) yang menebarkan sinyal informasi dengan bantuan sinyal kode yang bersifat independen terhadap informasi.
3. Pada sisi penerima, terjadi proses dispreading yang melibatkan korelasi antara sinyal yang diterima dan replika sinyal kode yang dibangkitkan sendiri oleh suatu generator lokal.
Kode yang digunakan pada sistem spektrum tersebar memiliki sifat acak, tetapi periodis sehingga disebut sinyal acak-semu (pseudo-random). Kode tersebut bersifat sebagai derau tetapi deterministik sehingga disebut juga derau-semu (pseudo-noise). Pembangkit sinyal kode ini disebut Pseudo Random
Generator (PRG) atau Pseudo Noise Generator (PNG). PRG inilah yang akan
melebarkan dan sekaligus mengacak sinyal data yang akan dikirimkan. Di dalam sistem komunikasi spektrum tersebar, jika lebar bidang semakin lebar, maka akan semakin tahan terhadap jamming dan akan semakin terjamin tingkat kerahasiaannya. Disamping itu, kelebihannya yang lain adalah akan semakin banyak kanal yang bisa dipakai.
Seperti yang diterangkan oleh Shannon, salah seorang ahli statistik telekomunikasi, dalam ilmu komunikasi dinyatakan bahwa kapasitas kanal akan
(18)
sebanding dengan lebar bidang transmisi dan logaritmik S/N. Jadi agar sistem komunikasi dapat bekerja dengan kapasitas kanal yang tetap pada level daya derau yanga tinggi (S/N yang rendah), dapat dilakukan dengan cara memperbesar lebar bidang transmisi W. Disamping itu, Shannon juga mengemukakan bahwa sebuah kanal dapat mentransmisikan sinyal informasi dengan tingkat probabilitas error yang kecil apabila terhadap informasi tersebut dilakukan pengkodean yang tepat dan kecepatan sinyal informasi yang tidak melebihi kapasitas kanal meskipun kanal tersebut memuat derau acak[1].
2.3 Wideband Code Division Multiple Access (WCDMA)
Pada sistem generasi ketiga ini didesain untuk komunikasi multimedia untuk komunikasi person-to-person dapat disajikan dengan tingkat kualitas gambar dan video yang baik, dan akses terhadap informasi serta layanan-layanan pada public dan private network akan akan disajikan dengan data rate dan kemampuan sistem komunikasi pada generasi ketiga ini lebih fleksibel. Seiring dengan kemajuan evolusi dari sistem generasi kedua, akan menciptakan suatu kesempatan bisnis baru yang tidak hanya untuk kalangan para manufakturer dan operator-operator, tetapi juga untuk beberapa content provider dan pengembang aplikasi yang menggunakan jaringan ini. Sistem ini merupakan evolusi dari sistem CDMA pada IMT-2000. Infrastrukturnya mampu mendukung user dengan data
rate tinggi, mendukung operasi yang bersifat asinkron, bandwidthnya secara
keseluruhan 5 MHz dan didesain untuk dapat berdampingan dengan sistem GSM. Sistem WCDMA merupakan teknologi akses jamak dengan menggunakan modulasi DS-SS yang dapat menyediakan fasilitas pengaksesan pelanggan ke
(19)
jaringan PSTN (Public Switched Telephone Network) dan dapat mengirimkan layanan suara, data, faksimili, dan multimedia. Teknologi ini berbeda dengan teknik akses radio konvensional yang menggunakan teknik pembagian bandwidth frekuensi yang tersedia ke kanal sempit atau ke dalam slot waktu. Teknologi WCDMA dalam mengakses data dilakukan secara terus-menerus selebar
bandwidth tertentu (5 - 15 MHz)[1].
Teknologi CDMA apabila dilihat dari sebaran sinyal relatif lebih besar dibandingkan teknologi selular lainnya. Standar yang sering digunakan untuk aplikasi metode akses CDMA adalah IS-95. WCDMA juga memanfaatkan IS-95. Dengan demikian, WCDMA mampu mengurangi multipath-fading, memberikan kapasitas dalam tiap sel yang lebih besar, dan kualitas suara yang lebih baik.
Bandwidth yang ditawarkan bersifat variatif mulai dari 1,26 MHz, 5 MHz, 10
MHz bahkan sampai 20 MHz. Disamping itu, WCDMA sebagai WLL (Wireless
Local Loop) didesain untuk menyediakan layanan transparan, baik itu fixed
(layanan tetap) dan mobile (bergerak) yang dikoneksikan dengan PSTN dari layanan POTS (Plain Old Telephone Service) ke fitur-fitur selanjutnya. Layanan termasuk suara, high speed fax, data dan multimedia, termasuk juga video.
WCDMA merupakan suatu sistem wideband Direct-Sequence Code
Division Multiple Access (DS-CDMA), dalam penjelasannya; bit-bit informasi
ditebar pada sebuah wide bandwidth dengan cara perkalian antara data user dengan bit-bit quadsi-random (disebut chip-chip) yang berasal dari kode-kode
spreading CDMA. Agar dapat mendukung bit rate berukuran sangat besar (up to 2
(20)
harus didukung juga. Sebagai contoh cara pengaturan koneksi multicode ini dijelaskan pada Gambar 2.1.
Gambar 2.1 Alokasi bandwidth WCDMA
Chip rate dengan nilai 3.84 Mcps memandu sinyal user pada sebuah carrier bandwidth yaitu kira-kira 5 MHz. Sistem DS-CDMA biasanya yang
dipakai sebelumnya dengan bandwidth sekitar 1 MHz, seperti pada IS-95, secara umum digunakan sebagai dasar narrowband pada system CDMA. Sudah menjadi sifat dari wide carrier bandwidth dari WCDMA mendukung high user data rate dan juga memiliki performansi keuntungan tertentu, seperti meningkatkan
multipath diversity. Sesuai dengan lisensi operasinya, network operator dapat
merancang dengan multiple sinyal carrier 5 MHz untuk menaikkan kapasitas. Gambar 2.1 juga menunjukkan hal tersebut. Actual carrier spacing dapat dipilih pada satu batasan frekuensi 200 KHz antara kira-kira 4.4 dan 5 MHz, tergantung dari pada tingkat interference antar carrier.
(21)
Sistem WCDMA mendukung variabel data rates user yang cukup besar.
Data rate user dijaga konstan selama tiap 10, 20, 40 dan 80 ms frame tergantung
kebutuhan QoSnya. Namun, kapasitas data diantara user-user dapat berubah dari
frame to frame. Gambar 2.1 menunjukkan contohnya untuk kasus tersebut.
Alokasi kapasitas radio yang cepat ini akan dikontrol secara khusus oleh network untuk mencapai throughput optimum untuk paket layanan data.
Dari awalnya, W-CDMA didesain untuk layanan data kecepatan tinggi seperti internet base packet data menawarkan sampai 2 Mbps dalam lingkungan kantor dan sampai 384 Kbps di outdoor atau lingkungan yang bergerak. Secara rinci hubungan antara besarnya carrier spacing dengan dengan bit rate maksimum yang dapat dicapai adalah seperti yang ditunjukkan pada Tabel 2.1.
Tabel 2.1. Hubungan carrier spacing dan bit rate
CARRIER SPACING (MHz) MAKSIMUM BIT RATE
1,26 13 kbps(~ 64 kbps) 5 64 kbps ~ 384 kbps 20 266 kbps ~ 2 Mbps
(22)
Sedangkan spesifikasi dari WCDMA dapat dilihat seperti Tabel 2.2.:
Tabel 2.2 Spesifikasi Teknis WCDMA TYPE SPESIFIKASI JENIS / NILAI
Radio Access DS-CDMA / FDD Carrier spacing 1,26 / 5 / 10 / 20 MHz
Chip rate 4,096 Mcps (1,024 / 8,192 / 16,384 Mcps)
Modulation Data-QPSK, Spreading – QPSK Detection (Reverse &
Forward link)
Pilot Symbol Aided Coherent RAKE TCH rate Sampai 384 kbps (sampai 2 Mbps)
Variable rate TCH Variable Spreading Factor Multi code Transmission for High rate TCH
Frame length 10 ms
Voice codec G.729 CS-ACELP Inter BS Synchronous Asynchronous Signaling Protoccol Layered Protocol
Multiple Protocol Control Entities B-ISDN based Call Control
Services Voice, Packet data Unrestricted information transmission
2.3.1 Perancangan Transceiver
Berikut merupakan perancangan Transceiver pada sistem WCDMA. 2.3.1.1 Prinsip Pentransmisian Variabel Rate
WCDMA di desain untuk dapat mengakomodasikan berbagai layanan baik suara, data, maupun multimedia dengan bit rate yang bervariasi. Hal ini memungkinkan pemakaian spektrum yang paling efisien. Penerapan pentransmisian variabel rate membutuhkan informasi kontrol yang menyatakan kecepatan simbol seketika itu juga. Untuk melakukan pengawasan terhadap
(23)
semua kanal fisik diatur didalam frame yang mempunyai panjang yang sama (10ms). Sebagai pengontrol, maka tiap frame terdapat bit rate control yang ditransmisikan melalui kanal fisik yang terpisah[2].
Pentransmisian variable rate dapat mengurangi interferensi dari masing-masing user. Bila laju chip tetap, maka laju bit informasi yang rendah akan memberikan faktor spreading tertinggi dan daya transmisi yang terendah.
2.3.1.2 Struktur Kanal Logika
Pada sistem bergerak radio seluler dibutuhkan sejumlah kanal logika. Kanal logika tersebut dibagi menjadi Dedicated Channel, Common Control
Channel dan System Control Channel. Hal ini dapat ditunjukkan pada Gambar
2.2.
Struktur Fungsi Kanal
Dedicated Ch. Common Control Ch. System Control Ch.
TCH DCCH BCH PCH AGCH RACH PICH SCH
Gambar 2.2 Struktur Fungsi Kanal Logika
1. Dedicated Channel
Dedicated Channel terjadi apabila hubungan antar MS (Mobile Station)
dengan BS (Base Station) telah terbangun, baik uplink maupun downlink. Kanal ini terdiri dari :
(24)
a) TCH (Traffic Channel)
Kanal TCH ini berisi data user yang akan ditransmisikan pada
interface radio, yang berupa suara, data dan video, dengan kecepatan
bervariasi antara 0-144 kbps.
b) DCCH (Dedicated Control Channel)
Kanal DCCH ini membawa informasi kontrol yang akan dipertukarkan antara BS dengan MS. Kanal ini berisi kontrol hubungan, kontrol
mobility dan kontrol link dengan bit rate 0-9,6 kbps.
2. Common Control Channel
Common Control Channel ini digunakan pada kanal downlink dan
diberikan untuk semua MS. Kanal ini terdiri dari: a. BCH (Broadcast Channel)
Kanal BCH ini berisikan mengenai informasi MS disekitarnya. b. PCH (Paging Channel)
Kanal PCH ini memberitahukan akan datangnya panggilan, yang diikuti dengan penetapan kanal trafik.
c. AGCH (Access Grant Channel)
Kanal AGCH dikodekan oleh MS selama pendudukan akses secara
random dan berfungsi sebagai kontrol daya lingkar tertutup
terhadap MS. Perintah kontrol daya dikirim melalui AGCH oleh BS.
(25)
Kanal RACH adalah satu-satunya kanal kontrol yang digunakan pada kanal uplink yang digunakan MS untuk inisialisasi akses ke sistem. Untuk akses random, MS mengirim sinyal diikuti kontrol daya lingkar tertutup selama pengiriman sinyal RACH.
3. System Control Channel
System Control Channel digunakan pada kanal downlink agar BS dapat
memantau dan mengidentifikasikan, sinkronisasi dan estimasi kanal pada MS. Kanal ini terdiri dari:
a. PICH (Pilot Channel)
PICH berfungsi untuk memisahkan kanal fisik broadcast pada tiap kanal RF dan laju chip dalam sel radio. PICH ditentukan oleh kode
spreading PN pendek (kode Gold dengan panjang 1023) dan unik
untuk setiap BS. Kode PN pendek ini ditransmisikan decara periodik tanpa modulasi data informasi, sehingga mudah untuk pendeteksian pilot, sinkronisasi dan estimasi kanal pada MS.
b. SCH (Synchronization Channel)
SCH berfungsi untuk mensikronkan PICH. SCH dikirim pada kanal fisik yang terpisah dengan menggunakan kode spreading PN pendek yang diperoleh dari PICH yang bersangkutan.
2.3.1.3 Layer Fisik
Interface radio dirancang untuk menjadi layer transport yang universal,
(26)
disesuaikan dengan keadaan sekitarnya. Untuk itu, pada skema pengirim, terdapat
configuration unit yang setelah menerima applicable information (berupa
frekuensi pembawa, kecepatan chip yang dibutuhkan, dan identitas layanan) maka unit ini mengendalikan proses pengkodean, multipleks dan konversi informasi ke sinyal RF.
Informasi yang berupa speech, data dan informasi kendali ditransmisikan melalui kanal logika yang berbeda. Informasi kendali ditransmisikan melalui kanal DCCH. Ada dua kategori pembentuk kanal trafik, yaitu traffic
channel/speech (TCH/S) dan traffic channel/data (TCH/D), masing-masing
dikodekan secara berbeda. Sebagai contoh, speech harus ditransmisikan dengan
delay yang kecil, sedangkan data dapat menerima delay yang lebih besar tetapi
dengan kualitas transmisi yang lebih tinggi. Informasi ini dibungkus bersama dalam frame-frame yang mempunyai panjang 10 ms. Campuran kanal-kanal logika yang diwakili dalam suatu frame dapat berbeda dari frame ke frame. Sebagai contoh, kanal kontrol yang didedikasikan hanya diberikan ketika informasi benar-benar telah tersedia. Hal ini tidak perlu dimultipleks ke dalam aliran data secara terus menerus, tetapi disesuaikan dengan keadaan lingkungan maupun informasi yang dikirimkan.
Kanal multipleks dapat mengambil beberapa diantara kombinasi berikut: 1. TCH/S dan DCCH
2. TCH/D dan DCCH
3. TCH/S, TCH/D dan DCCH
Hasil demultipleks antara TCH dan DCCH dinotasikan sebagai Physical
(27)
(PCCH) yang membawa informasi kontrol lapisan fisik. Selain itu PCCH membawa informasi tentang pendemultiplekskan frame PDCH dan pada kanal
downlink PCCH membawa informasi tentang kontrol daya.
PCCH mempunyai bit rate 4 kbps setelah proses encoding informasi dan ditransmisikan secara sinkron dengan PDCH (mempunyai laju chip sama dengan
carrier RF yang sama dengan PDCH). PDCH dan PCCH dibedakan dengan
menggunakan fasa yang berbeda dari kode spreading PN panjang.
2.3.1.4 Transmitter WCDMA
Pemancar/transmitter WCDMA baik untuk uplink maupun downlink melakukan pengiriman trafik dan informasi kontrol secara simultan. Pengiriman trafik dan informasi kontrol dikodekan sebagai Dedicated Information Channel (DICH). Gambar 2.3 menunjukkan transmitter WCDMA.
CONFIGURATION UNIT MUX Frame Generator PDCH Channel Decoder Channel Decoder Channel Decoder Interleaver Interleaver Interleaver Frame Gen. & Coding PCCH Spreading Modulator Spreading Modulator LIN Com Pulse Shaping Frek. Converter
Service Specifier Chip Rate Carrier Frekuensi
Power Control Information (BS
Only)
Other Physical Channel (BS Only) DCCH
TCH/S
TCH/D
Gambar 2.3 Transmitter WCDMA
Ketika hubungan telah terbentuk, maka unit konfigurasi akan menentukan laju chip, frekuensi pembawa RF (f), yang bergantung pada layanan yang akan
(28)
dilayani dan menentukan parameter-parameter untuk semua pemrosesan sinyal pada kanal fisik dan mengkonfigurasi kanal fisik agar sesuai dengan layanan yang dilayani. Modulasi yang digunakan adalah QPSK, dimana data simbol ditransmisikan dalam bentuk inphase (I) dan quadratur (Q) dan dikalikan dengan suatu deretan spreading yang sama dan phasa yang berbeda.
2.3.1.5 Kontrol Daya
Kontrol daya meliputi daya uplink dan kontrol daya downlink. Kontrol daya downlink digunakan untuk memperbesar kapasitas sistem, sedangkan kontrol daya uplink digunakan untuk mengontrol hubungan dan batas threshold penerimaan MS. Pada kanal uplink, kontrol daya yang digunakan adalah kombinasi kontrol daya loop tertutup dan loop terbuka, mendeteksi daya sinyal yang diterima dari MS.
Pada kontrol daya loop tertutup, BS secara terus menerus mengukur level sinyal yang diterima dari MS. Dari informasi level sinyal yang diterima tersebut, maka BS menentukan perintah kontrol daya yang dikirimkan melalui kanal
downlink PCCH ke MS dengan bit rate 2 kbps.
2.3.1.6 Kombinasi, Pembentukan Pulsa dan Konversi Frekuensi
Beberapa kanal fisik digabung secara linear sebelum pembentukan pulsa. Pembentukan pulsa berisi filter yanag berfungsi untuk melewatkan sinyal WCDMA. Konversi frekuensi dilakukan dengan menggeser frekuensi baseband ke frekuensi RF. Alokasi frekuensi sistem WCDMA adalah 1920-1940 MHz untuk kanal uplink, dan 2110-2130 MHz untuk kanal downlink.
(29)
2.3.1.7 Receiver WCDMA
Sistem penerima untuk jalur uplink maupun downlink membutuhkan struktur yang berbeda. Pada jalur downlink, dimana penerima berada pada MS, kanal pilot yang kuat dapat digunakan untuk pencarian kanal, sehingga dapat dilakukan demodulasi PCCH dan PDCH secara koheren. Pada jalur uplink, dimana penerima berada di BS tidak memungkinkan menggunakan kanal pilot yang kuat untuk semua MS, sehingga proses estimasi kanal pada uplink lebih sukar. Berikut ini hanya dibicarakan penerima untuk BS.
PCCH Rake Demodulator PDCH Rake Demodulator FRAME buffer Channel Estimation PN GEN PCCH PCCH Decoder PCCH Encoder PN GEN PDCH MATCHED Filter Despreading Result Receiver Signal Complex Amplitude Delays Delays
PDCH Spreading Factor
PDCH Soft Output to Decoder PCCH Soft Output
Gambar 2.4 Struktur Receiver pada BS
Gambar 2.4 merupakan gambar struktur receiver pada BS. Sinyal yang diterima, difilter oleh Matched Filter (MF) untuk meloloskan sinyal WCDMA dan disampel pada laju 2 sample per chip (sesuai frekuensi nyquist). Kemudian sinyal masuk ke demodulator Rake dan unit estimasi kanal. Kanal PCCH harus
(30)
dikodingkan terlebih dahulu sebelum demudulasi terhadap PDCH, karena PCH berisikan informasi pengiriman PDCH, sehingga diperlukan buffer frame di depan demodulator PDCH. Dua feedback dari PDCH Rake demodulator berfungsi untuk menentukan masukan sinyal bagi unit estimasi kanal. Pada PDCH dilakukan demodulasi koheren, sedangkan pada PCCH dilakukan encoding terlebih dahulu sebelum dilakukan proses demodulasi. Pada demodulasi koheren harus diketahui
delay dan amplituda kompleks masing-masing sinyal multipath. Setelah proses
demodulasi koheren dari PCCH dan soft decision decoding, PCCH dapat dilihat sebagai kanal pilot. Pengkodean yang salah tidak dapat dihindari sehingga menyebabkan frame hilang karena faktor spreading termuat dalam PCCH. Faktor
spreading yang benar akan berfungsi untuk demodulasi PDCH. Jika PCCH
setelah decoding adalah kanal pilot, maka kanal tersebut dapat digunakan untuk estimasi amplituda kompleks sinyal-sinyal multipath.
2.3.1.8 Sinkronisasi
Dengan menggunakan DS spreading asinkron pada PDCH dan PCCH, dihasilkan peralatan yang tidak memerlukan sinkronisasi antar sel dan sinkronisasi antar kanal. MS melakukan sinkronisasi dengan BS (melalui PICH dan SCH) dapat secara langsung menyesuaikan waktu frame Tx CDMA dan Rx CDMA pada lokasi MS tertentu. Karena sinyal yang diterima di BS dari MS yang berbeda-beda tidak memerlukan pengaturan frame (seperti pada sistem TDMA), maka tidak diperlukan rangkaian pengontrol pewaktuan. Dengan menerapkan DS
spreading asinkron pada jalur downlink maka tidak diperlukan antar BS, sehingga Global Positioning System (GPS) tidak diperlukan lagi.
(31)
2.4 Additive White Gaussian Noise (AWGN)
Di dalam sistem komunikasi yang ideal, noise yang dapat diantisipasi hanya Additive White Gaussian Noise (AWGN) saja dan tanpa adanya
intersymbol interference (ISI). Sumber utama dari penurunan performansi ialah thermal noise yang dihasilkan dari sisi receiver. Seringkali, interferensi dari luar
yang diterima antena lebih menonjol daripada thermal noise tersebut.
Arti dari kata Additive ialah bahwa noise ini bersifat menambah power
spectral density dari sinyal transmisi, White artinya memiliki persebaran merata
pada semua band, dan memiliki distribusi Gaussian. Maka, dapat dikatakan bahwa AWGN ialah efek dari thermal noise yang dihasilkan dari gerakan-gerakan elektron yang ada di dalam semua komponen-komponen elektrikal, seperti resistor, kabel, dan lain sebagainya[3].
Secara matematika, thermal noise digambarkan sebagai rataan nol dari proses Gaussian acak, dimana sinyal acak ialah hasil total dari variabel-variabel acak dari Gaussian noise dan sinyal dc, yaitu:
n a
z= +
Dimana bentuk pdf dari Gaussian noise dapat dijabarkan sebagai berikut, dimana σ2
ialah variansi dari n.
− = 2 2 1 exp 2 1 ) ( σ π σ n z p (2.2)
(32)
Model sederhana dari thermal noise ialah jika diasumsikan bahwa nilai
power spectral density Gn(f) sama untuk semua frekuensi dan dinotasikan sebagai
berikut:
2 )
( N0
f
Gn = (2.3)
Dimana faktor 2 dimasukkan untuk mengindikasikan bahwa Gn(f) ialah
power spectral density untuk dua sisi. Ketika noise power mempunyai spectral density yang uniform, itu diartikan sebagai White noise. Kata “White” digunakan
dengan arti yang sama dengan sinar putih, yang mengandung muatan yang sama untuk semua frekuensi di dalam rentang radiasi elektromagnetik (EM).
Karena thermal noise muncul di semua sistem komunikasi dan merupakan sumber noise yang mutlak untuk sebagian besar sistem, karakteristik dari thermal
noise yang Additive, White dan Gaussian adalah yang paling banyak digunakan
(33)
BAB III
CHANNEL CODING
3.1 Umum
Perkembangan pada sistem komunikasi selama belakangan tahun ini mengalami kemajuan yang cukup pesat, terutama pada bidang seluler, satelit dan komunikasi komputer. Pada sistem komunikasi ini, sinyal informasi direpresentasikan sebagai barisan dari bit biner. Bit biner tersebut lalu dimodulasikan ke sinyal gelombang analog dan ditransmisikan melalui kanal komunikasi. Di dalam kanal komunikasi tersebut, terdapat noise dan interferensi yang dapat merusak sinyal yang ditransmisikan. Pada sisi receiver, sinyal yang telah tercampur dengan noise dan interferensi dari kanal komunikasi tersebut di demodulasi kembali menjadi bit biner. Bit-bit error dapat ditemukan selama pentransmisian dan jumlah dari bit-bit error tersebut tergantung dari besar noise dan interferensi di dalam kanal komunikasi.
Channel coding (pengkodean kanal) sering digunakan pada sistem
komunikasi digital yang gunanya ialah untuk melindungi informasi digital dari
noise dan interferensi dan juga untuk mengurangi jumlah bit-bit error.
Channel coding diikutsertakan dalam sistem komunikasi digital seperti
yang terlihat pada Gambar 3.1. Channel coding terdiri dari dua buah, yaitu enkoding kanal pada bagian pengirim dan decoding kanal pada bagian penerima.
(34)
Channel Encoding Modulasi Channel Decodin g Demodula si C H A N N E L Informasi Digital Informasi Yang Diterima
Gambar 3.1 Model Sistem Komunikasi Digital Sederhana
Pengkodean kanal ini dilakukan dengan cara menambahkan informasi tambahan ke dalam data yang ditransmisikan. Informasi tambahan ini akan mendeteksi dan mengkoreksi bit-bit error di dalam data yang diterima dan menyediakan pentransmisian informasi yang lebih andal.
Kode-kode kanal yang dapat mendeteksi error disebut error detection
codes, sementara kode-kode kanal yang dapat mendeteksi, juga dapat mengoreksi
error disebut juga sebagai eror correction codes. Sistem WCDMA mempunyai kemampuan baik untuk mendeteksi maupun mengkoreksi error.
Pada tahun 1948, Shannon mendemonstrasikan teknik pengkodingan informasi, yaitu error yang berasal dari kanal yang tercampur noise dapat dikurangi ke tingkat yang diingini tanpa mengurangi nilai transfer rate. Kapasitas dari kanal ini dapat diaplikasikan ke kanal AWGN, dimana secara matematis ialah sebagai berikut: + = = = N S B B N P B
C log 1 log2 1
0
(35)
B = bandwith transmisi (Hz)
P = power sinyal yang diterima (W) N0 = power density noise satu sisi (W/Hz)
Power sinyal pada penerima dapat ditulis sebagai:
b
bR
E
P = (3.2)
Dimana Eb ialah rataan bit energi dan Rb ialah bit rate transmisi. Dari persamaan 3.1 dapat dibuat persamaan baru, yaitu:
+ = B R N E B
C b b
0 2 1
log (3.3)
Dimana C/B diartikan sebagai bandwith efisiensi.
Penambahan informasi tambahan meningkatkan bandwith yang diperlukan untuk data rate dari sumber yang tetap. Hal ini akan mengurangi efisiensi bandwith di dalam link dengan kondisi SNR yang tinggi, tetapi akan menyediakan performansi BER yang sangat bagus pada nilai SNR yang rendah[6].
3.2 Convolutional Coding
Selain convolutional coding, ada juga block coding. Perbedaan mendasar dari keduanya adalah terletak kemampuan enkoder menyimpan memori. Block
coding tidak tergantung pada data sebelumnya, sedangkan pada convolutional coding, keluaran enkoder n tidak hanya bergantung pada masukan k untuk unit
waktu yang sama, tetapi juga tergantung pada m masukan blok yang sebelumnya. Pada konvolusional kode (n, k, m) dapat diemplementasikan sebagai k-input, n-linear sequential output dengan memori input m. Umumnya, n dan k merupakan integer berukuran kecil dengan nilai k < n, tetapi memori m harus berukuran besar
(36)
untuk mendapatkan probabilitas error yang rendah. Pada Tugas Akhir ini menggunakan convolutional coding, sehingga block coding tidak dibahas lagi.
Pada Convolutional Coding, kode-kode tersebut dikembangkan dengan struktur matematis yang terpisah-pisah dan dikhususkan untuk pemakaian pada error koreksi waktu nyata. Convolutional kode mengubah seluruh stream data menjadi codeword tunggal. Tipe ini adalah tipe Forward Error Correction (FEC) dimana tipe ini berfungsi untuk mengimprovisasi kapasitas kanal dengan menambahkan informasi tambahan ke dalam data yang ditransmisikan melalui kanal.
Kode konvolusi biasanya dideskripsikan dengan menggunakan dua parameter, yaitu code rate dan constraint length. Code rate, k/n, diekpresikan sebagai rasio nomor bit-bit ke dalam enkoder konvolusi (k) ke output symbol kanal. Constraint length menjelaskan seberapa banyak k-bit yang dapat digunakan untuk mensuplai combinatorial logic yang memproduksi simbol-simbol output.
3.2.1 Representasi Enkoder Konvolusional
Bentuk sederhana dari convolutional encoder diwakili pada Gambar 3.2. enkoder tersebut mempunyai kode binary (2, 1, 3). Hal ini berarti bahwa enkoder tersebut terdiri dari 3 stage shift register bersama dengan 2 adder modulo-2, dan juga sebuah multiplexer menserialkan output dari enkoder. Adder modulo-2 dapat diimplementasikan sebagai gerbang logika XOR (EXCLUSIVE-OR). Karena proses pada adder tersebut merupakan operasi linear, maka enkoder tersebut mempunyai shift register linear yang feedforward[7].
(37)
D D D u
v(1)
v(2)
v
Gambar 3.2 Konvolusional Enkoder (2, 1, 3)
Barisan bit informasi u = (u0, u1, u2, . . .) memasuki enkoder satu bit untuk satu satuan waktu. Karena enkoder tersebut mempunyai sistem linear, dua barisan output v(1) = (v0(1), v1(1), v2(1), . . .) dan v(2) = (v0(2), v1(2), v2(2), . . .) dapat didapatkan dari pengkonvolusian barisan input u dengan dua enkoder respon impuls. Respon impuls ini didapatkan dengan memasukkan nilai u = (1 0 0 . . .) dan memerhatikan keluaran barisan output enkoder. Karena enkoder memiliki memori m, respon impuls dapat bertahan sampai m+1 unit waktu, dan dituliskan g(1) = (g0(1), g1(1), . . . , gm(1)) dan g(2) = (g0(2), g1(2), . . . , gm(2)). Respon impuls g(1) dan g(2) disebut juga urutan generator dari kode.
3.2.2 State Diagram
Enkoder konvolusional juga dikenal sebagai perangkat yang memiliki
state yang terbatas, yang mempunyai arti bahwa perangkat tersebut memiliki memory dari sinyal yang lalu. Salah satu cara yang sederhana untuk
merepresentasikan enkoder konvolusional tersebut ialah dengan state diagram yang seperti ditunjukkan pada Gambar 3.3.
(38)
Gambar 3.3 Enkoder State Diagram (rate = ½, K = 3)
State yang dinotasikan ke bentuk kotak di dalam Gambar 3.3
merepresentasikan kemungkinan-kemungkinan dari state masukan k-1 dan menunjukkan langkah-langkah antara state yang menghasilkan cabang-cabang
output dari transisi state. State masukan dapat dirancang sebagai a = 00, b = 10,
c = 01 dan d = 11. Transisi state dapat terjadi sebanyak dua kemungkinan untuk setiap state yang memiliki dua bit input. Selanjutnya, setiap langkah dihubungkan dengan cabang-cabang keluaran. Dilihat dari gambar, garis yang tidak putus digunakan untuk merepresentasikan path dari bit input nol dan garis putus-putus merepesentasikan bit input satu. Lalu, dengan menggeser satu bit setiap waktu maka terdapat dua kemungkinan transisi state yang dapat dilakukan oleh register setiap satuan waktu.
(39)
3.2.3 Diagram Trellis
Diagram trellis ialah sebuah representasi dari state diagram yang mengikutkan dimensi waktu di dalam struktur enkoder yang lebih teratur. Cara yang sama pada state diagram digunakan juga pada diagram trellis, dimana garis yang tidak putus-putus merepresentasikan bit nol dan garis putus-putus merepresentasikan bit satu. Simpul pada diagram trellis mengkarakteristikkan
state enkoder. Simpul baris pertama koresponden terhadap state a = 00, baris
kedua dan selanjutnya koresponden terhadap state b = 10, c = 01 dan d = 11. Di setiap unit waktu, trellis membutuhkan simpul sebesar 2K-1 untuk merepresentasikan peluang state enkoder sebesar 2K-1 . Pada Gambar 3.4, dapat diasumsikan bahwa struktur dengan periodik tetap setelah kedalaman trellis tingkat 3 telah tercapai ( pada waktu t4). Pada kasus yang umum, struktur yang tetap ini bertahan setelah kedalaman K tercapai. Pada titik ini dan setelahnya setiap state dapat dimasuki dari dua state sebelumnya dan dapat bertransisi ke satu dari dua state tersebut. Dari cabang keluaran, satu berkoresponden menjadi bit nol dan yang lain berkoresponden menjadi bit satu.
(40)
Dari Gambar 3.4, satu sektor interval waktu yang bekerja penuh mengenkoding struktur trellis sepenuhnya menerjemahkan kode. State dari enkoder konvolusional direpresentasikan oleh isi dari state K-1 paling kanan di dalam register enkoder.
3.3 Viterbi Decoding
Viterbi Decoding merupakan salah satu dari dua tipe algoritma decoding yang digunakan bersama dengan konvolusional enkoding. Tipe yang lainnya ialah
sequential decoding. Tipe ini mempunyai kelebihan daripada viterbi decoding,
yaitu tipe sequential ini dapat bekerja sangat baik dengan constraint length yang panjang pada kode konvolusional, tetapi waktu dekodingnya memiliki nilai yang beragam. Viterbi decoding memiliki kelebihan, yaitu waktu dekodingnya tetap. Hal ini sangat sesuai dengan implementasi decoder hardware.
Viterbi decoding dapat mengurangi beban komputasional dengan cara mengambil struktur yang spesial dari kode trellis. Viterbi dekoder menguji seluruh deretan yang diterima yang panjangnya telah ditentukan. Dekoder menghitung matrik untuk setiap alur dan mengeluarkan hasil berdasarkan matrik tersebut. Setiap alur tersebut diikuti sampai dua alur tersebut menyatu menjadi satu simpul. Lalu alur dengan metrik yang lebih tinggi disimpan dan yang lebih rendah dibuang.
Untuk menjaga agar algoritma viterbi tersebut bekerja dengan lancar, beberapa syarat perlu dipenuhi, yaitu pada transmitter harus memastikan bahwa enkoder mulai dan berhenti pada state nol. State nol mempunyai arti bahwa semua pergeseran register berisi semua nol dan tidak ada bernilai satu. Lalu, transmitter
(41)
tersebut akan menambahkan bit nol pada ujung bit informasi untuk membantu enkoder dan receiver dapat selalu memulai dan berhenti di state nol pada trellis. Karena dari prosedur dekoding akan membuat keputusan berdasarkan deretan yang paling memungkinkan lalu kedalaman dari trellis dekoding juga harus dispesifikasi.
(42)
BAB IV
ANALISIS BIT ERROR RATE PADA SISTEM WCDMA DENGAN MENGGUNAKAN CHANNEL CODING
4.1 Umum
Sistem WCDMA yang dianalisis terdiri dari dua yaitu:
1. Sistem WCDMA pada kanal AWGN yang menggunakan channel
coding.
2. Sistem WCDMA pada kanal AWGN yang tidak menggunakan channel
coding.
Sistem WCDMA dengan kedua kondisi tersebut akan dibandingkan, khususnya terhadap nilai Bit Error Rate dengan menggunakan program Matlab 7.9.
4.2 Parameter Sistem WCDMA
Sistem WCDMA secara umum digambarkan pada Gambar 4.1. Gambar tersebut mempunyai tiga bagian utama, yaitu transmitter, kanal komunikasi dan
receiver. Pada Tugas Akhir ini, sistem transmisi WCDMA yang akan dibahas
hanya pada transmisi downlink saja, yaitu hubungan transmisi base station ke
(43)
Channel Encoder (Convolutional)
Modulator (QPSK)
Channel
Demodulator (QPSK)
Channel Decoder (Viterbi)
Data Received PN Code
PN Code Data Source
Transmitter Receiver
Gambar 4.1 Blok Diagram Sistem WCDMA
Dimana parameter-parameter umum untuk sistem WCDMA adalah seperti yang ditunjukkan Tabel 4.1:
Tabel 4.1 Parameter-parameter umum untuk sistem WCDMA
Parameter Nilai
Data Source 384 kbps PN Code 3,84 Mcps Convolutional Encoder Code rate = 1/2, K = 9 Convolutional Decoder Code rate = 1/2, K = 9,
(44)
4.3 Sistem WCDMA Pada Kanal AWGN Tanpa Menggunakan Teknik
Channel Coding
Sistem WCDMA kondisi pertama yang akan dianalisis ialah sistem yang tidak menggunakan channel coding, ini berarti yang akan dianalisis hanya kanal komunikasi yang mempunyai AWGN saja. Hasil dari kondisi pertama ini akan menjadi dasar perbandingan untuk kondisi lainnya. Blok diagram untuk sistem ini dapat dilihat pada Gambar 4.2.
Uniform Distribusi
PN Sequence Generator
AWGN Channel QPSK
Modulator Baseband
QPSK Demodulator
Baseband
Error Rate
Calculation BER
XOR XOR
Gambar 4.2 Blok Diagram Sistem WCDMA pada kanal AWGN tanpa Channel
Coding
Sedangkan diagram alir untuk sistem WCDMA pada kanal AWGN tanpa
(45)
Mulai
Masukkan Panjang
Data
Bangkitkan Bilangan Acak
Uniform
Di-Spreading Dengan Spreading
Code dari PN Sequence Generator
Dimodulasikan Dengan Modulasi
QPSK
Ditambahkan Noise AWGN
Hitung Nilai Bit Error Rate
Tampilkan Grafik BER Terhadap
Eb/No
Selesai
Gambar 4.3 Diagram Alir Sistem WCDMA pada kanal AWGN tanpa menggunakan Channel Coding
(46)
4.3.1 Distribusi Uniform
Sinyal acak dibangkitkan dengan distribusi uniform sehingga menghasilkan keluaran integer untuk dapat diproses pada modulasi QPSK. Lalu keluaran dari distribusi uniform tersebut dikonversi dahulu menjadi bit-bit biner
4.3.2 PN Sequence Generator
PN Sequence Generator membangkitkan urutan dari binary
pseudorandom. Urutan pseudo-noise dapat digunakan sebagai pengacak dan juga
penyusun kembali binary pseudorandom. Hal ini juga dapat digunakan pada sistem direct-sequence spektrum tersebar.
Program Matlab yang digunakan untuk memproses fungsi dari PN Sequence Generator ini terlampir pada Lampiran 1.
4.3.3 Spreader
Gerbang logika XOR (EXCLUSIVE-OR) digunakan sebagai spreader. Pada gerbang logika XOR ini, sinyal hasil pembangkitan Distribusi Uniform disebarkan dengan urutan-urutan binary pseudorandom yang dihasilkan dari PN
Sequence Generator.
4.3.4 QPSK Modulator Baseband
Pada Tugas Akhir ini, modulasi yang digunakan ialah modulasi QPSK. Hasil keluaran dari QPSK modulator ini akan menjadi representasi untuk sinyal yang termodulasi.
(47)
4.3.5 Kanal AWGN
Kanal komunikasi yang dianalisis ialah kanal AWGN dimana pada sistem tersebut hanya terdapat user tunggal.
4.3.6 QPSK Demodulator Baseband
QPSK Baseband Demodulator ini mendemodulasikan sinyal yang telah dimodulasi sebelumnya setelah melalui kanal AWGN.
4.3.7 Despreader
Pada despreader ini, kembali digunakan kanal logika XOR. Dimana pada kanal logika ini, sinyal dengan spektrum tersebar yang telah melewati kanal komunikasi disusun kembali dengan cara memilahnya dengan PN code yang sesuai dengan PN code yang terdapat pada data.
4.3.8 Error Rate Calculation
Pada segmen ini, akan dilakukan pembandingan nilai data yang memiliki pasangan yang tidak sesuai dengan data awal dengan total data yang dikirim dari satu sumber.
Program Matlab yang digunakan untuk sistem WCDMA kondisi yang pertama ini terlampir pada Lampiran 2.
(48)
4.4 Sistem WCDMA Pada Kanal AWGN Dengan Menggunakan Teknik
Channel Coding
Pada kondisi kedua ini, kanal komunikasi yang berisi AWGN telah menggunakan channel coding, yaitu pada Tugas Akhir ini digunakan
convolutional coding dengan cara menggunakan convolutional enkoder pada
bagian transmitter dan viterbi dekoder pada bagian receiver. Adapun blok diagram untuk sistem WCDMA kondisi kedua ini ditunjukkan pada Gambar 4.4.
Uniform Distribusi
PN Sequence Generator
AWGN Channel QPSK
Modulator Baseband
QPSK Demodulato r Baseband
Error Rate
Calculation BER XOR
XOR Convolutional
Encoder DecoderViterbi
Gambar 4.4 Blok Diagram Sistem WCDMA pada kanal AWGN dengan menggunakan channel coding
Segmen-segmen pada sistem ini yang digunakan pada sistem WCDMA kondisi yang pertama tidak berubah. Pada kondisi kedua ini ditambahkan
Convolutional Encoder dan Viterbi Decoder pada kanal komunikasi yang
(49)
Sedangkan diagram alir untuk sistem WCDMA pada kanal AWGN tanpa
Channel Coding dapat dilihat dari Gambar 4.5.
Mulai
Masukkan Panjang
Data
Bangkitkan Bilangan Acak
Uniform
Di-Spreading Dengan Spreading
Code dari PN Sequence Generator
Dimodulasikan Dengan Modulasi
QPSK
Ditambahkan Noise AWGN
Hitung Nilai Bit Error Rate
Tampilkan Grafik BER Terhadap
Eb/No
Selesai Dikodingkan Dengan Channel
Coding
(50)
4.4.1 Convolutional Encoder
Convolutional Encoder ini mengkodingkan urutan dari vektor binary input
untuk menghasilkan urutan vektor binary output. Dimana program Matlab yang digunakan untuk memproses Convolutional Coding terlampir pada Lampiran 3.
4.42 Viterbi Decoder
Viterbi Decoder ini mendekodingkan simbol-simbol input untuk
menghasilkan simbol binary output. Pada Tugas Akhir ini, jenis Viterbi yang digunakan ialah Hard Decision Viterbi. Dimana program Matlab yang digunakan untuk memproses Viterbi Decoding terlampir pada Lampiran 4.
Program Matlab yang digunakan untuk sistem WCDMA kondisi yang kedua ini terlampir pada Lampiran 5.
4.5 Hasil Analisa
4.5.1 Kondisi Pertama: Sistem WCDMA Pada Kanal AWGN Tanpa Menggunakan Teknik Channel Coding
Pada kondisi yang pertama ini, nilai Bit Error Rate dicari dari sistem WCDMA pada kanal AWGN tanpa menggunakan Channel Coding. Sinyal dibangkitkan dengan panjang data 100 . Percobaan pembangkitan sinyal ini dilakukan sebanyak 30 percobaan dan dari percobaan tersebut diambil nilai rata-ratanya. Hasil nilai BER tiap percobaan dapat dilihat pada Tabel 4.2.
(51)
Tabel 4.2 Hasil Nilai Bit Error Rate pada kanal AWGN tanpa menggunakan
Channel Coding
Dari Tabel 4.2 maka nilai rata-rata tersebut dapat digambarkan dalam bentuk grafik, seperti pada Gambar 4.6.
Gambar 4.6 Grafik BER terhadap Eb/No pada kanal AWGN tanpa menggunakan
(52)
Dari Gambar 4.6 terlihat bahwa untuk dari nilai Eb/No 8 dB, maka nilai BER sebesar 10-1, dan untuk nilai Eb/No 12 dB sampai seterusnya, BER tidak bernilai lagi.
4.5.2 Kondisi Kedua: Sistem WCDMA Pada Kanal AWGN Dengan Menggunakan Teknik Channel Coding
Pada kondisi yang kedua ini, nilai Bit Error Rate dicari dari sistem WCDMA pada kanal AWGN dengan menggunakan Channel Coding. Sinyal dibangkitkan dengan panjang data 100. Percobaan pembangkitan sinyal ini dilakukan sebanyak 30 percobaan dan dari percobaan tersebut diambil nilai rata-ratanya. Hasil nilai BER tiap percobaan dapat dilihat pada Tabel 4.3.
Tabel 4.3 Hasil Nilai Bit Error Rate pada kanal AWGN menggunakan Channel
(53)
Dari Tabel 4.3 diatas maka nilai rata-rata tersebut dapat digambarkan dalam bentuk grafik, seperti pada Gambar 4.7.
Gambar 4.7 Grafik BER terhadap Eb/No pada kanal AWGN dengan menggunakan Channel Coding
Dari Gambar 4.7 terlihat bahwa untuk Eb/No 8 dB, maka BER bernilai 10-2, dan BER sudah tidak mempunyai nilai lagi pada Eb/No 9 dB sampai seterusnya.
4.5.3 Perbandingan Hasil Kondisi Pertama Dengan Kondisi Kedua
Setelah hasil dari kondisi pertama dan kondisi kedua didapatkan, maka untuk melihat pengaruh dari Channel Coding untuk sistem WCDMA pada kanal AWGN, maka perlu dilakukan pembandingan hasil keduanya, seperti yang ditunjukkan pada Gambar 4.8.
(54)
Gambar 4.8 Perbandingan Grafik BER terhadap Eb/No pada kanal AWGN dengan dan tanpa menggunakan Channel Coding
Dari Gambar 4.8 diperoleh bahwa pada kondisi 1 (tanpa menggunakan
Channel Coding), untuk Eb/No 8 dB, nilai BER sebesar 10-1. Sedangkan pada kondisi 2 (menggunakan Channel Coding) untuk Eb/No yang sama, nilai BER sebesar 10-2. Maka didapatkan bahwa nilai Bit Error Rate pada kanal AWGN yang menggunakan Channel Coding lebih rendah bila dibandingkan dengan nilai
Bit Error Rate pada kanal AWGN yang tidak menggunakan Channel Coding.
Atau dapat juga dikatakan bahwa penggunaan teknik Channel Coding dapat mengurangi besar Bit Error Rate pada pentransmisian data dari transmitter ke
(55)
BAB V
KESIMPULAN DAN SARAN
Kesimpulan
Dari hasil analisis yang dilakukan, diperoleh kesimpulan sebagai berikut: 1. Penggunaan teknik Channel Coding, khususnya pada Tugas Akhir ini
tipe yang digunakan ialah Convolutional Coding, dapat mengurangi nilai
Bit Error Rate pada data di sisi receiver, dimana didapatkan hasil bahwa
pada sistem WCDMA yang tidak menggunakan Channel Coding, untuk Eb/No 8 dB, nilai BER sebesar 10-1, sedangkan pada sistem WCDMA yang menggunakan Channel Coding, untuk Eb/No yang sama didapatkan nilai BER sebesar 10-2.
Saran
Beberapa saran yang dapat penulis berikan:
1. Pembahasan mengenai Channel Coding ini dapat dikembangkan lebih lanjut lagi pada kanal Fading, seperti pada kanal Rayleigh atau Rician
Fading.
2. Code Rate yang digunakan pada Tugas Akhir ini hanya ½, untuk
pembahasan lebih lanjut mengenai Convolutional Coding, dapat dilakukan dengan Code Rate yang berbeda, yaitu 1/3.
(56)
DAFTAR PUSTAKA
1. Harri Holma, Antti Toskala.2004. “WCDMA For UMTS Radio Access For
Third Generation Mobile Communication”, John Wiley & Sons, Chicester.
2. Manurung, H.1999. “W-CDMA sebagai Teknik Akses Sistem Komunikasi
Bergerak Generasi Ketiga,
3. Bernard Skalar. 2001. “Digital Comunications: Fundamental and
Applications. 2nd Edition,” New Jersey: Prentice Hall.
4. Universal Mobile Telecommunications System (UMTS).1999. “UMTS
Terrestrial Radio Access Network (UTRAN); UTRA FDD, multiplexing, channel coding and interleaving description”, UMTS XX.04 version 1.0.0,
Valbonne.
5. W. Lee, H.M. Park, K. Kang, and K. Kim.1998. “Performance analysis of
Viterbi decoder using channel state information in COFDM System”, IEEE Transactions on Broadcasting.
6. Theodore S, Rappaport. 2002. “Wireless Communications Principles and Practice. 2nd Edition”. New Jersey; Prentice Hall PTR;
7. Sun Lin, Daniel J. Costello, Jr.1983. “Error Control Coding: Fundamentals
and Applications”, Prentice-Hall Series in Computer Applications in Electrical
Engineering, New Jersey.
8. G. Kabatiansky, E. Krouk, S. Semenov.2005. “Error Correcting Coding and
Security for Data Networks, Analysis of the Superchannel Concept”, John
(57)
9. Peter Sweeney.2002. “Error Control Coding: From Theory to Practice”, John Wiley & Sons, Ltd. Hal. 35-66.
(58)
(59)
Lampiran 1
function [PN1]=pnsequence(d) G=d*2;
% Code length
%Generation of first m-sequence using generator polynomial [45] sd1 =[0 0 0 0 1]; % Initial state of Shift register PN1=[]; % First m-sequence
for j=1:G PN1=[PN1 sd1(5)]; if sd1(1)==sd1(4) temp1=0; else temp1=1; end sd1(1)=sd1(2); sd1(2)=sd1(3); sd1(3)=sd1(4); sd1(4)=sd1(5); sd1(5)=temp1; end
Lampiran 2
%Simulasi AWGN channel tanpa channel coding clear;clc;
%input panjang data d=100;
r=1; n=45;
%Definisi rentang nilai EbNo ebno=1:1:20;
%Generate data integer dengan distribusi uniform data=randint(1,d,4);
%Pengubahan ke data biner
data_bit1=de2bi(data,'left-msb');
%Pengaturan data biner menjadi 1 kolom
for i=1:1:length(data_bit1);
data_bit11((2*i)-1:2*i,1)=[data_bit1(i,1) data_bit1(i,2)];
end
data_bit11=data_bit11';
%Generate fungsi PN Sequence [PN1]=pnsequence(d);
%Data di-XOR-kan dengan PN Sequence
if n==45
(60)
end
%Pengaturan kembali data menjadi 2 kolom
for i=1:length(data_bit1)
data_bit12(i,1:2)=[data2(1,(2*i-1)) data2(1,2*i)];
end
%Perubahan kembali bit ke integer data3=bi2de(data_bit12,'left-msb');
%Modulasi QPSK
data_mod=pskmod(data3,4);
%Penambahan kanal AWGN
for e=1:length(ebno)
data_aw(:,e)=awgn(data_mod,ebno(e));
end
%Proses demodulasi
for x=1:length(ebno)
data_demod(:,x)=pskdemod(data_aw(:,x),4);
end
%Data hasil demodulasi di konversi terlebih dahulu ke biner %Kemudian di-XOR-kan kembali dengan PN Sequence
for x=1:length(ebno) data_bit2=[];
data_bit2=de2bi(data_demod(:,x),'left-msb'); [data_bit22]=konversi(data_bit2,PN);
data4(:,x)=bi2de(data_bit22,'left-msb');
end
for y=1:length(ebno)
BER(1,y)=sum(data~=data4(:,y)')/d;
end
plot(ebno,BER,'b');
title('Grafik EbNo terhadap BER pada kanal AWGN dengan pengkodean kanal');
xlabel('EbNo (dB)'); ylabel('BER');
Lampiran 3
%Convolutional Encoder ; input=1 bit -> output=2 bits with 3 memory elements, Code Rate=1/2
function [encoded_sequence]=convlenc(message)
%TEST MESSAGES
(61)
% message=[1 1 1 0 1 0 1 1 0 1 0 0 1 0 1 0 0];%prb 0-1 % message=[0 0 0 0 1 0 0 1 0 1 0 1 0 1 0 0 0];
% message=[1 0 1 0 1 0 1 0 0 1 0 1 0 1 1 0 0];%prb 0-1 % message=[0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 0 0];
% message=[1 0 1 1 1 0 0 0 1 0 1 0 1 0 0 0 0];%prb 0-1 % message=[0 1 0 1 0 0 1 1 0 1 1 0 0 1 1 0 0];
% message=[1 0 1 1 0 1 0 1 0 0 1 1 0 1 0 0 0];%prb 0-1 % message=[1 0 1 1 0 1 0 1 0 0 1 0 1 1 0 0 0];%prb 0-1 % message=[0 0 1 0 0 1 1 1 0 0 1 0 1 0 1 0 0];
% message=[1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0];%prb 0-1 % message=[1 0 1 1 0 0 1 1 0 0 1 1 0 0 1 0 0];%prb 0-1 % message=[0 1 1 1 0 0 1 1 0 0 1 1 0 0 1 0 0];
% message=[1 0 0 0 0 0 1 1 1 0 1 1 1 1 1 0 0];%prb 0-1
enco_mem=[0 0 0]; %# of memory elements=3 encoded_sequence=zeros(1,(length(message))*2); enco_mem(1,3)=enco_mem(1,2); enco_mem(1,2)=enco_mem(1,1); enco_mem(1,1)=message(1,1); temp=xor(enco_mem(1),enco_mem(2));
o1=xor(temp,enco_mem(3)); %generator polynomial=111
o2=xor(enco_mem(1),enco_mem(3)); %generator polynomial=101
encoded_sequence(1,1)=o1; encoded_sequence(1,2)=o2;
msg_len=length(message); c=3;
for i=2:msg_len enco_mem(1,3)=enco_mem(1,2); enco_mem(1,2)=enco_mem(1,1); if(i<=msg_len) enco_mem(1,1)=message(1,i); else enco_mem(1,1)=0; end temp=xor(enco_mem(1),enco_mem(2)); o1=xor(temp,enco_mem(3)); o2=xor(enco_mem(1),enco_mem(3));
encoded_sequence(1,c)=o1; %o1 generating polynomial(1,1,1)
c=c+1;
encoded_sequence(1,c)=o2; %o2 generating polynomial(1,0,1)
c=c+1;
(62)
Lampiran 4
%Hard Decision Viterbi Decoder
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%
%Function gets an encoded message 'rcvd(encoded by a convolutional encoder)
%as argument and returns the decoded message 'dec_op'
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%
function [dec_op]=viterbidec(rcvd)
%Concatenate two consecutive bits of recieved encoded sequence to %make up a symbol
input=[];
for j=1:2:length(rcvd)
input=[ input (rcvd(j))* 2 + (rcvd(j+1))];
end
%initializing all arrays
op_table=[00 00 11; 01 11 00; 10 10 01; 11 01 10]; %OUTPUT array ns_table=[0 0 2; 1 0 2; 2 1 3; 3 1 3]; %NEXT STATE array
transition_table=[0 1 1 55; 0 0 1 1; 55 0 55 1; 55 0 55 1];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%
% A R R A Y S - U P D A T I N G Part
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%
st_hist(1:4, 1:17)=55; %STATE HISTORY array
aem=zeros(4, 17); %ACCUMULATED ERROR METRIC (AEM) array ssq=zeros(1, 17); %STATE SEQUENCE array
% input=rcvd;
%input(1, :)=bin2dec(rcvd)
%input=[0 3 3 0 1 2 1 3 3 2 0 0 3 0 3 2 3] %INPUT vector %rcvd=['00';'11';'11';'00';'01';'10';'01';'11';'11';'10';'00';'00' ;'11';'00';'11';'10'; '11']
lim=length(input); %number of clock cycles
for (t=0:1:lim) %clock loop
% disp('---')
t; %display current clock instance if(t==0)
st_hist(1,1)=0; %start at state 00 else
temp_state=[];%vector to store possible states at an instant
temp_metric=[];%vector to store metrics of possible states temp_parent=[];%vector to store parent states of possible
(63)
for (i=1:1:4) i;
in=input(t);
if(st_hist(i, t)==55) %if invalid state %do nothing
else
ns_a=ns_table(i, 2)+1; %next possible state-1 ns_b=ns_table(i, 3)+1; %next possible state-2
op_a=op_table(i, 2); %next possible output-1 op_b=op_table(i, 3); %next possible output-2
cs=i-1; %current state
M_a=hamm_dist(in, op_a); %branch metric for ns_a M_b=hamm_dist(in, op_b); %branch metric for ns_b
indicator=0; %flag to indicate redundant states
for k=1:1:length(temp_state) %check redundant next states
%if next possible state-1 redundant if(temp_state(1,k)==ns_a)
indicator=1;
%ADD-COMPARE-SELECT Operation
%em_c: error metric of current state %em_r: error metric of redundant state em_c=M_a + aem(i,t);
em_r=temp_metric(1,k) + aem(temp_parent(1, k)+1,t);
if( em_c< em_r)%compare the two error metrics
st_hist(ns_a,t+1)=cs;%select state with low AEM temp_metric(1,k)=M_a;
temp_parent(1,k)=cs; end
end
%if next possible state-2 redundant if(temp_state(1,k)==ns_b)
indicator=1;
em_c=M_b + aem(i,t);
em_r=temp_metric(1,k) + aem(temp_parent(1, k)+1,t);
if( em_c < em_r)%compare the two error metrics
st_hist(ns_b,t+1)=cs;%select state with low AEM temp_metric(1,k)=M_b;
temp_parent(1,k)=cs; end
end
end
%if none of the 2 possible states are redundant if(indicator~=1)
(64)
%update state history table st_hist(ns_a,t+1)=cs; st_hist(ns_b,t+1)=cs;
%update the temp vectors accordingly temp_parent=[temp_parent cs cs];
temp_state=[temp_state ns_a ns_b]; temp_metric=[temp_metric M_a, M_b]; end
%print the temp vectors temp_parent;
temp_state; temp_metric; end
end
%update the AEMs (accumulative error metrics) for all states for current instant 't'
for h=1:1:length(temp_state) xx1=temp_state(1, h); xx2=temp_parent(1, h)+1;
aem(xx1, t+1)=temp_metric(1, h) + aem(xx2, t); end
end
end %end of clock loop
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%
% T R A C E - B A C K Part
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%
for(t=0:1:lim)
slm=min(aem(:, t+1));
slm_loc=find( aem(:, t+1)==slm ); sseq(t+1)=slm_loc(1)-1;
end
dec_op=[];
for p=1:1:length(sseq)-1 p;
dec_op=[dec_op, transition_table((sseq(p)+1), (sseq(p+1)+1))];
end
Lampiran 5
%Simulasi AWGN channel dengan convolutional coding clear;clc;
%input panjang data d=100;
r=1; n=45;
%Definisi rentang nilai EbNo ebno=1:1:20;
(65)
data=randint(1,d,4);
%Pengubahan ke data biner
data_bit1=de2bi(data,'left-msb');
%Pengaturan data biner menjadi 1 kolom
for i=1:1:length(data_bit1);
data_bit11((2*i)-1:2*i,1)=[data_bit1(i,1) data_bit1(i,2)];
end
data_bit11=data_bit11';
%Generate fungsi PN Sequence [PN1, PN2, PN3]=pnsequence(d);
%Data di-XOR-kan dengan PN Sequence
if n==45
data2=xor(data_bit11,PN1); PN=PN1;
end
%Proses Convolutional Encoder
[encoded_sequence]=convlenc(data2); data_es=encoded_sequence;
%Pengaturan kembali data menjadi 2 kolom
for i=1:2*length(data_bit1)
data_bit12(i,1:2)=[data_es(1,(2*i-1)) data_es(1,2*i)];
end
%Perubahan kembali bit ke integer data3=bi2de(data_bit12,'left-msb');
%Modulasi QPSK
data_mod=pskmod(data3,4);
%Penambahan kanal AWGN
for e=1:length(ebno)
data_aw(:,e)=awgn(data_mod,ebno(e));
end
%Proses demodulasi
for x=1:length(ebno)
data_demod(:,x)=pskdemod(data_aw(:,x),4);
end
%Data hasil demodulasi di konversi terlebih dahulu ke biner %Kemudian di-XOR-kan kembali dengan PN Sequence
for x=1:length(ebno)
data_bit2=de2bi(data_demod(:,x),'left-msb'); for i=1:1:length(data_bit2);
data_bit21((2*i)-1:2*i,1)=[data_bit2(i,1) data_bit2(i,2)]; end
data_bit21=data_bit21';
(66)
data_decod=dec_op;
data_var=xor(data_decod,PN);
for i=1:d
data_bit22(i,1:2)=[data_var(1,(2*i-1)) data_var(1,2*i)]; end
%[data_bit22]=konversi(data_bit2,PN,2); data4(:,x)=bi2de(data_bit22,'left-msb');
end
for y=1:length(ebno)
BER(1,y)=sum(data~=data4(:,y)')/d;
end
plot(ebno,BER,'r');
title('Grafik EbNo terhadap BER pada kanal AWGN tanpa pengkodean kanal');
xlabel('EbNo (dB)'); ylabel('BER');
Syntax Matlab untuk Gambar 4.6
%awgn tanpa channel codingx=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20];
y=[0.5373 0.5357 0.4320 0.3653 0.2930 0.2020 0.1283 0.0810 0.0377 0.0077 0.0003 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000];
n=5;
p=polyfit(x,y,n);
xAwgnNoCoding=linspace(1, 20, 1);
yAwgnNoCoding=polyval(p, xAwgnNoCoding);
semilogy(x, y, 'b*-.', xAwgnNoCoding, yAwgnNoCoding) hold on
axis manual;
axis([0 20 0.0025 1]);
xlabel('Eb/No'); ylabel('BER');
title('BER of AWGN without channel coding')
Syntax Matlab untuk Gambar 4.7
%awgn dengan channel coding rate=1/2x=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20];
y=[0.2673 0.1933 0.1543 0.1040 0.0669 0.0433 0.0227 0.0107 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000];
n=5;
p=polyfit(x,y,n);
xAwgnCoding=linspace(1, 20, 1); yAwgnCoding=polyval(p, xAwgnCoding);
semilogy(x, y, 'ro-.', xAwgnCoding, yAwgnCoding) axis manual;
(67)
xlabel('EbNo'); ylabel('BER');
title('BER of AWGN with channel coding')
Syntax Matlab untuk Gambar 4.8
%awgn tanpa channel codingx=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20];
y=[0.5373 0.5357 0.4320 0.3653 0.2930 0.2020 0.1283 0.0810 0.0377 0.0077 0.0003 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000];
n=5;
p=polyfit(x,y,n);
xAwgnNoCoding=linspace(0, 20, 1);
yAwgnNoCoding=polyval(p, xAwgnNoCoding); semilogy(x, y,'b*-.');
hold on
%awgn dengan channel coding rate=1/2
x=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20];
y=[0.2673 0.1933 0.1543 0.1040 0.0669 0.0433 0.0227 0.0107 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000];
n=5;
p=polyfit(x,y,n);
xAwgnCoding=linspace(0, 20, 1); yAwgnCoding=polyval(p, xAwgnCoding); semilogy(x, y,'ro-.');
axis manual;
(1)
Lampiran 4
%Hard Decision Viterbi Decoder
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%
%Function gets an encoded message 'rcvd(encoded by a convolutional encoder)
%as argument and returns the decoded message 'dec_op'
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%
function [dec_op]=viterbidec(rcvd)
%Concatenate two consecutive bits of recieved encoded sequence to %make up a symbol
input=[];
for j=1:2:length(rcvd)
input=[ input (rcvd(j))* 2 + (rcvd(j+1))]; end
%initializing all arrays
op_table=[00 00 11; 01 11 00; 10 10 01; 11 01 10]; %OUTPUT array
ns_table=[0 0 2; 1 0 2; 2 1 3; 3 1 3]; %NEXT STATE array
transition_table=[0 1 1 55; 0 0 1 1; 55 0 55 1; 55 0 55 1];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%
% A R R A Y S - U P D A T I N G Part
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%
st_hist(1:4, 1:17)=55; %STATE HISTORY array
aem=zeros(4, 17); %ACCUMULATED ERROR METRIC (AEM) array
ssq=zeros(1, 17); %STATE SEQUENCE array
% input=rcvd;
%input(1, :)=bin2dec(rcvd)
%input=[0 3 3 0 1 2 1 3 3 2 0 0 3 0 3 2 3] %INPUT vector %rcvd=['00';'11';'11';'00';'01';'10';'01';'11';'11';'10';'00';'00' ;'11';'00';'11';'10'; '11']
lim=length(input); %number of clock cycles
for (t=0:1:lim) %clock loop
% disp('---')
t; %display current clock instance
if(t==0)
st_hist(1,1)=0; %start at state 00
else
temp_state=[];%vector to store possible states at an instant
temp_metric=[];%vector to store metrics of possible states
temp_parent=[];%vector to store parent states of possible states
(2)
for (i=1:1:4) i;
in=input(t);
if(st_hist(i, t)==55) %if invalid state
%do nothing
else
ns_a=ns_table(i, 2)+1; %next possible state-1
ns_b=ns_table(i, 3)+1; %next possible state-2
op_a=op_table(i, 2); %next possible output-1
op_b=op_table(i, 3); %next possible output-2
cs=i-1; %current state
M_a=hamm_dist(in, op_a); %branch metric for ns_a
M_b=hamm_dist(in, op_b); %branch metric for ns_b
indicator=0; %flag to indicate redundant states
for k=1:1:length(temp_state) %check redundant next states
%if next possible state-1 redundant
if(temp_state(1,k)==ns_a) indicator=1;
%ADD-COMPARE-SELECT Operation
%em_c: error metric of current state
%em_r: error metric of redundant state
em_c=M_a + aem(i,t);
em_r=temp_metric(1,k) + aem(temp_parent(1, k)+1,t);
if( em_c< em_r)%compare the two error metrics
st_hist(ns_a,t+1)=cs;%select state with low AEM
temp_metric(1,k)=M_a; temp_parent(1,k)=cs; end
end
%if next possible state-2 redundant
if(temp_state(1,k)==ns_b) indicator=1;
em_c=M_b + aem(i,t);
em_r=temp_metric(1,k) + aem(temp_parent(1, k)+1,t);
if( em_c < em_r)%compare the two error metrics
st_hist(ns_b,t+1)=cs;%select state with low AEM
temp_metric(1,k)=M_b; temp_parent(1,k)=cs; end
end end
%if none of the 2 possible states are redundant
(3)
%update state history table
st_hist(ns_a,t+1)=cs; st_hist(ns_b,t+1)=cs;
%update the temp vectors accordingly
temp_parent=[temp_parent cs cs]; temp_state=[temp_state ns_a ns_b]; temp_metric=[temp_metric M_a, M_b]; end
%print the temp vectors
temp_parent; temp_state; temp_metric; end
end
%update the AEMs (accumulative error metrics) for all states for current instant 't'
for h=1:1:length(temp_state) xx1=temp_state(1, h); xx2=temp_parent(1, h)+1;
aem(xx1, t+1)=temp_metric(1, h) + aem(xx2, t); end
end
end %end of clock loop
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%
% T R A C E - B A C K Part
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%
for(t=0:1:lim)
slm=min(aem(:, t+1));
slm_loc=find( aem(:, t+1)==slm ); sseq(t+1)=slm_loc(1)-1;
end
dec_op=[];
for p=1:1:length(sseq)-1 p;
dec_op=[dec_op, transition_table((sseq(p)+1), (sseq(p+1)+1))]; end
Lampiran 5
%Simulasi AWGN channel dengan convolutional coding
clear;clc;
%input panjang data
d=100; r=1; n=45;
%Definisi rentang nilai EbNo
ebno=1:1:20;
(4)
data=randint(1,d,4);
%Pengubahan ke data biner
data_bit1=de2bi(data,'left-msb');
%Pengaturan data biner menjadi 1 kolom
for i=1:1:length(data_bit1);
data_bit11((2*i)-1:2*i,1)=[data_bit1(i,1) data_bit1(i,2)]; end
data_bit11=data_bit11';
%Generate fungsi PN Sequence
[PN1, PN2, PN3]=pnsequence(d);
%Data di-XOR-kan dengan PN Sequence
if n==45
data2=xor(data_bit11,PN1); PN=PN1;
end
%Proses Convolutional Encoder
[encoded_sequence]=convlenc(data2); data_es=encoded_sequence;
%Pengaturan kembali data menjadi 2 kolom
for i=1:2*length(data_bit1)
data_bit12(i,1:2)=[data_es(1,(2*i-1)) data_es(1,2*i)]; end
%Perubahan kembali bit ke integer
data3=bi2de(data_bit12,'left-msb');
%Modulasi QPSK
data_mod=pskmod(data3,4);
%Penambahan kanal AWGN
for e=1:length(ebno)
data_aw(:,e)=awgn(data_mod,ebno(e)); end
%Proses demodulasi
for x=1:length(ebno)
data_demod(:,x)=pskdemod(data_aw(:,x),4); end
%Data hasil demodulasi di konversi terlebih dahulu ke biner %Kemudian di-XOR-kan kembali dengan PN Sequence
for x=1:length(ebno)
data_bit2=de2bi(data_demod(:,x),'left-msb'); for i=1:1:length(data_bit2);
data_bit21((2*i)-1:2*i,1)=[data_bit2(i,1) data_bit2(i,2)]; end
data_bit21=data_bit21';
(5)
data_decod=dec_op;
data_var=xor(data_decod,PN);
for i=1:d
data_bit22(i,1:2)=[data_var(1,(2*i-1)) data_var(1,2*i)]; end
%[data_bit22]=konversi(data_bit2,PN,2);
data4(:,x)=bi2de(data_bit22,'left-msb'); end
for y=1:length(ebno)
BER(1,y)=sum(data~=data4(:,y)')/d; end
plot(ebno,BER,'r');
title('Grafik EbNo terhadap BER pada kanal AWGN tanpa pengkodean kanal');
xlabel('EbNo (dB)'); ylabel('BER');
Syntax Matlab untuk Gambar 4.6
%awgn tanpa channel codingx=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20];
y=[0.5373 0.5357 0.4320 0.3653 0.2930 0.2020 0.1283 0.0810 0.0377 0.0077 0.0003 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000];
n=5;
p=polyfit(x,y,n);
xAwgnNoCoding=linspace(1, 20, 1);
yAwgnNoCoding=polyval(p, xAwgnNoCoding);
semilogy(x, y, 'b*-.', xAwgnNoCoding, yAwgnNoCoding) hold on
axis manual;
axis([0 20 0.0025 1]);
xlabel('Eb/No'); ylabel('BER');
title('BER of AWGN without channel coding')
Syntax Matlab untuk Gambar 4.7
%awgn dengan channel coding rate=1/2x=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20];
y=[0.2673 0.1933 0.1543 0.1040 0.0669 0.0433 0.0227 0.0107 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000];
n=5;
p=polyfit(x,y,n);
xAwgnCoding=linspace(1, 20, 1); yAwgnCoding=polyval(p, xAwgnCoding);
semilogy(x, y, 'ro-.', xAwgnCoding, yAwgnCoding) axis manual;
(6)
xlabel('EbNo'); ylabel('BER');
title('BER of AWGN with channel coding')
Syntax Matlab untuk Gambar 4.8
%awgn tanpa channel codingx=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20];
y=[0.5373 0.5357 0.4320 0.3653 0.2930 0.2020 0.1283 0.0810 0.0377 0.0077 0.0003 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000];
n=5;
p=polyfit(x,y,n);
xAwgnNoCoding=linspace(0, 20, 1);
yAwgnNoCoding=polyval(p, xAwgnNoCoding); semilogy(x, y,'b*-.');
hold on
%awgn dengan channel coding rate=1/2
x=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20];
y=[0.2673 0.1933 0.1543 0.1040 0.0669 0.0433 0.0227 0.0107 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000];
n=5;
p=polyfit(x,y,n);
xAwgnCoding=linspace(0, 20, 1); yAwgnCoding=polyval(p, xAwgnCoding); semilogy(x, y,'ro-.');
axis manual;