用于降低复杂度的低密度奇偶校验解码的系统和方法

文档序号:7657764阅读:109来源:国知局
专利名称:用于降低复杂度的低密度奇偶校验解码的系统和方法
技术领域
这里所描述的实施例涉及用于低密度奇偶校验解码的方法,并且更具体地,涉及降低低密度奇偶校验解码器的复杂度的方法。
背景技术
低密度奇偶校验(LDPC)码是一种纠错码,其提供了用于通过有噪声的传输信道发送消息的方法。尽管LDPC技术不能保证完美的传输,但是可以使丢失信息的概率变得非常小。事实上,LDPC码是第一个非常接近香农极限(Shannon Limit)理论最大值的速率传输数据的码。LDPC技术使用稀疏奇偶校验矩阵(例如大部分为零的矩阵),因此将其术语化为低密度。该稀疏矩阵是以稀疏约束为条件而随机生成的。
可以将LDPC码定义为矩阵和图形两种形式。LDPC矩阵将具有一定行数(M)和列数(N)。也可以通过每行中1的数目(wr)和每列中1的数目(wc)来定义该矩阵。对于被认为是低密度的矩阵,应满足下面的条件wc<<N且wr<<M。LDPC矩阵可以是正则(regular)的或非正则(irregular)的。在正则LDPC矩阵中,对于每列来说,wc是固定的,且wr=wc*(M/N)对于每行来说也是固定的。如果矩阵是低密度的,但是每行或每列中的1的数目不是固定的,则将这样的代码称为非正则LDPC码。
可以理解通过其相应的Tanner图来图形化地定义所述LDPC码。这样的图不只提供对代码的完整描述,其也有助于描述下面将更详细解释的解码算法。Tanner图包括节点和边(edge)。所述节点被分成两个不同的组或类型,并且所述边连接两个不同类型的节点。Tanner图中的两类节点被称为变量节点(v-节点)和校验节点(c-节点)(或奇偶节点)。因而,Tanner图将包括M个校验节点(奇偶位的数目)和N个变量节点(码字中的位数)。然后,如果在LDPC矩阵的相应元素中存在1,则将校验节点连接到变量节点。
可以将信息位的数目描述为(K)。然后,可以根据下述来定义生成矩阵(Generator Matrix)(GK×N)
cN×1=GN×KdK×1,其中dK×1=消息或数据字,以及cN×1=码字。
可以看出,通过将消息乘以生成矩阵而生成码字cN×1。下标是矩阵注释,分别指代行数和列数。因而,数据字和码字可以被表示为分别具有K行和N行的单列矩阵。
奇偶校验矩阵可以被定义为HM×NcN×1=0。
因此,图1是用于说明包括发送器和接收器的系统100的图。为了简单,只示出了发送器部分102和接收器部分110。参考图1,编码器104通过应用生成矩阵GK×N而将数据字dK×1转换成码字cN×1。可以配置调制器106,以便然后将码字cN×1调制到载波上,从而使得该码字可以通过信道108被无线发送到接收器。
在接收器部分110中,可以将解调器112配置为从所接收的信号中除去载波;然而,信道108将增加信道效应和噪声,这样,由解调器112产生的信号可以具有下述形式rN×1=2/σ2(1-2cN×1)+wN×1,其中r是多级信号。作为噪声和信道效应的结果,某些数据位d在传输中将丢失。为了尽可能多地恢复数据,可以将解码器114配置为使用奇偶校验矩阵HM×N来产生数据的估计d’K×1,该估计d’K×1非常接近于原始数据dK×1。应当理解,解码器114可以是硬判决解码器或软判决解码器。软判决解码器是更准确的,但是通常也需要更多资源。
为了说明LDPC码的运算,描述下面的示例H3×6=101010010101110001]]>如可以看到的,该示范性奇偶校验矩阵H是低密度或稀疏的。矩阵H的第一行定义了第一奇偶校验节点或等式。如可以看到的,第一奇偶校验节点将校验所接收的样本r0、r2、和r4,记住,r是由接收器中的解调器112产生的多级(multilevel)信号。第二奇偶校验节点(即H的第二行)校验所接收的样本r1、r3、和r5,而第三奇偶校验节点校验样本r0、r1、和r5。在本示例中,存在三个奇偶校验节点和六个样本。第一和第二奇偶校验节点被认为是正交的,因为它们互相包括样本的排他组(exclusive set)。
如果假定K=3且M=3,则下面为真H3×6c6×1=0⇔H3×6d3×1p3×1=0⇔101010010101110001d0d1d2p0p1p2=0]]>这产生了下面的等式d0+d2+p1=0d1+p0+p2=0d0+d1+p2=0这些等式减化为p0=d0p1=d0+d2p2=d0+d1因而,例如,如果d=
,则p=
且c=

