校验矩阵生成装置和通信装置的制作方法

文档序号:7508421阅读:604来源:国知局
专利名称:校验矩阵生成装置和通信装置的制作方法
技术领域
本发明涉及采用低密度奇偶校验(LDPCLow-densityParity-Check)码作为纠错码时的校验矩阵生成装置和搭载了该校验矩阵生成装置的通信装置,特别是涉及可以探索确定地且特性稳定的LDPC码用的校验矩阵的校验矩阵生成装置和搭载了该校验矩阵生成装置的通信装置。
背景技术
下面,我们说明已有的LDPC码用的校验矩阵生成方法。在以往的LDPC编码/解码系统中,发送侧的通信装置具有备有编码器和调制器的构成,另一方面,接收侧的装置具有备有解调器和解码器的构成。这里,在说明已有的LDPC码用的校验矩阵生成方法前,先说明使用LDPC码时的编码和解码的流程。
首先,发送侧的编码器用后述的已有方法生成校验矩阵H。然后,根据下列的条件求生成矩阵G。
GK×N矩阵(K是信息长度,N是代码长度)GHT=0(T是转置矩阵)此后,编码器接受信息长度为K的消息(m1m2.....mK),使用上述生成矩阵G生成代码字C。
C=(m1m2...mK)G=(c1c2...cN)(其中H(c1c2...cN)T=0)然后,调制器对生成的代码字C进行BPSK(Binary Phase ShiftKeying(二相移键控))、QPSK(Quadrature Phase Shift Keying(正交相移键控))、多值QAM(Quadrature Amplitude Modulation(正交调幅))等数字调制,并发送出去。
另一方面,在接收侧,解调器对经过通信路径接受的调制信号,进行BPSK、QPSK、多值QAM等数字解调,进一步,解码器对经过LPDC编码后的解调结果,实施根据“sum-product算法”的反复解码,输出推定结果(与原来的m1m2.....mK相对应)。
下面我们具体地说明已有的LDPC码用的校验矩阵生成方法。
第1图是表示例如由非专利文献1提出的、已有的LDPC码用的校验矩阵的图。第1图所示的矩阵是“1”和“0”二值的矩阵,将“1”的部分涂满。其它空栏的部分全都是“0”。该矩阵1行的“1”的数目(将它表现为行的次数)为4,1列的“1”的数目(将它表现为列的次数)为3,因为全部的列和行的次数是均匀的,所以一般将它称为“Regular(规则)-LDPC码”。另外,用根据非专利文献1的代码,例如,如第1图所示,将矩阵分成3块,对第2块和第3块进行随机置换。
但是,在该随机置换中,因为没有规定的规则,所以为了找到特性更良好代码,必须用计算机进行费时的探索。
因此,例如,由非专利文献2提出了即便不通过计算机探索也能够确定地生成矩阵,用欧几里得几何码作为表示比较稳定的良好特性的LDPC码的方法。在该方法中,说明了用规则的ensemble(集合)构成的“Regular-LDPC码”。
根据非专利文献2,提出了用作为有限几何码的一种的欧几里得几何码EG(2,26),生成LDPC码的校验矩阵的方法,在错误率为10-4点,从香农(Shannon)极限得到接近1.45dB的特性。
第2图是表示例如欧几里得几何码EG(2,22)的构成的图,形成行、列各自的次数为4,4的“Regular-LDPC码”构造。
所以,在欧几里得几何码EG(m,2S)的情况下,如下地规定其特性。这里,EG(m,2S)是GF(2S)上的m维欧几里得几何码。
代码长度N=22s-1冗余位长度N-K=3s-1信息长度K=22S-3S最小距离dmin=2s+1
密度r=2s/(22s-1)如通过观看第2图了解到的那样,欧几里得几何码具有各行的“1”的配置是对每一行循环移位的构造,具有能够容易并且确定地构成代码的特长。
在根据非专利文献2的校验矩阵生成方法中,进一步,根据上述欧几里得几何码变更行和列的次数,根据需要扩展行和列。例如,当将EG(2,22)的列的次数分离成1/2时,在非专利文献2中,将在1列内为4的次数每隔1各分离2个。
第3图是表示将欧几里得几何码的列的次数规则地从4分离到2的例子的图。
另一方面,非专利文献3报告了“Irregular-LDPC码”的特性比上述“Regular-LDPC码”的特性好。而且,由非专利文献4和非专利文献5对其进行了逻辑上的解析。此外,上述“Irregular-LDPC码”表示列和行的次数各个或某一方为不均匀的LDPC码。
特别是,在非专利文献5中,假定反复解码器中的输入和输出的对数似然比(LLR)能够近似高斯分布,则对LDPC码的“Sum-Product算法”进行解析,求得良好的行和列的次数的集合。
非专利文献1R.G.Gallager,“Low-Density Parity CheckCodes”,IRE Trans.On IT pp21-28 January 1962非专利文献2Y.Kou,S.Lin,and M.P.C.Fossorier,“LowDensity Parity Check Codes Based on Finite GeometriesARediscovery and New Results”,IEEE Trans.Inform.Theory,vol.47,No.2,pp.2711-2736,Feb.2001非专利文献3M.G.Luby,M.Mitzenmacher,M.A.Shokrollahiand D.A.Spielman,“Improved Low-Density Parity-Check CodesUsing Irregular Graphs and Belief Propagation”,Proceedings of 1998IEEE International Symposium on Information Theory,pp.171,Cambridge,Mass.,August 16-21,1998
非专利文献4T.J.Richardson and R.Urbanke,“The Capacity oflow-density parity-check codes under message-passing decoding”,IEEE Trans.Inform.Theory,vol.47,No.2,pp.599-618,Feb.2001非专利文献5S.-Y.Chung,T.J.Richardson and R.Urbanke,“Analysis of Sum-Product Decoding of Low-Density Parity-CheckCodes Using a Gaussian Approximation”,IEEE Trans.Inform.Theory,vol.47,No.2,pp.657-670,Feb.2001因为如上地实施已有的LDPC码用的校验矩阵生成方法,所以校验矩阵的循环的最小值(称为内径)在许多情形中约为6(第2图、第3图的情形为6),校验矩阵的循环大的情况下,代码字的汉明(Hamming)距离宽,当从Sum-product解码法中的特性被当作良好的、一般的解析结果看时,存在着纠错能力的性能方面不足那样的问题。
本发明就是为了解决上述课题提出的,本发明的目的是得到能够在短时间内容易地生成确定地且特性稳定,纠错能力良好,并且与多种集合、代码长度、编码率对应的Irrgular-LDPC码用的校验矩阵的LDPC码用的校验矩阵生成装置和搭载了该校验矩阵生成装置的通信装置。
这里,所谓“确定地”意味着发送接收具有共同的算法,可以用有限的项(諸元)导出同一结果,在本发明的情形中,意味可以用编码率或代码长度等有限的项生成LDPC码用的校验矩阵。

发明内容
与本发明有关的校验矩阵生成装置备有输入规定的信息长度、编码率和列最大次数的信息长度·编码率·列最大次数输入单元;使用输入的上述规定的信息长度、编码率和列最大次数,计算出用于后述的伪随机数置换矩阵的参数的伪随机数置换矩阵用参数计算单元;根据计算出的用于上述伪随机数置换矩阵的参数,使用伪随机数序列和拉丁方阵矩阵,生成上述伪随机数置换矩阵的伪随机数置换矩阵生成单元;使用所输入的上述规定的信息长度、编码率和列最大次数,计算出用于可以使用上述伪随机数置换矩阵构成的校验矩阵生成的次数分布的最佳化的、可以取得的次数分布的组合的参数的次数分布最佳化用参数计算单元;将计算出的上述可以取得的次数分布的组合作为约束条件,根据密度发展法使校验矩阵生成的次数分布最佳化的次数分布最佳化单元;和根据经过最佳化的上述校验矩阵生成的次数分布,配置所生成的上述伪随机数置换矩阵,生成低密度奇偶校验码用的校验矩阵的校验矩阵生成单元。
根据本发明,可以得到能够在短时间内容易地生成确定地且特性稳定,纠错能力良好,并且与多种的集合、代码长度、编码率对应的Irrgular-LDPC码用的校验矩阵的效果。


图1表示已有的LDPC码用的校验矩阵的图。
图2是表示欧几里得几何码EG(2,22)的结构图。
图3是表示将欧几里得几何码的列的次数规则地从4分离到2的例图。
图4是表示LDPC编码/解码系统的结构框图。
图5是表示根据本发明的实施方式1的校验矩阵生成装置的结构框图。
图6是表示根据本发明的实施方式1的校验矩阵生成装置的处理流程的流程图。
图7是表示根据本发明的实施方式2的校验矩阵生成装置的结构框图。
图8是表示根据本发明的实施方式2的校验矩阵生成装置的处理流程的流程图。
图9是表示位错误率特性和帧错误率特性相对信息每1位的信号功率与噪声功率之比的关系的图。
图10是表示根据本发明的实施方式3的校验矩阵生成装置的结构框图。
图11是表示根据本发明的实施方式3的校验矩阵生成装置的处理流程的流程图。
图12是表示根据本发明的实施方式4的校验矩阵生成装置的结构框图。
图13是表示根据本发明的实施方式4的校验矩阵生成装置的处理流程的流程图。
图14是表示Multi-edge type集合的例子的图。
图15是表示irregular LDPC码的例子的图。
图16是表示按照第15图的次数分布构成的校验矩阵的例图。
图17是表示用于评价的irregular LDPC码的次数分布的例图。
图18是表示irregular LDPC码的帧错误率特性的图。
图19是根据本发明的实施方式5的校验矩阵生成装置的结构框图。
图20是根据本发明的实施方式6的通信装置的结构框图。
具体实施例方式
下面,为了详细地说明本发明,按照

