Senin, 11 Juni 2012

Pendeteksi Kesalahan


Selama pengiriman data baik berupa sinyal digital maupun sinyal analog, data tersebut mengalami perubahan dan kesalahan. Untuk menjaga dan meyakinkan bahwa data yang sedang dikirim akan tiba dengan lengkap dan utuh ke penerima data tersebut, perlu dilakukan pendeteksian kesalahan dan melakukan pembetulan kembali data jika terjadi kesalahan.
Kesalahan komunikasi data dapat terjadi karena gangguan pada saluran, sistem pengalihan, radiasi gelombang, crosstalk, dsb. Ada beberapa kemungkinan terjadinya kesalahan dalam pengiriman frame-frame data, yaitu sebagai berikut :
P0 = Probabilitas kesalahan bit tunggal yang disebut dengan bit error rate
P1 = Probabilitas frame yang diterima tanpa adanya kesalahan
P2 = Probabilitas frame diterima dengan kesalahan tetapi tidak terdeteksi
P3 = Probabilitas frame diterima dengan kesalahan tetapi terdeteksi

TIPE-TIPE KESALAHAN           
Pada sistem transmisi digital kesalahan terjadi ketika bit berubah di antara transmisi dan penerimaan; yakni, biner 1 ditransmisikan dan biner 0 diterima, atau biner 0 ditransmisikan dan biner 1 diterima. Dua tipe kesalahan yang umum dapat terjadi; kesalahan bit-tunggal dan ledakan kesalahan. Kesalahan bit-tunggal adalah kondisi kesalahan yang terisolasi yang mengubah satu bit, tetapi tidak mempengaruhi bit yang terdekat. Ledakan kesalahan dengan panjang B adalah sederetan bit B di mana bit pertama dan terakhir serta jumlah bit menengah diterima dalam kesalahan. Lebih tepatnya, IEEE Stddan ITU-T Recommendation Q.9 mendefinisikan kedua ledakan kesalahan sebagai berikut. Ledakan kesalahan: grup bit di mana dua bit mengalami kesalahan berturut-turut selalu dipisahkan kurang dari sejumlah x bit yang benar. Bit yang mengalami kesalahan terakhir dalam ledakandan bit pertama mengalami kesalahan pada ledakan berikutnya dipisahkan oleh x atau lebih bit yang benar.

KOREKSI KESALAHAN
Deteksi kesalahan merupakan teknik yang bermamfaat, ditemukan dalam protokol data link control, seperti HDLC, dan dalam protokol transpor, seperti TCP. Bagaimanapun juga, koreksi kesalahan menggunakan kode deteksi-kesalahan, membutuhkan blok data yang akan ditransmisikan ulang. Untuk aplikasi nirkabel, pendekatan ini tidaklah mencukupi untuk dua alasan.
1.    Laju kesalahan bit pada link nirkabel dapat menjadi dan gattinggi, yang akan menyebabkan sejumlah besar transmisi ulang.
2.    Pada beberapa kasus, terutama link satelit, penundaan perambatan sangat lama dibandingkan dengan waktu transmisi de buah frame tunggal. Hasilnya adalah sistem sangat tidak efisien.
Oleh karenanya, receiver diharapkan mampu mengkoreksi kesalahan dalam sebuah transmisi yang akan datang berdasarkan bit dalam transmisi tersebut.

CEK PARITAS
Metodedeteksi kesalahan dengan menggunakan bit paritas merupakan metode deteksi yang paling sederhana. Pengendalian Kesalahan dengan bit paritas memiliki dua sistem, yaitu paritas karakter dan paritas blok.
    1.        Paritas Karakter, pada paritas karakter sebuah bit ditambahkan ke setiap karakter dalam data. Pada rekomendasi ITU-T V4 telah ditentukan bahwa bit paritas diletakkan setelah bit ketujuh dari bit signifikan terbesar sehingga menjadi bit ke delapan. Contoh : 1010000 menjadi 0101000
    2.        Paritas Blok, dengan menggunakan paritas blok maka efesiensi pendeteksian kesalahan dapat ditingkatkan. Pesan dibagi menjadi sejumlah blok dan setiap blok memiliki karakter pemeriksa blok (blokcheck character) yang ditambahkan pada akhir blok.

