采用改进TDMP算法的LDPC码译码方法及电路与流程

文档序号:17047791发布日期:2019-03-05 19:44阅读:305来源:国知局
采用改进TDMP算法的LDPC码译码方法及电路与流程

本发明涉及一种低密度奇偶校验(low-densityparity-checkcode,ldpc)码译码方法及电路,且特别是涉及一种采用改进turbodecodingmessagepassing(tdmp)算法的ldpc码译码方法及电路。



背景技术:

ldpc码是一种具有稀疏校验矩阵特性的线性分组码(linearblockcode)。由于ldpc码在性能上具有较高的编码增益,并且其被证明错误校正能力可非常逼近夏农极限(shannonlimit),因此ldpc码逐渐成为各类先进通讯系统(例如:无线局域网(wlan)系统)所制定采用的标准。传统的ldpc码解码方法中包含了校验节点(cnu)更新运算和变量节点(vnu)更新运算,因为这两种更新运算必须是交替进行,所以传统的ldpc码译码方法将容易导致译码的收敛时间过长。然而,由于tdmp算法具有更快的收敛速度,因此近几年来tdmp算法正被广泛地用于部分的ldpc码解码方法中。

采用现有tdmp算法的ldpc码译码方法是将ldpc码的奇偶检验矩阵分为若干个层,且每一层内的所有行是同时并行cnu更新运算,而层与层之间则才只是依次进行vnu更新运算。于是,相比于传统的ldpc码译码方法,采用现有tdmp算法的ldpc码译码方法的收敛速度将会快了一倍以上。然而,在实际运作中,因为编码信号中的某些帧将容易受限于译码时间不足的影响,所以即使是采用了现有tdmp算法,但该ldpc码译码方法却也只能够完成极少量的迭代次数,从而降低了其性能。因此,如何提供一种采用改进tdmp算法的ldpc码译码方法及电路,确为所属领域亟需解决的问题。



技术实现要素:

鉴于此,本发明实施例提供一种ldpc码译码方法及电路,且特别是涉及一种采用改进tdmp算法的ldpc码译码方法及电路。

本发明实施例提供一种采用改进tdmp算法的ldpc码译码方法,适用于wlan系统的一接收装置中。此接收装置接收经由一ldpc码编码器所输出具有多个帧的一编码信号,且一现有tdmp算法是将此编码信号的一奇偶检验矩阵分为多个层。所述ldpc码解码方法的步骤如下。首先,分析与判断用以此现有tdmp算法解码这些帧中的第一帧所能使用的一译码参数是否低于第一阈值。接着,当此解码参数低于第一阈值时,则对这些层进行分组,并且采用以每一组内的所有行同时并行cnu更新运算,而每一组之间是依次进行vnu更新运算的方式来译码此第一帧。其中,每一组内皆包含n个层,且n为大于1的正整数。

本发明实施例另提供一种采用改进tdmp算法的ldpc码译码电路,适用于wlan系统的一接收装置中。此接收装置接收经由一ldpc码编码器所输出具有多个帧的一编码信号,且一现有tdmp算法是将此编码信号的一奇偶检验矩阵分为多个层。所述ldpc码译码电路包括一判断电路,以及耦接于此判断电路的一处理电路。判断电路,分析与判断用以此现有tdmp算法解码这些帧中的第一帧所能使用的一译码参数是否低于第一阈值。当此译码参数低于第一阈值时,处理电路则用以对这些层进行分组,并且采用以每一组内的所有行同时并行cnu更新运算,而每一组之间是依次进行vnu更新运算的方式来译码此第一帧。其中,每一组内皆包含n个层,且n为大于1的正整数。

为使能更进一步了解本发明的特征及技术内容,请参阅以下有关本发明的详细说明与附图,但是此等说明与附图说明书附图仅是用来说明本发明,而非对本发明的权利范围作任何的限制。

附图说明

图1是本发明实施例所提供的经由现有tdmp算法分层后的奇偶检验矩阵的示意图。

图2是本发明实施例所提供的采用改进tdmp算法的ldpc码译码方法的流程示意图。

图3a是图1的奇偶检验矩阵于一较佳时实施例下所经由改进tdmp算法分组后的示意图。

图3b是图1的奇偶检验矩阵于另一较佳时实施例下所经由改进tdmp算法分组后的示意图。

