Anda di halaman 1dari 5

TEKNIK PENGKODEAN KODE CRC-12

ADKHA SAUNGGRAM ALKHABIB 7208040042 4 D4 TELKOM B

clear all;clc;close all;clf; pesan=randint(12,1); p=cyclpoly(24,12) [h,g]=cyclgen(24,p) codeword=encode(pesan,24,12,'cyclic') n=length(codeword); error=zeros(n,1); error([21 23],1)=1

Pesan yang dikirim merupakan informasi acak yang integer dengan panjang data matrik 12x1 Data yang dikirimkan akan memiliki panjang bit data 24 bit, dimana disebut codeword.

Pada pengiriman data akan dibangkitkan nilai error yang merupakan representasi dari sinyal mengalami gangguan noise. Pada percobaan, bit ke-21 dan 23 akan mengalami kesalahan bit data C_err merupakan codeword yang mana telah mengalami kesalah akibat adanya noise. Dimana dihasilkan dari codeword XOR error Pesant_t merupakan codeword yang diterima oleh receiver dan didecodekan menjadi pesan sebelumnya

c_err=xor(error,codeword)

c_noise=fix(c_err) pesan_t =decode(codeword,24,12,'cyclic') pesan_t_n=decode(c_noise,24,12,'cyclic')

Pesan_t_n merupakan pesan informasi yang diterima dimana codeword yang telah mendapat noise kemudian oleh receiver didecodekan menjadi pesan. Pesan ini merupakan pesan yang tidak sesuai (salah).
sindrom=[h]*[c_noise]; sindbi=de2bi(sindrom); sindrombiner=sindbi(:,1); ser=length(sindrombiner);

Sindrome dapat dicari dari hasil kali dari nilai matrik parity check. Nilai sindrom ini dalam bentuk desimal sehingga harus diubah ke biner kembali dengan perintah de2bi() sehingga nilai binernya adalah sindrombiner.

sinderror=zeros(n,1); sinderror([(1+12):(ser+12)],1)=sindrombiner; sinderror1([1:ser],1)=sindrombiner;

Sindrome dapat dicari dari hasil kali dari nilai matrik parity check. Nilai sindrom ini dalam bentuk desimal sehingga harus diubah ke biner kembali dengan perintah de2bi() sehingga nilai binernya adalah sindrombiner. Sinderror merupakan nilai sindrom error yang dihasilkan dan tampilkan dari nilai sindrom yang telah didapatkan. cw adalah nilai biner dari hasil pengurangan codeword error terhadap error noise sehingga mendapat nilai codeword yang diharapkan. (digunakan untuk pengecekan apakah codeword sesuai dengan cw) cw adalah nilai biner dari hasil pengurangan codeword error terhadap error noise sehingga mendapat nilai codeword yang diharapkan. (digunakan untuk pengecekan apakah codeword sesuai dengan cw) 1

cw=c_noise-sinderror;

cek=[codeword c_noise] cek1=[error sinderror] cek2=[c_noise sinderror] cek3=[codeword cw]

TEKNIK PENGKODEAN

ADKHA SAUNGGRAM ALKHABIB 7208040042 4 D4 TELKOM B

subplot(311) stem(codeword) title('Codeword Tanpa Noise') subplot(312) stem(c_noise) ylabel('Codeword dengan Error Noise') subplot(313) stem(sinderror) xlabel('Bit Sindrom Pada Codeword') figure; subplot(411) stem(codeword) title('Pesan yang telah dikodekan') subplot(412) stem(sinderror1) title('Bit Sindrom pada Pesan terima') subplot(413) stem(pesan_t) title('Pesan terima tanpa Noise') subplot(414) stem(pesan_t_n) title('Pesan terima dengan Noise')

Menampilkan nilai biner dari tiap-proses, dimana codeword merupakan code hasil encoding, c_noise merupakan codeword yang telah diberi error, dan sindrom adalah nilai bit error yang terjadi pada error codeword (c_noise)

Menampilkan nilai biner dari tiap-proses, dimana codeword merupakan code hasil encoding, sinderror1 adalah error hasil perhitung dari sindrom yang diketahui, dan pesan_t adalah informasi tanpa error yang diterima setelah dilakukan decoding, sedangkan pesan_t_n merupakan informasi yang dihasilkan dari hasil decoding dari error codeword

Codeword Tanpa Nois e 1

0.5 Cod eword dengan E rror Nois e 0 1

10

15

20

25

0.5

0 1

10

15

20

25

0.5

10 15 B it S indrom P ada Codeword

20

25

TEKNIK PENGKODEAN

ADKHA SAUNGGRAM ALKHABIB 7208040042 4 D4 TELKOM B

P es an y ang telah dik odek an 1 0.5 0 1 0.5 0 1 0.5 0 1 0.5 0 0 2 4 6 8 10 12 0 2 4 6 8 10 P es an terim a dengan Nois e 12 14 16 0 2 4 6 8 P es an terim a tanpa N ois e 10 12 0 5 10 15 B it S indrom pada P es an terim a 20 25

