p=
1
1. Kode siklik (n,k) dibutuhkan generator dengan derajat polinomial tertinggi (nk). Untuk kode siklik (7,4) derajat polinomial generator tertinggi yang
diperoleh dari percobaan adalah 3. Berdasarkan teori derajat polinomial
tertinggi dapat diperoleh dengan (n-k), sehingga pada percobaan nilai
generator tertinggi bernilai 3, sesuai seperti teori yang telah ada.
A.2 Membangkitkan matrik parity dan matrik generator kode siklik (7,4) dengan
Matlab
>> [h,g]=cyclgen(7,p)
h=
1
g=
>> [h1,g1]=cyclgen(7,p1)
h1 =
1
0
0
0
g1 =
1
1
0
0
1
0
0
0
0
1
0
0
0
0
1
1
1
1
0
1
1
0
0
0
1
1
0
1
1
1
1
0
1
0
0
0
1
0
0
0
1
0
0
0
1
>> p2=[1 1 0 1 1 0]
p2 =
1
>> [h2,g2]=cyclgen(7,p2)
??? Error using ==> cyclgen at 47
The generator polynomial P cannot produce a cyclic code generator matrix.
Berdasarkan teori yang ada, nilai p adalah nilai polinomial generator, h dan g merupakan
sebuah matrik yang didalamnya terdapat matrik generator polinomial dan matrik parity.
>> p3=[1 0 1 1 1 0]
p3 =
1
>> [h3,g3]=cyclgen(7,p3)
??? Error using ==> cyclgen at 47
The generator polynomial P cannot produce a cyclic code generator matrix.
B. Enkoding dan dekoding kode siklik (tanpa error)
B.1 Mengamati hasil pengkodean (encoding) kode siklik
>> p=cyclpoly(7,4)
p=
1
>> [h,g]=cyclgen(7,p)
h=
1
g=
>> pesan=[0 0 1 1]
pesan =
0
>> codeword=encode(pesan,7,4,'cyclic')
Fungsi
codeword =
1
3. Pola dari hasil pengkodean yaitu bit parity ditambah dengan pesan kaitannya
dengan struktur kode siklik yaitu d(x).g(x) , dimana fungsi d(x) adalah informasi
polinomial dan g(x) adalah generator polinomial. Pada percobaan diatas sudah memenuhi
struktur kode siklik yaitu dengan 0011 adalah pesan dan 101 adalah parity.
4. Mengulangi langkah B.1 dengan mengganti pesan menjadi msg=[00111].
>> pesan1=[0 0 1 1 1]
pesan1 =
Fungsi encode yaitu mengkodekan pesan
0
0
1
1
1
menggunakan metode koreksi kesalahan.
>> codeword1=encode(pesan1,7,4,'cyclic')
codeword1 =
1
0
1
0
0
1
1
1
0
1
1
0
0
0
Pengkodean dari pesan1 diatas berjumlah 5 bit, berbeda dari percobaan
sebelumnya yang berjumlah 4 bit. Berdasarkan teori, pesan1 tersebut terdiri
dari bit parity dan pesan informasi yang disampaiakan
B.2 Mengamati hasil pengkodean kembali (decoding) kode siklik
>> pesan_terima=decode(codeword,7,4,'cyclic')
pesan_terima =
0
1
>> cek=[pesan'
pesan_terima']
>>
[number,ratio]=biterr(pesan',p
esan_terima')
cek =
number =
ratio =
1
0.5
1.5
2.5
3.5
1.5
3.5
1
0.5
0
1
0.5
0
2.5
3
Pesan yang Diterima
error =
0
0
>> code_noise=fix(code_error)
code_noise =
>>
code_error=xor(error,codeword
')
code_error =
1
1
1
1
0
1
0
1
1
>> cek=[codeword'
code_noise]
cek =
1
1
1
1
1
>>
pesan_terima=decode(code_noi
se,7,4,'cyclic')
pesan_terima =
0
0
1
>> cek_pesan=[pesan'
pesan_terima]
cek_pesan =
0
1
%mengeplot pesan_terima dengan noise
subplot(3,1,1);
stem(pesan,'b');
title('Pesan yang Dikirim');
subplot(3,1,2);
stem(code_terima,'m');
ylabel('Codeword dengan 3 bit Error');
subplot(3,1,3);
stem(pesan_terima_noise,'r');
xlabel('Pesan yang Diterima');