解码装置及解码方法与流程

文档序号:20487144发布日期:2020-04-21 21:45阅读:228来源:国知局
解码装置及解码方法与流程

本公开涉及一种解码装置及解码方法,特别涉及一种可有效调整递回次数的解码装置及解码方法。



背景技术:

错误更正码为通信系统的接收端中不可或缺的一环。现有错误更正码解码器(如低密度奇偶检查码解码器或涡轮码解码器)皆需要递回式解码运算,其解码效能会随着递回次数增加而改善。现有技术已发展出根据通道状况或讯杂比适时增加解码器的递回次数,以增进其效能。

然而,在许多通信技术中,接收端的延迟时间(latency)是必须被限制的。接收端必须要在此通信系统的传输延迟时间限制内,完成接收封包的处理程序,甚至回传确认(acknowledgement,ack)封包,以完成一次完整的传送接收流程。另一方面,每个封包所承载的数据量(payload)大小不同,若仅根据讯杂比调整解码器的递回次数,可能造成过长的解码延迟,而不利于通信技术的正常运行。

因此,如何有效控管解码延迟,成为业界所努力的目标之一。



技术实现要素:

因此,本公开的主要目的即在于提供一种可有效调整递回次数的解码装置及解码方法,以改善现有技术的缺点。

本公开公开了一种解码装置,包含有一递回次数计算单元,用来接收对应于一封包内的多个封包参数,并根据该多个封包参数,计算一符元内码字个数,其中该封包包括多个符元,每一符元包括至少一码字;以及根据该符元内码字个数,计算一递回次数;以及一递回式解码器,耦接于该递回次数计算单元,用来根据该递回次数,对该封包中一数据栏位内一码字进行解码。

本公开公开了一种解码装置,包含有一递回式解码器,接收一封包的一第一码字及一第一递回时间上限,根据该第一递回时间上限对该第一码字进行解码;一提前终止判断单元,用来判断该递回式解码器对该第一码字进行解码的过程是否需要提前终止,当该提前终止判断单元判断该第一码字的解码过程需要提前终止时,该提前终止判断单元输出对应于该第一码字的一第一实际解码时间,其中该第一实际解码时间小于该第一递回时间上限;以及一递回次数计算单元,取得一预设递回时间上限,用来计算对应于一第二码字的一第二递回时间上限,该第二递回时间上限为该预设递回时间上限加上一剩余时间差,该剩余时间差为该第一递回时间上限减去该第一实际解码时间。

本公开公开了一种解码方法,应用于一解码装置,该解码方法包括接收对应于一封包内的多个封包参数,并根据该多个封包参数,计算一符元内码字个数,其中该封包包括多个符元,每一符元包括至少一码字;根据该符元内码字个数,计算一递回次数;以及根据该递回次数,对该封包中一数据栏位内一码字进行解码。

附图说明

图1为根据本公开一实施例所示出的解码装置的示意图。

图2为根据本公开一实施例所示出的解码流程的示意图。

图3为根据本公开一实施例所示出的解码流程的示意图。

图4为根据本公开一实施例所示出的解码流程的示意图。

图5为一封包的封包格式(packetformat)示意图。

图6为根据本公开一实施例所示出的解码装置的示意图。

图7为根据本公开一实施例所示出的解码流程的示意图。

图8为根据本公开一实施例所示出的实际解码时间与预设递回时间上限的示意图。

符号说明

10、60解码装置

12、62递回次数计算单元

14、64递回式解码器

20、30、40、70解码流程

202~206、302~308、402~408、702~708步骤

bn递回时间上限

cf控制栏位

cw码字

dd解码后数据

df数据栏位

icw递回次数

pkt封包

pmpkt封包参数

tn-1实际解码时间

具体实施方式

