資源簡介
shannon編碼的matlab實現,通過修改概率分布,可以實現香農編碼,并計算了平均碼長,編碼效率。
代碼片段和文件信息
clc
clear?all
P=[0.5540.2250.1120.109];
p=-sort(-P);%降序排列
n=length(p);
pp=cumsum(p);
pp=[0pp];%概率累加
bi=ceil(log2(1./p));%計算編碼位數
L=bi*p‘
H_x=-p*log2(p‘)
R=H_x/L
?%將十進制轉化為二進制
for?i=1:n
????N=bi(i);
????count=0;
????tempnum=pp(i);
????
????
????while?(N)
????????count=count+1;
????????if(count>N)
????????????b
- 上一篇:viterbi 卷積譯碼代碼MATLAB語言
- 下一篇:圓柱擾流matlab程序
評論
共有 條評論