Contoh :
Nomor Bit     7 6 5 4 3 2 1 0
0 1 0 0 0 0 0 1
1 0 1 0 0 0 0 0
0 1 0 0 0 1 1 1
1 1 1 0 0 1 1 1
Karakter       1 0 1 0 0 0 0 0
0 1 0 0 0 0 1 0
0 1 0 0 0 1 1 1
0 1 0 0 0 1 1 1
0 1 0 0 1 0 1 1
BBC              0 0 0 0 1 1 1 1

Skema yang paling sederhana dari deteksi-kesalahan adalah dengan membubuhi sebuah bit paritas pada akhir sebuah blok data. Contoh umumnya adalah transmisi karakter, dimana sebuah bit paritas disertakan pada masing-masing karakter IRA 7-bit. Nilai dari bit ini diplih sehingga karakter memiliki angka genap dari 1 (paritas genap) atau angka ganjil 1 (paritas ganjil).

KARAKTER PARITAS
Paritas merupakan teknik deteksi kesalahan yang biasanya digunakan pada asynchronous link. Hal ini digunakan untuk memverifikasi integritas individu karakter (atau byte) di dalam aliran ditransmisikan. Ketika digunakan, masing-masing karakter dilindungi oleh paritas bit tunggal yang merupakan eksklusiflogi satu semua bit dalam karakter. Dua jenis paritas digunakan: paritas bahkan dimana -1-paritas bit dikirim jika ada bilangan genap dari 1-bit dan aneh yang merupakan kebalikan (yakni 1-paritas-bit akan dikirim saat ada ganjil 1-bit). Paritas bit ditambahkan ke karakter ditransmisikan pada pemancar dan penerima diperiksa di Pada peneri maparitas tersebut dihitung ulang baik menggunakan eksklusif atau penambah atau Finite State Machine (FSM). Implementasi menggunakan gerbang XOR ditampilkan di bawah.

Contoh
Paritas juga dapat dihitung dalam perangkat lunak menggunakan shift register untuk menghitung jumlah bit '1 'di setiap byte. Jika dihitung dari paritas karakter yang diterima tidak sesuai dengan nilai bit paritas yang diterima, maka kesalahan paritas dikatakan telah terjadi, dan karakter normal nya akan dihapus. Cek paritas ini mendeteksi jumlah kesalahan aneh yang disalurkan sejumlah kesalahan bahkan tanpa mendeteksi kesalahan.

Berikut adalah beberapa contoh untuk memeriksa pemahaman Anda. Sebuah pesan "Halo" dikirim ke perintah serial menggunakan pernyataan pemrograman C "printf (" Hello \ n ").
Urutan asli karakter yang ditampilkan dalam kolom 1.
Pola bit yang dikirimakan ditampilkan di kolom kedua (menggunakan tabel ASCII untuk melihat apakah ini dalam rangka bit komputer atau transmisi order bit !).
Kolom ketiga menunjukkan urutan dari bit yang diterima, termasuk beberapa kesalahan transmisi (dapat Anda mengidentifikasi bit yang rusak?).
Menerima ASCII karakter dan kondisi paritas yang ditampilkan pada kolom terakhir. (Dapatkah Anda memvalidasi bahwa logika paritas mendeteksi kesalahan ini?)
Pengirim Penerima
S010010011SS S010010011SS H HH Valid ''
e S011001010SS Kesalahan Paritas S011011010SS
S011011000SS l ¿S0110110000S tidak valid
l S011011000SS v v S011111001SS Valid ''
oo S011011110SS S011011110SS Valid 'o'
cr S000011011SS Kesalahan Paritas S111011011SS

Paritas, baik di mendeteksi kesalahan, dan selalu akan mendeteksi kesalahan ganjil dalam karakter yang diterima. Namun, jika ada bilangan genap kesalahan, pemeriksa paritas tidak akan mampu untuk menemukan kesalahan. Pertimbangkan transmisi pesan yang sama dan urutan yang diterima di bawah ini. Dapatkah Anda melihat baris yang berisi nilai paritas yang baik namun sebenarnya mengandung beberapa kesalahan?
Menerima (pola kedua dari kesalahan):
S010010011SS
S011001010SS
S011011000SS
S011011000SS
S011011110SS
S000011011SS
Pembentukan Karakter Pemeriksa Blok