图2是用于说明上面示例中的H的运算的Tanner图。如可以看到的,图2的图中具有三个奇偶校验节点202、204和206,以及6个变量节点208、210、212、214、216和218,其对应于c的位。奇偶校验节点202、204和206经由如H中的条目(entry)所表示的边220、222、224、226、228、230、232、234和236连接到变量节点208、210、212、214、216和218。换句话说,每个边220、222、224、226、228、230、232、234和236应当对应于H中的1。
在LDPC解码器中,可以通过处理器来实现奇偶校验和变量节点的运算。换句话说,可以由奇偶校验处理器来实现每个奇偶校验节点,而可以由变量节点处理器来实现每个变量校验节点。于是LDPC是迭代解码器,其实现通过H定义的消息传递算法。
不幸地是,传统的LDPC解码技术导致较高的复杂度,其中不得不在解码处理的每个迭代中,针对计算往来所有奇偶节点处理器的消息实现完全平行的解码器。这导致了较大的复杂度、增加的资源需求以及增长的成本。
因此,当前做出了许多努力来降低校验节点消息更新的复杂度,并且保持损失尽可能少的性能。最常用的简化是最小和算法(MSA),该算法很大程度降低了校验节点更新的复杂度,但是与标准的和积(sum-product)算法(SPA)校验节点实现相比,在性能方面降低了0.3-0.4dB。为了克服该性能的降低,也已经提出了使用归一化项(term)和偏置调整项的MSA修改。与更传统的MSA实现相比,这样的解决方案的确降低了性能损失,但是仍存在明显的性能损失。此外,已提出了二维MSA方案,其可以利用某些额外的复杂度来进一步改进MSA的性能。因而,在传统的实现中,在复杂度和性能之间存在固定的折衷选择。

发明内容
下面描述用于在解码低密度奇偶校验(LDPC)码的过程中产生校验节点更新的系统和方法。下面描述的系统和方法使用新的近似,以在维持准确性的同时降低实现LDPC解码器的复杂度。该新的近似逼近标准的和积算法(SPA),并且可以降低最小和算法(MSA)的近似误差,而且在浮点精度运算和定点运算两种情况下具有几乎与和积算法(SPA)相同的性能。
在一方面,接收器可以包括解调器,被配置为接收无线信号,从无线信号中除去载波信号,并产生接收信号;以及低密度奇偶校验(LDPC)处理器,被配置为从接收信号中恢复原始的数据信号。所述LDPC处理器可以包括多个变量节点处理器,被配置为接收所述接收信号并基于该接收信号生成变量消息;以及奇偶节点处理器,被配置为接收变量消息并基于该变量消息而生成软输出,所述奇偶节点处理器被配置为实现下述λi=-Πnj=1,j≠isgn(uj)×min{ln(A-e-|ui|),0}]]>可以使用串行架构或并行架构来实现该奇偶节点处理器。
在另一方面,奇偶节点处理器可以包括多个输入处理块,被配置为并行接收变量消息并对该变量消息执行指数运算;求和器,与多个输入处理块耦接,该求和器被配置为对来自多个输入处理块的输出进行求和;多个加法器,与求和器和多个输入处理块耦接,该多个加法器被配置为从所述求和器的输出中减去所述多个输入处理块的输出;以及多个输出处理块,与多个加法器耦接,该多个输出处理块被配置为对多个加法器的输出执行对数函数运算。
在另一方面,奇偶节点处理器可以包括输入处理块,被配置为串行接收变量消息并对该变量消息执行指数运算;累加器,与所述输入处理块耦接,该累加器被配置为对所述输入处理块的输出进行累加;移位寄存器,与所述输入处理块耦接,该移位寄存器被配置为对一个时钟周期的变量消息进行存储;加法器,与所述累加器和移位寄存器耦接,该加法器被配置为从所述累加器的输出中减去所述移位寄存器的输出;以及输出处理块,与加法器耦接,被配置为对加法器的输出执行对数函数运算。
在还一方面,用于处理所接收的无线信号的方法可以包括接收所述无线信号;从该无线信号除去载波信号以产生接收信号;根据所述接收信号生成变量消息;对变量消息执行指数运算以生成指数数据;对指数数据求和;从所求和的指数数据减去变量消息以形成差;以及对该差执行对数运算。
下面在标题为“具体实施方式
”的部分中描述本发明的这些和其它特征、方面和实施例。


