信息论与编码实验指导书

合集下载

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

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

《信息理论与编码》实验指导书武汉理工大学教材中心2009年7月实验一绘制二进熵函数曲线一、实验目的1.熟悉Matlab 工作环境及工具箱;2.掌握Matlab 绘图函数;3.理解熵函数表达式及其性质。

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

要求:1. 提前预习实验,认真阅读教材及相应的参考书,熟悉实验原理;2. 遵守实验室规定,实验过程中服从实验室管理人员和实验指导老师的管理;3. 独立完成实验,认真做好实验记录;4. 实验结束后,认真填写实验报告。

知识要点1. 信源熵的概念及其性质。

参照教材及参考书。

2. 二进熵公式:注意:虽然理论上定义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: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-Q);mesh(P,Q,H);title('三维熵函数图像');实验二一般信道容量迭代算法一、实验目的1、熟悉Matlab 工作环境及工具箱;2、掌握一般信道容量迭代算法的原理。

信息论与编码实验指导书

信息论与编码实验指导书

信息理论与编码实验教学指导书(试用教材)电子信息工程系2019年4月实验1.1 汉明码的编译码实验板实验一、实验目的1. 学习汉明码编译码的基本概念; 2. 掌握汉明码的编译码方法; 3. 验证汉明码的纠错能力。

二、实验仪器1. RZ9681实验平台 2. 实验模块: ● 主控模块● 信道编码与频带调制模块-A4 ● 频带解调与信道译码模块-A5 3. 100M 双通道示波器 4. 信号连接线 5. PC 机(二次开发)三、实验原理3.1汉明编译码介绍汉明码(Hamming Code )是一个可以有多个校验位,具有检测并纠正一位错误代码的纠错码,所以它也仅用于信道特性比较好的环境中,如以太局域网中,因为如果信道特性不好的情况下,出现的错误通常不是一位。

汉明码的检错、纠错基本思想是将有效信息按某种规律分成若干组,每组安排一个校验位进行奇偶性测试,然后产生多位检测信息,并从中得出具体的出错位置,最后通过对错误位取反(也是原来是1就变成0,原来是0就变成1)来将其纠正。

3.2汉明编译码原理汉明码编码采用()4,7汉明码,信息位数4=k ,监督位数3=-=k n r ,可以纠一位错码,生成矩阵⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=1101000101010001100101110001G ,编码情况见表 1。

表 1()4,7 Hamming 编码表汉明码译码计算校正子[]321,,S S S S =,其中24561a a a a S ⊕⊕⊕= 13562a a a a S ⊕⊕⊕= 03463a a a a S ⊕⊕⊕=校正子S 的值决定了接收码元中是否有错码,并且指出错码的位置,见表2。

表2 错码位置示意3.3 举例说明信息位10013456=a a a a ,根据表 1()4,7 Hamming 编码表,编码为1001100,如果在信道传输的过程中产生一位误码,编码接收时变为1101100,我们计算校正子:124561=⊕⊕⊕=a a a a S 113562=⊕⊕⊕=a a a a S 003463=⊕⊕⊕=a a a a S校正子110=S ,查找表2 错码位置示意,5a 产生误码,则译码输出信息位1001。

信息论与编码实验2-实验报告

信息论与编码实验2-实验报告

信息论与编码实验2-实验报告信息论与编码实验 2 实验报告一、实验目的本次信息论与编码实验 2 的主要目的是深入理解和应用信息论与编码的相关知识,通过实际操作和数据分析,进一步掌握信源编码和信道编码的原理及方法,提高对信息传输效率和可靠性的认识。

二、实验原理(一)信源编码信源编码的目的是减少信源输出符号序列中的冗余度,提高符号的平均信息量。

常见的信源编码方法有香农编码、哈夫曼编码等。

香农编码的基本思想是根据符号出现的概率来分配码字长度,概率越大,码字越短。

哈夫曼编码则通过构建一棵最优二叉树,为出现概率较高的符号分配较短的编码,从而实现平均码长的最小化。

(二)信道编码信道编码用于增加信息传输的可靠性,通过在发送的信息中添加冗余信息,使得在接收端能够检测和纠正传输过程中产生的错误。

常见的信道编码有线性分组码,如汉明码等。

三、实验内容与步骤(一)信源编码实验1、选取一组具有不同概率分布的信源符号,例如:A(02)、B (03)、C(01)、D(04)。

2、分别使用香农编码和哈夫曼编码对信源符号进行编码。

3、计算两种编码方法的平均码长,并与信源熵进行比较。

(二)信道编码实验1、选择一种线性分组码,如(7,4)汉明码。

2、生成一组随机的信息位。

3、对信息位进行编码,得到编码后的码字。

4、在码字中引入随机错误。

5、进行错误检测和纠正,并计算错误纠正的成功率。

四、实验结果与分析(一)信源编码结果1、香农编码的码字为:A(010)、B(001)、C(100)、D (000)。

平均码长为 22 比特,信源熵约为 184 比特,平均码长略大于信源熵。

2、哈夫曼编码的码字为:A(10)、B(01)、C(111)、D (00)。

平均码长为 19 比特,更接近信源熵,编码效率更高。

(二)信道编码结果在引入一定数量的错误后,(7,4)汉明码能够成功检测并纠正大部分错误,错误纠正成功率较高,表明其在提高信息传输可靠性方面具有较好的性能。

信息论与编码实验指导书

信息论与编码实验指导书

《信息论与编码》实验指导书前言当前,信息论与编码已经成为电子信息类专业高年级学生必修的专业基础课。

尽管各个院校开设课程名称有所不同,但都是以香农信息论为核心内容的。

这是一门理论性和系统性很强的课程。

涉及多个学科,需要广泛数学知识。

为了能透彻掌握信息论基本概念和分析方法,做实验进行实践练习是不可缺少的环节。

通过综合性、验证性实验,可以加深对理论和概念的理解,增强分析和解决实际问题的能力。

为此,河北工业大学信息学院编写了《信息论与编码实验指导书》,由于可供参考的实验指导书有限,本书的不妥和错误之处,恳请读者予以批评指正。

马杰2008年2月目录实验一信息熵与图像熵计算--------------------------------------- 1实验二 Huffman 编码实验------------------------------------------ 6实验三算术编码实验------------------------------------------------ 11 实验四 CRC校验编码实验------------------------------------------17实验一信息熵与图像熵计算(2学时)一、实验目的1.复习MATLAB的基本命令,熟悉MATLAB下的基本函数。

2.复习信息熵基本定义, 能够自学图像熵定义和基本概念。

二、实验内容1.能够写出MATLAB源代码,求信源的信息熵。

2.根据图像熵基本知识,综合设计出MATLAB程序,求出给定图像的图像熵。

三、实验仪器、设备1.计算机-系统最低配置 256M内存、P4 CPU。

2.Matlab仿真软件- 7.0 / 7.1 / 2006a 等版本Matlab软件。

四、实验原理1. MATLAB中数据类型、矩阵运算、图像文件输入与输出知识复习。

2.利用信息论中信息熵概念,求出任意一个离散信源的熵(平均自信息量)。

自信息是一个随机变量,它是指某一信源发出某一消息所含有的信息量。

息论与编码》上机实验指导书

息论与编码》上机实验指导书

北京信息科技大学《信息论与编码》实验指导书李红莲编光电信息与通信工程学院二〇一〇年八月目录实验一信息熵、信道容量的计算............................ . (3)一、实验目的 (3)二、实验内容 (3)三、实验原理............................................................. (3)四、实验方法与实验步骤 (3)五、思考题 (3)六、实验报告要求 (3)实验二霍夫曼编码、率失真函数的计算 (4)一、实验目的 (4)二、实验内容 (4)三、实验原理............................................................. (4)四、实验方法与实验步骤 (4)五、思考题 (4)六、实验报告要求 (4)实验一:信息熵、信道容量的计算实验项目:信息熵、信道容量的计算实验项目性质:验证性实验课程:《信息论与编码》计划学时:4学时一、实验目的掌握使用计算机计算信息熵、信道容量的方法。

