LDPC码校验矩阵的构造方法及装置
技术领域
本申请涉及通信领域,特别是涉及一种LDPC码校验矩阵的构造方法及装置。
背景技术
LDPC码即低密度奇偶校验码(Low Density Parity Check Code,LDPC),是由Robert G.Gallager提出的一类具有稀疏校验矩阵的线性分组码。后经MacKay和Neal等人对LDPC码重新进行研究,提出了针对LDPC码得可行性译码算法,从而进一步发现了LDPC码所具有的良好性能。
目前,LDPC码已广泛应用于深空通信、光纤通信、卫星数字视频和音频广播等领域。LDPC码已成为第四代通信系统(4G)强有力的竞争者,而基于LDPC码的编码方案已经被下一代卫星数字视频广播标准DVB-S2采纳。
LDPC码因为其接近香农限的性能,被广泛关注;在构造LDPC码的过程中,LDPC码的校验矩阵的高实现复杂度成为阻碍其实际应用的一个障碍;发明人经过探索研究发现,现有技术中还未有一种有效的构造LDPC码校验矩阵的方法,以降低LDPC码构造过程中的存储复杂度。
发明内容
为解决上述技术问题,本申请实施例提供一种LDPC码校验矩阵的构造方法及装置,有效的降低了LDPC码构造过程中的存储复杂度。
技术方案如下:
一种LDPC码校验矩阵的构造方法,所述构造方法基于集合G,所述集合G={a1,a2,a3…am-1,am},a1<a2<a3<…am-1<am,对于任意i,j,k,l∈{1,2,3,…,m-1,m},当且仅当i=k并且j=l时,ai-aj=ak-al;集合G的阶是m,长度是am-a1;
其中:对于任意ai,aj∈G,i≠j,均存在一集合S:{f(n)=ai-aj},n∈[a1-am,am-a1]中的元素各不相同;
所述构造方法包括:
依据所述LDPC码的应用参数确定所述LDPC码校验矩阵H的基矩阵B(γ,ρ)的行数γ与列数ρ;
随机选择一阶数大于或等于ρ的集合Gs,所述
在所述集合Gs中随机选取ρ个元素,构成向量V=[b1,b2,…,bρ],bi∈Gs,i∈[1,ρ];
将向量V循环右移q modρ次得到向量V的循环右移向量Vq,其中q为不小于0的整数;
取γ个不同的q值,得到γ个向量V的循环右移向量,记为:V(1),V(2),…V(γ);
取V(i),i∈[1,γ]作为B(γ,ρ)的γ个行向量,得到LDPC码校验矩阵H的基矩阵B(γ,ρ);
对所述基矩阵B(γ,ρ)进行矩阵填充,构成所述LDPC码的校验矩阵H。
上述的方法,优选的,对所述基矩阵B(γ,ρ)进行矩阵填充包括:
随机选择一尺寸为p×p的单位矩阵I(0);
对所述单位矩阵I(0)进行pj,l次循环右移,获得单位矩阵I(0)的pj,l次循环右移矩阵I(pj,l);其中:0≤j≤γ-1;0≤l≤ρ-1;
将所述矩阵I(0)及I(pj,l)填充至基矩阵B(γ,ρ)中构成校验矩阵H。
一种LDPC码校验矩阵的构造装置,所述构造装置的应用过程基于集合G,所述集合G={a1,a2,a3…am-1,am},a1<a2<a3<…am-1<am,对于任意i,j,k,l∈{1,2,3,…,m-1,m},当且仅当i=k并且j=l时,ai-aj=ak-al;集合G的阶是m,长度是am-a1;
其中:对于任意ai,aj∈G,i≠j,均存在一集合S:{f(n)=ai-aj},n∈[a1-am,am-a1]中的元素各不相同;
所述装置包括:
确定单元,用于依据所述LDPC码的应用参数确定所述LDPC码校验矩阵H的基矩阵B(γ,ρ)的行数γ与列数ρ;
选择单元,用于随机选择一阶数大于或等于ρ的集合Gs,所述
构成单元,用于在所述集合Gs中随机选取ρ个元素,构成向量V=[b1,b2,…,bρ],bi∈Gs,i∈[1,ρ];
基矩阵构造单元,用于将向量V循环右移q modρ次得到向量V的循环右移向量Vq,其中q为不小于0的整数;取γ个不同的q值,得到γ个向量V的循环右移向量,记为:V(1),V(2),…V(γ);取V(i),i∈[1,γ]作为B(γ,ρ)的γ个行向量,得到LDPC码校验矩阵H的基矩阵B(γ,ρ);
填充单元,用于对所述基矩阵B(γ,ρ)进行矩阵填充,构成所述LDPC码的校验矩阵H。
上述的装置,优选的,所述填充单元包括:
单位矩阵选择子单元,用于随机选择一尺寸为p×p的单位矩阵I(0);
循环右移子单元,用于对所述单位矩阵I(0)进行pj,l次循环右移,获得单位矩阵I(0)的pj,l次循环右移矩阵I(pj,l);其中:0≤j≤γ-1;0≤l≤ρ-1;
填充子单元,用于所述矩阵I(0)及I(pj,l)填充至基矩阵B(γ,ρ)中构成校验矩阵H。
由以上本申请实施例提供的技术方案可见,本发明提供的一种LDPC码校验矩阵的构造方法及装置,基于Golomb-Ruler集合的性质对LDPC码的校验矩阵进行构造,在构造校验矩阵的基矩阵时只需要存储基矩阵中的一个行向量,基矩阵的每一行都可以由该行向量循环移位获得,从而降低了LDPC码校验矩阵的基矩阵的存储复杂度,即降低了LDPC码的校验矩阵的存储复杂度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的LDPC码校验矩阵的构造方法实施例一的流程图;
图2为本申请实施例提供的LDPC码校验矩阵的构造方法实施例一的另一流程图;
图3为本申请实施例提供的LDPC码校验矩阵的构造装置实施例二的结构示意图;
图4为本申请实施例提供的LDPC码校验矩阵的构造装置实施例二的另一结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案。下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
实施例一
本申请实施例提供的一种LDPC码校验矩阵的构造方法流程图如图1所示,所述构造方法基于Golomb-Ruler简称G集合;
Golomb-Ruler的定义为:设集合G={a1,a2,a3…am-1,am},a1<a2<a3<…am-1<am,对于任意i,j,k,l∈{1,2,3,…,m-1,m},当且仅当i=k并且j=l时,ai-aj=ak-al;那么,集合G叫做Golomb-Ruler。
集合G的阶是m,长度是am-a1;例如,{0,1,4,10,12,17}是一个6阶,长度为17的Golomb-Ruler。
对于Golomb-Ruler,具有如下性质:
对于任意ai,aj∈G,i≠j,均存在一集合S:{f(n)=ai-aj},n∈[a1-am,am-a1]中的元素各不相同。
采用反证法对Golomb-Ruler所具有的性质进行证明:
假设对于任意n1∈[a1-am,am-a1]、n2∈[a1-am,am-a1],n1≠n2,存在f(n1)=f(n2);不失一般性,假设f(n1)=ai1-aj1,f(n2)=ai2-aj2,i1≠i2,j1≠j2。由定义1可知,当且仅当i1=i2并且j1=j2时,ai1-aj1=ai2-aj2,即f(n1)=f(n2),此时,n1=n2;假设与Golomb-Ruler的定义相矛盾,命题得证。
对于构造LDPC码校验矩阵H的过程中,校验矩阵H不含长度为4的环的充要条件是:不失一般性,令j0<j1,l0<l1,由Golomb-Ruler的定义及其具有的性质可知即满足校验矩阵不含长度为4的环的条件;因此,基于Golomb-Ruler集合构造的LDPC码的校验矩阵的环长至少为6。
应用Golomb-Ruler构造LDPC码校验矩阵的方法包括:
步骤S101:依据所述LDPC码的应用参数确定所述LDPC码校验矩阵H的基矩阵B(γ,ρ)的行数γ与列数ρ;
依据LDPC码所应用领域的系统参数确定LDPC码校验矩阵H的基矩阵B(γ,ρ)的各个参数,包括基矩阵的行数γ与列数ρ;例如:γ=3,ρ=6,对应的基矩阵格式为B(3,6);
步骤S102:随机选择一阶数大于或等于ρ的集合Gs,所述
以步骤S101中的基矩阵B(3,6)为基础,随机选择一个阶数大于或等于6的集合Gs,所述集合Gs为一个Golomb-Ruler,具有Golomb-Ruler的全部性质;例如:Gs=G={0,1,4,10,12,17};
步骤S103;在所述集合Gs中随机选取ρ个元素,构成向量V=[b1,b2,…,bρ],bi∈Gs,i∈[1,ρ];
在集合Gs={0,1,4,10,12,17}中随机选6个元素,构成向量V=[0,1,4,10,12,17]。
步骤S104:将向量V循环右移q modρ次得到向量V的循环右移向量Vq,其中q为不小于0的整数;
例如q=2,则将向量V=[0,1,4,10,12,17]向右循环移动2次后得到V2=[4,10,12,17,0,1];
步骤S105:取γ个不同的q值,得到γ个向量V的循环右移向量,记为:V(1),V(2),…V(γ);
取γ=3,对应q值分别为0、2、4,则,对应的3个循环右移向量分别为:
V(1)=[0,1,4,10,12,17],V(2)=[4,10,12,17,0,1],V(3)=[12,17,0,1,4,10];
步骤S106:取V(i),i∈[1,γ]作为B(γ,ρ)的γ个行向量,得到LDPC码校验矩阵H的基矩阵B(γ,ρ);
将V(1)、V(2)、V(3)分别做为B(γ,ρ)的三个行向量,即得到基矩阵
步骤S107:对所述基矩阵B(γ,ρ)进行矩阵填充,构成所述LDPC码的校验矩阵H;
所述填充的过程如本申请实施例提供的图2所示,包括:
步骤S201:随机选择一尺寸为p×p的单位矩阵I(0);
选择单位矩阵时,校验矩阵H的尺寸和基矩阵B的尺寸都已确定好,将校验矩阵H的列数除以基矩阵B的列数,得到的值就是p的取值;
步骤S202:对所述单位矩阵I(0)进行pj,l次循环右移,获得单位矩阵I(0)的pj,l次循环右移矩阵I(pj,l);其中:0≤j≤γ-1;0≤l≤ρ-1;
步骤S203:将所述矩阵I(0)及I(pj,l)填充至基矩阵B(γ,ρ)中构成校验矩阵H;
本申请实施例中,在基矩阵为B(3,6)的基础上给出一单位矩阵I(0)如下:
基矩阵B(3,6)如下所示:
本申请实施例中单位矩阵选取的尺寸为20*20,基矩阵的尺寸为3*6,则扩展构造的校验矩阵尺寸为(3*20)*(6*20);
构造的校验矩阵H为:
其中,基矩阵的每一个位置给出了该位置对应的循环置换矩阵的循环右移次数。
通过上述构造过程可知,基于Golomb-Ruler构造LDPC码校验矩阵的基矩阵只需要存储一个行向量,基矩阵的每一行都可以有该行向量循环移位得到,因此,基于Golomb-Ruler构造尺寸为J×L的准循环LDPC码校验矩阵的基矩阵方法的存储复杂度为L,相对于现有技术中一些基于阵列方法构造基矩阵的过程其存储复杂度得到很大程度的降低,并且本申请实施例提供的方法随着构造的基矩阵的尺寸的增大,本发明带来的存储复杂度降低效果将逐渐明显。
同时,仿真结果表明,本发明构造的准循环LDPC码比阵列LDPC码有3dB左右的性能提升。
对于前述的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
实施例二
针对以上方法实施例,本申请实施例还提供一种LDPC码校验矩阵的构造装置,其结构示意图如图3所示,所述构造装置的应用过程基于集合G,所述集合G={a1,a2,a3…am-1,am},a1<a2<a3<…am-1<am,对于任意i,j,k,l∈{1,2,3,…,m-1,m},当且仅当i=k并且j=l时,ai-aj=ak-al;集合G的阶是m,长度是am-a1;
其中:对于任意ai,aj∈G,i≠j,均存在一集合S:{f(n)=ai-aj},n∈[a1-am,am-a1]中的元素各不相同;
所述装置包括:确定单元301、选择单元302、构成单元303、基矩阵构造单元304和填充单元305;
其中:
确定单元301,用于依据所述LDPC码的应用参数确定所述LDPC码校验矩阵H的基矩阵B(γ,ρ)的行数γ与列数ρ;
选择单元302,用于随机选择一阶数大于或等于ρ的集合Gs,所述
构成单元303,用于在所述集合Gs中随机选取ρ个元素,构成向量V=[b1,b2,…,bρ],bi∈Gs,i∈[1,ρ];
基矩阵构造单元304,用于将向量V循环右移q modρ次得到向量V的循环右移向量Vq,其中q为正整数;取γ个不同的q值,得到γ个向量V的循环右移向量,记为:V(1),V(2),…V(γ);取V(i),i∈[1,γ]作为B(γ,ρ)的γ个行向量,得到LDPC码校验矩阵H的基矩阵B(γ,ρ);
填充单元305,用于对所述基矩阵B(γ,ρ)进行矩阵填充,构成所述LDPC码的校验矩阵H。
对于填充单元305其内部结构如图4所示,包括:
单位矩阵选择子单元306,用于随机选择一尺寸为p×p的单位矩阵I(0);
循环右移子单元307,用于对所述单位矩阵I(0)进行pj,l次循环右移,获得单位矩阵I(0)的pj,l次循环右移矩阵I(pj,l);其中:0≤j≤γ-1;0≤l≤ρ-1;
填充子单元308,用于所述矩阵I(0)及I(pj,l)填充至基矩阵B(γ,ρ)中构成校验矩阵H。
对于系统实施例而言,由于其基本相应于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。以上所述仅是本申请的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。