信息论与编码实验指导书.docx

信息论与编码实验指导书.docx

ID:52891846

大小:405.37 KB

页数:15页

时间:2020-03-31

信息论与编码实验指导书.docx_第1页
信息论与编码实验指导书.docx_第2页
信息论与编码实验指导书.docx_第3页
信息论与编码实验指导书.docx_第4页
信息论与编码实验指导书.docx_第5页
资源描述:

《信息论与编码实验指导书.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实验一绘制二进熵函数曲线(2个学时)一、实验目的:1.掌握Excel的数据填充、公式运算和图表制作2.掌握Matlab绘图函数3.掌握、理解熵函数表达式及其性质二、实验要求:1.提前预习实验,认真阅读实验原理以及相应的参考书。2.在实验报告中给出二进制熵函数曲线图三、实验原理:1.Excel的图表功能2.信源熵的概念及性质四、实验内容:用Excel或Matlab软件制作二进熵函数曲线。具体步骤如下:1、启动Excel应用程序。2、准备一组数据p。在Excel的一个工作表的A列(或其它列)输入一组p,取步长为0

2、.01,从0至100产生101个p(利用Excel填充功能)。3、取定对数底c,在B列计算H(x),注意对p=0与p=1两处,在B列对应位置直接输入0。Excel中提供了三种对数函数LN(x),LOG10(x)和LOG(x,c),其中LN(x)是求自然对数,LOG10(x)是求以10为底的对数,LOG(x,c)表示求对数。选用c=2,则应用函数LOG(x,2)。在单元格B2中输入公式:=-A2*LOG(A2,2)-(1-A2)*LOG(1-A2,2)双击B2的填充柄,即可完成H(p)的计算。4、使用Excel

3、的图表向导,图表类型选“XY散点图”,子图表类型选“无数据点平滑散点图”,数据区域用计算出的H(p)数据所在列范围,即$B$1:$B$101。在“系列”中输入X值(即p值)范围,即$A$1:$A$101。在X轴输入标题概率,在Y轴输入标题信源熵。实验步骤:我是使用MATLAB来做的第一个实验,以下是我的代码1.我先编了一个函数,实现对信息熵的求导functionh=Hp(p)%熵函数计算,输入是概率p(标量或一维矢量)%输出是h,与p同维度h=zeros(1,length(p));index=find(p>0

4、&p<1);P=p(index);h(index)=-P.*log(P)-(1-P).*log(1-P);end2.然后在命令窗口输入>>p=0:0.00001:1;>>plot(p,Hp(p))3.绘制熵函数图像如下实验二:香农编码软件实现(2个学时)1、实验目的(1)了解香农编码的基本原理及其特点;(2)熟悉掌握香农编码的方法和步骤;(3)掌握C语言或者Matlab编写香农编码的程序。2、实验报告要求(1)简要总结香农编码的基本原理与特点(2)写出香农编码的基本步骤,画出实现香农编码的程序流程图(3)实现

5、香农编码的Matlab或者C源程序3、实验内容(1)根据香农编码的方法和步骤,用香农编码编写程序(2)用编写的源程序验证书中例题的正确性。实验步骤:1.我先编了一个命令文件,实现累加概率,码长的求解,如下其中有一句H=xlsread('e:Book1.xlsx','A1:A7'),是老师要求的对一个excel文件数据的读取,其中数据依次为0.1,0.2,0.1,0.1,0.1,0.3,0.1。2.下面是一个函数文件,命令文件要对它调用,它的作用是实现编出各自概率的码字,如下:3.结果如下:4.下面是香农编码的

6、流程图:开始输入符号个数N和相应概率X[i]按概率由大到小排序按公式求码长求出对应位的概率累加和按乘2取余法则,将累加概率转换为二进制结合求得的对应码长,将二进制的累加概率取对应长度的作为相应码字输出信源、概率、累加概率、码长和码字结束实验三:Huffman编码软件实现(2个学时)1、实验目的(1)进一步熟悉Huffman编码过程;(2)掌握C语言递归程序的设计和调试技术(或者使用Matlab)。2、实验要求(1)输入:信源符号个数r、信源的概率分布P;(2)输出:每个信源符号对应的Huffman编码的码字。

7、3、实验内容(1)算法1、从键盘输入组成信源C的字符个数N;2、从键盘输入信源C和组成信源的字符所对应的概率数组P;3、用函数来对信源进行二进制编码;先对P按从大到小进行排序,与此同时要把C中相应的字符的位置做相应的调换;用数组来记录编码:在进行记录编码时是从数组的最后一个开始存储的,而且,每进行一次编码所记录下来的两个编码是按从数组的最后一个元素开始服从count[m-k-j]、count[m-k-j-1],其中k表示编码所进行的次数,j表示每次编码都只有;最后用函数来输出编码。(2)部分伪代码:(一)节点

8、信息结构体structHuffNode{intweight;//信源符号的概率intparent;intlchild;intrchild;};(二)算法voidHuffman(intweight[],intn,HuffNodehn[],HuffCodehc[]){for(i=0;i!=2*n-1;++i)//createHuffmanNode,step1{}for(i=0;i!=n-1;++i)//

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。