Anda di halaman 1dari 4

PERCOBAAN 8

CONVOLUTIONAL CODE ENCODING

8.1 TUJUAN

a) Mahasiswa dapat memahami proses pengkodean convolutional code

b) Mahasiswa dapat menerapkan convolutional code encoding

c) Mahasiswa diharapkan mampu mensimulasikan encoding convolutional code pada matlab

8.2 DASAR TEORI

1) Sejarah Kode Konvolusi

Secara historis, kode di klasifikasi menjadi block codes dan convulutional codes. Fitur yang
membedakan diantara keduanya adalah terdapat atau tidak terdapatnya memori pada bagian
encoding. convulutional codes memiliki memori pada encoder sedangkan pada block codes
tidak terdapat memori. Kode Konvolusi mulanya dikenalkan oleh Ellias pada tahun 1995
sebagai suatu alternative dari block codes.

2) Representasi dan Membangkitkan Kode Konvolusi

Kode konvolusi memiliki memori, sehingga proses kode konvolusi bergantung pada input
pesan saat ini dan sebelumnya. Karena itu, kode konvolusi memiliki tiga parameter: panjang
codeword (n), panjang pesan informasi (k), dan jumlah pesan sebelumnya (v), M+1. Maka
kode konvolusi dinotasikan sebagai:

Convolutional code (n, k, v)

Pada kode konvolusi tidak hanya melibatkan pesan saat ini, tetapi juga melibatkan pesan
sebelumnya (v-1). Parameter M adalah memori dari kode konvolusi.

Gambar 8.1. Struktur binary convolutional code


Untuk sebuah binary convolutional code (n, 1, v), pesan input ke encoder merupakan deretan
bit biner. Setelah menerima input bit mt pada saat waktu t, blok encoder pada Gambar 1
menghasilkan n-bit codeword ct = (ct(1) ct(2) … ct(n)) sebagai berikut:

Dimana j = 1, 2, … , 𝑛 ∙ g𝑖 (𝑗) ∈ {0,1} adalah koefisien. Koefisien ini merupakan logika


pengkodean encoder.

Perhatikan bahwa koefisien g𝑖 (𝑗)pada persamaan di atas merupakan encoder dari kode
konvolusi, yang disebut sebagai code generator. Sebagai contoh, code generator untuk
convolutional code (2, 1, 3) diantaranya adalah [1 1 1] dan [1 0 1]. Kedua vector biner
tersebut jika dikonversi ke bilangan octal adalah [1 1 1] = 7 dan [1 0 1] = 5. Mereka juga
dapat dinyatakan dalam domain generator polynomial [1 1 1]  1+D+D2 dan [1 0 1] 
1+D2, dimana D adalah operator delay.

3) Kode Konvolusi Sistematik

Kode konvolusi pada point 2 di atas merupakan contoh dari kode konvolusi nonsistematik.
Untuk kode konvolusi sistematik, sebagai contoh,

menghasilkan kode yang sistematis dengan bit pertama dalam sebuah codeword menjadi bit
pesan dengan sendirinya.

 Representasi Kode
Kode konvolusi dapat direpresentasikan dalam beberapa cara. Pertama, dari sudut
pandang rangkaian, convolutional encoder adalah sebuah state machine dengan 2v-1
state, dimana state adalah isi dari memori encoder. Encoder kemudian dapat
direpresentasikan dengan sebuah diagram state transisi.
Table 1. Truth Table Convolutional Code (2,1,3)

Contoh:

Sebuah convolutional code (2, 1, 3) memiliki encoder 2v-1 = 23-1 = 4 state. Dengan state
S(00), S(01), S(10)dan S(11). Tabel 1 menunjukkan hubungan antara input, output dan
transisi state dari encoder. Berdasarkan Tabel ini, diagram transisi state ditunjukkan pada
Gambar 2.

Gambar 8.2. Diagran Transisi State

Gambar 2 menunjukkan jalur encoding. Dengan langkah pengkodean: dimulai dari state
S(00), bit pesan pertama adalah “1”, sehingga lintasan bergerak ke bawah dan menghasilkan
codeword pertama “11”. Bit kedua adalah “1”, sehingga lintasan bergerak ke bawah lagi dan
menghasilkan codeword kedua “01”, dan seterusnya. Prosedur ini diulang hingga bit pesan
terakhir terkodekan. Urutan pengkodean sepanjang lintasan encoding adalah 11 01 01
00 .. .. .., sesuai dengan contoh percobaan 1 yaitu dengan bit pesan informasi m = [1 1 0 1 0
0].

8.3 ALAT DAN BAHAN

PC yang terinstall software MATLAB

8.4 LANGKAH PERCOBAAN

Percobaan 1: Encoding Kode Konvolusi (2, 1, 3)

clear all

close all

clc

%% convolutional code (2,1,3)

g=[7 5]; %code generator

m=[1 1 0 1 0 0]; %message

trellis = poly2trellis(3,g); %constraint length = 3

codeword = convenc(m,trellis)

Percobaan 2: Encoding Kode Konvolusi (4, 1, 3)

clear all

close all

clc %% convolutional code (4,1,3)

g=[7 5 3 2]; %code generator

m=[1 1 0 1 0 0]; %message

trellis = poly2trellis(3,g); %constraint length = 3

codeword = convenc(m,trellis)

Anda mungkin juga menyukai