Analisis Bit Error Rate Pada Sistem Wcdma Dengan Menggunakan Channel Coding

(1)

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 coding

x=[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/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(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 coding

x=[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 coding

x=[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/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(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 coding

x=[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;