Jumat, 28 Desember 2012

Tugas Kuliah - Cara Kerja LRC dan CRC

      Assalamualaikum, saya ingin berbagi tugas mengenai mata kuliah Komunikasi Data dan Jaringan Komunikasi. Semoga menjadi bermanfaat untuk para pembaca :) 

Tugas Komunikasi Data dan Jaringan Komputer
by:
Nama : Mona Meidya Mustika
NIM : D22.2011.01054
    
     1.      LRC (Logitudional Redundancy Check)
Dalam telekomunikasi, cek redundansi longitudinal (LRC) atau cek redundansi horizontal adalah bentuk cek redundansi yang diterapkan secara independen untuk masing-masing kelompok paralel stream bit. Data harus dibagi menjadi blok transmisi, untuk mana data cek tambahan ditambahkan.

Istilah ini biasanya berlaku untuk parity bit tunggal per bit stream, meskipun juga dapat digunakan untuk merujuk ke kode Hamming yang lebih besar. Sementara paritas membujur sederhana hanya dapat mendeteksi kesalahan, itu dapat dikombinasikan dengan error control coding tambahan, seperti cek redundansi melintang, untuk memperbaiki kesalahan.

Telecom standar ISO 1155 menyatakan bahwa redundansi longitudinal yang memeriksa urutan byte dapat dihitung dalam perangkat lunak dengan algoritma berikut:

       Set LRC = 0
       For each byte b in the buffe do
       Set LRC = (LRC + b) AND 0xF end do
       Set LRC = (((LRC XOR 0xFF) + 1) AND 0xFF)


yang dapat dinyatakan sebagai "nilai 8-bit two's-komplemen dari jumlah semua byte modulo 28."
8-bit LRC seperti ini setara dengan cek redundansi siklik menggunakan x8 +1 polinomial, tetapi kemerdekaan bit stream kurang jelas ketika melihat seperti itu.

Banyak protokol menggunakan seperti XOR berbasis redundansi byte cek longitudinal (sering disebut Blok Centang Karakter atau BCC), termasuk standar IEC 62056-21 untuk pembacaan meter listrik, kartu pintar seperti yang didefinisikan dalam ISO 7816, dan protokol ACCESS.bus.

Gambaran LRC dapat dilihat pada gambar dibawah ini:
Untuk melakukan perhitungan LRC, ditambahkan karakter tambahan (bukan satu bit) di bagian kiri dan bagian bawah blok :
1.      Block Check Character (BCC) pada tiap blok data. Tiap bit BCC merupakan pariti dari semua bit dari blok yang mempunyai nomor bit yang sama. Jadi bit 1 dari BCC merupakan pariti genap dari semua bit 1 karakter yang ada pada blok tersebut, dan seterusnya
2.      Ditentukan seperti parity, tetapi menghitung secara longitudinal pada pesan (dan juga secara vertikal)
3.      Kalkulasi berdasarkan pada bit ke-1, ke-2 dst (dari semua karakter) pada blok menggunakan operator XOR (paritas genap) atau ~XOR (paritas ganjil) :

Ø  Bit ke-1 dari BCC ß jumlah 1 pada bit ke-1 dari karakter
Ø  HBit ke-2 dari BCC ß jumlah 1 pada bit ke-2 dari karakter
Ø  98% laju deteksi error untuk burst errors ( > 10 bit)
Ø  Mampu mengoreksi error sebuah bit
Ø  Mampu mengoreksi error sebuah drive yang rusak (dalam RAID)
Ø  Perbaikan signifikan dibandingkan  parity checking

Contoh : Akan dilakukan pentransmisian string “DATA” dengan teknik LRC paritas ganjil. Data tersebut diubah menjadi sebuah blok yang terbagi menjadi empat baris. Masing-masing karakter direpresentasikan dengan biner kemudian dihitung paritasnya baik secara longitudinal maupun horizontal. 

     2.      CYCLIC REDUNDANCY CHECK (CRC) ARITMATIKA MODULO 2
          I.            DESKRIPSI SIMULASI :
Cyclic Redundancy Check (CRC) adalah salah satu metode pendeteksian kesalahan (error detection) yang paling umum digunakan, dan salah satu yang paling kuat dalam hal mendeteksi kesalahan kode-kode biner yang diterima oleh pesawat penerima. Simulasi CRC Aritmatika Modulo 2 diawali dengan memasukan nilai Pesan (diwakili variable ‘M’), Pola (P) dan nilai n-bit dari FCS. Setelah nilai-nilai ini diisi dalam variable, program akan mencari dahulu berapakah nilai FCS nya (dalam biner) dengan cara memodulokan nilai M*2n, sisa hasil baginya merupakan nilai FCS. Setelah itu, nilai FCS tadi ditambahkan dengan Pesan agar didapat nilai dari bit yang akan dikirim. Dalam simulasi ini, kita akan mengecek nilai bit yang diterima dengan cara memodulokan nilai bit yang diterima dengan Pola yang sebelumnya digunakan untuk menentukan nilai FCS. Disini, kita sendiri yang menentukan nilai bit yang akan diterima. Program akan menunjukan ‘tidak terjadi error’ apabila tidak ada sisa saat bit yang diterima dimodulokan dengan Pola. Dan sebaliknya, program akan menunjukan ‘terjadi error’ apabila ada sisa saat bit yang diterima dimodulokan dengan Pola. Dalam simulasi ini juga akan diplotkan nilai bit yang dikirim dan yang diterima.


II.     MANFAAT SIMULASI :
1.      Dapat menentukan adanya error /kesalahan pada data yang ditransmisikan
2.      Mahasiswa memiliki pengetahuan mengenai cara kerja CRC Aritmatika Modulo 2


III.     FLOW CHART & SOURCE CODE

5.1. Flow Chart :
CYCLIC REDUNDANCY CHECK (CRC) ARITMATIKA MODULO 2

5.2 Source code :
input(‘CYCLIC REDUNDANCY CHECK’);
input(‘MODULO 2′);
input(‘M = Pesan’);
input(‘P = Pola’);
input(‘n = Banyak bit pada FCS’);
M = input(‘masukan nilai M :’, ‘s’);
M = bin2dec(M);
P = input(‘masukan nilai P :’, ‘s’);
P = bin2dec(P);
n = input(‘masukan nilai n (dalam biner) :’, ‘s’);
n = bin2dec(n);
disp (‘M =’); disp (M);
disp (‘P =’); disp (P);
disp (‘n =’); disp (n);
R = mod ((n*M),P);
T = (n*M) + R ;
T1 = input (‘masukan nilai yang akan di terima Receiver :’, ‘s’);
Rx = str2num ([T1]);
disp (‘T =’); disp (dec2bin (T));
disp (‘T1 = ‘); disp (T1);
T1 = bin2dec (T1);
if ((mod (T1,P))-(mod (T,P)) == 0);
disp (‘tidak ada error’);
else
disp (‘terjadi error’);
end;
Tx = input (‘untuk membuat plot silahkan masukan nilai T:’, ‘s’);
Tx = str2num ([Tx]);
subplot(2,1,1); stairs(Tx,’–rs’,'LineWidth’,5,’MarkerEdgeColor’,'k’,'MarkerFaceColor’,'g’,'MarkerSize’,1)
title(‘sinyal yang ditransmisikan’);
subplot(2,1,2); stairs(Rx,’–rs’,'LineWidth’,5,’MarkerEdgeColor’,'k’,'MarkerFaceColor’,'g’,'MarkerSize’,1)
title(‘sinyal yang diterima’);



Tidak ada komentar:

Posting Komentar