本发明涉及空时编码和信道编码技术领域,尤其涉及一种ldpc的基于sor的联合迭代检测译码方法及系统。
背景技术:
面对5g对于通信需求,传输速率,可靠性和频谱利用率都有很大需求。大规模多输入多输出(multiple-inputmultiple-output,mimo)面对该挑战,可以帮助提高传输速率和频谱利用率。而低密度奇偶校验码(lowdensityparitycheckcode,ldpc)长时间作为通信协议中的标准码,其对差错控制的可靠性一度得到认可。最近,ldpc又被确定为5g中长码标准。
技术实现要素:
发明目的:为了满足一些对误码率有更高要求的场合,本发明提出了ldpc编码的大规模mimo的基于超松弛迭代(successiveoverrelaxation,sor)检测联合迭代检测译码方法及系统。该发明通过将大规模mimo的sor检测和ldpc译码结合,从而使得误码率降低,并且提高收敛速度。
技术方案:本发明所述的基于sor的ldpc译码方法包括:
(1)对信道矩阵h和接收信号y进行预处理,得到匹配滤波器输出ymf=hhy和mmse滤波矩阵w=g+σ2im,并将w分解为w=d+l+lh;其中,g表示gram矩阵,且g=hhh,σ2为噪声方差,im为单位阵,(.)h为共轭转置操作,d为对角阵,l为下三角阵;
(2)设置迭代次数k=1;
(3)将匹配滤波器输出ymf、mmse滤波矩阵分解结果d、l和lh以及修正因子ω作为输入,采用sor算法更新得到第k次迭代时待检测信号估计结果sk;其中,sor迭代公式为
式中,()k表示第k次迭代对应的值,s0为全0向量;
(4)通过map模块将待检测信号估计结果转化为比特概率的对数似然比;
(5)采用转换的对数似然比初始化ldpc中变量节点j的固有信息
(6)根据下式计算第k次迭代时校验节点i向变量节点j传输的信息
式中,j=1,2,...,n,i=1,2,...,m,n(i)表示所有与校验节点i连接的变量节点的集合,
(7)根据
式中,j=1,2,...,n,i=1,2,...,m,m(j)表示所有与变量节点j连接的校验节点的集合;
(8)通过map-1模块将变量节点j的固有信息
sk=αsk+βδsk
式中,α、β是加权系数,并满足α+β=1;
(9)将k值加1,并返回步骤(3)进行迭代,直至达到预设次数;并做硬判决然后输出对码字的估计,判决方法为:如果lj大于0,则第j个比特为0,否则第j个比特为1。
其中,步骤(4)具体包括:
(4-1)采用下式计算sk是由第u个符号发射得来的概率
式中,sk(h)表示sk的第h个符号,cu表示第u个符号;
(4-2)根据上式计算得到p(0)和p(1),并采用ln(p(0)/p(1))计算得到对数似然比。
本发明所述的基于sor的ldpc译码系统包括:
匹配滤波器单元,用于对信道矩阵h和接收信号y进行预处理,得到匹配滤波器输出ymf=hhy;
gram矩阵计算单元,用于根据信道矩阵h计算得到gram矩阵g=hhh;
mmse滤波矩阵计算单元,用于计算得到mse滤波矩阵w=g+σ2im,其中,σ2为噪声方差,im为单位阵;
mmse滤波矩阵分解单元,用于将w分解为w=d+l+lh;其中,(.)h为共轭转置操作,d为对角阵,l为下三角阵;
sor迭代单元,用于将匹配滤波器输出ymf、mmse滤波矩阵分解结果d、l和lh以及修正因子ω作为输入,采用sor算法更新得到第k次迭代时待检测信号估计结果sk;其中,sor迭代公式为
式中,()k表示第k次迭代对应的值,s0为全0向量;
map模块,用于将待检测信号估计结果转化为比特概率的对数似然比;
变量节点,用于采用转换的对数似然比初始化ldpc中变量节点j的固有信息
校验节点,用于根据下式计算第k次迭代时校验节点i向变量节点j传输的信息
式中,j=1,2,...,n,i=1,2,...,m,n(i)表示所有与校验节点i连接的变量节点的集合,
变量节点,还用于根据rij采用下式对变量节点j的固有信息
式中,j=1,2,...,n,i=1,2,...,m,m(j)表示所有与变量节点j连接的校验节点的集合;
map-1模块,用于将变量节点j的固有信息
sk=αsk+βδsk
式中,α、β是加权系数,并满足α+β=1;
循环迭代执行模块,用于将k值加1,并返回sor迭代单元,按顺序进行迭代,直至达到预设次数;
判决单元,用于硬判决然后输出对码字的估计,判决方法为:如果lj大于0,则第j个比特为0,否则第j个比特为1。
进一步的,map模块具体用于:
采用下式计算sk是由第u个符号发射得来的概率
式中,sk(h)表示sk的第h个符号,cu表示第u个符号;
根据上式计算得到p(0)和p(1),并采用ln(p(0)/p(1))计算得到对数似然比。
有益效果:本发明与现有技术相比,其显著优点是:本发明通过把sor检测ldpc译码联合起来,把sor检测快速的优势和ldpc译码准确的优势结合,并进一步提高,取得一加一大于二的效果。传统分离检测译码(separateddetectionanddecoding,sdd),仅仅是把sor检测若干次迭代后的结果送给ldpc译码器译码。而本发明通过把ldpc译码器输出的概率信息再传回给sor进行再次迭代,在不增加时间复杂的条件下取得更好的差错性能。
附图说明
图1是本发明的信道模型框图;
图2是本发明的译码系统整体架构;
图3是本发明的sor检测模块的框图;
图4是本发明的时序图。
具体实施方式
信道模型
本部分着重介绍本实施例所适用的模型,如图1所示。在极化码编码的mimo系统中,需要传输的一串比特会首先被ldpc码编码。设码长为n,信息位长度为k,ldpc码编码过程可以表示为
x=gu
其中x是n×1的编码后的序列,u是k×1的信息比特序列,g是n×n的生成矩阵。x经过mimo发射端调制映射后变成符号序列s通过mimo天线阵列传输,mimo规格为nt发射信道nr接收信道,w-qam调制,调制后信号为
上式中接收向量
y=hs+w
式中接收向量y是2nr×1的复向量,h是2nr×2nt的信道矩阵,s是2nt×1的发送向量,w是2nr×1的信道噪声服从n~(0,σ2)分布。
因此译码的整个过程就是通过y解u的过程。
译码方法
本实施例提供了一种基于sor的ldpc译码方法,包括以下步骤:
(1)对信道矩阵h和接收信号y进行预处理,得到匹配滤波器输出ymf=hhy和mmse滤波矩阵w=g+σ2im,并将w分解为w=d+l+lh;其中,g表示gram矩阵,且g=hhh,σ2为噪声方差,im为单位阵,(.)h为共轭转置操作,d为对角阵,l为下三角阵。
(2)设置迭代次数k=1。
(3)如图2所示,将匹配滤波器输出ymf、mmse滤波矩阵分解结果d、l和lh以及修正因子ω作为输入,采用sor算法更新得到待检测信号估计结果sk;其中,sor迭代公式为
式中,()k表示第k次迭代对应的值,s0为全0向量,修正因子ω取值范围为1<ω<2。
(4)通过map模块将待检测信号估计结果转化为比特概率的对数似然比。
该步骤具体包括:(4-1)采用下式计算sk是由第u个符号发射得来的概率
式中,sk(h)表示sk的第h个符号,cu表示第u个符号;
(4-2)根据上式计算得到p(0)和p(1),并采用ln(p(0)/p(1))计算得到对数似然比。
(5)采用转换的对数似然比初始化ldpc中变量节点j的固有信息
(6)根据下式计算校验节点i向变量节点j传输的信息rij:
式中,j=1,2,...,n,i=1,2,...,m,n(i)表示所有与校验节点i连接的变量节点的集合,
(7)根据rij采用下式对变量节点j的固有信息
式中,j=1,2,...,n,i=1,2,...,m,m(j)表示所有与变量节点j连接的校验节点的集合。
(8)通过map-1模块将变量节点j的固有信息
sk=αsk+βδsk
式中,α、β是加权系数,并满足α+β=1,map-1模块是map模块的逆运算。
(9)将k值加1,并返回步骤(3)进行迭代,直至达到预设次数;并做硬判决然后输出对码字的估计,判决方法为:如果lj大于0,则第j个比特为0,否则第j个比特为1。
译码系统
本实施例提供了一种基于sor的ldpc译码系统,如图3所示,包括:
匹配滤波器单元,用于对信道矩阵h和接收信号y进行预处理,得到匹配滤波器输出ymf=hhy。
gram矩阵计算单元,用于根据信道矩阵h计算得到gram矩阵g=hhh。
mmse滤波矩阵计算单元,用于计算得到mse滤波矩阵w=g+σ2im,其中,σ2为噪声方差,im为单位阵。
mmse滤波矩阵分解单元,用于将w分解为w=d+l+lh;其中,(.)h为共轭转置操作,d为对角阵,l为下三角阵。
sor迭代单元,用于将匹配滤波器输出ymf、mmse滤波矩阵分解结果d、l和lh以及修正因子ω作为输入,采用sor算法迭代更新得到待检测信号估计结果sk;其中,sor迭代公式为
式中,()k表示第k次迭代对应的值,s0为全0向量;
sor算法的实现架构包括:
第1乘法单元:输入为d和1/ω,输出为d/ω
第2乘法单元:输入为d和1-1/ω,输出为d(1-1/ω)
第3乘法单元:输入为d(1-1/ω)-lh和sk-1,输出为(d(1-1/ω)-lh)sk-1
第4乘法单元:输入为((1/ω-1)d-lh)sk-1+ymf和(d/ω+l)-1,输出为
第1加法单元:输入为l和d/ω,输出为l+d/ω;
第2加法单元:输入为d(1-1/ω)和-lh,输出为d(1-1/ω)-lh;
第3加法单元:输入为ymf和((1/ω-1)d-lh)sk-1,输出为((1/ω-1)d-lh)sk-1+ymf
求逆单元:输入为(d/ω+l)输出为(d/ω+l)-1。
map模块,用于将待检测信号估计结果转化为比特概率的对数似然比;具体用于:采用下式计算sk是由第u个符号发射得来的概率
变量节点,用于采用转换的对数似然比初始化ldpc中变量节点j的固有信息
校验节点,用于根据下式计算校验节点i向变量节点j传输的信息rij:
式中,j=1,2,...,n,i=1,2,...,m,n(i)表示所有与校验节点i连接的变量节点的集合,
变量节点,还用于根据
式中,j=1,2,...,n,i=1,2,...,m,m(j)表示所有与变量节点j连接的校验节点的集合。
map-1模块,用于将变量节点j的固有信息
sk=αsk+βδsk
式中,α、β是加权系数,并满足α+β=1;其中,map-1模块是map模块的逆运算。
循环迭代执行模块,用于将k值加1,并返回sor迭代单元,按顺序进行迭代,直至达到预设次数。
判决单元,用于硬判决然后输出对码字的估计,判决方法为:如果lj大于0,则第j个比特为0,否则第j个比特为1。
时序
为了提高系统吞吐率,本发明采用如下方法。由于该算法是由检测和译码交替进行而来,系统可以对两次接收向量并行处理。在接收向量a的在做检测时,接收向量b可以做译码;在下一时刻a可以做译码,b可以检测。具体如图4所示。
以上所揭露的仅为本发明一种较佳实施例而已,不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。