CN115296676A - 一种提升Polar译码LLR运算性能的方法 - Google Patents
一种提升Polar译码LLR运算性能的方法 Download PDFInfo
- Publication number
- CN115296676A CN115296676A CN202210943888.7A CN202210943888A CN115296676A CN 115296676 A CN115296676 A CN 115296676A CN 202210943888 A CN202210943888 A CN 202210943888A CN 115296676 A CN115296676 A CN 115296676A
- Authority
- CN
- China
- Prior art keywords
- path
- layer
- llr
- calculation
- max
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明公开了一种提升Polar译码LLR运算性能的方法,包括以下步骤:S101:将LLR原始值存入两个大小相同的RAM中,层数S存入ROM;S102:同时从两个RAM中读取LLR值,同时读取S值,同时同步进行L条径的LLR运算;S103:LLR运算,中间节点数据存取参照步骤S101;S104:PM运算、路径排序、路径选择和路径更新;S105:LLR计算路径序号通过二维数组方式分层更新;S106:LLR计算路径序号更新后输出;S107:LLR中间缓存根据路径号和下一轮的层数分层更新数据;S108:输出Mbit译码结果,开始下一轮LLR计算;从LLR运算并行度和运算中间数据的缓存控制方面来提升LLR的运算效率,从而提升polar译码器的性能。
Description
技术领域
本发明涉及polar码译码技术领域和无线通信领域,具体为一种提升Polar译码LLR运算性能的方法。
背景技术
Polar码的编码过程较为简单,而译码过程复杂度较高,常用的译码算法主要有:连续消除译码、置信传播译码、线性规划译码、连续消除列表译码、以及基于SCL的CA-SCL译码等。
而现有译码算法仍存在一些问题:对于置信传播译码算法来说,性能太低不可接受,实际应用中很少使用;连续消除译码算法当母码长度比较小时性能非常一般;CA-SCL算法和SCL算法都是树形结构的串行译码,树形结构的每一层都要LLR计算,译码实现过程主要有LLR计算、PM值计算,路径排序、路径更新、输出译码比特等,通常一次译码一个bit,这样效率太低;因此有人提出了多bit Group译码,从一个bit的LLR扩展到多个bit的LLR,一次译码多个bit,这样树形结构下的层号会相应的减少,蝶形迭代运算的轮数也会成比例的减少,虽然如此,但会成比例增加译码设计的复杂度和资源消耗,而译码所需的时间依然很长;其中LLR由于需要多轮分层迭代运算,耗时最长,因此,减少LLR计算的耗时可较大提升polar译码器的性能。
所以,人们需要一种提升Polar译码LLR运算性能的方法来解决上述问题,从LLR运算并行度和运算中间数据的缓存控制方面来提升LLR的运算效率,从而提升polar译码器的性能。
发明内容
本发明的目的在于提供一种提升Polar译码LLR运算性能的方法,以解决上述背景技术中提出的问题。
为了解决上述技术问题,本发明提供如下技术方案:一种提升Polar译码LLR运算性能的方法,包括以下步骤:
S101:将LLR原始值存入两个大小相同的RAM中,层数S存入ROM;
S102:同时从两个RAM中读取LLR值,同时读取S值,同时同步进行L条径的LLR运算;
S103:LLR运算,中间节点数据存取参照步骤S101;
S104:PM运算、路径排序、路径选择和路径更新;
S105:LLR计算路径序号通过二维数组方式分层更新;
S106:LLR计算路径序号更新后输出;
S107:LLR中间缓存根据路径号和下一轮的层数分层更新数据;
S108:输出M bit译码结果,开始下一轮LLR计算。
进一步的,在步骤S101中:将母码长度为N的序列的LLR原始值串行存入两个大小相同的RAM中,LLR0到LLRN/2-1存入第一个RAM中,LLRN/2到LLRN-1存入第二个RAM中;选择B并行度进行存储,此时,存储的宽度为B个LLR的位宽之和,深度为同时树形结构的层号S存入ROM中不再变化。
进一步的,在步骤S102中:待最后一组LLR存入RAM中之后,同时读取两个RAM中的数据,其中,两个读地址完全相同,并同时读取ROM中的层号S;将两个RAM的读数据同时赋给L个LLR计算路径,此时,L个路径同时同步开始计算,并且计算的层号完全相同。
进一步的,在步骤S103中:每条路径都有两个RAM缓存中间计算数据,那么L条路径共2*L个RAM缓存中间计算数据,层号的最大值为Smax=log2N,下面参照步骤S101的方式进行RAM的读写:
假设每轮译码M个bit,从第Smax层开始计算,一直计算到第log2M+1层,第Smax层的计算结果中的前个LLR值存入第一个RAM,后个LLR存入第二个RAM中,按照B并行度,存储地址为0到同理,第Smax-1层的计算结果存储地址为到第Smax-2层的计算结果存储地址为到依次类推,到第log2M+4层和第log2M+3层的计算结果分别存入RAM的最后两个地址,第log2M+2层和第log2M+1层计算结果存入到寄存器中,其中第log2M+1层的结果为本轮M个译码比特,一轮运算结束,待路径排序之后再进行下一轮计算;
步骤S103具体包括以下步骤,下面具体实施同此操作:
步骤S202:层号的最大值为Smax=log2N,计算从第Smax层开始,一直计算到第log2M+1层,第Smax层同时读取步骤S101中的两个RAM,读地址相同,并将计算结果存储在两个RAM的前个地址,第一个RAM存储前个值,第二个RAM存储后个值;
步骤S204:第log2M+2层和第log2M+1层计算结果存入到寄存器中,一个时钟周期完成计算,第log2M+1层计算结果为本轮译码比特,送往后级进行后级运算处理。
进一步的,在步骤S104中:进行PM运算、路径排序、路径选择和路径更新。
进一步的,在步骤S105中:当下一轮的路径序号发生变化时,使用二维数组存储交换路径序号来进行RAM数据交换的控制管理;二维数组的两个维度是层级:Smax到log2M+1和路径值:0到L-1,每一层的路径初始值都相同,均为当前径的路径值。
进一步的,在步骤S106中:使用保留下来的L个路径号和当前层号读取二维数组中的旧值,并在下一个时钟周期,更新至新径的同一层,当前层号及以上的层使用旧值,以下的层使用新值,并将对应径和对应层的值读取出来用于LLR计算中间缓存数据的交换更新。
进一步的,在步骤S107中:根据二维数组输出的路径值进行RAM数据的交换更新,并将无需更新的旧值保存在原RAM中,新值更新到更新后的路径缓存RAM中。
进一步的,步骤S106、步骤S107、步骤S108具体内容包括:
步骤S301:将每一层的二维数组初始值均设为当前径的路径号;
步骤S302:接收本轮路径排序后保留下来的L条路径号和下一轮运算的层号;
步骤S303:根据路径号将二维数组中的旧值读出;
步骤S304:根据路径号和下一轮运算的层号将二维数组中的值读出,如路径0下一轮运算的层号是第Smax或Smax-1则读出的是路径0第Smax层的值,若下一轮运算的层号是第Smax-2则读出的是路径0第Smax-1层的值,其余径和其余层依此类推,读出值用于LLR中间缓存RAM数据的交换;
步骤S305:在旧值读出后的下一周期,根据下一轮运算的层号和路径号将旧值更新至新路径对应的层,而其余层全部更新为新值:若下一轮待运算的是第Smax层,则二维数组中每一层的路径值都是新值;若下一轮待运算的是第Smax-1层,则二维数组第Smax层的路径值为旧值,其余层的值为新值;若下一轮待运算的是第Smax-2层,则二维数组第Smax和Smax-1层的路径值为旧值,其余层的值为新值;新值等于每条径的原始初值,旧值为二维数组读出的值;依此类推;
步骤S306:根据步骤S304输出的路径值更新LLR中间缓存RAM数据并做LLR计算。
其中,Polar码是指极化码,表示一类线性分组码;LLR表示对数似然比;RAM表示随机存储器;ROM表示只读存储器;S表示树形结构的层号;bit表示比特,为信息量的最小单位;bit Group译码表示比特组;CRC表示循环冗余校验码,是数据通信领域中最常用的一种查错校验码。
与现有技术相比,本发明所达到的有益效果是:
本发明实施了一种提升Polar译码LLR运算性能的方法,通过
(1)设置合理的运算并行度,在可接受的复杂度下减少迭代运算的轮数以减少LLR运算的时间;以母码长度为512(N=512)为例,采用4bit group(M=4)的方式译码运算,运算轮数为128轮,是单bit运算轮数的1/4;采用16并行度(B=16)位宽组合减少LLR原始数据缓存的读写时间,读写时间为单个并行度的1/16;
(2)设置LLR接收缓存为两个RAM,顺序写入,同时读出,在不增加缓存的基础上节省读数据时间,读RAM提升1倍效率,后续LLR迭代运算各中间节点的结果缓存同样的方法写入读出,将读RAM的效率提升1倍;
(3)选择合理的中间节点缓存RAM的控制管理方式,分层交换和新旧值控制管理,使得未计算层级的数据交换不占用读写RAM的时间;按优点(1)中示例,此部分理论上全部128轮的读写时间可节省3924个时钟周期;
(4)此方法可同时支持多种母码长度的LLR运算,如连续3个candidate的母码长度分别为512、256和128,均可正常进行译码运算;对母码长度为512的场景来说,此方法128轮LLR计算只需要476个时钟周期;
(5)在此方法基础上,还可以继续叠加其他方式;如L条路径早停,乒乓译码等,在增加少量复杂度和资源消耗的情况下,提升译码效率;
(6)此方法可用于但不限于polar译码器的LLR运算,LDPC译码、MIMO处理中LLR计算,以及FFT的迭代运算中都可使用本方法的全部或部分步骤处理。
其中,LDPC译码表示一种线性分组码,MIMO表示用于无线通信的天线技术。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是本发明一种提升Polar译码LLR运算性能的方法的计算流程示意图;
图2为本发明一种提升Polar译码LLR运算性能的方法的LLR运算路径更新实施例示意图;
图3为本发明一种提升Polar译码LLR运算性能的方法的实施例LLR初始数据缓存示意图;
图4为本发明一种提升Polar译码LLR运算性能的方法的实施例LLR中间数据缓存示意图;
图5为本发明一种提升Polar译码LLR运算性能的方法的实施例第9层LLR计算示意图;
图6为本发明一种提升Polar译码LLR运算性能的方法的实施例第8层LLR计算示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
请参阅图1-图6,本发明提供技术方案:一种提升Polar译码LLR运算性能的方法,包括以下步骤:
S101:将LLR原始值存入两个大小相同的RAM中,层数S存入ROM;
S102:同时从两个RAM中读取LLR值,同时读取S值,同时同步进行L条径的LLR运算;
S103:LLR运算,中间节点数据存取参照步骤S101;
S104:PM运算、路径排序、路径选择和路径更新;
S105:LLR计算路径序号通过二维数组方式分层更新;
S106:LLR计算路径序号更新后输出;
S107:LLR中间缓存根据路径号和下一轮的层数分层更新数据;
S108:输出M bit译码结果,开始下一轮LLR计算。
进一步的,在步骤S101中:将母码长度为N的序列的LLR原始值串行存入两个大小相同的RAM中,LLR0到LLRN/2-1存入第一个RAM中,LLRN/2到LLRN-1存入第二个RAM中;选择B并行度进行存储,此时,存储的宽度为B个LLR的位宽之和,深度为同时树形结构的层号S存入ROM中不再变化。
进一步的,在步骤S102中:待最后一组LLR存入RAM中之后,同时读取两个RAM中的数据,其中,两个读地址完全相同,并同时读取ROM中的层号S;将两个RAM的读数据同时赋给L个LLR计算路径,此时,L个路径同时同步开始计算,并且计算的层号完全相同。
进一步的,在步骤S103中:每条路径都有两个RAM缓存中间计算数据,那么L条路径共2*L个RAM缓存中间计算数据,层号的最大值为Smax=log2N,下面参照步骤S101的方式进行RAM的读写:
假设每轮译码M个bit,从第Smax层开始计算,一直计算到第log2M+1层,第Smax层的计算结果中的前个LLR值存入第一个RAM,后个LLR存入第二个RAM中,按照B并行度,存储地址为0到同理,第Smax-1层的计算结果存储地址为到第Smax-2层的计算结果存储地址为到依次类推,到第log2M+4层和第log2M+3层的计算结果分别存入RAM的最后两个地址,第log2M+2层和第log2M+1层计算结果存入到寄存器中,其中第log2M+1层的结果为本轮M个译码比特,一轮运算结束,待路径排序之后再进行下一轮计算;
步骤S103具体包括以下步骤,下面具体实施同此操作:
步骤S202:层号的最大值为Smax=log2N,计算从第Smax层开始,一直计算到第log2M+1层,第Smax层同时读取步骤S101中的两个RAM,读地址相同,并将计算结果存储在两个RAM的前个地址,第一个RAM存储前个值,第二个RAM存储后个值;
步骤S204:第log2M+2层和第log2M+1层计算结果存入到寄存器中,一个时钟周期完成计算,第log2M+1层计算结果为本轮译码比特,送往后级进行后级运算处理。
进一步的,在步骤S104中:进行PM计算、路径排序、路径选择和路径更新;
进一步的,在步骤S105中:当下一轮的路径序号发生变化时,使用二维数组存储交换路径序号来进行RAM数据交换的控制管理;二维数组的两个维度是层级:Smax到log2M+1和路径值:0到L-1,每一层的路径初始值都相同,均为当前径的路径值。
进一步的,在步骤S106中:使用保留下来的L个路径号和当前层号读取二维数组中的旧值,并在下一个时钟周期,更新至新径的同一层,当前层号及以上的层使用旧值,以下的层使用新值,并将对应径和对应层的值读取出来用于LLR计算中间缓存数据的交换更新。
进一步的,在步骤S107中:根据二维数组输出的路径值进行RAM数据的交换更新,并将无需更新的旧值保存在原RAM中,新值更新到更新后的路径缓存RAM中。
进一步的,步骤S106、步骤S107、步骤S108具体内容包括:
步骤S301:将每一层的二维数组初始值均设为当前径的路径号;
步骤S302:接收本轮路径排序后保留下来的L条路径号和下一轮运算的层号;
步骤S303:根据路径号将二维数组中的旧值读出;
步骤S304:根据路径号和下一轮运算的层号将二维数组中的值读出用于LLR中间缓存RAM数据的交换,如路径0下一轮运算的层号是第Smax或Smax-1则读出的是路径0第Smax层的值,若下一轮运算的层号是第Smax-2则读出的是路径0第Smax-1层的值,其余径和其余层依此类推;
步骤S305:在旧值读出后的下一周期,根据下一轮运算的层号和路径号将旧值更新至新路径对应的层,而其余层全部更新为新值:若下一轮待运算的是第Smax层,则二维数组中每一层的路径值都是新值;若下一轮待运算的是第Smax-1层,则二维数组第Smax层的路径值为旧值,其余层的值为新值;若下一轮待运算的是第Smax-2层,则二维数组第Smax和Smax-1层的路径值为旧值,其余层的值为新值;新值等于每条径的原始初值,旧值为二维数组读出的值;依此类推;
步骤S306:根据步骤S304输出的路径值更新LLR中间缓存RAM数据并做LLR计算。
其中,Polar码是指极化码,表示一类线性分组码;LLR表示对数似然比;RAM表示随机存储器;ROM表示只读存储器;S表示树形结构的层号;bit表示比特,为信息量的最小单位;bit Group译码表示比特组;CRC表示循环冗余校验码,是数据通信领域中最常用的一种查错校验码。
实施例一:
设定母码长度N=512,M=4(每轮译码4bit),B=16(并行度),L=8(保留8条径),则Smax=9,需要从第9层计算到第3层,以上设定值均可按照前述规则改变。
在步骤S101中:设定两个LLR原始值缓存RAM,存储方式如图3所示,共512个LLR,每个地址存16个,共需要32个地址,每个RAM深度为16;
在步骤S102中:第9层运算时,同时读出S101步骤中两个RAM中相同地址的数据,如同时读出地址0的数据,将LLR0和LLR256进行运算,LLR1和LLR257进行运算,依此类推;将计算后的256个LLR中间值存储到两个RAM中,存储方式如图4所示,第9层的计算结果前128个存入RAM0,后128个存入RAM1,每个地址存16个,共需要16个地址,每个RAM为地址0到地址7,其中第9层计算如图5所示。
在步骤S103中:第8层运算时,同时读出两个中间缓存RAM中第9层结果缓存的地址,如同时读出地址0的数据,将LLR0和LLR128进行运算,LLR1和LLR129进行运算,依此类推;将计算后的128个LLR中间值存储到两个RAM中,存储方式如图4所示,第8层的计算结果前64个存入RAM0,后64个存入RAM1,每个地址存16个,共需要8个地址,每个RAM为地址8到地址11,其中第8层计算如图6所示。后面层的计算依此类推,并将第3层的结果作为本轮译码的4个bit输出到后级模块做路径度量、路径排序、路径选择和路径更新等计算操作。
在步骤S105中:将LLR中间结果缓存的交换单独处理,使用二维数组的方式,如图2所示;两个维度分别是层号(9-3)和路径号(0-7),原始值都为当前径的路径号,路径0各层的路径号都是0,路径1的路径号都是1,依此类推;当每次接收到路径选择后保留的8条路径号时,根据输入的下一轮开始计算的层号,将二维数组的历史值读出,并在下一个时钟周期更新到对应的路径和对应的层。如路径0和路径1需要交换,下一轮从第9层开始运算,则所有径的每一层的路径号都为当前径的原始值,即路径0的所有层的路径号都为0,路径1的路径号都是1,依此类推。若下一轮从第8层开始运算,则路径0第9层的路径号为上一周期路径1读出来的旧值,其他层均为新值,全为0,路径1第9层的路径号为上一周期路径0读出来的旧值,其它层均为新值,全为1;若下一轮从第7层开始运算,则路径0第9和第8层的路径号为上一周期路径1读出来的旧值,其他层均为新值,全为0,路径1第9和第8层的路径号为上一周期路径0读出来的旧值,其他层均为新值,全为1;依此类推。
在步骤S106中:在读取旧值的同一时钟周期,根据下一轮开始运算的层号,读取当前径二维数组中的路径号。如下一轮从第9或第8层计算,读取各路径的第9层的路径号,下一轮从第7层计算,读取各路径的第8层的路径号,下一轮从第6层计算,读取各路径的第7层的路径号,依此类推,读出的路径号用于LLR计算中间结果缓存交换;
在步骤S107中:根据步骤S106中读出的路径号进行LLR计算中间结果缓存交换,如路径0和路径1交换,下一轮从第9层开始运算,将同第一轮的第9层运算一样读取数据,缓存中间结果;若下一轮从第8层开始运算,则路径0读取路径1两个RAM的0-7地址中的数据进行运算,同时路径1读取路径0两个RAM的0-7地址中的数据进行运算,路径0的计算结果写入路径0的两个RAM中8-11地址,路径1的计算结果写入路径1的两个RAM中8-11地址;若下一轮从第7层开始运算,则路径0读取路径1两个RAM的8-11地址中的数据进行运算,同时路径1读取路径0两个RAM的8-11地址中的数据进行运算,路径0的计算结果写入路径0的两个RAM中12-13地址,路径1的计算结果写入路径1的两个RAM中12-13地址,且各自路径2个RAM中0-7地址的数据不用读取和交换;其他层依此类推。
最后应说明的是:以上所述仅为本发明的优选实例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种提升Polar译码LLR运算性能的方法,其特征在于:一种提升Polar译码LLR运算性能的方法包括以下步骤:
S101:将LLR原始值存入两个大小相同的RAM中,层数S存入ROM;
S102:同时从两个RAM中读取LLR值,同时读取S值,同时同步进行L条径的LLR运算;
S103:LLR运算,中间节点数据存取参照步骤S101;
S104:PM运算、路径排序、路径选择和路径更新;
S105:LLR计算路径序号通过二维数组方式分层更新;
S106:LLR计算路径序号更新后输出;
S107:LLR中间缓存根据路径号和下一轮的层数分层更新数据;
S108:输出M bit译码结果,开始下一轮LLR计算。
3.根据权利要求2所述的一种提升Polar译码LLR运算性能的方法,其特征在于:在步骤S102中:待最后一组LLR存入RAM中之后,同时读取两个RAM中的数据,其中,两个读地址完全相同,并同时读取ROM中的层号S;将两个RAM的读数据同时赋给L个LLR计算路径,此时,L个路径同时同步开始计算,并且计算的层号完全相同。
4.根据权利要求3所述的一种提升Polar译码LLR运算性能的方法,其特征在于:在步骤S103中:每条路径都有两个RAM缓存中间计算数据,那么L条路径共2*L个RAM缓存中间计算数据,层号的最大值为Smax=log2N,下面参照步骤S101的方式进行RAM的读写:
假设每轮译码M个bit,从第Smax层开始计算,一直计算到第log2M+1层,第Smax层的计算结果中的前个LLR值存入第一个RAM,后个LLR存入第二个RAM中,按照B并行度,存储地址为0到同理,第Smax-1层的计算结果存储地址为到第Smax-2层的计算结果存储地址为到依次类推,到第log2M+4层和第log2M+3层的计算结果分别存入RAM的最后两个地址,第log2M+2层和第log2M+1层计算结果存入到寄存器中,其中第log2M+1层的结果为本轮M个译码比特,一轮运算结束,待路径排序之后再进行下一轮计算;
5.根据权利要求4所述的一种提升Polar译码LLR运算性能的方法,其特征在于:在步骤S104中:进行PM计算、路径排序、路径选择和路径更新,具体包括以下步骤:
步骤S202:层号的最大值为Smax=log2N,计算从第Smax层开始,一直计算到第log2M+1层,第Smax层同时读取步骤S101中的两个RAM,读地址相同,并将计算结果存储在两个RAM的前个地址,第一个RAM存储前个值,第二个RAM存储后个值;
步骤S204:第log2M+2层和第log2M+1层计算结果存入到寄存器中,一个时钟周期完成计算,第log2M+1层计算结果为本轮译码比特,送往后级进行后级运算处理。
6.根据权利要求5所述的一种提升Polar译码LLR运算性能的方法,其特征在于:在步骤S105中:当下一轮的路径序号发生变化时,使用二维数组存储交换路径序号来进行RAM数据交换的控制管理;二维数组的两个维度是层级:Smax到log2M+1和路径值:0到L-1,每一层的路径初始值都相同,均为当前径的路径值。
7.根据权利要求6所述的一种提升Polar译码LLR运算性能的方法,其特征在于:在步骤S106中:使用保留下来的L个路径号和当前层号读取二维数组中的旧值,并在下一个时钟周期,更新至新径的同一层,当前层号及以上的层使用旧值,以下的层使用新值,并将对应径和对应层的值读取出来用于LLR计算中间缓存数据的交换更新。
8.根据权利要求7所述的一种提升Polar译码LLR运算性能的方法,其特征在于:在步骤S107中:根据二维数组输出的路径值进行RAM数据的交换更新,并将无需更新的旧值保存在原RAM中,新值更新到更新后的路径缓存RAM中。
10.根据权利要求9所述的一种提升Polar译码LLR运算性能的方法,其特征在于:步骤S106、步骤S107、步骤S108具体内容包括:
步骤S301:将每一层的二维数组初始值均设为当前径的路径号;
步骤S302:接收本轮路径排序后保留下来的L条路径号和下一轮运算的层号;
步骤S303:根据路径号将二维数组中的旧值读出;
步骤S304:根据路径号和下一轮运算的层号将二维数组中的值读出用于LLR中间缓存RAM数据的交换,如路径0下一轮运算的层号是第Smax或Smax-1则读出的是路径0第Smax层的值,若下一轮运算的层号是第Smax-2则读出的是路径0第Smax-1层的值,其余径和其余层依此类推;
步骤S305:在旧值读出后的下一周期,根据下一轮运算的层号和路径号将旧值更新至新路径对应的层,而其余层全部更新为新值:若下一轮待运算的是第Smax层,则二维数组中每一层的路径值都是新值;若下一轮待运算的是第Smax-1层,则二维数组第Smax层的路径值为旧值,其余层的值为新值;若下一轮待运算的是第Smax-2层,则二维数组第Smax和Smax-1层的路径值为旧值,其余层的值为新值;新值等于每条径的原始初值,旧值为二维数组读出的值;依此类推;
步骤S306:根据步骤S304输出的路径值更新LLR中间缓存RAM数据并做LLR计算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210943888.7A CN115296676B (zh) | 2022-08-04 | 2022-08-04 | 一种提升Polar译码LLR运算性能的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210943888.7A CN115296676B (zh) | 2022-08-04 | 2022-08-04 | 一种提升Polar译码LLR运算性能的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115296676A true CN115296676A (zh) | 2022-11-04 |
CN115296676B CN115296676B (zh) | 2023-10-10 |
Family
ID=83828786
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210943888.7A Active CN115296676B (zh) | 2022-08-04 | 2022-08-04 | 一种提升Polar译码LLR运算性能的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115296676B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170149531A1 (en) * | 2015-11-24 | 2017-05-25 | Coherent Logix, Incorporated | Memory Management and Path Sort Techniques in a Polar Code Successive Cancellation List Decoder |
CN108964671A (zh) * | 2017-05-27 | 2018-12-07 | 华为技术有限公司 | 一种译码方法及译码器 |
US20190165807A1 (en) * | 2016-08-12 | 2019-05-30 | Huawei Technologies Co., Ltd. | Decoding Method and Device, and Decoder |
CN110661533A (zh) * | 2018-06-28 | 2020-01-07 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 优化译码器存储极化码译码性能的方法 |
CN111224680A (zh) * | 2019-11-29 | 2020-06-02 | 北京航空航天大学 | 一种低延时高可靠的极化码快速译码方法和译码器 |
CN111786683A (zh) * | 2020-05-29 | 2020-10-16 | 东南大学 | 一种低复杂度的极化码多码块译码器 |
CN112104412A (zh) * | 2020-11-17 | 2020-12-18 | 四川九洲电器集团有限责任公司 | 一种适用于低轨卫星宽带通信的加速器 |
-
2022
- 2022-08-04 CN CN202210943888.7A patent/CN115296676B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170149531A1 (en) * | 2015-11-24 | 2017-05-25 | Coherent Logix, Incorporated | Memory Management and Path Sort Techniques in a Polar Code Successive Cancellation List Decoder |
US20190165807A1 (en) * | 2016-08-12 | 2019-05-30 | Huawei Technologies Co., Ltd. | Decoding Method and Device, and Decoder |
CN108964671A (zh) * | 2017-05-27 | 2018-12-07 | 华为技术有限公司 | 一种译码方法及译码器 |
CN110661533A (zh) * | 2018-06-28 | 2020-01-07 | 西南电子技术研究所(中国电子科技集团公司第十研究所) | 优化译码器存储极化码译码性能的方法 |
CN111224680A (zh) * | 2019-11-29 | 2020-06-02 | 北京航空航天大学 | 一种低延时高可靠的极化码快速译码方法和译码器 |
CN111786683A (zh) * | 2020-05-29 | 2020-10-16 | 东南大学 | 一种低复杂度的极化码多码块译码器 |
CN112104412A (zh) * | 2020-11-17 | 2020-12-18 | 四川九洲电器集团有限责任公司 | 一种适用于低轨卫星宽带通信的加速器 |
Also Published As
Publication number | Publication date |
---|---|
CN115296676B (zh) | 2023-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8756479B2 (en) | LDPC multi-decoder architectures | |
US10411735B1 (en) | Systems and methods for an iterative decoding scheme | |
CN111224680B (zh) | 一种低延时高可靠的极化码快速译码方法和译码器 | |
KR20060057253A (ko) | 통합노드 프로세싱을 이용한 저밀도 패리티 검사 코드복호 방법 및 장치 | |
US20150227419A1 (en) | Error correction decoder based on log-likelihood ratio data | |
CN101777921B (zh) | 用于显式存储片上系统的结构化ldpc码译码方法及装置 | |
CN109347486B (zh) | 低复杂度高吞吐率的5g ldpc编码器和编码方法 | |
CN111294061B (zh) | 一种原始比特错误率感知的译码软判决延迟降低方法 | |
US8463982B2 (en) | Method of storing and accessing error correcting code in NAND flash | |
CN109935263B (zh) | 非易失性存储器的编译码方法及存储系统 | |
JPH01158698A (ja) | 半導体メモリ | |
TW201029337A (en) | Method for decoding LDPC code and the circuit thereof | |
CN115296676A (zh) | 一种提升Polar译码LLR运算性能的方法 | |
CN102201817B (zh) | 基于存储器折叠架构优化的低功耗ldpc译码器 | |
CN111431543B (zh) | 可变码长可变码率qc-ldpc译码方法及装置 | |
CN101789794A (zh) | 低密度奇偶校验码的解码方法及其电路 | |
CN111446971A (zh) | 一种基于共享子矩阵的自适应低密度奇偶校验码编码方法 | |
CN107959502B (zh) | 一种ldpc编码方法 | |
CN117176185B (zh) | 一种基于极化码的数据编解码方法、装置和存储介质 | |
CN116662063B (zh) | 一种闪存的纠错配置方法、纠错方法、系统、设备及介质 | |
CN101106385A (zh) | 一种维特比译码装置及方法 | |
Zhou et al. | An Efficient Parallel Successive Cancellation List Polar Decoder Based on GPUs | |
CN115714603A (zh) | 一种消除等待周期的qc-ldpc改进译码器 | |
CN107086871A (zh) | 一种码长自适应的llr‑bp译码器 | |
CN108880564B (zh) | 一种具备缓存容错能力的低密度奇偶校验码译码方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |