线性分组码的编码与译码

线性分组码的编码与译码
线性分组码的编码与译码

···················

实践教学

···················

大学

计算机与通信学院

2014年秋季学期

计算机通信课程设计

题目:线性分组码(9,4)码的编译码仿真设计

专业班级:

姓名:

学号:

指导教师:

成绩:

摘要

该系统是(9,4)线性分组码的编码和译码的实现,它可以对输入的四位的信息码进行线性分组码编码,对于接收到的九位码字可以进行译码,从而译出四位信息码。

当接收到的九位码字中有一位发生错误时,可以纠正这一位错码;当接收到的码字有两位发生错误时,只能纠正一位错误,但同时能检测出另一位错误不能纠正。只有特定位有两位错误时,才能纠正两位错误。这样就译出正确的信息码组,整个过程是用MATLAB语言实现的。

关键词:编码; 译码; 纠错

目录

摘要 (1)

目录 (2)

1. 信道编码概述 (2)

1.1信道模型 (2)

1.2 抗干扰信道编码定理及逆定理 (3)

1.3 检错与纠错的基本原理 (4)

1.4 限失真编码定理 (5)

2.线性分组码的编码 (6)

2.1 生成矩阵 (6)

2.2 校验矩阵 (9)

2.3 伴随式与译码 (10)

3. 线性分组码编码的Matlab仿真 (12)

3.1 程序流程图 (12)

3.2 程序执行结果 (12)

3.2 线性分组码译码的Matlab仿真 (13)

3.3结果分析 (15)

参考文献 (16)

总结 (17)

致谢 (18)

附录 (19)

前言

由于计算机、卫星通信及高速数据网的飞速发展,数据的交换、处理和存储技术得到了广泛的应用,数字信号在传输中往往由于各种原因,使得在传送的数据流中产生误码,从而使接收端产生图象跳跃、不连续、出现马赛克等现象,人们对数据传输和存储系统的可靠性提出来了越来越高的要求,经过长时间的努力,通过编译码来控制差错、提高可靠性的方式在信道传输中得到了大量的使用和发展,并形成了一门新的技术叫做纠错编码技术,纠错编码按其码字结构形式和对信息序列处理方式的不同分为两大类:分组码和卷积码。

目前,绝大多数的数字计算机和数字通信系统中广泛采用二进制形式的码。而线性分组码具有编译码简单,封闭性好等特点,采用差错控制编码技术是提高数字通信可靠性的有效方法,是目前较为流行的差错控制编码技术。

对线性分组码的讨论都在有限域GF(2)上进行,域中元素为{0,1},域中元素计算为模二加法和模二乘法。分组码是一组固定长度的码组,可表示为(n , k),通常它用于前向纠错。在分组码中,监督位被加到信息位之后,形成新的码。在编码时,k个信息位被编为n位码组长度,而n-k个监督位的作用就是实现检错与纠错。

对于长度为n的二进制线性分组码,它有种2n可能的码组,从2n种码组中,可以选择M=2k个码组(k

1. 信道编码概述

1.1信道模型

信息必须首先转换成能在信道中传输或存储的信息后才能通过信道传送给收信者。在信息传输过程中,噪声或干扰主要是从信道引入的,它使信息通过信道传输后产生错误和失真。因此信道的输入和输出之间一般不是确定的函数关系,而是统计依赖的关系。只要知道信道的输入信号、输出信号以及它们之间的统计依赖关系,就可以确定信道的全部特性。

信道的种类很多,这里只研究无反馈、固定参数的单用户离散信道。

1.离散信道的数学模型

离散信道的数学模型一般如图6.1所示。图中输入和输出信号用随机矢量表示,输入信号为

X = (X 1, X 2,…, X N ),输出信号为Y = (Y 1, Y 2,…, Y N );每个随机变量X i 和Y i 又分别取值于符号集A ={a 1, a 2, …, a r }和B ={b 1, b 2, …, b s },其中r 不一定等于s ;条件概率P (y |x )

描述了输入信号和输出信号之间的统计依赖关系,反映了信道的统计特性。

),...,,(21N X X X X = )|(x y P ),...,,(21N Y Y Y Y =

∑=1)|(x y P

图1.1 离散信道模型

根据信道的统计特性即条件概率P (y |x ) 的不同,离散信道可以分为三种情况:

(1)无干扰信道。信道中没有随机干扰或干扰很小,输出信号Y 与输入信号X 之间有确定的一一对应的关系。

(2)有干扰无记忆信道。实际信道中常有干扰,即输出符号与输入符号之间没有确定的对应关系。若信道任一时刻的输出符号只统计依赖于对应时刻的输入符号,而与非对应时刻的输入符号及其他任何时刻的输出符号无关,则这种信道称为无记忆信道。

(3)有干扰有记忆信道。这是更一般的情况,既有干扰又有记忆,实际信道往往是这种类型。在这一类信道中某一瞬间的输出符号不但与对应时刻的输入符号有关,而且与此前其他时刻信道的输入符号及输出符号有关,这样的信道称为有记忆信道。

2.单符号离散信道的数学模型

单符号离散信道的输入变量为X ,取值于{a 1, a 2, …, a r },输出变量为Y ,取值

于{b 1, b 2, …, b s },并有条件概率

P (y |x )= P (y=b j |x=a i )= P (b j |a i ) (i =1,2,…,r ;j =1,2,…,s )

这一组条件概率称为信道的传递概率或转移概率。

因为信道中有干扰(噪声)存在,信道输入为x =a i 时,输出是哪一个符号y ,事先无法确定。但信道输出一定是b 1, b 2, …, b s 中的一个,即有

∑==s j i j a b

P 11)|( (i =1,2,…,r )

(1-1) 由于信道的干扰使输入符号x 在传输中发生错误,所以可以用传递概率P (b j |a i );,,2,1(r i =

),,2,1s j =来描述干扰影响的大小。因此,一般简单的单符号离散信道的数学模型可以用概率空间[Y x y P X ),|(,]加以描述。另外,也可以用图来描述,如图1.2所示。 ?????????

a a X 21 Y

b b b s ?????????

21

定义1.1 已知发送符号为a i ,通过信道传输接收到的符号为b j 的概率P (b j |a i )称为前向概率。已知信道输出端接收到的符号为b j ,而发送符号为a i 的概率P (a i |b j ),称为后向概率。

有时,也把P (a i )称为输入符号的先验概率(即在接收到一个输出符号以前输入符号的概率),而对应地把P (a i |b j )称为输入符号的后验概率(在接收到一个输出符号以后输入符号的概率)。

为了讨论方便,下面列出本章讨论中常用的一些关于联合概率和条件概率的关系:

(1) 设输入和输出符号的联合概率为P (x = a i , y = b j )=P (a i b j ),则有

)|()()|()()(j i j i j i j i b a P b P a b P a P b a P == (2) ∑==r i i j i j a b P a P b P 1)|()()( (s j ,,1 =)。

(3) 根据贝叶斯定律,可得后验概率与先验概率之间的关系

)()

