Dengan menggunakan
syntax
[out,input]=rscencinputan, memory,flag
dengan
inputan
merupakan data masukan yang akan disandikan oleh kode
RSC
,
memory
adalah jumlah
shift register
pada penyandi
RSC
yang digunakan yaitu 2 atau 3,
flag
merupakan tanda jika ingin menghasilkan
tail bit.
Dalam penelitian ini,
tail bit
hanya dihasilkan pada komponen kode 1.
Out
dan
input
merupakan argumen keluaran dengan
out
merupakan
parity bit
yang dihasilkan oleh
RSC
dan
input
adalah gabungan data masukan awal dengan
tail bit
yang diperoleh dalam penyandian
. Tail bit
maupun
parity bit
yang dihasilkan bergantung pada hubungan dari tiap blok
delay
seperti pada Gambar 2.3 dan Gambar 2.4.
3.3. Penyandi
Turbo Block
Penyandi
Turbo Block
menggunakan dua
Bose Chaudhuri
Hocqueqhem BCH
sebagai komponen kodenya. Penyandi
BCH
yang digunakan adalah
BCH
7,4 dengan
code rate
47 dan
BCH
15,11 dengan
code rate
1115. Dalam sistem
Turbo Block
, kedua penyandi
BCH
dihubungkan secara paralel sehingga sistem mempunyai
code rate
0,4 untuk dua kode
BCH
7,4 dan 0,58 untuk dua kode
BCH
15,11. Untuk mendapatkan
bit
keluaran yang sesuai dengan
BCH
dibuat fungsi “
bchencoder
”. Dengan menggunakan
syntax
[out,input]= bchencoderinputan, memory
dengan
inputan
merupakan data masukan,
memory
adalah jumlah
shift register
yang digunakan pada kode
BCH
yaitu 3 atau 4.
Out
dan
input
merupakan argumen keluaran dengan
out
merupakan data masukan yang diikuti dengan
parity bit
yang dihasilkan oleh
BCH
dan
input
adalah gabungan data masukan dengan
tail bit
yang diperoleh dalam penyandian
. Tail bit
maupun
parity bit
yang dihasilkan pada penyandi
Turbo block
bergantung pada hubungan dari tiap blok
delay
seperti pada Gambar 2.8 dan Gambar 2.9.
3.4. Penyandi
Turbo
Gabungan
Penyandi
Turbo
Gabungan menggunakan kode
RSC
dengan blok
delay 2
untuk komponen kode 1 dan kode
BCH
7,4 sebagai komponen kode 2. Pada penyandi ini digunakan fungsi “
rscenc
” dan “
bchencoder
” yang sudah dibahas sebelumnya. Sistem
Turbo
ini memiliki
code rate
411 dimana 4
bit
masukan menghasilkan 11 keluaran.
3.5.
Interleaver
Interleaver
berfungsi untuk mengubah urutan data dengan aturan tertentu. Untuk itu dibuat fungsi “
interleaver
” dengan data masukan mengisi matriks
interleaver
baris demi baris dan membacanya kolom demi kolom. Dengan menggunakan
syntax
out=interleaverinput,r,c
dengan
input
merupakan data yang akan di-
interleave
,
r
dan
c
adalah jumlah baris dan kolom matriks
interleaver.
3.
6. Puncturing
Puncturing
merupakan proses yang dilakukan untuk meningkatkan laju penyandian. Dalam data yang di-
puncture
terdapat
parity bit
yang tidak ditransmisikan. Pola
puncturing
ditentukan oleh matriks
puncturing P
dan laju penyandian
yang diinginkan. Sebagai contoh, pada
Turbo Convolutional
digunakan matriks
puncturing P
[1 1 0;1 0 1]
untuk mendapatkan laju penyandian
½ . Matriks ini akan membuat
parity bit
dari setiap komponen kode
RSC
muncul bergantian. Proses
puncturing
dijelaskan sebagai berikut : Data = [
− − ] ; � = [
] ; Hasil = [ −
− ] Kolom pertama dari matriks data adalah
bit
sistematik, kolom kedua adalah
parity bit
kode
RSC
1 dan kolom ketiga adalah
parity bit
kode
RSC
2. Matriks
puncturing P
mewakili bagian yang sama untuk setiap kolom dengan 1 berarti data ditransmisikan dan 0 berarti data tidak ditransmisikan. Matriks
hasil menunjukkan data yang ditransmisikan setelah melalui proses
puncturing.
3.
7.
Modulasi
BPSK
Modulasi
BPSK
dibuat dalam fungsi “
bpsk_mod
” dengan menggunakan
syntax
[mod_signal] = bpsk_moddata,fc
.
Data
adalah data
bit
yang akan dimodulasi dan
fc
adalah frekuensi
carrier
yang digunakan. Dalam skema
BPSK ,
isyarat termodulasi dapat dinyatakan oleh persamaan berikut :
= { cos � merepresentasikan ′ ′
cos � + � merepresentasikan ′ ′ 3.1
Pergeseran fase sebesar 180° π sebanding dengan membalikkan gelombang sinus atau mengalikannya dengan -1.
3.
8.
Kanal
Rayleigh
Kanal yang digunakan dalam simulasi ini adalah kanal
multipath Rayleigh fading
. Pada
MATLAB
digunakan fungsi ”
rayleighchan
” untuk memodelkan kanal
Rayleigh.
Dengan menggunakan
syntax
chan = rayleighchants,fd,tau,pdb
dengan
ts
merupakan waktu
sampling,
fd
adalah frekuensi
doppler,
tau
adalah waktu
delay
yang terjadi,
pdb
adalah
power delay profile PDP
. Pada penelitian ini digunakan frekuensi
carrier
2140 MHz dengan kecepatan kendaraan adalah 40 kmjam sehingga dengan menggunakan Persamaan 2.4 didapatkan frekuensi
doppler
sebesar 79,26Hz. Tabel 3.1 menunjukkan
Power Delay Profile
yang digunakan untuk area
urban
[7]
.
Tabel 3.1.
Power Delay Profile
untuk Area U
rban.
Delay
μs
Power
dB
-5.7 0.217
-7.6 0.512
-10.1
3.
9. AWGN
Dalam simulasi ini, isyarat yang melalui kanal akan ditambahkan dengan derau
AWGN
. Untuk memodelkan derau
AWGN
dibuat fungsi ”
channel
” dengan
syntax
[derau1] = channel input, ebno, channel_type, ukuran, rate
.
Input
adalah data yang dilalukan dalam kanal,
ebno
adalah besarnya nilai
E
b
N
o
,
channel_type
adalah pilihan kanal yang diinginkan, 1 untuk
AWGN
dan 2 untuk
AWGN
ditambah
multipath Rayleigh fading.
Ukuran
adalah ukuran matriks dari data masukan dimana ukuran tersebut digunakan sebagai ukuran matriks derau.
Rate
adalah laju penyandian sistem. Argumen keluaran
derau1
adalah derau yang dihasilkan oleh fungsi
channel.
Dalam derau
AWGN
digunakan fungsi
randn
yang terdapat pada
Matlab
untuk menghasilkan derau dengan rata-rata
mean
= 0.
Dengan menggunakan
syntax
noise=sqrtvariancerandnukuran
[13] dapat ditentukan nilai varians berdasarkan nilai
E
b
N
o
untuk derau . Varians dan rapat spektrum
daya derau memiliki hubungan sebagai berikut : � =
3.2 dengan
� adalah varians dan adalah rapat spektrum daya derau. Diasumsikan bahwa energi per simbol dengan modulasi
BPSK
telah dinormalisasi menjadi :
� = � | | = 3.3
Sistem dengan � = ���
M
adalah modulasi yang digunakan,
BPSK :M = 2,
laju penyandian � dan energi per bit � dihubungkan dengan
� seperti pada persamaan 3.4. � = � � �
3.4 Oleh karena itu, dengan nilai
�
�
yang diberikan, dapat dihitung varians derau sebagai berikut :
� =
� � �
= �
� � � = � � � � =
�
�
�
� �
=
�� �
3.5
dengan � merupakan nilai varians dan
�
� �
merupakan
energy symbol to noise power spectral density.
Setelah derau didapatkan, maka langsung ditambahkan dengan data masukan.
3.10.
Maximum A-Posteriori Algoritma MAP
Pengawasandi menggunakan
MAP
untuk menghitung nilai
LLR Log
Likelihood Ratio
sebuah
bit
.
MAP
memanfaatkan diagram
trellis
yang dihasilkan oleh penyandi kode
RSC
maupun
BCH
dan menghitung kemungkinan jalur yang dilewati data masukan.
MAP
membaginya menjadi 3 bagian yaitu penghitungan
branch matrix
γ, penghitungan rekursi maju dan penghitungan rekursi mundur
sama seperti pada Persamaan 2.14, 2.15, dan 2.17 secara berurutan. Setelah ketiga nilai tersebut diketahui,
maka nilai | bisa dicari sesuai dengan Persamaan 2.13. Kemudian
bisa diketahui nilai ekstrinsik yang menjadi informasi
a-priori
pada sebuah pengawasandi seperti pada Persamaan 2.20.
3.11. Pengawasandi
Turbo Convolutional
Pada bagian ini terdapat dua pengawasandi
Turbo
yang dihubungkan secara paralel dengan
interleaver
maupun
de-interleaver
. Pada pengawasandi 1, masukan dan
parity bit
keluaran penyandi
RSC
1 serta hasil
soft decision
yang dihasilkan oleh pengawasandi 2 dimanfaatkan oleh
MAP
untuk mendapatkan hasil
soft decision
suatu
bit
. Semuanya ini dilakukan dengan menghitung kemungkinan suatu jalur dalam diagram
trellis
dilewati oleh data masukan. Hasil
soft decision
pengawasandi 1 terlebih dahulu di-
interleaver
sebelum menjadi masukan pengawasandi 2 agar didapati urutan data yang sama seperti data yang masuk pada pengawasandi 2. Penukaran informasi ini
akan berlangsung sampai batas iterasi yang ditentukan. Proses ini juga berlaku untuk pengawasandi 2.
3.12. Pengawasandi