用于实施本发明的最佳方式。此外,本发明不受这些实施方式的限定。
实施方式1.
首先,在说明该实施方式1的LDPC码用的校验矩阵生成方法前,先说明使用生成的LDPC码用的校验矩阵的编码器和解码器的定位以及“irregular LDPC码”用的已有的校验矩阵生成方法。
第4图是表LDPC编码/解码系统的结构框图。在第4图中,发送侧的通信装置形成包含编码器101和调制器102的结构,接收侧的通信装置形成包含解调器104和解码器105的结构。在此说明使用生成的LDPC码用的校验矩阵时的编码和解码的流程。
在发送侧的通信装置中,如后所述,使用由LDPC码用的校验矩阵生成装置生成的校验矩阵H。然后,在编码器101中,根据下列条件求得生成矩阵G。
GK×N矩阵(K是信息长度,N是代码长度)GHT=0(T是转置矩阵)此后,编码器101接受信息长度为K的消息(u1u2....uK),用上述生成矩阵G生成代码字C。
C=(u1u2...uK)G=(c1c2...cN)(其中H(c1c2...cN)T=0)然后,在调制器102中,对生成的代码字C进行BPSK、QPSK、多值QAM等数字调制并发送出去。
可是,在编码器101的情形中,存在着必须用高斯消去法等从校验矩阵H生成生成矩阵G,并且对于校验矩阵H为低密度的情况,因为生成矩阵G具有比较高的密度,2维的生成矩阵中的“1”的比率大,所以存储生成矩阵G的存储器数量也必须很多那样的问题。
为了解决该问题,在下述文献等中提出了形成在校验矩阵H中包含下三角构造(或上三角构造)的矩阵结构的方法。
M.Rashidpour and S.H.Jamali,“Low-Density Parity-CheckCodes with Simple Irregular Semi-Random Parity Check Matrix forFinite-Length Applications”,pp439-443,in proc.IEEE PIMRC 2003。
现在将T设为下列那样的M×M,M∈Z>0的下三角构造的矩阵。这里Z>0表示全体正整数的集合。
如下地表示由i行j列的要素hi,J构成的2维M×N,N∈Z>0,矩阵H=[hi,j]。
H=[AM×A|T]
这里H是M×N的矩阵。另外AM×A是任意的2维M×K,K=N-M矩阵。
当令组织代码字矢量C为C=(u1,u2,...,uK,p1,p2,...,pM)时,该代码字矢量C满足H·CT=0,当提供了信息消息u=(u1,u2,...,uK)时,编码器101根据下列公式生成奇偶要素。
p1=Σi=1Kmih1,M+k]]>pm=pm-1+Σi=1Kmihm,M+i,2≤m≤M]]>为了根据该顺序,即便不用生成矩阵G也能够容易地实现编码,在本发明中将构成包含下三角构造的矩阵的校验矩阵H作为条件。
另一方面,在接收侧的通信装置中,事先从发送侧的通信装置接受与必要的项有关的信息生成校验矩阵,解调器104对经过通信路径103接受到的调制信号进行BPSK、QPSK、多值QAM等数字解调,进一步,解码器105对经过LDPC编码的解调结果,用生成的校验矩阵实施根据“sum-product算法”的反复解码,输出推定结果(与原来的u1u2.....uK对应)。
下面我们详细地说明根据非专利文献5理论地进行了解析的“Irregular-LDPC码”用的已有的校验矩阵生成方法。这里,通过按照sum-product解码法的解码过程,反复计算在解码器105中的输入和输出的对数似然比(LLR)的概率密度函数,用解析sum-product解码法的解码特性的所谓的密度发展法的方法和作为它的近似计算法的高斯近似法,求得良好的行和列的次数的集合。
此外,在作为在上述非专利文献5中记述的LDPC码用的校验矩阵生成方法的密度发展法和在解码器105中的输入和输出的对数似然比(LLR)能够近似高斯分布使计算简易化的高斯近似法(GaussianApproximation)中,作为前提,对校验矩阵用Tanner图表现,将各列定义为变量节点,将各行定义为校验节点。另外,当在某列和某行的交点上为“1”时,用“边(枝)”将变量节点和校验节点连接起来。
首先,解析从校验节点到变量节点的LLR消息传输。在0<s<∞和0≤t<∞的条件下,定义下面的函数(1)式。其中,s=mU0是u0的平均值,u0是经过包含分散值σn2的高斯噪声的传送路径接收到的信号的对数似然比(LLR)的总体平均,t是在预定的反复时刻的校验节点的LLR输出值的总体平均。
fj(s,t)=φ-1(1-[1-Σi=2dlλiφ(s+(i-1)t)]j-1)]]>f(s,t)=Σj=2drρjfj(s,t)···(1)]]>此外,λi和ρj分别表示属于次数i的变量节点和校验节点的边的比率。另外,dl是最大变量节点的次数,dr是最大校验节点的次数。另外,上述λ(x)和ρ(x)分别表示变量节点和校验节点的次数分配(将变量节点和校验节点的各1行、各1列内的“1“的数表示为次数)的生成函数,能够如下列(2)式和(3)式那样地表示出来。
λ(x)=Σi=2dlλixi-1···(2)]]>ρ(x)=Σi=2drρixi-1···(3)]]>另外,上述(1)式的Φ(x)如下列(4)式那样地定义。
φ(x)=1-14πx∫Rtanhu2·e-(u-x)24xduif x>01if x≤0···(4)]]>这里,R表示全体实数的集合,u表示变量节点的LLR输出的总体平均。
而且,上述(1)式能够等价地表示为下列(5)式。

tl=f(s,tl-1)…(5)此外,tl是第1个反复时刻中的校验节点的LLR输出值的总体平均。
这里,为了求错误能够成为0的SNR的极限(threshold(阈值))的条件是当l→∞时tl(s)→∞(表现为R+),为了满足该条件,需要满足作为下列条件的(6)式。
t<f(s,t),所有的t∈R+…(6)下面解析从变量节点到校验节点的LLR消息传输。在0<s<∞和0<r≤1的条件下,定义下面的函数(7)式。此外,r的初期值r0为Φ(s)。
hi(s,r)=φ(s+(i-1)Σj=2drρjφ-1(1-(1-r)j-1))]]>h(s,r)=Σi=2dlλihi(s,r)···(7)]]>而且,上述(7)式能够等价地表示为下列(8)式。
rl=h(s,rl-1)…(8)这里,为了求得错误能够成为0的SNR的极限(threshold(阈值))的条件是rl(s)→0,为了满足该条件,需要满足作为下列条件的(9)式。
r>h(s,r),全部的r∈(0,φ(s)) …(9)进一步,在上述非专利文献5中,用上述公式按照下列顺序探索变量节点和校验节点的最佳次数(密度发展法的高斯进近似法)。

假定提供了变量节点的次数分配的生成函数λ(x)和高斯噪声σn,将校验节点的次数分配的生成函数ρ(x)作为变量,探索编码率为最大的点。此外,在该探索中的约束条件是标准化为ρ(l)=1和满足上述(6)式。
假定提供了校验节点的次数分配的生成函数ρ(x)和高斯噪声σn(例如,根据ST101的结果得到的值),将变量节点的次数分配的生成函数λ(x)作为变量,探索编码率为最大的点。此外,在该探索中的约束条件是标准化为λ(l)=1和满足上述(9)式。
为了求得最大的编码率,反复实施上述步骤ST101和上述步骤ST102,用线性计划法探索变量节点的次数分配的生成函数λ(x)和校验节点的次数分配的生成函数ρ(x)的更良好的集合[步骤ST104]从高斯噪声σn将信息功率标准化为1,用下列(10)式求得错误可成为0的SNR的极限(threshold(阈值))。
threshold(dB)=-10*log10(2*σn2)···(10)]]>但是,在上述非专利文献5中,存在着根据编码率的最大值得到的校验矩阵为流动的,作为设计时的定义所固定的编码率发生了变动那样的问题。另外,在上述非专利文献5中,因为变量节点的次数分配的生成函数λ(x)的导出和校验节点的次数分配的生成函数ρ(x)的导出经过预定次数反复进行,所以也存在着探索处理中需要某种程度的时间那样的问题和不能够容易地与多样的集合、代码长度、编码率相对应那样的问题。
因此,在该实施方式1中,说明能够在短时间内容易地探索确定地且特性稳定,并且与多种的集合、代码长度、编码率相对应的“Irrgular-LDPC码”用的校验矩阵的方法。
第5图是表示根据本发明的实施方式1的LDPC码用的校验矩阵生成装置的结构框图。该校验矩阵生成装置备有信息长度·编码率·列最大次数输入单元11、伪随机数置换矩阵用参数计算单元12、伪随机数置换矩阵生成单元13、次数分布最佳化用参数计算单元14、次数分布最佳化单元15和校验矩阵生成单元16。既可以将该校验矩阵生成装置搭载在第4图中的发送侧和接收侧的通信装置内,将生成的校验矩阵输出到编码器101和解码器105,也可以将该校验矩阵生成装置设置在发送侧和接收侧的通信装置外,将生成的校验矩阵存储在发送侧和接收侧的通信装置内的存储器(没有图示)中输出到编码器101和解码器105。
第6图是表示根据本发明的实施方式1的校验矩阵生成装置的处理流程的流程图。在步骤ST11,信息长度·编码率·列最大次数输入单元11输入规定的信息长度、编码率和列最大次数。在步骤ST12,伪随机数置换矩阵用参数计算单元12用在步骤ST11输入的规定的信息长度、编码率和列最大次数,计算用于伪随机数置换矩阵的参数。
在步骤ST13,伪随机数置换矩阵生成单元13根据在上述步骤ST12计算出的用于伪随机数置换矩阵的参数,使用伪随机数序列和拉丁(LATIN)方阵矩阵生成伪随机数置换矩阵。在步骤ST14,次数分布最佳化用参数计算单元14使用在上述步骤ST11输入的规定信息长度、编码率和列最大次数,计算出用于可以使用伪随机数置换矩阵构成的校验矩阵生成的次数分布的最佳化的、可以取得的次数分布的组合的参数。
在步骤ST15,次数分布最佳化单元15将在上述步骤ST14计算出的可以取得的次数分布的组合作为约束条件,根据密度发展法使校验矩阵生成的次数分布最佳化。在步骤ST16,校验矩阵生成单元16根据在上述步骤ST15被最佳化后的校验矩阵生成的次数分布,配置在上述步骤ST13中所生成的伪随机数置换矩阵,生成LDPC码用的校验矩阵。
下面,我们说明第6图的流程图中的步骤ST11~ST16的详细处理。
在步骤ST11,信息长度·编码率·列最大次数输入单元11输入在系统中事前设定的信息长度K=144、编码率rate=0.5、列最大次数d=4作为预定的信息长度、编码率和列最大次数。
在步骤ST12,伪随机数置换矩阵用参数计算单元12用在上述步骤ST11输入的信息长度K=576、编码率rate=0.5、列最大次数d=4,如下地计算出用于p2×p2(p+1是素数)的伪随机数置换矩阵SP的参数p。根据伪随机数置换矩阵SP的行方向的个数=d=4校验矩阵H的列数N(=代码长度N)=K/rate=144/0.5=288校验矩阵H的行数M=N×(1-rate)=288×0.5=144伪随机数置换矩阵SP的大小p2=M/d=144/4=36得到p=6。
在步骤ST13,伪随机数置换矩阵生成单元13根据在上述步骤ST12计算出的用于伪随机数置换矩阵SP的参数p,如下面所示的步骤ST13-1~ST13-6的顺序所示那样,使用伪随机数序列和拉丁(LATIN)方阵矩阵生成p2×p2(p+1是素数)的伪随机数置换矩阵SP。
在使用了LDPC码的编码/解码中,一般地说,在Tanner曲线图中的2部分曲线图上称为“循环4”和“循环6”的校验矩阵的小循环的个数越少,越能够得到良好的特性。所以,作为LDPC码,希望具有抑制“循环4”和“循环6”这样小循环产生的构造,伪随机数置换矩阵生成单元13生成抑制校验矩阵的小循环产生的伪随机数置换矩阵SP。
[公式11]生成用下列公式定义的伪随机数序列C(i)。
C(1)=1,C(i+1)=G0×C(i)mod P,i=1,2,...P-2,
这里P为P=p+1且是素数,G0是GF(P)的本原元。此外,当作为GP(P)的要素的G0的应连续的相乘值(例如,G01,G02,...,G0P-1=1)表示GF(P)的非零的全部要素时,将G0称为本原元。该序列C(i)的要素间的差分为非均一的,成为没有重复的要素的伪随机数序列。
作为例子如下地表示P=7、G0=3的情形。
i1 2 3 4 5 6C(i)1 3 2 6 4 5[步骤ST13-2][公式12]生成针对伪随机数序列C(i)的下列公式所示的置换模型LBj(i)。
LBj(i)=(j×i)modP,j=1,2,...p,i=1,2,...,p.
当通过该操作,用j行i列的矩阵表现LBj(i)时,能够构成各行内的各要素和各列内的各要素全部不同的拉丁(LATIN)方阵矩阵。将它的例子表示如下。
i1 2 3 4 5 6LB1(i) 1 2 3 4 5 6LB2(i) 2 4 6 1 3 5LB3(i) 3 6 2 5 1 4LB4(i) 4 1 5 2 6 3LB5(i) 5 3 1 6 4 2LB6(i) 6 5 4 3 2 1[步骤ST13-3][公式13]用下列公式生成在要素中具有伪随机数序列及其置换模型的拉丁(LATIN)方阵矩阵Lj(q,l)。
Lj(q,LBj(((q+i-2)modp)+1))=C(i),j=1,2,...,p,i=1,2,...,p,q=1,2,..,p.
通过该操作,能够使用Lj(q,l)生成L1(q,l),L2(q,l).....Lp(q,l)的p个不同的拉丁(LATIN)方阵矩阵。
将它的例子表示如下。
l 1 2 3 4 5 6L1(1,l) 1 3 2 6 4 5L1(2,l) 3 2 6 4 5 1 L1(6,l) 5 1 3 2 6 4L2(1,l) 6 1 4 3 5 2L2(2,l) 1 4 3 5 2 6 L2(6,l) 2 6 1 4 3 5 L6(1,l) 5 4 6 2 3 1L6(2,l) 4 6 2 3 1 5 L6(6,l) 1 5 4 6 2 3[公式14]如从该例子可知,当对q=1,如下地试着排列Lj(q=1,l)的各要素时,可知成为各行内的各要素和各列内的各要素不同的拉丁方阵矩阵。
i 1 2 3 4 5 6L1(1,i) 1 3 2 6 4 5L2(1,i) 6 1 4 3 5 2L3(1,i) 4 2 1 5 6 3L4(1,i) 3 6 5 1 2 4L5(1,i) 2 5 3 4 1 6L6(1,i) 5 4 6 2 3 1同样即便对于q=2,.....,p,观察Lj(q,l)的各要素排列后的j行l列的矩阵,也成为拉丁方阵矩阵。
[公式15]根据下列公式,用拉丁方阵矩阵Lj(q,l)和参数p生成基本置换矩阵模型BPj(q,i)。
BPj(q,i)=Lj(q,i)+p×(i-1),j=1,2,...,p,i=1,2,...,p,q=1,2,..,p.
通过该操作,能够生成用于生成p2×p2的列次数为1、行次数为1的伪随机数置换矩阵的基本置换矩阵模型。
BPj(q,i)是当对Lj(q,i)的某个j生成q行i列的矩阵时,每次使各行增加1,对该行内的各要素只加p而得。
下面表示它的例子。
i 1 2 3 4 5 6BP4(1,i) 3 6 5 1 2 4BP4(2,i) 12 11 7 8 10 9BP4(3,i) 17 13 14 16 15 18BP4(4,i) 19 20 22 21 24 23BP4(5,i) 26 28 27 30 29 25BP4(6,i) 34 33 36 35 31 32根据前一步骤(3)的讨论将对某个q的BPj(q,l)的各要素进行排列而得的j行l列的矩阵也成为拉丁方阵矩阵。另外,通过该操作,从对某个j的BPj(q,l)生成的q行l列的矩阵的同一列的要素间的距离变宽了。
[公式17]用下列公式生成使基本置换矩阵模型BPj(q,i)的开始点移动了s个的多个基本置换序列SPj,s(i)。
j=1,2,...,p,i=1,2,...,p2,s=1,2,..,p.
通过该操作,能够生成用于生成p2×p2的列次数为1、行次数为1的伪置换矩阵的基本置换序列。
该序列的接近的要素间的距离变宽了。通过使邻接的要素间的距离加宽,能够抑制在与实施方式1中所述的T的下三角矩阵之间发生的短的循环,即能够抑制循环4和循环6的发生。
下面表示它的例子。