结合附图描述本发明的特征、方面和实施例,其中图1是用于说明使用LDPC码的示范性通信系统的图;图2是用于说明示范性奇偶校验矩阵的运算的图;图3是用于说明示范性奇偶节点处理器的图;图4是用于说明示范性奇偶节点处理器的运算的图;图5是用于说明示范性变量节点处理器的运算的图;图6是用于说明依据一个实施例配置的示范性奇偶节点处理器的图;图7是用于说明依据另一个实施例配置的示范性奇偶节点处理器的图;图8和9是分别示出在各种解码算法的AWGN信道下对于802.16eD12中定义的非正则、1/2速率LDPC码的仿真的帧误码率(FER)和位误码率(BER)性能的曲线;图10和11是分别示出在各种解码算法的AWGN信道下对于802.16eD12中定义的非正则、3/4速率LDPC码的仿真的帧误码率(FER)和位误码率(BER)性能的曲线;图12是用于说明使用图6或7的奇偶节点处理器执行LDPC解码的示范性方法的流程图;图13是用于说明依据一个实施例的包括降阶(degree reduction)的示范性LDPC解码器的一部分的图;图14是用于说明依据一个实施例的可以被包括在图13的LDPC解码器中的降阶单元的示范性实施例的图;图15是用于说明可以被包括在图14的降阶单元中的示范性比较器的图;图16是用于说明依据另一个实施例的可以被包括在图13的LDPC解码器中的降阶单元的示范性实施例的图;以及图17是用于说明具有6/3和7/3降阶的图13的LDPC解码器的FER性能的图。
具体实施例方式
在下面的描述中,使用了某些示范性参数、值等;然而应当理解的是,这里所描述的实施例不必限于这些示例。因此,这些示例不应被认为是以任何方式来限制所述实施例。此外,这里所描述的LDPC解码器的实施例可以被应用于实现不同协议和通信技术的许多不同类型的系统。因此,除非特别声明,否则这些实施例不应被认为是限于特定类型的系统、架构、协议、空中(air)接口等。
图3示出了阶为n的校验节点处理器302。在每次迭代中,用输入的软消息{ui,i=1,2,...n}来更新输出软消息{λi,i=1,2,...n}。输出软消息被定义为相应位是0或1的概率比率的对数。
对于标准和积算法,如下确定输出消息λi=2tanh-1Πj=1j≠intanhuj2,i=1,2...n---(1)]]>然后,输出软消息被反馈到变量节点处理器,以用于在下一次迭代期间生成输出ui;然而,基于从特定节点的变量节点输出的软消息λi不被返回到该节点。因而,在(1)的下面项中存在j≠i的约束Πj=1j≠intanhuj2,i=1,2...n]]>这也可以通过图4来说明,图4是用于说明奇偶节点处理器202的运算的图。首先,LDPC解码器用r0、r1、r2,...r6来初始化化变量节点处理器208、210、212、214、216和218的变量数据位u0、u1、u2...u6。参考图4,u0k-1、u2k-1、和u4k-1是从变量节点208、212和216发送到奇偶节点处理器202的变量消息。奇偶节点处理器202对这些消息进行运算,并且计算其消息λk。例如,λk(0→2)表示在第k次迭代中从奇偶节点202发送到变量节点212的消息。
可以使用下面的等式来定义由奇偶节点处理器202产生的消息λk(0→0)=2tanh-1[tanh(u2k-12)tanh(u4k-12)]]]>λk(0→2)=2tanh-1[tanh(u0k-12)tanh(u4k-12)]]]>λk(0→4)=2tanh-1[tanh(u0k-12)tanh(u2k-12)]---(2)]]>因而,可以配置奇偶节点处理器200以实现上面的等式(2)。然后,由例如奇偶节点202的奇偶节点产生的软消息被反馈到变量节点208、210、212、214、216和218,以用于下一次迭代。
例如,图5是用于说明变量节点处理器208的运算的图。参考图5,变量节点处理器208从奇偶节点处理器202和206接收输入消息,并产生要被发送回相同奇偶节点处理器202和206的变量消息。在图4和图5的示例中,对多级变量unk采用硬判决,并且检查它们是否满足上面定义的奇偶节点等式。如果存在匹配,或超过迭代的特定限定次数,则可以停止该解码器。
可以将变量节点处理器208配置为实现下面等式u0k=uch,0+λk(0→0)+λk(2→0)---(3)]]>其中,uch,0是来自信道的消息,其不随每次迭代改变。
应当理解,可以使用适当配置的硬件和/或软件来实现上述的解码器,并且尽管这里所描述的示例描述了分离的奇偶校验处理器和变量节点处理器,但是可以通过诸如数字信号处理器的单个处理器、或诸如专用集成电路(ASIC)的电路来实现这些处理器;然而,如上所述,参照图2-5所描述的LDPC处理器的实现可能导致较大的复杂度、迫切的存储器需求以及可以引起瓶颈的互连复杂度。如果实现多个数据率,则这些方面可能会恶化。换句话说,在实际的实现中,这样的解码器可能会受到限制。
如上面所指出的,考虑到实践和成本的有效实现,等式(1)的和积算法可能受到禁止。已提出借助近似来降低该复杂度。例如,可以看出(4)等价于(1)λ1=u1u2…un, (4)其中,运算符被定义为x⊕y=Δln1+ex+yex+ey---(5)]]>
使用近似公式ex+ey≈max(ex,et)=emax(x,y)(6)或等效地ln(ex+ey)≈max(x,y) (7)在(5)的分子和分母中,可以获得下述xy≈max(0,x+y)-max(x,y)=sgn(x)sgn(y)min(|x|,|y|)(8)重复地将(8)代入到(4)中,可以获得如下的最小和算法(MSA)λi≈Πj≠isgn(uj)×minj≠i(|uj|)i=1,2,....n---(9)]]>明显的是,实现等式(9)比(1)或(4)简单许多,但是该简化的代价是重大的性能牺牲,根据特定的码结构和码速率,其通常的性能损失约0.3~0.4dB。为了降低这样的性能损失,已提出了某些修改。例如,MSA的性能损失来自于(9)对于(1)的近似误差。因此,为了改善性能损失,应当降低该近似误差。可以看到在幅值上(9)始终大于(1)。归一化MSA和偏置MSA使用缩小或偏置来强制幅度变得更小。
利用归一化最小和算法,可以通过因子α来缩小(9)λi≈α{Πj≠isgn(uj)×minj≠i(|uj|)},---(10)]]>其中0<α≤1。
偏移最小和算法通过正常数β来降低幅值λi≈Πj≠isgn(uj)·max(minj≠i(|uj|)-β,0)---(11)]]>但是这些方法再一次增加了复杂度。因而,如上面所提到的,在复杂度和性能之间存在固定的折衷选择。
下面所描述的实施例使用新的方法,用于解码LDPC码中的校验节点更新。该方法基于和积算法(SPA)的新近似,其可以降低MSA的近似误差,并且在浮点精度运算和定点运算两种情况下具有几乎与SPA相同的性能。结果,可以以简单的结构来实现该新近似,其复杂度与MSA实现持平。
MSA的近似误差来自于等式(7)的近似误差。注意,当x和y接近时,等式(7)是不精确的。MSA在等式(5)的分子和分母都使用等式(7)。如果|x|与|y|的值接近,则分子或分母都可能产生较大的近似误差。因而,为了改进输出消息的精确度,只有当(5)的分子或分母将产生较小的近似误差时,才可以在(5)中使用等式(7)。
例如,当x和y都具有相同的符号时,则在分子中使用1+ex+y≈max(e0,ex+y)的近似将比在分母中使用ex+ey≈emax(x,y)产生更好的结果。类似地,当x和y具有相反的符号时,则只有使用ex+ey≈emax(x,y)近似(5)的分母可以产生更好的结果。因而,对于x,y>0,可以使用下面的等式来产生(5)的更好近似x⊕y≈lnex+yex+ey=-ln(e-x+e-y)---(12)]]>对于x和y的所有的符号组合,可以使用下面的一般表达xy≈-sgn(x)sgn(y)ln(e-|x|+e-|y|) (13)重复地将(13)代入到(4)中,产生λi=-Πj=1j≠insgn(uj)×ln(Σj=1j≠ine-|uj|)---(14)]]>注意,只在Σj≠ie-|uj|<1]]>时,(14)才成立(hold)。如果不满足该条件,则该结果可能被限制为1,导致下述λi=-Πj=1j≠insgn(uj)×ln(min(Σj=1j≠ine-|uj|,1))---(15)]]>现在,使A=Σj=1ne-|uj|,]]>则(15)可以被表示为λi=-Πj=1,j≠insgn(uj)×ln(min(A-e-|ui|,1))]]>=-Πj=1,j≠insgn(uj)×min{ln(A-e-|ui|),0}---(16)]]>可以如MSA实现的相同方式来实现(16)的符号,例如用二进制异或逻辑电路。该近似的核心具有可逆的属性,其允许首先对聚合的软消息进行计算,之后进行内在馈出(intrinsic back-out),以产生外在(extrinsic)更新。
可以分别用图6和图7中的串行结构或并行结构来实现等式(16)的幅值。因而,图6是用于说明奇偶节点处理器602的串行实现的图。如可以看到的,首先通过处理块602处理变量节点输出,然后在累加器604中累加。然后将每个输入存储到移位存储器606中,并且在加法器610中从累加器604的输出中减去每个输入。然后,结果得到的差的自然对数被送到处理块608中,以产生软输出。
图7是用于说明奇偶节点处理器700的并行实现的图。这里,在处理块702、704和706中对来自变量节点处理器的输入进行并行处理,然后在求和器708中求和。然后,在加法器710、712和714中并行地从求和器708的输出中减去每个输入。此后,将加法器710、712和714的输出的自然对数并行地送到处理块716、718和720中,以产生软输出。
结构600和700都具有相同的计算负载。串行结构600需要更小的硬件尺寸,但是需要2n个时钟周期以获得所有的输出软消息。并行结构700只需要1个时钟周期,但是与串行结构600相比,并行结构700需要更大的硬件尺寸。当主要关心解码速度时,并行结构700是有吸引力的。应当理解,可以查找表、软件或硬件等的任何方式来实现图6和图7中的指数和对数运算。
ln(·)运算可以包括min(·,0)运算,其可以通过简单地使用对数结果的符号位来实现,以消除(clear)输出。具体而言,如果用查找表来实现该对数运算,则可以通过简单地对于大于1的所有输入将其表中的内容设置为0,或简单地限制读取表内容的地址范围,而进行这一运算。
可以在诸如接收器110的接收器中包括图6和图7的实现。这样的接收器可以被包括在被配置为运行于例如无线广域网(WAN)或城域网(MAN)、无线局域网(LAN)、或无线个人局域网(PAN)中的设备内。
所提出的实现的计算复杂度类似于MSA实现。表1是对于各种解码算法的奇偶节点处理的计算负载的比较,其中假定以已知的双向(forward-backward)方式来实现SPA、MSA、归一化MSA和偏置MSA。
表1

