咨询热线
0763-19288235传真:+86-0763-94895646
复数旋转码的迭代大数逻辑译码方法
本发明涉及数字通信中的差错控制技术,尤其涉及一种用于数字通信差错控制的复数旋转码译码方法。
现代社会对通信系统的要求是极高速、大带宽、高可靠率和低复杂度实现。在光纤通信和计算机内的数据交换系统中,对于二进制的数据传输率已经是以GB/s(109比特每秒)数量级计数,对误码率的要求已经达到10-9以下,这就要求需要采用高码率(大于0.7)的强大的基于硬判决并且实现简单的纠错编码技术。
1983年,西南交通大学的靳蕃教授在文章“复数旋转码特性的初步探讨”,《西南交通大学学报》1983年第4卷23页至32页发明了复数旋转码及其一步大数逻辑译码算法。该码具有模块化的结构,码构造简单,译码算法简单,译码时延小等特点。但是,一步大数逻辑译码算法的纠错能力有限,使得采用一步大数逻辑译码的复数旋转码的性能不尽如人意。
2004年,P.扎瑞克亥特和阿穆尔H.班尼亥丝米在他们的文章“基于大数逻辑译码算法的低密度奇偶校验码的门限值与收敛性的研究”,美国电子与电器工程学会《通信学报》2004年12月第52卷2087页至2097页(Zarrinkhat,P.;Banihashemi,A.H.,″Threshold values and convergence propertiesof majority-based algorithms for decoding regular low-densitypari ty-check codes″,IEEE Trans.on Comm.,Volume 52,Issue 12,Dec.2004pp2087-2097)研究了规则的低密度奇偶校验码的大数逻辑译码算法,该算法通过对所有消息节点设置一个可调的大数逻辑判别门限,可以获得不同的性能门限和收敛速度。但是由于规则的低密度奇偶校验码的编码均匀性,对信息元的消息节点和监督元的消息节点均设置为同一个大数逻辑判别门限,使其在高码率和中短帧长的应用中性能不足。
本发明的目的就是提供一种复数旋转码的迭代的大数逻辑译码方法,该种方法实现简单,译码速度快,译码时延小,特别适用于光纤通信和计算机磁盘通信系统类二进制极高速通信系统。
本发明解决其技术问题所采用的技术方案是一种复数旋转码迭代大数逻辑译码方法,其步骤是(1)利用复数旋转码的线性监督校验矩阵,确定出信息元和监督元之间的监督约束关系,构造出复数旋转码的泰勒表示图,在图上以消息节点表示信息元和监督元的值,它们之间的监督约束关系由校验节点表示;
之间的整数值,其中t为复数旋转码的监督元值矩阵的列数,p为素数且为信息元值矩阵的编码分组数;(3)在第一次译码迭代中,由消息节点向校验节点传送来自于二进制信道的硬判决观测初始值,每一个校验节点从与其相连的消息节点接受-1,+1的观测初始值并做连乘计算得到的校验节点的值;(4)从第二次迭代开始,由校验节点向消息节点传送上一次迭代译码过程中得到的校验节点的值;消息节点在收到与其相连的所有的校验节点传送过来的值后,先从每一个校验节点的值中除以上一次迭代译码中该消息节点的值,得到与该消息节点相连的校验节点的外信息值,然后再进行大数逻辑的判断译码;判断的规则是如果该消息节点为信息元的消息节点,则与之相连的所有校验节点的外信息值中,与该信息元的消息节点当前值一致的外信息值数目大于ωi,则保持该消息节点的值,否则,对该消息节点的值进行-1变+1或+1变-1的取反操作作为本次迭代的该消息节点的值;如果该消息节点为监督元的消息节点,则与之相连的所有校验节点的外信息值中,与该监督元的消息节点当前值一致的外信息值数目大于ωc,则保持该消息节点的值,否则,对该消息节点的值进行-1变+1或+1变-1的取反操作作为本次迭代的该消息节点的值;(5)如果消息节点的值矩阵与其线性监督矩阵相乘得到所有元素为0的矩阵,或者达到设定的最大迭代次数,消息节点的值作为硬判决的译码输出;否则,重复第(4)步。
与现有技术相比,本发明的有益效果是复数旋转码的译码端以迭代的大数逻辑译码方法用于复数旋转码的译码,以替代原有的一步大数逻辑译码方法。在保持复数旋转码的编译码简单的优点的同时,利用迭代的大数逻辑译码方法对其进行硬判决的译码,误码率将随迭代的次数而降低。因此,其误码率比原采用的一步大数逻辑译码要好很多,也好于相同码率相同长度的低密度奇偶校验码(LDPC)码,从而有效的提高了通信系统的可靠性。更为重要的是,采用迭代的大数逻辑译码的复数旋转码,其编码译码都相对简单,译码时的迭代收敛速度很快,译码时延小,很适用于如光纤通信和计算机磁盘通信这类极高速,高宽带的二进制信道的通信系统。
在复数旋转码中,只要参数p,t确定,可以容易的确定线性监督校验矩阵,从而可以很方便的得到信息元和监督元的约束关系,因此本发明迭代的大数逻辑译码运算,只由复数旋转码的线性监督校验矩阵确定,从而可以节省大量的存储空间。
由于其译码过程是串行、迭代进行的,监督元的正确与否对下一次迭代译码的性能影响很大,故本发明的大数逻辑译码方法,不仅对信息元进行大数逻辑译码,对监督元也进行大数逻辑译码,提高了迭代大数逻辑译码的整体性能。
上述用于复数旋转码的迭代大数逻辑译码方法,所采用的大数逻辑译码算法的判别门限是分别可调的。即ωi可以取
之间的整数值。不同的ωi和ωc意味着不同的判别门限,也意味着不同的性能和译码收敛速度,具体的ωi和ωc的取值可以通过仿真实验或者理论推导确定。显然,本专利对信息元和监督元的大数逻辑判别门限ωi和ωc可以分别取不同的值,只要码率不等于1/2,对信息元的监督和对监督元的监督维数是不同的。因此,通过分别调整ωi和ωc的值,对信息元和监督元采用不同的判别门限是合理的。
本发明用于复数旋转码的迭代大数逻辑译码方法,复数旋转码的码率可以高达0.7以上。在实际的通信系统中,如光纤通信和磁盘数据交换等,这一类的通信系统要求是大带宽的,这就要求要有较高的码率。因此,本发明方法所采用的迭代大数逻辑译码方法具有在高码率下性能优异的特点。
本发明用于复数旋转码的迭代大数逻辑译码方法,所采用的算法是基于硬判决的。在实际的通信系统中,信号在信道中传送只能是二进制的,如光纤通信和磁盘数据交换等,因此,本发明方法所采用的迭代大数逻辑译码方法具有硬判决的特点。
本发明用于复数旋转码的迭代大数逻辑译码方法,复数旋转码的分组长度是可以是短的或者中等长度的。在实际的通信系统中,如光纤通信和磁盘数据交换等,这一类的通信系统是极高速的通信系统,这就要求要有极小的译码时延。译码时延除了和算法有关以外,还和数据的分组长度有关,短的分组长度也意味着更小的译码时延。而复数旋转码尤其适用于短的到中等长度的数据分组传送。
仿真实验也表明,本发明方法能够有效的提高通信系统的误码率性能,实现简单,编译码速度快,译码器占据内存空间小,实现码率高,带宽损失小,数据分组长短方便易调,能够适用于如光纤通信和计算机磁盘通信这类极高速,高宽带极低误码率的二进制信道的通信系统。
本发明实施时的通常做法是在实施本发明方法进行译码前,复数旋转码的编码,采用现有的编码方法进行。具体步骤简介如下首先,根据报文或数据信息码元序列分组长度的要求选择合适的素数p,将信息码元以p阶方阵的形式分组编码传送,即Mp=[mik],i=0,1,...,p-1;k=0,1,...,p-1 (1)然后在Mp后面附上p×t阶监督元矩阵Np,t,即Np,t=[nik], i=0,1,...,p-1;k=0,1,...,t-1 (2)式中,t可以根据检错纠错能力的要求,取1,2,…直到最大为p+1的正整数值。
复数旋转码的编码方法规定,Np,t中任一监督元ni,k,是Mp信息方阵中以mi,0所在i径(即第i行)为基准,各k层(即第k列)相应正向旋转 (k=0,1,2,...,p-1)后,在mi,0所在i径方向的各信息元的模二和。
一、利用复数旋转码的线性监督校验矩阵,确定出信息元和监督元之间的监督约束关系,构造出复数旋转码的泰勒表示图,当然,该泰勒表示图是一种逻辑关系图,它并不会在本发明的实施步骤中被实际绘出。在图上以消息节点表示信息元和监督元的值,它们之间的监督约束关系由校验节点表示。
其具体做法是如果将复数旋转码当作是一个线性码,将p×p的信息元方阵Mp转化为一个(p2,1)的单列矩阵,再将p×t的监督元矩阵Np,t转化为一个((p×t),1)的单列矩阵并连接到由Mp转化而来的单列信息元方阵后面构成一个(p×t+p2,1)的消息节点的值矩阵x,则H为一个(p×t,p×t+p2)的二进制稀疏矩阵并由公式(5)所确定。
代表其值为一个所有元素为0的矩阵,在这里是一个(p×t,1)的零元素单列矩阵。必须要注意的是,在H中的后(p×t,p×t)方阵为一个对角元素为1的对角方阵。
在定义了基本校验矩阵H以后,有必要再定义一个辅助校验矩阵H’,设xT为x的转秩矩阵,即xT为一个(1,p×t+p2)的单行矩阵,则辅助校验矩阵H’由公式(6)确定
代表其值为一个所有元素为0的矩阵,在这里是一个(1,p×t)的零元素单行矩阵。
利用迭代的大数逻辑译码算法对复数旋转码译码,就是要使得迭代译码过程中的信息元的矢量y满足H·y mod(取模)2=
。其中y由大数逻辑译码算法给出。假设y中的元素代表数据元,则H中的行元素和H’中的列元素分别代表对信息元和监督元的校验约束。信息元和监督元统称为消息节点,在这里以信息元的消息节点和监督元的消息节点来称呼以便区别两种不同的消息节点。而对信息元的消息节点和监督元的消息节点的校验约束则称之为校验节点。同样的,以信息元的校验节点和监督元的校验节点来称呼以便区别两种不同的校验节点。消息节点和校验节点之间的连线由H和H’所确定的校验约束所确定,也是作为迭代译码过程中的信息传送通道。因此,对于一个(p,t)的复数旋转码,共有p2个信息元的消息节点,有p×t个监督元的消息节点,有p×t个信息元的校验节点和p2个监督元的校验节点,在这些消息节点和校验节点之间共有2×p2×t条连线。
二、定义两个大数逻辑的判别门限值,对信息元的大数逻辑判别门限值定义为0≤ωm≤t-1,而对监督元的大数逻辑判别门限定义为0≤ωc≤p-1,这里ωi,ωc都是整数。
三、定义迭代大数逻辑算法的运算法则,假设在消息节点上的运算定义为ψ,则对信息元的消息节点上的运算为ψm,对监督元的消息节点上运算为ψc而在校验节点上的运算定义为ζ。在迭代大数逻辑译码过程中,对于消息节点,如果在第一次迭代过程中,在p2个信息元的消息节点ψi(0)的值为从接收机传递来的信号观测值yi;四、从第l,(l>1)次迭代开始,对于消息节点,其值分为两种情况确定其一为信息元的消息节点ψm,i(l),当与ψm,i(l)连接的监督节点的值与当前值ψm,i(l-1)的一致的数目超过ωm时,ψm,i(l)的值与ψc,j(l-1)的值一致,否则,ψm,i(l)的值取为-ψm,i(l-1);其二为监督元的消息节点,当与ψc,j(l)连接的监督节点的值与ψc,j(l-1)的值一致的数目超过ωc时,ψc,j(l)的值与当前值ψc,j(l-1)的值一致,否则,ψc,j(l)的值取为-ψc,j(l-1)。对p×t+p2个校验节点中的每一个节点i,在第一次迭代中,ζi0为空值。从第l,(l>1)次迭代开始,ζil由所有连接到这第i个校验节点的消息节点的值连乘而得,但是校验节点的值在反馈回消息节点的时候,应该除以被返回消息节点的值,也就是说,从校验节点返回到消息节点的值只能是外信息(不包括被返回消息节点的值)。
实施例1采用迭代的大数逻辑译码算法的(3,4)复数旋转码本实施例介绍用于复数旋转码的一种简单的并且是完全编码p=3,t=4的情形(t=p+1)。
在描述本实施例的译码方法之前,先简单介绍如何利用现有的编码方法对本例的复数旋转码进行编码在此例中,p=3,t=4,码率为0.4286。于是把信息元a,b,c,d,e,f,g,h,i按3×3=9进行分组形成一个M3的信息元分组,其后根据复数旋转码的编码方法编出3×4=12个的监督元A,B,C,D,E,F,G,H,I,L,M,N附在后面,形成N34的监督元分组,由是构成21个码元的编码分组。具体编码方法见公式(7)M3abcdefghiN34AabcBaeiCahfLadgDdefEdhcFdbiMbehGghiHgbfIgecNcfi---(7)]]其中大写字母的监督元的下标小写字母表示该监督元由下标中的小写字母所代表的信息元编码而成,如Aabc=abc。经过编码后的信息元和监督元经过二进制的相位键控调制(BPSK,即将0和1的二进制信号分别转化为-1和+1的带符号的二进制信号)后送入对称二进制的信道中。
在采用以上现有编码方法对(3,4)复数旋转码进行编码的基础上,进行本发明方法以下步骤的译码1、根据线性分组码的性质,可以求得该(3,4)复数旋转码的校验矩阵H34为而公式(6)定义的辅助校验矩阵H’34可以由校验矩阵H34转化而来,即H’34为100001由校验矩阵H34和辅助校验矩阵H’34,可以画出复数旋转码的监督元和信息元之间的约束关系图如图1和图2所示。图中空心圆“○”代表信息元,实心圆“●”代表监督元,空心方块“□”代表对信息元的校验约束,实心方块“■”代表对监督元的校验约束。小写字母a,b,c…对应于信息元,大写字母A,B,C…对应于监督元。信息元和监督元之间的连线代表它们之间的约束关系。图1表示的是对信息元的校验约束的泰勒关系图,由图中可以看出,每个信息元的消息节点受t=4个信息元的校验约束节点约束,每个信息元的校验约束节点也对应4个消息节点(其中一个为监督元的消息节点)。图2表示的是对监督元的校验约束的泰勒关系图,由图中可以看出,每个监督元的消息节点受p=3个监督元的校验约束节点约束,而每个监督元的校验约束节点又对应于5个消息节点,其中之一为信息元的消息节点。基于基本校验矩阵H34(对应约束关系图为图1)及辅助校验矩阵H’34(对应约束关系图为图2)的监督元和信息元的约束关系,可以很方便的定义出(3,4)复数旋转码的迭代大数逻辑译码算法以下步骤2、先可以设定两个判别门限值ωi,ωc,基于以上本例的ωi,ωc的取值范围,须满足条件ωi取
3、在第一次的迭代译码中,消息节点的初始值来自于二进制信道观测值,信道观测值是经过硬判决的,为-1,+1的带符号二进制信号。沿着图1和图2所示的连线,由消息节点向校验节点传送该初始值,只有与某一消息节点有连线的校验节点能收到该消息节点的值。对校验节点来说,每一个校验节点从与其相连的消息节点接受-1,+1的二进制信号并做连乘计算。
4、从第二次迭代开始,由校验节点向消息节点传送上一次迭代译码过程中得到的校验节点的值。某一消息节点在收到与其相邻的所有的校验节点传送过来的值后,先从每一个校验节点的值中除去上一次迭代译码中该消息节点的值,即只利用校验节点的外信息值,然后再进行大数逻辑的判断译码,判断的规则是如果与该消息节点相连的所有校验节点的外信息值中,与该消息节点一致的数目大于ωm(该消息节点为信息元的消息节点)或者ωc(该消息节点为监督元的消息节点)时,则保持该消息节点的值,否则,对该消息节点的值进行取反操作(即-1变更为+1,+1变更为-1)作为本次迭代的消息节点的值。
5、重复以上过程4,直到达到最大设定的迭代次数。最后,消息节点的值将作为硬判决的译码输出。
实施例2采用迭代的大数逻辑译码算法的(47,13)复数旋转码在本实施例中介绍一种分组较长,码率较高的不完全编码的(47,13)复数旋转码的应用。
在描述本实施例的译码方法之前,先简单介绍如何利用现有的编码方法对本例的复数旋转码进行编码基于复数旋转码的编码方法,在此例中,p=47,t=13,码率为0.7833。于是把信息元按47×47=2209进行分组,得到一个M47的信息元方阵其后根据复数旋转码的编码方法编出47×13=611个的监督元矩阵N47 13附在后面,由是构成2820个码元的编码分组。
ni,l=⊕k=047m(i-lk)47,k,l=0,1...,12;i=0,1...,46---(8)]]在采用以上现有编码方法对(47,13)复数旋转码进行编码的基础上,进行本发明方法以下步骤的译码1、根据公式(8)的编码规则,也可以很方便的求出本实施例的校验矩阵H47 13,H47 13为一个611×2820的稀疏矩阵。H47 13的第0行到第610行、第2208列到第2279列为一个611×611的对角元素为1的对角方阵。而从H47 13的第0行到第610行,第0列到第2208列,凡(j+i×13,(i+k×j)47×47+k),i,k=0,1,...,46;j=0,1,...,12的位置上为1,其余位置上为0;而对于辅助校验矩阵H’47 13来说,H’4713为一个2820×2209的稀疏矩阵,其中第从第0行到第2208行,第0列到第2208列为一个2209×2209的对角元素为1的对角方阵,从第2209行到2819行,第0列到第2208列,凡(2209+j+i×13,(i+k×j)47×47+k),i,k=0,1,...,46;j=0,1,...,12的位置上的元素为1,其余位置上的元素为0。如果储存校验矩阵H47 13和辅助校验矩阵H’47 13会占用很大的内存空间,但是由于复数旋转码编码的规律性,完全可以只根据p,t参数推算出在校验矩阵H47 13和辅助校验矩阵H’47 13中哪些位置上是1,哪些位置上是0,从而推导出其监督元和信息元之间的监督约束图如图3和图4所示,其中图3是对信息元的监督约束图,图4是对监督元的监督约束图。同样的,空心圆“○”代表信息元,实心圆“●”代表监督元,空心方块“□”代表对信息元的校验约束,实心方块“■”代表对监督元的校验约束。信息元和监督元之间的连线代表它们之间的约束关系。图3表示的是对信息元的校验约束,由图中可以看出,每个信息元的消息节点受t=13个信息元的校验约束节点约束,每个信息元的校验约束节点也对应14个消息节点(其中一个为监督元的消息节点)。图4是对监督元的校验约束,由图中可以看出,每个监督元的消息节点受p=47个监督元的校验约束节点约束,而每个监督元的校验约束节点又对应于14个消息节点,其中之一为信息元的消息节点。基于基本校验矩阵H47 13(对应约束关系图为图3)及辅助校验矩阵H’47 13(对应约束关系图为图4)的监督元和信息元的约束关系,可以很方便的定义出(47,13)复数旋转码的迭代大数逻辑译码算法的以下步骤2、先可以设定两个判别门限值ωi,ωc,基于本例以上的ωi,ωc的取值范围,须满足条件ωi取
3、在第一次的迭代译码中,消息节点的初始值来自于二进制信道观测值,信道观测值是经过硬判决的,为-1,+1的带符号二进制信号。沿着图3和图4所示的连线,由消息节点向校验节点传送该初始值,只有与某一消息节点有连线的校验节点能收到该消息节点的值。对校验节点来说,每一个校验节点从与其相连的消息节点接受-1,+1的二进制信号并做连乘计算。
4、从第二次迭代开始,由校验节点向消息节点传送上一次迭代译码过程中得到的校验节点的值。某一消息节点在收到与其相邻的所有的校验节点传送过来的值后,先从每一个校验节点的值中除去上一次迭代译码中该消息节点的值,即只利用校验节点的外信息值,然后再进行大数逻辑的判断译码,判断的规则是如果与该消息节点相连的所有校验节点的外信息值中,与该消息节点一致的数目大于ωm(该消息节点为信息元的消息节点)或者ωc(该消息节点为监督元的消息节点)时,则保持该消息节点的值,否则,对该消息节点的值进行取反操作(即-1变更为+1,+1变更为-1)作为本次迭代的消息节点的值。
5、重复以上过程4,直到达到最大设定的迭代次数。最后,消息节点的值将作为硬判决的译码输出。
显然,本发明除可用于上述两种实施例的复数旋转码的译码中之外,还可用于p,t为其它任何参数值的复数旋转码中。
1.一种复数旋转码迭代大数逻辑译码方法,其特征在于(1)、利用复数旋转码的线性监督校验矩阵,确定出信息元和监督元之间的监督约束关系,构造出复数旋转码的泰勒表示图,在图上以消息节点表示信息元和监督元的值,它们之间的监督约束关系由校验节点表示;(2)、设定两个判别门限值ωi,ωc,ωi取
之间的整数值,其中t为复数旋转码的监督元值矩阵的列数,p为素数且为信息元值矩阵的编码分组数;(3)、在第一次译码迭代中,由消息节点向校验节点传送来自于二进制信道的硬判决观测初始值,每一个校验节点从与其相连的消息节点接受-1,+1的观测初始值并做连乘计算得到的校验节点的值;(4)、从第二次迭代开始,由校验节点向消息节点传送上一次迭代译码过程中得到的校验节点的值;消息节点在收到与其相连的所有的校验节点传送过来的值后,先从每一个校验节点的值中除以上一次迭代译码中该消息节点的值,得到与该消息节点相连的校验节点的外信息值,然后再进行大数逻辑的判断译码;判断的规则是如果该消息节点为信息元的消息节点,则与之相连的所有校验节点的外信息值中,与该信息元的消息节点当前值一致的外信息值数目大于ωi,则保持该消息节点的值,否则,对该消息节点的值进行-1变+1或+1变-1的取反操作作为本次迭代的该消息节点的值;如果该消息节点为监督元的消息节点,则与之相连的所有校验节点的外信息值中,与该监督元的消息节点当前值一致的外信息值数目大于ωc,则保持该消息节点的值,否则,对该消息节点的值进行-1变+1或+1变-1的取反操作作为本次迭代的该消息节点的值;(5)、如果消息节点的值矩阵与其线性监督矩阵相乘得到所有元素为0的矩阵,或者达到设定的最大迭代次数,消息节点的值作为硬判决的译码输出;否则,重复第(4)步。
2.如权利要求1所述的一种复数旋转码的迭代大数逻辑译码方法,其特征在于所采用的大数逻辑译码的大数逻辑判别门限ωi,ωc是分别可调的。
本发明公布了一种复数旋转码的迭代大数逻辑译码方法。通过在通信译码端利用本发明的迭代大数逻辑译码算法替代原来的复数旋转码一步大数逻辑译码算法,利用对复数旋转码的信息元和监督元在迭代的大数逻辑译码中设置不同的大数逻辑判决门限值进行译码,可以大幅度的提高复数旋转码的性能。同时,本方法的译码收敛速度很快,译码时延小,硬件实现复杂性低,使得在需要传输数据为短帧和中帧的高码率应用中具有优异的性能和很低的实现复杂性。
如您需求助技术专家,请点此查看客服电线: 建筑节能 绿色建筑能耗的模拟与检测(EnergyPlus);建筑碳排放和生命周期评价;城市微气候、建筑能耗与太阳能技术的相互影响;地理信息系统(GIS)和空间回归方法用于城市建筑能耗分析;不确定性、敏感性分析和机器学习方法应用于建筑能耗分析(R);贝叶斯方法用于城市和单体建筑能源分析 2: 过
1.振动信号时频分析理论与测试系统设计 2.汽车检测系统设计 3.汽车电子控制系统设计
1.计算机网络安全 2.计算机仿线.智能检测与控制技术 3.机构运动学与动力学 4.机电一体化技术

