Thursday 19 June 2014

 clc;
clear all;
close all;
%first order huffmann coding
display('first order huffmann coding')
P1=[0.8,0.02,0.18];
i1={'s0','s1','s2'};
length(P1)
length(i1)
[d1,l1]=huffmandict(i1,P1,2,'min')
huffmanenco(i1,d1);
d1{1,:}
d1{2,:}
d1{3,:}
h1=0;
 for i=1:3
 h1=((P1(i)*log(1/(P1(i)))+h1));
 end
 display('entropy and efficiency of first order huffman coding')
h1=((h1)/log(2));
display(h1);
cr=(3/l1)
ren=1-(1/cr)
e1=(h1/l1)*100
%2nd order huffman encoding
display('second order huffmann coding')
p2=[0.64,0.016,0.144,0.016,0.0004,0.0036,0.144,0.0036,0.0324];
i2={'s0s0','s0s1','s0s2','s1s0','s1s1','s1s2','s2s0','s2s1','s2s2'};
length(p2)
length(i2)
[d2,l2]=huffmandict(i2,p2,2,'max')
huffmanenco(i2,d2);
d2{1,:}
d2{2,:}
d2{3,:}
d2{4,:}
d2{5,:}
d2{6,:}
d2{7,:}
d2{8,:}
d2{9,:}
 display('entropy and efficiency of second order huffman coding')
h2=2*(h1);
display(h2);
e2=(h2/l2)*100;
display(e2);
%3rd order huffman encoding
display('third order huffmann coding')
p3=[27/64,9/64,9/64,9/64,3/64,3/64,3/64,1/64];
i3={'s1s1s1','s1s1s0','s1s0s1','s0s1s1','s0s1s0','s0s0s1','s1s0s0','s0s0s0'};
length(p3)
length(i3)
[d3,l3]=huffmandict(i3,p3,2,'max')
huffmanenco(i3,d3);
d3{1,:}
d3{2,:}
d3{3,:}
d3{4,:}
d3{5,:}
d3{6,:}
d3{7,:}
d3{8,:}
 display('entropy and efficiency of third order huffman coding')
h3=3*(h1);
display(h3);
e3=(h3/l3)*100;
display(e3);