译码方法最大后验概率译码共25页
- 格式:ppt
- 大小:2.34 MB
- 文档页数:25
汉明码的编码和译码算法汉明码(Hamming)的编码和译码算法本⽂所讨论的汉明码是⼀种性能良好的码,它是在纠错编码的实践中较早发现的⼀类具有纠单个错误能⼒的纠错码,在通信和计算机⼯程中都有应⽤。
例如:在“计算机组成原理”课程中,我们知道当计算机存储或移动数据时,可能会产⽣数据位错误,这时可以利⽤汉明码来检测并纠错。
简单的说,汉明码是⼀个错误校验码码集,由Bell实验室的R.W.Hamming发明,因此定名为汉明码。
如果对汉明码作进⼀步推⼴,就得出了能纠正多个错误的纠错码,其中最典型的是BCH码,⽽且汉明码是只纠1bit错误的BCH码,可将它们都归纳到循环码中。
各种码之间的⼤致关系显⽰如下。
⼀、汉明码的编码算法输⼊:信源消息u(消息分组u)输出:码字v处理:信源输出为⼀系列⼆进制数字0和1。
在分组码中,这些⼆进制信息序列分成固定长度的消息分组(message blocks)。
每个消息分组记为u,由k个信息位组成。
因此共有2k种不同的消息。
编码器按照⼀定的规则将输⼊的消息u转换为⼆进制n 维向量v ,这⾥n >k 。
此n 维向量v 就叫做消息u 的码字(codeword )或码向量(code vector )。
因此,对应于2k 种不同的消息,也有2k 种码字。
这2k 个码字的集合就叫⼀个分组码(block code )。
若⼀个分组码可⽤,2k 个码字必须各不相同。
因此,消息u 和码字v 存在⼀⼀对应关系。
由于n 符号输出码字只取决于对应的k ⽐特输⼊消息,即每个消息是独⽴编码的,从⽽编码器是⽆记忆的,且可⽤组合逻辑电路来实现。
定义:⼀个长度为n ,有2k 个码字的分组码,当且仅当其2k 个码字构成域GF(2)上所有n 维向量组成的向量空间的⼀个K 维⼦空间时被称为线性(linear )(n, k)码。
汉明码(n ,k ,d )就是线性分组(n, k)码的⼀种。
其编码算法即为使⽤⽣成矩阵G :v = u ·G 。
LDPC 码的译码算法3.1 译码算法概述二进制信道的最佳译码方案无疑会是最大似然概率译码,其译码错误率也是用最大似然概率译码来分析的,但在实际运用中当码长较长时该方案的会产生硬件复杂度,存储器个数以及时延过大的问题。
Gallager 博士在1963年就针对这一问题提出了基于硬判决以及软判决的两种古典译码方案,这两种方案在后来的改进和演化中组不形成了现今常用的和积算法。
和积算法即是Log-BP 算法,是在对数域上计算置信传播(BP )概率,从而将乘积运算转化为加法运算的一种算法。
Log-BP 算法是在BP 算法的基础上得到的,与BP 算法相比,Log-BP 算法没有很多的乘法运算因而处理速度快并且在译码性能上Log-BP 算法没有下降太多。
3.2 LDPC 码的BP 译码算法BP 算法又称为Message Passing 算法主要是基于Tanner 图结构,信息在译码的过程中会在信息节点和校验节点间来回传播。
BP 算法在性能上有一定的损失主要是因为其建立在Tanner 图中没有环的基础上,然而实际中却有环的存在。
为理解BP 算法,首先应当掌握几个引理:假设二进制序列长度为L ,其个比特之间相互独立,P l 0,P l 1分别表示在其第l 位上取0和1的概率,则序列中出现偶数个1的概率:P (偶数个1)=()221111∏=-+Ll l P =()21110∏=-+Ll l l P P (3.1)P (奇数个1)=1-P(偶数个1)=()21110∏=--Ll l l P P (3.2)设码字在加性白高斯噪声信道中传输,则接收到的信道的输出信号在第n 个时间片为n n n d ω+=r(3.3)其中d n 的幅值±a 分别对应码字中的0,1且其等概率分布;ωn 是0均值,方差为σ2的高斯噪声,且它们之间相互独立。
假设一个LDPC 码A (N ,d v ,d c ),则在其对应的Tanner 图中,变量节点表示为{v n ;n=1,2,…,N },校验节点表示为{c m ;m=1,2,…,M },由式(2.1)得 M=(Nd v )/d c 。
分组码定义:将信源的信息序列按照独立的分组进行处理和编码,称为分组码。
编码时将每k个信息位分为一组进行独立处理,变换成长度为n(n>k)的二进制码组。
简单实用编码包括奇偶监督码、二维奇偶监督码、恒比码、正反码,其中奇偶监督码和分组码又同属于代数码。
分组码一般用符号(n,k)表示,其中n是码组的总位数,又成为码组的长度(码长),k是码组中信息码元的数目,n–k= r 为码组中的监督码元数目。
在分组码中,把码组中“1”的个数目称为码组的重量,简称码重。
把两个码组中对应位上数字不同的位数称为码组的距离,简称码距。
码距又称汉明距离。
最大似然译码前面我们介绍了信道编码的基本概念,下面将详细分析有关译码的一些理论依据。
图5-6 信道编码器结构框图已知信道编码器的框图如图5-6所示,设任一个信息序列M是一个k位码元的序列,通过编码器按一定的规律(编码规则)产生若干监督元,形成一个长度为n的序列(n重数组)即码字(一种按特定规则排列并具有唯一含义的码序列),每一个信息序列将形成不同的码字与之对应,在二进制下,k长序列共有2k种组合,因此编码输出的码字集合共有2k个码字,而二进制下的n重共有2n种,显然编码输出的码字仅是所有二进制n重中的一部分,编码实际上就是从这2n种不同的n重数组中按一定规律(编码规则)选出2k个n重代表2k个不同的信源原始信息。
经编码后产生的(n,k)码送信道传输,由于信道干扰的影响将不可避免地发生错误,这种错误有两种趋势:①许用码字变成禁用码组,这种错误一旦出现,由于接收到的码组不在编码器输出的码字集合中,译码时可以发现,所以这种错误模型是可检出的。
②许用码字变成许用码字,即发端发生某一码字C i经传输后错成码集中的另一码字C j,这时收端无法确认是否出错,因此这是一种不可检出的错误模型。
可见,一个n重二进制码字C在传输中由于信道干扰的影响,到接收端可能变成2n种n 重中的任一个,为了能在接收端确认发送的是何消息,就需要建立一定的判决规则以获得最佳译码。