Compare Efficiency Shannon, Shanon Fano, Huffman, and Arithmatic Code
-
Upload
oka-mahendra -
Category
Documents
-
view
32 -
download
2
description
Transcript of Compare Efficiency Shannon, Shanon Fano, Huffman, and Arithmatic Code
Oka MahendraNIM: 211123009PR Komunikasi MultimediaIT Telkom
HOMEWORK #1
Suatu sumber S={a,b,c,d,#} dg probabilitas P={0.4, 0.2, 0.2, 0.1, 0.1}. a. Cari codeword utk masing-masing simbol dg metoda (i)
Shannon, (ii) Shannon-Fano dan (iii) Huffman Coding dan hitung efisiensinya.
b. Hitung Efisiensi dari masing-masing skim pengkodean diatas, mana yang lebih baik?
c. Kodekan message cab# dengan metoda Arithmetic Coding
Jawab:
a.
(i) Shannon
xi pi li Cum Pi codeworda 0.4 2 0 0.00000 00b 0.2 3 0.4 0.01100 011c 0.2 3 0.6 0.10011 100d 0.1 4 0.8 0.11001 1100# 0.1 4 0.9 0.11100 1110
EntropyH(s) = 0.4 lg (1/0.4) + 0.2 lg (1/0.2) + 0.2 lg (1/0.2) + 0.1 lg (1/0.1) + 0.1 lg (1/0.1)
= 2.122
Panjang Kode rata-rata Lsh = 0.4 * 2 + 0.2 * 3 + 0.2*3 + 0.1 * 4 + 0.1*4
= 2.8
Efisiensi = H(s) / Lsh = 2.122 / 2.8 = 75.8 %
(ii) Shannon-Fano #1
Codewordxi Codeword pi lia 0 0.4 1b 10 0.2 2c 110 0.2 3d 1110 0.1 4# 1111 0.1 4
Panjang Kode rata-rata Lsh = 0.4 * 1 + 0.2 * 2 + 0.2*3 + 0.1 * 4 + 0.1*4
= 2.2
Efisiensi = H(s) / Lsh = 2.122 / 2.2 = 96.5 %
d0.1
a0.4
b0.2
c0.2
#0.1
0 1
0 1
01
0 1
Shannon-Fano #2
Codewordxi Codeword pi lia 00 0.4 2b 01 0.2 2c 10 0.2 2d 110 0.1 3# 111 0.1 3
Panjang Kode rata-rata Lsh = 0.4 * 2 + 0.2 * 2 + 0.2*2 + 0.1*3 + 0.1*3
= 2.2
Efisiensi = H(s) / Lsh = 2.122 / 2.2 = 96.5 %
b0.2
c0.2a
0.4
d0.1
#0.1
01
0 10
1
0 1
(iii) Huffman Coding
0.1(#) 0.1(d) 0.2(c) 0.2(b) 0.4(a)
0.2(#,d) 0.2(c) 0.2(b) 0.4(a)
0.4 ((#,d)c) 0.2(b) 0.4(a)
0.6 (((#d,c),b) 0,4(a)
# 0.1
d 0.1
c 0.2
b 0.2
a 0.4
Codewordxi Codeword pi lia 1 0.4 1b 01 0.2 2c 001 0.2 3d 0001 0.1 4# 0000 0.1 4
Panjang Kode rata-rata Lsh = 0.4 * 1 + 0.2 * 2 + 0.2*3 + 0.1 * 4 + 0.1*4
= 2.2
Efisiensi = H(s) / Lsh = 2.122 / 2.2 = 96.5 %
0.2
0.4
0.60
1
0
1
0
1
0
1
b. Efisiensi koding
Koding EfisiensiShannon 75.8%Shannon Fano 96.5%Huffman 96.5%
Untuk kasus ini, koding terbaik dengan efisiensi tertinggi adalah Huffman dan Shannon-Fano.
c. Arithmetic Coding dari pesan “cab#”
Codeword adalah sembarang bilangan dalam interval 0.6464 – 0.6480,biasanya digunakan batas kiri = 0.6464 atau rata-rata arithmetic = 0.6472
0
1
0.4
0.6
0.8
0.9
0.6
0.8
0.68
0.6
0.68
0.632
0.648
0.632
0.648
0.6464