Jam Ne

Rabu, 08 Juni 2011

teknik komunikasi data digital

2.1 Transmisi Asinkron dan Sinkron
A. Transmisi Sinkron
Ada dua pendekatan yang umum digunakan untuk mencapai sinkronisasi yang diharapkan. Yang pertama yaitu transmisi asinkron, strategi dalam skema ini adalah menghindari masalah timing dengan cara tidak mengirimkan aliran bit yang panjang dan tidak putus-putus. Jadi, data ditransmisikan satu karakter sekaligus di mana setiap karakter panjangnya lima sampai delapan bit. Timing atau sinkronisasi harus dipertahankan hanya di dalam setiap karakter; receiver mempunyai kesempatan untuk melakukan sinkronisasi kembali pada permulaan setiap karakter baru.
Figur 1.1 mengilustrasikan teknik ini. Ketika tidak ada karakter yang ditransmisikan, jalur di antara transmiter dan receiver dinyatakan dalam status idle (luang). Definisi idle ekuivalen terhadap elemen-elemen pensinyalan untuk biner 1.
(a) Format karakter
(b) Aliran karakter asinkron 8-bit
(c) Dampak dari kesalahan timing
Permulaan karakter ditandai dengan start bit (bit permulaan) dengan nilai biner 0. Hal ini diikuti dengan 5 hingga 8 8 bit yang sebenarnyamerupakan karakter. Bit-bit karakter ditransmisikan, yang dimulai dengan bit yang secara signifikan merupakan yang paling sedikit. Sebagai contoh, untuk karakter IRA, bit-bit data biasanya diikuti oleh sebuah bit paritas, yang karenanya berada dalam posisi bit yang paling signifikan. Bit paritas disusun oleh transmitter semacam itu sehingga jumlah total bit-bit dalam karakter, termasuk bit paritas, dapat genap (paritas genap) atau ganjil (paritas ganjil), bergantung pada ketentuan yang digunakan. Bit ini digunakan oleh receiver untuk mendeteksi kesalahan. Elemen akhir adalah stop element (elemen penghentian), yang berupa biner 1. Panjang minimum untuk elemen akhir ditentukan, biasanya 1;1,5; atau 2 kali durasi bit biasa. Tidak tidak adanya nilai maksimum juga ditentukan. Oleh karena elemen akhir sama dengan status idle, transmitter tidak akan terus mentransmisikan elemen akhir sampai elemen akhir siap mengirimkan karakter berikutnya.
Persyaratan timing untuk skema ini sederhana saja, sebagai contoh karakter IRA biasanya dikirim sebagai unit 8-bit, termasuk bit paritas. Jika receiver 5% lebih lambat atau lebih cepat daripada transmitter, pemeriksaan delapan bit karakter akan dipindahkan per 45% dan masih diperiksa dengan benar.
Kesalahan seperti Figur1.1c terjadi karena dua hal. Pertama, sample bit terakhir tidak diterima dengan benar. Kedua, perhitungan bit kemungkinan di luar dari yang ditentukan. Jika bit 7 adalah 1 dan bit 8 adalah 0, bit 8 keliru karena dianggap sebagai bit awal. Kondisi ini disebut framing error (membingkai kesalahan), seperti karakter plus start bit dan elemen akhir yang kadang-kadang ditunjukkan sebagai frame. Membingkai kesalahan kadang-kadang terjadi bila beberapa noise (gangguan) menyebabkan munculnya start bit yang salah sepanjang status idle.
Trasmisi asinkron sangat sederhana dan murah, tetapi memerlukan overhead (tambahan) dua sampai tiga bit per karakter. Sebagai contoh, untuk karakter 8-bit dengan tanpa bit prioritas, menggunakan elemen akhir sepanjang 1-bit, dua dari setiap sepuluh bit membawa informasi, tetapi mereka hanya untuk sinkronisasi saja; sehingga tambahannya adalah 20%. Tentu saja, tambahan persentase dapat dikurangi dengan mengirim blok bit yang lebih besar di antara start bit dan elemen akhir. Bagaimanapun juga, seperti yang ditujukkan dalam Figur 1.1c, semakin besar blok bit, semakin besar tumpukan kesalahan timing. Untuk mencapai tingkat efisiensi yang lebih besar, digunakan transmisi sinkron.

