收藏 分享(赏)

编码理论实验报告实验一霍夫曼编码中信息熵及编码效率的实验.doc

上传人:志在邹 文档编号:177744 上传时间:2018-12-01 格式:DOC 页数:4 大小:128KB
下载 相关 举报
编码理论实验报告实验一霍夫曼编码中信息熵及编码效率的实验.doc_第1页
第1页 / 共4页
编码理论实验报告实验一霍夫曼编码中信息熵及编码效率的实验.doc_第2页
第2页 / 共4页
编码理论实验报告实验一霍夫曼编码中信息熵及编码效率的实验.doc_第3页
第3页 / 共4页
编码理论实验报告实验一霍夫曼编码中信息熵及编码效率的实验.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、-专业最好文档,专业为你服务,急你所急,供你所需 -文档下载最佳的地方-专业最好文档,专业为你服务,急你所急,供你所需 -文档下载最佳的地方实验名称 实验一 霍夫曼编码中信息熵及编码效率的实验一、 实验目的1. 掌握霍夫曼编码中信息熵的定义、性质和计算;2. 掌握霍夫曼编码中平均码字长度的定义和计算;3 掌握霍夫曼编码中编码效率的定义和计算;4. 正确使用C语言实现霍夫曼编码中信息熵、平均码长和编码效率的求取。二、实验内容1. 熟练列出霍夫曼编码中信息熵、平均码长和编码效率各自的计算公式;2. 正确使用C语言实现计算霍夫曼编码中信息熵、平均码长和编码效率的程序,并在Visual C+环境中验证

2、。三、 实验原理1. 霍夫曼编码的基本原理按照概率大小顺序排列信源符号,并设法按逆顺序分配码字字长,使编码的码字为可辨识的。2. 平均码长:L=p(s i)*li (单位为:码符号/信源符号)其中,p(s i)为信源s i在q个信源中出现的概率,l i为信源s i的二进制霍夫曼编码。3. 信息熵:H(S)=- p(s i) *log2 p(si) (单位为:比特/信源符号)其中,p(s i)为信源s i在q个信源中出现的概率。4. 编码效率:= H(S)/ L其中,H(S)为信息熵,L为平均码长。四、 实验步骤:1. Huffman编码示例如下图:-专业最好文档,专业为你服务,急你所急,供你所

3、需 -文档下载最佳的地方-专业最好文档,专业为你服务,急你所急,供你所需 -文档下载最佳的地方S1S2S3S4S5概率0.050.40.20.20.15信源缩减过程0.40.20.20.20.40.40.20.60.4编码011001011010码长322230010110100111011010001001102. 根据Huffman编码的例子,用C语言完成计算霍夫曼编码中信息熵的程序的编写,并在Visual C+环境中验证;3. 根据Huffman编码的例子,用C语言完成计算霍夫曼编码中平均码长的程序的编写,并在Visual C+环境中验证;4. 根据Huffman编码的例子,用C语言完成

4、计算霍夫曼编码中编码效率的程序的编写,并在Visual C+环境中验证;实验程序:/* 霍夫曼编码信息熵、平均码长及编码效率的计算 */按照实验步骤的要求完成程序,正确计算霍夫曼编码的信息熵、/平均码长以及编码效率,并通过printf函数将三者的计算结果/打印出来#include#include#include#define CH_Num 5 /信源符号个数/主函数void main()/编程1:定义double型数组gailv存放各信源符号出现的概率double gailvCH_Num=0.4,0.2,0.2,0.15,0.05;/编程2:定义int型数组code_len存放各信源符号的霍夫

5、曼编码 int code_lenCH_Num=2,2,2,3,3;信源符号-专业最好文档,专业为你服务,急你所急,供你所需 -文档下载最佳的地方-专业最好文档,专业为你服务,急你所急,供你所需 -文档下载最佳的地方/编程3:定义double型变量aver_Len、Hs和code_ratio,分别/对应信息熵、平均码长及编码效率,并初始化为0double aver_Len=0,Hs=0,code_ratio=0;int i;/编程4:利用for循环计算平均码长aver_Lenfor(i=0;iCH_Num;i+)aver_Len+=gailvi*code_leni;/编程5:利用for循环计算信

6、息熵Hsfor(i=0;iCH_Num;+i)Hs+=-(gailvi*(log(gailvi)/log(2);/编程6:计算编码效率code_ratiocode_ratio=Hs/aver_Len;/编程7:利用三条printf语句分别打印平均码长、信息熵和编码效率printf(“平均码长=%lf 比特/信源符号n“,aver_Len);printf(“信源熵=%lf 码符号/信源符号n“,Hs);printf(“编码效率=%lfn“,code_ratio);运行结果如下图:-专业最好文档,专业为你服务,急你所急,供你所需 -文档下载最佳的地方-专业最好文档,专业为你服务,急你所急,供你所需 -文档下载最佳的地方实验心得:通过本次试验加深了对霍夫曼编码的基本原理的理解以及计算公式的记忆。并使用C语言实现计算霍夫曼编码中信息熵、平均码长和编码效率的程序,并在 Visual C+环境中验证,且结果正确。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 管理论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:文库网官方知乎号:文库网

经营许可证编号: 粤ICP备2021046453号世界地图

文库网官网©版权所有2025营业执照举报