i 1 2 3 4 5 6SP4,3(i) 17 19 26 34 3 18i 7 8 9 10 11 12SP4,3(i) 13 20 28 33 6 11i 13 14 15 16 17 18SP4,3(i) 14 22 27 36 5 7i 19 20 21 22 23 24SP4,3(i) 16 21 30 35 1 8i 25 26 27 28 29 30SP4,3(i) 15 24 29 31 2 10i 31 32 33 34 35 36SP4,3(i) 18 23 25 32 4 9[步骤ST13-6][公式19]从多个基本置换序列SPj,s(i)生成由下列公式定义的2维p2×p2的多个伪随机数置换矩阵SPj,s=(hm,n)。
通过该操作,能够生成p2×p2的列次数为1、行次数为1的多个伪随机数置换矩阵。在由该SPj,s中s的值相等,j的值不同的多个SPj,s的组合构成的矩阵中,因为没有2个以上的各行的“1”的某个列号码一致的情形,所以不存在循环4,最小循环数成为6。另外,即便在多个SPj,s中s的值不同的情形下,也存在着不形成循环4的组合,能够通过探索等求得该组合。
下面表示它的例子。
SP4,3=0000000000000000100···0000000000000000001·······························································0001000000000000000···0000000010000000000···]]>在步骤ST14,次数分布最佳化用参数计算单元14使用在上述步骤ST11输入的规定的信息长度K、编码率rate和列最大次数d,计算出用于可以使用伪随机数置换矩阵构成的校验矩阵生成的次数分布的最佳化的、可以取得的次数分布的组合的参数。这里,根据包含列最大次数d和下三角矩阵的校验矩阵具有的制约条件,计算出可以取得的次数分布的组合。
由作为目标的列的最大次数d、信息长度K和编码率rate求得如下列公式所示的校验矩阵H的制约条件。
这里,SP意味着任意的SPj,s。另外,配置在对角线上的\的连线意味着从H的最上位行通过到最下位行如T那样阶段状地分配1的情形。
这里决定的制约条件是伪随机数置换矩阵SP的循环、它的最大配置数和配置地方。
作为例子,下面表示信息长度K=144、编码率rate=0.5、列最大次数d=4的情形。根据伪随机数置换矩阵SP的行方向的个数=d=4校验矩阵H的列数N(=代码长度N)=K/rate=144/0.5=288校验矩阵H的行数M=N×(1-rate)=288×0.5=144伪随机数置换矩阵的大小p2=M/d=144/4=36得到p=6信息长度部分的伪随机数置换矩阵SP的最大数=N×rate/p2=288×0.5/36=4从这些结果,对校验矩阵H,从左端起4×4个伪随机数置换矩阵SP和校验矩阵H的右侧的左下三角部分中可以配置3+2+1个伪随机数置换矩阵SP。
在包含该最大次数和下三角矩阵的校验矩阵具有的制约条件下,计算出可以取得的次数分布的组合。所谓次数分布例如、表示列次数4的列数对校验矩阵全体的列数的比率,根据该比率以成为列次数4的方式在列方向将4个伪随机数置换矩阵(列权重1,行权重1)组合起来作成的。另外,对行次数也同样地进行。例如,在上述例子中,列权重4对校验矩阵H全体的列数使用伪随机数置换矩阵可以取得的比率为0~4/8,列权重3的可以取得的比率为0~5/8。输出这些列次数、行次数和可以取得的比率的组合作为用于在下一个步骤ST15进行的次数分布的最佳化的参数。
在步骤ST15,次数分布最佳化单元15将在上述步骤ST14计算出的可以取得的次数分布的组合作为约束条件,如下所示地用密度发展法对校验矩阵生成的次数分布进行最佳化。这里,计算出在上述步骤ST14求得的次数分布的组合中最佳的次数分布。这里,所谓次数分布是表示例如、列次数4的列数是全体的校验矩阵的百分数之几,根据该比率以成为列次数4的方式在列方向将4个伪随机数置换矩阵(列权重1,行权重1)组合起来作成的。因此,在下一个步骤ST16能够生成校验矩阵。
在步骤ST15,能够根据在步骤ST14求得的校验矩阵H中的伪随机数置换矩阵SP的大小、它的最大配置数和配置地方的制约条件,在校验矩阵H内的伪随机数置换矩阵SP的地方上配置任意的伪随机数置换矩阵SP或者可以该地方配置p2×p2的0矩阵那样的条件来选择组合。
下面,用密度发展法的高斯近似法中的最佳化,求得根据要求的编码率的“Irregular-LDPC码”的集合(次数分配)。
以同时将列的次数分配的生成函数λ(x)和行的次数分配的生成函数ρ(x)作为变量进行处理,使高斯噪声σn成为最大的方式,用线性计划法探索最佳的生成函数λ(x)和生成函数ρ(x)(请参照下列(11)式)。该探索中的约束条件满足后述的(12)式。
这时,列的次数分配的生成函数λ(x)和行的次数分配的生成函数ρ(x)的变量的可以取得值只是在上述校验矩阵H的约束条件下计算出的值。
hi(s,r)=φ(s+(i-1)Σj=2μmaxρjφ(1-(1-r)j-1))]]>h(s,r)=Σi=2γmaxλihi(s,r)···(11)]]>φ(x)=1-14πx∫Rtanhμ2·e-(μ-x)4xdμ,if x>01,if x≤0]]>∫01ρ(x)∫01λ(x)=1-rate]]>λ(l)=1,ρ(l)=1 …(12)r>h(s,r),所有的r∈(0,φ(s))此外,上述s是输出{-1,1}的二值信号作为发送信号,通过高斯通信路径接收的信号的对数似然比(LLR)的平均值,能够通过s=2/σn2计算出来。
这样,因为能够线性计划法1次求得满足规定条件的生成函数λ(x)和生成函数ρ(x),所以比起如非专利文献5那样,用反复实施生成函数λ(x)的导出和生成函数ρ(x)的计算,求得双方的最佳值的方法,能够更容易并在短时间内生成确定地且特性稳定的集合。
在步骤ST16,校验矩阵生成单元16根据在上述步骤ST15经过最佳化的校验矩阵生成的次数分布,以下述所示的方式配置在上述步骤ST13生成的伪随机数置换矩阵SP,并生成LDPC码用的校验矩阵。即、这里,根据在上述步骤ST15求得的次数分布,决定校验矩阵H中的伪随机数置换矩阵SP的配置。

