Senin, 17 Januari 2011

Teknik Encoding, Pendeteksi Error & Automatic Repeat Request


Nonreturn to Zero-Level (NRZ-L):yaitu suatu kode dimana tegangan negatif dipakai untuk mewakili suatu binary dan tegangan positif dipakai untuk mewakili binary lainnya.
  • Dua tegangan yang berbeda antara bit 0 dan bit 1
  • Tegangan konstan selama interval bit
  • Tidak ada transisi yaitu tegangan no return to zero
Contoh:
  • Lebih sering, tegangan negatif untuk satu hasil dan tegangan positif untuk yang lain
  • Ini adalah NRZ-L
 

Nonreturn to Zero Inverted (NRZI):yaitu suatu kode dimana suatu transisi (low ke high atau high ke low) pada awal suatu bit time akan dikenal sebagai binary ’1′ untuk bit time tersebut; tidak ada transisi berarti binary ’0′. Sehingga NRZI merupakan salah satu contoh dari differensial encoding.
  • Nonreturn to Zero Inverted (NRZI) dalam kesatuan
  • Pulsa tegangan konstan untuk durasi bit
  • Data dikodekan / diterjemahkan sebagai kehadiran(ada) atau ketiadaan sinyal transisi saat permulaan bit time
  • Transisi (dari rendah ke tinggi atau tinggi ke rendah) merupakan biner 1
  • Tidak ada transisi untuk biner 0
  • Sebagai contoh encoding differential
Keuntungan differensial encoding :
  • lebih kebal noise
  • tidak dipengaruhi oleh level tegangan.
 Kelemahan dari NRZ-L maupun NRZI :
  • keterbatasan dalam komponen dc dan kemampuan synchronisasi yang buruk
 

 Bipolar with 8-Zeros Substitution (B8ZS) yaitu suatu kode dimana :
  • jika terjadi oktaf dari semua nol dan pulsa tegangan terakhir yang mendahului oktaf ini adalah positif, maka 8 nol dari oktaf tersebut di-encode sebagai 000+ -0- +
  • jika terjadi oktaf dari semua nol dan pulsa tegangan terakhir yang mendahului oktaf ini adalah negatif, maka 8 nol dari oktaf tersebut di-encode sebagai 000-+0+ -.
  • Penggantian Bipolar With 8 Zeros
  • Didasarkan pada bipolar-AMI
  • Jika octet pada semua zero dan pulsa terakhir tegangan yang terdahulu adalah encode positif sebagai 000+-0-+
  • Jika octet pada semua zero dan pulsa terakhir tegangan yang terdahulu adalah encode negatif sebagai 000-+0+-
  • Karena dua pelanggaran pada kode AMI
  • Tidak mungkin untuk terjadi seperti hasil noise
  • Receiver mendeteksi dan menerjemahkan seperti octed pada semua zero
  • Penggunaan Scrambling untuk menggantikan rangkaian yang menghasilkan tegangan konstan.
  • Rangkaian Filling 
  • Harus cukup menghasilkan transisi untuk sinkronisasi
  • Harus dapat diakui oleh receiver dan digantikan dengan yang asli
  • Panjang sama dengan yang asli

  • Tidak ada komponen dc

  • Tidak ada rangkaian panjang pada saluran sinyal level zero

  • Tidak ada penurunan pada kecepatan data

  • Kemampuan pendeteksian error

High-density bipolar-3 zeros (HDB3):yaitu suatu kode dimana menggantikan stringstring dari 4 nol dengan rangkaian yang mengandung satu atau dua pulsa atau disebut kode violation, jika violation terakhir positive maka violation ini pasti negative dan sebaliknya (lihat tabel).
  • Kepadatan tinggi Bipolar 3 Zeros
  • Didasarkan pada bipolar-AMI
  • String pada empat zero digantikan dengan satu atau dua pulsa

PENDETEKSI ERROR

Parity bit
A              Parity bit adalah sedikit yang ditambahkan untuk memastikan bahwa jumlah bit dengan satu nilai di set bit genap atau ganjil. Paritas bit digunakan sebagai bentuk paling sederhana dari kode kesalahan mendeteksi.

        Ada dua varian bit parity: paritas genap bit dan bit paritas ganjil. Bila menggunakan bahkan paritas, bit paritas diset ke 1 jika jumlah yang dalam yang diberikan set bit (tidak termasuk bit paritas) aneh, membuat seluruh himpunan bit (termasuk bit paritas) bahkan. Bila menggunakan paritas ganjil, bit paritas diset ke 1 jika jumlah yang dalam yang diberikan set bit (tidak termasuk bit paritas) bahkan, menjaga seluruh himpunan bit (termasuk bit paritas) aneh. Dengan kata lain, sebuah bit paritas bahkan akan diatur ke "1" jika jumlah 1's + 1 genap, dan bit paritas ganjil akan ditetapkan ke "1" jika jumlah 1's +1 ganjil.

