面向5G的LDPC码正则校验矩阵设计研究
2020-02-27张长青中国移动通信集团湖南有限公司岳阳分公司湖南岳阳414000
张长青(中国移动通信集团湖南有限公司岳阳分公司,湖南岳阳 414000)
0 引言
LDPC 码的技术核心是稀疏校验矩阵,因其矩阵的稀疏性,阵中的“1”元素远远小于“0”元素数目,从而可以保证LDPC 码的译码复杂度和最小码距只随码长的增大而呈线性增加,所以LDPC 码的译码相对来说比较简单,且具有逼近香农极限的优点。
LDPC 码分为正则编码和非正则编码,对应的稀疏校验矩阵也可分为正则校验矩阵和非正则校验矩阵,其中正则校验矩阵中的横向和纵向“1”元素的个数不变,或者说矩阵的列重和行重是常数;非正则校验矩阵中的横向和纵向“1”元素的个数可变,或者说矩阵的列重和行重是变数。显然,非正则校验矩阵因所有行列中的列重和行重值可变,建立矩阵没有简单的设计方法,正则校验矩阵的设计方法则简单得多。
在正则校验矩阵的设计中,一方面,对于一个给定码长、列重和行重等主要参数建立起来的多项式,实际上是一类LDPC 编码,而非某个特定的LDPC 编码,或者说,对于一个线性分组码,校验矩阵并非是唯一的;另一方面,一个优秀的LDPC 编码系统,首先是因为有一个优秀的校验矩阵,而一个优秀的校验矩阵,既可以提高系统编码的可靠性,提高有用数据的传输码率,还能提高系统的译码效率等。因此,定义一个LDPC 编码,首先必须给出一个与该编码序列对应的稀疏校验矩阵才有实际意义,对传输信道采用一个优秀的LDPC 正则编码,首先必须设计出一个与该编码序列对应的优秀的正则校验矩阵才有可能达到目的。
1 用正则校验矩阵进行LDPC编码
设正则稀疏校验矩阵H的行数为M、列数为N,如图1所示。在LDPC编码时,系统将每一次需要传输的包括信源数据码字和编码校验码字在内的总码字长度定义为稀疏校验矩阵的列数N,将校验整个码字的校验向量位长定义为稀疏校验矩阵的行数M。显然,编码序列中可以传输信源数据码字的长度实际上为N1=N-M,系统每次实际传输信源数据的码率可以表示为R=N1/N=1-M/N。所以,正则校验矩阵与LDPC编码关系密切。
此外,在LDPC 编码中,与稀疏校验矩阵和编码关联密切的参数,还有列重dn和行重dm,其中所谓列重是指稀疏校验矩阵中每列中有“1”元素的个数,所谓行重是指稀疏校验矩阵中每行中有“1”元素的个数。在设计校验矩阵时一般都会使列数N大于行数M,但对应的列重dn一般都会小于行重dm。在设计一款LDPC编码对应的优秀稀疏校验矩阵中,列数N、行数M、列重dn和行重dm等参数须尽可能满足如下基本条件∶
a)矩阵的行重dm、列重dn与码长N的比值要远小于1,码长要远远大于行重列重,即N≫dm,N≫dn,或矩阵中“1”元素的稀疏率越小越好。
b)任意相邻两行或两列中,在相同列位置或相同行位置上尽可能使其只有1个“1”元素,即相邻列或相邻行同位置上的“1”元素越少越好。
c)与行数M相比,任意线性无关的列数N尽可能大,即所有列向量之间的线性无关性越多越好。另外,N较M越大,其码率越高,也是重要参考。
这些基本条件之间都存在一些需要彼此兼顾的方面,如N与dn或dm之间的差值太大肯定不行,N与M的差值太大同样不行,它们的取值还与码率R或其他因素有关。所以上面的基本条件只是一类参考条件,以尽量满足为前提,以相对要求为目的,因为用正则校验矩阵进行LDPC 编码,还需使用其他算法,且不同的算法,对校验矩阵的设计与要求都可能不同。
在LDPC 编码的算法中,主要有基于生成矩阵算法和基于校验矩阵算法,前者又叫线性分组码编码,对应的M×N维校验矩阵H中的行数M和列数N都是线性无关的(与前面基本条件b)吻合,但要求较高,相邻行和相邻列间都必须线性无关),后者包括LU 分解法和RU 算法,其中的RU 算法的基本原理是,利用校验矩阵具有的稀疏性来降低编码的运算量,具体过程是通过行列置换,将一般的低密度奇偶校验矩阵化为一个近似下三角矩阵(见图1),使其成为稀疏校验矩阵,可以有效地降低编码的复杂度,最大优点是附加条件较少,设计矩阵相对容易,一般可以直接按照近似下三角形奇偶校验矩阵结构布局矩阵元素,效率更高,也更快捷更便利。
图1 基于近似下三角形的正则校验矩阵
下面先了解基于近似下三角形奇偶校验的正则校验矩阵的基本结构。如图1 所示,若校验矩阵的行数为M、列数为N,则该矩阵可以简化为6个子矩阵,其中子矩阵T是对角线元素均为“1”的下三角矩阵。一般情况下,可以先设计g值,这时矩阵A、B、C、D、E、T的维数,可以分别确定为(M-g)×(N-M)、(M-g)×g、g×(N-M)、g×g、g×(M-g)、(M-g)×(M-g)。若以左上角为原点,则各子阵元素的取值位置可以分别表示为∶A=[1∶(M-g),1∶(N-M)]、B=[1∶(M-g),(N-M)∶(N-M+g)]、C=[(M-g)∶M,1∶(N-M)]、D=[(M-g)∶M,(N-M)∶(N-M+g)]、E=[(M-g)∶M,(N-M+g)∶N]、T=[1∶(Mg),(N-M+g)∶N]。这些基本参数一旦确定,基于近似下三角形奇偶校验的正则稀疏校验矩阵H也确定。
确定了正则校验矩阵HM×N后,便可以对需要传输的信源数据进行编码。具体方法∶首先将需要传输的信源数据S等分成n0组的分组向量s(i),i=1,2,…,n0,其中每个分组向量s(i)的长度定义为N1=N-M,则每次截取信源数据S的长度为n0×N1。其次,若采用RU 算法对分组向量s(i)用校验矩阵HM×N编码,可以得到n0组长度为N的LDPC 编码码字向量c(i)=[s(i),p1,p2],i=1,2,…,n0,式中p1、p2分别为校验向量,p1长为g,p2长为M-g,所以p1+p2的长度实际上是N-N1=M。由此可以看出,经过LDPC 编码后形成的编码分组的码字向量c(i)的长度,实际上是正则校验矩阵HM×N的列数N,而校验向量p1+p2的长度是正则校验矩阵HM×N的行数M,经LDPC 编码后,信源数据S的编码码率则为(NM)/N,LDPC编码中承载的信源比特长度等于N-M。
因此,在对LDPC 编码的码字向量c(i)=[s(i),p1,p2]进行编码的过程中,编码的主要工作实际上就是怎样求出码字向量中的校验向量p1和p2。求校验向量p1和p2的编码步骤可简述如下∶
a)计算信源的上校正子∶ZA=A×sT。
b)找出第2 个校验向量的临时值,使上校正子为零∶Pa=T-1×ZA。
c)计算向量的下校正子∶ZB=C×sT-E×Pa。
d)算出临时校验向量∶Pb=-F-1×ZB。
e)计算校验向量∶p1=(Pb)'。
f)临时校正子∶ZC=ZA+B×p1。
g)临时校验向量∶Pc=-T-1ZC,p2=(Pc)'。
h)校验向量∶p2=(Pc)'。
从上面求解校验向量p1和p2的步骤中,不难看出,LDPC 编码的理论基础,实际上就是基于近似下三角形的奇偶校验矩阵HM×N的设计。
2 正则校验矩阵设计分析
在正则校验矩阵设计中,系统先将需要传输的长度为n0×(N-M)=n0×N1的某段数据比特流S,按N1的长度分组成n0个子比特流s(i),i=1,2,…,n0,即S=n0×N1=然后再将s(i)与校验矩阵中的校验向量p1和p2结合,成型长度为N的新比特流码字c(i)=[s(i),p1,p2],使之成为系统输出的新码字c(i),实现对传输信道编码。在校验矩阵HM×N中,矩阵的列数N和行数M的大小与编码中形成的分组比特s(i)的大小无关,但矩阵的N-M的大小则决定了分组比特流s(i)的大小。N-M越大,则编码中长度为校验矩阵行数M的校验向量p1+p2越小,LDPC 编码的性能也将越差。所以,正确处理校验矩阵的列数N和行数M,是设计正则校验矩阵的重要考量。
由于3GPP确定的LDPC编码是针对eMBB场景的长码块编码方案,对应的业务信道主要承载的是5G系统中诸如3D/超高清视频等海量数据的传输。又由于校验矩阵H越大,占用系统资源越多,算法难度越大,与移动通信系统的设计理念相悖。因此,在设计LD⁃PC编码的正则校验矩阵时,不仅需要充分考虑矩阵列数N和行数M差的合理取值,还要正确考虑矩阵本身的实际大小。再者,由于校验矩阵中各子阵组成的相关校验向量必须是非奇异的,即各子阵相关运算时非零。所以,设计正则校验矩阵,还需要考虑奇异性。如果设计的校验矩阵满足基本条件,但存在奇异性,就必须通过适当调整矩阵的行列位置,消除奇异。
从图1中所示的近似下三角形奇偶校验矩阵的结构来看,正则校验矩阵可以分解为6 个子阵,其中T为下三角型阵,三角斜边上的元素都为“1”,D是方阵,所有子阵的大小都因g值的不同而不同。一般情况下,设计正则校验矩阵的步骤是∶首先要确定矩阵的行数M和列数N,其次确定矩阵中的行重数dm,列重数dn,最后要需要确定的是g值。确定了这几个基本值后,正则稀疏校验矩阵中的“1”元素数量和矩阵基本结构就已经确定了,但因为校验矩阵并非唯一,矩阵中“1”元素的具体位置可能因其设计方式方法的不同而存在一定差别。
列重dn和行重dm的确定值与列数N和行数M关联,g值的大小可决定校验矩阵的稀疏率,稀疏率的大小则可反映LDPC 编码的性能,下面来分析这几个基本参数。设正则稀疏校验矩阵中“1”元素数量为X,则有如下基本公式∶
校验矩阵“1”元素数量∶
校验矩阵行数M与列数N的比值,反比于行重dm与列重dn之比∶
校验矩阵的稀疏率∶
校验矩阵的码率∶
发送信源码字数为∶
从式(2)中可以看出,确定了列重dn和行重dm,就确定了校验矩阵H的列数N和行数M的比值,也确定了校验矩阵的稀疏率P和码率R,反之亦然,但不影响g的取值,g值影响的是校验矩阵中的所有子阵大小,即不同g值,对应的A、B、C、D、E、T子阵的结构不同,但与校验矩阵的稀疏率P和码率R无关。下面具体分析一款正则校验矩阵的基本设计过程。
设正则稀疏校验矩阵的列数N=9,行数M=6,列重dn=2,行重dm=3。根据式(1),矩阵中元素“1”的数量为X=N×dn=M×dm=18;根据式(3),矩阵稀疏率为P=dn/M=1/3;根据式(4),矩阵码率为R=1-dn/dm=1/3;根据式(5),编码发送信源的码字长度为N1=N-M=3,即在每个LDPC 编码的码字中,包含了9 bit数据,其中3 bit是信源码字比特,6 bit 是校验向量比特。根据正则校验矩阵设计基本条件,该矩阵设计可以简述为∶
显然,式(6)与正则校验矩阵设计完全满足基本条件中的第2 条,没有任何相邻行列中同位置存在2 个“1”元素,但这仅仅是可以满足的基本条件,而必须满足的主要条件是各子阵在运算中没有奇异性。事实上,该矩阵在运算中的确存在奇异性。由此可见,在正则校验矩阵设计中,满足基本条件的矩阵,不一定满足必要条件,设计中以必要条件为主,基本条件为辅。
为了不改变下三角子阵T中的对角线元素,调整矩阵中的行列时,一般只能对A、B、C、D子阵中的列交换,或对C、D、E子阵中的行交换。当然,也可以只交换调整2 行,或2 列中互为相反对应的2 个元素,其他元素可以不动。每交换或调整一次都需仿真检测,直到消除矩阵中的奇异性为止。
式(7)矩阵就是通过多次调整后得到的列数N=9、行数M=6、列重dn=2、行重dm=3、码率R=1/3、稀疏率P=1/3、g=3、信源码字比特数为3、校验码字比特数为6、相邻列或行同为1 的百分比为0.018 519、列相关性为0.444 44的非奇异性正则稀疏校验矩阵H6×9。
可以看出,式(7)矩阵与正则校验矩阵设计的3个基本条件相比,矩阵中的第6 列的第3 行和第4 行,在同一列位置上还是出现了2个“1”元素,但该矩阵运算中没有奇异性,是非奇异矩阵。另外,矩阵的列相关较大,但因是正则校验矩阵,系统对矩阵的列相关性要求不高,不会对矩阵的优异性产生大的影响,因而也可以忽略。
3 6种不同参数的正则校验矩阵
根据正则校验矩阵设计条件,设计了6 款不同列数N、不同行数M、不同列重dn、不同行重dm和不同g值的正则校验矩阵,可供研究LDPC编码时应用。
式(8)所示矩阵为∶列数N=12、行数M=6、列重dn=3、行重dm=6、码率R=1-dn/dm=1/2、稀疏率P=dn/M=1/2、g=2、信源码字比特数为N-M=6、校验码字比特数为6、相邻列或行同为1 的百分比为0.347 22、列相关性为0.305 56的正则稀疏校验矩阵H6×12。
式(9)所示矩阵为∶列数N=16、行数M=12、列重dn=3、行重dm=4、码率R=1/4、稀疏率P=1/4、g=3、信源码字比特数为4、校验码字比特数为12、相邻列或行同为1 的百分比为0.109 38、列相关性为0.173 61 的正则稀疏校验矩阵H12×16。
式(10)所示矩阵为∶列数N=16、行数M=12、列重dn=3、行重dm=4、码率R=1/4、稀疏率P=1/4、g=2、信源码字比特数为4、校验码字比特数为12、相邻列或行同为1 的百分比为0.098 958、列相关性为0.109 38 的正则稀疏校验矩阵H12×16。
式(11)所示矩阵为∶列数N=16、行数M=12、列重dn=3、行重dm=4、码率R=1/4、稀疏率P=1/4、g=4、信源码字比特数为4、校验码字比特数为12、相邻列或行同为1 的百分比为0.057 292、列相关性为0.270 83 的正则稀疏校验矩阵H12×16。
式(12)所示矩阵为∶列数N=20、行数M=15、列重dn=3、行重dm=4、码率R=1/4、稀疏率P=1/5、g=3、信源码字比特数为=5、校验码字比特数为15、相邻列或行同为1的百分比为0.08、列相关性为0.179 17的正则稀疏校验矩阵H15×20。
式(13)所示矩阵为∶列数N=24、行数M=18、列重dn=3、行重dm=4、码率R=1/4、稀疏率P=1/6、g=3、信源码字比特数为=6、校验码字比特数为12、相邻列或行同为1 的百分比为0.057 87、列相关性为0.208 33 的正则稀疏校验矩阵H18×24。
4 基于正则校验矩阵的LDPC编码性能分析
4.1 仿真建模
基于正则校验矩阵的LDPC 编码的仿真建模如图2所示,信源比特流经过基于正则校验矩阵的LDPC 信道编码器编码成码字比特流后,由64QAM 基带调制器调制成64QAM 符号流,再经过IFFT变换成IFFT符号,经过综合滤波器滤波后形成滤波符号,从而完成发射过程;发射信号经过高斯噪声干扰后,经分析滤波器滤波恢复成IFFT 符号信号,经过FFT 变换后恢复成64QAM 符号信号,再经过64QAM 解调后恢复成LDPC编码信号,经过LDPC 信道译码后恢复成信宿,系统通过信源比特与信宿比特比较,求系统的误码率,判断系统的传输性能。
图2 基于正则校验矩阵的仿真系统
建模中虽然是以信道编码为主,但仍然考虑了5G应用中的基本情况,即5G 的基带调制解调将会以64QAM 技术为主,而基于滤波器组的OFDM 也很有可能是面向5G的多载波传输技术,所以建模方案有一定的参考意义。
4.2 正则校验矩阵参数表
正则校验矩阵的基本分析参数主要有∶列数N、行数M、列重dn、行重dm、码率R、稀疏率P、G值、信源码长K、校验码长L、同列行1 比Q、列相关性T共11 项(见表1),其中的同列行1 比Q是指∶在矩阵同列相邻行都为1 的百分比值,或同行相邻列都为1 的百分比值;列相关性T是指∶矩阵中相邻列之间的相关性。这些参数都是在设计LDPC 编码对应的正则稀疏校验矩阵时,具有参考价值的基本条件。但由于这里是研究正则稀疏校验矩阵,虽然列相关性的影响并不大,但同列行1比还是很重要。一个优秀的正则稀疏校验矩阵,不仅矩阵大小适中,且同列行1 比值也较小,最重要的当然是矩阵运算时不存在奇异性。
表1 所示为设计的7 种正则校验稀疏矩阵对应的各种参数的汇总,可方便比较分析。通过这些参数以及下面的性能仿真,可以合理分析不同参数设计的正则校验矩阵对系统性能的影响,具有一定参考意义。
表1 7种正则校验矩阵对应的参数
4.3 误码率分析
图3 4种情况下的误码率比较
图3 为4 种情况下的误码率比较,其中的信道编码是基于正则校验矩阵H18×24的LDPC 编码,滤波器组是基于叠加因子K=8 的滤波器组,同时采用的基带调制是64QAM。可以看出,信道编码和滤波器组的性能提升是相互独立的,滤波器组的应用对系统性能的提高非常大,这也是3GPP 在5G 系统中规划核心传输技术时,将滤波器OFDM 技术列入重要入选方案之一的主要原因;信道编码的应用无论是否加入了滤波器组技术,都会给系统带来至少8倍的性能提升,充分说明信道编码技术在移动通信系统中应用的重要性。特别是利用正则校验矩阵进行LDPC 编码,技术成熟、成本较低,因为正则校验矩阵一旦确定,校验向量也就固定不变了,从而可使LDPC 编码变得十分简单。当然,LDPC 码是一种业务信道长码块编码方案,需要有较大的校验矩阵支持。
图4 所示为基于式(7)~式(13)共7 种不同情况下的正则校验矩阵的LDPC 编码,以上面仿真建模系统为基础产生的误码率曲线。可以看出,除了第2 个矩阵的误码率较低外,其他6个矩阵的误码率都差不多,性能最好、误码率最小的是第7个矩阵。
图4 7种正则校验矩阵对应的LDPC编码情况
利用表1 相关参数比较,可以发现一些情况。其中,第2 个矩阵性能最差的原因可能是∶同列行1 比最大(Q=0.347),码率最大(R=1/2)和稀疏率最大(P=1/2);第7 个矩阵性能最好的原因可能是∶同列行1 比小(Q=0.057),码率最小(R=1/4)和稀疏率最小(P=1/6);特别是第1 个矩阵,矩阵最小,但性能属于最好一类,与第6个、第7个矩阵相当,比较发现,它的同列行1比最小(Q=0.018),且列相关性最大(T=0.44),其他参数与性能良好的矩阵相差不大,说明同列行1 比对正则校验矩阵的性能影响较大,而列相关性影响不大。
图5 为表1 中第3~5 的3 个相同矩阵,差别只是g值不同,由此还带来了同列行1 比Q和列相关性T的不同,从误码率曲线中可以看出,三者的性能完全一样,说明g的不同,虽然可以部分改变同列行1 比Q和列相关性T的取值,但不会改变它们编码性能。这个特点对于设计正则校验矩阵很有意义,因为改变g值,既不会改变N、M、dn和dm的取值,还能够方便矩阵设计,使其通过g值的调整满足基本条件。
图5 仅有g值不同的3个相同矩阵比较
一个正则校验矩阵的优秀与否,与矩阵的大小、g值的大小的关联不大,但与矩阵的非奇异性和同列行1比以及码率和稀疏率等参数密切相关。
5 结束语
LDPC 编码的核心是稀疏校验矩阵H。设计一款性能优异的稀疏校验矩阵,是LDPC 编码成功的重要前提,决定了LDPC 编码的品质和效率。所以设计稀疏校验矩阵,对LDPC编码来讲非常重要。
设计正则稀疏校验矩阵有许多参数需要参考,最重要的是矩阵运算中没有奇异性,其次才是同列行1比参数,即尽可能减小出现在已经架构起来的矩阵的相邻行或列在同一列或行位置都为“1”元素的情况。
检测校验矩阵的奇异性公式U=-ET-1B+D,在衡量正则稀疏校验矩阵的应用中,并非绝对。式(7)矩阵的U值等于0,但仿真证明式(7)矩阵是一个优秀的正则稀疏校验矩阵,说明不能简单地使用该公式来证明设计的正则稀疏校验矩阵的奇异性。另外,式(7)矩阵还表明,正则稀疏校验矩阵的优秀与矩阵阵元的多少关系不大,但与矩阵的同列行1 比关系很大。由于式(7)矩阵较小,且同列行1 比也小,其性能的优越既反映在误码率很低方面,还反映在较小的矩阵使系统处理过程中占用的资源较小等方面。所以,在LDPC编码中,采用类似式(7)矩阵应是最佳选择。
校验矩阵不仅担负着对发射数据的编码重任,更担负着对接收数据的解码重任,在发射端设计一个性能优秀的校验矩阵对LDPC编码系统十分重要。