H=SP1,1SP1,2SP1,4SP1,7\000SP4,3SP4,6SP4,10SP4,10\00SP6,8SP6,12SP6,16SP6,1300\0SP8,14SP8,500000\]]>当决定SP的配置和模式时,通过调整SPj,s的j和s探索不发生循环4、6等的短循环的组合来决定。SPj,s通过变更j和s,成为不同的伪随机数置换矩阵,因为基于该组合,循环4和6的产生本来就难以发生,所以能够将通过探索比较容易地导出组合这点作为特征。
如以上那样,根据该实施方式1,可以得到能够在短时间内容易地生成确定地且特性稳定,纠错能力良好,并且与多种的集合、代码长度、编码率对应的Irrgular-LDPC码用的校验矩阵的效果。
实施方式2下面我们对扩展实施方式1,在多个编码率中具有互换性(不改变信息长度只变化编码率)的RC(Rate comapatible(速率兼容的))-LDPC码的校验矩阵生成方法进行说明。
第7图是表示根据本发明的实施方式2的LDPC码用的校验矩阵生成装置的结构图。该校验矩阵生成装置备有信息长度·编码率·列最大次数输入单元21、伪随机数置换矩阵用参数计算单元22、伪随机数置换矩阵生成单元23、次数分布最佳化用参数计算单元24、次数分布最佳化单元25和校验矩阵生成单元26。该校验矩阵生成装置既可以被搭载在第4图中的发送侧和接收侧的通信装置内,将生成的校验矩阵输出到编码器101和解码器105,也可以被设置在发送侧和接收侧的通信装置外,将生成的校验矩阵存储在发送侧和接收侧的通信装置内的存储器(没有图示)中输出到编码器101和解码器105。
第8图是表示根据本发明的实施方式2的校验矩阵生成装置的处理流程的流程图。在步骤ST21,信息长度·编码率·列最大次数输入单元21输入规定的信息长度、多个编码率和除去无编码的最大编码率的列的最大次数。在步骤ST22,伪随机数置换矩阵用参数计算单元22用在上述步骤ST21输入的规定的信息长度、多个编码率和除去无编码的最大编码率的列的最大次数,计算出用于伪随机数置换矩阵的参数。
在步骤ST23,伪随机数置换矩阵生成单元23根据在上述步骤ST22计算出的用于伪随机数置换矩阵的参数,使用伪随机数序列和拉丁(LATIN)方阵矩阵生成伪随机数置换矩阵。在步骤ST24,次数分布最佳化用参数计算单元24用在上述步骤ST21输入的规定的信息长度、多个编码率和除去无编码的最大编码率的列最大次数,计算出用于可使用伪随机数置换矩阵构成的校验矩阵生成的次数分布的最佳化的、可以取得的次数分布组合的参数。
在步骤ST25,次数分布最佳化单元25将在上述步骤ST24计算出的可以取得的次数分布的组合作为约束条件,根据密度发展法使针对多个编码率的校验矩阵生成的次数分布最佳化。在步骤ST26,校验矩阵生成单元26根据针对在上述步骤ST25经过最佳化的多个编码率的校验矩阵生成的次数分布,配置在上述步骤ST23生成的伪随机数置换矩阵,生成LDPC码用的校验矩阵。
下面我们说明在第8图的流程图中的步骤ST21~ST26的详细处理。
在步骤ST21,信息长度·编码率·列最大次数输入单元21输入规定的信息长度K、多个编码率R(l)和除去无编码的最大编码率的列最大次数d。这里,在多个编码率R(l)中,l=1,2,......,0<R(l)<R(2)<......<1。在该步骤ST21,与实施方式1的步骤ST11比较,输入多个编码率R(l)和除去无编码的最大编码率的列最大次数d这点不同。
在所输入的编码率R(l)中,令用于最大的编码率R(max-1)的校验矩阵HR(max-1)的行数为b,列数=代码长度为N。这里,R(max)=1意味着无编码,在本说明中设为不使用的内容。
在步骤ST22,伪随机数置换矩阵用参数计算单元22用在步骤ST21输入的规定的信息长度K、多个编码率R(l)和除去无编码的最大编码率的列最大次数d,如下所示地计算出用于伪随机数置换矩阵的参数。
校验矩阵H的列数N(=代码长度N)=K/R(l)校验矩阵H的行数M=N-K下面从编码率R(max-1)的列的最大次数d(在系统中事前设定的值)通过下列公式求得伪随机数置换矩阵的大小p2。
p2=M/d例如,当令K=864、R(max-1)=R(3)=2/3、d=3时,从N=K/R(3)=864/(2/3)=1296M=N-K=1296-864=432p2=M/d=432/3=144得到p=12。
在步骤ST23,伪随机数置换矩阵生成单元23进行与实施方式1的伪随机数置换矩阵生成单元13进行的步骤ST13的处理相同的处理。即,伪随机数置换矩阵生成单元23进行步骤ST13-1~ST13-6的处理。
在步骤ST24,次数分布最佳化用参数计算单元24用在上述步骤ST21输入的规定的信息长度K、多个编码率R(l)和除去无编码的最大编码率的列最大次数d,如下所示地计算出用于可使用伪随机数置换矩阵构成的校验矩阵生成的次数分布的最佳化的、可以取得的次数分布组合的参数。
例如,在上述步骤ST21,输入信息长度K=864、多个编码率R(1)=1/3、R(2)=1/2、R(3)=2/3、除去无编码的最大编码率R(3)的列的最大次数d=3。这里,在多个编码率R(l)中,令与最高的编码率R(3)=2/3相对应的校验矩阵的行数和列数为M3和N3。另外,在步骤ST22,令M3=M,N3=N,导出p=12。当根据编码率R(2)=1/2,令校验矩阵的行数和列数为M2和N2,信息长度K不变时,列数N2=K/R(2)=864/(1/2)=1728行数M2=N2×(1-R(2))=1728×(1/2)=864同样,当根据编码率R(1)=1/3,令该校验矩阵的行数和列数为M1和N1,信息长度K不变时,列数N1=K/R(1)=864/(1/3)=2592行数M1=N1×(1-R(1))=2592×(2/3)=1728对于行数M1=1728,p2×p2=144×144的伪随机数置换矩阵SP在行方向可以配置12个,根据K=864,在列方向的信息长度部分中,伪随机数置换矩阵SP可以配置12个。根据这些结果,对用于实施R(1)的编码率的校验矩阵H从左端可以配置12×6个的p2×p2=144×144的伪随机数置换矩阵SP和在校验矩阵H的右侧的左下三角部分可以配置11+10+.......+1个的伪随机数置换矩阵SP。该校验矩阵也能够用在下一个步骤ST25中说明构成R(2)、R(3)。
在步骤ST25,次数分布最佳化单元25将在上述步骤ST24计算出的、可以取得的次数分布的组合作为约束条件,如下述所示地用密度发展法使针对多个编码率的校验矩阵生成的次数分布最佳化。
将F2={0,1}作为2维的有限体。令代码字C∈F2N,令H=(hi,j)为与C对应的M×N的奇偶校验矩阵。代码字C由满足根据奇偶校验矩阵Hx=0的奇偶校验公式定义的M个2维奇偶校验位的长度N位的序列x构成。当假定矩阵H是满秩时,信息位数成为K=N-M,编码率成为R=K/N。
进一步,将HR(l)作为可以改变编码率的LDPC码CR(l)的奇偶校验矩阵。这里,R(l)是编码率,是R(l),l=1,2.....,max,0<R(1)<R(2)<.......<R(max)=1(R(max)=1意味着无编码)。另外,将HR(max-1)作为用于CR(max-1)的M×N的奇偶校验矩阵。而且将HR(max-2)作为由HR(max-1)、M×t的0矩阵和t×(N+t)的追加的奇偶校验矩阵AR(max-2)构成的、由下列公式定义的(M+t)×(N+t)的奇偶校验矩阵。
HR(max-2)=[HR(max-1)|0AR(max-2)]]]>
(HR(max-1)和HR(max-2)都是满秩的)R(max-1)=N-MN,R(max-2)=N-MN+t]]>当用图表现它时如下所示。
当使它一般化时如下所示。
HR(l)=[HR(l+1)|0AR(l)]]]>(HR(l)是满秩的)R(l)=(N-M)/(N+Σi=1max-1ti)]]>这里,ti表示HR(i)和HR(i+1)的列数和行数之差。
为了设计HR(i),用密度发展法的高斯近似法同时对所有的HR(i),l=1,2.....,max-1的次数分配进行最合适化。下面表示最佳化问题。
这里,求使 最小化的HR(i)的次数分配。
这里,用dB表示用GAPR(l)高斯近似法推定的HR(i)的反复阈值的SNR和香农极限之差,由下列公式表示出来。
GAPR(l)=SNRR(l)Shannon-E2σn,R(l)2=SNRR(l)Shannon-12σn,R(l)2=SNRR(l)Shannon-12σn,R(l)2]]>=SNRR(l)Shannon-sR(l)4]]>
这里,SNRR(l)Shannon,σ2n,R(l)、sR(l)和E分别是编码率R(l)时的SNR的香农极限、高斯通信路径的噪声的分散值和通过高斯通信路径接收到的信号的对数似然比(LLR)的平均值和信号的能量。
对各个编码率在公式(18)的条件下,用GAPR(l)和(14)式,求得λR(l)(x),ρR(l)(x)=argminsR(l)[Σl=1max(SNRR(l)Shannon)-sR(l)4],l=1,...,max]]>对在上述步骤ST24使用的R(1)=1-M1/N1=1/3、R(2)=1-M2/N2=1/2、R(3)=1-M3/N3=2/3,当表示与在说明中使用的变量之间的对应时,如下所示。
M3=M,N3=N,M2=M3+t,N2=N3+t,M1=M2+t,N1=N2+t在步骤ST26,校验矩阵生成单元26根据在上述步骤ST25中经过最佳化的、针对多个编码率的校验矩阵生成的次数分布,配置在上述步骤ST23生成的伪随机数置换矩阵,生成如下所示的LDPC码用的校验矩阵。
例如,对R(1)=1-M1/N1=1/3、R(2)=1-M2/N2=1/2、R(3)=1-M3/N3=2/3,按照在上述步骤ST25求得的次数分布,生成下述那样的校验矩阵。