CRC – Cyclic Redundancy Check
        Cyclic redundancy check (CRC) adalah metode yang umum digunakan untuk mendeteksi error. CRC beroperasi pada sebuah frame/block. Setiap block berukuran m bit yang akan dikirim akan dihitung CRC checksumnya (berukuran r bit), kemudian dikirim bersama2 dengan frame (dengan ukuran m+r bit). Pada sisi penerima, penerima akan menghitung CRC checksum pada frame yang diterima, dan dibandingkan dengan checksum yang diterima, jika berbeda, berarti frame rusak. CRC menggunakan prinsip modulo bilangan. Data dianggap sebagai sebuah bilangan, dan untuk menghitung checksum, sama dengan menambahkan digit untuk data dengan digit untuk checksum (berisi 0) kemudian dibagi dengan pembilang tertentu, dan sisa pembagiannya menjadi checksum untuk data tersebut. Tergantung pemilihan bilangan pembagi, CRC dapat mendeteksi single-bit error, double bit error, error berjumlah ganjil, burst error dengan panjang maksimum r. Bilangan pembagi tersebut disebut sebagai generator (polinomial).
Berikut contoh deskripsi mengenai CRC.
Di sisi pengirim:
#    Data memiliki m bit
1001, m = 4
#    Generator memiliki panjang r bit
101, r = 3
#    Tambahkan r-1 bit 0 ke data:
100100
#    Bagi bilangan ini dengan generator, sisanya (11) adalah checksum
#    Tambahkan checksum ke data asal: 100111
Di sisi penerima:
#    Bagi data yang diterima dengan generator.
Jika sisanya bukan 0, berarti terjadi kesalahan.
#    Jika sisanya 0, berarti tidak terjadi kesalahan,
sesuai dengan kriteria generator yang digunakan.
Pada CRC ini, generator pembagi data ini sering disebut generator polinomial karena nilai pembagi ini dapat direpresentasikan dalam bentuk polinomial peubah banyak, tergantung pada jenis/nilai pembagi yang digunakan. Gambar berikut menjelaskan konsep tersebut.
e59bbee78987-3
Berikut adalah beberapa generator polinomial yang sering digunakan berdasarkan konvensi internasional.
LRC: X8 + 1
CRC-12: X12 + X11 + X3 + X2 + X + 1
CRC-16: X16 + X15 + X2 + 1
CRC CCITT V41: X16 + X12 + X5 + 1 (digunakan pada HDLC procedure.)
CRC-32 (Ethernet): = X32 + X26 + X23 + X22 + X16 + X12 + X11 + X10 + X8 + X7 + X5 + X4 + X2 + X + 1
CRC ARPA: X24 + X23+ X17 + X16 + X15 + X13 + X11 + X10 + X9 + X8 + X5 + X3 + 1
Jadi, secara umum dapat disimpulkan mengenai CRC ini adalah sebagai berikut
Kelebihan dari metode CRC:
  • Dapat digunakan dalam pengiriman data berkecepatan tinggi (16-32 bit).
  • Memiliki kehadalan sistem yang sangat tinggi, yaitu sekitar 99%.
  • Mampu mendeteksi bit error dalam jumlah banyak (burst error) dengan panjang yang kurang dari jumlah redundansi bitnya.
Kekurangan dari metode CRC:
  • Realisasi rangkaian/hardware dan software yang paling sulit dibanding parity check dan checksum.
  • Analisis dan perhitungan dalam perancangan yang cukup sulit.

AUTOMATIC REPEAT REQUEST

GAMBAR: Stop-and-Wait ARQ
Stop-and-Wait ARQ didasarkan atas teknik flow control stop-and-wait yang telah diuraikan pada posting sebelumnya. Stasiun source mentransmisikan sebuah frame tunggal dan kemudian harus menunggu balasan berupa acknowledgement (ACK). Tidak ada frame yang dikirim sampai jawaban dari stasiun tujuan tiba di stasiun sumber.
Ada dua jenis kesalahan yang dapat terjadi. Pertama, frame yang tiba di tujuan bisa mengalami kerusakan. Receiver mendeteksi kerusakan tersebut dengan menggunakan teknik pendeteksian kesalahan yang berkaitan dengan pembuangan frame lebih awal. Untuk menghitung kemungkinan ini, stasiun sumber dilengkapi dengan sebuah pencatat waktu. Setelah frame ditransmisikan/stasiun sumber menunggu balasan. Bila tidak ada balasan yang diterima sampai waktu yang ditentukan pencatat habis, maka akan dikirimkan frame yang sama. perhatikan bahwa metode ini mengharuskan transmitter mempertahankan tiruan frame yang ditransmisikan sampai balasan diterima oleh frame tersebut.
Jenis kesalahan yang kedua adalah kerusakan pada balasan. Amati situasi berikut. Stasiun A mengirim, sebuah frame. Frame ini diterima dengan baik oleh stasiun B, yang meresponnya dengan memberi balasan (ACK). ACK mengalami kerusakan saat singgah dan tidak diakui oleh A, yang karenanya keluar dari jalur waktu dan kembali mengirim frame yang sama. Duplikat frame ini tiba dan diterima oleh B. Dengan begitu B menerima dua duplikat frame yang sama seolah-olah keduanya terpisah. Untuk mengatasi problem ini, frame bergantian diberi label 0 atau 1, dan balasan positifnya dalam bentuk ACK 0 dan ACK 1. Sesuai dengan aturan jendela penggeseran, ACK 0 membalas penerimaan frame bernomor 1 dan menunjukkan bahwa receiver siap untuk frame bemomor 0.
Go-back-N ARQ
        Bentuk pengkontrolan kesalahan didasarkan atas teknik kontrol arus sliding window yang biasa disebut juga dengan Go-back-N ARQ. Dalam metode ini, stasiun bisa mengirim deretan frame yang diurutkan berdasarkan suatu modulo bilangan. Jumlah frame balasan yang ada ditentukan oleh ukuran jendela, menggunakan teknik kontrol arus jendela penggeseran. Bila tidak terjadi suatu. kesalahan, stasiun tujuan akan membalas (RR = Receive Ready, atau piggybacked Acknowledgement) frame yang datang seperti biasa. Bila stasiun tujuan mendeteksi suatu kesalahan pada sebuah frame, stasiunt tujuan mengirim balasan negatif (REJ = reject) untuk frame tersebut. Stasiun tujuan kemudian membuang frame itu dan semua frame-frame yang nantinya akan datang sampai frame yang mengalami kesalahan diterima dengan benar. Jadi, stasiun sumber, bila menerima REJ, harus melakukan retransniisi terhadap frame yang mengalami kesalahan tersebut plus semua frame pengganti yang ditransmisikan sementara.