B. Transmisi Sinkron
Dengan transmisi sinkron, suatu blok bit ditransmisikan dalam suatu aliran yang mantap tanpa kode start dan stop. Panjang blok tersebut dapat terdiri dari banyak bit. Untuk mencegah ketidaksesuaian waktu di antara transmiter dan receiver, detaknya bagaimanapun juga harus disinkronisasi. Salah satu kemungkinannya adalah dengan menyediakan sebuah jalur detak terpisah di antara transmiter dan receiver. Salah satu sisi (transmiter dan receiver) mengatur jalur secara teratur dengan satu pulsa pendek per waktu bit. Sisi lainnya menggunakan pulsa regular sebagai detak. Teknik ini bekerja dengan baik untuk jarak pendek, tetapi untuk jarak lebih panjang, pulsa detak akan menjadi sasaran gangguan-gangguan yang sama seperti yang terjadi pada sinyal data, ditambah lagi dengan adanya kesalahan timing. Alternative lainnya adalah dengan menyimpan informasi clocking (penguatan) pada sinyal data. Untuk sinyal-sinyal digital, hal ini dapat diperoleh dengan pengkodean Manchester atau Manchester diferensial. Untuk sinyal-sinyal analog, terdapat sejumlah teknik yang dapat digunakan, misalnya frekuensi pembawa itu sendiri juga dapat digunakan untuk menyinkronisasi receiver berdasarkan pada fase pembawa tersebut.
Dengan transmisi sinkron, terdapat level sinkronisasi yang diperlukan, yang memungkinkan receiver untuk menentukan awal dan akhir suatu blok data. Untuk mencapai hal ini, setiap blok diawali dengan pola bit preamble dan biasanya diakhiri dengan pola bit postamble.
Figur 1.2 Format Frame Sinkron
Figur di atas memperlihatkan, menurut istilah umum, bentuk frame khusus untuk transmisi sinkron. Umumnya, frame diawali dengan suatu preamble yang disebut flag, yang panjangnya 8-bit. Flag yang sama dipergunakan sebagai postamble. Receiver mencari pola flag untuk menandai permulaan frame. Hal ini diikuti oleh sejumlah field control (berisi informasi protocol data link control), kemudian field data (panjang variable untuk sebagian protocol), field control lagi, dan terakhir flag diulang lagi.
Untuk blok data yang cukup besar, transmisi sinkron jauh lebih efisien dari pada asinkron. Transmisi asinkron memerlukan tambahan 20% atau lebih. Kendali informasi, preamble, dan postamble dalam transmisi sinkron biasanya kurang dari 100 bit.

2.2 Tipe-Tipe Kesalahan
Pada system 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 sejumlah bit menengah diterima dalam kesalahan.
Lebih tepatnya, IEEE Std dan ITU-T Recommendation Q.9 mendefinisikan kedua ledakan kesalahan sebagai 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 ledakan dan bit pertama yang mengalami kesalahan pada ledakan berikutnya dipisahkan oleh x atau lebih bit yang benar.
Jadi, dalam ledakan kesalahan terdapat kluser bit dimana terjadi sejumlah kesalahan, meskipun tidak semua bit dalam kluser mengalami kesalahan. Kesalahan bit tunggal dapat terjadi dengan adanya noise putih, ketika rasio signal-to-signal yang sedikit memburuk secara acak cukup untuk membingungkan keputusan receiver mengenai bit tunggal. Ledakan kesalahan lebih umum terjadi dan lebih sulit untuk ditangani. Ledakan kesalahan dapat dapat disebabkan oleh noise impuls dan fading.

2.3 Deteksi Kesalahan
Terlepas dari desain sistem transmisi, pasti akan terjadi kesalahan yang menghasilkan perubahan satu atau lebih bit-bit dalam frame yang ditransmisikan. Selanjutnya, kita asumsikan data itu ditransmisikan sebagai satu atau lebih rangkaian deratan bit yang disebut frame. Kita mendefinisikan probabilitas yang berkaitan dengan kesalahan dalam frame yang ditransmisikan :
Pb : probabilitas bit yang diterima dalam kesalahan; juga dikenal sebagai laju
kesalahan bit (BER)
P1 : probabilitas frame tiba tanpa kesalahan bit
P2 : probabilitas bahwa, dengan algoritma deteksi kesalahan yang digunakan,
sebuah frame tiba dengan satu atau lebih kesalahan yang tidak terdeteksi
P3 : kemungkinan bahwa, dengan algoritma deteksi kesalahan yang digunakan,
sebuah frame tiba dengan satu atau lebih kesalahan yang tidak terdeteksi,
namun tidak ada kesalahan bit yang terdeteksi
Pertama, mempertimbangkan kasus di mana tidak dilakukan apa pun untuk mendeteksi kesalahan. Dengan demikian, probabilitas kesalahan yang terdeteksi (P3) adalah nol. Untuk menyatakan probabilitas yang tersisa, asumsikan probabilitas bit apa pun yyang mengalami kesalahan (Pb) adalah konstan yang tersisa dan indepanden untuk masing-masing bit.