()|(j j i j i b P b a P b a P = (0)(≠b P j ) =∑=r i i

j i i j i a b P a P a b P a P 1)|()()|()( (s j r i ,,2,1;,,2,1 ==)

1.2 抗干扰信道编码定理及逆定理 定理1.1 有噪信道编码定理

设离散无记忆信道[X ,P (y |x ),Y ], P (y |x )为信道传递概率,其信道容量为C 。当信息传输率R

一组码和相应的译码规则,使译码的错误概率任意小(P E 0→)。

在定理6.1中,信道容量C 是平均互信息量的最大值

),(max )

(Y X I C x p = 其单位是“bit/符号”。

定理1.2 有噪信道编码逆定理(定理6.1的逆定理)

设离散无记忆信道[X ,P (y |x ),Y ],其信道容量为C 。当信息传输率R >C 时,则无论码长n 多长,均找不到一种编码2nR ,使译码错误概率任意小。

定理1.1和定理1.2统称为申农第二定理,它是一个关于有效编码的存在性定理,它具有根本性的重要意义,它说明错误概率趋于零的好码是存在的。它有助于指导各种通信系统的设计,有助于评价各种通信系统及编码的效率。申农1948年发表申农第二定理后,科学家就致力于研究信道中的各种易于实现的实际编码方法,赋予码以各种形式的代数结构,出现了各种形式的代数编码、卷积码、循环码等。

1.3 检错与纠错的基本原理

在申农第二定理发表后,很长一段时间内人们都在探寻能够简单、有效地编码和译码的好码。由此形成了一整套纠错码理论。在此只简单地介绍检错和纠错的一些基本概念及基本原理。

在信息处理过程中,为了保持数据的正确性应对信息进行编码使其具有检错纠错能力,这种编码称为语法信息编码。它的基本思想是引入剩余度,在传输的信息码元后增加一些多余的码元,以使信息损失或错误后仍能在接收端恢复。

通常将要处理的信息称为原信息,将原信息转化为数字信息后再进行存储、传输等处理过程称为传送。工程上最容易实现的是二元数字信息(或二元码信息)的传送。所谓二元数字信息就是由二元数域F 2={0,1}中的数字0与1组成的数组或向量。

定义1.3 设X =(x 1, x 2,…, x n ),Y =(y 1, y 2,…, y n ),x i ∈F 2,y i ∈F 2,i =1,…, n ,称

X 和Y 对应分量不相等的分量个数为X 和Y 的汉明(Hamming )距离,记为d (X , Y )。

则 d (X , Y )= d (x 1, y 1)+ d (x 2, y 2)+…+ d (x n , y n )

容易证明以下定理。

定理1.4 设X 和Y 是长为n 的二元码字,则

(1)n Y X d ≤≤),(0(非负且有界性)

(2)d (X , Y )=0当且仅当X =Y (自反性)

(3)d (X , Y )= d (Y , X )(对称性)

(4)),(),(),(Z Y d Y X d Z X d +≤(三角不等式)

1.4 限失真编码定理

申农第一定理和申农第二定理指明:无论是无噪声信道还是有噪声信道,只要信道的信息传输率R 小于信道容量C ,总能找到一种编码,在信道上以任意小的错误概率和任意接近信道容量的信息传输率传输信息。反之,若信道信息传输率R 大于信道容量C ,一定不能使传输错误概率任意小,传输必然失真。

实际上,人们并不需要完全无失真地恢复信息,只是要求在一定保真度下,近似恢复信源输出的信息。比如,人类主要是通过视觉和听觉获取信息,人的视觉大多数情况下对于25帧以上的图像就认为是连续的,通常人们只需传送每秒25帧的图像就能满足通过视觉感知信息的要求,而不必占用更大的信息传输率。而大多数人只能听到几千赫兹到十几千赫兹,即便是训练有素的音乐家,一般也不过能听到20千赫兹的声音。所以,在实际生活中,通常只是要求在保证一定质量的前提下在信宿近似地再现信源输出的信息,或者说在保真度准则下,允许信源输出的信息到达信宿时有一定的失真。

对于给定的信源,在允许的失真条件下,信源熵所能压缩的极限理论值是多少?申农(Shannon )的重要论文“保真度准则下的离散信源编码定理”论述了在限定范围内的信源编码定理。限失真信源编码的信息率失真理论是信号量化、模数转换、频带压缩和数据压缩的理论基础,在图像处理、数字通信等领域得到广泛的应用。

所谓信道产生的失真d (x n , y m )是指:当信道输入为x n 时,输出得到的是y m ,其差异或损失,称为译码失真,可描述为 而平均译码失真则是

如果要求平均译码失真小于某个给定值D ,即

也就是对P (Y |X )施加一定的限制。把满足上式的那些P (Y |X )记为P D ,在集合P D 中寻找一个P (Y |X )使I (Y |X )极小,把这个极小值称为在D d ≤的条件下所必须传送的信息速率,并记为R (D ),即 R(D)=min(X;Y)

RD

???≠>==m

n m

n m n y x a y x y x d 00),(∑∑===N n M m m n n m n y x d x y p x p d 11)