图1为根据本公开一实施例所示出的解码装置10的示意图,图2为根据本公开一实施例所示出的解码流程20的示意图。解码装置10可设置于一通信系统的接收装置中,该通信系统可为lte或wlan系统,而不限于此。接收装置可接收通信系统的一封包pkt,如图5所示,封包pkt包括一控制栏位(controlfield)cf以及一数据栏位(datafield)df。另外,封包pkt中可包含多个符元(symbol),而每一符元可为正交分频多工(orthogonalfrequencydivisionmultiplexing,ofdm)符元,其包含至少一码字(codeword)cw。解码装置10用来对于数据栏位df中的多个码字cw进行解码,以产生其对应的解码后数据dd。码字cw可为低密度奇偶检查码(lowdensityparitycheckcode,ldpccode)、涡轮码(turbocode)或其他需要递回式解码的错误更正码(errorcorrectingcode,ecc)。解码装置10可根据封包pkt所承载的数据量(payload)大小,调整对封包pkt内码字cw进行解码时的递回次数,以有效控管解码装置10因解码所产生的延迟(latency)。

解码装置10包括一递回次数计算单元12以及一递回式解码器14,递回次数计算单元12接收对应于封包pkt内的多个封包参数pmpkt,并根据多个封包参数pmpkt,计算一符元内码字个数ncw(步骤202);递回次数计算单元12根据符元内码字个数ncw,计算一递回次数icw(步骤204)。递回式解码器14耦接于递回次数计算单元12以接收递回次数icw,递回式解码器14根据递回次数icw,对封包pkt中数据栏位df内一码字cw进行解码(步骤206)。符元内码字个数ncw可为平均位于单一符元内的码字个数,递回次数icw可为递回式解码器14对码字cw进行解码时的一递回次数上限,即递回式解码器14最多只能对码字cw进行icw次迭代解码运算。

步骤202的多个封包参数pmpkt可包括封包pkt的一封包时间长度ttime、一保护间隔(guardinterval)长度ngi、数据栏位df中封包pkt所承载数据的一数据长度npld、一封包内位元数navbit、一符元区间tsym或是一调制编码模式指标(modulationcodingschemeindex)mcs。多个封包参数pmpkt可由接收装置对控制栏位cf中的控制信息进行解码或加以计算后所得到。以wlan通信系统为例,封包时间长度ttime、保护间隔长度ngi、数据长度npld可由接收装置对控制栏位cf中相关于sig/sig-a/sig-b栏位进行解码后得到。以lte通信系统为例,多个封包参数pmpkt可由接收装置对控制栏位物理下行控制通道(physicaldownlinkcontrolchannel,pdcch)中相关于下行控制信息(downlinkcontrolinformation,dci)的栏位进行解码后得到。

于一实施例中,针对封包pkt,递回次数计算单元12可根据多个封包参数pmpkt决定对应于封包pkt的一递回次数icw_pkt,递回次数icw_pkt适用于封包pkt内所有的码字cw;而针对另一封包pkt’,递回次数计算单元12可根据多个封包参数pmpkt’决定对应于封包pkt’的另一递回次数icw_pkt’,递回次数icw_pkt’适用于封包pkt’内所有的码字cw。

图3示出解码装置10所执行的一解码流程30,解码流程30可产生对应于封包pkt的递回次数icw_pkt,其包括以下步骤:

步骤302:根据封包pkt的多个封包参数pmpkt计算一封包内码字个数ncw_pkt以及一封包内符元个数nsym_pkt。

步骤304:根据封包内码字个数ncw_pkt及封包内符元个数nsym_pkt,计算对应于该封包的一符元内码字个数ncw_ave_pkt。

步骤306:根据符元内码字个数ncw_ave_pkt计算对应于封包pkt的一递回次数icw_pkt。

步骤308:根据递回次数icw_pkt,对封包pkt中数据栏位df内的所有码字cw进行解码。

以wlan系统为例,于步骤302中,递回次数计算单元12可根据多个封包参数pmpkt中的封包时间长度ttime及保护间隔长度ngi,计算出封包pkt内的ofdm符元个数,即封包内符元个数nsym_pkt,另外,递回次数计算单元12可根据数据长度npld、封包内位元数navbit、一编码率r以及表i取得于封包pkt内的码字个数,即封包内码字个数ncw_pkt。其中,递回次数计算单元12可根据调制编码模式指标mcs以及表ii取得编码率r。其中,代表天花板函数或无条件进位运算。

表i

表ii

于步骤304中,递回次数计算单元12可计算符元内码字个数ncw_ave_pkt为符元内码字个数ncw_ave_pkt代表于封包pkt中每一ofdm符元平均需承载的码字个数。

