循环码与BCH码
- 格式:ppt
- 大小:267.00 KB
- 文档页数:20
BCH码是循环码的一个重要子类,它具有纠多个错误的能力,BCH码有严密的代数理论,是目前研究最透彻的一类码。
它的生成多项式与最小码距之间有密切的关系,人们可以根据所要求的纠错能力t很容易构造出BCH码,它们的译码器也容易实现,是线性本原循环码是一类重要的码。
汉明码、BCH码和某些大数逻辑可译码都是本原码。
本原码的特点是:1、码长为2^m-1,m为整数。
2、它的生成多项式由若干m阶或以m的因子为最高阶的多项式相乘构成。
要判断(2^m-1,k)循环码是否存在,只需判断2^m-1-k阶生成多项式是否能由D^(2^m-1)+1的因式构成。
代数理论告诉我们,每个m阶既约多项式一定能除尽D^(2^m-1)+1.BCH译码:(返回)BCH码的译码方法可以有时域译码和频域译码两类。
频移译码是把每个码组看成一个数字信号,把接受到的信号进行离散傅氏变换(DFT),然后利用数字信号处理技术在“频域”内译码,最后进行傅氏反变换得到译码后的码组。
时域译码则是在时域直接利用码的代数结构进行译码。
BCH的时域译码方法有很多,而且纠多个错误的BCH码译码算法十分复杂。
常见的时域BCH译码方法有彼得森译码、迭代译码等。
BCH的彼得森译码基本过程为:1、用的各因式作为除式,对接收到的码多项式求余,得到t个余式,称为“部分校验式”。
2、用t个部分校验式构造一个特定的译码多项式,它以错误位置数为根。
3、求译码多项式的根,得到错误位置。
4、纠正错误。
事实上,BCH码是一种特殊的循环码,因此它的编码器不但可以象其它循环码那样用除法器来实现,而且原则上所有适合循环码译码的方法也可以用于BCH码的译码。
.cn/wsxy/digi/d6z.htm第六章差错控制1 差错控制的基本概念1.1 差错的特点由于通信线路上总有噪声存在,噪声和有用信息中的结果,就会出现差错。
噪声可分为两类,一类是热噪声,另一类是冲击噪声,热噪声引起的差错是一种随机差错,亦即某个码元的出错具有独立性,与前后码元无关。
浅析BCH 码的编码方法0 引言数字信号在传输系统中传输时,不免会受到各种因素的干扰,使到达接收端的数字信号中混有噪声,从而引发错误判决。
为了抗击传输过程中的干扰,必然要利用纠错码的差错控制技术。
BCH 码是纠错码中最重要的子类,其具有纠错能力强,构造方便,编码简单,译码也较易实现一系列优点,在实际应用中被工程人员广泛应用。
1 BCH 码BCH 码是1959年由霍昆格姆(Hocquenghem), 1960年由博斯(Bose)和查德胡里(Chandhari)各自提出的纠多个随机错误的循环码,这是迄今为止发现的最好的线性分组码之一,它有严格的代数结构,它的纠错能力很强,特别是在短和中等码长下,其性能接近理论值,并且构造方便编码简单,特别是它具有严格的代数结构,因此它在编码理论中起着重要的作用。
BCH 码是迄今为止研究的最为详尽,分析得最为透彻,取得成果也最多的码类之一。
该码的生成多项式与最小距离d 之间有密切关系,根据d 的要求可以很容易地构造出码,利用该码的代数结构产生了多种译码方法。
BCH 码可以采用查表编码方法,这是一种利用BCH 码作为线性分组码和循环码的性质和结构特点来编写编码表,然后通过查表来编码的一种方法,也可以采用编码器进行编码,还可以应用代数算法,在本文将分别介绍这些算法。
2 BCH 码的k n -级编码器()k n , BCH 码是一类循环码,它的编码方法和传统的循环码完全相同,根据循环码的生成多项式()x g 或校验多项式()x h ,可推出BCH 码的编码电路是一个k n -级或k 级移存器电路,在k>n-k 时,一般采用k n -级编码电路。
用于产生系统码k n -级编码器的原理这样的:将信息多项式()x m 乘以kn x-成为()x m x k n -,然后用()x g 除()x m x k n -得到余式()x r , ()x r 的系数就是校验位,因此这可以根据生成多项式()x g 反馈连接的移位寄存器构成的除法电路完成。
浅析BCH 码的编码方法0 引言数字信号在传输系统中传输时,不免会受到各种因素的干扰,使到达接收端的数字信号中混有噪声,从而引发错误判决。
为了抗击传输过程中的干扰,必然要利用纠错码的差错控制技术。
BCH 码是纠错码中最重要的子类,其具有纠错能力强,构造方便,编码简单,译码也较易实现一系列优点,在实际应用中被工程人员广泛应用。
1 BCH 码BCH 码是1959年由霍昆格姆(Hocquenghem), 1960年由博斯(Bose)和查德胡里(Chandhari)各自提出的纠多个随机错误的循环码,这是迄今为止发现的最好的线性分组码之一,它有严格的代数结构,它的纠错能力很强,特别是在短和中等码长下,其性能接近理论值,并且构造方便编码简单,特别是它具有严格的代数结构,因此它在编码理论中起着重要的作用。
BCH 码是迄今为止研究的最为详尽,分析得最为透彻,取得成果也最多的码类之一。
该码的生成多项式与最小距离d 之间有密切关系,根据d 的要求可以很容易地构造出码,利用该码的代数结构产生了多种译码方法。
BCH 码可以采用查表编码方法,这是一种利用BCH 码作为线性分组码和循环码的性质和结构特点来编写编码表,然后通过查表来编码的一种方法,也可以采用编码器进行编码,还可以应用代数算法,在本文将分别介绍这些算法。
2 BCH 码的k n -级编码器()k n , BCH 码是一类循环码,它的编码方法和传统的循环码完全相同,根据循环码的生成多项式()x g 或校验多项式()x h ,可推出BCH 码的编码电路是一个k n -级或k 级移存器电路,在k>n-k 时,一般采用k n -级编码电路。
用于产生系统码k n -级编码器的原理这样的:将信息多项式()x m 乘以kn x-成为()x m x k n -,然后用()x g 除()x m x k n -得到余式()x r , ()x r 的系数就是校验位,因此这可以根据生成多项式()x g 反馈连接的移位寄存器构成的除法电路完成。
8.5 循环码循环码是线性分组码中最重要的一个子类码,它的基本特点是编码电路及伴随式解码电路简单易行;循环码代数结构具有很多有用的特性,便于找到有效解码方法。
因此在实际差错控制系统中所使用的线性分组码,几乎都是循环码。
下面将介绍循环码的多项式表示及其性质,同时简介几种重要的循环码,CRC、BCH和R-S 码等。
8.5.1 循环码的描述1. 码多项式及其运算通式表示为:(8-69)于是称与为“同余”式,即[模](8-70)如:则[模] 即能被整除利用这一运算原理,我们可对一个码字进行移位表示:如:的多项式表示为:使码组向左移2位(循环)则有对应多项式然后以去除得:这一结果表明,以作除法运算(称模)后,即与为同余因此,(模)应注意,利用这种同余式表示,必须加注(模),否则就不明确在什么条件下得到的这一同余关系式。
2.循环码的构成循环码的构成突出特点是只要是该码中的一个许用码组——码字,通过循环位其结果则可包括全部个非全0码字,如上面介绍的(7,3)分组码,从信码位0 0 1构成的码字(0011101)开始逐一向左(或者向右)移一位,可得其余6个码字:(0111010)、(1110100)、(1101001)、(1010011)、(0100111)、(1001110)。
若把这些码字写成码多项式,都具有同一个移位运算模式,并设(0011101)对应的码多项式,于是,有:(模)(8-71)这样,就构成了(7,3)循环码,如表8-4。
从表8-4看出,循环得到的(7,3)码,仍为系统码,信息码组均在表中码字的高位(左方)。
表8-4 (7,3)循环码移位(7,3)码码多项式(模)0 0 0 1 1 1 0 11 0 1 1 1 0 1 02 1 1 1 0 1 0 03 1 1 0 1 0 0 14 1 0 1 0 0 1 15 0 1 0 0 1 1 16 1 0 0 1 1 1 08.5.2 循环码生成多项式与生成矩阵1. 生成多项式由表8-4构成个非全0码字多项式的过程与结果看,我们从开始进行逐一循环,并以模运算,该码字正是信码组中最低位为1,对应码字多项式,在全部非全0码字中,它的最高位阶次也最低,并等于,即最高次项为,随后一系列码字都源于它的移位而形成,因此称其为生成多项式,即(8-72)然后再从的因式分解来进一步分析(8-73)我们可以将三个既约多项式因式任意组合成两个因式,可有(8-74)如:(8-75)(8-76)其中可以组合为二因式中包含最高次为4次的情况有两种,即展开式的第4及第5两组,都可以作为阶次最高为4的即(8-77)(8-78)在展开式中选用了其中一个(组合)因式为后,余下一个因式,则称其为循环码的监督多项式,如式(8-74)生成多项式与相应监督多项式乘积等于多项式。
BCH码BCH码的原理及BCH (15, 5)码MA TLAB编译码仿真过程——基于MATLAB7.0摘要:本⽂简要介绍了BCH码概念,编码原理,解码过程,并利⽤MATLAB仿真出了编译码过程。
关键词:BCH编译码BCH (15, 5)码MA TLAB仿真1、引⾔提⾼信息传输的可靠性和有效性,始终是通信⼯作所追求的⽬标。
纠错码是提⾼信息传输可靠性的⼀种重要⼿段。
1948年⾹农(Shannon)在他的开创性论⽂“通信的数学理论”中,⾸次阐明了在有扰信道中实现可靠通信的⽅法,提出了著名的有扰信道编码定理,奠定了纠错码的基⽯。
根据⾹农的思想,研究者先后给出了⼀系列设计好码和有效译码的⽅法。
以后,纠错码受到了越来越多的通信和数学⼯作者,特别是代数学家的重视,使纠错码⽆论在理论上还是在实际中都得到了飞速发展。
BCH、卷积码,Turbo码、LDPC码等现代数据传输通信中,常常因传输差错造成误码错码,尤其在⽆线通信中,空中的突发或随机⼲扰噪声会造成编码差错。
为了提⾼传输的正确率,往往采⽤⼀些校验⽅法,以检验纠正传输差错。
通信中校验的⽅法很多, 如BCH、卷积码,Turbo码、LDPC码等,其中的BCH编码有其独特的优点:它的纠错能⼒很强,特别在短和中等码长下,其性能很接近于理论值,构造⽅便,编码简单,不仅可以检纠突发性错误,还能检纠随机差错。
因此, 在通信系统中得到⼴泛应⽤,如在我国地⾯数字电视⼴播标准中就选⽤了BCH(762 .752)码。
2、BCH 编码基本原理BCH 码1959 年由Hocquenghem、1960 年由Bo se和Chandhari 分别独⽴提出。
BCH码是纠正多个随机错误的循环码,可以⽤⽣成多项式g(x)的根描述。
给定任⼀有限域GF(q)及其扩域GF(qm),其中q是素数或素数的幂,m为某⼀正整数。
若码元取⾃GF(q)上的⼀循环码,它的⽣成多项式g(x)的根集合R中含有以下δ-1个连续根:时,则由g(x)⽣成的循环码称为q进制BCH码。
摘要:介绍数据传输中BCH解码校验用汇编语言实现的算法。
算法包含BCH码的差错检验、差错位查找和差错纠正,同时列出相关主要子程序清单并予说明。
关键词:BCH解码校验算法汇编语言数据传输通信中,常常因传输差错造成误码错码,尤其在无线通信中,空中的突发或随机干扰噪声会造成编码差错。
为了提高传输的正确率,往往采用一些校验方法,以检验纠正传输差错。
通信中校验的方法很多,其中的BCH编码有其独特的优点:不仅可以检纠突发差错,还能检纠随机差错,被广泛地采用在微机级的通信中。
但对更低层的单片机级的数据传输通信纠错,往往采用奇偶校验等简单的校验方法。
BCH校验因其算法复杂,尤其是动态实时的无线通信中,单片机的通信往往无法采用BCH解码检纠。
笔者近几年在工业测控和无线通信系统开发,摸索了BCH解码检纠在实时的、动态的、单片机级的通信中的算法,并取得十分突出的效果。
以下以BCH(31:21)码为例进行探讨。
1、BCH码结构BCH码是一种检纠能力较强的循环码。
它由信息多项式M(X)和校验多项式J(X)组成,如以T(X)表示整个BCH(31:21)码字的31位码组多项式,则:T(X)=M(X)+J(X)(1)在31位BCH码的后面再加上1位,以保证整个码字32位中“1”的个数为偶数。
该位称偶校验位。
这样就形成BCH(31:21)加1位偶校验位的标准码字,其结构为:其中校验多项式J(X)由公式(2)计算:X0X1……X20X21……X30X31T(X)J(X)偶校验位J(X)=M(X)/S(X)(2)式中S(X)是BCH(31:21)码的生成多项式,见式(3):生成多项式S(X)的值在BCH(31:21)码的值是固定的。
BCH码是一种循环码,循环码是利用除法来纠错的。
由于任一码组多项式T(X)都能被生成多项式S(X)整除,所以在接收端可以将接收码组R(X)用S(X)去除。
若在传输中未发生错误,接收码与发送码相同,即R(X)=T(X),故接收码组R(X)必定能被生成多项式S(X)整除;若码组在传输中发生错误,即R(X)≠T(X),R(X)被S(X)除时,可能除不尽而有余项Y(X),因此,可根据余项是否为零来判断码中有无错误(检错),如有余项,通过一定的运算就可以确定错误位置,从而加以纠正(纠错)。
/view/2207324.htm(百度百科)BCH码科技名词定义中文名称:BCH码英文名称:BCH code定义:一种用于纠错,特别适用于随机差错校正的循环检验码。
由R. C. Bose、D. K.Chaudhuri和A. Hocquenghem共同提出。
所属学科:通信科技(一级学科);通信原理与基本技术(二级学科)本内容由全国科学技术名词审定委员会审定公布BCH码是一类重要的纠错码,它把信源待发的信息序列按固定的κ位一组划分成消息组,再将每一消息组独立变换成长为n(n>κ)的二进制数字组,称为码字。
如果消息组的数目为M(显然M≤2),由此所获得的M个码字的全体便称为码长为n、信息数目为M的分组码,记为n,M。
把消息组变换成码字的过程称为编码,其逆过程称为译码。
目录编辑本段分组码就其构成方式可分为线性分组码与非线性分组码。
线性分组码是指[n,M]分组码中的M个码字之间具有一定的线性约束关系,即这些码字总体构成了n维线性空间的一个κ维子空间。
称此κ维子空间为(n,κ)线性分组码,n为码长,κ为信息位。
此处M=2。
非线性分组码[n,M]是指M个码字之间不存在线性约束关系的分组码。
d为M 个码字之间的最小距离。
非线性分组码常记为[n,M,d]。
非线性分组码的优点是:对于给定的最小距离d,可以获得最大可能的码字数目。
非线性分组码的编码和译码因码类不同而异。
虽然预料非线性分组码会比线性分组码具有更好的特性,但在理论上和实用上尚缺乏深入研究(见非线性码)。
编辑本段线性分组码的编码和译码用V n表示GF(2)域的n维线性空间,Vκ是V n的κ维子空间,表示一个(n,κ)线性分组码。
E i=(vi1,vi2…,v in)是代表Vκ的一组基底(i=1,2,…,κ)。
以这组基底构成的矩阵称为该(n,κ)线性码的生成矩阵。
对于给定的消息组m=(m1,m2,…,mκ),按生成矩阵G,m被编为mG=m1E1+m2E2+…+mκEκ这就是线性分组码的编码规则。