下面比较上述说明了的LDPC码的特性。
第9图是表示位错误率(BER)特性和帧错误率(FER)特性相对使用了由根据本实施方式2的校验矩阵生成装置生成的校验矩阵而得的LDPC码的每1位信息的信号功率与噪声功率之比(Eb/No)的关系的图。这里,令信息长度为1536位、通信路径为AWGN、最大反复数为200次。此外,解码法是“Sum-Product算法”。它的特性是使用了用下述所示的参数M1~M3、N1~N3按照本实施方式2的顺序生成的RC-LDPC码的校验矩阵而得的特性。在该校验矩阵中,R(1)=1-M1/N1=1/3、R(2)=1-M2/N2=1/2、R(3)=1-M3/N3=2/3另一方面,R(1)=1/3、R(2)=1/2、R(3)=2/3中的香农极限的SNR分别为-0.4954(dB)、0.1870(dB)、1.0595(dB),各个差BER=10-4点,成为约1.8(dB)、1.7(dB)、1.45(dB),能够实现尽管信息长度没有1536位那么长还是接近香农极限的RC-LDPC码。
如以上那样,根据本实施方式2,能够得到与实施方式1同样的效果,并且在实施方式1中需要对每个编码率单独地生成校验矩阵,但是在本实施方式2中,可以对多个编码率最终只要准备一种校验矩阵即可,可以得到能够容易地生成校验矩阵的效果。
实施方式3.
第10图是表示根据本发明的实施方式3的LDPC码用的校验矩阵生成装置的结构框图。该校验矩阵生成装置备有信息长度·编码率·列最大次数输入单元31、伪随机数置换矩阵用参数计算单元32、伪随机数置换矩阵生成单元33、次数分布最佳化用参数计算单元34、次数分布最佳化单元35和校验矩阵生成单元36。该校验矩阵生成装置既可以被搭载在第4图中的发送侧和接收侧的通信装置内,将生成的校验矩阵输出到编码器101和解码器105,也可以被设置在发送侧和接收侧的通信装置外,将生成的校验矩阵存储在发送侧和接收侧的通信装置内的存储器(没有图示)中,输出到编码器101和解码器105。
第11图是表示根据本发明的实施方式3的校验矩阵生成装置的处理流程的流程图。在步骤ST31,信息长度·编码率·列最大次数输入单元31输入规定的信息长度、编码率和列最大次数。在步骤ST32,伪随机数置换矩阵用参数计算单元32用在上述步骤ST31输入的规定的信息长度、编码率和列最大次数,计算出用于后述的第1和第2伪随机数置换矩阵的参数。
在步骤ST33,伪随机数置换矩阵生成单元33根据在上述步骤ST32计算出的用于第1和第2伪随机数置换矩阵的参数,使用伪随机数序列和拉丁(LATIN)方阵矩阵生成第1伪随机数置换矩阵,并且进一步在行方向压缩第1伪随机数置换矩阵,生成第2伪随机数置换矩阵。在步骤ST34,次数分布最佳化用参数计算单元34用在上述步骤ST31输入的规定的信息长度、编码率和列最大次数,计算出用于可使用第1和第2伪随机数置换矩阵构成的校验矩阵生成的次数分布的最佳化的、可以取得的次数分布的组合的参数。
在步骤ST35,次数分布最佳化单元35将在上述步骤ST34计算出的可以取得的次数分布的组合作为约束条件,根据密度发展法使校验矩阵生成的次数分布最佳化。在步骤ST36,校验矩阵生成单元36根据对在上述步骤ST35经过最佳化的、校验矩阵生成的次数分布,配置在上述步骤ST33上生成的第1和第2伪随机数置换矩阵,生成LDPC码用的校验矩阵。
下面我们说明在第11图的流程图中的步骤ST31~ST36的详细处理。
在步骤ST31,信息长度·编码率·列最大次数输入单元31输入由系统事前设定的信息长度K=120、编码率rate=0.5、列最大次数d=16作为规定的信息长度、编码率和列最大次数。
在步骤ST32,伪随机数置换矩阵用参数计算单元32使用在步骤ST31输入的规定的信息长度K=120、编码率rate=0.5和列最大次数d=16,如下所示地计算出校验矩阵H的行数M、列数(=编码率)N、用于第1和第2伪随机数置换矩阵的公共的参数(p·b×p·b的伪随机数置换矩阵的p和b)。
因为后述的第1伪随机数BPShop_I、BPShop_II、BPShop_III、BPShop_IV、的行方向的最大个数为4(在步骤ST33-7中说明),所以在下述步骤ST34中述说的第2伪随机数置换矩阵cIcw、cIIcw、cIIIcw、cIVcw中根据cw=3实现余下的列次数d-4=12。在cw=3的情形中,伪随机数置换矩阵cIcw、cIIcw、cIIIcw、cIVcw的使用个数=余下的列次数12/cw=4,在列的方向上排列地用cIcw、cIIcw、cIIIcw、cIVcw4个组合。根据代码长度=校验矩阵H的列数N=K/rate=120/(1/3)=360、校验矩阵H的行数M=N*(1-rate)=360*(2/3)=240、伪随机数置换矩阵的大小p·b=M/(伪随机数置换矩阵BPShop-_I、BPShop_II、BPShop_III、BPShop_IV的使用个数+伪随机数置换矩阵cIcw、cIIcw、cIIIcw、cIVcw的使用个数)=240/8=30,例如得到p=6、b=5。
在步骤ST33,伪随机数置换矩阵生成单元33如下面的步骤ST33-1~ST33-8所示,根据在上述步骤ST32计算出的用于第1和第2伪随机数置换矩阵的参数,使用伪随机数序列和拉丁(LATIN)方阵矩阵生成第1伪随机数置换矩阵,并且进一步在行方向压缩第1伪随机数置换矩阵,生成第2伪随机数置换矩阵。
即,根据从上述步骤ST32求得的p和b生成第1伪随机数置换矩阵BPShop_I、BPShop_II、BPShop_III、BPShop_IV和第2伪随机数置换矩阵cIcw、cIIcw、cIIIcw、cIVcw。
[公式31]生成由下面的公式定义的伪随机数序列Cinit(i)。它的索引init表示Cinit(1)的值,即初始值。
Cinit(1)=init,C(i+1)=G0×C(i)mod P,i=1,2,...,P-2,这里,P是P>p的素数,G0是GF(P)的本原元。此外,当作为GP(P)的要素的G0的应连续的相乘值(例如,G01,G02,.......G0P-1=1)表示GF(P)的非零的全部要素时,将G0称为本原元。该序列Cinit(i)成为要素间的差分不一样、没有重复的要素的伪随机数序列。
作为例子在P=7、G0=3、init=3的情形中,i 1 2 3 4 5 6C(i)3 2 6 4 5 1下面从Cinit(i)的要素间隔地除去比p大的数。
例如在p=5的情形中,i 1 2 3 4 5Cinit(i)3 2 4 5 1[步骤ST33-2][公式33]根据下列公式生成在要素中具有伪随机数序列和它的置换模型的拉丁(LATIN)方阵矩阵Lj(q,l)。
L(q,((q+i-2)mod(p))+1)=C(i),i=1,2,...,p,q=1,2,..,p.
通过该操作,能够使用L(q,l)生成拉丁(LATIN)方阵矩阵。
下面表示当p=6时的例子。
l1 2 3 4 5 6L(1,l) 3 2 6 4 5 1L(2,l) 2 6 4 5 1 3L(3,l) 6 4 5 1 3 2L(4,l) 4 5 1 3 2 6L(5,l) 5 1 3 2 6 4L(6,l) 1 3 2 6 4 5例如当p=5时成为下列情形。
l1 2 3 4 5L(1,l) 3 2 4 5 1L(2,l) 2 4 5 1 3L(3,l) 4 5 1 3 2L(4,l) 5 1 3 2 4L(5,l) 1 3 2 6 4L(6,l) 3 2 6 4 5[步骤ST33-3][公式34]根据下列公式生成基本置换矩阵模型BP(q,i)。
BP(q,i)=L(q,i)+p×(i-1),i=1,2,...,p,q=1,2,..,p.
下面表示当p=6时的例子。
i1 2 3 4 5 6BP(1,i) 3 2 6 4 5 1BP(2,i) 8 12 10 11 7 9BP(3,i) 18 16 17 13 15 14BP(4,i) 22 23 19 21 20 24BP(5,i) 29 25 27 26 30 28BP(6,i) 31 33 32 36 34 35[步骤ST33-4][公式35]根据下列公式生成基本置换矩阵模型BP(q,i)的行单位以一定间隔置换了的矩阵BPhop(q,i)。须指出的是,在hop中设定当进行行单位的置换时的间隔。
i)当b和hop相互是素数时,BPhop(q,i)=BP((hop*(q-1)mod b)+1,i)
ii)当b和hop相互不是素数时, 以下表示b=5 hop=2的情况下的例子。
i 1 2 3 4 5 6BPhop(1,i) 3 2 6 4 5 1BPhop(2,i) 18 16 17 13 15 14BPhop(3,i) 29 25 27 26 30 28BPhop(4,i) 8 12 10 11 7 9BPhop(5,i) 22 23 19 21 20 24[步骤ST33-5][公式36]根据下列公式由基本置换矩阵模型BPhop(q,i)生成基本置换序列BPShop(i)。
BPShop(j+(i-1)*b)=BPhop(j,i),j=1,2,...,b,i=1,2,...,p.
通过该操作,能够生成针对用于生成p·b×p·b的列次数1、行次数1的矩阵的基本置换矩阵的、“1”的位置的行的列的位置矢量。
将它的例子表示如下。
i 1 2 3 4 5 6BPShop(i) 3 18 29 8 22 2i 7 8 9 10 11 12BPShop(i) 16 25 12 23 6 17i 13 14 15 16 17 18BPShop(i) 27 10 19 4 13 26i 19 20 21 22 23 24BPShop(i) 11 21 5 15 30 7i 25 26 27 28 29 30BPShop(i) 20 1 14 28 9 24 [公式38]从基本置换序列BPShop(i)生成由下列公式定义的2维p·b×p·b矩阵BPShop=(hm,n)。
通过该操作,能够生成对用于生成p·b×p·b的列次数1、行次数1的矩阵的基本置换矩阵。通过到此为止的操作,能够生成邻接的要素间的距离宽并且要素间的距离不一样的伪随机数置换矩阵。
通过使邻接的要素间的距离加宽,能够抑制在与实施方式1中述说了的T的下三角矩阵之间产生的短循环。另外,通过使要素间的距离不一样,即便在上述p·b×p·b的基本置换矩阵内也能够抑制短循环的发生。另外,确认为了回避循环4的发生而生成的p·b×p·b的基本置换矩阵,当存在循环4时,使p、b、G0、init、hop变动,探索并再生成不存在循环4的组合。但是,在本实施方式的顺序中存在循环4的情形是很稀少的,几乎不需要再生成。
以下表示例子BPShop=001000000000000000000000···000000000000000001000000··············································································000000001000000000000000···000000000000000000000001···]]>[步骤ST33-7][公式39]从基本置换矩阵BPShop生成4种基本置换矩阵BPShop_I、BPShop-_II、BPShop_III、BPShop_IV。
i)BPShop_I(p·b-BPShop(i)+1,i)=1,i=1,2,...,p·b其它的BPShop_I的要素都为0。
ii)BPShop_II(j,i)=BPShop_I(i,p·b-j+1),i=1,2,...,p·b,j=1,2,...,p·b
iii)BPShop_III(j,i)=BPShop_II(i,p·b-j+1),i=1,2,...,p·b,j=1,2,...,p·biv)BPShop_IV(j,i)=BPShop_III(i,p·b-j+1),i=1,2,...,p·b,j=1,2,...,p·b该ii)、iii)、iv)是根据BPShop_I进行行和列的置换的情形,全部是p·b×p·b的列次数1、行次数1的矩阵。通过这些行列的组合能够生成从列次数1×行次数1到列次数4×行次数4的矩阵。
通过该行和列的置换能够生成4种不同的伪随机数置换矩阵。
下面,生成比列次数1大的基本置换矩阵。
通过下面的顺序用在步骤ST33-7求得的基本置换矩阵BPShop_I生成列次数cw、行次数1的(p·b)×(p·b/cw)的伪随机数置换矩阵cIcw。这时,将列压缩为1/cw,即在行方向进行压缩。
cIcw=BPShop_I·I···Ip·b×p·b/cw]]>这里,I是(p·b/cw)×(p·b/cw)的单位矩阵。
通过同样的顺序用基本置换矩阵BPShop_II、BPShop_III、BPShop_IV生成列次数cw、行次数1的基本置换矩阵cIIcw、cIIIcw、cIVcw。其中,当在列方向排列2个以上的该cIcw、cIIcw、cIIIcw、cIVcw的组合时,得知发生循环4的情况,只在行方向排列成1列。
在步骤ST34,次数分布最佳化用参数计算单元34用在上述步骤ST31输入的规定的信息长度、编码率和列最大次数,如下地算出用于可使用第1和第2伪随机数置换矩阵构成的校验矩阵生成的次数分布的最佳化的、可以取得的次数分布的组合的参数。
用这些BPShop_I、BPShop_II、BPShop_III、BPShop_IV和cIcw、cIIcw、cIIIcw、cIVcw的组合和右上三角为0的三角矩阵,求得可以实现的组合。
例如在对下述校验矩阵H从左端起可配置4×4个伪随机数置换矩阵BPShop_I、BPShop_II、BPShop_III、BPShop_IV和4×1个(cw=3的情形)的伪随机数置换矩阵cIcw、cIIcw、cIIIcw、cIVcw、在H的右侧的左下三角部分中可以配置7+6+......1个的伪随机数置换矩阵BPShop_I、BPShop_II、BPShop_III、BPShop_IV。
H=BPShop_IIIBPShop_IIBPShop_IBPShop_IV\0000000BPShop_IIBPShop_IBPShop_IVBPShop_III0\000000BPShop_IBPShop_IVBPShop_IIIBPShop_II00\00000BPShop_IVBPShop_IIIBPShop_IIBPShop_I000\0000cIcw0000000\000cVIcw00000000\00cIIIcw000000000\0cIIcw0000000000\]]>在步骤ST35,次数分布最佳化单元35与实施方式1的步骤ST15同样,将在上述步骤ST34计算出的可以取得的次数分布的组合作为约束条件,根据密度发展法使校验矩阵生成的次数分布最佳化。
在步骤ST36,校验矩阵生成单元36根据在上述步骤ST35经过最佳化的校验矩阵生成的次数分布,配置在上述步骤ST33生成的第1和第2伪随机数置换矩阵,生成LDPC码用的校验矩阵。
即,用在步骤ST35求得的最佳的次数分布的组合,用第1伪随机数置换矩阵BPShop_I、BPShop_II、BPShop_III、BPShop_IV和第2伪随机数置换矩阵cIcw、cIIcw、cIIIcw、cIVcw生成校验矩阵H。关于各伪随机数置换矩阵的配置通过探索等确认循环数求得良好的配置。
如以上那样,根据本实施方式3,能够得到与实施方式1同样的效果。
实施方式4第12图是表示根据本发明的实施方式4的LDPC码用的校验矩阵生成装置的结构框图。该校验矩阵生成装置备有信息长度·编码率·列最大次数输入单元41、伪随机数置换矩阵用参数计算单元42、伪随机数置换矩阵生成单元43、次数分布最佳化用参数计算单元44、次数分布最佳化单元45和校验矩阵生成单元46。该校验矩阵生成装置既可以被搭载在第4图中的发送侧和接收侧的通信装置内,将生成的校验矩阵输出到编码器101和解码器105,也可以被设置在发送侧和接收侧的通信装置外,将生成的校验矩阵存储在发送侧和接收侧的通信装置内的存储器(没有图示)中,输出到编码器101和解码器105。
第13图是表示根据本发明的实施方式4的校验矩阵生成装置的处理流程的流程图。
在实施方式3中,使用BPShop_I、BPShop_II、BPShop_III、BPShop_IV,生成例如、列次数4×行次数4的矩阵,但是在实施方式4中,使用后述的ELHP(cw′,rw′),直接生成列次数cw′×行次数rw′的矩阵。
在步骤ST41,信息长度·编码率·列最大次数输入单元31输入规定的信息长度、编码率和列的最大次数。在步骤ST42,伪随机数置换矩阵用参数计算单元42用在上述步骤ST41输入的规定的信息长度、编码率和列的最大次数,计算出用于后述的第3伪随机数置换矩阵的参数和与实施方式2相同的用于第2伪随机数置换矩阵的参数。
在步骤ST43,伪随机数置换矩阵生成单元43根据在上述步骤ST42计算出的用于第3伪随机数置换矩阵的参数和用于第2伪随机数置换矩阵的参数,使用伪随机数序列和拉丁(LATIN)方阵矩阵生成第1伪随机数置换矩阵,进一步置换生成的第1伪随机数置换矩阵的行和列进行扩展生成第3伪随机数置换矩阵,并且将生成的第1伪随机数置换矩阵在行方向压缩,生成第2伪随机数置换矩阵。在步骤ST44,次数分布最佳化用参数计算单元44用在上述步骤ST41输入的规定的信息长度、编码率和列最大次数,计算出用于校验矩阵生成的次数分布的最佳化的、可以取得的次数分布的组合的参数。
在步骤ST45,次数分布最佳化单元45将在上述步骤ST44计算出的、可以取得的次数分布的组合作为约束条件,根据密度发展法或Multi-edge type的密度发展法使校验矩阵生成的次数分布最佳化。在步骤ST46,校验矩阵生成单元46根据对在上述步骤ST45经过最佳化的校验矩阵生成的次数分布,配置在上述步骤ST43生成的第3和第2伪随机数置换矩阵,生成LDPC码用的校验矩阵。
下面我们说明在第13图的流程图中的步骤ST41-ST46的详细处理。
在步骤ST41,信息长度·编码率·列最大次数输入单元41输入在系统中事前设定的信息长度K=120、编码率rate=0.5、列最大次数d=16作为规定的信息长度、编码率和列最大次数。
在步骤ST42,伪随机数置换矩阵用参数计算单元42用在上述步骤ST41输入的规定的信息长度K=120、编码率rate=0.5和列最大次数d=16,如下所示地计算出校验矩阵H的行数M、列数(=编码率)N、用于第3伪随机数置换矩阵的公共的参数和用于第2伪随机数置换矩阵的参数。
即,在此[公式44]用在步骤ST41输入的数据,计算出成为校验矩阵H的行数M和列数(=代码长度)N、p′·b′×p′·b′的列权重cw′、行权重rw′的第3伪随机数置换矩阵ELHP(cw′,rw′)的p′和b′,计算出(p·b)×(p·b/cw)的第2伪随机数置换矩阵cIcw、cIIcw、cIIIcw、cIVcw的p、b、cw。
例如,如下面那样,计算出用于第3伪随机数置换矩阵的参数和用于第2伪随机数置换矩阵的参数。
在进行与实施方式3的步骤ST32的计算相同的计算后,将伪随机数置换矩阵BPShop_I、BPShop_II、BPShop_III、BPShop_IV的部分置换成在下述步骤ST43-1~ST43-9中说明的伪随机数置换矩阵ELHP(cw′,rw′)。
因为伪随机数置换矩阵BPShop_I、BPShop_II、BPShop_III、BPShop_IV的行方向的最大个数为4(在实施方式3的步骤ST33-7中说明),根据cw=3在下面的步骤ST44所述的伪随机数置换矩阵cIcw、cIIcw、cIIIcw、cIVcw中实现余下的列次数d-4=12。在cw=3的情形中,伪随机数置换矩阵cIcw、cIIcw、cIIIcw、cIVcw的使用个数=余下的列次数12/cw=4,在列的方向上排列地使用cIcw、cIIcw、cIIIcw、cIVcw的4个组合。如果根据代码长度=校验矩阵H的列数N=k/rate=120/(1/3)=360、校验矩阵H的行数M=N×(1-rate)=360×(2/3)=240、伪随机数置换矩阵的大小p·b=M/(伪随机数置换矩阵BPShop_I、BPShop_II、BPShop_III、BPShop_IV的使用个数+伪随机数置换矩阵cIcw、cIIcw、cIIIcw、cIVcw的使用个数)=240/8=30,则例如,用于生成第1和第2伪随机数置换矩阵的参数成为p=6、b=5。
到此为止是在实施方式3中求得的p和b的值,假定下列那样的校验矩阵H。
H=BPShop_IIIBPShop_IIBPShop_IBPShop_IV\0000000BPShop_IIBPShop_IBPShop_IVBPShop_III0\000000BPShop_IBPShop_IVBPShop_IIIBPShop_II00\00000BPShop_IVBPShop_IIIBPShop_IIBPShop_I000\0000cIcw0000000\000cVIcw00000000\00cIIIcw000000000\0cIIcw0000000000\]]>形成将由该校验矩阵H的伪随机数置换矩阵BPShop_I、BPShop-_II、BPShop_III、BPShop_IV构成的例如,列次数4×行次数4的BPShop_IIIBPShop_IIBPShop_IBPShop_IVBPShop_IIBPShop_IBPShop_IVBPShop_IIIBPShop_IBPShop_IVBPShop_IIIBPShop_IIBPShop_IVBPShop_IIIBPShop_IIBPShop_I]]>的4·p·b×4·p·b部分矩阵置换成如下列校验矩阵H那样的列次数cw′=4、行次数rw′=4的伪随机数置换矩阵p′·b′×p′·b′=4·p·b×4·p·b的ELHP(cw′=4,rw′=4)的构造。
根据
H=[ELHP(cw'=4,rw'=4)cIcw000cVIcw000cIIIcw000cIIcw000\00000000\00000000\00000000\00000000\00000000\00000000\00000000\]]]>例如,从p=6、b=5得到p′·b′=4·p·b=4·30=120。所以,例如,用于生成第3伪随机数置换矩阵的参数成为p′=12、b′=10。
在步骤ST43,伪随机数置换矩阵生成单元43,根据在上述步骤ST42计算出的用于第3伪随机数置换矩阵的参数和用于第2伪随机数置换矩阵的参数,使用伪随机数序列和拉丁(LATIN)方阵矩阵生成第1伪随机数置换矩阵(利用与用于第2伪随机数置换矩阵的参数公共的参数而生成),进一步置换并扩展生成的第1伪随机数置换矩阵的行和列,生成第3伪随机数置换矩阵。
即,这里,从在步骤ST42求得的p′和b′,由下述步骤ST43-1~ST43-9,制成第3伪随机数置换矩阵ELHP(cw′,rw′)。
另外,在该步骤ST43,通过进一步在行方向中压缩第1伪随机数置换矩阵,生成第2伪随机数置换矩阵的方法与实施方式3的步骤ST33-1~ST33-8的处理相同。
[公式47]生成由下面的公式定义的基本随机数序列Cinit(i)。它的索引init表示Cinit(1)的值即初始值。
Cinit(1)=init,Cinit(i+1)=G0×Cinit(i)mod P,i=1,2,...,P-2,这里,P是P>p′的素数,G0是GF(P)的本原元。此外,当作为GF(P)的要素的G0的应连续的相乘值(例如,G01,G02,......G0P-1=1)表示GF(P)的非零的全部要素时,将G0称为本原元。该序列Cinit(i)成为要素间的差分为不一样,没有重复的要素的伪随机数序列。
下面从Cinit(i)的要素间隔地除去比p′大的数。
作为例子,在P=7,G0=3,init=3,p′=6的情形中,i 1 2 3 4 5 6C3(i)3 2 6 4 5 1[步骤ST43-2]根据下列公式生成在要素中具有伪随机数序列和它的置换模型的矩阵。
LH(j,(j×i)mod(P))=Cinit(i),i=1,2,...,p`,j=1,2,..,p`.
下面表示p`=6的情形的例子l1 2 3 4 5 6LH(1,l) 3 2 6 4 5 1LH(2,l) 4 3 5 2 1 6LH(3,l) 5 6 3 1 4 2LH(4,l) 2 4 1 3 6 5LH(5,l) 5 1 2 5 3 4LH(6,l) 1 5 4 6 2 3[步骤ST43-3][公式49]根据下列公式生成列次数cw′、行次数rw′的基本置换矩阵模型LHP(cw′,rw′)(j,i)。
LHP(cw`,rw`)((i-1)*p`/cw`+j,k)=LH(i,(j-1)*cw`+k),i=1,2,...,rw`,j=1,2,..,p`/cw`,k=1,2,..,cw`.
下面表示p`=6的情形的例子。
i 1 2 3LHP(3,3)(1,i) 3 2 6LHP(3,3)(2,i) 4 5 1LHP(3,3)(3,i) 4 3 5LHP(3,3)(4,i) 2 1 6LHP(3,3)(5,i) 5 6 3LHP(3,3)(6,i) 1 4 2[步骤ST43-4][公式50]
直到上述步骤ST43-3,生成了p′×p′的基本置换矩阵模型。下面说明关于行和列使它b′倍的顺序。
用与步骤ST43-1相同的顺序生成基本随机数序列Cinitb(i)。该Cinitb(i)是对Cinit(i)将p′变成b′生成的基本随机数序列。
作为例子,在P=7,G0=3,init=3,b′=6的情形中,i1 2 3 4 5 6C36(i)3 2 6 4 5 1[步骤ST43-5][公式51]根据下列公式生成在要素中持有伪随机数序列和它的置换模型的拉丁(LATIN)方阵矩阵Lj(q,l)。
Lb(q,((q+i-2)mod(p`))+1)=Cinitb`(i),]]>i=1,2,...,p`,q=1,2,..,p`.
通过该操作,能够使用Lb(q,l)生成拉丁(LATIN)方阵矩阵。
下面表示p′=6的情形的例子l 1 2 3 4 5 6Lb(1,l) 3 2 6 4 5 1Lb(2,l) 2 6 4 5 1 3Lb(3,l) 6 4 5 1 3 2Lb(4,l) 4 5 1 3 2 6Lb(5,l) 5 1 3 2 6 4Lb(6,l) 1 3 2 6 4 5[步骤ST43-6][公式52]根据下列公式生成用于使列次数cw′、行次数rw′的基本置换矩阵模型LHP(cw′,rw′)(j,i)扩展b′倍的矩阵Lb′P(cw′,rw′)(j,i)。
LbP(cw`,rw`)((i-1)*p`/cw`+j,k)=Lb(i,(j-1)*cw`+k),i=1,2,...,rw`,j=1,2,..,p`/cw`,k=1,2,..,cw`.
下面表示p′=6的情形的例子
i 1 2 3LbP(3,3)(1,i) 3 2 6LbP(3,3)(2,i) 4 5 1LbP(3,3)(3,i) 2 6 4LbP(3,3)(4,i) 5 1 3LbP(3,3)(5,i) 6 4 5LbP(3,3)(6,i) 1 3 2[步骤ST43-7][公式53]根据下列公式生成在列方向扩展的基本置换矩阵模型eLHP(cw′, rw′)(i,j)。
eLHP(cw`,rw`)(i,j)=LHP(cw`,rw`)(i,j)+((Lb`P(3,3)(i,j)-1)*p`),i=1,2,...,p`*rw`/cw`,j=1,2,..,cw`.
下面,表示p′=6、b′=6、cw′=3、rw′=3的情形的例子i 1 2 3eLHP(3,3)(1,i) 15 8 36eLHP(3,3)(2,i) 22 29 1eLHP(3,3)(3,i) 10 33 23eLHP(3,3)(4,i) 26 1 18eLHP(3,3)(5,i) 35 24 27eLHP(3,3)(6,i) 1 16 8[步骤ST43-8][公式54]根据下列公式生成在行方向扩展的基本置换矩阵模型ELHP(cw′, rw′)(i,j)。
ELHP(cw`,rw`)((j-1)·b`+i,k)=((eLHP(cw`,rw`)(j,k)+(i-1)·p`-1)mod p`·b`)+1,i=1,2,...,b`,j=1,2,..,p`·rw`/cw`,k=1,2,..,cw`.
下面,表示p′=6、b′=6、cw′=3、rw′=3的情形的例子
i 1 2 3ELHP(3,3)(1,i) 15 8 36ELHP(3,3)(2,i) 21 14 6ELHP(3,3)(3,i) 27 20 12   ELHP(3,3)(35,i) 25 4 32ELHP(3,3)(36,i) 31 10 2[步骤ST43-9][公式55]从基本置换矩阵模型ELHP(cw′,rw′)(i,j),生成由下列公式定义的2维p′·b′×p′·b′矩阵ELHP(cw′,rw′)=(hm,n)。
通过该操作,能够生成用于生成p′·b′×p′·b′的列次数cw′、行次数rw′的矩阵的基本置换矩阵。通过到此为止的操作能够生成列次数cw′、行次数rw′的伪随机数置换矩阵。因为该伪随机数置换矩阵的列次数cw′、行次数rw′都在4以下,不存在循环4的情形是很多的,所以使列次数cw′、行次数rw′的最大值为4。
在步骤ST44,次数分布最佳化用参数计算单元44使用在上述步骤ST41输入的规定的信息长度、编码率和列最大次数,如下述所示地计算出用于使校验矩阵生成的次数分布的最佳化的、可以取得的次数分布的组合的参数。
用这些ELHP(cw′,rw′)和cIcw、cIIcw、cIIIcw、cIVcw的组合和右上三角为0的三角矩阵,求得可以实现的组合。
例如对下述校验矩阵H从左端起可以配置1个伪随机数置换矩阵ELHP(cw′,rw′)和4×1个(cw=3的情形)的伪随机数置换矩阵cIcw、cIIcw、cIIIcw、cIVcw。
H=[ELHP(cw'=4,rw'=4)cIcw000cVIcw000cIIIcw000cIIcw000\00000000\00000000\00000000\00000000\00000000\00000000\00000000\]]]>该可以取得的次数分布的组合成为次数分布的最佳化的约束条件。
在步骤ST45,次数分布最佳化单元45将在上述步骤ST44计算出的、可以取得的次数分布的组合作为约束条件,如下述所示地根据密度发展法或Multi-edge type的密度发展法,使校验矩阵生成的次数分布最佳化。
即,这里,根据在上述步骤ST44计算出的、用于校验矩阵生成的次数分布最佳化的、可以取得的次数分布的组合的约束条件,可以通过与实施方式1的步骤ST15同样的次数分布最佳化求得最优的次数分布,或者,可以用下面所述的Multi-edge type的密度发展法。
在上述实施方式1中所述的密度发展法相对于用行次数的比例、列次数的比例表现Irregular LDPC码集合(表示次数分布),Multi-edge type的集合用“边(边类型)的组合”(次数类型)的比例来进行表现。此外,在Multi-edge type的集合的结构中,能够考虑规定直到穿孔某一位为止的集合,可以是基于通信路径类别产生的考虑。(“Multi-edge type LDPC Codes DRAFT”,T.Richardson,R.Urbanke,在web上)。
第14图是表示Multi-edge type的集合的例图。当令通信路径类型(在第14图的例子的情形中为BEC(Binary Erasure Channel(二进制擦除频道))的通信路径(b=(10)或加上按照分散值σn2的高斯分布的噪声的通信路径,所谓的加法白高斯噪声(AWGN)的通信路径(b=(10))为b,对次数类型d的变量节点的代码长度N的比例为vb,d,对校验节点的代码长度N的比例为μd时,以第15图所示的表的方式表现第14图。
第15图是表示irregular LDPC码的次数分布的例图。
下面表示具体的校验矩阵的例子。例如第15图的表的变量(变量节点矩阵的各列分别成为变量节点)b=(10)的vb,d的合计为1。第15图的表的第1个变量上的比率为vb,d=0.5,d=(2000),但是这表示按照第15图的次数分布构成的第16图所示的校验矩阵的第15列到第24列。在第15图的表的第3个变量上,表示vb,d=0.2、b=(10)、d=(0330),表示第16图的校验矩阵的第11列到第14列。这部分意味着消失概率为1的通信路径,现实中对该部分的代码位进行穿孔而不发送。在接收侧,该部分的计算是用0和1的概率为1/2的值进行计算的。作为接收值的LLR(对数似然比)为0。
第15图的表的Constraint(约束)表示校验节点(矩阵的各行分别为校验节点)的比率。第15图的表的第1个Constraint上的比率为μd=0.4,d=(4100),但是这表示第16图的校验矩阵的第5行到第12行。
此外,在类型i的边中,与次数类型d的节点连接的边的比例由下列公式求得。 (是对于Standard Irregular LDPC的λ、ρ的内容)。此外,1表示ALL1。
下面,我们说明Multi-edge type的密度发展法。在Multi-edgetype的密度发展法中,不将从变量节点到校验节点的消息汇集到一起,而是对每个边的类型区分概率密度函数进行计算(“Multi-Edge typeLDPC Codes DRAFT”,T.Richardson,R.Urbanke,web上)。
行处理(来自校验节点的消息) 现在令全部边类型的集合为I。现在对于i∈I,令边类型i的次数为di,通过边类型i发送到校验节点的概率密度函数为pvi,通过边类型i从校验节点发送的概率密度函数为pui。
对每个次数类型计算概率密度函数,乘上对边类型i的边的比例,然后加起来,计算每个边类型的概率密度函数。
j∈I/i另外,当令反复解码中的反复数为l,对边类型i将反复第l次的校验节点的总体平均设为 时,满足下列公式是在sum-product解码中的反复解码中错误渐近地无限地接近0的必要条件,对全部的边类型i,mPμi(i)>mPμi(i-1),∀l∈R+.···(A2)]]>列处理(来自变量节点的消息)[公式60]令对通信类型b1、b2的次数为db1,db2,初始值为PuOb1、PuOb2。
对每个次数类型计算概率密度函数,乘上对边类型i的边比例,然后加起来,计算每个边类型的概率密度函数。
pvi=Σddivb,dvxi(1,1)(⊗dapuOb1)*(⊗dbpuOb2)*...(⊗di-1pui)*(⊗djpuj)*...,∀j∈I\i···(A3)]]>另外,当令反复解码中的反复数为l,对支条类型i将反复第l次的变量节点的总体平均设为 时,满足下列公式是在sum-product解码中的反复解码中错误渐近地无限地接近0的必要条件。
对全部的边类型i,
mPvi(i)>mPvi(i-1),∀l∈R+.···(A4)]]>进一步,满足下列公式是在sum-product解码中的反复解码中错误渐近地无限地接近0的必要条件。
满足公式(A2)或公式(A4)中的某一个...(A5)。
下面,用Multi-edge type的密度发展法中的最佳化,求得根据所要求的编码率的“Irregular-LDPC码”的集合(次数分配)。
令通信路径类型b、次数类型d的针对变量节点的代码长度N的比例为vb,d,针对校验节点的代码长度N的比例为μd,分别同时当作变量进行处理,以使AWGN通信路径(通信路径类型AWGN的b1=b=(01)高斯噪声σ0(下列公式)成为最大的方式,用线性计划法探索最佳的vb,d和μd。这时,在该实施方式中通信路径类型只是AWGN的b1=b=(01)和BEC的b2=b=(10)。
PμOhj=12πσn2exp[-(x-mμOhj)22σ2]]]>在该探索中的约束条件满足条件式(A5)。
这时,通信路径类型b、次数类型d、vb,d、μd的变量的可以取值只设为用根据实施方式1到实施方式4中所述的生成方法的校验矩阵H的约束条件导出的值。
在步骤ST46,校验矩阵生成单元46根据在上述步骤ST45经过最佳化的校验矩阵生成的次数分布,如下述所示地配置在上述步骤ST43生成的第3和第2伪随机数置换矩阵,生成LDPC码用的校验矩阵。
这里,用在步骤ST43求得的最佳的次数分布的组合,用第3伪随机数置换矩阵ELHP(cw′,rw′)和第2伪随机数置换矩阵cIcw、cIIcw、cIIIcw、cIVcw生成校验矩阵H。关于各伪随机数置换矩阵的配置可以通过探索等确认循环数,求得良好的配置。
下面表示用根据实施方式3和实施方式4的构成法得到的LDPC码的性能评价结果。
第17图是表示用于评价的irregular LDPC码的次数分布的例图。
第18图是表示irregular LDPC码的帧错误率特性的图。
该第18图表示用第17图所示的次数分布,利用实施方式3,使用p=16、b=9、P=17、G0=3、init=9、hop=2的参数构成的信息长度576位和编码率0.5的LDPC码(图中的ldpc576)、利用实施方式4,作为ELHP(cw,rw)的参数使用p=48、b=30、P=71、G0=7、init=13、cw=4、rw=4,作为cIcw、cIIcw、cIIIcw、cIVcw的参数使用p=30、b=12、P=31、G0=3、init=9、hop=1构成的信息长度1440位和编码率0.5的LDPC码(图中的ldpc1440)、利用实施方式4,作为ELHP(cw,rw)的参数使用p=132、b=24、P=33、G0=3、init=13、cw=4、rw=4,作为cIcw、cIIcw、cIIIcw、cIVcw的参数使用p=33、b=34、P=53、G0=3、init=9、hop=2构成的信息长度3168位和编码率0.5的LDPC码(图中的ldpc3168)、利用实施方式4,作为ELHP(cw,rw)的参数使用p=204、b=24、P=211、G0=7、init=13、cw=4、rw=4,作为cIcw、cIIcw、cIIIcw、cIVcw的参数使用p=51、b=24、P=53、G0=3、init=9、hop=2构成的信息长度4896位和编码率0.5的LDPC码(图中的ldpc4896)的FER(帧错误率)模拟结果。
此外,在第18图中为了比较,比较地表示了用于第3代通信(3GPP)的turbo码的同一代码长度、编码率(turbo576、turbo1440、turbo3168、turbo4896)。从第18图可以看到的那样在已有的10000位以下的短代码长度中turbo码处于优越地位,但是根据本发明在信息长度576位中表示大致同等的性能,在比它长的信息长度中经常提出的LDPC码的性能处于优越地位,能够确认是表示极高性能的代码构成法。
在已有方式的LDPC码中,在10000位以上的代码长度中表示出良好的性能,但是相反地在代码长度10000位以下可以说turbo码处于优越地位。但是,在第18图中,在信息长度4896位(因为编码率0.5所以代码长度9792位)中,表示出比turbo码良好的性能。另外,随着代码长度加长也表示出性能比turbo码良好的倾向。在已有的LDPC码中,在该约10000位左右的代码长度中表示出与turbo码同等的性能,但是在本发明中,在代码长度10000位左右(第18图中因为信息长度576位、编码率0.5所以代码长度1152位)中表示出与turbo码同等的性能。
如以上那样,根据本实施方式4,能够得到与实施方式1同样的效果,并且通过使用Multi-edge type的密度发展法,进一步可以得到能够生成纠错能力良好的LDPC码的校验矩阵的效果。
实施方式5.
第19图是表示根据本发明的实施方式5的LDPC码用的校验矩阵生成装置的结构框图。该实施方式5的校验矩阵生成装置备有伪随机数置换矩阵生成单元13、校验矩阵生成单元16、伪随机数置换矩阵用参数存储单元17和次数分布存储单元18。该校验矩阵生成装置既可以被搭载在第4图中的发送侧和接收侧的通信装置内,将生成的校验矩阵输出到编码器101和解码器105,也可以被设置在发送侧和接收侧的通信装置外,将生成的校验矩阵存储在发送侧和接收侧的通信装置内的存储器(没有图示)中,输入到编码器101和解码器105。
在第19图中,伪随机数置换矩阵用参数存储单元17存储用于使用规定的信息长度、编码率和列最大次数计算出的伪随机数置换矩阵的参数。与实施方式1同样在外部生成用于该伪随机数置换矩阵的参数。该伪随机数置换矩阵生成单元13根据存储在伪随机数置换矩阵用参数存储单元17中的用于伪随机数置换矩阵的参数,使用伪随机数序列和拉丁(LATIN)方阵矩阵生成伪随机数置换矩阵。
另外,次数分布存储单元18将用于使用通过用规定的信息长度、编码率和列最大次数计算出的伪随机数置换矩阵可构成的校验矩阵生成的次数分布的最佳化的、可以取得的次数分布的组合作为约束条件,存储用密度发展法经过最佳化的校验矩阵生成的次数分布。与实施方式1同样在外部对该校验矩阵生成的次数分布进行最佳化。校验矩阵生成单元16根据存储在次数分布存储单元18中的经过最佳化的校验矩阵生成的次数分布,配置生成的伪随机数置换矩阵,生成低密度奇偶校验码用的校验矩阵。
在该实施方式5中,由实施方式1的伪随机数置换矩阵生成单元13、校验矩阵生成单元16、伪随机数置换矩阵用参数存储单元17和次数分布存储单元18构成,但是也可以由实施方式2的伪随机数置换矩阵生成单元23、校验矩阵生成单元26、伪随机数置换矩阵用参数存储单元27和次数分布存储单元28(没有图示)构成,也可以由实施方式3的伪随机数置换矩阵生成单元33、校验矩阵生成单元36、伪随机数置换矩阵用参数存储单元37和次数分布存储单元38(没有图示)构成,也可以由实施方式4的伪随机数置换矩阵生成单元43、校验矩阵生成单元46、伪随机数置换矩阵用参数存储单元47和次数分布存储单元48(没有图示)构成。
如以上那样,根据本实施方式5,能够得到与实施方式1同样的效果,实施方式6.
第20图是表示根据本发明的实施方式6的通信装置的结构框图。发送侧的通信装置201备有实施方式1到实施方式5中任何一个的校验矩阵生成装置100、编码器101和调制器102。另外,接收侧的通信装置202备有实施方式1到实施方式5中任何一个的校验矩阵生成装置100、解调器104和解码器105。
在发送侧的通信装置201中,校验矩阵生成装置100用实施方式1到实施方式5中任何一个的方法生成校验矩阵H,编码器101使用生成的校验矩阵H求得生成矩阵G,然后,接收消息(u1u2....uK),用求得的生成矩阵G生成代码字C。调制器102对生成的代码字C,进行BPSK、QPSK、多值QAM等数字调制并发送出去。
在接收侧的通信装置202中,校验矩阵生成装置100用实施方式1到实施方式5中任何一个的方法生成校验矩阵H,解调器104对经过通信路径103接受到的调制信号,进行BPSK、QPSK、多值QAM等数字解调,解码器105对经过LDPC编码的解调结果,用生成的校验矩阵实施根据“sum-product算法”的反复解码,输出推定结果(与原来的u1u2....uK对应)。
如以上那样,根据本实施方式6,通过使用实施方式1到实施方式5中任何一个的校验矩阵生成装置100,可以得到能够稳定地且特性稳定,纠错能力良好,并且与多种的集合、代码长度、编码率对应的Irrgular-LDPC码用的校验矩阵那样的效果。
工业上可利用性如以上那样,与本发明有关的校验矩阵生成装置和校验矩阵生成方法,例如,适合于在短时间内容易地生成确定地且特性稳定,纠错能力良好,并且与多种的集合、代码长度、编码率对应的LDPC码用的校验矩阵。
权利要求
1.一种校验矩阵生成装置,其特征在于,备有输入规定的信息长度、编码率和列最大次数的信息长度·编码率·列最大次数输入单元;使用输入的上述规定的信息长度、编码率和列最大次数,计算出用于后述的伪随机数置换矩阵的参数的伪随机数置换矩阵用参数计算单元;根据计算出的用于上述伪随机数置换矩阵的参数,使用伪随机数序列和拉丁方阵矩阵,生成上述伪随机数置换矩阵的伪随机数置换矩阵生成单元;使用所输入的上述规定的信息长度、编码率和列最大次数,计算出用于可以使用上述伪随机数置换矩阵构成的校验矩阵生成的次数分布的最佳化的、可以取得的次数分布的组合的参数的次数分布最佳化用参数计算单元;将计算出的上述可以取得的次数分布的组合作为约束条件,根据密度发展法使校验矩阵生成的次数分布最佳化的次数分布最佳化单元;和根据经过最佳化的上述校验矩阵生成的次数分布,配置所生成的上述伪随机数置换矩阵,生成低密度奇偶校验码用的校验矩阵的校验矩阵生成单元。
2.根据权利要求1所述的校验矩阵生成装置,其特征在于上述信息长度·编码率·列最大次数输入单元输入规定的信息长度、多个编码率和除去无编码的最大编码率的列的最大次数,上述伪随机数置换矩阵用参数计算单元使用输入的上述规定的信息长度、多个编码率和除去无编码的最大编码率的列的最大次数,计算出用于上述伪随机数置换矩阵的参数,上述次数分布最佳化用参数计算单元使用输入的上述规定的信息长度、多个编码率和除去无编码的最大编码率的列的最大次数,计算出用于可以使用上述伪随机数置换矩阵构成的校验矩阵生成的次数分布的最佳化的、可以取得的次数分布的组合的参数。
3.根据权利要求1所述的校验矩阵生成装置,其特征在于上述伪随机数置换矩阵用参数计算单元使用输入的上述规定的信息长度、编码率和列最大次数,计算出用于后述的第1和第2伪随机数置换矩阵的参数,上述伪随机数置换矩阵生成单元根据计算出的用于上述第1和第2伪随机数置换矩阵的参数,使用伪随机数序列和拉丁方阵矩阵生成上述第1伪随机数置换矩阵,并且通过进一步在行方向压缩上述第1伪随机数置换矩阵生成上述第2伪随机数置换矩阵,上述次数分布最佳化用参数计算单元使用输入的上述规定的信息长度、编码率和列最大次数,计算出用于可以使用上述第1和第2伪随机数置换矩阵构成的校验矩阵生成的次数分布的最佳化的、可以取得的次数分布的组合的参数;上述校验矩阵生成单元根据经过最佳化的上述校验矩阵生成的次数分布,配置生成的上述第1和第2伪随机数置换矩阵,生成低密度奇偶校验码用的校验矩阵。
4.根据权利要求1所述的校验矩阵生成装置,其特征在于上述伪随机数置换矩阵用参数计算单元使用输入的上述规定的信息长度、编码率和列最大次数,计算出用于后述的第3伪随机数置换矩阵的参数和用于后述的第2伪随机数置换矩阵的参数,上述伪随机数置换矩阵生成单元进一步根据计算出的用于上述第3伪随机数置换矩阵的参数和用于上述第2伪随机数置换矩阵的参数,对使用伪随机数序列和拉丁方阵矩阵生成的第1伪随机数置换矩阵进行行和列的置换实施扩展,生成上述第3伪随机数置换矩阵,并且通过进一步在行方向压缩上述第1伪随机数置换矩阵生成上述第2伪随机数置换矩阵,上述次数分布最佳化用参数计算单元使用输入的上述规定的信息长度、编码率和列最大次数,计算出用于可以使用上述第3和第2伪随机数置换矩阵构成的校验矩阵生成的次数分布的最佳化的、可以取得的次数分布的组合的参数,上述次数分布最佳化单元将计算出的上述可以取得的次数分布的组合作为约束条件,根据密度发展法或Multi-edge type的密度发展法使校验矩阵生成的次数分布进行最佳化,上述校验矩阵生成单元根据经过最佳化的上述校验矩阵生成的次数分布,配置生成的上述第3和第2伪随机数置换矩阵,生成低密度奇偶校验码用的校验矩阵。
5.根据权利要求1所述的校验矩阵生成装置,其特征在于通过由上述校验矩阵生成单元配置上述伪随机数置换矩阵而生成的校验矩阵的循环为6以上。
6.一种校验矩阵生成装置,其特征在于,备有输入用于使用规定的信息长度、编码率和列最大次数计算出的伪随机数置换矩阵的参数,使用伪随机数序列和拉丁方阵矩阵,生成上述伪随机数置换矩阵的伪随机数置换矩阵生成单元;和通过将用于可以使用用上述规定的信息长度、编码率和列最大次数计算出的上述伪随机数置换矩阵构成的校验矩阵生成的次数分布的最佳化的、可以取得的次数分布的组合作为约束条件,输入根据密度发展法经过最佳化的上述校验矩阵生成的次数分布,配置生成的上述伪随机数置换矩阵,生成低密度奇偶校验码用的校验矩阵的校验矩阵生成单元。
7.一种通信装置,其特征在于,备有如权利要求1所述的校验矩阵生成装置;和使用由上述校验矩阵生成装置生成的校验矩阵求得生成矩阵,生成代码字的编码器。
8.一种通信装置,其特征在于,备有如权利要求1所述的校验矩阵生成装置;和使用由上述校验矩阵生成装置生成的校验矩阵,实施基于sum-product算法的反复解码,计算出推定结果的解码器。
9.一种通信装置,其特征在于,备有如权利要求6所述的校验矩阵生成装置;和使用由上述校验矩阵生成装置生成的校验矩阵求生成矩阵,生成代码字的编码器。
10.一种通信装置,其特征在于,备有如权利要求6所述的校验矩阵生成装置;和使用由上述校验矩阵生成装置生成的校验矩阵,实施基于sum-product算法的反复解码,计算出推定结果的解码器。
全文摘要
使用规定的信息长度、编码率和列最大次数,计算出用于伪随机数置换矩阵的参数,根据计算出的用于伪随机数置换矩阵的参数,使用伪随机数序列和拉丁方阵矩阵,生成伪随机数置换矩阵,使用规定的信息长度、编码率和列最大次数,计算出用于可以使用伪随机数置换矩阵构成的校验矩阵生成的次数分布的最佳化的、可以取得的次数分布的组合的参数,将计算出的可以取得的次数分布的组合作为约束条件使校验矩阵生成的次数分布最佳化,根据经过最佳化后的校验矩阵生成的次数分布,配置生成的伪随机数置换矩阵,生成低密度奇偶校验码用的校验矩阵。
文档编号H03M13/09GK101036300SQ20048004414
公开日2007年9月12日 申请日期2004年10月8日 优先权日2004年10月8日
发明者松本涉 申请人:三菱电机株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1