图8和图9是分别示出在各种解码算法的AWGN信道下对于802.16eD12中定义的非正则、1/2速率LDPC码的仿真的帧误码率(FER)和位误码率(BER)性能的曲线,所述各种解码算法包括SPA、所提出的实现在浮点和定点运算下的算法、MSA、归一化MSA和偏置MSA。对于归一化MSA和偏置MSA,使用0.8的归一化因子和0.15偏置因子。代码的校验节点阶次分布是p(x)=0.6667x6+0.3333x7。解码器使用具有最大迭代次数为30的分层解码。
图10和图11是示出具有校验节点阶次分布为p(x)=0.8333x14+0.1667x15的用于非正则、3/4速率(rate)LDPC码的相应的仿真结果的曲线。除了标为“建议的量化”的曲线是定点解码器用等式(16)实现的之外,所有曲线都是用浮点运算仿真的。在定点解码器的仿真中,信道输入被量化为8位二进制整数,其中1位用于符号,而其它7位用于绝对值。
在所述仿真中,变量节点更新是结果范围在-128~+128的整数求和。例如图6和图7中,可以使用具有128个条目的查找表来实现指数运算,其中每个条目具有表示
中的量化值的9位。求和和减法(例如在图6和图7中)是9位整数运算。对数是具有512个条目的表,每个条目具有7位,用于描述要与符号位一起发送到变量节点的量化绝对值。
从图8-11的曲线中可以看出,具有浮点运算的等式(16)的实现可以具有几乎与标准SPA相同的性能,并且该性能比使用MSA产生的性能好0.3-0.4dB。
此外,尽管可以尝试满足用于exp()运算的动态范围需求,但是仿真结果仍显示,相对于浮点运算来说,定点运算几乎不具有任何性能损失。注意,可以利用非均匀量化和增加复杂度而大大降低量化位数。利用非均匀量化,可以降低算法和指数表的尺寸,但是在图6中的求和运算之前,应首先将这些量化值映射到线性量化值。
图12是说明用于执行上述LDPC解码的示范性方法的流程图。首先在步骤1202中,可以接收无线信号,并且可以在步骤1204中解调该信号。在步骤1206中,可以根据所解调的信号生成变量消息。在步骤1208中,可以依据等式(16)对变量消息执行指数运算。在步骤1210中,可以对结果得到的指数数据求和,并且在步骤1212中再次依据等式(16)从所求和的数据中减去所述变量消息。最后,在步骤1214中,再次依据等式(16),可以对步骤1212中所产生的差执行对数运算。
因此,使用上述的系统和方法,在维持较高的精确度的同时,可以降低实现奇偶节点所需的资源,即复杂度。在某些实施例中,甚至可以通过降阶技术进一步降低复杂度。换句话说,可以降低去往奇偶节点的输入的数目,这可以降低实现奇偶节点所需的资源。也应该指出的是,可以在许多奇偶节点实现中,分开计算输出软消息的符号和绝对值。
图13是用于说明包括降阶的示范性LDPC解码器1300的一部分的图。在LDPC解码器1300中,变量消息{ui,i=1,2,...n}的绝对值、即{|u1|,|u2|,...,|un|}被首先输入到降阶单元(DRU)1302中,该降阶单元产生降低数目的输出|u1′,u2′,...,um′},其中m<n。换句话说,DRU 1302被配置为从n个总输入中选出m个输入,其中通常m<n。在某些实施例中,可以选择具有最小值的输入{ui,i=1,2,...n}。于是所选择的输入{u1′,u2′,...,um′}是{|u1|,|u2|,...,|un|}的子集,从而处于集合{|u1|,|u2|,...,|un|}\{u1′,u2′,...,um′}中的所有元素不能比{u1′,u2′,...um′}中的任何元素小。
然后,可以将DRU 1302的输出提供给奇偶节点处理器1304。可以使用图6的串行结构或图7的并行结构来实现奇偶节点处理器1304。
类似地,依据所述实施例,可以用并行或串行结构来实现DRU 1302。图14是说明用于DRU 1302的并行配置的图。在图14的示例中,DRU 1302包括12个比较器,该比较器被配置为将阶次从8降为3。换句话说,将8个输入变量消息降为要被送到奇偶节点处理器1304的三个输出消息。当然应当理解,依据具体实现的需要,可以采用不同的输入和输出阶次。也应当理解,阶次降得越大,奇偶节点处理器1304的复杂度降低得越大;然而,这也可能导致精确度的降低。因此,应选择降阶的级别,以达到资源节约和精确度的最大可能。
在图15中说明了用于图14的比较器的实现的示例。如可以看到的,S输出是两个输出中的较小的一个,而L输出是两个输出中的较大一个。
在图14的示例中,将DRU 1302配置为选择最小的输入。因而,所述比较器被配置为从每对输入中选择最小的输入。在这种情况下,使用5级比较器以产生8到3的降阶。比较器1402a-1402d从输入对中选择最小的输入。然后以所示方式,在包括比较器1404a-1404d的第二级比较器中将这些输入与形成输入对的最大输入进行比较。放弃一个输出,并在第三级比较器1406a-1406c中对剩余的输入进行比较。然后,又放弃两个输出,并且在第四级比较器1408和第五级比较器1410对剩余的输入进行比较。
图16是用于说明依据一个实施例的DRU 1302的示范性串行实现的图。如可以看到的,在图16的示例中,串行DRU 1302将阶次从n降为3。在本示范性实施例中,DRU 1302包括串行比较器,例如比较器1608、1610和1612,可以如图15中所说明的和上面所描述的来对其进行实现。延迟单元1602、1604和1606包括在内,并且对应于一个时钟周期。输入{|u1|,|u2|,...,|un|}依次到达,一个时钟周期一个输入。
可以将奇偶节点处理器1304配置为利用等式(16)(即等式(16)的第二项)来计算输出消息的绝对值。换句话说,可以使用下述来分别确定等式(16)的符号和绝对值λi=Πj=1,j≠insgn(uj)×max{-ln(A-e-|ui|),0}---(16)]]>sgn(λi)=Πj=1,j≠insgn(uj)=sgn(ui)B---(17)]]>|λi|=max{-ln(A-e-|ui|),0}---(18)]]>因而,奇偶节点处理器1304可被用于依据等式(18)对阶次为m的校验节点计算绝对值。可以将奇偶节点处理器1304实现为如上所述的串行或并行奇偶节点处理器。
可以将输出单元(OU)1306配置为简单地将奇偶节点处理器1304的输出(即{|λ1′|,|λ2′|,...,|λm′|})连接到输出端口{|λ1|,|λ2|,...,|λn|}。例如,假定存在8个输入{|u1|,|u2|,...,|u8|},并且DRU 1302选择它们中的m=3个。选择结果依赖于{|u1|,|u2|,...,|u8|}的具体数据值。假定对于某些具体的输入,选择结果是{u1′=|u2|,u2′=|u8|,u3′=|u5|},则OU 1306应当分别将|λ1′|,|λ2′|和|λ3′|连接到|2|、|8|和|5|,并将-lnA连接到|1|、|3|、|4|、|6|和|7|。
为了切实可行,应当将OU 1306配置为与DRU 1302合作运行。例如,如果DRU 1302将DRU 1302的第k个输入(即|uk|)选择为奇偶节点处理器1304的第j个输入,即uj′,则可以将OU 1306配置为相应地将奇偶节点处理器1304的第j个输出连接到|λk|。
应当指出,尽管DRU 1302的并行实现可以与奇偶节点处理器1304的并行实现配对使用,并且DRU 1302的串行实现可以与奇偶节点处理器1304的串行实现配对使用,但是不需要这样的使用。换句话说,DRU 1302的并行实现可以与奇偶节点处理器1304的串行实现配对使用,反之亦然。此外,也许依赖具体实现的要求而放弃包含DRU 1302和OU 1306会更好。例如,如果最关心解码速度,则并行DRU 1302和并行奇偶节点处理器1304的组合可能是最好的选择。另一方面,如果硬件尺寸和资源是最重要的方面,则利用串行奇偶节点处理器1304而无需任何DRU 1302或OU 1306可能是优选的。如果LPDC解码器是例如使用数字信号处理器(DSP)来实现的,如在软件定义的射频(SDR)终端中,则串行DRU 1302和串行奇偶节点处理器可能是优选的,因为其提供最少的解码延迟。
图17是用于说明图13的解码器的仿真结果的图,说明与SPA相比,这样的实施例可以将阶次降低到3,并且只导致小于0.05dB的性能损失。所仿真的LDPC码的校验节点阶次是6和7。对于校验节点阶次是14和15的3/4速率LDPC码可以观察到类似的性能。
表2说明具有图13的降阶和没有该降阶的LDPC复杂度比较。表2中的数据是用于n=8以及m=3的。“比较”运算通常没有“加法”运算复杂,因而具有降阶的整体复杂度比没有降阶的要小许多。
表2

