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

更新时间:2023-10-26 16:33:01 阅读量: 综合文库 文档下载

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

实验一 信道容量的迭代算法

一、

实验目的

1、掌握信道容量的概念。

2、了解迭代法计算信道容量的流程。 3、熟悉Matlab程序的设计和调试方法。 二、

实验要求

1、学习Matlab软件编程和调试方法;

2、输入:任意一个信道转移概率矩阵。包括信源符号个数、信宿符号个数、

信道转移概率,在程序运行时从键盘输入; 3、输出:输入的信道矩阵、信道容量C。 三、

算法描述

?1. 初始化信源分布p(0)?(p1,p2,???,pi,???,pr)(一般初始化为均匀分布),

置迭代计数器k?0,设信道容量相对误差门限为?,??0,可设C(0)???; 2. ?(k)ji?pijpi(k)?piijp(k)ii?1,2,???,r;j?1,???,s

3. pi(k?1)??exp??pijln?(jik)??j???????(k)??exp??pijln?ji???i?????j??????(k)??ln??exp??pijln?ji?? ??j???i?i?1,???,r

4. C(k?1)5. 如果

C(k?1)?C(k)C(k?1)??,转向7

6. 置迭代序号k?1?k,转向2

7. 输出pi(k?1)和C(k?1)的结果 8. 停止 四、

实验报告内容

1、画出信道容量迭代算法流程图;

2、给出实验结果的截图(输入信道矩阵和信道容量计算结果); 3、对各种情况的实验结果进行分析和检验。

附:实验用Matlab源程序。(如果使用了非给定源程序)

实验报告提交:电子文档(邮箱:yangxiaoping2004@163.com) 实验过程:结果出来时,请实验老师检查并做记录(1个结果即可)。

实验二 唯一可译码判决准则

一、

实验目的

1、了解唯一可译码的概念。 2、掌握唯一可译码判决准则。 3、掌握Matlab程序调试方法。 二、

实验要求

1、使用Matlab软件编程;

2、输入:任意的一个码。码字个数和每个具体的码字在运行时从键盘输入; 3、输出:判决(是唯一可以码/不是唯一可以码)。 三、

算法描述

1. 考查C中所有的码字,若Wi是Wj的前缀,则将相应的后缀作为一个尾随后缀码放入集合F0中;

2. 考查C和Fi两个集合,若Wi?C是Wj?Fi的前缀或Wi?Fi是Wj?C的

前缀,则将相应的后缀作为尾随后缀码放入集合Fi?1中; 3. F??Fi即为码C的尾随后缀集合;

i4. 若F中出现了C中的元素,则算法终止,返回假(C不是唯一可译码);否则,若F中没有出现新的元素,则返回真(C是唯一可译码)。 四、

实验报告内容

1、实验用Matlab源程序。 2、实验结果分析。 3、实验心得体会。

实验三 Huffman编码

一、

实验目的

1、理解变长码的编码方法; 2、掌握Huffman码的编码方法; 3、学习Matlab程序调试方法。 二、

实验要求

1、使用Matlab软件编程;

2、输入:信源符号个数、每个信源符号的概率分布在运行时从键盘输入; 3、输出:信源符号与码字的对应关系表(编码表)。 三、

实验报告内容

1、画出Huffman编码方法的实现流程图。 2、实验至少包括两组数据,并对结果进行分析。 3、如果有更好的Matlab程序请上传。

实验四 费诺编码

一、

实验目的

1、了解费诺码的特点。 2、掌握费诺编码的编码方法。 3、掌握Matlab程序调试方法。 二、

实验要求

1、使用Matlab软件编程;

2、输入:信源符号个数r、信源的概率分布P?{p(si)},i = 1,…,r; 3、输出:每个信源符号对应的费诺编码的码字。 三、

算法描述

1、将信源符号si,i =1,…,r以概率递减次序排序

2、将依次排列的信源符号以概率分为两组,使两组的概率和之差最小,并对各组分别赋予二元码符号‘0’和‘1’

3、将每一组的信源符号进一步再分成两组,使划分后的两个组的概率之差最小,又分别赋予各组二元码符号‘0’和‘1’

4、如此重复,直至每组只剩下一个信源符号为止 5、信源符号所对应的从左至右的码符号序列即为码字 四、

实验报告内容

1、实验用Matlab源程序。 2、实验结果分析。 3、实验心得体会。

实验五 (7,4)线性分组码

一、

实验目的

1、加深理解(7,4)线性分组码的编码和译码方法,理解码的纠错性能; 2、通过编程实现(7,4)线性分组码的编译码算法; 3、熟练Matlab程序调试方法。 二、

实验要求

1、使用Matlab软件编程;

2、输入:长度为4的任意二进制序列 — [a1 a2 a3 a4];

3、输出:输入数据经(7,4)线性分组码的编码器编码后,输出信道编码[b1 b2 b3 b4 b5 b6 b7]。通过模拟信道传输后(设定传输错误位),再经过(7,4)线性分组码的译码器译码输出得到信宿端的长度为4的二进制序列 — [Data1 Data2 Data3 Data4]。 三、

实验报告内容

1、叙述线性分组码的编译码原理;

2、通过实验列出输入信息组和信道编码输出码字; 3、通过实验列出标准阵列译码表; 4、给出两组实验结果截图。

实验六 Hamming(7,4)编译码器

一、

实验目的

1、加深理解Hamming(7,4)码的编码方法和抗干扰性能。

2、通过编程实现Hamming(7,4)码的编码算法,进一步掌握按位二进制加法的实现。

3、掌握Matlab程序调试方法。

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

Top