您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > 第17讲——-线性分组码编码与译码
线性分组码的编码与译码(1)第十九讲0000010100111001011101110000001001100101101100100011011011011111消息码字码许用码字禁用码字编码效率汉明重量汉明距离最小汉明距离纠检错能力群子群分元陪集0001101100000010011001011011消息码字5V35V25V基本概念0000001001100101101100100011011011011111000010100010011110100010101100101111111000010010111000011001001100111110100111010001101010100011100000111011101010111100分元陪集划分0000010100111001011101110000001001100101101100100011011011011111消息码字码许用码字禁用码字编码效率汉明重量汉明距离最小汉明距离纠检错能力群子群分元陪集域GF(2)上的矢量空间子空间矢量张成的子空间基底维数零化空间矩阵行空间0001101100000010011001011011消息码字5V35V25VGF(2)5V35V25V010010010010110基本概念线性分组码长度为n,有2k个码字的码组,当且仅当这2k个码字是GF(2)上n维矢量空间的一个k维子空间时,称为(n,k)线性分组码,简称(n,k)码。由于k维子空间是在模2加法下运算的,构成了一个加法交换群,所以线性分组码也称为群码。码率R=k/n,就是传输效率。最小汉明距离dmin等于非零码字的最小重量。信息位校验位系统码n-kk校验位信息位kn-k码字信息位与输入信息序列相同,并且与校验位分开生成矩阵线性分组码是GF(2)上n维空间中的一个k维子空间,因此它可以由k个线性无关n维矢量完全确定。由于这组矢量的所有线性组合给出了码C中的任一个码字,称生成码C。110,,,kgggC中任何一组基底所构成的矩阵G称作码C的生成矩阵1,11,11,11,11,10,11,01,00,0110nknknknnknkggggggggggggG生成矩阵对于任何一个给定的信息序列,可指定),,,(110kmmmmGmc110110),,,(kkmmmggg作为相应的码字。G矩阵的每一行都是一个码字矢量,分别对应信息位为(10…0),(010…0)…(00…01)时的码字。生成矩阵(n,k)分组码实际上就是这k个线性无关的码字矢量张成的k维子空间,这k个矢量组成的矩阵就是生成矩阵。确定(n,k)码的生成矩阵的问题实际上就是确定n重矢量空间中k维子空间的k个线性无关的码字矢量的问题,也就是寻找基底的问题。(n,k)码的n重矢量空间中可以有多个k维子空间,产生不同的码组,即有不同的基底。(n,k)码的n-重矢量空间中的一个k维子空间的基底可以有多个,因此可以有不同的生成矩阵G,但都产生相同的码组。基底的线性组合等效于G的行初等变换,可以产生一组新的基底。利用这一点,可使生成矩阵具有如下“系统形式”,称之为典型生成矩阵。典型生成矩阵即:G=[IkQ],Q为k×r矩阵,Ik为k×k单位阵。非系统码与系统码并无本质区别,它的生成矩阵可以通过行初等变换转变为系统形式,这个过程叫做系统化。系统化并不会改变码集,其纠错能力完全等价。1,11,11,11,11,10,11,01,00,010000010001knknknkknkngggggggggG例题设二元(5,3)码,其生成矩阵为将其化为标准形式?111110001111001G一致校验矩阵与任何一个(n,k)码的码空间C相对应,一定存在一个对偶空间D,它的每个矢量都与C中的每个矢量正交,其维数为n-k。事实上,若找出生成空间D的基底(n-k个)用这n-k个矢量同样可以生成包含个码字的(n,n-k)线性分组码,我们称其(n,k)码的对偶码,生成矩阵为kn21,11,10,11,11,10,11,01,00,0110nknknknnnknhhhhhhhhhhhhH一致校验矩阵由对偶空间的定义知,有对任意的Cc0cHT即H可以检验一个n重是否为码字,称H为码C的一致校验矩阵。1,11,10,11,11,10,11,01,00,0110nknknknnnknhhhhhhhhhhhhH典型一致校验矩阵100000100011,11,11,11,11,10,11,01,00,0knknnknnknknknhhhhhhhhhH系统码的一致校验矩阵为即H=[PIr],其中,Ir为r×r单位阵,P为r×k矩阵。一致校验矩阵与生成矩阵之间的关系由于生成矩阵每一行都是一个码字,因此应当满足一致校验矩阵所规定的校验关系,即应当有:GHT=0或者HGT=0因此H与G互为正交矩阵,说明G和H的行空间互为零化空间。一致校验矩阵与生成矩阵之间的关系对于系统码,上式可以写成[IkQ][PIr]T=0得[PT+Q]=0所以PT=Q或者P=QT即P矩阵与Q矩阵互为转置矩阵。对于系统码,已知校验矩阵H就可以确定典型生成矩阵G,反之,已知生成矩阵也就可以确定校验矩阵。例题【例】设二元(7,4)码的生成矩阵为1011000111010011000100110001G求其一致校验矩阵?【例】设二元(5,3)码,其生成矩阵为111110001111001G求其一致校验矩阵?线性分组码编码•线性分组码的编码过程分为两步:–把信息序列按一定长度分成若干信息码组,每组由k位组成;–编码器按照预定的线性规则,把信息码组变换成n重(nk)码字。•信息码组长k位,有2k个不同的信息码组,则有2k个码字与它们一一对应。一致校验矩阵编码设c=[c0,c1,c2,c3,c4,c5,c6],其中,[c0,c1,c2,c3]为信息位,[c4,c5,c6]为校验位。由HCT=0可知校验方程为:0123456101110001110010001110010cccccccc4=c0+c2+c3c5=c0+c1+c2c6=c1+c2+c3信息码元m=[1101]则编得的码字c=[1101000]100111001001110011101H生成矩阵编码1011000111010011000100110001G若信息码元m=[1101],则有c=mG=[1101000]。100111001001110011101H译码准则设发送码字为c=(c0,c1,……,cn-1),由于信道干扰产生差错,反映到接收码字上可以用一个二元矢量e表示,e=(e0,e1,……,en-1),称为错误图样,其中,ei=1表明相应位有错,ei=0表明相应位无错。这时接收码字可以表示为r=c+e=(c0+e0,c1+e1,……cn-1+en-1)译码器就是从接收码字r得到发送码字的估计值,或者说从接收码字中确定错误图样e,然后由c=r-e得到发送码字的估计值。如果估计正确则译码正确,否则译码错误。如何得到发送码字的估计值,根据什么准则?译码准则最大后验概率译码max()Nmpcv最大似然译码max()Nmpvc最小距离译码对于给定的接收矢量,计算它与M个可能的发送码字之间的距离,从中选择能使距离达到最小的码字作为判决结果。若信道是对称DMC信道,其转移概率为1-p和p/(q-1),则10)()(NnnnmNcvppcvmmdNdpqp11),(vcmmddMm,,1则对数似然函数为pqpdpNpmmN/)1)(1(ln)1ln()(lncv最大似然译码准则可简化为:若对所有的mm',有0/)1)(1(ln)('pqpddmm则判定mcc最小距离译码最小距离译码伴随式设码C的一致校验矩阵为H,接收矢量为r,定义TknsssrHs),,,(110称s为接收矢量r的伴随式。由伴随式的定义可知s=rHT=(c+e)HT=cHT+eHT=eHT可以看出伴随式完全由e决定,它充分反映了信道的干扰情况。如果伴随式s≠0,接收码字一定有错误;如果伴随式s=0,译码器认为接收码字无错误。1,11,10,11,11,10,11,01,00,0110nknknknnnknhhhhhhhhhhhhH译码步骤由接收码字r计算伴随式sT=HrT若s=0,则译码器认为接收码字没错,否则有错,并由s计算错误图样e由错误图样进行译码,估计发送的码字c=r-e=r+e其中最困难的是确定错误图样,即错误定位。如何进行错误定位?译码思路1根据sT=HrT=HeT列出线性方程组(含有n-k个相互独立的方程),通过求解线性方程得到e。1,111,110,1011,111,110,1011,011,010,000nknnknknknnnnnhehehesheheheshehehes上式有n个未知数e0,e1,…,en-1,有n-k个方程,因此有多解。(伴随式s是一个r=n-k维矢量,共有个,而错误图样e是n维矢量,共有个,因此,s与e不存在一一对应关系。)最终根据译码准则选取其中一个,常常选取重量最轻的为错误图样e的估计值,从而得到发送码字的估计值,体现最小距离译码的思想。kn2n21,11,10,11,11,10,11,01,00,0110nknknknnnknhhhhhhhhhhhhH译码思路2(n,k)分组码的2k个码字,是n维矢量空间Vn中的一个k维子空间,它在GF(2)上是一个子群。利用分元陪集的方法,可以利用该子空间的2k元素,生成Vn中的所有2n个元素。陪集首c0c1c2…c2k-1e1c1+e1c2+e1c2k-1+e1e2c1+e2c2+e2c2k-1+e2……………e2r-1c1+e2r-1c2+e2r-1c2k-1+e2r-1陪集首c0c1c2…c2k-1e1c1+e1c2+e1c2k-1+e1e2c1+e2c2+e2c2k-1+e2……………e2r-1c1+e2r-1c2+e2r-1c2k-1+e2r-1标准阵列译码表译码按以下规则进行:收到码字R必然在这个表中,如果落在表中某一列,译码器就译成第一行的相应码字。非常直观的译码方法,选择重量最轻的禁用码字作为陪集首,体现最小距离译码思想。同一陪集中元素的伴随式都相同,并且,陪集首与伴随式矢量有一一对应的关系。根据这种关系,可以将译码表简化。标准阵列译码陪集首c0c1c2…c2k-1e1c1+e1c2+e1c2k-1+e1e2c1+e2c2+e2c2k-1+e2……………e2r-1c1+e2r-1c2+e2r-1c2k-1+e2r-1标准阵列译码表伴随式s0s1s2…s2r-1非常直观的译码方法,选择重量最轻的禁用码字作为陪集首,体现最小距离译码思想。同一陪集中元素的伴随式都相同,并且,陪集首与伴随式矢量有一一对应的关系。根据这种关系,可以
本文标题:第17讲——-线性分组码编码与译码
链接地址:https://www.777doc.com/doc-4820301 .html