专利名称:Ldpc译码方法及译码器的制作方法
技术领域:
本发明涉及低密度奇偶校验(Low Density Parity Check)译码,
更具体地,涉及一种LDPC译码方法及译码器,用于高速无线系统 或其它场合。
背景技术:
低密度奇偶校验(Low Density Parity Check, LDPC)码是一类 具有稀疏校验矩阵的线性分组码,不仅有逼近Shannon限的良好性 能,而且译码复杂度较低,结构灵活,是近年信道编码领域的研究热 点,目前己广泛应用于深空通信、光纤通信、卫星数字视频和音频广 播等领域。此外,LDPC码已成为第四代通信系统(4G)强有力的竞争 者。本申请涉及LDPC译码器在硬件中的实现,特别是在FPGA、 或现场可编程门阵列器件的实现。
在硬件实现LDPC译码器之前,首先要解决的技术问题是对校 验节点的变换函数进行近似处理,而不同的近似处理会导致不同的实 现精度与实现复杂度。因此,必须在实现精度与实现复杂度这两者之 间进行折中处理。
下面给出根据现有技术的LDPC和积(SP)译码算法。如图1 和2所示,标准SP算法可描述为
初始化首先,对变量节点到校验节点(mv2c)信息以及校验 节点消息(Qc)进行初始化。其中mv2c信息保存边沿信息,而Qc 消息保存来自所有变量节点的信息和。在初始化中,将mv2c初始化 为变量节点的先验知识,即,对数似然比yv。利用变换函数F(x)与yv 对校验节点消息进行初始化,-
迭代译码利用变换函数F (X)及其反函数F"(X),通过迭代来计算所有变
量节点n以及计算所有校验节点m; 译码判决
进行后验信息计算和判决输出。
可以看出,F(x)与F、x)两个变换函数是LDPC和积译码算法 中两个非常重要的函数,F(x)与F、x)这两个函数互为反函数,且表 达式相同,它们均可以表达为^g2(^ + i)/(^-1》。直接实现这个函数 对于FPGA来说是几乎不可能的。因此对这个函数的近似处理的研 究一直在继续。
下文给出了一种较为常见的一种近似方法。该近似方法的近似过 程包括
1. 首先计算并近似得到
F一i(jc) = F—'( (x),|x|) = *[C2 — (y/oor)log2(|;c|)]
2. 然后,对近似后结果进行累加
力F-1 (x,)=力(—1),") *[C2 - log2(|x,I)]
,=1 ,=1
以上方法比较简单,但是它也较大地损伤了性能。其原因在于
1. 在计算F、X)时,近似方法被使用一次,这引入一定的误差; 在第二个计算时进行了累加处理,所以误差在最坏的情况下也随之线 性增加。随着n的增加,在某些场合下使用它性能有可能是无法接受 的;
2. 函数(,or)log,也是近似处理的当一个数使用二进制表示时,
它返回从MSB到LSB方向第一个不为O比特的位置,如 (floor)log2(0011 1000)=5。这种近似处理比较容易实现,但是它没有 考虑次低比特位置上不为O比特的影响,例如(floor)log2(0011 1000) 是5,而(floor)log2(0010 0000)也是5,所以这种近似方法不够 精确。鉴于这种情况,本文提出了一种在LDPC译码中校验节点的处理
方法,有效地克服现有技术存在的不足,并且容易在FPGA上编程
实现。
发明内容
本发明提供了一种低密度奇偶校验码译码方法,包括步骤对变
量节点到校验节点mv2c信息以及校验节点消息Qc进行初始化;利 用变换函数F(x)的反函数P1(x),通过迭代来计算变量节点n以及校
验节点m;进行后验信息计算和判决输出,其中,对所述反函数F、X)
进行累加求和,并对累加求和的结果进行近似处理。 根据本发明的另一方面,提供了一种低密度奇偶校验码译码器,
包括初始化模块,对变量节点到校验节点mv2c信息以及校验节点
消息QC进行初始化;迭代译码模块,利用变换函数F(X)的反函数P 1(x),通过迭代来计算变量节点n以及校验节点m;判决模块,进行
后验信息计算和判决输出,其中,在所述迭代译码模块中,对所述反
函数F人x)进行累加求和,并对累加求和的结果进行近似处理。
利用本发明,能够在FPGA或硬件电路中实现LDPC码译码中有
关变换函数的计算,提高了系统性能。
图1示出了 LDPC译码的框架;
图2示出了标准和积算法的译码算法;
图3示出了根据本发明的译码器的方框图4示出了本发明与现有技术近似方法对于浮点函数拟合的性能 比较(n为6, (32为6);
图5示出了本发明与现有技术近似方法对于浮点函数拟合的性能 比较(n为20, 。2为6);
图6示出了本发明与现有技术近似方法对于浮点函数拟合的性能 比较(n为6, 。2为8);图7示出了本发明与现有技术近似方法对于浮点函数拟合的性能
比较(n为6, q为10);
具体实施例方式
如图3所示,根据本发明的LDPC译码器10可以包括初始化模 块11、迭代译码模块12以及判决模块13。下面将参考图1-3来详细 描述根据本发明的LDPC译码方法。
首先,在初始化模块11中,对变量节点到校验节点mv2c信息 以及校验节点消息Qc进行初始化。其中mv2c信息保存边沿信息, 而Qc消息保存来自所有变量节点的信息和。在初始化中,将mv2c 初始化为变量节点的先验知识,即,对数似然比y^利用变换函数F(x) 与y,对校验节点消息进行初始化。
接下来,在迭代译码模块12中,利用变换函数F(x)及其反函数 F、x),通过迭代来计算所有变量节点n以及所有校验节点m。其中, 如图2所示,信息节点接收到的所有信息S可以表示为
'(Q广F(mvc》
ceN(v)
将利用S和变换函数F(x)及其反函数F、x)来计算变量节点和校 验节点的信息。根据本发明,在所述迭代译码模块中,对反函数F、x) 进行累加求和,并对累加求和的结果进行近似处理。下文将对根据本 发明的反函数F-乂x)的计算进行详细描述。
最后,在判决模块13,进行后验信息计算和判决输出。
下面将对计算反函数F、x)累加和的近似处理进行详细描述。
根据现有技术的方法,可以得到 F-' (x)=厂1 (*"W,|x|) = (—* [C2 - (/7離)log2
以及
t F-' (x,)=力(一i),") * [c2 — (y/縱)iog2 (卜,|)],在根据本发明的改进方法中,并不逐个对F、X)进行近似,而是 先进行累计求和,在累加求和基础上进行有效近似处理
力厂1 (x,) = X[(-l)她)*C2] - W離)》。g2(|《 )]
':".)公式(1)
=t [(-1),") * c2 ] - (y/。。r) i。g2 (n卜,r'一)]
不妨假设
a) ^'为正(符号位位0),''从1到"';
b) ^为负(符号位位1), z从","到"。
对于、,W可以被表达为二进制形式 |x,| = 2A x + 2Pi—1 x _i + 2P',2 x _2 +…+ "o
这里应当注意,a的取值为0或者1,是一个数表示为二进制数 时对应比特位置上的值;p为对应的比特位置的索引;C是一个预设 定好的常数,n是与变量节点有连接的校验节点的数目。在二进制表
达式中,多个因子"p,, .-',…,"。中,""'为1,其它因子可以为 1或者为0。
如果近似W为x、 ' x"W),即只使用其高两阶表达式 (2P' x + 2" x —,),然后公式(1 )可以近似表达为
f[(2、f x —,) |>-'(x,) = t[(-l)、'g"")*C2]-C/7o。01og2(^-)]公式(2)而公式(2)的分子分母,即 f[(2P'x +2"-'与
f](2P'x +2^ ,如果只使用其高两阶因子,公式(2)可以进一
'=",+1 '
步简化为
'、 ", 公式(3)
-[!>- !>+( g"i+a5xix-i) g"i+a5x
/=i/,+i '=1 '=",+1
在公式(3)中,加法器、(floor)log2与0.5的乘法均可以很容易在FPGA 或硬件电路中实现。
为了证明本发明所取得的性能增益,本发明提供了计算机仿真结 果,进行了 4种不同参数设置的仿真。
仿真1中n设置为6, 。2设置为6。仿真2中n设置为20, C2 设置为6。仿真3中n设置为6, C2设置为8。仿真4中n设置为6, 〇2设置为10。比较当前近似方法和提出的方法的在实现累加后性能 的比较,其性能参照浮点的性能,具体仿真结果参照图4、 5、 6和7。
从图4、 5、 6和7中可以看出,提出的方法相对于当前方法拟 合的更好,更接近浮点函数累加后的值。
权利要求
1.一种低密度奇偶校验码译码方法,包括步骤对变量节点到校验节点mv2c信息以及校验节点消息Qc进行初始化;利用变换函数F(x)的反函数F-1(×),通过迭代来计算变量节点n以及校验节点m;进行后验信息计算和判决输出,其中,对所述反函数F-1(x)进行累加求和,并对累加求和的结果进行近似处理。
2. 根据权利要求1所述的方法,其特征在于,利用变量的二进制 形式对累加求和的结果进行近似处理。
3. 根据权利要求2所述的方法,其特征在于,利用以下公式对累 加求和的结果进行近似处理ZD =力(-*C2]-[|>, - |>, +C/7。。/)l。g2(l+O.5x|]Vl)-C/7。。01。g2(l+O.5x iX』其中,a的取值为0或1,是当一个数表示为二进制数时对应比特位 置上的值;p为对应的比特位置的索引;C是一个预设定好的常数, n是与变量节点有连接的校验节点的数目。
4. 一种低密度奇偶校验码译码器,包括初始化模块,对变量节点到校验节点mv2c信息以及校验节点 消息Qc进行初始化-,迭代译码模块,利用变换函数F(x)的反函数F"(x),通过迭代 来计算变量节点n以及校验节点m;判决模块,进行后验信息计算和判决输出, 其中,在所述迭代译码模块中,对所述反函数F-、x)进行累加求 和,并对累加求和的结果进行近似处理。
5. 根据权利要求4所述的译码器,其特征在于,在所述迭代译码 模块中,利用变量的二进制形式对累加求和的结果进行近似处理。
6. 根据权利要求5所述的方法,其特征在于,在所述迭代译码模块中,利用以下公式对累加求和的结果进行近似处理/=力[(一D.、'-,) *C2]—[|>, — ^>,. +C/7OW)lo&(l+0.5x|X—,)—C/7oo力lo&(l+0,5x i^,,)]其中,a的取值为0或者1,是一个数表示为二进制数时对应比特位 置上的值;p为对应的比特位置的索引;C是一个预设定好的常数, n是与变量节点有连接的校验节点的数目。
全文摘要
一种低密度奇偶校验码译码方法,包括步骤对变量节点到校验节点mv2c信息以及校验节点消息Qc进行初始化;利用变换函数F(x)的反函数F<sup>-1</sup>(x),通过迭代来计算变量节点n以及校验节点m;进行后验信息计算和判决输出,其中,对所述反函数F<sup>-1</sup>(x)进行累加求和,并对累加求和的结果进行近似处理。利用本发明,能够在FPGA或硬件电路中实现LDPC码译码中有关变换函数的计算,提高了系统性能。
文档编号H03M13/11GK101552612SQ20081009184
公开日2009年10月7日 申请日期2008年4月3日 优先权日2008年4月3日
发明者伟 白, 黄周松 申请人:三星电子株式会社;北京三星通信技术研究有限公司