于步骤306中,递回次数计算单元12可根据ofdm符元区间tsym及符元内码字个数ncw_ave_pkt,计算封包pkt中每一码字cw平均可分配到的码字解码时间tcw_ave_pkt为接着,递回次数计算单元12根据码字解码时间tcw_ave_pkt及一单次递回时间titr,计算对应于封包pkt的递回次数icw_pkt为其中代表地板函数或无条件舍去运算,单次递回时间titr为单次迭代解码运算所耗费的时间,其可由离线计算、电路设计过程或测量而得。

于步骤308中,递回式解码器14以递回次数icw_pkt作为对封包pkt中每一码字cw进行递回式解码时的递回次数上限。举例来说,假设icw_pkt=10,递回式解码器14可对每一码字cw皆进行10次迭代解码运算,或对每一码字cw皆进行最多10次迭代解码运算。换句话说,即使递回式解码器14已对一码字cwn进行10次迭代解码运算仍无法成功解码,递回式解码器14需放弃对码字cwn进行解码而需对下一码字cwn+1进行解码,另一方面,即使码字cwn仅耗费4次迭代解码运算即可成功解码,解码装置10仍需等待6个单次递回时间titr才能再对下一码字cwn+1进行解码。

于另一实施例中,递回次数计算单元12可针对封包pkt内第i个符元(即特定符元),根据多个封包参数pmpkt决定对应于第i个符元的一递回次数icw_sym_i,递回次数icw_sym_i适用于第i个符元内所有的码字cw。

图4示出解码装置10所执行的一解码流程40,解码流程40可产生对应于第i个符元的递回次数icw_sym_i,其包括以下步骤:

步骤402:根据该多个封包参数pmpkt取得一符元内编码位元数ncbps以及一码字内位元个数lcb。

步骤404:根据符元内编码位元数ncbps及码字内位元个数lcb,计算对应于封包pkt内第i个符元的一符元内码字个数ncw_sym_i。

步骤406:根据符元内码字个数ncw_sym_i计算递回次数icw_sym_i。

步骤408:根据递回次数icw_sym_i,对封包pkt内第i个符元内的所有码字cw进行解码。

以wlan系统为例,于步骤402中,符元内编码位元数ncbps代表每一个ofdm符元所载的编码的数据位元数(codedbitspersymbol),递回次数计算单元12可根据调制编码模式指标mcs及表ii取得第i个ofdm符元中每个子载波所传送的位元数bbpscs,计算符元内编码位元数ncbps为ncbps=bbpscs·nsd·nss,其中nsd--代表第i个ofdm符元的数据子载波(datasub-carrier)个数,nss代表空间串流(spatialstream)的个数。接着,递回次数计算单元12可计算封包pkt内总共所传送的位元数navbit(即封包内位元数navbit)为navbit=ncbps·nsym_pkt,其中封包内符元个数nsym_pkt的计算方式可参考步骤302。最后,递回次数计算单元12可计算封包pkt内每个码字cw平均分配到的位元数lcb(即码字内位元个数lcb)为其中,封包pkt中平均符元内码字个数ncw_ave_pkt的计算方式可参考步骤304。

于步骤404中,递回次数计算单元12可计算封包pkt内第i个符元平均需承载的码字个数ncw_sym_i(即符元内码字个数ncw_sym_i)为其中ncbps+nres_i可代表欲编码于第i个符元中的一总和位元数,剩余位元数nres_i代表第(i-1)个符元(即先前符元,其为特定符元的前一个符元)中所有位元经过编码成码字cw后所剩余的位元数,即未被编码于第(i-1)个符元的码字cw中的位元数,剩余位元数nres_i可表示为其中i=1…nsym_pkt。

类似于步骤306,递回次数计算单元12于步骤406中可计算第i个符元中每一码字cw平均可分配到的码字解码时间tcw_sym_i为

并计算对应于第i个符元的递回次数icw_sym_i为

类似于步骤308,递回式解码器14于步骤408中以递回次数icw_sym_i为对第i个符元中每一码字cw进行递回式解码时的递回次数上限。

由上可知,解码装置10可执行解码流程30,以针对每个封包调整其对应的递回次数;解码装置10可执行解码流程40,以针对每个符元调整其对应的递回次数。相较于解码流程30,解码流程40调整递回次数的机制更具弹性,其可在长封包或通道多变的环境中,展现更佳的性能。