CYCLIC REDUDANCY CHECK (CRC)
Satu dari yang paling dan yang paling kuat, dari kode deteksi-kesalahan adalah cyclic redudancy check (CRC) atau cek redudansi siklik. Yang dapat dideskripsikan sebagai berikut. Misalnya terdapat sebuah blok k-bit, atau pesan, sehingga transmitter menghasilkan sebuah deretan (n-k) –bit, dikenal sebagai frame check sequence (FCS) atau urutan cek bingkai, seperti frame hasil, terdiri dari n-bit, dapat dibagi dengan angka yang telah ditentukan. Receiver kemudian membagi frame yang datang dengan angka tersebut dan, jika tidak ada sisa, diasumsikan tidak terjadi kesalahan.
Cyclic Redundancy Check (CRC) merupakan sistem dengan penambahan kontrol bit untuk menjamin keamanan data. Kontrol bit dibentuk oleh komputer pengirim bedasarkan atas perhitungan data yang dikirim. Pada prinsipnya, ketika data sampai di komputer penerima maka akan dilakukan perhitungan seperti yang dilakukan oleh komputer pengirim. Jika hasil perhitungan sama maka tidak ada kesalahan dalam pengiriman. Untuk memahami lebih lanjut tentang konsep CRC, sebaiknya pahami terlebih dahulu konsep pembagian modulo 2 serta konsep penjabaran deretan bit menjadi aljabar polinomial.

Menyajikan prosedurnya dalam 3 cara :
1)   Modulo 2 Aritmatik,
2)   Polynomial,
3)   Digital Logic



MODULO 2 ARITHMATIC
Suatu proses arimatik dan aturan pembagian modulo 2 suatu bilangan biner dengan bilangan biner lain adalah sebagai berikut :
            1.        Jika pembagi mempunyai cacah bit yang sama dengan bilangan yang dibagi hasilnya 1. Jika pembagi mempunyai cacah bit yang lebih sedikit maka hasil baginy aadalah 0.
            2.        Menggunakan penjumlahan biner tanpa pembawa, dimana hanya merupakan operasieksklusif OR.

Untuk kepentingan ini didefinisikan :
T = (k + n) bit frame untuk ditransmisi, dengan n < k
M = k bit message, k bit pertama dari T
F = n bit FCS, n bit terakhir dari TP = pattern dari n + 1 bit.
Dimana :  T= 2n M + F
               2M = Q + R
                 P P
Karena pembaginya adalah biner, remainder selalu kurang dari 1 bit dibanding pembagi. Maka :
T – 2M + R

POLYNOMIAL
Cara kedua mengamati proses CRC dengan menyatakan seluruh nilai sebagai Polynomial dalam suatu model Variabel X, dengan koefisien biner. Koefisien berhubungan dengan bit-bit dalam angka biner. Jadi untuk M=110011, kita peroleh M(x)=X5+X4+X+1, dan untuk P=11001, kita peroleh P(x)=X4+X3+1. Operasi aritmatik lagi berupa modulo 2.

Prose CRC digambarkan sebagai berikut.
Xn M(x)        
          -------  = Q(x) + R(x)/P(x)         T(x) = Xn M(x) + R(x)
             P(x)         

DIGITAL LOGIC
Proses CRC ditunjukkan dan sekaligus diimplementasikan sebagai rangkaian pembagi yang terdiri dari gate Eksklusif OR dan register penggeser. Register penggeser adalah tempat penyimpan 1 bit, dengan satu input dan satu output. Semua perangkat register diletakkan secara simultas, sehingga menyebabkan pergeseran 1-bit di semua register.
Rangkaiannnya diimplementasikan sbb :
  1. Register memuat n-bit, setara dengan panjang FCS
  2. Terdapat n atau lebih gate XOR
  3. Ada atau tidaknya gate berkaitan dengan ada atau tidaknya term dalam pembagi pelinomial, P(X), tidak termasuk term Xn

Arsitektur rangkaian dijelaskan dengan cara mengamati contoh gambar berikut sbb :
Pesan M = 1010001101                        M(x) = X9 + X7 + X4 + X3+ X2 + 1

Pembagi P = 110101                            P(x) = X5 + X4 + X2 + 1

Tidak ada komentar:

Posting Komentar

 
;