发明内容
本发明所要解决的技术问题是针对现有技术的不足提供一种适用于导频通信系统的LDPC码信息位替换方法。
本发明的技术方案如下:
一种适用于导频通信系统的LDPC码信息位替换方法,首先计算任意信息节点所在长度为2l的环的个数,包括以下步骤:
计算M×N的LDPC码中环的算法:
A1以LDPC码对应二分图的任意信息节点vi作为树的根,得到树的第0层,其中0≤i≤N-1;
A2以vi的相邻的校验节点集合M(vi)作为vi的子节点,得到树的第1层,此时,vi为M(vi)中各元素的父节点;
A3对每个元素cj,cj∈M(vi),以集合L(cj)\vi作为cj的子节点,得到树的第2层,此时,cj为L(cj)\vi中各元素的父节点;其中,L(cj)\vi表示cj的除vi外所有的相邻的信息节点;
A4对每个元素vk,vk∈L(cj),以集合M(vk)\cj作为vk的子节点,得到树的第3层,此时,vk为M(vk)\cj中各元素的父节点;其中,M(vk)\cj表示vk的除cj外所有的相邻的信息节点;
A5跳到步骤c循环,直到构建完成第n层,此时得到以vi为根的树T,在树T中,以每个元素cj为根,cj∈M(vi),令t=|M(vi)|,可得到树T的子树T0、T1……T1-1,其中算子|X|表示集合X中元素的个数;
A6在树T的第l层,1<l≤n,当l为奇数,若有某节点cp出现两次,0<p≤M,cp分别属于子树Tx和Ty,其中0≤x,y≤t-1且x≠y,则信息节点vi包含于某长度为2l的环中;同理,当l为偶数,若有某节点vq出现两次,0<q≤N,vq属于不同的子树,信息节点vi包含于某长度为2l的环中;如此,查找第l层所有出现多次的节点,可得到信息节点vi所在的长度为2l的环的个数;
然后选择用于导频的信息节点编译码,具体步骤如下:
B1由生成矩阵确定用于信道编码的LDPC码中由信息位构成的信息节点集合M=(m1,m2...mk),其中k为此LDPC码的信息位个数;
B2查找mi所在的长度为n的环的个数cn,其中,i∈(0,1,...k),n∈(4,6,...2s);
B3计算mi所在环的加权和:
其中,i∈(0,1,...k);
B4对wi按从大到小的顺序排序,i∈(0,1,...k);
B5若每帧中导频的位数为u,每帧包含v个LDPC码字,选择wi最大的前u/v个信息节点mi,构成集合N;
B6根据集合N,确定其对应的待编码的信息矢量中的各信息位的集合L,其中,|N|=|L|=u/v;
B7在发端,把集合L中的各元素作为导频信息,其值为已知定值,信道编码后,这些元素形成信息节点集合N,从而N中元素也为已知信息;
B8在收端,把N中各元素代以已知导频信息进行译码。
在通信系统中,导频是一种很常用的符号同步、信道估计方式,其不可避免的降低信道带宽利用率。低密度校验码(LDPC码)的译码算法基于消息传递,其中环的存在使各信息节点和校验节点间传递信息不能完全独立,在环较小时可能造成译码失败。由此,本发明提出在使用LDPC码作为信道编码的通信系统中,一种确定各信息节点所在不同长度的环的个数的方法,并在此基础上,进一步提出寻找LDPC码中较小环分布较广的由信息位生成的信息节点,以确定的初始值进行替换,并把这些信息节点作为导频进行传输的方法。实验表明,选定的(1000,500)的LDPC码在50个信息位改作导频,从而码率降低的代价下,设定最大迭代次数为10,在信噪比为3.1dB时误码率能提高大约两个数量级。
具体实施方式
以下结合具体实施例,对本发明进行详细说明。
1信息节点环的确定
要对较小环分布广泛的信息节点进行已知初值替换,以其作为导频,需首先确定各信息节点所在的不同长度的环的分布情况。文献[文红,符初生,周亮.LDPC码原理与应用[M].成都:电子科技大学出版社,2006.]给出了一种计算环的树图方法,其基本思想是以某信息节点为根,其相邻的校验节点作为分枝,与这些校验节点相邻的信息节点作为这些校验节点各节点的分枝……如此,校验矩阵可构成树。从而,查找树中各相同节点,根据相同节点间路径的长度得出各节点所在的环。但是,该方法存在两个问题:首先,校验矩阵中的各节点不一定连通,从而必须遍历整棵树,确认树中是否包括全部节点,否则,用森林来完整的表示该校验矩阵;更重要的是,节点可能通过完全相同的路径返回本身,从而造成病态路径。
基于此,本发明提出一种改进方法,以每个信息节点为根构造树,能准确的计算该信息节点所在不同长度的环的个数。计算M×N的LDPC码中环的算法如图1所示:
A1以LDPC码对应二分图的任意信息节点vi作为树的根,得到树的第0层,其中0≤i≤N-1;
A2以vi的相邻的校验节点集合M(vi)作为vi的子节点,得到树的第1层,此时,vi为M(vi)中各元素的父节点;
A3对每个元素cj(cj∈M(vi)),以集合L(cj)\vi作为cj的子节点,得到树的第2层,此时,cj为L(cj)\vi中各元素的父节点。其中,L(cj)\vi表示cj的除vi外所有的相邻的信息节点;
A4对每个元素vk(vk∈L(cj)),以集合M(vk)\cj作为vk的子节点,得到树的第3层,此时,vk为M(vk)\cj中各元素的父节点。其中,M(vk)\cj表示vk的除cj外所有的相邻的信息节点;
A5跳到步骤c循环,直到构建完成第n层,此时得到以vi为根的树T,如图2所示。在树T中,以每个元素cj(cj∈M(vi))为根,令t=|M(vi)|,可得到树T的子树T0、T1……Tt-1,其中算子|X|表示集合X中元素的个数;
A6在树T的第l层(1<l≤n),当l为奇数,若有某节点cp(0<p≤M)出现两次,cp分别属于子树Tx和Ty,其中0≤x,y≤t-1且x≠y,则信息节点vi包含于某长度为2l的环中。同理,当l为偶数,若有某节点vq(0<q≤N)出现两次,va属于不同的子树,信息节点vi包含于某长度为2l的环中。如此,查找第l层所有出现多次的节点,可得到信息节点vi所在的长度为2l的环的个数。
由此算法可见,随着搜索vi所在环的大小的增加,算法复杂度呈几何级数增长,因此,应根据需要设定待搜索的各信息节点构成的树的深度。
2作为导频的信息节点确定
BP算法的每次迭代包括水平运算和垂直运算两步,在一次迭代过程中,信息节点的信息被传送到与之相邻的校验节点,再传递给与这些校验节点相邻的信息节点。从环的角度,一次迭代的过程相当于信息在环的具有同一顶点(校验节点)的两条边上的传递。因此,若某信息节点在一长度为l的环中,则其在l/2次迭代后,该信息节点的信息会经此环传递回该节点本身。
由此可见,在译码过程中,环越小,则信息节点的信息传递回本身的次数就越多。若译码迭代次数设定为s,则当某信息节点包含于长度为4的环,其传递回本身的次数为Int[s/2](算子Int[x]表示对变量x取整);该信息节点包含于长度为6的环,其传递回本身的次数为Int[s/3]……包含于长度为2s的环时,其传递回本身的次数为1;当该信息节点包含于长度大于2s的环时,信息不发生自相关,此时即相当于译码时无环的状况。如此,在选择译码相关性强的信息节点时,应对该节点包含于长度不同的环选择不同的权重,从以上分析可见,对长度为4的环可选择权重为1/2,长度为6的环选择权重为1/3,长度为8的环选择权重为1/4……当该节点所包含的环长度大于设定迭代次数两倍时,其环不用再行考虑,相当于选择为0,此时可完全等效于最大似然译码。选择用于导频的信息节点编译码时,算法如图3所示:
B1由生成矩阵确定用于信道编码的LDPC码中由信息位构成的信息节点集合M=(m1,m2...mk),其中k为此LDPC码的信息位个数;
B2查找mi所在的长度为n的环的个数cn,其中,i∈(0,1,...k),n∈(4,6,...2s);
B3计算mi所在环的加权和:
其中,i∈(0,1,...k);
B4对wi按从大到小的顺序排序,i∈(0,1,...k);
B5若每帧中导频的位数为u,每帧包含v个LDPC码字,选择wi最大的前u/v个信息节点mi,构成集合N;
B6根据集合N,确定其对应的待编码的信息矢量中的各信息位的集合L,其中,|N|=|L|=u/v;
B7在发端,把集合L中的各元素作为导频信息,其值为已知定值,信道编码后,这些元素形成信息节点集合N,从而N中元素也为已知信息;
B8在收端,把N中各元素代以已知导频信息进行译码。
由此可见,在译码时,用于信道编码的LDPC码中一部分信息节点为导频已知信息,其通过“波浪效应”可传递给相邻的信息节点,有利于LDPC码的译码。但因为已知信息的加入,编码效率相应降低,若原码长为n,码率为η,则当前码率为:
3仿真
本发明中仿真都在AWGN信道条件下进行,使用BP算法译码,最大迭代次数设置为10次。
选择Mackay构造随机LDPC码的方法构造(1000,500)编码[MackayDJC.Encyclopedia of Sparse Graph Codes[EB/OL].Available:http://www.inference.phy.cam.ac.uk/mackay/codes/data.html.],其仿真性能如图4中标注为Original的曲线所示。
设定待替换为导频信息的信息节点的个数为50,为各信息位对应的信息节点构造深度为20的树T,选择环分布加权和最大的50个信息位代入固定值进行编译码,不失一般,把这些信息位都代入为1,得到如图4中标注为Pilot的性能曲线所示。此时,LDPC码的实际码率由0.5降低为0.45。
另外,随机选择信息位对应的信息节点50个,代以固定值”1”,在二进制移相键控(BPSK)调制情况下,仿真得到如图4中标注为Random的性能曲线所示。
由图4可见,Pilot曲线和Random曲线因为LDPC码码率的降低,性能都优于原LDPC码。但Pilot曲线因为针对较小环分布广泛的信息节点进行替换,其比随机替换的信息节点具有更好的性能,在信噪比为3.1dB时误码率能提高近于两个数量级。
本发明提出了一种对采用导频和LDPC码的通信系统,首先确认其所用LDPC码具有广泛小环分布的信息节点集合,进而代以确定值,并以其为通信系统的导频的方法。实验表明,因无需单独安排已知数据位作为系统导频,系统可在不增加冗余的情况下提高信道译码性能。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。