Kemudian kita mendapatkan :
P1 = (1 - Pb)F
P2 = 1 - P1
di mana F adalah jumlah bit per frame. Dengan kata lain, probabilitas sebuah frame tiba tanpa kesalahan bit berkurang ketika probabilitas kesalahan bit tunggal bertambah, seperti yang kita harapkan. Juga, probabilitas sebuah frame tiba tanpa kesalahan bit berkurang dengan penambahan panjang frame, semakin panjang frame maka semakin banyak bit yang dimilikinya dan semakin tinggi probabilitas salah satunya mengalami kerusakan.
Figur 1.3 Proses Deteksi Kesalahan
Hal ini merupakan salah satu hasil yang mendorong penggunaan teknik-teknik deteksi kesalahan. Semua teknik ini beroperasi dengan prinsip-prinsip seperti pada Figur 1.3. Pada kerangka bit tertentu, bit tambahan yang merupakan sebuah kode deteksi kesalahan ditambahkan oleh transmiter. Kode ini dihitung menjadi sebuah fungsi dari bit lain yang ditransmisikan. Biasanya untuk sebuah blok data untuk menghasilkan sebuah kerangka sebesar k bit, algoritma deteksi kesalahan menghasilkan sebuah kode deteksi kesalahan sebesar n - k bit, dengan (n – k)