更进一步地,本公开的解码装置还可针对每个码字调整其对应的递回次数。请参考图6,图6为根据本公开一实施例所示出的解码装置60的示意图。简单来说,假设封包pkt中数据栏位df的第(n-1)个码字cwn-1对应一递回时间上限bn-1,解码装置60可观察在对码字cwn-1进行解码的过程中是否需占用到整个bn-1的时间,若否(即提前终止对码字cwn-1的解码过程),解码装置60可将码字cwn-1未用到的剩余时间分配给码字cwn来进行解码,而码字cwn即可获得较充裕的解码时间。若封包pkt中数据栏位df的所有码字皆可提前终止,即可大符缩短因解码所造成的时间延迟。

解码装置60包括一递回次数计算单元62、一递回式解码器64以及一提前终止判断单元66。对数据栏位df的第1个码字cw1来说,递回式解码器64可接收对应于码字cw1的一递回时间上限b1,并根据递回时间上限b1对码字cw1进行解码,其中递回时间上限b1可为一预设递回时间上限b0,即b1=b0,而预设递回时间上限b0可通过执行解码流程30或解码流程40而得(即b0=icw_pkt·titr或b0=icw_sym_i·titr),或预设递回时间上限b0可依照实际状况而定。提前终止判断单元66用来判断递回式解码器64对码字cw1进行解码的过程是否需要提前终止(earlytermination),当提前终止判断单元66判断码字cw1的解码过程需要提前终止时,提前终止判断单元66输出对应于码字cw1的一实际解码时间t1,而实际解码时间t1小于递回时间上限b1,即t1<b1。递回次数计算单元62取得预设递回时间上限b0,并计算对应于数据栏位df的第2个码字cw2的一递回时间上限b2为b2=b0+δt1,其中剩余时间差δt1为δt1=b1-t1。而递回式解码器64可根据递回时间上限b2对码字cw2进行解码,若码字cw2解码的过程中可提前终止,递回次数计算单元62可将剩余时间差δt2(δt2=b2-t2,t2为码字cw2的实际解码时间)分配给第3个码字cw3,即对应于码字cw3的一递回时间上限b3为b3=b0+δt2,以此类推。其中码字cw1~cw3的实际解码时间t1~t3与预设递回时间上限b0的相对关系图示出于图8,由图8可知,码字cw1、cw2的剩余时间差δt1、δt2可留给码字cw3解码时使用,而码字cw3可具有较长的递回时间上限b3/实际解码时间t3。

关于解码装置60可归纳成一解码流程70,其示出于图7。解码装置60/递回次数计算单元62可事先取得预设递回时间上限b0后再执行解码流程70。当递回式解码器64根据递回时间上限bn-1对码字cwn-1进行解码(步骤702)时,提前终止判断单元66判断递回式解码器64对码字cwn-1进行解码的过程是否需要提前终止(步骤704),若是,提前终止判断单元66输出对应于码字cwn-1的实际解码时间tn-1(步骤706),而递回次数计算单元62计算对应于码字cwn的递回时间上限bn为bn=b0+δtn-1,其中剩余时间差δtn-1为δtn-1=bn-1-tn-1(步骤708)。另外,当递回次数计算单元62取得递回时间上限bn后,可根据单次递回时间titr将递回时间上限bn转换成对应于码字cwn的递回次数上限in。

于一实施例中,提前终止判断单元66可包括一循环冗余校验单元660,如图8所示。循环冗余校验单元660用来对一解码递回结果进行循环冗余校验(cyclicredundancycheck,crc),并产生一校验结果。该解码递回结果为递回式解码器64对码字cw(如cwn-1)进行一单次迭代解码运算后的结果。当校验结果显示该解码递回结果无误时,提前终止判断单元66判断码字cw(如cwn-1)可提前终止。

另外,除了循环冗余校验之外,提前终止判断单元66亦可利用位元节点提前终止机制(bitnodeearlytermination)或其他提前终止机制来决定是否需要提前终止机制。ldpc码的提前终止机制为本领域技术人员所公知,故于此不再赘述。

综上所述,本公开的解码装置可以封包为单位、以符元为单位或以码字为单位,动态地调整对码字解码的递回次数。相较于现有技术,本公开可有效控管因解码所造成的延迟。

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