0% menganggap dokumen ini bermanfaat (0 suara)
6 tayangan85 halaman

Error Correcting Coding

Dokumen ini membahas tentang coding saluran, khususnya teknik Forward Error Correction (FEC) untuk meningkatkan keandalan transmisi data melalui kanal komunikasi yang terpengaruh gangguan. Penjelasan mencakup klasifikasi kode, seperti Block Code dan Convolutional Code, serta konsep dasar dari block code, termasuk struktur dan fungsi matriks generator dan parity-check. Tujuan utama dari error control coding adalah untuk meminimalkan kesalahan dalam data yang ditransmisikan dengan menambahkan redundansi yang sesuai.
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
6 tayangan85 halaman

Error Correcting Coding

Dokumen ini membahas tentang coding saluran, khususnya teknik Forward Error Correction (FEC) untuk meningkatkan keandalan transmisi data melalui kanal komunikasi yang terpengaruh gangguan. Penjelasan mencakup klasifikasi kode, seperti Block Code dan Convolutional Code, serta konsep dasar dari block code, termasuk struktur dan fungsi matriks generator dan parity-check. Tujuan utama dari error control coding adalah untuk meminimalkan kesalahan dalam data yang ditransmisikan dengan menambahkan redundansi yang sesuai.
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

Channel Coding

Pendahuluan
• Pada bab-bab sebelumnya, kita telah
mempelajari hal penting dalam
pentransmisian data melalui kanal komunikasi
dengan berbagai gangguan:
• 1. gangguan kanal berupa AWGN
• 2. gangguan berupa ISI
• 3. gangguan berupa multipath fading
Pendahuluan
• Meskipun ketiga skenario ini secara alami
sangat berbeda satu sama lain, tapi memiliki
kelemahan praktis yang sama: keandalan.
• Di sinilah diperlukannya error control coding,
topik yang di bahas pada bab ini, dan
merupakan hal yang sangat penting.
Pendahuluan
• Mengingat realitas fisik tersebut, tugas yang
dihadapi perancang sistem komunikasi digital
adalah menyediakan fasilitas yang hemat
biaya untuk mengirimkan informasi dari satu
titik ke titik lainnya dengan tingkat keandalan
dan kualitas yang dapat diterima.
Pendahuluan
• Dari perspektif teori komunikasi, parameter
sistem utama yang tersedia untuk mencapai
persyaratan praktis ini dibatasi pada dua hal:
• Daya sinyal yang ditransmisikan;
• Bandwidth kanal
• Kedua parameter ini, bersama dengan rapat
spektral daya derau di penerima,menentukan,
Eb/N0.
Pendahuluan
• BER sangat bergantung pada besaran ini
(Eb/N0).
• Untuk memperoleh BER yang kecil, diperlukan
Eb yang besar, yang identik dengan jarak
Euclidean yang besar.
• Tapi tidak mungkin kita hanya memperbesar
Eb untuk memperoleh BER yang kecil, karena
berarti kita akan menambah daya pancar.
Pendahuluan
• Cara lain untuk memperoleh BER yang
diinginkan adalah dengan menggunakan Error
control coding.
FEC: Forward Error Correction
• Error control untuk integritas data dapat dilakukan
melalui forward error correction
• Gambar 1a menunjukkan model sistem komunikasi
digital yang menggunakan pendekatan teknologi
tersebut (FEC).
• Sumber diskrit menghasilkan informasi dalam bentuk
simbol biner.
• Channel encoder di pemancar menerima bit message
dan menambahkan redundansi sesuai dengan aturan
yang ditentukan, sehingga menghasilkan aliran data
yang dikodekan pada bit rate yang lebih tinggi.
FEC: Forward Error Correction
• Channel decoder di penerima memanfaatkan
redundansi untuk menentukan bit message
mana yang merupakan aliran data asli, karena
aliran data yang diterima adalah data yang
sudah bercampur derau.
• Tujuan gabungan dari channel encoder dan
decoder adalah untuk meminimalkan efek
derau kanal.
FEC: Forward Error Correction
• Artinya, jumlah kesalahan antara kanal
masukan encoder(berasal dari sumber) dan
keluaran dekoder kanal (dikirim ke pengguna)
diminimalkan.
FEC: Forward Error Correction

• Gambar 1: Model Siskom digital


