一种准循环多进制低密度奇偶校验码的快速频域编码方法与流程

文档序号:11593806阅读:181来源:国知局

本发明涉及多进制低密度奇偶校码(ldpc)的快速编码方法,特别涉及一种准循环多进制低密度奇偶校验码的快速频域编码方法。



背景技术:

多进制低密度奇偶校验码(ldpc)有着很好的纠正信道加性噪声或信道删除错误的能力。多进制ldpc码相对于传统的二进制ldpc码纠错能力更强,在高阶调制系统中优势更为明显。多进制ldpc码在无线电通信、水声通信中已有研究和应用。与校验矩阵呈现的明显稀疏性不同,用于编码过程的生成矩阵是非稀疏的,直接计算编码矩阵与输入矢量的乘积则计算复杂度高。

现有的基于多进制移位寄存器的编码方法用到了循环矩阵的时域卷积特性,在现场可编程门阵列(fpga)等硬件平台中可实现并行处理,通过增加参与编码过程的逻辑门的面积并增加计算处理功率,可达到提升处理速率的目的,然而计算复杂度没有减少,一次编码过程的总能量消耗没有降低。如果采用数字信号处理器(dsp)等指令形式的处理平台实现,移位寄存器编码方法相对直接矩阵乘积的方法在处理速率和能量消耗上均没有优势。

在实数域,fourier变换可将循环矩阵转换为对角矩阵,如果fourier变换阶数为2的整数次幂,根据基2的蝶型快速fourier变换方法可减小计算量。在有限域,fourier变换仍可将循环矩阵转换为对角矩阵,但fourier变换阶数不是2的整数次幂,甚至有可能为质数,不存在基于蝶形方法的有限域快速fourier变换。

因而,在水声通信等系统能耗受限的应用场合中,现有的编码方法不能较好地满足要求。



技术实现要素:

本发明的目的在于克服目前编制多进制ldpc码时存在的上述缺陷,基于准循环多进制ldpc码的生成矩阵具有分块矩阵的循环结构这一特性,提出了一种准循环多进制低密度奇偶校验码的频域快速编码方法,该方法首先计算fourier变换分段查找表,计算多进制ldpc生成矩阵的分段频域矩阵;根据分段fourier变换表分别对分段的输入序列变换到频域,和生成矩阵的分段频域矩阵进行频域乘积及求和, 然后利用分段逆fourier变换表格变换到时域得到编码序列;通过频域矢量之间的逐元素乘积代替了传统方法的矩阵与矢量的直接乘积,降低了计算复杂度。同时本发明利用有限域取值集合为有限值,利用查找表表示变换的映射关系,为避免对整个序列做表造成过大的存储空间开销,本发明将fourier变换(逆fourier变换)的输入序列进一步变换分段处理,采用分段查找表并求和的方法得到变换结果,整个变换过程仅需要有限域加法运算即可完成。

为了实现上述目的,本发明提供了一种准循环多进制低密度奇偶校验码的快速频域编码方法,所述方法包括:

步骤1)计算fourier变换的分段查找表与逆fourier变换的分段查找表;

步骤2)构造准循环多进制低密度奇偶校验码的校验矩阵h,通过高斯消去法获得系统形式的生成矩阵g,利用fourier变换的分段查找表对生成矩阵g进行快速fourier变换得到频域的生成矩阵;

步骤3)将输入序列u分段后利用fourier变换的分段查找表分段变换到频域;根据频域的生成矩阵,计算频域上的冗余校验部分的编码序列;

步骤4)利用逆fourier变换的分段查找表对频域上的冗余校验部分的编码序列进行快速fourier逆变换,得到时域上的冗余校验部分的编码序列。

上述技术方案中,所述步骤1)具体包括:

步骤1-1)构造fourier变换矩阵f;

令α为gf(2m)的本源,m为输入序列每个元素携带的信息比特数;b=2m-1为fourier变换长度;根据α构造fourier变换矩阵f,其各元素取值为[f]i,j=αij,0≤i≤2m-2,0≤j≤2m-2;逆fourier变换矩阵f-1的各元素为[f-1]i,j=α-ij,0≤i≤2m-2,0≤j≤2m-2;

步骤1-2)构造fourier变换的分段查找表和逆fourier变换的分段查找表;

取fourier变换的分段长度为q,则分段个数为代表向上取整数;fourier变换由s个分段查表函数fi(ai),0≤i<s来表示,分别为:

其中,ai,0≤i<s-1的长度为q,as-1长度为2m-1-sq+q,ai,0≤i<s的取值形 式为ai∈{[0,0,…,0,0],[0,0,…,0,1],…,[2m-1,2m-1,…,2m-1,2m-1]};