图4是本发明另一实施例所提供的采用改进tdmp算法的ldpc码译码方法的流程示意图。

图5是本发明实施例所提供的采用改进tdmp算法的ldpc码译码电路的功能方块图。

具体实施方式

在下文中,将借由图式说明本发明之各种实施例来详细描述本发明。然而,本发明概念可能以许多不同形式来体现,且不应解释为限于本文中所阐述的例示性实施例。此外,在图式中相同参考数字可用以表示类似的组件。

具体来说,本发明实施例所提供的采用改进tdmp算法的ldpc码译码方法及电路,可以是适用于wlan系统下的任何一接收装置中。换句话说,本发明并不限制接收装置的具体实现方式,本领域普通技术人员应可依据实际需求或应用来进行相关设计。另外,根据现有技术可知,此接收装置会接收经由ldpc码编码器所输出具有多个帧的一编码信号,并且现有tdmp算法则是会将此编码信号的一奇偶检验矩阵分为多个层。

举例来说,请参阅图1,图1是本发明实施例所提供的经由现有tdmp算法分层后的奇偶检验矩阵的示意图。为了方便以下说明,本发明可先假设帧的码长为648,且码率为1/2。因此,整个奇偶检验矩阵h可被分作为12个层layer_1~layer_12,且每一层layer_1~layer_12内都具有相同的行数:27。其中,在采用现有tdmp算法的ldpc码译码方法中,层layer_1即是先使用初始化过的vnu来对其内的27行同时并行cnu更新运算,并且当该层layer_1内的27行皆完成cnu更新运算后,层layer_1才会进行一次的vnu更新运算。

接着,层layer_2是使用经层layer_1更新过的vnu来对其内的27行同时并行cnu更新运算,并且当该层layer_2内的27行皆完成cnu更新运算后,层layer_2也才会进行一次的vnu更新运算,以此类推。层layer_12则是使用经层layer_11更新过的vnu来对其内的27行同时并行cnu更新运算,并且当该层layer_12内的27行皆完成cnu更新运算后,层layer_12也才会进行一次的vnu更新运算。那么这样就算完成了一次迭代。

以wlan系统在一般的工作条件下,采用tdmp算法的ldpc码译码方法进行译码时,给译码器对最后一ldpc帧的译码时间通常是很有限的,例如仅有5到7us的译码时间。以6us的译码时间为例,即使是采用了现有tdmp算法,该ldpc码译码方法却也只能够完成有限次数的迭代运算(例如为五次),从而大幅地降低了其性能(例如,性能约损失了0.5db)。因此,请同时参阅图2,图2是本发明实施例所提供的采用改进tdmp算法的ldpc码译码方法的流程示意图。

首先,在步骤s200中,本发明会先分析与判断用以现有tdmp算法解码这些帧中的第一帧所能使用的一译码参数是否低于第一阈值(未绘示),并且当此解码参数低于第一阈值时,本发明则进行步骤s210。在步骤s210中,本发明则对这些层layer_1~layer_12进行分组,并且采用以每一组内的所有行同时并行cnu更新运算,而每一组之间是依次进行vnu更新运算的方式来译码此第一帧。其中,每一组内皆包含n个层,且n为大于1的正整数。

类似地,当此解码参数并不低于第一阈值时,本发明则进行步骤s220,而在步骤s220中,本发明采用以每一层内layer_1~layer_12的所有行同时并行cnu更新运算,且每一层layer_1~layer_12之间是依次进行vnu更新运算的方式来译码第一帧。需说明的是,在其中一种应用中,步骤s200所分析出的解码参数即可例如为用以现有tdmp算法译码此第一帧所能使用的一译码时间。又或者是,在其他应用中,步骤s200所分析出的解码参数也可例如为用以现有tdmp算法译码此第一帧所能使用的一迭代次数。总而言之,本发明并不限制译码参数的具体实现方式,且本发明亦不限制步骤s200中所分析出该译码参数的具体实现方式,故本领域普通技术人员应可依据实际需求或应用来进行相关设计。

因此,如果当该译码参数(例如,迭代次数)并不低于第一阈值(例如,20)时,本发明便能判定用以现有tdmp算法来译码此第一帧所能完成的迭代次数将已经能足够了,所以本发明则会进行步骤s220。也就是说,步骤s220即是用以现有tdmp算法来解码此第一帧。相反地,如果当该解码参数低于第一阈值时,本发明便能判定用以现有tdmp算法来译码此第一帧所能完成的迭代次数将可能不会足够,所以本发明则会进行步骤s210。这也就是说,步骤s210即是改成用以不同于现有tdmp算法的改进tdmp算法来解码此第一帧,以借此冀望能够有效地大幅增加译码此第一帧所能完成的迭代次数。