FEC: Forward Error Correction
• Untuk skema modulasi yang tetap, penambahan
redundansi pada message berkode menghasilkan
peningkatan bandwidth transmisi.
• Lebih lanjut, penggunaan error-control coding
menambah kompleksitas pada sistem.
• Dengan demikian, trade-off desain dalam
penggunaan error control coding untuk mencapai
kinerja kesalahan yang dapat diterima mencakup
pertimbangan bandwidth dan kompleksitas
sistem.
FEC: Forward Error Correction
• Ada banyak metode error correcting coding
yang dapat kita gunakan.
• Secara historis, kode-kode ini diklasifikasikan
ke dalam Block Code dan Convolutional Code.
• Ciri yang membedakan klasifikasi khusus ini
adalah ada atau tidaknya memori di encoder
untuk kedua kode tersebut.
Block Code
• Pada kasus block codes: data sumber
disegmentasi ke dalam blok-blok yang terdiri dari
k bits. Biasa disebut information bits atau
message bits. (lihat Gambar 2)
• Tiap blok dapat merepresentasikan salah satu
dari 2k message yang berbeda.
• Encoder (channel encoder) mentransformasi tiap
k-bit blok data ke blok yang lebih besar, n bits. Ini
disebut sebagai code bits atau channel symbols.
Block Code

• Gambar 2 Block code Encoding dan Decoding


Block Code
• Bit yang ditambahkan oleh encoder sebanyak
(n – k ) disebut redundant bits, parity bits,
atau check bits.
• Dalam perancangan block code yang tepat, n –
k simbol pengecek (check symbol)
menyediakan informasi yang cukup bagi
decoder untuk mendeteksi (atau mengoreksi)
satu kesalahan atau lebih, yang terjadi akibat
gangguan derau di kanal.
Block Code
• Kode ini dituliskan sebagai kode (n,k).
• Rasio redundant bits terhadap data bits (n–
k)/k, disebut redundancy dari kode tersebut.
• Parameter yang penting dari sebuah block
code adalah code rate yang didefinisikan
sebagai
𝑘
𝑟= (1)
𝑛
Block Code
• Code rate ini dapat dipandang sebagai bagian
code bits yang membawa informasi. Misalnya
code rate ½ berarti tiap code bits membawa ½
bit informasi.
• Tiap penulis buku membuat istilah yang
berbeda untuk menggambarkan keluaran
encoder: code bits, channel bits, code symbols,
channel symbols, parity bits, parity symbols.
Block Code
• Tujuan perancangan kode tersebut adalah
untuk memperoleh kemampuan error-
correcting dengan laju yang paling tinggi
yang mungkin.
• Kode yang dirancang dapat mengoreksi
kesalahan atau hanya mendeteksi saja,
tergantung pada jumlah redundansi yang
terkandung dalam check bits (symbol).
• Kode yang dapat mengoreksi kesalahan
disebut error-correcting code.
Linear Block Code
• Sebelum membahas lebih lanjut tentang block
code, perlu kita paparkan tentang aritmatika.
• Code yang akan dibahas adalah kode biner
yang merupakan aliran bit-bit 0 dan 1.
• Pada kode ini encoding dan decoding
menggunakan operasi aritmatika modulo-2
untuk penjumlahan dan perkalian.
Linear Block Code
0+0=0
1+0=1
0+1=1
1+1=0
Pengurangan sama dengan penjumlahan
Linear Block Code
• Perkalian
0×0=0
1×0=0
0×1=0
1×1=1
• Pembagian
1÷1=1
0÷1=0
Linear Block Code
• Definisi: Block code bersifat linier jika jumlah
modulo-2 dari dua codeword merupakan
codeword juga.
• Hal ini mengharuskan jika ci dan cj adalah
codeword, maka ci + cj harus juga merupakan
codeword.
Linear Block Code
• Contoh 1: sebuah kode (5,2) didefinisikan oleh

𝒄 = {00000, 10010,11101,01111}

• dimana pemetaan bit informasi ke codeword


adalah sebagai berikut:
Linear Block Code
00 → 00000

01 → 11101

10 → 10010

11 → 01111
Linear Block Code
• Untuk mengetahui linieritas code tersebut kita
coba jumlahkan dua buah kode, misalnya
11101 + 10010 = 01111
• Yang adalah kode ke-4. Atau kita jumlahkan

