• 大小: 699B
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-01-04
  • 语言: Matlab
  • 标签: 香农编码  matlab  

资源简介

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

评论

共有 条评论