为了方便以下说明,本发明可先假设n为2,因此经过改进tdmp算法(亦即,步骤s210)后的奇偶检验矩阵h便可再被细分为6个组block_1~block_6,如图3a所示。其中,层layer_1与层layer_2即合并为第一组block_1,且层layer_3与层layer_4则合并为第二组block_2,以此类推,层layer_11与层layer_12则合并为第六组block_6。

在本实施例中,第一组block_1即是先使用初始化过的vnu来对其内的共54行(亦即,27*2)同时并行cnu更新运算,并且当该第一组block_1内的54行皆完成cnu更新运算后,该第一组block_1才会进行一次的vnu更新运算。接着,第二组block_2是使用经第一组block_1更新过的vnu来对其内的共54行同时并行cnu更新运算,并且当该第二组block_2内的54行皆完成cnu更新运算后,该第二组block_2也才会进行一次的vnu更新运算,以此类推。

第六组block_6则是使用经第五组block_5更新过的vnu来对其内的共54行同时并行cnu更新运算,并且当该第六组block_6内的54行皆完成cnu更新运算后,该第六组block_6也才会进行一次的vnu更新运算。那么这样也就算完成了一次迭代。因此,如果以此第一帧即为前述仅具有6us解码时间的最后一帧来做说明的话,当本发明是改成用以n为2的改进tdmp算法来解码此第一帧时,此ldpc码译码方法便能够多完成一倍的迭代次数(亦即,十次的迭代)。

类似地,在假设n为4的情况下,因此经过改进tdmp算法后的奇偶检验矩阵h便可再被细分为3个组block_1~block_3,如图3b所示。其中,层layer_1至层layer_4即合并为第一组block_1,层layer_5至层layer_8则合并为第二组block_2,且层layer_9至层layer_12则合并为第三组block_3。

在本实施例中,第一组block_1即是先使用初始化过的vnu来对其内的共108行(亦即,27*4)同时并行cnu更新运算,并且当该第一组block_1内的108行皆完成cnu更新运算后,该第一组block_1才会进行一次的vnu更新运算。其次,第二组block_2是使用经第一组block_1更新过的vnu来对其内的共108行同时并行cnu更新运算,并且当该第二组block_2内的108行皆完成cnu更新运算后,该第二组block_2也才会进行一次的vnu更新运算。

接着,第三组block_3则是使用经第二组block_2更新过的vnu来对其内的共108行同时并行cnu更新运算,并且当该第三组block_3内的108行皆完成cnu更新运算后,该第三组block_3也才会进行一次的vnu更新运算。那么这样也就算完成了一次迭代。因此,如果仍以此第一帧即为前述仅具有6us解码时间的最后一帧来做说明的话,当本发明是改成用以n为4的改进tdmp算法来解码此第一帧时,此ldpc码译码方法便能够多完成4倍的迭代次数(亦即,二十次的迭代)。

类似地,在假设n为12的情况下(未绘示),由于层layer_1至层layer_12即共同合并为第一组block_1,因此该第一组block_1内的共324行(亦即,27*12)即是先同时并行cnu更新运算,并且当该324行皆完成cnu更新运算后,该第一组block_1才会进行一次的vnu更新运算。那么这样也就算完成了一次迭代。因此,如果仍以此第一帧即为前述仅具有6us解码时间的最后一帧来做说明的话,当本发明是改成用以n为12的改进tdmp算法来解码此第一帧时,此ldpc码译码方法便能够多完成12倍的迭代次数(亦即,六十次的迭代)。

根据以上内容的教示,本领域普通技术人员应可理解到,当n越大时,则用以该改进tdmp算法译码此第一帧所能完成的迭代次数也就越大。于是,为了方便以下说明,当本发明假设通过用以现有tdmp算法(亦即,步骤s220)来译码此第一帧所能完成的迭代次数即为α时,那么通过用以改进tdmp算法(亦即,步骤s210)来译码此第一帧所能完成的迭代次数便会相对为(α*n)。其中,实务上n可以是根据此第一帧的码长,或接收装置的性能而决定。总而言之,本发明并不限制n的具体实现方式,本领域普通技术人员应可依据实际需求或应用来进行相关设计。