构造逆fourier变换的分段查找表

上述技术方案中,所述步骤2)具体包括:

步骤2-1)采用基于有限域的阵列分散构造出gf(2m)上的校验矩阵h;通过高斯消去法,获得系统形式的生成矩阵g;g具有如下的结构:

其中,g是bc×bt维矩阵,bt是编码序列的长度;bt=b×t;g的各子矩阵gi,j,0≤i<c,0≤j<t-c是b×b维循环矩阵;i是b×b维单位矩阵,0是b×b维零矩阵;

步骤2-2)利用步骤1-2)中的fourier变换的分段查找表将生成矩阵g的子矩阵gi,j变换到频域;

对于gi,j,令其首行矢量为gi,j;将gi,j分段表示为gi,j=[x0,x1,…xs-2,xs-1],其中xk(0≤k≤s-2)的长度为q,xs-1的长度为(2m-1-sq+q);则将gi,j变换到频域的计算公式为:

上述技术方案中,所述步骤3)具体包括:

步骤3-1)将输入序列u分段后变换到频域;

将输入序列u进行编码分段表示;bc=b×c是输入序列u的长度,将每b个相邻的元素合并成一个编码分段,输入序列表示为u=[u0,u1,…,uc-1],

对于ui,将其分段表示为ui=[y0,y1,…ys-2,ys-1],其中yk(0≤k≤s-2)的长度 为q,ys-1的长度为(2m-1-sq+q);则将ui变换到频域的计算公式为:

步骤3-2)计算频域上的冗余校验部分的编码序列;

计算每个输入序列的编码分段频域矢量uif和对应的频域循环矩阵gi,jf的乘积:

(uif)⊙(gi,jf)(0≤i<c,0≤j<t-c)(5)

其中x⊙y表示由x和y逐元素相乘组成的矢量;

对所有的乘积进行求和,得到频域上的冗余校验部分的编码序列:

上述技术方案中,所述步骤4)的具体实现过程为:

将频域上的冗余校验部分的编码序列进行逆fourier变换:

上式的计算过程为:对频域上的冗余校验部分的编码序列:进行长度为q的分段处理:其中zk(0≤k≤s-2)的长度为q,zs-1的长度为(2m-1-sq+q);则:

编码序列的原始信息部分由输入序列直接得到,pj=uj-(t-c),(t-c≤j<t);完整的编码序列p由冗余校验部分和原始信息部分合并得到,写成p=[p0,p1,…,pt-1]。

本发明的优点在于:本发明的方法能够大幅度降低了多进制ldpc编码的计算量和计算复杂度,降低对硬件平台能耗的需求,满足水声通信等应用场合。

附图说明

图1为本发明的准循环多进制低密度奇偶校验码的频域编码方法的流程图。

具体实施方式

下面结合附图和具体实施例对本发明做进一步详细的说明。

如图1所示,一种准循环多进制低密度奇偶校验码的快速频域编码方法,所述方法包括:

步骤1)计算fourier变换的分段查找表与逆fourier变换的分段查找表,分别用于fourier变换与逆fourier变换的快速计算;

步骤1-1)构造fourier变换矩阵f;

令α为gf(2m)的本源,m为输入序列每个元素携带的信息比特数,即多进制ldpc码中的多进制阶数;b=2m-1为fourier变换长度;根据α构造fourier变换矩阵f,其各元素取值为[f]i,j=αij(0≤i≤2m-2,0≤j≤2m-2);逆fourier变换矩阵f-1的各元素为[f-1]i,j=α-ij(0≤i≤2m-2,0≤j≤2m-2);

步骤1-2)构造fourier变换的分段查找表与逆fourier变换的分段查找表;

取fourier变换的分段长度为q,则分段个数为代表向上取整数;fourier变换由s个分段查表函数fi(ai)(0≤i<s)来表示,分别为

其中,ai(0≤i<s-1)的长度为q,as-1长度为(2m-1-sq+q),ai(0≤i<s)的取值形式为ai∈{[0,0,…,0,0],[0,0,…,0,1],…,[2m-1,2m-1,…,2m-1,2m-1]};

采用同样方式构造逆fourier变换的分段查找表

fourier变换(逆fourier变换)查找表所需要的存储空间各为2mq(2m-1)s比特;

步骤2)构造准循环多进制ldpc码的校验矩阵h,通过高斯消去法获得系统 形式的生成矩阵g,利用分段查找表fourier变换到得到频域生成矩阵;

步骤2-1)采用基于有限域的阵列分散构造出gf(2m)上的校验矩阵h;通过高斯消去法,获得系统形式的生成矩阵g;g具有如下的准循环结构:

