信道编码Huffman编码信息论与编码
信道编码Huffman编码信息论与编码
MATLAB做的信息论与编码的实验一小部分
结果编码是数字数组,还可计算平均码长,编码效率,编码后信息传输速率
话不多说,直接代码
function [W,L,q,r]=huffman(P)
%哈夫曼编码
n=length(P);
p=P;
mark=zeros(n-1,n);
for i=1:n-1[p,num]=sort(p);mark(i,:)=[num(1:n-i+1),zeros(1,i-1)];p=[p(1)+p(2),p(3:n),1];
endfor i=1:n-1table(i,:)=blanks(n*n);
end
table(n-1,n)='1';
table(n-1,2*n)='0';
for i=2:n-1table(n-i,1:n-1)=table(n-i+1,n*(find(mark(n-i+1,:)==1))-(n-2):n*(find(mark(n-i+1,:)==1)));table(n-i,n)='1';table(n-i,n+1:2*n-1)=table(n-i,1:n-1);table(n-i,2*n)='0';for j=1:i-1table(n-i,(j+1)*n+1:(j+2)*n)=table(n-i+1,n*(find(mark(n-i+1,:)==j+1)-1)+1:n*find(mark(n-i+1,:)==j+1));end
end
for i=1:nW(i,1:n)=table(1,n*(find(mark(1,:)==i)-1)+1:find(mark(1,:)==i)*n);l(i)=length(find(abs(W(i,:))~=32));
end
L=sum(P.*l);
sum1=0;
for i=1:n %使用for循环进行信息熵、平均码长求解a(i)=-log2(P(i)); %a(i)表示单个信源的自信息量K(i)=ceil(a(i)); %K(i)表示对自信息量向上取整c(i)=a(i)*P(i);sum1=sum1+c(i); %信息熵
end
H=sum1;
r=H/L;
q=H/L;[m,n]=size(W);
W=reshape(W',1,m*n);
W=double(W)-double('0')
W(find(W==-16))=[];
s1 = 'Huffman 编码所得码字 W:';
s2=' Huffman 编码的平均码字长度L:';
s3=' Huffman 编码的编码效率 Q:';
s4='Huffman 编码后信息传输速率 R:';
disp(s1),disp(W);
disp(s2),disp(L);
disp(s3),disp(q);
disp(s4),disp(r);
上面是哈夫曼的编码函数,在主程序里面,直接调用就行
[w,l,q,r]=huffman(S);%w为编码,L为平均长度,q为编码效率,r编码后信息传输速率
最后显示一下结果
用到的离散无记忆信源S=[0.4,0.2,0.2,0.1,0.1];%离散无记忆信源
Huffman 编码所得码字 W:1 0 0 0 0 1 0 0 1 1 0 0 1 0Huffman 编码的平均码字长度L:2.2000Huffman 编码的编码效率 Q:0.9645Huffman 编码后信息传输速率 R:0.9645
我没写单位,要加的话在函数中每一行disp后面再加一个disp就行
算了,我加上吧
disp(s1),disp(W);
disp(s2),disp(L,'(bit/sign)');
disp(s3),disp(q);
disp(s4),disp(r,'(bit/CodeSign)');
信道编码Huffman编码信息论与编码相关推荐
- 信息论中用c语言进行算术编码,信息论与编码之算术编码
例5-10 有4个符号a,b,c,d构成简单序列S=(a,b,d,a),各符号及其对应概率如下表5-9所列. 符号 符号概率pi 符号累积概率Pj a 0.100(1/2) 0.000 b 0.010 ...
- 利用Matlab做二元huffman,信息论与编码课程作业_huffman编码的matlab_实现
信息论与编码课程作业 --霍夫曼编码求信源熵和存储前后的信息量的变化 一:设计目的: 1.学习离散信源平均信息量的计算方法. 2.理解和掌握huffman 编码的基本原理,实现对信源符号的huffma ...
- 信息论与编码:信道编码的基本概念
文章目录 信道编码在通信系统中的位置和作用 信道编码的基本分类 信道编码的基本概念 波形编码 结构化序列 信道传输所引起的差错类型 重复码 信道编码在通信系统中的位置和作用 信道编码的基本分类 分组码 ...
- 信息论与编码_哈夫曼编码
哈夫曼树 哈夫曼树(Huffman Tree)也是一种特殊的二叉树,这种树的所有叶子结点都带有权值,从中构造出带权路径长度最短的二叉树,即哈夫曼树. 哈夫曼树的定义 设二叉树具有n个带权值的叶子结 ...
- 信息论 哈夫曼编码 与 菲诺编码的实现(对一幅BMP格式的灰度图像(个人 证件照片)进行二元霍夫曼编码和译码。并进行编码效率的计算,对一幅BMP格式的灰度图像进行二 元Fano编码、译码 )
信息论 哈夫曼编码 与 菲诺编码的实现(对一幅BMP格式的灰度图像(个人 证件照片)进行二元霍夫曼编码和译码.并进行编码效率的计算,对一幅BMP格式的灰度图像进行二 元Fano编码.译码 ) 原始图片 ...
- 信息论与编码课件,希望传播给更多的人
可能有些图片打不开,链接:https://pan.baidu.com/s/1azDGIkaZRVKbMMGHacNucw 提取码:1111 附上链接,传播知识,知识无 ...
- 《信息论与编码》学习笔记
信息论与信息编码 文章目录 信息论与信息编码 1. 准备知识和教材 1.1. 学科关联 1.2. 准备知识 1.3. 教材 1.4. 理论体系的简要概述 1.5. 编码技术的举例 1.5.1. 压缩编 ...
- 信息论与编码冯桂周林著答案_信息论与编码.冯桂 周林 冯桂、周林 9787302424277 清华大学出版社 信息论与编码.冯桂 周林 正版图书...
商品描述: 基本信息 书名:信息论与编码.冯桂 周林 定价:39.05元.注 定价是图书封底的标价,售价是顾客支付的价格. 作者:冯桂.周林 出版社:清华大学出版社 出版日期:2016-07 注 出版 ...
- labview 霍夫曼树_哈夫曼树编码实验报告_信息论与编码实验2 实验报告_信息论与编码报告...
huffman编码C语言实验报告 今日推荐 180份文档 2014...4页 1下载券 安卓版100 doors 2攻略1... 3页 1下载券 <逃脱本色>doors....语文教育实习 ...
最新文章
- 只要200行JavaScript代码,就能把特斯拉汽车带到您身边
- LeetCode-46. Permutations
- 类型转换和操作符重载 (c#)
- SAP License:无奈的采购处理时间
- 笔记本电脑磁盘加密技术
- PHP--数据库访问(增、删、改、查)
- 单片机c语言编程实训报告,单片机实训报告范文
- 数据分析越来越火,如何做一个靠谱的职业规划?
- Scanner扫描仪的使用方法
- statusbar 纯白色的解决方案 android:fitsSystemWindows
- IKEv2的密钥计算方式
- docker 安装完成后测试hello-world出现问题(Unable to find image 'hello-world:latest' locally)
- 学生信息管理系统-数据结构课程设计
- 华为防火墙应用层过滤--URL
- oracle 导出身份证号_ORACLE对身份证号码处理相关的SQL【收藏】
- python数据可视化案例2017年6省gdp_吴裕雄 数据挖掘与分析案例实战(5)——python数据可视化...
- HMM隐马尔科夫时间序列预测 Markov马尔科夫时间序列预测(Matlab)
- 心紊妥布俅善市陀炎妇涣上街彻躺
- GPRS的工作原理、主要特点(转自aerkate)
- Cordova搭载——H5开发环境
热门文章
- GB28181国标平台LiveGBS如何获取下级监控摄像头、4G执法记录仪、无人机等GB28181设备的经纬度位置信息
- 苹果遭荷兰监管机构罚款,累计约1.8亿RMB
- 2019车联网产业发展报告
- 《被讨厌的勇气》书摘心得之我们的不幸是谁的错?(1)
- 我在阿里巴巴上联系了近20个口罩供应商,全是假的!
- Java(十四)----Junit测试
- 怎么使用代理服务器 怎么设置代理IP地址上网
- 安装了不兼容的APR(基于Apache Tomcat原生库)版本[1.1.29]
- 538. Convert BST to Greater Tree*
- [转]Theano下用CNN(卷积神经网络)做车牌中文字符OCR