另外,根据现有技术可知,当译码此第一帧所能完成的迭代次数越多时,此ldpc码译码方法的性能便可能相对提升。因此,虽然在本发明的改进tdmp算法中是会减少掉vnu更新运算的执行次数,但也因为该改进tdmp算法却增加了译码该第一帧所能完成的迭代次数,所以使得此ldpc码译码方法的性能可进而相对提升。

另一方面,根据现有技术可知,cnu更新运算及vnu更新运算中还可包括用以最小值-总和算法(min-sumalgorithm)或总和-最小值算法(sum-minalgorithm)来实现,但本发明并不限制图2实施例的现有tdmp算法及改进tdmp算法为使用最小值-总和算法或总和-最小值算法。于是,为了方便以下说明,本发明可先假设图2实施例的改进tdmp算法即为使用总和-最小值算法,且其表示定义为block-n-tdmp-3min。另外,使用总和-最小值算法的现有tdmp算法即表示定义为tdmp-3min,且使用最小值-总和算法的现有tdmp算法则表示定义为tdmp-minsum。其中,由于最小值-总和算法及总和-最小值算法的运作原理皆已为本领域普通技术人员所习知,因此有关其细部内容于此就不再多加赘述。

如同前面内容所述,如果当通过用以tdmp-3min来译码此第一帧所能完成的迭代次数即为α时,那么通过用以tdmp-minsum来译码此第一帧所能完成的迭代次数会大于tdmp-3min能完成的迭代次数(例如为α*1.2),且通过用以block-n-tdmp-3min来译码此第一帧所能完成的迭代次数则为(α*n)。因此,根据以上内容的教示,本领域普通技术人员应可理解到,本发明的ldpc码解码方法还可以是依据实际需求来优先选择性能较好的方式以对此第一帧进行译码。又或者是,由于上述三种方式间的功耗关系即表示为tdmp-minsum<tdmp-3min<block-n-tdmp-3min。因此,如果当彼此间的性能皆相同时,本发明还可以是来选择功耗较低的方式,以对此第一帧进行译码。总而言之,本发明并不限制上述选择原则的具体实现方式。

举例来说,请参阅图4,图4是本发明另一实施例所提供的采用改进tdmp算法的ldpc码译码方法的流程示意图。其中,图4中部分与图2相同之流程步骤以相同之图号标示,故于此不再多加详述其细节。

于图4的实施例中,步骤s220还可包含有步骤s400~步骤s420。首先,在步骤s400中,本发明会再判断前述解码参数是否低于一第二阈值(例如,30),并且当此解码参数低于第二阈值时,本发明则进行步骤s410。在步骤s410中,本发明则决定使用最小值-总和算法(亦即tdmp-minsum)来解码此第一帧。类似地,当此解码参数并不低于第二阈值时,本发明则进行步骤s420,而在步骤s420中,本发明则决定使用总和-最小值算法(亦即,tdmp-3min)来解码此第一帧。

更仔细地说,因为如果当该解码参数低于第二阈值时,本发明便能判定用以tdmp-3min来译码此第一帧所能完成的迭代次数将可能仍不会足够,所以本发明则会改用以tdmp-minsum来解码此第一帧,以借此冀望能有效地再小幅增加译码此第一帧所能完成的迭代次数(亦即,α*1.2)。相反地,因为如果当该解码参数并不低于第二阈值时,本发明便能判定用以tdmp-3min来译码此第一帧所能完成的迭代次数将已经能足够了,所以本发明仍会用以tdmp-3min来解码此第一帧,以借此冀望能够降低功率的消耗。总而言之,上述所采用的具体方式在此仅只是举例,其并非用以限制本发明,本领域普通技术人员应可依据实际需求或应用来相关设计。

然而,应当理解的是,由于通常是此编码信号中的最后一帧的译码参数才会低于第一或第二阈值,因此本发明实施例所提供的采用改进tdmp算法的ldpc码译码方法,亦可视作为是针对编码信号中的最后一帧进行特殊处理,所以如果当此第一帧即为编码信号中的最后一帧时,本发明则可直接采用以每一组内的所有行同时并行cnu更新运算,且每一组之间是依次进行vnu更新运算的方式来译码此第一帧。