01111 + 11101 = 10010


• Merupakan kode ke-3
Linear Block Code
• Perhatikan sebuah kode blok linier (n,k), yang
berisi k bit informasi dari n bit kode akan
dikirim.
• (n – k) bit sisanya menentukan struktur
matematis kode.
• Oleh karena itu, bit (n – k) ini adalah disebut
sebagai parity-check bits. Kode blok dimana
posisi bit message dikirimkan dalam bentuk
yang tidak diubah disebut kode sistematik.
Linear Block Code
• Untuk aplikasi yang memerlukan deteksi
kesalahan dan koreksi kesalahan, penggunaan
kode blok yang sistematis menyederhanakan
implementasi dekoder.
• Misalkan m1, m2, ..., mk merupakan blok yang
terdiri dari k bit message sembarang.
• Jadi, kita punya 2k blok message yang berbeda.
Linear Block Code
• Biarkan urutan bit pesan ini diterapkan pada
encoder blok linier, menghasilkan codeword n-bit
yang elemennya dilambangkan dengan c1, c2, ...,
cn.
• Misalkan b1, b2, ..., bn – k menunjukkan (n – k) bit
parity-check codeword.
• Untuk kode yang memiliki struktur yang
sistematis, suatu codeword dibagi menjadi dua
bagian, salah satunya ditempati oleh bit message
dan yang lainnya oleh parity-check bit .
Linear Block Code
• Jelas, kita memiliki pilihan untuk mengirimkan
bit message dari codeword sebelum parity-
check bit, atau sebaliknya.
• Opsi pertama diilustrasikan pada Gambar 3,
dan penggunaannya diasumsikan sebagai
berikut.
Linear Block Code

Gambar 3 Struktur kode sistematis


Linear Block Code
• Berdasarkan Gambar 3, (n – k) bit paling kiri dari
sebuah codeword identik dengan parity-check bit
dan k bit paling kanan adalah codeword yang
identik dengan bit message.
• Oleh karena itu, kita dapat menulis
• 𝑐𝑖 =
𝑏𝑖 𝑖 = 1, 2, … , 𝑛 − 𝑘
ቊ (2)
𝑚𝑖+𝑘−𝑛 𝑖 = 𝑛 − 𝑘 + 1, 𝑛 − 𝑘 + 2, … , 𝑛
Linear Block Code
• Bit-bit parity-check (n-k) merupakan jumlah linier
dari k bit-bit message, dengan hubungan

𝑏𝑖 = 𝑝1𝑖 𝑚1 + 𝑝2𝑖 𝑚2 + ⋯ + 𝑝𝑘𝑖 𝑚𝑘 3

• Dengan koefisien-koefisien

1 jika 𝑏𝑖 bergantung pada 𝑚𝑗


𝑝𝑖𝑗 = ቊ (4)
0 jika tidak
Linear Block Code
• Koefisien-koefisien pij dipilih sedemikian rupa
sehingga baris-baris matriks generatornya
independen secara linier dan persamaan
parity-checknya unik.
• Persamaan (2) dan (3) menentukan struktur
matematika dari linear block code.
• Sistem persamaan ini dapat ditulis ulang
dalam bentuk kompak menggunakan notasi
matriks.
Linear Block Code
• Kita definisikan vektor message m berupa
matriks baris 1k, vektor parity-check b 1(n –
k), dan vektor kode c 1n sebagai berikut:
𝒎 = [𝑚1 , 𝑚2 , … , 𝑚𝑘 ] (5)
𝒃 = [𝑏1 , 𝑏2 , … , 𝑏𝑛−𝑘 ] (6)
𝒄 = [𝑐1 , 𝑐2 , … , 𝑐𝑛 ] (7)
• Catatan: semua vektor tersebut berupa
matriks baris
Linear Block Code
• Kita dapat menulis ulang himpunan
persamaan simultan yang mendefinisikan
paritay-check-bit dalam bentuk matriks yang
kompak:
𝒃 = 𝒎𝑷 (8)
• P pada (8) adalah matriks koefisien k(n – k)
yang didefinisikan oleh
Linear Block Code
𝑝11 𝑝12 … 𝑝1,𝑛−𝑘
𝑝21 𝑝22 … 𝑝2,𝑛−𝑘
𝑷= (9)
⋮ ⋮ ⋱ ⋮
𝑝𝑘,1 𝑝𝑘,2 … 𝑝𝑘,𝑛−𝑘
• Dengan elemen pij adalah 0 atau 1.
• Dari (5)-(7), kita dapat menuliskan c dalam
bentuk
𝒄= 𝒃⋮𝒎 (10)
Linear Block Code
• Dan, dengan mengganti b = mP, maka faktor
yang sama, yaitu m, dapat kita keluarkan,
sehingga bentuk matriksnya menjadi