虽然上面已描述了本发明的某些实施例,但是应当理解的是,所描述的实施例只是示例的方式。因此,本发明不限于所描述的实施例。而且,当结合上述说明以及附图时,应当仅由所附的权利要求书来限定此处所描述的本发明的范围。
权利要求
1.一种接收器,包括解调器,被配置为接收包括原始数据信号的无线信号,从该无线信号中除去载波信号,并产生接收信号;以及与该解调器耦接的低密度奇偶校验LDPC处理器,该LDPC处理器被配置为根据所述接收信号恢复原始的数据信号,该LDPC处理器包括多个变量节点处理器,被配置为基于所述接收信号生成变量消息;以及与该多个变量节点处理器耦接的奇偶节点处理器,该奇偶节点处理器被配置为基于导致表示变量消息的估计的软输出的变量消息的符号而实现和积算法SPA的近似。
2.根据权利要求1所述的接收器,其中,该奇偶节点处理器被配置为实现下述λi=-Πj=1,j≠insgn(uj)×min{ln(A-e-|ui|),0},]]>其中λi表示软输出,uj表示变量消息,以及A=Σj=1ne-|uj|.]]>
3.根据权利要求1所述的接收器,其中,所述奇偶节点处理器包括多个输入处理块,被配置为并行接收多个变量消息并对该变量消息执行指数运算,以生成用于产生软消息的指数项;求和器,与多个输入处理块耦接,该求和器被配置为对所述多个输入处理块产生的指数项进行求和,以生成用于产生软消息的求和项;多个加法器,与所述求和器和多个输入处理块耦接,该多个加法器被配置为从求和项中减去所述指数项,以生成用于产生软消息的差项;多个输出处理块,与所述多个加法器耦接,该多个输出处理块被配置为对所述多个加法器的输出执行对数运算,以产生软消息;以及符号处理块,与所述多个输出处理块耦接,该符号处理块被配置为确定与所述多个输出处理块的输出相关的符号。
4.根据权利要求1所述的接收器,其中,所述奇偶节点处理器包括输入处理块,被配置为串行接收变量消息并对该变量消息执行指数运算,以生成用于产生软消息的指数项;累加器,与所述输入处理块耦接,该累加器被配置为累加指数项,以生成用于产生软消息的求和项;移位寄存器,与所述输入处理块耦接,该移位寄存器被配置为对一个时钟周期存储变量消息;加法器,与所述累加器和移位寄存器耦接,该加法器被配置为从所述求和项减去移位寄存器的输出,以生成用于产生软消息的差项;输出处理块,与所述加法器耦接,该输出处理块被配置为对差项执行对数函数运算,以生成软消息;以及符号处理块,与所述输出处理块耦接,该符号处理块被配置为确定与输出处理块的输出相关的符号。
5.一种用于低密度奇偶校验LDPC解码的奇偶节点处理器,该奇偶节点处理器被配置为产生作为从多个变量节点接收的变量消息的估计的软消息,该奇偶节点处理器包括多个输入处理块,被配置为并行接收多个变量消息并对该变量消息执行指数运算,以生成用于产生软消息的指数项;求和器,与多个输入处理块耦接,该求和器被配置为对所述多个输入处理块产生的指数项进行求和,以生成用于产生软消息的求和项;多个加法器,与所述求和器和多个输入处理块耦接,该多个加法器被配置为从求和项中减去所述指数项,以生成用于产生软消息的差项;以及多个输出处理块,与所述多个加法器耦接,该多个输出处理块被配置为对所述多个加法器的输出执行对数函数运算,以产生软消息。
6.根据权利要求5所述的奇偶节点处理器,还包括符号处理块,与所述多个输出处理块耦接,该符号处理块被配置为确定与所述软消息相关的符号,其中,使用二进制异或逻辑电路实现该符号处理块;以及将所述多个输入处理块实现为查找表,其中将所述多个输出处理块实现为查找表。
7.一种用于低密度奇偶校验LDPC解码的奇偶节点处理器,所述奇偶节点处理器被配置为产生作为从多个变量节点接收的变量消息的估计的软消息,该奇偶节点处理器包括输入处理块,被配置为串行接收变量消息并对该变量消息执行指数运算,以生成用于产生软消息的指数项;累加器,与所述输入处理块耦接,该累加器被配置为累加指数项,以生成用于产生软消息的求和项;移位寄存器,与所述输入处理块耦接,该移位寄存器被配置为对一个时钟周期存储变量消息;加法器,与所述累加器和移位寄存器耦接,该加法器被配置为从所述求和项减去移位寄存器的输出,以生成用于产生软消息的差项;以及输出处理块,与所述加法器耦接,该输出处理块被配置为对差项执行对数运算,以生成软消息。
8.根据权利要求7所述的奇偶节点处理器,还包括符号处理块,与所述输出处理块耦接,该符号处理块被配置为确定与所述软消息相关的符号其中,使用二进制异或逻辑电路实现该符号处理块;以及将所述输入处理块实现为查找表,其中将所述输出处理块实现为查找表。
9.一种用于使用包括在低密度奇偶校验LDPC解码器中的奇偶节点处理器来处理所接收的无线信号的方法,该方法包括接收无线信号;从该无线信号中除去载波信号,以产生接收信号;根据所述接收信号生成变量消息;对所述变量消息执行指数运算,以生成指数数据;求和所述指数数据;从所求和的指数数据中减去变量消息,以形成差;以及对所述差执行对数运算。
10.根据权利要求9所述的方法,其中,所述求和指数数据包括累加所述指数数据,其中,所述从所求和的指数数据中减去变量消息包括从累加的指数数据中减去变量消息的时移版本。
11.一种包括奇偶节点处理器的低密度奇偶校验LDPC解码器,所述奇偶节点处理器被配置为产生作为从多个变量节点接收的变量消息的估计的软消息,该LDPC解码器包括多个变量节点处理器,被配置为基于所述接收信号生成变量消息;降阶单元,与所述多个变量节点处理器耦接,该降阶单元被配置为接收所述多个变量消息,并在生成所述软消息之前降低变量消息的阶次;以及奇偶节点处理器,与所述降阶单元耦接,该奇偶节点处理器被配置为基于导致表示变量消息的估计的软输出的降阶变量消息的符号而实现和积算法SPA的近似。
全文摘要
用于在解码低密度奇偶校验LDPC码的过程中产生校验节点更新的系统和方法,其使用新的近似,以在维持准确性的同时降低实现LDPC解码器的复杂度。该新的近似逼近标准的和积算法SPA,并且可以降低最小和算法MSA的近似误差,而且在浮点精度运算和定点运算两种情况下具有几乎与和积算法SPA相同的性能。
文档编号H04L1/00GK101079638SQ20071012832
公开日2007年11月28日 申请日期2007年7月6日 优先权日2006年7月28日
发明者孙国辉, 靳晶, 尧文彬, 杨鸿文 申请人:开曼群岛威睿电通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1