换句话说,当接收装置欲对于编码信号中的最后一帧进行译码时,本发明可以是将已经由现有tdmp算法分层后的奇偶检验矩阵的这些层再进行分组,并采用以每一组内的所有行同时并行cnu更新运算,且每一组之间是依次进行vnu更新运算的方式来译码此编码信号中的最后一帧,借以增加译码此最后一帧所能完成的迭代次数,并且使得所述ldpc码译码方法的性能可相对提升。需说明的是,本发明并不限制分析或判断出此第一帧是否为编码信号中的最后一帧的具体实现方式,故本领域普通技术人员应可依据实际需求或应用来进行相关设计。

最后,为了更进一步说明关于上述方法的运作流程,本发明进一步提供其方法的一种实施方式。请参阅图5,图5是本发明实施例所提供的采用改进tdmp算法的ldpc码译码电路的功能方块图。然而,下述电路仅是上述方法的其中一种实现方式,其并非用以限制本发明。另外,所述采用改进tdmp算法的ldpc码译码电路5可以适用于wlan系统下的任何一接收装置中,且此接收装置接收经由ldpc码编码器所输出具有多个帧的编码信号,但本发明并不限制接收装置的具体实现方式,本领域普通技术人员应可依据实际需求或应用来进行相关设计。

所述采用改进tdmp算法的ldpc码译码电路5可包括一判断电路501及一处理电路503。其中,上述判断电路501及处理电路503可以是通过纯硬件电路来实现,或者是通过硬件电路搭配固件或软件来实现,总而言之,本发明并不限制采用改进tdmp算法的ldpc码译码电路5的具体实现方式。另外,上述判断电路501及处理电路503可以是整合或分开设置,且本发明亦不以此为限制。

仔细地说,判断电路501分析与判断用以现有tdmp算法解码这些帧中的第一帧所能使用的一译码参数是否低于第一阈值。当此译码参数低于第一阈值时,处理电路503则用以对已经由现有tdmp算法分层后的奇偶检验矩阵的这些层再进行分组,并且采用以每一组内的所有行同时并行cnu更新运算,而每一组之间是依次进行vnu更新运算的方式来译码此第一帧。其中,每一组内皆包含n个层,且n为大于1的正整数。

类似地,当此译码参数并不低于第一阈值时,处理电路503则采用以每一层内的所有行同时并行cnu更新运算,且每一层之间是依次进行vnu更新运算的方式来译码此第一帧。也就是说,处理电路503用以现有tdmp算法来译码此第一帧。其中,详细的流程如前述实施例所述,因此有关其细部内容于此就不再多加赘述。

总而言之,此第一帧的解码参数即可例如为用以现有tdmp算法译码此第一帧所能使用的译码时间,或者为用以现有tdmp算法译码此第一帧所能完成的迭代次数。其中,n可以是根据帧的码长,或接收装置的性能而决定,且当n越大时,则用以本发明的改进tdmp算法译码此第一帧所能完成的迭代次数也就越大。

需要说明的是,如果当考虑到现有tdmp算法还可以分作为使用最小值-总和算法或总和-最小值算法,因此在处理电路503用以现有tdmp算法来译码此第一帧的步骤中。处理电路503还可以执行如下步骤。首先,判断此第一帧的解码参数是否低于第二阈值,并且当此第一帧的解码参数低于第二阈值时,处理电路503则决定使用最小值-总和算法来译码此第一帧。又或者是,当此第一帧的译码参数并不低于第二阈值时,处理电路503则决定使用总和-最小值算法来译码此第一帧。其中,详细的流程亦如前述实施例所述,因此有关其细部内容于此就不再多加赘述。

综上所述,本发明实施例所提供的采用改进tdmp算法的ldpc码译码方法及电路,可以是对已经由现有tdmp算法分层后的奇偶检验矩阵的这些层再进行分组,并采用以每一组内的所有行同时并行cnu更新运算,且每一组之间是依次进行vnu更新运算的方式来译码编码信号中的最后一帧,以借此增加译码此最后一帧所能完成的迭代次数,并且使得所述ldpc码译码方法的性能可进而相对提升。

以上所述,仅为本发明优选的具体实施方式,惟而本发明的特征并不局限于此,本领域的技术人员在本发明的领域内,可轻易思及的变化或修饰,皆可涵盖在本权利要求书中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1