𝒄 = 𝒎 𝑷 ⋮ 𝑰𝑘 (11)

• Dengan Ik adalah matriks identitas


Linear Block Code
1 0 … 0
𝑰𝑘 = 0 1 … 0 (12)
⋮ ⋮ ⋱ ⋮
0 0 … 1

• Kemudian kita dapat mendefinisikan sebuah


matriks kn yang disebut Matriks Generator

𝑮 = 𝑷 ⋮ 𝑰𝑘 (13)
Linear Block Code
• Dengan demikian codeword dapat kita
tuliskan menjadi
𝒄 = 𝒎𝑮 (14)
• Contoh 2: tentukan matriks generator untuk
contoh soal 1.
• Dengan melihat persamaan (13), maka kita
harus punya matriks generator dengan matriks
identitas pada 2 kolom paling kanan.
Linear Block Code
• Dengan demikian, matriks generator ini
berhubungan dengan message (10) dan (01).
• Jadi matriks generatornya adalah

10010
𝐺=
11101
• Untuk urutan bit-bit message (m1, m2), maka
codeword yang dihasilkan adalah
Linear Block Code
𝒄 = 𝒎𝑮
10010
𝑐1 , 𝑐2 , 𝑐3 , 𝑐4 , 𝑐5 = (𝑚1 , 𝑚2 )
11101
𝑐1 = 𝑚1 + 𝑚2
𝑐2 = 𝑚2
𝑐3 = 𝑚2
𝑐4 = 𝑚1
𝑐5 = 𝑚2
Linear Block Code
• Matriks generator digunakan untuk
menghasilkan kode untuk ditransmisikan
melalui kanal komunikasi.
• Di penerima harus ada pasangan generator
matriks yang memetakan kembali kode
message.
Linear Block Code
• Matriks di penerima ini disebut matriks parity-
check.
• Fungsi matriks parity-check, selain
mengembalikan bit-bit message juga untuk
mendeteksi dan mengoreksi kesalahan.
• Banyaknya error yang dapat dideteksi dan
dikoreksi tergantung pada seberapa besar
parity check bitnya.
Linear Block Code
• Matriks parity check harus memenuhi syarat
sebagai berikut:

𝑯𝑮𝑇 = 𝟎 (15)
• H adalah matriks parity-check, GT adalah
transfose dari matriks generator G, dan 0
adalah matriks nol.
Linear Block Code
• Supaya (15) terpenuhi, maka haruslah

𝑯 = 𝑰𝑛−𝑘 ⋮ 𝑷𝑇 (16)
• Dengan PT adalah matriks (n-k)k dan
merupakan transpose dari matriks koefisien P,
dan In-k adalah matriks identitas (n-k)(n-k).
• Berlaku juga GHT = 0.
Linear Block Code
• Jika persamaan (14) kita kalikan di
dibelakangnya dengan HT, maka akan
diperoleh:

𝒄𝑯𝑇 = 𝒎𝑮𝑯𝑇 = 𝟎 (17)


• Persamaan generator (14) dan persamaan
detektor parity-check (17) adalah persamaan
dasar untuk deskripsi dan pengoperasian kode
blok linier.
Linear Block Code
• Kedua persamaan ini digambarkan dalam bentuk
diagram blok masing-masing pada Gambar 3a
dan b.

Gambar 3 blok diagram untuk matriks generator


