a. Hãy tính số lượng bit cần thiết để truyền 10 ký tự khi chưa thực hiện mã hóa nguồn
b. Hãy tính entropy của nguồn
c. Hãy mã hóa nguồn theo mã hóa Huffman và cho biết số bit cần thiết để truyền
d. Nhận xét
Giải: Chúng ta có 6 loại ký tự nên phải dùng 3 bit để lưu trữ ký tự, do đó số bit cần thiết để
truyền 10 ký tự sẽ là
3x10 =30 bit. Entropy của nguồn theo định nghĩa là:
bit/kí tự. Do đó, số bit tối thiểu để truyền 10 ký tự là: 21,25 ký tự.
% Mã hóa Huffman
dict = huffmandict(1:6, [.5 .125 .125 .125 .0625 .0625]);
S = randi([1 6],1,10)
enS = huffmanenco(S,dict)
deS = huffmandeco(enS,dict)
Nhận xét: Nếu dùng mã hóa Huffman, thì chúng ta sẽ chỉ cần truyền 26 bit. Khác với mã
hóa Huffman, mã hóa số học sẽ cho hiệu năng tốt hơn khi xử lý với nguồn vào dài và phân
bố bị lệch. Hãy xem ví dụ 4.46
Không có nhận xét nào:
Đăng nhận xét