KODE CRC-16

clear all;clc;close all;clf; pesan=randint(16,1) p=cyclpoly(24,16) [h,g]=cyclgen(24,p) codeword=encode(pesan,24,16,'cyclic') n=length(codeword); error=zeros(n,1); error([4 6],1)=1

Pesan yang dikirim merupakan informasi acak yang integer dengan panjang data matrik 16x1 Data yang dikirimkan akan memiliki panjang bit data 24 bit, dimana disebut codeword.

Pada pengiriman data akan dibangkitkan nilai error yang merupakan representasi dari sinyal mengalami gangguan noise. Pada percobaan, bit ke-4 dan 6 akan mengalami kesalahan bit data C_err merupakan codeword yang mana telah mengalami kesalah akibat adanya noise. Dimana dihasilkan dari codeword XOR error

c_err=xor(error,codeword)

c_noise=fix(c_err) pesan_t=decode(codeword,24,16,'cyclic') pesan_t_n=decode(c_noise,24,16,'cyclic')

Pesant_t merupakan codeword yang diterima oleh receiver dan didecodekan menjadi pesan sebelumnya

Pesan_t_n merupakan pesan informasi yang diterima dimana codeword yang telah mendapat noise kemudian oleh receiver didecodekan menjadi pesan. Pesan ini merupakan pesan yang tidak sesuai (salah). 3

TEKNIK PENGKODEAN

ADKHA SAUNGGRAM ALKHABIB 7208040042 4 D4 TELKOM B

sindrom=[h]*[c_noise]; sindbi=de2bi(sindrom); sindrombiner=sindbi(:,1); ser=length(sindrombiner);

Sindrome dapat dicari dari hasil kali dari nilai matrik parity check. Nilai sindrom ini dalam bentuk desimal sehingga harus diubah ke biner kembali dengan perintah de2bi() sehingga nilai binernya adalah sindrombiner.

sinderror=zeros(n,1); sinderror([(1):(ser)],1)=sindrombiner; sinderror1([1:ser],1)=sindrombiner;

Sindrome dapat dicari dari hasil kali dari nilai matrik parity check. Nilai sindrom ini dalam bentuk desimal sehingga harus diubah ke biner kembali dengan perintah de2bi() sehingga nilai binernya adalah sindrombiner. Sinderror merupakan nilai sindrom error yang dihasilkan dan tampilkandari nilai sindrom yang telah didapatkan.
cw=c_noise-sinderror;

cw adalah nilai biner dari hasil pengurangan codeword error terhadap error noise sehingga mendapat nilai codeword yang diharapkan. (digunakan untuk pengecekan apakah codeword sesuai dengan cw) cw adalah nilai biner dari hasil pengurangan codeword error terhadap error noise sehingga mendapat nilai codeword yang diharapkan.

cek=[codeword c_noise] cek1=[error sinderror] cek2=[c_noise sinderror] cek3=[codeword cw]

(digunakan untuk pengecekan apakah codeword sesuai dengan cw) subplot(311) stem(codeword) title('Codeword Tanpa Noise') Menampilkan nilai biner dari tiap-proses, subplot(312) stem(c_noise) dimana codeword merupakan code hasil ylabel('Codeword dengan Error Noise') encoding, c_noise merupakan codeword yang subplot(313) telah diberi error, dan sindrom adalah nilai bit stem(sinderror) xlabel('Bit Sindrom Pada Codeword') error yang terjadi pada error codeword
figure; subplot(411) stem(codeword) title('Pesan yang telah dikodekan') subplot(412) stem(sinderror1) title('Bit Sindrom pada Pesan terima') subplot(413) stem(pesan_t) title('Pesan terima tanpa Noise') subplot(414) stem(pesan_t_n) title('Pesan terima dengan Noise')

(c_noise)

Menampilkan nilai biner dari tiap-proses, dimana codeword merupakan code hasil encoding, sinderror1 adalah error hasil perhitung dari sindrom yang diketahui, dan pesan_t adalah informasi tanpa error yang diterima setelah dilakukan decoding, sedangkan pesan_t_n merupakan informasi yang dihasilkan dari hasil decoding dari error codeword 4

TEKNIK PENGKODEAN

ADKHA SAUNGGRAM ALKHABIB 7208040042 4 D4 TELKOM B

Codeword Tanpa Nois e 1

0.5 Cod eword dengan E rror Nois e 0 1

10

15

20

25

0.5

0 1

10

15

20

25

0.5

10 15 B it S indrom P ada Codeword

20

25

P es an y ang telah dik odek an 1 0.5 0 1 0.5 0 1 0.5 0 1 0.5 0 0 2 4 6 8 10 12 14 16 0 2 4 6 8 10 P es an terim a dengan N ois e 12 14 16 1 2 3 4 5 P es an terim a tanpa Nois e 6 7 8 0 5 10 15 B it S indrom pada P es an terim a 20 25