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

上传人:n**** 文档编号:37203252 上传时间:2018-04-08 格式:DOC 页数:24 大小:271KB
返回 下载 相关 举报
信息理论与编码实验指导书_第1页
第1页 / 共24页
信息理论与编码实验指导书_第2页
第2页 / 共24页
信息理论与编码实验指导书_第3页
第3页 / 共24页
信息理论与编码实验指导书_第4页
第4页 / 共24页
信息理论与编码实验指导书_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《信息理论与编码实验指导书》由会员分享,可在线阅读,更多相关《信息理论与编码实验指导书(24页珍藏版)》请在金锄头文库上搜索。

1、信息理论与编码信息理论与编码实验指导书实验指导书武汉理工大学教材中心武汉理工大学教材中心2009 年 7 月实验一实验一 绘制二进熵函数曲线绘制二进熵函数曲线一、实验目的一、实验目的 1.熟悉 Matlab 工作环境及工具箱; 2.掌握 Matlab 绘图函数; 3.理解熵函数表达式及其性质。 二、实验内容二、实验内容 实验内容与要求实验内容与要求内容:内容:用 Matlab 软件绘制二进熵函数曲线。 要求:要求: 1. 提前预习实验,认真阅读教材及相应的参考书,熟悉实验原理; 2. 遵守实验室规定,实验过程中服从实验室管理人员和实验指导老师的管理; 3. 独立完成实验,认真做好实验记录; 4

2、. 实验结束后,认真填写实验报告。 知识要点知识要点 1. 信源熵的概念及其性质。参照教材及参考书。 2. 二进熵公式: 1201,01()1xxXpP Xpp ()( )log( ) log(1)log(1)( )ii iH Xp xp xppppH p 注意:注意:虽然理论上定义 0 log0 = 0 ,但是,在实际运算时,对数函数 logx 的变量 x 不能取 0 值,而应设置一个系统默认的最小值 eps 。 三、实验总结三、实验总结 1、绘制二进熵函数曲线,观察曲线形状。 2、结合熵函数的性质,分析二进熵函数曲线的特点。 四、思考与提高四、思考与提高 1、绘制三元熵函数曲线,观察曲线形

3、状。 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:100for m=1:100if P_Q(n,m)=1Q(n,m)=nan;endendendH=-P.*log2(P)-Q.*log2(Q)-(1-P-Q).*log2(1-P

4、-Q);mesh(P,Q,H);title(三维熵函数图像);实验二实验二 一般信道容量迭代算法一般信道容量迭代算法一、实验目的一、实验目的 1、熟悉 Matlab 工作环境及工具箱; 2 2、掌握一般信道容量迭代算法的原理。 二、实验内容二、实验内容 实验内容与要求实验内容与要求 内容:内容:用 Matlab 软件编程实现一般信道容量迭代算法。 要求:要求: 1、提前预习实验,认真阅读相应的参考书,熟悉实验原理; 2、遵守实验室规定,实验过程中服从实验室管理人员和实验指导老师的管理; 3、独立完成实验,认真做好实验记录; 4、实验结束后,认真填写实验报告。 知识要点知识要点::1、一般信道容

5、量迭代算法的原理。参照教材及参考书。 2、程序流程图如下: 其中:(1)(2)实验提示:实验提示:1、设定不同的信道(对称信道、非对称信道) ,计算最佳输入分布,分析计算结果的异同。 2、设定不同的迭代精度,分析其对计算结果的影响。 三、实验总结三、实验总结 1、信道的性质与最佳输入分布的关系。 2、迭代精度对计算结果的影响。 四、思考与提高四、思考与提高 1、编制一般信道容量迭代算法的通用程序,适应不同的信道特性。 2、优化程序,提高运算速度。 实验三实验三 二进制霍夫曼编码二进制霍夫曼编码一、实验目的一、实验目的 1 1、熟悉 Matlab 工作环境及工具箱; 2、掌握霍夫曼编码的基本步骤