其中,g是bc×bt维矩阵,bt是编码序列的长度;bt=b×t;g的各子矩阵gi,j,0≤i<c,0≤j<t-c是b×b维循环矩阵;i是b×b维单位矩阵,0是b×b维零矩阵;

以32进制、输入序列长310、输出序列长620的准循环ldpc码为例,该码基于有限域gf(25)且校验矩阵表示为h2-f,disp,2(10,20),利用高斯消去法得到生成矩阵g;校验矩阵h2-f,disp,2(10,20)是稀疏的;生成矩阵g左半矩阵是非稀疏的,对应编码序列的冗余校验部分;生成矩阵g右半矩阵是单位矩阵,对应编码序列的原始信息部分。生成矩阵g满足准循环结构,各参数取值为b=31,m=5,t=20和c=10。

步骤2-2)利用步骤1-2)中的fourier变换的分段查找表将生成矩阵g的子矩阵gi,j变换到频域;

对于gi,j,令其首行矢量为gi,j;将gi,j分段表示为gi,j=[x0,x1,…xs-2,xs-1],其中xk(0≤k≤s-2)的长度为q,xs-1的长度为(2m-1-sq+q);则将gi,j变换到频域的计算公式为:

完成一次fourier(逆fourier)变换所需的计算量仅为(2m-1)s次有限域加法,加法运算次数缩小为直接fourier变换的1/q,乘法运算次数降为0,在存储能力满足的条件下,应选择大的q值;

步骤3)将输入序列u分段后利用fourier变换的分段查找表分段变换到频域;根据频域的生成矩阵,计算频域上的冗余校验部分的编码序列;步骤3-1)将输入 序列u分段后变换到频域;

将输入序列u进行编码分段表示;bc=b×c是输入序列u的长度,将每b个相邻的元素合并成一个编码分段,输入序列表示为u=[u0,u1,…,uc-1],

对于ui,将其分段表示为ui=[y0,y1,…ys-2,ys-1],其中yk(0≤k≤s-2)的长度为q,ys-1的长度为(2m-1-sq+q);则将ui变换到频域的计算公式为:

步骤3-2)计算频域上的冗余校验部分的编码序列;

计算每个输入序列的编码分段频域矢量uif和对应的频域循环矩阵gi,jf的乘积:

(uif)⊙(gi,jf)(0≤i<c,0≤j<t-c)(5)

其中x⊙y表示由x和y逐元素相乘组成的矢量;

对所有的乘积进行求和,得到频域上的冗余校验部分的编码序列:

步骤4)对频域上的冗余校验部分的编码序列进行查找表逆fourier变换,得到时域上的冗余校验部分的编码序列;

将频域上的冗余校验部分的编码序列进行逆fourier变换:

上式的计算过程为:对频域上的冗余校验部分的编码序列:进行长度为q的分段处理:其中zk(0≤k≤s-2)的长度为q,zs-1的长度为(2m-1-sq+q);则:

编码序列的原始信息部分由输入序列直接得到,pj=uj-(t-c),(t-c≤j<t);完整的编码序列p由冗余校验部分和原始信息部分合并得到,写成p=[p0,p1,…,pt-1]。

下面对本发明的方法进行进一步说明:

本发明包含两级分段过程:编码过程中的分段和变换过程中的分段。编码过程中分段长度等于fourier变换的长度,同时等于输入序列元素的多进制阶数减一,因而编码分段长度由所选用的多进制ldpc码直接确定;fourier变换分段查找表是为了减少查找表的长度,根据系统提供的存储容量大小选择合适的变换过程中的分段大小。

步骤1)和2)与编码输入序列无关,在获得编码序列之前即可完成,且只需执行一次,因而在编码计算量评估中不予以考虑。

根据循环矩阵可被fourier矩阵对角化的性质,有gi,j=fdiag(gi,jf)f-1,其中diag(x)代表由矢量x为对角线元素组成的方阵;对于同样长度的行矢量x和y,有x⊙y=xdiag(y);因而,当0≤j<t-c,对于式(7)有

即式(7)计算的编码序列和现有的直接时域编码方法的编码序列一致。

利用本发明的方法完成一次准循环多进制ldpc码的编码需要进行gf(2m)上的加法和乘法各b(t-c)c次,fourier变换与逆fourier变换共t次,利用分段查找表进行fourier/逆fourier快速计算,一次fourier/逆fourier变换需要加法次数为(2m-1)s次。

表1给出了两种编码方法的计算量进行对比,其中直接时域法为现有的方法; 快速频域法为本发明的方法;对于32进制准循环ldpc码g310×620,各参数取值为q=4,b=31,m=5,t=20和c=10,fourier变换和逆fourier变换的表格存储空间需65兆字节。本发明的计算量为原有直接时域法的5.8%:

表1

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1