dan parity-check
Linear Block Code
• Contoh 3: cari matriks parity-check pada contoh
soal 1.
• Perhatikan persamaan (16). Untuk contoh ini,
10010
𝑮=
11101
10
𝑰=
01
11
100
𝑷= → 𝑷𝑇 = 01
111
01
Linear Block Code
• Matriks parity-check:
10011
𝑯 = 𝑰3 ⋮ 𝑷𝑇 = 01001
00101
• Persamaan parity-checknya adalah
𝒄𝑯𝑇 = 𝟎
100
010
𝑐1 , 𝑐2 , 𝑐3 , 𝑐4 , 𝑐5 001 = 𝟎
100
111
Linear Block Code
𝑐1 + 𝑐4 + 𝑐5 = 0
𝑐2 + 𝑐5 = 0
𝑐3 + 𝑐5 = 0
Jarak dan Bobot Hamming
• Jarak Hamming antara dua codeword ci dan cj
adalah jumlah komponen yang membedakan
kedua codeword tersebut, yaitu jumlah
komponen dimana satu codeword adalah 1
dan yang lainnya adalah 0.
• Jarak Hamming antara dua codeword
dilambangkan dengan d(ci , cj ).
Jarak dan Bobot Hamming
• Bobot Hamming, atau disebut bobot saja, dari
sebuah codeword ci ,adalah banyaknya
bilangan 1 pada codeword dan dilambangkan
dengan w(ci).
• Jarak minimum suatu kode adalah jarak
Hamming minimum antara dua codeword
yang berbeda, yaitu,
𝑑𝑚𝑖𝑛 = min
𝑐 ,𝑐
𝑑(𝑐𝑖 , 𝑐𝑗 ) (22)
𝑖 𝑗
𝑖≠𝑗
Jarak dan Bobot Hamming
• Bobot minimum suatu kode adalah bobot
minimum dari codeword kecuali codeword
yang semuanya nol:
𝑤𝑚𝑖𝑛 = min 𝑤(𝑐𝑖 ) (23)
𝑐𝑖 ≠0

• Pada kode linier 𝑑𝑚𝑖𝑛 = 𝑤𝑚𝑖𝑛


Kode Hamming
• Kode Hamming. Kode Hamming adalah kelas
linear block code dengan n = 2m − 1 dan k = 2m
− m − 1 untuk m =n-k ≥ 3, dan, berapapun
nilai m, mempunyai jarak minimal dmin = 3.
• Artinya untuk m = 3, kita mempunyai Kode
Hamming (7, 4), dan untuk m = 4, kita
mempunyai kode Hamming (15, 11).
Kode Hamming
• Seperti yang akan kita lihat nanti,dengan jarak
minimum ini, kode-kode ini mampu
memberikan kemampuan koreksi kesalahan
untuk kesalahan tunggal.
• Matriks parity-check untuk kode-kode ini
memiliki struktur yang sangat sederhana.
• Ini terdiri dari semua urutan biner dengan
panjang m kecuali barisan yang semuanya nol.
Kode Hamming
• Laju kode (code rate) ini diberikan oleh
2𝑚 − 𝑚 − 1
𝑟= 𝑚
(24)
2 −1
• yang mendekati 1 untuk nilai m yang besar.
• Oleh karena itu, kode Hamming adalah kode laju
tinggi dengan jarak minimum yang relatif kecil
(dmin = 3).
• Nanti kita lihat jarak minimum suatu kode
berkaitan erat dengan kemampuan koreksi
kesalahannya.
Kode Hamming
• Oleh karena itu, kode Hamming memiliki
kemampuan koreksi kesalahan yang terbatas.

• Contoh 4: cari matriks generator dan matriks


parity-check untuk kode Hamming (7,4) dalam
bentuk sistematik
Kode Hamming
• Matriks generator dalam bentuk sistematik:
110 1000
𝑮 = [𝑷ห𝑰𝑘 ] = 011 0100
101 0010
111 0001

100 1011
𝑯 = 𝑰𝑛−𝑘 ห𝑷𝑇 = 010 ቮ1101
001 0111
Kode Hamming
• Jika urutan message adalah m = (m1, m2, m3,
m4), maka codeword keluarannya adalah