6、;3、利用 MATLAB 实现霍夫曼编码。 二、实验内容二、实验内容 实验内容与要求实验内容与要求 内容:内容:用 Matlab 软件编程实现二进制霍夫曼编码。 要求:要求: 1、提前预习实验,认真阅读相应的参考书,熟悉实验原理; 2、遵守实验室规定,实验过程中服从实验室管理人员和实验指导老师的管理; 3、独立完成实验,认真做好实验记录; 4、实验结束后,认真填写实验报告。 知识要点:知识要点: 1、霍夫曼编码的基本原理。参照教材及参考书。 2、二进制霍夫曼编码方法。 基本原理:基本原理:变长编码不要求所有码字长度相同,对不同概率的信源符号或序列,可赋予不同长度的码字。 变长编码力求平均码长最

7、小,此时编码效率最高,信源的冗余得到最大程度的压缩。1)几种常用变长编码方法:霍夫曼编码费若编码香农编码。2)霍夫曼编码:二进制霍夫曼编码r 进制霍夫曼编码符号序列的霍夫曼编码。3)二进制霍夫曼编码的编码过程:将信源中 n 个符号按概率分布的大小,以递减次序排列起来; 用 0 和 1 码分别分配给概率最小的两个信源符号,并将这两个概率最小的信源符号合并成一个新符号,并用这两个最小概率之和作为新符号的概率,从而得到只包含 n-1 个符号的新信源,称为其缩减信源; 把缩减信源的符号仍按概率大小以递减次序排列,再将最后两个概率最小的符号合并成一个新符号,并分别用 0 和 1 码表示,这样又形成一个新

8、缩减信源;依次继续下去,直到缩减信源最后只剩两个符号为止。再将最后两个新符号分别用 0和 1 码符号表示。最后这两个符号的概率之和为 1,然后从最后一级缩减信源开始,依编码路径右后向前返回,就得到各信源符号所对应得码符号序列,即对应得码字。r 进制霍夫曼编码由二进制霍夫曼编码可推广到 r 进制霍夫曼编码,只是每次求缩减信源时,改求 r 个最小概率之和,即将 r 个概率最小符号缩减为一个新符号,直到概率之和为 1。但要注意,即缩减过程中可能到最后没有 r 个符号。为达次目的,可给信源添加几个概率为零的符号。符号序列的霍夫曼编码对信源编码除了对信源符号编码以外,也可对信源符号序列编码,一般来说,对

