信息理论与编码实验指导书

更新时间:2023-09-16 07:39:01 阅读量: 高中教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《信息理论与编码》实验指导书

武汉理工大学教材中心

2009年7月

实验一 绘制二进熵函数曲线

一、实验目的

1.熟悉 Matlab 工作环境及工具箱; 2.掌握 Matlab 绘图函数; 3.理解熵函数表达式及其性质。

二、实验内容

实验内容与要求

内容:用 Matlab 软件绘制二进熵函数曲线。 要求:

1. 提前预习实验,认真阅读教材及相应的参考书,熟悉实验原理;

2. 遵守实验室规定,实验过程中服从实验室管理人员和实验指导老师的管理; 3. 独立完成实验,认真做好实验记录; 4. 实验结束后,认真填写实验报告。 知识要点

1. 信源熵的概念及其性质。参照教材及参考书。 2. 二进熵公式:

????X??x1?0????x2?1??P(X)???????p????????1?p?,????0?p?1 ????H(X)???p(xi)logp(xi)???[plogp?(1?p)log(1?p)]??H(p)i

注意:虽然理论上定义 0 · log0 = 0 ,但是,在实际运算时,对数函数 logx 的变量 x 不能取 0 值,而应设置一个系统默认的最小值 eps 。

三、实验总结

1、绘制二进熵函数曲线,观察曲线形状。

2、结合熵函数的性质,分析二进熵函数曲线的特点。

四、思考与提高

1、绘制三元熵函数曲线,观察曲线形状。

2、结合熵函数的性质,分析三元熵函数曲线的特点。

p=0.00001:0.00001:0.99999; h=-p.*log2(p)-(1-p).*log(1-p); plot(p,h);

title('二进熵函数曲线'); ylabel('H(p,1-p)');

p=linspace(eps,1-eps,100); q=linspace(eps,1-eps,100); [P,Q]=meshgrid(p,q); P_Q=P+Q; for n=1:100 for m=1:100 if P_Q(n,m)>=1 Q(n,m)=nan; end end end

H=-P.*log2(P)-Q.*log2(Q)-(1-P-Q).*log2(1-P-Q); mesh(P,Q,H);

title('三维熵函数图像');

实验二 一般信道容量迭代算法

一、实验目的

1、熟悉 Matlab 工作环境及工具箱; 2、掌握一般信道容量迭代算法的原理。

二、实验内容

实验内容与要求

内容:用 Matlab 软件编程实现一般信道容量迭代算法。 要求:

1、提前预习实验,认真阅读相应的参考书,熟悉实验原理;

2、遵守实验室规定,实验过程中服从实验室管理人员和实验指导老师的管理; 3、独立完成实验,认真做好实验记录; 4、实验结束后,认真填写实验报告。 知识要点::

1、一般信道容量迭代算法的原理。参照教材及参考书。

2、程序流程图如下:

其中:

(1)

(2)

实验提示:

1、设定不同的信道(对称信道、非对称信道),计算最佳输入分布,分析计算结果的异同。

2、设定不同的迭代精度,分析其对计算结果的影响。

三、实验总结

1、信道的性质与最佳输入分布的关系。 2、迭代精度对计算结果的影响。

四、思考与提高

1、编制一般信道容量迭代算法的通用程序,适应不同的信道特性。 2、优化程序,提高运算速度。

实验三 二进制霍夫曼编码

一、实验目的

1、熟悉 Matlab 工作环境及工具箱;

2、掌握霍夫曼编码的基本步骤; 3、利用MATLAB实现霍夫曼编码。

二、实验内容

实验内容与要求

内容:用 Matlab 软件编程实现二进制霍夫曼编码。 要求:

本文来源:https://www.bwwdw.com/article/kv5h.html

Top