,()|()(D y x d x y p x

p d N n M m m n n m n ≤=∑∑==11),()|()(

线性分组码的信道编码和译码

clear; clc; %编码 G=input('请输入生成矩阵G,例如:G=[1 0 1 1 1;0 1 1 0 1]\n G='); [k,n]=size(G); r=n-k; m=input('请输入需传送信息m,如m=[0 0 0 1 1 0 1 1]\n m='); l=length(m); if(mod(l,k)) disp('输入的信息有误'); else ge=l/k; %将输入序列转化成矩阵m temp1=[]; for i=1:ge temp1(i,:)=m(k*(i-1)+1:i*k); end m=temp1; %求校验矩阵H c=mod(m*G,2); A=G(:,k+1:n); H=[A',eye(r)]; disp('校验矩阵');H disp('译码矩阵');c end disp('敲回车键继续'); pause %解码 y=input('输入接收序列y,如:y=[0 0 0 0 0 0 1 1 0 1 1 0 1 1 1 1 0 0 1 0]\n y='); temp2=[]; for i=1:ge temp2(i,:)=y(1,n*(i-1)+1:i*n); end y=temp2 s=mod(y*H',2); e=s*pinv(H'); for i=1:ge for j=1:n if(e(i,j)>0.5-eps) e(i,j)=1; else e(i,j)=0; end end end cc=mod(y+e,2); %cc=xor(y,e) sc=cc(:,1:2); disp('差错图样'); e disp('估计值'); cc disp('译码序列'); sc

线性分组码实验报告(DOC)

综合性设计性实验报告 专业: 学号: 姓名: 实验所属课程:信息论与编码 实验室(中心):信息技术软件实验室 指导教师: 2

教师评阅意见: 签名:年月日实验成绩: 一、题目 线性分组码编译码实验 二、仿真要求 1.分别用不同的生成矩阵进行(7,4)线性分组码的编码,经调制解调后译 码,并比较两种线性分组码的纠错能力。 2.掌握线性分组码的编码原理、编码步骤和译码方法。 3.熟悉matlab软件的基本操作,学会用matlab软件进行线性分组码的编码 和译码。 三、仿真方案详细设计 编码: 本实验采用的是(7,4)线性分组码,线性分组码的编码由监督矩阵和生成矩阵实现,监督矩阵H为(3×4)的矩阵,由监督方程和(4×4)的单位矩阵构成,生成矩阵G为(4×7)的矩阵,由(4×4)的单位矩阵和监督矩阵的转置矩阵构成。实现过程为: 1、将要编码的序列先整形,整为4列 2、如果序列不能被4整除在后边补0使其能被4整除 3、将整形后的序列与生成矩阵G相乘即得到编码后的码字 在本实验中,分别生成两种生成矩阵,在产生了生成矩阵后根据输入的四位信息位和生成矩阵相乘即可得到编码矩阵。

译码: 在译码过程中,我们利用错误图样和伴随式来进行纠错。 1、设一个接收码字矩阵为R,R*H'=S(模2乘),则S为码字对应的伴随 式矩阵如果S=0则说明接受码字无差错; 2、如果S不为0,查看矩阵S中不为0的那行所在行数,该行即收码字错 误所在行i; 3、将S转置,将不为0的一列与H每一列进行比较,找到H中相同列,该 列的列数即为错误所在列; 4、由步骤2和3得到错误具体位置,模2加对应的错误图样就可得到正确 码字。 BPSK调制: BPSK调制利用载波的相位变化来传递数字信息,振幅和频率保持不变。双极性的全占空矩形脉冲序列与正弦载波相乘就得到调制信号。因此进行调制时首先进行码形变换变为双极性的,再经乘法器与载波相乘得到调制信号。其具体实现方法如下: 1、将0、1序列变为-1、1序列; 2、将序列与载波相乘,为‘1’时与载波相位相同,为‘-1’时与载波相位相反。 BPSK解调: 解调是产生一个与载波频率相同的本地载波,与经信道加噪后的调制信号相乘,得到解调信号,进而通过抽样判决得出原始信号。解调是调制的逆过程,其作用是从接受信号中恢复出原基带信号。解调的方法分为两类:相干解调和非相干解调(如包络检波)。相干解调也称同步检波,适用于所有线性调制信号的解调。其关键是必须在已调信号的接收端产生与信号载波同频同相的本地载波。本次仿真实验采用的是相干解调法,调制信号与想干载波相乘,经过低通滤波器,再抽样判决得到原信号。通过产生一个与载波频率相同的本地载波,与经信道加噪后的调制信号相乘,得到解调信号,然后通过低通滤波器滤波器再抽样判决,得出解调后的原始信号。

信息论与编码复习题目

信息论复习提纲 第一章绪论 1.通信系统模型; 2.香浓信息的概念; 3.信源、信道、信源编码和信道编码研究的核心问题。 第二章离散信源及信源熵 1.离散信息量、联合信息量、条件信息量、互信息量定义; 2.信源熵、条件熵、联合熵定义; 3.平均互信息量定义、性质、三种表达式及物理意义,与其它熵的关系(不证明); 4.最大信源熵定理及证明; 5.本章所有讲过的例题; 第三章离散信源的信源编码 1.信息传输速率、编码效率定义; 2.最佳编码定理(即节定理:概率越大,码长越小;概率越小,码长越大)及证明; 3.码组为即时码的充要条件; 4.单义可译定理(Kraft不等式)及应用; 5.费诺编码方法、霍夫曼编码方法应用(二进制,三进制,四进制);6.本章所有讲过的例题; 第四章离散信道容量 1.利用信道矩阵计算信道容量(离散无噪信道、强对称离散信道、对称离

散信道、准对称离散信道); 2.本章讲过的例题; 第五章连续消息和连续信道 1.相对熵的定义; 2.均匀分布、高斯分布、指数分布的相对熵及证明; 3.峰值功率受限条件下的最大熵定理及证明,平均功率受限条件下的最大熵定理及证明,均值受限条件下的最大熵定理及证明; 4.香农公式及意义; 5.本章所有讲过的例题; 第六章差错控制 1.重量、最小重量、汉明距离、最小汉明距离、编码效率的定义;2.最小距离与检错、纠错的关系(即节定理); 3.本章所有讲过的例题; 第七章线性分组码 1.线性分组码定义; 2.线性分组码的最小距离与最小重量的关系及证明; 3.生成矩阵、一致校验矩阵定义,给出线性方程组求出生成矩阵和一致校验矩阵的标准形式,生成矩阵与一致校验矩阵的关系; 4.制作标准阵列并利用标准阵列译码; 5.本章所有讲过的例题; 第八章循环码 1.生成多项式的特点,有关定理(三定理1,定理2,定理3)及证明;

线性分组码编码的分析与实现

课程设计任务书 2011—2012学年第一学期 专业:通信工程学号:080110501 姓名:李琼 课程设计名称:信息论与编码课程设计 设计题目:线性分组码编码的分析与实现 完成期限:自2011 年12 月19 日至2011 年12 月25 日共 1 周一.设计目的 1、深刻理解信道编码的基本思想与目的; 2、理解线性分组码的基本原理与编码过程; 3、提高综合运用所学理论知识独立分析和解决问题的能力; 4、使用MATLAB或其他语言进行编程。 二.设计内容 给定消息组M及生成矩阵G,编程求解其线性分组码码字。 三.设计要求 编写的函数要有通用性。 四.设计条件 计算机、MATLAB或其他语言环境 五.参考资料 [1]曹雪虹,张宗橙.信息论与编码.北京:清华大学出版社,2007. [2]王慧琴.数字图像处理.北京:北京邮电大学出版社,2007. 指导教师(签字):教研室主任(签字): 批准日期:年月日

该系统是(6,3)线性分组码的编码的实现,它可以对输入的三位的信息码进行线性分组码编码。 当接收到的六位码字中有一位发生错误时,可以纠正这一位错码;当接收到的码字有两位发生错误时,只能纠正一位错误,但同时能检测出另一位错误不能纠正。只有特定位有两位错误时,才能纠正两位错误。这样就译出正确的信息码组,整个过程是用MATLAB语言实现的。 关键词:编码;MA TLAB;纠错

1课程描述 0 2 设计原理 (1) 2.1 线性分组码的编码 (1) 2.1.1 生成矩阵 (1) 2.1.2 校验矩阵 (3) 2.2 伴随式与译码 (4) 2.2.1 码的距离及纠检错能力 (4) 2.2.2 伴随式与译码 (4) 3 设计过程 (5) 3.1 编码过程 (5) 3.2 仿真程序 (7) 3.4 结果分析 (11) 总结 (13) 致谢 (14) 参考文献 (15)

实验二线性分组码的编译码报告

信息论与编码实验报告 理学院班级学号(后两位)姓名 理学院班级学号(后两位)姓名 实验名称 实验二、线性分组码的编译码 实验设备 (1)计算机(2)所用软件:Matlab 或者C 实验目的 了解线性分组码编译码的基本原理及其特点;熟练掌握线性分组码编译码的方法与步骤;实验内容 根据线性分组码编译码的方法步骤,编写对应编译码程序; 实验报告要求 简要总结线性分组码编码和采用伴随式纠错译码的基本原理及步骤; 讨论(6,3)线性分组码的编码。系统生成矩阵如教材P91页例5.2.4所示。手工录入或电脑随机生成一段消息序列,实现线性分组码的编码的Matlab源程序。(1星) 实现对上述无差错的编码进行译码的Matlab源程序。(2星) 在上述编码后的码序列中,每隔6位产生一位或0位随机误差,然后采用伴随式纠错译码,恢复原来的消息序列。(2星) 5、友好界面。(3星) 实验报告在实验后一周内交给老师,报告单一律用A4纸写,以此单为封面,装订成册。 完成时间:2016年5月9 日 简要总结线性分组码编译码的基本原理及步骤; 分组码是一组固定长度的码组,可表示为(n , k),通常它用于前向纠错。在分组码中,监督位被加到信息位之后,形成新的码。在编码时,k个信息位被编为n位码组长度,而n-k 个监督位的作用就是实现检错与纠错。对于长度为n的二进制线性分组码,它有种2n可能的码组,从2n种码组中,可以选择M=2k个码组(k

线性分组码编码的分析与实现课程设计说明书

摘要 该系统是(6,3)线性分组码的编码和译码的实现,它可以对输入的三位的信息码进行线性分组码编码,对于接收到的六位码字可以进行译码,从而译出三位信息码。 当接收到的六位码字中有一位发生错误时,可以纠正这一位错码;当接收到的码字有两位发生错误时,只能纠正一位错误,但同时能检测出另一位错误不能纠正。只有特定位有两位错误时,才能纠正两位错误。这样就译出正确的信息码组,整个过程是用MATLAB语言实现的。 关键词:编码; 译码; 纠错

目录 1 课题描述 (1) 2 设计原理 (4) 2.1MATLAB概述 (5) 2.2 线性分组码的编码 (5) 2.2.1 生成矩阵 (5) 2.2.2 校验矩阵 (8) 2.3 伴随式与译码 (9) 2.3.1 码的距离及纠检错能力 (9) 2.3.2 伴随式与译码 (9) 3 设计过程 (10) 3.1 编码过程 (10) 3.2 译码过程 (11) 4 仿真程序及结果分析 (14) 4.1 仿真程序 (14) 4.2 仿真结果 (16) 4.3 结果分析 (18) 总结 (19) 参考文献 (20)

1课题描述 近年来,随着计算机、卫星通信及高速数据网的飞速发展,数据的交换、处理和存储技术得到了广泛的应用,人们对数据传输和存储系统的可靠性提出了越来越高的要求。因此,如何控制差错、提高数据传输和存储的可靠性,成为现代数字通信系统设计的重要课题。 目前,绝大多数的数字计算机和数字通信系统中广泛采用二进制形式的码。而线性分组码具有编译码简单,封闭性好等特点,采用差错控制编码技术是提高数字通信可靠性的有效方法,是目前较为流行的差错控制编码技术。 对线性分组码的讨论都在有限域GF(2)上进行,域中元素为{0,1},域中元素计算为模二加法和模二乘法。分组码是一组固定长度的码组,可表示为(n , k),通常它用于前向纠错。在分组码中,监督位被加到信息位之后,形成新的码。在编码时,k个信息位被编为n位码组长度,而n-k个监督位的作用就是实现检错与纠错。 对于长度为n的二进制线性分组码,它有种2n可能的码组,从2n种码组中,可以选择M=2k个码组(k

线性分组码的编码与译码

· 实践教学 · 大学 计算机与通信学院 2014年秋季学期 计算机通信课程设计 题目:线性分组码(9,4)码的编译码仿真设计

专业班级:姓名:学号:指导教师:成绩:

摘要 该系统是(9,4)线性分组码的编码和译码的实现,它可以对输入的四位的信息码进行线性分组码编码,对于接收到的九位码字可以进行译码,从而译出四位信息码。 当接收到的九位码字中有一位发生错误时,可以纠正这一位错码;当接收到的码字有两位发生错误时,只能纠正一位错误,但同时能检测出另一位错误不能纠正。只有特定位有两位错误时,才能纠正两位错误。这样就译出正确的信息码组,整个过程是用MATLAB语言实现的。 关键词:编码; 译码; 纠错

目录 摘要 (1) 目录 (2) 1. 信道编码概述 (2) 1.1信道模型 (2) 1.2 抗干扰信道编码定理及逆定理 (3) 1.3 检错与纠错的基本原理 (4) 1.4 限失真编码定理 (5) 2.线性分组码的编码 (6) 2.1 生成矩阵 (6) 2.2 校验矩阵 (9) 2.3 伴随式与译码 (10) 3. 线性分组码编码的Matlab仿真 (12) 3.1 程序流程图 (12) 3.2 程序执行结果 (12) 3.2 线性分组码译码的Matlab仿真 (13) 3.3结果分析 (15) 参考文献 (16) 总结 (17) 致谢 (18) 附录 (19)

前言 由于计算机、卫星通信及高速数据网的飞速发展,数据的交换、处理和存储技术得到了广泛的应用,数字信号在传输中往往由于各种原因,使得在传送的数据流中产生误码,从而使接收端产生图象跳跃、不连续、出现马赛克等现象,人们对数据传输和存储系统的可靠性提出来了越来越高的要求,经过长时间的努力,通过编译码来控制差错、提高可靠性的方式在信道传输中得到了大量的使用和发展,并形成了一门新的技术叫做纠错编码技术,纠错编码按其码字结构形式和对信息序列处理方式的不同分为两大类:分组码和卷积码。 目前,绝大多数的数字计算机和数字通信系统中广泛采用二进制形式的码。而线性分组码具有编译码简单,封闭性好等特点,采用差错控制编码技术是提高数字通信可靠性的有效方法,是目前较为流行的差错控制编码技术。 对线性分组码的讨论都在有限域GF(2)上进行,域中元素为{0,1},域中元素计算为模二加法和模二乘法。分组码是一组固定长度的码组,可表示为(n , k),通常它用于前向纠错。在分组码中,监督位被加到信息位之后,形成新的码。在编码时,k个信息位被编为n位码组长度,而n-k个监督位的作用就是实现检错与纠错。 对于长度为n的二进制线性分组码,它有种2n可能的码组,从2n种码组中,可以选择M=2k个码组(k

(6-3)线性分组码编码分析与实现

吉林建筑大学 电气与电子信息工程学院 信息理论与编码课程设计报告 设计题目:线性分组码编码的分析与实现 专业班级:电子信息工程 学生姓名: 学号: 指导教师: 设计时间: 2014.11.24-2014.12.5

1.1 第1章 概述 1.1 设计的作用、目的 《信息论与编码》是一门理论与实践密切结合的课程,课程设计是其实践性教学环节之一,同时也是对课堂所学理论知识的巩固和补充。其主要目的是加深对理论知识的理解,掌握查阅有关资料的技能,提高实践技能,培养独立分析问题、解决问题及实际应用的能力。 通过完成具体编码算法的程序设计和调试工作,提高编程能力,深刻理解信源编码、信道编译码的基本思想和目的,掌握编码的基本原理与编码过程,增强逻辑思维能力,培养和提高自学能力以及综合运用所学理论知识去分析解决实际问题的能力,逐步熟悉开展科学实践的程序和方法。 1.2 设计任务及要求 设计一个(6, 3)线性分组码的编译码程序:完成对任意序列的编码,根据生成矩阵形成监督矩阵,得到伴随式,并根据其进行译码,同时验证工作的正确性。 1.理解信道编码的理论基础,掌握信道编码的基本方法; 2.掌握生成矩阵和一致校验矩阵的作用和求解方法; 3.针对线性分组码分析其纠错能力,并能够对线性分组码进行译码; 4.能够使用MATLAB 或其他语言进行编程,实现编码及纠错,编写的函数要有通用性。 1.3设计内容 已知一个(6,3)线性分组码的Q 矩阵:设码字为(c 5, c 4, c 3, c 2, c 1, c 0) 011101110Q ?? ??=?? ???? 求出标准生成矩阵和标准校验矩阵,完成对任意信息序列(23个许用码字)的编码。 当接收码字R 分别为(000000), (000001), (000010), (000100), (001000), (010000), (100000), (100100)时,写出其伴随式S ,以表格形式写出伴随式与错误图样E 的对应关系。纠错并正确译码,当有两位错码时,假定c 5位和c 2位发生错误。

线性分组码-习题

1. 已知一个(5, 3)线性码C 的生成矩阵为: 11001G 0 11010 1 11?? ??=?????? (1)求系统生成矩阵; (2)列出C 的信息位与系统码字的映射关系; (3)求其最小Hamming 距离,并说明其检错、纠错能力; (4)求校验矩阵H ; (5)列出译码表,求收到r =11101时的译码步骤与译码结果。 解: (1)线性码C 的生成矩阵经如下行变换: 23132110011 00110110101101001110 0111100111 001101101010100011100111???? ??????????→??? ????????? ??????????????→??? ????????? 将第、加到第行 将第加到第行 得到线性码C 的系统生成矩阵为 ?? ?? ??????=111000*********S G (2)码字),,,(110-=n c c c c 的编码函数为 [][][]111000*********)(210m m m m f c ++== 生成了的8个码字如下 (3) 最小汉明距离d =2,所以可检1个错,但不能纠错。

(4) 由],[],,[)()(k n T k n k k n k k n I A H A I G --?-?-==,得校验矩阵 ?? ????=1010101111H (5) 消息序列m =000,001,010,011,100,101,110,111,由c =mGs 得码字序列 c 0=00000, c 1=00111,c 2=01010, c 3=01101, c 4=10011, c 5=10100,c 6=11001, c 7=11110 则译码表如下: 当接收到r =(11101)时,查找码表发现它所在的列的子集头为(01101),所以将它译为c =01101。 2.设(7, 3)线性码的生成矩阵如下 010101000101111001101G ?? ??=?? ???? (1)求系统生成矩阵; (2)求校验矩阵; (3)求最小汉明距离; (4)列出伴随式表。 解: (1)生成矩阵G 经如下行变换 13 23 01010101 0011010010111001011110011010 10101010011011 0011010010111010101001010100010111???? ????????→??? ????????? ?????????????→??? ????????? 交换第、行交换第、行 得到系统生成矩阵: 100110101010100010111S G ?? ??=?? ???? (2)由],[],,[)()(k n T k n k k n k k n I A H A I G --?-?-==,得校验矩阵为

基于MATLAB的线性分组码编译码仿真实现设计说明书

信息工程学院通信工程系 设计题目:基于MATLAB的线性分组码 编译码仿真设计 班级:10通信班 学号: 姓名: 指导老师: 2013 年11 月15 日 成绩:

摘要 该系统是(6,3)线性分组码的编码和译码的实现,它可以对输入的三位的信息码进行线性分组码编码,对于接收到的六位码字可以进行译码,从而译出三位信息码。 当接收到的六位码字中有一位发生错误时,可以纠正这一位错码;当接收到的码字有两位发生错误时,只能纠正一位错误,但同时能检测出另一位错误不能纠正。只有特定位有两位错误时,才能纠正两位错误。这样就译出正确的信息码组,整个过程是用MATLAB语言实现的。 关键词:编码; 译码; 纠错

目录 前言 (2) 第1章设计目标 (2) 第2章 MATLAB简介 (3) 第3章基本原理 (3) 3.1 线性分组码的编码 (3) 3.1.1 生成矩阵 (3) 3.1.2 校验矩阵 (5) 3.2 伴随式与译码 (6) 3.2.1 码的距离及纠检错能力 (6) 3.2.2 伴随式与译码 (6) 第4章推导过程 (7) 4.1 编码过程 (7) 4.2 译码过程 (9) 第5章仿真程序及结果分析 (11) 5.1 仿真程序 (11) 5.2 仿真结果图 (13) 5.3 结果分析 (15) 参考文献 (16) 总结 (17)

前言 近年来,随着计算机、卫星通信及高速数据网的飞速发展,数据的交换、处理和存储技术得到了广泛的应用,人们对数据传输和存储系统的可靠性提出了越来越高的要求。因此,如何控制差错、提高数据传输和存储的可靠性,成为现代数字通信系统设计的重要课题。 目前,绝大多数的数字计算机和数字通信系统中广泛采用二进制形式的码。而线性分组码具有编译码简单,封闭性好等特点,采用差错控制编码技术是提高数字通信可靠性的有效方法,是目前较为流行的差错控制编码技术。 对线性分组码的讨论都在有限域GF(2)上进行,域中元素为{0,1},域中元素计算为模二加法和模二乘法。分组码是一组固定长度的码组,可表示为(n , k ),通常它用于前向纠错。在分组码中,监督位被加到信息位之后,形成新的码。在编码时,k 个信息位被编为n 位码组长度,而n-k 个监督位的作用就是实现检错与纠错。 对于长度为n 的二进制线性分组码,它有种2n 可能的码组,从2n 种码组中,可以选择M=2k 个码组(k

线性分组码的编码与译码

··················· 实践教学 ··················· 大学 计算机与通信学院 2014年秋季学期 计算机通信课程设计 题目:线性分组码(9,4)码的编译码仿真设计 专业班级: 姓名: 学号: 指导教师: 成绩:

摘要 该系统是(9,4)线性分组码的编码和译码的实现,它可以对输入的四位的信息码进行线性分组码编码,对于接收到的九位码字可以进行译码,从而译出四位信息码。 当接收到的九位码字中有一位发生错误时,可以纠正这一位错码;当接收到的码字有两位发生错误时,只能纠正一位错误,但同时能检测出另一位错误不能纠正。只有特定位有两位错误时,才能纠正两位错误。这样就译出正确的信息码组,整个过程是用MATLAB语言实现的。 关键词:编码; 译码; 纠错

目录 摘要 (1) 目录 (2) 1. 信道编码概述 (2) 1.1信道模型 (2) 1.2 抗干扰信道编码定理及逆定理 (3) 1.3 检错与纠错的基本原理 (4) 1.4 限失真编码定理 (5) 2.线性分组码的编码 (6) 2.1 生成矩阵 (6) 2.2 校验矩阵 (9) 2.3 伴随式与译码 (10) 3. 线性分组码编码的Matlab仿真 (12) 3.1 程序流程图 (12) 3.2 程序执行结果 (12) 3.2 线性分组码译码的Matlab仿真 (13) 3.3结果分析 (15) 参考文献 (16) 总结 (17) 致谢 (18) 附录 (19)

前言 由于计算机、卫星通信及高速数据网的飞速发展,数据的交换、处理和存储技术得到了广泛的应用,数字信号在传输中往往由于各种原因,使得在传送的数据流中产生误码,从而使接收端产生图象跳跃、不连续、出现马赛克等现象,人们对数据传输和存储系统的可靠性提出来了越来越高的要求,经过长时间的努力,通过编译码来控制差错、提高可靠性的方式在信道传输中得到了大量的使用和发展,并形成了一门新的技术叫做纠错编码技术,纠错编码按其码字结构形式和对信息序列处理方式的不同分为两大类:分组码和卷积码。 目前,绝大多数的数字计算机和数字通信系统中广泛采用二进制形式的码。而线性分组码具有编译码简单,封闭性好等特点,采用差错控制编码技术是提高数字通信可靠性的有效方法,是目前较为流行的差错控制编码技术。 对线性分组码的讨论都在有限域GF(2)上进行,域中元素为{0,1},域中元素计算为模二加法和模二乘法。分组码是一组固定长度的码组,可表示为(n , k),通常它用于前向纠错。在分组码中,监督位被加到信息位之后,形成新的码。在编码时,k个信息位被编为n位码组长度,而n-k个监督位的作用就是实现检错与纠错。 对于长度为n的二进制线性分组码,它有种2n可能的码组,从2n种码组中,可以选择M=2k个码组(k

通信原理11章答案

通信原理11章答案 【篇一:通信原理教程+樊昌信+习题答案第十章[1]】.1设有两个码组“0101010”和“1010100”,试给出其检错能力、纠错 能力和同时纠错的能力。 解:两个码组的最小码距为:do=6 由do?e+1,得e=5,即可以检错5位。 由do?2t+1,得t=2,即可以纠错2位。 由do?e+t+1,得e=3,t=2,即可以纠错2位,同时检错3位。 习题10.2设一种编码中共有如下8个码组:表10-1 习题10.3表000000,001110,010101,011011,100011, 101101,110110,111000试求出其最小码距,并给 出其检错能力、纠错能力和同时纠检错的能力。 解:此8个码组的最小码距为:do=3。 由do?e+1,得e=2,即可以检错2位。 由do?2t+1,得t=1,即可以纠错1位。 由do?e+t+1,得e=1,t=1,即可以纠错1位,同时检错 1位。 习题10.3设有一个长度为n=15的汉明码,试问其 监督位r应该等于多少?其码率等于多少?其最小码距 等于多少?试写出其监督位和信息位之间的关系。 解:由n?2r?1,n=15,得r=4,即监督位4位。码率为: kn?r15?411?==。 nn1515用s1s2s3s4表示校正子,正好可以指明15个错码的位置,其关系如表10-1所示。可得监督位和信息位之间的关系式为 a13? a 3 ? a 14 ? ? a12?a11?a10?a9?a8?a?a?a?a?a?a?a?a ?214131211765? ?a1? a14?a13?a10?a9?a7?a6?a4 ? ?a0?a14?a12?a10?a8?a7?a5?a4 最小码距为:do=3。 习题10.4设上题中的汉明码是系统码。试计算出对应于信息位为全“1”的码组。 解:上题的监督矩阵为 ?111111100001000??1?01101010100110h=? ? ?110011011010 010????101010110110001? 则生成矩阵为

实验六 线性分组码的信道编码和译码

1.MATLAB 2. MATLAB 1.256M P4CPU 2.MATLAB 1. K N NK NK N K r=NK52 N=5K=2f

c()=m()G G 30T CH 0T GH H H G : C y 2) e S (5,2) 21 2.1a G b G nk H;c 2a G b G nk H

c S d e e c=y+e 1. 2.G 3.G 1. 2. close all; clc; G=input('G, :G=[10111;01101]\n G='); G; [k,n]=size(G); r=n-k; m=input('m, m=[00011011]\n m='); l=length(m); if(mod(l,k)) disp(''); else ge=l/k; temp1=[]; for i=1:ge temp1(i,:)=m(k*(i-1)+1:i*k); end m=temp1; c=mod(m*G,2); A=G(:,k+1:n);H=[A',eye(r)]; disp(''); H disp(''); c end disp(''); pause y=input('y,:y=[00 00001101101111001 0]\n y='); temp2=[]; for i=1:ge temp2(i,:)=y(1,n*(i-1)+1:i*n); end y=temp2 s=mod(y*H',2); e=s*pinv(H'); for i=1:ge for j=1:n if(e(i,j)>0.5-eps) e(i,j)=1;

通信原理教程+樊昌信+习题答案第十章[1]

第十章习题 习题10.1设有两个码组“0101010”和“1010100”,试给出其检错能力、纠错能力和同时纠错的能力。 解:两个码组的最小码距为:o d =6 由o d ≥e+1,得e=5,即可以检错5位。 由o d ≥2t+1,得t=2,即可以纠错2位。 由o d ≥e+t+1,得e=3,t=2,即可以纠错2位,同时检错3位。 习题10.2设一种编码中共有如下8个码组: 表10-1 习题10.3表 000000,001110,010101,011011,100011, 101101,110110,111000试求出其最小码距,并给出其检错能力、纠错能力和同时纠检错的能力。 解:此8个码组的最小码距为:o d =3。 由o d ≥e+1,得e=2,即可以检错2位。 由o d ≥2t+1,得t=1,即可以纠错1位。 由o d ≥e+t+1,得e=1,t=1,即可以纠错1位,同时检错1位。 习题10.3设有一个长度为n =15的汉明码,试问其监督位r 应该等于多少?其码率等于多少?其最小码距等于多少?试写出其监督位和信息位之间的关系。 解:由21=-r n ,n =15,得r =4,即监督位4位。 码率为: -=k n r n n =15415-=11 15 。 用1234S S S S 表示校正子,正好可以指明15个错码的位置,其关系如表10-1所示。 可得监督位和信息位之间的关系式为 最小码距为:o d =3。 习题10.4设上题中的汉明码是系统码。试计算出对应于信息位为全“1”的码组。 ???????++++++=++++++=++++++=++++++=4 5781012140467910131415671112131428 910111213143a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a

线性分组码(9,4)

******************* 实践教学 ******************* 兰州理工大学 计算机与通信学院 计算机通信课程设计题目:线性分组码(9,4)码的编译码仿真设计

专业班级:姓名:学号:指导教师:成绩:

目录 前言 (1) 第一章线性分组码原理 (2) 1.1差错控制概述 (2) 1.2差错控制原理 (2) 1.3线性分组码概念 (3) 1.4线性分组码的基本原理 (3) 第二章线性分组码的编码 (5) 2.1生成矩阵 (5) 2.2校验矩阵 (7) 第三章线性分组码的译码 (9) 3.1纠错码的介绍 (9) 3.2纠错的原理 (9) 3.3线性分组码译码原理 (10) 第四章推导过程 (12) 4.1编码过程 (12) 4.2译码过程 (12) 第五章仿真结果分析 (16) 5.1编码程序流程图 (16) 5.2译码程序流程图 (17) 5.3运行结果分析 (18) 设计总结.................................................................................................................. 错误!未定义书签。致谢 (21) 参考文献 (23) 附录 (24)

前言 计算机通信是一种以数据通信形式出现,在计算机与计算机之间,计算机与终端设备之间进行信息传递的方式。它是现代计算机技术与通信技术相结合的产物,在军队指挥自动化系统、武器控制系统、信息处理系统、决策分析系统、情报检索系统以及办公自动化系统等领域得到了广泛应用。按通信覆盖地域的广度,计算机通信通常分为局域网、城域网、广域网三类。在通常情况下,计算机通信都是由多台计算机通过通信线路连接成计算机通信网进行的,这样可共享网络资源,充分发挥计算机系统的效能。 近年来,随着计算机、卫星通信及高速数据网的飞速发展,数据的交换、数据的交换理和存储技术得到了广泛的应用,人们对数据传输和存储系统的可靠性提出了越来越高的要求。因此,如何控制差错、提高数据传输和存储的可靠性,成为现代数字通信系统设计的重要课题。目前,绝大多数的数字计算机和数字通信系统中广泛采用二进制形式的码。而线性分组码具有编译码简单,封闭性好等特点,通常它用于前向纠错。在分组码中,监督位被加到信息位之后,形成新的码。在编码时,k个信息位被编为n位码组长度,而n-k个监督位的作用就是实现检错与纠错。这种码的编码效率比较高,因此得到了广泛的应用。 本课程设计主要是采用Matlab仿真实现线性分组码的编译码。在加深理论知识的基础上,对Matlab仿真也有进一步的理解。

通信原理教程(第三版)第10章 答案

第十章习题 习题 10.1设有两个码组“0101010”和“1010100”,试给出其检错能力、纠错能力和 同时纠错的能力。 解:两个码组的最小码距为:d o =6 由d o e+1,得 e=5,即可以检错 5位。 由d o 2t+1,得 t=2,即可以纠错 2位。 由d o e+t+1,得 e=3,t=2,即可以纠错 2位,同时检错 3位。 习题 10.2设一种编码中共有如下 8个码组: 000000,001110,010101,011011,100011, 101101,110110,111000试求出其最小码距,并给 出其检错能力、纠错能力和同时纠检错的能力。 解:此 8个码组的最小码距为:d o =3。 表 10-1习题 10.3表 S 1S 2S 3S 4 错码 位置 0000 无错 由d o e+1,得 e=2,即可以检错 2位。 由d o 2t+1,得 t=1,即可以纠错 1位。 由d o e+t+1,得 e=1,t=1,即可以纠错 1位,同时检错 1位。 码 0001 0010 0100 1000 0011 0101 0110 0111 1001 1010 1011 1100 1101 1110 a 0 a 1 a 2 a 3 课后答案网 习题 10.3设有一个长度为 n =15的汉明码,试问其 a 4 监督位 r 应该等于多少?其码率等于多少?其最小码距 a 5 a 6 等于多少?试写出其监督位和信息位之间的关系。 解:由n 2 r 1,n =15,得r =4,即监督位 4位。 n r =15 4 = 11。 a 7 码率为: k a 8 n n 15 15 a 9 用S 1S 2S 3S 4表示校正子,正好可以指明 15个错码的 a 10 a 11 位置,其关系如表 10-1所示。 可得监督位和信息位之间的关系式为 a 3 a 14 a 13 a 12 a 11 a 10 a 9 a 8 a 12 a a a a a a a a a www 2 14 . 13 1 k 2 11 h 7 6 d 5 https://www.360docs.net/doc/47480045.html, 13 a a a a a a a a 1 14 13 10 9 7 6 4 1111 a 14 a a a a a a a a 0 14 12 10 8 7 5 4 最小码距为:d =3。 o 习题 10.4设上题中的汉明码是系统码。试计算出对应于信息位为全“1”的码组。

信息论与编码复习题目

信息论与编码复习题目公司内部档案编码:[OPPTR-OPPT28-OPPTL98-OPPNN08]

信息论复习提纲 第一章绪论 1.通信系统模型; 2.香浓信息的概念; 3.信源、信道、信源编码和信道编码研究的核心问题。 第二章离散信源及信源熵 1.离散信息量、联合信息量、条件信息量、互信息量定义; 2.信源熵、条件熵、联合熵定义; 3.平均互信息量定义、性质、三种表达式及物理意义,与其它熵的关系(不证明); 4.最大信源熵定理及证明; 5.本章所有讲过的例题; 第三章离散信源的信源编码 1.信息传输速率、编码效率定义; 2.最佳编码定理(即节定理:概率越大,码长越小;概率越小,码长越大)及证明; 3.码组为即时码的充要条件; 4.单义可译定理(Kraft不等式)及应用; 5.费诺编码方法、霍夫曼编码方法应用(二进制,三进制,四进制);6.本章所有讲过的例题; 第四章离散信道容量

1.利用信道矩阵计算信道容量(离散无噪信道、强对称离散信道、对称离散信道、准对称离散信道); 2.本章讲过的例题; 第五章连续消息和连续信道 1.相对熵的定义; 2.均匀分布、高斯分布、指数分布的相对熵及证明; 3.峰值功率受限条件下的最大熵定理及证明,平均功率受限条件下的最大熵定理及证明,均值受限条件下的最大熵定理及证明; 4.香农公式及意义; 5.本章所有讲过的例题; 第六章差错控制 1.重量、最小重量、汉明距离、最小汉明距离、编码效率的定义;2.最小距离与检错、纠错的关系(即节定理); 3.本章所有讲过的例题; 第七章线性分组码 1.线性分组码定义; 2.线性分组码的最小距离与最小重量的关系及证明; 3.生成矩阵、一致校验矩阵定义,给出线性方程组求出生成矩阵和一致校验矩阵的标准形式,生成矩阵与一致校验矩阵的关系; 4.制作标准阵列并利用标准阵列译码; 5.本章所有讲过的例题; 第八章循环码

线性分组码的译码

一、实验目的 1、通过实验掌握线性分组码的编码原理 2、通过实验掌握线性分组码的译码 3、了解编码与检错能力之间的关系 二、实验内容 1、自行设置线性分组码或汉明码的参数,计算所设计出的线性分组码或汉明码的所有码字集合; 2、利用库函数译码或利用通信工具箱设计译码模块译码; 3、整理好所有的程序清单或设计模块,并作注释。 三、实验结果 1、写出产生(3,1)汉明码的生成矩阵,给出生成码的源程序,并给出运行结果。 (1)、源程序 function f=hanmingencod(a) %对信息元a进行编码 G=[1 1 1]; %(3,1)的生成矩阵 t=input('输入0或1:'); %t=0时产生(3,1),汉明编码所有码字t=1时对输入序列进行编码 if t==1; a=input('输入信息元序列:'); %当t=0时,则用户手动输入信息元序列 c=mod(a*G,2); %对应码字 disp('编码后序列为:'); disp(c); %显示编码后的结果 else disp('(3,1)汉明系统为:');%当t=0时,对for循环得到的信息元序列进行编码for i=0:1%进行for循环,得到信息元序列 a=dec2bin(i,1); %生成信息源序列 c=mod(a*G,2); %对信息元a进行编码 disp(a); %显示信息元

disp('对应码字为:'); disp(c); %显示编码结果 end end (2)运行结果: 输入0或者1:0 (3,1)汉明系统码为: 对应码字为: 0 0 0 1 对应码字为: 1 1 1 输入0或者1:1 输入信息元序列:0 编码后序列为: 0 0 0 输入0或者1:1 输入信息元序列:1 编码后序列为: 1 1 1 (3)、计算生成矩阵: 由(3,1)汉明码可知:n=3,k=1;即 信源符号1位一组:{}(),0,1,0,1,2,3;i i u u u i =∈= 码符号3位一组:{}210(,,),0,1,0,1,2,3,4,5,6;j c c c c c j =∈ = 则可得其生成矩阵:[] 1,1,1G = 或者校验矩阵 H=??????110110=?? ????100111 所以生成矩阵[] 1,1,1G =

线性分组码的信道编码和译码

clear %编码 G=input('请输入生成矩阵G,例如:G=[1 0 1 1 1;0 1 1 0 1]\n G='); [k,n]=size(G); r=n-k; m=input('请输入需传送信息m,如m=[0 0 0 1 1 0 1 1]\n m='); l=length(m); if(mod(l,k)) disp('输入的信息有误'); else ge=l/k; %将输入序列转化成矩阵m temp1=[]; for i=1:ge temp1(i,:)=m(k*(i-1)+1:i*k); end m=temp1; %求校验矩阵H c=mod(m*G,2); A=G(:,k+1:n); H=[A',eye(r)]; disp('校验矩阵');H disp('译码矩阵');c end disp('敲回车键继续'); pause %解码 y=input('输入接收序列y,如:y=[0 0 0 0 0 0 1 1 0 1 1 0 1 1 1 1 0 0 1 0]\n y='); temp2=[]; for i=1:ge temp2(i,:)=y(1,n*(i-1)+1:i*n); end y=temp2 s=mod(y*H',2); e=s*pinv(H'); for i=1:ge for j=1:n

if(e(i,j)>0.5-eps) e(i,j)=1; else e(i,j)=0; end end end cc=mod(y+e,2); %cc=xor(y,e) sc=cc(:,1:2); disp('差错图样'); e disp('估计值'); cc disp('译码序列'); sc

相关文档
最新文档