9、序列编码比对单个符号更为有效。实验提示:实验提示:1、取得信源概率分布,并进行合法性判断;2、对信源概率分布进行降序排列;x=fliplr(sort(x)3、建立空的编码表构造一个零矩阵;B=zeros(n,n-1)4、将信源概率分布及以后产生的缩减序列放入矩阵的某一列;5、利用得到的编码矩阵获得各元素的编码结果并输出。三、实验总结三、实验总结 1、变长编码和定长编码的优缺点。 2、二进制霍夫曼编码的特点。 四、思考与提高四、思考与提高 比较各种无失真信源编码算法的优缺点。 实验四实验四 线性分组码的信道编码和译码线性分组码的信道编码和译码一、实验目的一、实验目的 1、熟悉 Matlab 工作

10、环境及工具箱; 2、掌握线性分组码的编码、译码原理以及纠错原理。 二、实验内容二、实验内容 实验内容与要求实验内容与要求 内容:内容:用 Matlab 软件编程实现线性分组码的信道编码和译码。 要求:要求: 1、提前预习实验,认真阅读相应的参考书,熟悉实验原理; 2、遵守实验室规定,实验过程中服从实验室管理人员和实验指导老师的管理; 3、独立完成实验,认真做好实验记录; 4、实验结束后,认真填写实验报告。 知识要点:知识要点: 1、线性分组码的编码、译码原理。参照教材及参考书。 2、线性分组码的设计。 基本原理:基本原理:首先,将信息序列分成 K 个符号一组,然后,在信息组中加入一些校验码元,

11、组成 N 长码字,由此得到(N,K)分组码。 (N,K)分组码中任一码字的码长为N,所含的信息位数目为 K,校验位数目为 r=NK,且码中任意两个码字的和仍为码字。 例如,对于(5,2)分组码,N=5,K=2,其编码函数 f 为 由编码函数可知: c c ( 码字 )= m( 信息矩阵 ) G G (生成矩阵) 其中,生成矩阵当生成矩阵 G 确定后,编码的问题就解决了。又由编码函数的后 3 个方程可以确定校验方程,对应的矩阵形式为 或 ,式中, H 称为一致性校验矩阵。 一致性校验矩阵如下: H 与 G 的关系: , 。 纠错译码时,若发送码字为 c ,则接收序列为 y ,校正子 S=y* =

12、e* 。 因此,可以得到译码 c=ye( 模 2 和 ) 。 其中,e 称为差错图样。S 是传输是否出错的标志,称为伴随式。(5,2) 线性分组码的最小汉明距离为 dmin=3,能够检出 2 位错误或纠正 1 位错误。 线性分组码的信道编码和译码流程图: 图 1 线性分组码信道编码流程图图 2 线性分组码信道译码流程图实验提示:实验提示:1、线性分组码中生成矩阵、校验矩阵、伴随式之间的关系。 2、在计算矩阵时,注意位操作运算。 三、实验总结三、实验总结 1、根据不同的线性分组码,观察生成矩阵和校验矩阵的特性。 2、根据不同的线性分组码,分析检错和纠错能力。 四、思考与提高四、思考与提高 1、编

13、制线性分组码的信道编码和译码的通用程序,适应不同的生成矩阵和校验矩阵。2、优化程序,提高运算速度。 实验五实验五 分组乘积分组乘积 Turbo 码动态迭代译码算法码动态迭代译码算法一、实验目的一、实验目的 1.熟悉 Matlab 工作环境及工具箱; 2.掌握分组乘积 Turbo 码的编码、译码原理。 二、实验内容二、实验内容 实验内容与要求实验内容与要求内容:内容:用 Matlab 编程实现分组乘积 Turbo 码动态迭代译码仿真、并试着对其算法提出优化方法。 要求:要求: 1. 提前预习实验,认真阅读教材及相应的参考书,熟悉实验原理; 2. 遵守实验室规定,实验过程中服从实验室管理人员和实验

14、指导老师的管理; 3. 独立完成实验,认真做好实验记录; 4. 实验结束后,认真填写实验报告。 知识要点知识要点 1. 分组乘积 Turbo 码(简称 TPC 码)是一类将分组码进行串行级联,并采用分组交织器构成的级联码,是一种构造十分简单的纠错码,它是香农信息理论提出后第一个在非零码率时可以实现无误码传输的纠错编码。 采用迭代译码方法,可发挥该码的良好性能,并特别适合于高速硬件译码。2. TPC 码的编码结构在乘积码中,分量码一般采用线性分组码,其结构简单,易于实现。乘积码的编码过程可以分为三个步骤:(1)将信息元填入一个 m2 行 m1 列的矩阵;(2)对矩阵的每一行用一个(n1,m1)系

15、统分组码 k1 进行编码,得到一个 m2 行 n1列的矩阵;(3)对这个矩阵的每一列用一个(n2,m2)系统分组码 k2 进行编码,最终得到一个n2 行 n1 列的矩阵。这样得到的纠错码是一个(n1*n2,m1*m2)分组码,所以称为乘积码。3. TPC 码的译码算法Chase 算法是一种找码字 D 的低复杂度的次优算法。4.TPC 码的迭代译码在迭代过程中行译码和列译码交替进行,相互之间提供外信息,每进行一次行译码或列译码可以看作半次迭代。注意:注意: 增加迭代次数可以提高 TPC 码的纠错性能,但是当迭代达到一定限度以后,译码性能就呈现出饱和的趋势。三、实验总结三、实验总结 1、分组乘积

16、Turbo 码动态迭代译码分析、仿真。 2、针对相应算法提出改进意见。 四、思考与提高四、思考与提高 1、当使用不同收敛率的两组参数,比较其迭代的次数,并分析那种参数可以起到改善译码性能的目的。实验六实验六 MIMO 系统信道容量分析系统信道容量分析一、实验目的一、实验目的 1.熟悉 Matlab 工作环境及工具箱; 2.掌握 Matlab 绘图函数; 3.理解 MIMO 系统信道容量的分析方法。 二、实验内容二、实验内容 实验内容与要求实验内容与要求内容:内容:用 Matlab 软件实现对一些典型 MIMO 系统信道容量进行仿真。 要求:要求: 1. 提前预习实验,认真阅读教材及相应的参考书,熟悉实验原理; 2. 遵守实验室规定,实验过程中服从实验室管理人员和实验指导老师的管理; 3. 独立完成实验,认真做好实验记录; 4. 实验结束后,认真填写实验报告。 知识要点知识要点 1.

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

当前位置:首页 > 电子/通信 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号