110 1000
𝒄 = [𝑚1 , 𝑚2 , 𝑚3 , 𝑚4 ] 011 0100
101 0010
111 0001
𝑐1 = 𝑚1 + 𝑚3 + 𝑚4
𝑐2 = 𝑚1 + 𝑚2 + 𝑚4
Kode Hamming
𝑐3 = 𝑚2 + 𝑚3 + 𝑚4
𝑐4 = 𝑚1
𝑐5 = 𝑚2
𝑐6 = 𝑚3
𝑐7 = 𝑚4
• Persamaan parity-check diperoleh dari cHT = 0
dan diberikan oleh
Kode Hamming
100
010
001
𝒄𝑯𝑇 = 𝑐1 , 𝑐2 , 𝑐3 , 𝑐4 , 𝑐5 , 𝑐6 , 𝑐7 110
011
101
111
𝑐1 + 𝑐4 + 𝑐6 + 𝑐7 = 0
𝑐2 + 𝑐4 + 𝑐5 + 𝑐7 = 0
𝑐3 + 𝑐5 + 𝑐6 + 𝑐7 = 0
Syndrome
• Matriks generator G digunakan dalam operasi
pengkodean di pemancar.
• Di sisi lain, matriks parity-check H digunakan
dalam operasi decoding pada penerima.
• Dalam decoding, misalkan r menunjukkan
vektor yang diterima 1-kali-n yang dihasilkan
dari mengirimkan kode vektor c melalui kanal
biner yang berderau.
Syndrome
• Kita dapat menyatakan vektor r sebagai
jumlah dari vektor kode asli c dan vektor baru
e, seperti yang ditunjukkan oleh

𝒓=𝒄+𝒆 (18)
• Vektor e disebut vektor error atau pola error.
• Elemen ke-i dari e sama dengan 0 jika elemen
dari r tersebut sama dengan elemen c.
Syndrome
• Sebaliknya, unsur ke-i dari e sama dengan 1 jika
elemen dari r tersebut berbeda dengan elemen c,
dalam hal ini sebuah error dikatakan terjadi di
lokasi ke-i.
• Artinya, untuk i = 1, 2, ..., n, kita punya
• 𝑒𝑖 =
1 jika kesalahan terjadi pada lokasi ke − i

0 jika tidak terjadi kesalahan
• (19)
Syndrome
• Tugas penerima adalah menguraikan kode vektor
c dari vektor yang diterima r.
• Algoritma yang biasa digunakan untuk melakukan
operasi decoding ini dimulai dengan komputasi
dari vektor 1(n – k) yang disebut vektor error-
syndrome atau syndrome saja.
• Pentingnya syndrome ini terletak pada kenyataan
bahwa hal itu hanya bergantung pada pola error.
Syndrome
• Diberikan vektor r 1n, syndrome
didefinisikan sebagai

𝒔 = 𝒓𝑯𝑇 (20)
• sifat-sifat Syndrome
• Syndrome hanya bergantung pada pola error,
bukan pada codeword yang dikirimkan.
Syndrome
• Bukti: kita gunakan (18) pada (20)
𝒔 = 𝒄 + 𝒆 𝑯𝑇 = 𝒄𝑯𝑇 + 𝒆𝑯𝑇
= 𝒆𝑯𝑇 (21)
• Karena, menurut (17) cHT = 0.
• Dengan demikian, matriks parity-check H dari
suatu kode memungkinkan kita menghitung
syndrome s, yang mana hanya bergantung
pada pola kesalahan e.
Syndrome
• Untuk memperluas Sifat 1, misalkan pola error
e berisi sepasang error pada lokasi i dan j
disebabkan oleh derau kanal aditif, seperti
yang ditunjukkan oleh

𝑒 = [0 … 01𝑖 0 … 1𝑗 0 … 0]
• Kemudian, substitusikan pola error ini ke (21)
menghasilkan syndrome
Syndrome
𝒔 = 𝒉𝑖 + 𝒉𝑗
• dimana hi dan hj berturut-turut adalah baris
ke-i dan ke-j dari matriks HT.
• Dengan kata lain, Properti 1: Untuk kode blok
linier, syndrome s sama dengan jumlah baris-
baris transpose matriks parity-check HT di
mana kesalahan terjadi karena derau kanal.
Syndrome
• Contoh:
Sebuah block code linier (6,3) didefinisikan
oleh matriks generator