二、实验内容利用matlab语言编程实现信息熵、信道容量的计算。

三、实验原理1.参照教材(焦瑞莉等编著《信息论基础教程》)第14页式(2-16)理解信息熵的定义2.参照教材(焦瑞莉等编著《信息论基础教程》)第68页式(3-15)理解信道容量的定义四、实验方法与实验步骤(一)参照教材第215页信源熵程序建立文件entropy.m(二)建立文件exercise2_3_1.m通过调用entropy.m计算教材第59页练习2.3(1)(参考答案:0.8113比特)(三)参照教材第215页离散无记忆信道容量的迭代计算程序建立文件channelcap.m(四)建立文件exercise3_2_b.m通过调用channelcap.m计算教材第92页练习3.2(b)(参考答案:0.0817比特)五、思考题使用计算机编程进行信道容量的迭代计算是否肯定收敛,即是否一定能得出近似正确结果?六、实验报告要求(1)简述实验目的、实验原理和实验任务;(2)列出源程序代码;(3)给出计算结果(4)收获与体会。

信息论与编码技术》实验教案

信息论与编码技术》实验教案

信息论与编码技术实验教案第一章:信息论基础1.1 实验目的1. 了解信息的基本概念及其度量方法;2. 掌握信息的熵、冗余度和信道容量等基本概念。

1.2 实验原理1. 信息的基本概念:信息、消息、信源等;2. 信息的度量:平均信息量、熵、冗余度等;3. 信道容量和编码定理。

1.3 实验设备与材料1. 计算机及投影仪;2. 相关实验软件。

1.4 实验步骤1. 讲解信息的基本概念及其度量方法;2. 分析实际例子,演示信息的熵、冗余度和信道容量的计算过程;3. 让学生通过实验软件进行相关计算和分析。

1.5 思考与讨论1. 信息量与消息长度的关系;2. 信道容量在实际通信系统中的应用。

第二章:数字基带编码2.1 实验目的1. 掌握数字基带编码的基本原理;2. 学会使用相关软件进行数字基带编码的仿真。

2.2 实验原理1. 数字基带编码的定义和分类;2. 常用数字基带编码方法:NRZ、RZ、曼彻斯特编码等;3. 数字基带编码的性能评估:误码率、带宽利用率等。

2.3 实验设备与材料1. 计算机及投影仪;2. 相关实验软件。

2.4 实验步骤1. 讲解数字基带编码的基本原理和方法;2. 演示常用数字基带编码的仿真效果;3. 让学生通过实验软件进行数字基带编码的仿真实验。

2.5 思考与讨论1. 数字基带编码的优缺点;2. 如何在实际通信系统中选择合适的基带编码方法。

第三章:信道编码与误码控制3.1 实验目的1. 了解信道编码的基本原理;2. 掌握常见的信道编码方法;3. 学会使用相关软件进行信道编码的仿真。

3.2 实验原理1. 信道编码的定义和作用;2. 常用信道编码方法:卷积编码、汉明编码、里德-所罗门编码等;3. 误码控制原理:检错、纠错等。

3.3 实验设备与材料1. 计算机及投影仪;2. 相关实验软件。

3.4 实验步骤1. 讲解信道编码的基本原理和方法;2. 演示常用信道编码的仿真效果;3. 让学生通过实验软件进行信道编码的仿真实验。

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

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

实验一 信道容量的迭代算法一、 实验目的1、掌握信道容量的概念。

2、了解迭代法计算信道容量的流程。

3、熟悉Matlab 程序的设计和调试方法。

二、 实验要求1、学习Matlab 软件编程和调试方法;2、输入:任意一个信道转移概率矩阵。