Sekarang didefinisikan,
T = frame n bit yang akan ditransmisikan
I = blok data k bit (pesan), k bit pertama dai T
F = FCS (n – k) bit, bit (n – k) terakhir dari I
P = pola dari n – k + 1 bit, ini adalah pembahgi yang telah ditentukan
Kita menginginkan T/P tanpa sisa, jadi jelas :
T = 2n – k D +
Jadi dengan mengalikan D dengan 2n – k , kita bergeser ke kiri n – k bit dan memperpanjang hasil tersebut dengan nol. Penambahan F menghasilkan rangkain D dan F , yang merupakan T. Kita menginginkan T dapat dibagi dengan P. Misalkan kita membagi 2n – k D dengan P.
Terdapat hasil bagi dan sisa, oleh karena itu pembagian ini adalah modulo 2, sisanya setidaknya selalu satu bit lebih kecil dari pembagi. Kita akan menggunakan sisa ini sebagai FCS. Maka dari itu di dapat :T = 2n – k D + R
Apakah R ini memenuhi kondisiT/P tanpa sisa? Untuk mengetahui bahwa ini tanpa sisa, lihatlah :
Substitusikan persamaan 1.1, maka akan kita peroleh :
Berapapun juga, angka biner apa pun yang ditambahkan kepada dirinya sendiri, maka modulo 2 akan menghasilkan nol. Dengan demikian :
Tidak terdapat sisa, dan oleh karena itu T dapat dibagi dengan tepat oleh P. Jadi, FCS mudah untuk dibuat hanya dengan membagi 2n – k D dengan P dan menggunakan sisa (n – k) bit sebagai FCS. Pada proses penerimaan, receiver akan membagi T dengan P dan akan menerima tanpa sisa jika tidak terdapat kesalahan.
Pola P dipilih satu bit lebih panjang daripada FCS yang diinginkan, dan pola bit yang tepat bergantung pada tipe kesalahan yang diharapkan. Pada minimum, baik berorde tinggi maupun rendah dari P harus sama dengan 1.
Terdapat metode singkat untuk menentukan kehadiran satu atau lebih kesalahan. Satu kesalahan menghasilkan pembalikan sebuah bit data. Hal ini ekuivalen dengan pengambilan XOR dari bit dan 1 (modulo 2 penambahan 1 ke bit) : 0 + 1 = 1 dan 1 + 1 = 0. Kemudian kesalahan pada frame n bit dapat direpresentasikan oleh field n bit dengan 1 dalam masing-masing posisi kesalahan. Frame Tr yang dihasilkan dapat dinyatakan sebagai :
Dimana :
T = frame yang ditransmisikan
E = pola kesalahan dengan 1 dalam posisi di mana terjadi kesalahan
Tr = frame yang diterima
Jika terdapat kesalahan ( E = 0), receiver akan gagal mendeteksi kesalahan jika dan hanya jika Tr dapat dibagi P yang sama dengan E dapat dibagi P. Secara tidak sengaja, hal ini terlihat tidak seperti kejadian.
Polinom
Proses kedua untuk melihat proses CNC adalah menyatakan semua nilai sebagai polinom dalam veriabel dummy X, dengan koefisien biner. Koefisien yang bersesuaian dengan bit dalam angka biner. Dengan demikian, untuk D = 110011, kita mendapatkan D(X) = X5 + X4 + X + 1, dan untuk P = 11001, kita mendapatkan D(X) = X4 + X3 + 1. Sekali lagi, operasi aritmatikanya adalah modulo 2. Sekarang proses CRC dapat dideskripsikan sebagai :
Bandingkan persamaan ini dengan persamaan (1.1) dan (1.2)
Kesalahan E(X) akan tidak terdeteksi hanya jika dapat dibagi dengan P(X). Hal itu dapat diperlihatkan [PETE61, RAMA88] bahwa semua kesalahan tersebut tidak dapat dibagi dengan P(X) yang dipilih dank arena itu dapat dideteksi.
• Semua kesalahan bit tunggal, jika P(X) mempunyai lebih dari satu bukan nol.
• Semua kesalahan bit ganda, selama P(X) mempunyai tipe polinom special, yang disebut polinom primitive, dengan eksponen maksimum L, dan panjang frame adalah kurang dari 2L -1.
• Beberapa kesalahan jumlahnya ganjil, selama P(X) berisi factor (X + 1).
• Beberapa ledakan kesalahan di mana panjang ledakan adalah kurang dari atau sama dengan n – k; yakni, kurang dari atau sama dengan panjang FCS.
• Fraksi ledakan kesalahan dengan panjang n – k + 1; fraksi sama dengan 1 – 2 –(n – k – 1)
• Fraksi ledakan kesalahan dengan panjangh lebih besar dari n – k + 1; fraksi sama dengan 1 – 2 –(n – k – 1)
• Fraksi ledakan kesalahan dengan panjang lebih besar dari n – k +1 ; fraksi sama dengan 1 – 2 – (n – k)
Pada penambahan, hal itu dapat diperlihatkan jika semua pola kesalahan dianggap hampir sama, kemudian untuk ledakan kesalahan dengan panjang r + 1, probabilitas dari kesalahan yang tidak terdeteksi (E(X) dapat dibagi dengan (P(X)) adalah ½ r – 1, dan untuk ledakan yang paling panjang, kemungkinannya adalah ½ r , dimana r adalah panjang FCS.
Empat versi P(X) yang digunakan secara luas :
CRC-12 = X12 + X11 + X3 + X2 + X + 1
CRC-16 = X16 + X15 + X2 + 1
CRC-CCITT = X16 + X12 + X5 + 1
CRC-32 = X32 + X26 + X23 + X22 + X16 + X12 + X11 + X10 + X8 + X7 + X5 + X4 + X2 + X + 1

Sistem CRC-12 digunakan untuk transmisi aliran karakter 6-bit dan menghasilkan FCS 12-bit. CRC-16 dan CRC-CCITT populer untuk karakter 8-bit, di Amerika Serikat dan Eropa, secara berturut-turut, dan keduanya menghasilkan 16-bit FCS. Hal ini akan terlihat cukup untuk sebagian besar aplikasi, meskipun CRC-32 dispesifikasikan sebagai opsi dalam beberapa transmisi sinkron titik ke titik dan digunakan dalam standar IEEE 802 LAN.
Logic Digital proses CRC dapat dipresentasikan dengan, dan benar-benar diterapkan sebagai, sebuah sirkuit pembagi yang terdiri dari gerbang XOR dan shift register (register geser). Shift register adalah sebuah string dari perangkat storage (penyimpanan) 1-bit. Setiap perangkat memiliki sebuah jalur output, yang mengindikasikan nilai yang tersimpan saat ini, dan sebuah jalur input. Dalam waktu yang terpisah, dikenal sebagai waktu detak (clock time), nilai dalam perangkat storage diganti dengan nilai yang diindikasikan oleh jalur input. Keseluruhan register di-clock secara simultan, menyebabkan pergeseran 1-bit di seluruh register. Sirkuit tersebut diimplementasikan sebagai berikut.
1. Register berisi n – k bit, sama dengan panjang FCS
2. Terdapat lebih dari n – k gerbang XOR
3. Ada atau tidak adanya gerbang berhubungan dengan ada dan tidaknya suku dalam pembagi polinom, P(X), tidak termasuk suku 1 dan X n – k.

Arsitektur sirkuit CRC adalah penjelasan paling baik dengan pertama-tama mempertimbangkan contoh yang diilustrasikan dalam Figur 6.5. Pada contoh ini, kita menggunakan :
Data D = 1010001101 D(X) = X9 + X7 + X3 + X2 + X + 1
Pembagi P = 110101 P(X) = X5 + X4 + X2 + 1
Figur 1.5a memperlihatkan implementasi shift register. Prosesnya dimulai dengan dihapuskannya shift register (semua nol). Pesan atau dividen, kemudian dimasukkan satu bit dalam satu waktu, dimulai dengan shift signifikan. Figur 1.5b merupakan table yang memperlihatkan nilai yang tersimpan saat ini dalam lima elemen shift register. Sebagai tambahan baris memperlihatkan nilai yang terlihat pada output dari tiga sirkuit XOR. Akhirnya, baris memperlihatkan nilai input bit berikutnya, yang tersedia untuk mengoperasikan langkah selanjutnya.
Perhatikan bahwa pengoperasian XOR mempengaruhi C4, C2, dan C0 pada shift berikutnya. Hal ini identik dengan proses panjang divisi biner yang telah diilustrasikan sebelumnya. Proses berlanjut melalui semua pesan bit. Untuk memproduksi output yang tepat, digunakan dua switch. Bit data input diberikan dengan kedua switch pada posisi A. Hasilnya, untuk 10 langkah pertama, bit input diberikan shift register dan juga digunakan sebagai bit output. Setelah data terakhir diproses, shift register akan berisi pengingat (FCS) (diperlihatkan berbayang). Secepat data terakhir menyajikan shift register, kedua switch disetel ke posisi B. Hal ini mempunyai dua efek : 1. Semua gerbang XOR menjadi mudah dilewati ; tidak ada bit yang berubah, dan 2. Seiring dengan berlanjutnya proses shifting, 5 bit CRC adalah outputnya.
Pada receiver, logic yang sama digunakan. Seiring dengan setiap bit M tiba, bit tersebut disisipi ke dalam shift register. Jika di sana tidak terdapat kesalahan, shift register akan berisi pola bit untuk R sebagai hasil dari M. Sekarang, bit dari R yang ditransmisikan mulai berdatangan, dan akibatnya semua nol keluar dari register sehingga pada penerima, register berisi semua 0.
(a) Implementasi Shift-register
(b) Contoh dengan input 1010001101 dimana input (I) adalah pesan yang dikirim

Figur 1.5 Sirkuit dengan Shift Register untuk Pembagian dengan Polinom X5 + X4 +X2 + 1
Figur 1.6 Arsitektur CRC Umum untuk Implementasi Pembagi (1 + A1X + A1X2 + … + An-1Xn-k-1 + Xn-k)
Figur 1.6 menunjukkan arsitektur umum dari implementasi shift register CRC untuk polinom P(X) = Ai X i , dimana A0 = An-k dan semua Ai lain yang sama dengan 0 atau 1.



2.4 Koreksi Kesalahan
Deteksi kesalahan merupakan teknik yang bermanfaat, ditemukan dalam protokol data link control, seperti HDLC, dan dalam protokol transport, seperti TCP. Bagaimanapun juga, koreksi kesalahan menggunakan kode deteksi kesalahan, membutuhkan blok data yang akan ditransmisikan ulang, seperti yang dijelaskan pada Bab 7. Untuk aplikasi nirkabel, pendekatan ini tidaklah mencukupi untuk dua alasan.
1. Laju kesalahan bit pada link nirkabel dapat menjadi sangat tinggi, yang akan menyebabkan sejumlah besar transmisi ulang.
2. Pada beberapa kasus, terutama link satelit, penundaan perambatan sangat lama dibandingkan dengan waktu transmisi sebuah frame tunggal. Hasilnya adalah sistem sangat tidak efisien. Seperti yang dibahas dalam Bab 7, pendekatan umum untuk transmisi ulang adalah untuk menstransmisi ulang frame yang mengalami kesalahan plus semua urutan frame-frame berikutnya. Dengan data link yang panjang, sebuah kesalahan dalam sebuah frame tunggal mengakibatkan transmisi ulang banyak frame.
Oleh karenanya, diharapkan receiver mampu mengoreksi kesalahan dalam sebuah transmisi yang akan datang berdasarkan bit dalam transmisi tersebut. Figur 1.7 menunjukkan bagaimana secara umum hal ini dilakukan. Pada akhir transmisi, setiap blok data k-bit dipetakan ke dalam sebuah blok n-bit (n > k) yang disebut codeword, menggunakan encoder FEC (forward error correction). Codeword tersebut kemudian ditransmisikan. Selama transmisi, sinyal tersebut marepakan sasaran gangguan-gangguan yang mungkin menghasilkan kesalahan bit dalam sinyal. Pada receiver, sinyal yang dating didemodulasi untuk menghasilkan sebuah string bit yang serupa dengan codeword asli, tetapi mungkin berisi kesalahan. Blok ini dikirim melalui sebuah decoder FEC, dengan satu dari tempat hasil yang mungkin terjadi :
1. Jika tidak terdapat kesalahan bit, input ke decoder FEC identik dengan codeword asli, dan decoder tersebut manghasilkan blok data asli sebagai output.
2. Untuk pola kesalahan tertentu, decoder mungkin saja mendeteksi dan mengoreksi kesalahan tersebut. Jadi, meskipun blok data yang datang berbeda dengan codeword yang ditransmisikan, decoder FEC dapat memetakan blok ini ke dalam blok data asli.
3. Untuk pola kesalahan tertentu, decoder dapat mendeteksi, tetapi tidak mengoreksi kesalahan tersebut. Pada kasus ini, decoder tersebut hanya melaporkan kesalahan yang tidak dapat diperbaiki.
4. Untuk pola kesalahan tertentu yang jarang ditemui, decoder tidak mendeteksi adanya kesalahan yang telah terjadi dan memetakan blok data n-bit yang akan datang ke dalam blok k-bit yang berbeda dengan blok k¬-bit yang asli.
Figure 1.7 Proses Koreksi Kesalahan

Bagaimana mungkin decoder mengkoreksi kesalahan bit? Pada dasarnya, koreksi kesalahan bekerja dengan menambahkan pengulangan pada pesan yang ditransmisikan. Pengulangan tersebut memungkinkan receiver tersebut menyimpulkan isi pesan asli, meskipun di hadapan tingkat laju kesalahan tertentu.

Prinsip prinsip Kode Blok
Sebagai permulaan, kita mendefinisikan sebuah istilah yang akan bermanfaat bagi kita. Jarak Hamming d (v1, v2) di antara dua buah deretan biner n-bit, v1 dan v2 adalah jumlah bit di mana v1 dan v2 tidak cocok. Sebagai contoh, jika :
v1 = 011011, v2 = 1100011
kemudian
d(v1,v2) = 3
Mari kita amati teknik kode blok untuk koreksi kesalahan. Misalkan kita ingin mentransmisikan blok-blok data dengan panjang k-bit. Daripada mentransmisikan masing-masing blok sebagai k-bit, kita memetakan setiap deretan k¬-bit ke dalam sebuah codeword n-bit unik.
Kode blok (n,k) mengkodekan bit data ke dalam codeword n-bit. Umumnya, setiap kodeword valid menghasilkan bit data k asli dan menambahkan check bit (n – k) ke mereka untuk membentuk codeword n-bit. Jadi desain sebuah kode blok ekuivalen dengan desain sebuah fungsi berbentuk vc = f(vd) adalah sebuah vector bit data k dan vc adalah sebuah vector bit codeword n.
Dengan sebuah kode blok (n, k) terdapat 2k codeword valid di luar jumlah total codeword 2n yang mungkin. Rasio dari bit pengulangan terhadap bit data, (n – k)/k,disebut pengulangan dari kode tersebut, dan rasio dari bit data terhadap total bit, k/n,disebut kecepatan kode. Kecepatan kode adalah sebuah ukuran dari seberapa banyak bandwidth tambahan yang dibutuhkan untuk membawa data pada kecepatan data yang sama seperti tanpa kode. Sebagai sontoh, kecepatan kode dari ½ membutuhkan kapasitas transmisi dua kali dari sebuah sistem tidak terkode untuk mempertahankan kecepatan yang sama. Contoh yang kita gunakan memiliki kecepatan kode 2/5 sehingga membutuhkan 2,5 kali dari kapasitas sistem tidak terkode. Sebagai contoh, jika input kecepatan data ke encoder adalah 1 Mbps, maka output dari encoder harus berada pada kecepatan 2,5Mbps.
Untuk sebuah kode yang terdiri dari codeword w1, w2, …, ws, dengan s = 2n , jarak minimum dmin dari kode tersebut didefinisikan sebagai :

Dapat ditunjukkan bahwa kondisi berikut ini dipertahankan. Untuk sebuah nilai bilangan bulat t yang ditentukan, jika sebuah kode memenuhi dmin (2t + 1), maka kode tersebut dapat mengkoreksi semua kesalahan bit hingga mencakup kesalahan bit t. Jika dmin 2t, maka semua kesalahan (t – 1) bit dapat diperbaiki dan kesalahan dari t bit dapat dideteksi, tetapi umumnya tidak dapat diperbaiki. Sebaliknya, kode apapun untuk semua kesalahan dengan besar t yang akan diperbaiki harus memenuhi dmin (2t + 10), dank ode apapun untuk semua kesalahan dengan besar (t – 1) diperbaiki dan semua kesalahan dari besar t dideteksi harus memenuhi dmin 2t.
Cara lain untuk menempatkan hubungan antara dmin dan t adalah dengan menyatakan jumlah maksimum dari kesalahan yang dijamin dapat diperbaiki per codeword memenuhi
Dimana [ x ] berarti bilangan bulat terbesar tidak melampaui x (contoh, [ 6,3 ] = 6). Lebih jauh lagi, jika kita hanya memperhatikan deteksi kesalahan dan tidak koreksi kesalahan, maka jumlah kesalahan t yang dapat dideteksi memenuhi
t = dmin – 1
Figur 1.8 Cara Pengkodean Meningkatkan Kinerja Sistem
Untuk melihat ini, perhatikan bahwa jika dmin kesalahan terjadi, hal ini dapat mengubah satu codeword valid ke yang lain. Jumlah yang lebih kecil dari dmin tidak dapat menghasilkan codeword valid lainnya.
Desain dari sebuah kode blok mencakup sejumlah pertimbangan, antara lain :
1. Untuk nilai n dan k yang ditentukan, kita menginginkan nilai dmin terbesar mungkin.
2. Kode tersebut seharusnya relative mudah untuk dikodekan dan didekokan, membutuhkan memori dan waktu pemrosesan minimal.
3. Kita menginginkan sejumlah bit tambahan (n – k) menjadi kecil, untuk mengurangi bandwidth.
4. Kita menginginkan sejumlah bit tambahan (n – k ), menjadi besar untuk bandwidth.


Jelas terlihat bahwa dua tujuan terakhir saling bertentangan, dan tawar-menawar harus dibuat.
Hal yang penting untuk mengamati Figur 1.8 berdasarkan [LEBO98]. Literatur pada kode koreksi kesalahan sering kali melibatkan grafik jenis ini untuk mendemontrasikan keefektifan dari berbagai skema pengkodean. Pada Figur 1.8 ambang batasnya adalah 5,4 dB. Di bawah ambang batas tersebut, check bit tambahan memberikan tambahan ke sistem tersebut yang mengurangi energy per bit data, hal ini menyebabkan kesalahan meningkat. Di atas ambang batas, daya koreksi kesalahan dari kode dikompensasikan lebih untuk Eb yang berkurang menghasilkan sebuah bati pengkodean.

2.5 Konfigurasi Kanal
Dua karekteristik yang membedakan berbagai konfigurasi data link adalah topologi dan apakah link tersebut half duplex atau full duplex
Topologi
Topologi data link menunjukkan susunan stasiun secara fisik pada medium transmisi. Jika hanya terdapat dua stasiun (contohnya terminal dan computer atau dua computer), linknya adalah titik ke titik. Umumnya link multititik digunakan dalam kasusu sebuah computer (stasiun primer) dan serangkaian terminal (stasiun kedua). Saat ini topologi multititik banyak ditemukan pada local area network.
Topologi multititik tradisional memungkinkan jika terminal hanya mentransmisi dalam waktu singkat. Figure 1.9 mengilustrasikan keuntungan konfigurasi multititik. Jika masing-masing terminal mempunyai link titik ke titik pada komputernya, maka computer harus mempunyai satu port I/O untuk masing0masing terminal. Juga terdapat link transmisi terpisah dari computer ke masing-masing terminal. Pada konfigurasi multititik, computer hanya membutuhkan port I/O tunggal dan jalur transmisi tunggal, yang menghemat biaya.



Figur 1.9 Konfigurasi Terminal/Komputer Tradisional

Full Duplex dan Half Duplex
Perpindahan data melalui jalur transmisi dapat diklasifikasikan sebagai full duplex atau half duplex. Dengan transmisi half-duplex, hanya satu dari dua stasiun pada link titik ke titik yang dapat melakukan transmisi saat itu juga. Mode ini juga disebut sebagai alternative dua cara (two-way alternate), fakta sugestifnya adalah dua stasiun harus menjadi alternative dalam transmisi. Hal ini dapat dibandingkan dengan jembatan satu-jalur, dua-cara (one-lane, two-way brigde). Bentuk transmisi ini selalu digunakan untuk interaksi terminal ke computer. Ketika pengguna memasuki dan mentransmisi data, computer dicegah untuk mengirimkan data ke terminal, yang akan muncul pada layar terminal dan menyebabkan kebingungan.
Untuk transmisi half-duplex, dua stasiun dapat secara simultan mengirim dan menerima data dari yang lainnya. Oleh karena itu, mode ini dikenal dengan dua-cara secara simultan (two-way simultaneous) dan mungkin dibandingkan dengan jembatan satu-jalur dua-cara. Untuk perpindahan data computer ke computer bentuk transmisi ini lebih efisien dari pada transmisi half-duplex.
Dengan pensinyalan digital, yang memerlukan transmisi terpandu, operasi full-duplex biasanya memerlukan dua jalur transmisi terpisah (contohnya, dua twisted pairs) , sedangkan half-duplex memerlukan satu saja. Untuk pensinyalan analog, hal itu bergantung pada frekuensi, contohnya jika stasuin transmisi dan receiver berada pada frekuensi yang sama, maka harus dioperasikan pada mode half-duplex untuk transmisi nirkabel, walaupun dimungkinkan untuk dioperasikan pada pada mode full-duplex untuk transmisi terpandu yang menggunakan dua jalur transmisi terpisah. Jika stasuin mentransmisi pada frekuensi dan menerima dari yang lainnya, maka hal itu dapat dioperasikan dalam mode full-duplex untuk transmisi nirkabel dan dalam mode full-duplex dengan jalur tunggal untuk satu transmisi terpandu.
Sangat mungkin untuk mentransmisikan sinyal digital secara simultan ke dua arah pada jalur transmisi tunggal dengan menggunakan teknim yang disebut echo cancellation (pembatalan echo). Hal ini merupakan teknik pengolahan sinyal yang penjelasannya malampaui cakupan pada pembahasan ini.

2.6 Bacaan yang Disarankan
Pembahasan secara klasik mengenai kode deteksi kesalahan dan CRC adalah [PETE61], [RAMA88] merupakan tutorial yang baik untuk CRC.
[STAL05] mendiskusikan penggunaan kode koreksi kesalahan secara luas, [ADAM91] memberikan pembahasanyang komperenshif mengenai kode koreksi kesalahan. [SKLA01] berisi penulisan yang baik dan jelas dari subjek. Dua survey yang bermanfaat untuk artikel adalah [BERL87] dan [BHAR83]. Pembahasan secara teoritis dan matematis dari kode koreksi kesalahan dapat bibaca di [ASH90], dan [FREE98] memberikan cakupan yang baik mengenai standar antarmuka lapisan fisik.





2.7 Istilah Penting
Bit paritas
Cek paritas
Codeword
Circuit interchange
Cyclic redundancy check (CRC)
Deteksi kesalahan
EIA-232
Forward error correction (FEC)
Frame
Frame check sequence (FCS)
Full duplex
Half duplex
Integrated service digital network (ISDN)
Jarak hamming
Kode deteksi kesalahan
Kode hamming
Koreksi kesalahan
Kode koreksi kesalahan(error correcting code – ECC)
Kode siklik
Titik ke titik
Transmisi asinkron
Transmisi sinkron
 
PENUTUP

3.1 Kesimpulan
Ada dua pendekatan yang umum digunakan untuk mencapai sinkronisasi yang diharapkan. Yaitu transmisi asinkron dan transmisi asinkron. Pada system 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. Satu dari yang paling umum dan yang paling kuat dari kode-kode deteksi kesalahan adalah Cyclic Redudancy Check (CRC) atau cek redundansi siklik, Untuk memperjelas hal ini, ada tiga cara yang dapat digunakan, yaitu Modulo 2 aritmatika, Polinom, Logic digital. Deteksi kesalahan merupakan teknik yang bermanfaat, ditemukan dalam protokol data link control, seperti HDLC, dan dalam protokol transport, seperti TCP.

Tidak ada komentar:

Posting Komentar