资源简介

香农编码的matlab源程序。先将所有信源符号的概率按其概率的递减次序排列,然后计算每个信源符号的二元码码长,最后计算每个信源符号的累加概率,并变换成二进制小数得到其码字。

资源截图

代码片段和文件信息

function  C=shannon(p)
p=[0.02 0.10 0.15 0.16 0.17 0.19 0.21];
[mn]=sort(p);
m=fliplr(p);   %m表示将所有信源符号的概率得到的递减次序排列
a=length(m);
for i=2:a
    F(1)=0;
    F(i)=m(i-1)+F(i-1);
end
L=ceil(-log2(m));
C=cell(1a

评论

共有 条评论