100110
𝐺 = 010011
001101
Syndrome
a) Tentukan apakah merupakan Hamming code? Kemudian
tentukan matriks parity checknya, H dalam bentuk
sistematik.
b) Buat tabel encoding untuk block code linier tersebut.
c) Hitung jarak minimum, error yang dapat dideteksi, dan
error yang dapat dikoreksi oleh kode tersebut.
d) Gambar diagram hardware untuk encoder tersebut.
e) Tentukan tabel decoding untuk kode tersebut
f) Gambarkan hardware diagram generator sindrom untuk
kode tersebut
g) Jika kode diterima kode r = [1 1 1 0 0 1], buktikan bahwa
kode yang dikirim adalah c = [1 1 1 0 0 0].
Syndrome
Syarat Hamming code:
𝑚 =𝑛−𝑘 =6−3=3
𝑘 = 2𝑚 − 𝑚 − 1 = 4 ≠ 3
𝑛 = 2𝑚 − 1 = 7 ≠ 6
Karenanya kode tersebut bukan Hamming code.
• Matriks parity check diperoleh dari generator
matrik
Syndrome
1 0 0 1 1 0
𝑮 = 0 1 0 0 1 1 = 𝑰3 |𝑷
0 0 1 1 0 1
• Sedangkan matriks parity check H adalah

𝑯 = [𝑷𝑡 |𝑰𝑛−𝑘 ]

• Dari matriks generator tersebut kita tahu bahwa
1 1 0 1 0 1
𝑷 = 0 1 1 ⇒ 𝑷𝑡 = 1 1 0
1 0 1 0 1 1
Syndrome
• Dengan demikian, matriks parity checknya adalah

1 0 1 1 0 0
𝑯= 1 1 0 0 1 0
0 1 1 0 0 1

b. Untuk mencari kode yang mungkin dikirimkan,


kita gunakan rumus
𝒄 = 𝒎𝑮
Syndrome
𝑐1 , 𝑐2 , 𝑐3 , 𝑐4 , 𝑐5 , 𝑐6
1 0 0 1 1 0
= (𝑚1 , 𝑚2 , 𝑚3 ) 0 1 0 0 1 1
0 0 1 1 0 1

𝑐1 = 𝑚1 , 𝑐2 = 𝑚2 , 𝑐3 = 𝑚3

𝑐4 = 𝑚1 + 𝑚3 , 𝑐5 = 𝑚1 + 𝑚2
𝑐6 = 𝑚2 + 𝑚3
Syndrome
• Tabel encoding
1 0 0 1 1 0
• 𝑮= 0 1 0 0 1 1
0 0 1 1 0 1
Syndrome
• c. Dari tabel tersebut terlihat bahwa jarak
minimum dari kode-kode tersebut adalah dmin
= 3.
• Kemampuan mendeteksi kesalahan: e = dmin -
1 = 2 bit.
• Kemampuan mengoreksi kesalahan: t  (dmin -
1)/2 = 1 bit
Syndrome
• Diagram Hardwarenya
Syndrome
e. Tabel decoding diperoleh dari rumus
𝑺 = 𝒆𝑯𝑇
1 1 0
0 1 1
𝑇
𝐻 = 1 0 1
1 0 0
0 1 0
0 0 1
Syndrome
Syndrome
f. Generator syndrome diperoleh dari rumus

𝑺 = 𝒓𝑯𝑇
Dengan
1 0 1 1 0 0
𝑯= 1 1 0 0 1 0
0 1 1 0 0 1

1 1 0
0 1 1
𝐻𝑇 = 1 0 1
1 0 0
0 1 0
0 0 1
Syndrome
Karenanya
1 1 0
0 1 1
𝑆 = 𝑟1 𝑟2 𝑟3 𝑟4 𝑟5 𝑟6 1 0 1
1 0 0
0 1 0
0 0 1
= [𝑟1 + 𝑟3 + 𝑟4 𝑟1 + 𝑟2 + 𝑟5 𝑟2 + 𝑟3 + 𝑟6 ]
Syndrome
• Diagram Hardware Syndrome
Syndrome
g. Untuk codeword diterima 𝒓 = [1 1 1 0 0 1],
maka error

Matriks syndromenya adalah s = 0 0 1 yang berhubungan


dengan pola error 𝒆 = 0 0 0 0 0 1 , maka
dari rumus

𝒓=𝒄+𝒆 ⇒𝒄=𝒓+𝒆
Diperoleh kembali c, yaitu:

𝒄= 1 1 1 0 0 0

Anda mungkin juga menyukai