包括信源符号个数、信宿符号个数、信道转移概率,在程序运行时从键盘输入;3、输出:输入的信道矩阵、信道容量C 。

三、 算法描述1. 初始化信源分布),,,,,(21)0(r i p p p p p ⋅⋅⋅⋅⋅⋅= (一般初始化为均匀分布),置迭代计数器0=k ,设信道容量相对误差门限为,0,>δδ可设-∞=)0(C ; 2. r i p pp p i k i ij k i ij k ji ,,2,1)()()(⋅⋅⋅==∑ϕ;s j ,,1⋅⋅⋅= 3. r i p p p i j k ji ij j k ji ij k i ,,1ln exp ln exp )()()1(⋅⋅⋅=⎪⎭⎪⎬⎫⎪⎩⎪⎨⎧⎥⎦⎤⎢⎣⎡⎥⎦⎤⎢⎣⎡=∑∑∑+ϕϕ 4. ⎪⎭⎪⎬⎫⎪⎩⎪⎨⎧⎥⎦⎤⎢⎣⎡=∑∑+i j k ji ij k p C )()1(ln exp ln ϕ 5. 如果,)1()()1(δ≤-++k k k C C C 转向76. 置迭代序号k k →+1,转向27. 输出)1(+k i p 和)1(+k C 的结果8. 停止四、 实验报告内容1、画出信道容量迭代算法流程图;2、给出实验结果的截图(输入信道矩阵和信道容量计算结果);3、对各种情况的实验结果进行分析和检验。

附:实验用Matlab 源程序。

(如果使用了非给定源程序)实验报告提交:电子文档(邮箱:yangxiaoping2004@ )实验过程:结果出来时,请实验老师检查并做记录(1个结果即可)。

实验二 唯一可译码判决准则一、 实验目的1、了解唯一可译码的概念。

2、掌握唯一可译码判决准则。

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

信息论实验指导书

信息论实验指导书

信息理论与编码实验指导书电子与电气工程学院罗晓琴编实验要求1、实验前认真阅读实验指导书的内容,并完成预习任务。

2、复习Matlab的相关知识,完成仿真。

3、要熟悉本次实验的任务。

4、实验过程中要认真记录实验结果,仿真结果需经指导教师审阅。

5、实验后每位同学要独立完成实验报告的内容。

目录实验一离散信源的自信息量和熵 (3)实验二最大离散熵定理 (6)实验三费诺编码 (9)实验四霍夫曼编码 (13)实验五香农编码 (16)实验一:计算离散信源的自信息量和熵一、实验目的1、熟悉离散信源的特点。

2、学习Matlab仿真离散信源的方法。

3、学习离散信源自信息量和信源熵的计算方法。

4、熟悉 Matlab 编程。

二、实验设备1、计算机2、软件:Matlab三、实验原理本实验主要完成信源概率分布的自信息量以及信源熵的计算。

计算公式如下:一个字符它所携带的信息量是和该字符出现的概率有关,概率可以表征自信息量的大小自信息的计算公式为:21()l o g aI a p 自信息量有两个含义:第一、当事件发生前,表示该事件发生的不确定性;第二、当事件发生后,标是该事件所提供的信息量.自信息量的单位取决于对数所取的底,若以2为底,单位为比特,以e 为底,单位为奈特,以10为底,单位为哈特。

在通信系统中,通常取比特为单位,底数2略去不写。

由于自信息I(a)是一个随机变量,不能用来表征整个信源的不确定度。

所以我们用平均自信息量来表征整个信源的不确定度。

平均自信息量就是信源输出所有消息的自信息的数学期望,又称为信息熵、信源熵,简称熵。

熵(平均自信息)的计算公式为:22111()log log qq i i i i i i H x p p p p ====-∑∑ 信息熵H (x )是对信源的平均不确定性的描述。

它从平均意义上来表征信源的总体信息测度。

对于某特定的信源,其信息熵是一个确定的数值。

信息熵具有如下三种物理意义。

第一,信息熵H (x )是表示信源输出后,每个消息或符号所提供的平均信息量。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一 绘制二进熵函数曲线(2个学时)一、实验目的:1. 掌握Excel 的数据填充、公式运算和图表制作2. 掌握Matlab 绘图函数3. 掌握、理解熵函数表达式及其性质 二、实验要求:1. 提前预习实验,认真阅读实验原理以及相应的参考书。

2. 在实验报告中给出二进制熵函数曲线图 三、实验原理:1. Excel 的图表功能2. 信源熵的概念及性质()()[]()[]())(1)(1 .log )( .)( 1log 1log )(log )()(10 , 110)(21Q H P H Q P H b nX H a p H p p p p x p x p X H p p p x x X P X ii i λλλλ-+≥-+≤=--+-=-=≤≤⎩⎨⎧⎭⎬⎫-===⎥⎦⎤⎢⎣⎡∑四、实验内容:用Excel 或Matlab 软件制作二进熵函数曲线。

具体步骤如下:1、启动Excel 应用程序。

2、准备一组数据p 。

在Excel 的一个工作表的A 列(或其它列)输入一组p ,取步长为0.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 的图表向导,图表类型选“XY 散点图”,子图表类型选“无数据点平滑散点图”,数据区域用计算出的H(p)数据所在列范围,即$B$1:$B$101。

在“系列”中输入X值(即p值)范围,即$A$1:$A$101。

在X轴输入标题概率,在Y轴输入标题信源熵。

实验步骤:我是使用MATLAB来做的第一个实验,以下是我的代码1.我先编了一个函数,实现对信息熵的求导function h=Hp(p)%熵函数计算,输入是概率p(标量或一维矢量)%输出是h,与p同维度h=zeros(1,length(p));index=find(p>0&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)实现香农编码的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.结果如下:下面是香农编码的流程图:实验三:Huffman编码软件实现(2个学时)1、实验目的(1)进一步熟悉Huffman编码过程;(2)掌握C语言递归程序的设计和调试技术(或者使用Matlab)。

2、实验要求(1)输入:信源符号个数r、信源的概率分布P;(2)输出:每个信源符号对应的Huffman编码的码字。

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

(2)部分伪代码:(一)节点信息结构体struct HuffNode{int weight;//信源符号的概率int parent;int lchild;int rchild;};(二)算法void Huffman(int weight[], int n, HuffNode hn[], HuffCode hc[]){for(i = 0; i != 2*n - 1; ++i) //create Huffman Node,step 1{}for(i = 0; i != n-1; ++i) //create Huffman Node, step 2{for(j = 0; j != n+i; j++){ if(hn[j].weight < min1 && hn[j].parent == 0){}else if(hn[j].weight < min2 && hn[j].parent == 0){}else ;}}在此逆序存储Huffman编码int temp[maxlen];for(i = 0; i != n; ++i){int parent = hn[i].parent;while(hn[child].parent != 0){}4、实验报告(1)简要总结Huffman编码的原理与特点(2)写出Huffman编码的基本步骤,画出实现Huffman编码的程序流程图(3)给出Huffman编码的源程序,并给出实验过程中的测试结果(4)总结实验过程遇到的问题及解决方法实验步骤:1.哈夫曼编码是编码效率最高的编码方式,属于无损压缩编码。

2.下面是在matlab实现哈夫曼编码的代码:结果如下:3.过程中也发现了它的缺点: 哈夫曼码没有错误保护功能,在译码时,如果码串中没有错误,那么就能一个接一个地正确译出代码。

但如果码串中有错误,哪怕仅是 1 位出现错误,不但这个码本身译错,更糟糕的是后面的数据串也会接着被译错,全乱了套,这种现象称为错误传播(error propagation)。

计算机对这种错误也无能为力,说不出错在哪里,更谈不上去纠正。

4.下面是哈夫曼编码的流程图:实验四循环码的编码和译码程序设计一、实验目的:1.通过实验了解循环码的工作原理。

2.了解生成多项式g(x)与编码、译码的关系。

3.了解码距d与纠、检错能力之间的关系。

4.分析(7.3)循环码的纠错能力。

二、实验要求:1、编、译码用上述的计算法程序框图编写。

2、计算出所有的码字集合,可纠错误图样E(x)表和对应的错误伴随式表。

3、考查和分析该码检、纠一、二位错误的能力情况。

4、整理好所有的程序清单,变量名尽量用程序框图所给名称,并作注释。

5、出示软件报告.三、实验设计原理1、循环码编码原理设有一(n,k)循环码,码字C=[Cn-1…CrCr-1…C0],其中r=n-k。

码字多项式为:C(x)= Cn-1xn-1+Cn-2xn-2+…C1x+C0。

码字的生成多项式为:g(x)=gr-1xr-1gr-2xr-2+…+g1x+g0待编码的信息多项式为:m(x)=mK-1xK-1+…+m0xn-k.m(x)=Cn-1xn-1+…+Cn-Kxn-K 对于系统码有:Cn-1=mK-1,Cn-2=mK-2,…Cn-K=Cr=m0设监督多项式为:r(x)=Cr-1Xr-1+…+C1x+C0根据循环码的定义,则有:C(x)=xn-Km(x)+r(x)=q(x).g(x)Xn-Km(x)=q(x).g(x)+r(x)r(x)=Rg(x)[xn-Km(x)]即监督多项式是将多项式xn-Km(x)除以g(x)所得的余式。

编码过程就是如何根据生成多项式完成除法运算求取监督多项式的过程。

设循环码(7.3)码的字多项式为:C(x)=C6x6+C5x5+C4x4+C3x3+C2x2C1x+C0(n=7)生成多项式为: g(x)=x4+x2+x+1信息多项式为: m(x)=m2x2+m1x+m0 (k=3), 设m(x)=x2+x监督多项式为: r(x)= Cr-1Xr-1+…+C1x+C0根据循环码的定义:生成多项式的倍式均是码字,编码实际上是做xn-•km(x)除以g(x)的运算求得r(x)。

编码程序框图见图4.1(a)左,二进制多项式除法示意图见图4.1(b)。

2、译码原理设R(x)为接收码字多项式,E(x)为错误图样多项式,S(x)为伴随式,则根据循环码的性质有:S(x)=Rg(x)[R(x)]=Rg(x)[E(x)]当R(x)=C(x)时,有E(x)=0,S(x)=0当R(x)不等于C(x)时,有E(x)为非0,S(x)为非0(a)编码计算程序框图(b)二进制多项式除法示意图图4.1编码计算程序框图及多项式除法示意图译码过程如下:计算每一种可能被纠的错误图样E(x)的伴随式,Si(x)=Rg(x)[E(x)]本地作数据表存储好。

根据已接收码字多项式R(x),计算相应的伴随式:S(x)=Rg(x)[R(x)]将实际接收码字求出的S(x)与本地存储的各Si(x)相比较,查出两者相等的那个唯一匹配的Si(x),找出并得到相应的错误图样E(x)。

(4) 纠错: C(x)=R(x)+E(x)否则由S(x)找不出唯一匹配的Si(x),则报出错信息,表示出现不可纠错的错误图样,即码元出错的个数超出该循环码的纠错能力。

译码流程图4.2所示:图4.2 译码程序流程图六、完成实验报告(1)简要总结循环码编译码原理与特点(2)写出循环码的基本步骤,画出实现循环码的程序流程图(3)给出循环码的源程序,并给出实验过程中的测试结果(4)总结实验过程遇到的问题及解决方法实验步骤:1.循环码:无权码,每位代码无固定权值,任何相邻的两个码组中,仅有一位代码不同。

2下面是循环码的程序流程图:3.下面是用matlab实现循环码的编译码的程序代码:4.过程中主要是运用对二进除法的理解。

相关文档
最新文档