GAMBAR: Protokol sliding window ARQ
       Gambar di posting ini adalah contoh aliran frame untuk go-back N ARQ. Karena adanya penundaan perambatan pada jalur, dari saat itu di mana balasan (baik positif maupun negatif) tiba kembali di stasiun pengiriman, sedikitnya telah dikirim satu frame tambahan di luar frame yang sedang dibalas. Dalam contoh ini, frame 4 mengalami kerusakan. Frame 5 dan 6 diterima tidak sesuai yang diperintahkan dan dibuang oleh B. Saat frame 5 tiba, B segera mengirim REJ 4. Saat REJ untuk frame 4 diterima, tidak hanya frame 4 saja namun juga frame 5 dan 6 yang harus ditransmisikan kembali. Perlu dicatat bahwa transmitter harus menjaga tiruan semua frame yang tidak dibalas. 

SELECTIVE REJECT ARQ
        Dengan selective-reject ARQ, frame-frame yang hanya diretransmisikan adalah frame-frame yang menerima balasan negatif, dalam hal ini disebut SREJ atau frame-frame yang waktunya sudah habis. Gambar di posting ini menyajikan ilustrasi skema ini. Bila frame 5 diterima rusak, B mengirim SREJ 4, yang berarti frame 4 tidak diterima. Selanjutnya, B berlanjut dengan menerima frame-frame yang datang dan menahan mereka sampai frame 4 yang valid diterima. Dalam. hal ini, B dapat meletakkan frame sesuai pada tempatnya agar bisa dikirim ke software pada lapisan yang lebih tinggi.
Selective Reject lebih efisien dibanding go-back-N, karena selective reject meminimalkan jumlah retransmisi. Dengan kata lain, receiver harus mempertahankan penyangga sebesar mungkin untuk menyimpan tempat bagi frame SREJ sampai frame yang rusak diretransmisi, serta harus memuat logika untuk diselipkan kembali frame tersebut pada urutan yang tepat. Selain itu, transrrdtter juga memerlukan logika yang lebih kompleks agar mampu mengirimkan frame diluar urutan. Karena komplikasi semacam itu, selective-reject ARQ tidak terlalu banyak dipergunakan dibanding go-back N ARQ.
Batas ukuran jendela lebih terbatas untuk selective-reject daripada go-back-N. Amati kasus ukuran nomor urut 3-bit untuk selective reject. Dengan ukuran jendela sebesar tujuh, Ialu amati skenario berikut:
  1. Stasiun A mengirim frame 0 melalui 6 menuju stasiun B
  2. Stasiun B menerima ketujuh frame dan membalasnya secara komulatif dengan RR7.
  3. karena adanya derau besar, RR7 menghilang.
  4. Waktu habis dan mentransmisikan frame 0 kembali.
  5. B memajukan jendela penerimanya agar menerima frame 7, 0, 1, 2, 3, 4, dan 5. Jadi diasumsikan bahwa frame 7 sudah hilang dan berarti pula ini merupakan frame 0 yang baru diterimanya.
(a) Go-Back-N ARQ (b) Selective reject ARQ
GAMBAR: Protokol sliding window ARQ
       Masalah pada skenario tersebut, adalah adanya tumpang tindih antara jendela pengiriman dan penerimaan. Untuk mengatasinya, ukuran jendela maksimum harus tidak boleh lebih dari separuh jarak nomor urutan. Pada skenario sebelumnya, seandainya keempat frame tak terbalas belum diselesaikan, maka tidak akan terjadi kekacauan. Umumnya, untuk bidang bernomor urut k-bit, yang meneyediakan jarak urutan nomor sebesar 2k, ukuran maksimum jendela dibatasi sampai 2k-1

Tidak ada komentar:

Posting Komentar