公开/公告号CN101465974A
专利类型发明专利
公开/公告日2009-06-24
原文格式PDF
申请/专利权人 卓胜微电子(上海)有限公司;
申请/专利号CN200710094599.X
申请日2007-12-21
分类号H04N5/44(20060101);H04N7/24(20060101);
代理机构31211 上海浦一知识产权代理有限公司;
代理人丁纪铁
地址 201203 上海市浦东新区龙东大道3000号张江集电港5号楼701B室
入库时间 2023-12-17 22:14:42
法律状态公告日
法律状态信息
法律状态
2017-11-17
专利权人的姓名或者名称、地址的变更 IPC(主分类):H04N5/44 变更前: 变更后: 申请日:20071221
专利权人的姓名或者名称、地址的变更
2013-04-03
专利权的转移 IPC(主分类):H04N5/44 变更前: 变更后: 登记生效日:20130313 申请日:20071221
专利申请权、专利权的转移
2010-11-03
授权
授权
2009-08-19
实质审查的生效
实质审查的生效
2009-06-24
公开
公开
技术领域
本发明涉及数字电视地面广播传输领域,特别是涉及一种NR(Nordstrom-Robinson非线性码)码译码器的实现方法,可以用于符合中国数字电视地面广播传输的数字电视接收芯片,或者其他使用NR码的无线传输系统的接收芯片。
背景技术
NR码是一种高效实用的非线性码,它的构成有多种方式。
数字电视地面广播传输中国国家标准中有一种4QAM-NR映射方式,是在4QAM符号映射之前增加NR准正交编码映射。
NR准正交编码是将8个信息比特:X0X1X2X3X4X5X6X7(X0在前)映射为16个比特:X0X1X2X3X4X5X6X7Y0Y1Y2Y3Y4Y5Y6Y7。
其中,X0X1X2X3X4X5X6X7是信息比特,Y0Y1Y2Y3Y4Y5Y6Y7是衍生比特,取值均为0或者1,其约束关系满足下式:
Y0=X7+X6+X0+X1+X3+(X0+X4)(X1+X2+X3+X5)+(X1+X2)(X3+X5);
Y1=X7+X0+X1+X2+X4+(X1+X5)(X2+X3+X4+X6)+(X2+X3)(X4+X6);
Y2=X7+X1+X2+X3+X5+(X2+X6)(X3+X4+X5+X0)+(X3+X4)(X5+X0);
Y3=X7+X2+X3+X4+X6+(X3+X0)(X4+X5+X6+X1)+(X4+X5)(X6+X1);
Y4=X7+X3+X4+X5+X0+(X4+X1)(X5+X6+X0+X2)+(X5+X6)(X0+X2);
Y5=X7+X4+X5+X6+X1+(X5+X2)(X6+X0+X1+X3)+(X6+X0)(X1+X3);
Y6=X7+X5+X6+X0+X2+(X6+X3)(X0+X1+X2+X4)+(X0+X1)(X2+X4);
Y7=X0+X1+X2+X3+X4+X5+X6+X7+Y0+Y1+Y2+Y3+Y4+Y5+Y6。
上式中,加法为模二加运算,乘法为模二乘运算。
NR码(即“NR准正交编码”,以下描述中统一用“NR码”表示“NR准正交编码”)具有较好的相关特性,码表中的每一个码字与256个码字进行相关,产生的256个相关输出中有1个最大相关输出16,1个最小相关输出-16,有30个相关输出为0,其他相关值为+4或-4。
NR码的译码算法有很多,常用的有相关MAP(相关最大后验概率)译码和LOG-MAP(对数最大后验概率)译码算法。为了避免在有限域内的复杂译码,可以采用相对简单的相关MAP译码算法。将接收到的码字信息与256个本地码字进行并行相关运算,最大的正输出对应硬判决译码结果。
由于TPC(Turbo乘积码)、CTC(Turbo卷积码)、LDPC(低密度校验码)等十分先进的编码为了达到较好的译码效果,都是使用软输入软输出(SISO)的迭代译码算法;因此为了方便后端的SISO迭代译码,对256个相关运算结果进行分组,逐个寻找每位信息比特对应的竞争码字相关结果,从而可以得到每个信息比特的软判决译码输出结果。
采用上述算法,即使使用相对简单的相关MAP译码算法,由于需要将接收到的码字信息与码表中的全部256个码字进行相关,并逐个比较相关结果,计算量也相当大。
发明内容
本发明要解决的技术问题是提供一种非线性码译码器的实现方法,在相关MAP译码算法的基础上,能够大大减小加法和操作的个数。
为解决上述技术问题,本发明的非线性码译码器实现方法包括如下步骤:
第一步,接收码字软信息,利用树状加结构使其与NR码表中的全部256个码字相关,求出相关结果;
第二步,利用树状比较结构对相关结果进行穷尽比较,求出每个比特的软判决输出。
由于采用上述方法,能够大大减少加法器和比较器的个数。采用现有技术中的算法实现的未简化的译码器,每译一个码字需要15*256=3840次加法,和2*127*8=2032次比较;而采用本发明的方法实现的简化后的译码器,每译一个码字只需要254*2+128=636次加法,和254+510=764次比较。
附图说明
下面结合附图与具体实施方式对本发明作进一步详细的说明:
图1是本发明所述方法的流程图;
图2是本发明的方法中使用的树状加结构示意图;
图3是本发明的方法中使用的树状比较结构示意图。
具体实施方式
如图1所示,本发明的NR码译码器实现方法主要分为两步,第一步为接收码字软信息,并使其与码表中的所有码字相关,第二步为对相关结果进行比较,并求出软值。
在做相关时,由于码字的每一个比特都是+1或者-1,所以在相关操作中不需要乘法,只需要加法。
令(a0,a1,a2,a3,a4,a5,a6,a7,b0,b1,b2,b3,b4,b5,b6,b7)为接收的码字软信息,其中(a0,a1,a2,a3,a4,a5,a6,a7)为信息比特的软信息,(b0,b1,b2,b3,b4,b5,b6,b7)为校验比特的软信息。整个码字的相关可以分为信息比特部分的相关和校验比特部分的相关,可以用公式表示为:
Correlation_codeword=correlation_information_bits+correlation_check_bits其中,Correlation_codeword为整个码字所有比特相关,
correlation_information_bits为码字中信息比特相关,
correlation_check_bits为码字中校验比特相关。
可以证明NR码表中的256个码字是负对称的,因此只需要计算接收的码字软信息与NR码表中的前128个码字的相关,后128个码字相关的值可以表示为:
Correlation_second_half=-Correlation_first_half(128:-1:1)
其中,Correlation_second_half为前128个码字相关,
Correlation_first_half为后128个码字相关。
在做前128个码字的信息比特部分的相关和校验比特部分的相关时,使用图2中的树状加结构,可以归并许多加法运算,大大减少加法运算的次数。
前128个码字的信息比特部分的相关可以直接利用树状加结构求出。
前128个码字的校验比特部分的相关,计算过程如下:
(1)、利用树状加结构求出add_first_b(1:128);
(2)、令add_second_b=-add_first_b(128:-1:1);
(3)、将add_first_b和add_second_b组成一列向量add_b;
(4)根据下面表1中的重排序序号从add_b中取出128个值,作为前128个码字的校验比特部分的相关结果。
其中,add_first_b为校验比特相关在重排序前的前一半值,
add_second_b为校验比特相关在重排序前的后一半值,
add_b为校验比特相关在重排序前的所有值。
表1重排序序号
1,255,152,106,48,210,205,51,94,164,241,15,155,101,68,190,186,72,91,165,227,29,118,140,55,201,240,18,134,124,41,215,116,142,171,85,181,75,26,232,199,57,38,220,234,24,127,129,109,147,194,64,224,34,7,249,12,246,157,99,81,175,180,78,230,28,61,195,87,169,252,6,107,149,138,120,50,208,167,89,143,113,36,222,74,184,145,111,212,46,69,187,253,3,32,226,217,39,80,178,132,126,97,159,192,66,19,237,13,243,214,44,22,236,247,9,59,197,174,84,161,95,122,136,104,154,203,53
在计算每个比特的软判决输出时,要根据256个码字在该比特位的极性将相关结果分成两组,分别在两组中找到最大值,这两个最大值之间的差就可以作为该比特的软判决输出。每个比特计算软信息时,都需要256次比较,考虑到前面的比较结果可以用于后面的软值计算,因此可以利用图3中的树状比较结构,从而大大减少比较的次数。
将所有256个码字的相关值放在树状比较结构的最右边一列,也就是第7列。第n-1列的值通过第n列的一对相邻值比较大小求出,这样每列的值的个数依次减半,同样比较器的个数也会减半,用公式表示为:
...
...
例如,第6列的值可以通过第7列的值,按照下式求出:
...
...
然后依次可以求出第5,4,3,2,1,0列的值。对应比特Xn(即8个信息比特:X0X1X2X3X4X5X6X7)的软判决输出为将第n列中位置为1的所有值中最大值减去第n列中位置为0的所有值中最大值。
机译: 在维特比译码器的nT实现中更新LOLGIKELOODIO信息的方法,装置和系统
机译: 在维特比译码器的nT实现中确定1T路径等效信息的方法,装置和系统
机译: 有效读取和存储高速ACS维特比译码器实现中的状态量度的方法和装置。