CN117792407A - 一种用于极化码串行抵消列表译码的硬件排序系统 - Google Patents
一种用于极化码串行抵消列表译码的硬件排序系统 Download PDFInfo
- Publication number
- CN117792407A CN117792407A CN202410201290.XA CN202410201290A CN117792407A CN 117792407 A CN117792407 A CN 117792407A CN 202410201290 A CN202410201290 A CN 202410201290A CN 117792407 A CN117792407 A CN 117792407A
- Authority
- CN
- China
- Prior art keywords
- scl
- data
- output data
- decoding
- value
- 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
- 230000010287 polarization Effects 0.000 title claims abstract description 10
- 238000000034 method Methods 0.000 claims abstract description 40
- 230000001174 ascending effect Effects 0.000 claims abstract description 35
- 238000004220 aggregation Methods 0.000 claims abstract description 5
- 238000004140 cleaning Methods 0.000 claims description 9
- 238000012163 sequencing technique Methods 0.000 claims description 9
- 238000007476 Maximum Likelihood Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 238000003860 storage Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种用于极化码串行抵消列表译码的硬件排序系统,硬件排序方法包括:利用对集合进行升序排序获得输出数据集合,对集合进行升序排序获得输出数据集合;将SCL译码数据和SCL译码数据分别作为输出数据和输出数据,然后合并获得输出数据集合s;在输出数据集合s中选出最小的L个PM值作为输出数据集合a;对输出数据集合a进行升序排序获得输出序列;本发明对桶排序器的排序步骤进行优化,有效降低排序器的硬件资源开销。
Description
技术领域
本发明属于通信技术领域,具体涉及用于极化码串行抵消列表译码的硬件排序系统。
背景技术
SCL译码算法(succesive cancellation list decoding)是一种改进的自适应干扰解除译码方法,它是对串行抵消(Successive Cancellation,SC)译码算法的一种推广。SC译码算法的基本思想是利用对每个传输码字的对数似然比值(LLR)来进行译码决策。在SCL译码过程中,传输的码字被视为一个树状结构,其中的每一个结点都对应着一条可能的路径。
SCL译码算法在遇到冻结比特时不进行路径分裂,直接译码为0,在遇到信息比特位时,会对现存路径进行路径分裂;当分裂后路径总数达到2L时,需要对2L条路径的路径度量值(PathMetric,PM)进行排序,选出L条PM值最小的路径。SCL译码器的L越大,译码器的功耗越大,所需存储空间越大,所需运算器越多,路径度量值排序过程也越复杂。
现有技术(专利号CN109412609B)提出的硬件排序器使用了两个桶排序模块(上桶排序模块和下桶排序模块)对SCL译码数据进行排序,上桶排序模块用于对L条原始译码路径的PM值进行排序,下桶排序模块用于对L条分裂路径的PM值进行排序,但是桶形排序器的内部结构非常复杂,在硬件实现中依然占用很大的算力资源,导致排序器的硬件资源开销大并且效率较低。
发明内容
本发明提供了一种用于极化码串行抵消列表译码的硬件排序系统,利用SCL译码数据的特殊编排对桶排序器的排序步骤进行优化,有效降低排序器的硬件资源开销。
为达到上述目的,本发明所采用的技术方案是:
本发明第一方面提供了一种用于极化码串行抵消列表译码的硬件排序方法,包括:
获取待排序的SCL译码数据集合,记为;
对集合进行升序排序获得输出数据集合/>,对集合/>进行升序排序获得输出数据集合/>;将SCL译码数据/>和SCL译码数据/>分别作为输出数据/>和输出数据/>;
将输出数据集合、输出数据集合/>、输出数据/>和输出数据/>合并成为输出数据集合s;在输出数据集合s中选出最小的L个PM值作为输出数据集合a;
对输出数据集合a进行升序排序获得输出序列。
进一步的,为L条原始路径对应的PM值集合,所述集合/>为升序序列;/>为L条分裂路径对应的PM值集合;其中,/>,和/>,/>,/>是第/>条路径的译码值对应的最大似然比。
进一步的,对集合进行升序排序获得输出数据集合/>,包括:
SCL译码数据属于集合/>,将SCL译码数据/>依次和集合中的其他单个SCL译码数据进行比较获得比较指示值;当SCL译码数据/>的PM值大于集合/>中的其他单个SCL译码数据的PM值,比较指示值记为1;否则,比较指示值记为0;将每个比较指示值存放至寄存器;
对寄存器中的比较指示值进行累加,获得SCL译码数据对应的求和结果,记为;
根据求和结果对SCL译码数据进行升序排序,获得输出数据集合。
进一步的,将SCL译码数据依次和集合/>中的其他单个SCL译码数据进行比较获得比较指示值,包括:
若所述SCL译码数据的序号i为奇数,当i小于k时,SCL译码数据/>的PM值小于SCL译码数据/>的PM值,将SCL译码数据/>与SCL译码数据/>的比较结果固定为0;当i大于k且k为奇数时,SCL译码数据/>的PM值大于SCL译码数据/>的PM值,将SCL译码数据/>与SCL译码数据/>的比较结果固定为1;当i大于k且k为偶数时,选择/>个比较器分别将SCL译码数据/>与SCL译码数据/>进行对比获得比较指示值;
若所述SCL译码数据的序号i为偶数,当i大于k且k为奇数时,SCL译码数据/>的PM值大于SCL译码数据/>的PM值,将SCL译码数据/>与SCL译码数据/>的比较结果固定为1;当i大于k或k为偶数时,选择/>个比较器分别将SCL译码数据/>与SCL译码数据/>进行对比获得比较指示值。
进一步的,对寄存器中的比较指示值进行累加,获得SCL译码数据对应的求和结果,包括:
若所述SCL译码数据的序号i为奇数,当i大于k且k为偶数时,选择/>个加法器将SCL译码数据/>与SCL译码数据/>的比较指示值进行累加获得求和结果/>;
将求和结果与满足i大于k且k为奇数的SCL译码数据/>数量进行相加获得求和结果/>,表达公式为:
;
若所述SCL译码数据的序号i为偶数,当i大于k或k为偶数时,选择/>个加法器将SCL译码数据/>与SCL译码数据/>的比较指示值进行累加获得求和结果/>;
将求和结果与满足i大于k且k为奇数的SCL译码数据/>数量进行相加获得求和结果/>,表达公式为:
。
进一步的,根据求和结果对SCL译码数据进行升序排序,包括:
当设定输出数据集合中的第t位的输出数据/>且t为奇数,选取SCL译码数据对应的求和结果/>进行比较,选择求和结果最小的SCL译码数据/>作为输出数据/>,其中,SCL译码数据/>为第h个SCL译码数据,h属于集合/>或小于t的偶数集合;
当设定输出数据集合中的第t位的输出数据/>且t为偶数,选取SCL译码数据对应的求和结果/>进行比较,选择求和结果最小的SCL译码数据/>作为输出数据/>,其中,SCL译码数据/>为第/>个SCL译码数据,h属于集合/>或小于t的偶数集合。
对PM值集合进行升序排序获得输出数据集合/>,包括:
对PM值集合进行升序排序,根据/>和/>,推断出PM值集合/>中至少存在L/2个SCL译码数据的PM值小于SCL译码数据/>,并且PM值集合/>不属于输出数据集合a,对集合/>中的SCL译码数据进行PM值排序获得输出数据集合/>。
进一步的,对PM值集合进行升序排序获得输出数据集合/>,包括:
对PM值集合进行升序排序,根据/>和/>,推断出PM值集合/>中至少存在L/2个SCL译码数据的PM值小于SCL译码数据/>,并且PM值集合/>不属于输出数据集合a,对集合/>中的SCL译码数据进行PM值排序获得输出数据集合/>。
进一步的,在桶排序模块的输出数据集合s中选出最小的L个PM值作为输出数据集合a,包括:
所述输出数据集合;在桶排序模块的输出数据集合s中选出最小的L个PM值作为输出数据集合/>。
本发明第二方面提供了一种用于极化码串行抵消列表译码的硬件排序系统,包括输入模块、桶排序模块、半清洁模块和全排序模块;
所述输入模块,用于获取待排序的SCL译码数据集合,记为;
所述桶排序模块分为上桶排序器和下桶排序器,上桶排序器用于对集合进行升序排序获得输出数据集合/>,下桶排序器用于对集合/>进行升序排序获得输出数据集合/>;将SCL译码数据/>和SCL译码数据/>分别作为输出数据/>和输出数据/>;
所述半清洁模块用于将输出数据集合、输出数据集合/>、输出数据/>和输出数据合并成为桶排序模块的输出数据集合s;在桶排序模块的输出数据集合s中选出最小的L个PM值作为输出数据集合a;
所述全排序模块对输出数据集合a进行升序排序获得输出序列。
与现有技术相比,本发明的有益效果:
本发明对集合进行升序排序获得输出数据集合/>,对集合进行升序排序获得输出数据集合/>;将SCL译码数据/>和SCL译码数据分别作为输出数据/>和输出数据/>;将输出数据集合/>、输出数据集合/>、输出数据/>和输出数据/>合并成为桶排序模块的输出数据集合s;在输出数据集合s中选出最小的L个PM值作为输出数据集合a;对输出数据集合a进行升序排序获得输出序列;根据/>,/>和/>对桶排序器的排序步骤进行优化,有效降低排序器的硬件资源开销。
附图说明
图1是本实施例1提供了硬件排序方法的流程图;
图2是本实施例2提供了硬件排序系统的结构示意图;
图3是本实施例2提供了桶排序模块的结构示意图;
图4是本实施例2提供了半清洁模块的结构示意图;
图5是本实施例2提供了全排序模块的结构示意图;
图6是本实施例2提供了选择器组的结构示意图。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
实施例1
如图1所示,本实施提供了一种用于极化码串行抵消列表译码的硬件排序方法,包括:
获取待排序的SCL译码数据集合,记为,本实施中SCL译码数据为通信数据;/>为L条原始路径对应的PM值集合,所述集合/>为升序序列;/>为L条分裂路径对应的PM值集合;其中,/>,和/>,/>,/>是第/>条路径的译码值对应的最大似然比。
推导获得SCL译码数据的四个结论:
结论1:是/>中的最小值;
结论2:是/>中的最小值;
结论3:一定不属于PM值最小的L条路径;
结论4:在中,至少已经有L/2个数比/>小;
根据结论1,SCL译码数据已经确定为集合/>中的最小值,所以/>可以不参加序列/>的排序;根据结论2,SCL译码数据/>已经确定为集合中的最小值,根据结论3,/>已经确定不属于L条PM值最小的路径,所以和/>可以不参加序列/>的排序。
对集合进行升序排序获得输出数据集合/>,包括:
SCL译码数据属于集合/>,将SCL译码数据/>依次和集合中的其他单个SCL译码数据进行比较获得比较指示值,具体过程为:
若所述SCL译码数据的序号i为奇数,当i小于k时,SCL译码数据/>的PM值小于SCL译码数据/>的PM值,将SCL译码数据/>与SCL译码数据/>的比较结果固定为0;当i大于k且k为奇数时,SCL译码数据/>的PM值大于SCL译码数据/>的PM值,将SCL译码数据/>与SCL译码数据/>的比较结果固定为1;当i大于k且k为偶数时,选择/>个比较器分别将SCL译码数据/>与SCL译码数据/>进行对比获得比较指示值;
若所述SCL译码数据的序号i为偶数,当i大于k且k为奇数时,SCL译码数据/>的PM值大于SCL译码数据/>的PM值,将SCL译码数据/>与SCL译码数据/>的比较结果固定为1;当i大于k或k为偶数时,选择/>个比较器分别将SCL译码数据/>与SCL译码数据/>进行对比获得比较指示值;本实施与现有技术相比能够降低比较器的硬件资源开销。
对比获得比较指示值的过程为:当SCL译码数据的PM值大于集合/>中的其他单个SCL译码数据的PM值,比较指示值记为1;否则,比较指示值记为0;将每个比较指示值存放至寄存器。
利用加法器对寄存器中的比较指示值进行累加,获得SCL译码数据对应的求和结果,包括:
若所述SCL译码数据的序号i为奇数,当i大于k且k为偶数时,选择/>个加法器将SCL译码数据/>与SCL译码数据/>的比较指示值进行累加获得求和结果/>;
将求和结果与满足i大于k且k为奇数的SCL译码数据/>数量进行相加获得求和结果/>,表达公式为:
;
若所述SCL译码数据的序号i为偶数,当i大于k或k为偶数时,选择/>个加法器将SCL译码数据/>与SCL译码数据/>的比较指示值进行累加获得求和结果/>;
将求和结果与满足i大于k且k为奇数的SCL译码数据/>数量进行相加获得求和结果/>,表达公式为:
。
利用选择器根据求和结果对SCL译码数据进行升序排序,包括:
当设定输出数据集合中的第t位的输出数据/>且t为奇数,选择器选取SCL译码数据/>对应的求和结果/>进行比较,选择求和结果最小的SCL译码数据/>作为输出数据,其中,SCL译码数据/>为第h个SCL译码数据,h属于集合/>或小于t的偶数集合;
当设定输出数据集合中的第t位的输出数据/>且t为偶数,选择器选取SCL译码数据/>对应的求和结果/>进行比较,选择求和结果最小的SCL译码数据/>作为输出数据/>,其中,SCL译码数据/>为第/>个SCL译码数据,h属于集合/>或小于t的偶数集合。
利用选择器根据求和结果对SCL译码数据进行升序排序后获得输出数据集合;综上所述,本实施例降低了选择器和加法器的硬件资源开销。
对PM值集合进行升序排序获得输出数据集合/>,包括:
对PM值集合进行升序排序,根据/>和/>,推断出PM值集合/>中至少存在L/2个SCL译码数据的PM值小于SCL译码数据/>,并且PM值集合/>不属于输出数据集合a,对集合/>中的SCL译码数据进行PM值排序获得输出数据集合/>。
同理,对集合中的SCL译码数据进行PM值排序获得输出数据集合/>,包括:
SCL译码数据属于集合/>,将SCL译码数据/>依次和集合中的其他单个SCL译码数据进行比较获得比较指示值;当SCL译码数据的PM值大于集合/>中的其他单个SCL译码数据的PM值,比较指示值记为1;否则,比较指示值记为0;将每个比较指示值存放至寄存器;
利用加法器对寄存器中的比较指示值进行累加,获得SCL译码数据对应的求和结果,记为/>;
利用选择器根据求和结果对SCL译码数据进行升序排序,获得输出数据集合。
将SCL译码数据和SCL译码数据/>分别作为输出数据/>和输出数据/>;将输出数据集合/>、输出数据集合/>、输出数据/>和输出数据/>合并成为桶排序模块的输出数据集合s;
在桶排序模块的输出数据集合s中选出最小的L个PM值作为输出数据集合a,包括:
所述输出数据集合;在桶排序模块的输出数据集合s中选出最小的L个PM值作为输出数据集合/>;对输出数据集合a进行升序排序获得输出序列。
本实施例利用SCL译码数据的特殊编排,根据SCL译码数据部分已排序的性质对桶排序器中的比较、求和、排序步骤进行优化;虽然利用了两个桶排序器,但是对桶排序器进行优化后,在的条件下,本实施例相比于HBS降低了硬件资源开销和总时延。
实施例2
如图2至图6所示,本实施例提供了一种用于极化码串行抵消列表译码的硬件排序系统,所述硬件排序系统可以应用于实施例1所述的硬件排序方法,硬件排序系统包括输入模块、桶排序模块、半清洁模块和全排序模块;
所述输入模块用于获取所述SCL译码数据集合,记为;
所述桶排序模块分为上桶排序器和下桶排序器,上桶排序器用于对集合进行升序排序获得输出数据集合/>,下桶排序器用于对集合/>进行升序排序获得输出数据集合/>;将SCL译码数据/>和SCL译码数据/>分别作为输出数据/>和输出数据/>;
所述半清洁模块用于将输出数据集合、输出数据集合/>、输出数据/>和输出数据合并成为桶排序模块的输出数据集合s;在桶排序模块的输出数据集合s中选出最小的L个PM值作为输出数据集合a;
所述全排序模块对输出数据集合a进行升序排序获得输出序列。
本实施例以L=8为例,SCL译码数据为,其中L条原始路径的PM值集合/>,L条分裂路径的PM值集合/>,SCL译码数据满足的条件为:和/>,在/>中选出最小的8个PM值并对其进行升序排序;
SCL译码数据属于集合/>,将SCL译码数据/>依次和集合中的其他单个SCL译码数据进行比较获得比较指示值,包括:
若所述SCL译码数据的序号i为奇数,当i小于k时,SCL译码数据/>的PM值小于SCL译码数据/>的PM值,将SCL译码数据/>与SCL译码数据/>的比较结果固定为0;当i大于k且k为奇数时,SCL译码数据/>的PM值大于SCL译码数据/>的PM值,将SCL译码数据/>与SCL译码数据/>的比较结果固定为1;当i大于k且k为偶数时,选择/>个比较器分别将SCL译码数据/>与SCL译码数据/>进行对比获得比较指示值;
若所述SCL译码数据的序号i为偶数,当i大于k且k为奇数时,SCL译码数据/>的PM值大于SCL译码数据/>的PM值,将SCL译码数据/>与SCL译码数据/>的比较结果固定为1;当i大于k或k为偶数时,选择/>个比较器分别将SCL译码数据/>与SCL译码数据/>进行对比获得比较指示值。
表1:上桶排序器比较指示值以及求和结果
所述上桶排序器的SCL译码数据为,表1列出了上桶排序器比较和求和的结果,表格中的数字1或0是比较指示值,表格中最后一列是每一行数字的求和结果;
上桶排序器的比较指示值是关于斜对角线对称的,因为如果SCL译码数据和SCL译码数据/>的比较指示值为1,不需要使用比较器比较,SCL译码数据/>和SCL译码数据/>的比较指示值直接取为0;根据表格1可知L=8时上桶排序器需要使用12个比较器,利用加法器对寄存器中的比较指示值进行累加,获得SCL译码数据/>对应的求和结果,记为/>;对应的求和结果是/>;
利用选择器根据求和结果对SCL译码数据进行升序排序,获得输出数据集合。
下桶排序器的SCL译码数据,表2列出了下桶排序器比较指示值以及求和结果,其原理和上桶排序器相同;
表2:下桶排序器比较指示值以及求和结果
从表2中可以看出集合对应的求和结果是/>;下桶排序器的SCL译码数据集合/>经过下桶排序器处理后,输出数据集合是/>;
将输出数据集合、输出数据集合/>、输出数据/>和输出数据/>合并成为桶排序模块的输出数据集合s=/>;具体为:桶排序模块的输出数据集合s,其中/>等于SCL译码数据/>(87),/>等于SCL译码数据/>(118)。
对于半清洁模块,是用于对SCL译码数据进行排序选出最小的8个数,一共需要进行4次比较:/>和/>比较,/>和/>比较,/>和/>比较,/>和/>比较,如果前一个数大于后一个数,则交换两者的位置,比较后得出的输出数据/>。
对于全排序模块,用于对SCL译码数据进行升序排序,排序后的结果;
综合上面的叙述,本实施例实现了在输入的16个PM值
中选出PM值最小的8个数并进行升序排序,最后得出的排序结果是/>;
表3:L=8时硬件资源开销和译码时钟周期对比结果;
表3列出了L=8的条件下混合桶排序器(Hybrid Bucket Sorter,HBS)和本实施例(D-HBS)的硬件资源开销和译码时钟周期,其中SCL译码数据的位宽设置为15,根据表格3可以看出在L=8的条件下,D-HBS消耗的三种硬件资源查找表LUT、触发器FF、时钟缓冲器BUFG都比HBS少,且D-HBS消耗的时钟周期比HBS少一个;其中总时钟周期是指:桶排序模块的时钟周期,半清洁模块的时钟周期和全排序模块的时钟周期的总和;
表4:L=8时硬件资源开销和译码时钟周期对比结果;
表格4列出了L=16的条件下HBS和本实施例(D-HBS)的硬件资源开销和译码时钟周期,其中SCL译码数据的位宽设置为15,根据表4可以看出在L=16的条件下,D-HBS消耗的三种硬件资源查找表LUT、触发器FF、时钟缓冲器BUFG都比HBS少,且D-HBS消耗的时钟周期比HBS少一个。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (10)
1.一种用于极化码串行抵消列表译码的硬件排序方法,其特征在于,包括:
获取待排序的SCL译码数据集合,记为;
对集合进行升序排序获得输出数据集合/>,对集合/>进行升序排序获得输出数据集合/>;将SCL译码数据/>和SCL译码数据/>分别作为输出数据/>和输出数据/>;
将输出数据集合、输出数据集合/>、输出数据/>和输出数据/>合并成为输出数据集合s;在输出数据集合s中选出最小的L个PM值作为输出数据集合a;
对输出数据集合a进行升序排序获得输出序列。
2.根据权利要求1所述的硬件排序方法,其特征在于,为L条原始路径对应的PM值集合,所述集合/>为升序序列;/>为L条分裂路径对应的PM值集合;其中,/>,/>和/>,/>,/>是第条路径的译码值对应的最大似然比。
3.根据权利要求2所述的硬件排序方法,其特征在于,对集合进行升序排序获得输出数据集合/>,包括:
SCL译码数据属于集合/>,将SCL译码数据/>依次和集合/>中的其他单个SCL译码数据进行比较获得比较指示值;当SCL译码数据/>的PM值大于集合中的其他单个SCL译码数据的PM值,比较指示值记为1;否则,比较指示值记为0;将每个比较指示值存放至寄存器;
对寄存器中的比较指示值进行累加,获得SCL译码数据对应的求和结果,记为/>;
根据求和结果对SCL译码数据进行升序排序,获得输出数据集合/>。
4.根据权利要求3所述的硬件排序方法,其特征在于,将SCL译码数据依次和集合中的其他单个SCL译码数据进行比较获得比较指示值,包括:
若所述SCL译码数据的序号i为奇数,当i小于k时,SCL译码数据/>的PM值小于SCL译码数据/>的PM值,将SCL译码数据/>与SCL译码数据/>的比较结果固定为0;当i大于k且k为奇数时,SCL译码数据/>的PM值大于SCL译码数据/>的PM值,将SCL译码数据/>与SCL译码数据/>的比较结果固定为1;当i大于k且k为偶数时,选择/>个比较器分别将SCL译码数据/>与SCL译码数据/>进行对比获得比较指示值;
若所述SCL译码数据的序号i为偶数,当i大于k且k为奇数时,SCL译码数据/>的PM值大于SCL译码数据/>的PM值,将SCL译码数据/>与SCL译码数据/>的比较结果固定为1;当i大于k或k为偶数时,选择/>个比较器分别将SCL译码数据/>与SCL译码数据/>进行对比获得比较指示值。
5.根据权利要求3所述的硬件排序方法,其特征在于,对寄存器中的比较指示值进行累加,获得SCL译码数据对应的求和结果,包括:
若所述SCL译码数据的序号i为奇数,当i大于k且k为偶数时,选择/>个加法器将SCL译码数据/>与SCL译码数据/>的比较指示值进行累加获得求和结果/>;
将求和结果与满足i大于k且k为奇数的SCL译码数据/>数量进行相加获得求和结果,表达公式为:
;
若所述SCL译码数据的序号i为偶数,当i大于k或k为偶数时,选择/>个加法器将SCL译码数据/>与SCL译码数据/>的比较指示值进行累加获得求和结果/>;
将求和结果与满足i大于k且k为奇数的SCL译码数据/>数量进行相加获得求和结果,表达公式为:
。
6.根据权利要求3所述的硬件排序方法,其特征在于,根据求和结果对SCL译码数据进行升序排序,包括:
当设定输出数据集合中的第t位的输出数据/>且t为奇数,选取SCL译码数据/>对应的求和结果/>进行比较,选择求和结果最小的SCL译码数据/>作为输出数据/>,其中,SCL译码数据/>为第h个SCL译码数据,h属于集合/>或小于t的偶数集合;
当设定输出数据集合中的第t位的输出数据/>且t为偶数,选取SCL译码数据/>对应的求和结果/>进行比较,选择求和结果最小的SCL译码数据/>作为输出数据/>,其中,SCL译码数据/>为第/>个SCL译码数据,h属于集合/>或小于t的偶数集合。
7.根据权利要求2所述的硬件排序方法,其特征在于,对PM值集合进行升序排序获得输出数据集合/>,包括:
对PM值集合进行升序排序,根据/>和/>,推断出PM值集合/>中至少存在L/2个SCL译码数据的PM值小于SCL译码数据/>,并且PM值集合/>不属于输出数据集合a,对集合/>中的SCL译码数据进行PM值排序获得输出数据集合/>。
8.根据权利要求7所述的硬件排序方法,其特征在于,对集合中的SCL译码数据进行PM值排序获得输出数据集合/>,包括:
SCL译码数据属于集合/>,将SCL译码数据/>依次和集合中的其他单个SCL译码数据进行比较获得比较指示值;当SCL译码数据的PM值大于集合/>中的其他单个SCL译码数据的PM值,比较指示值记为1;否则,比较指示值记为0;将每个比较指示值存放至寄存器;
对寄存器中的比较指示值进行累加,获得SCL译码数据对应的求和结果,记为/>;
根据求和结果对SCL译码数据进行升序排序,获得输出数据集合/>。
9.根据权利要求7所述的硬件排序方法,其特征在于,在桶排序模块的输出数据集合s中选出最小的L个PM值作为输出数据集合a,包括:
所述输出数据集合;在桶排序模块的输出数据集合s中选出最小的L个PM值作为输出数据集合/>。
10.一种用于极化码串行抵消列表译码的硬件排序系统,其特征在于,包括输入模块、桶排序模块、半清洁模块和全排序模块;
所述输入模块,用于获取待排序的SCL译码数据集合,记为;
所述桶排序模块分为上桶排序器和下桶排序器,上桶排序器用于对集合进行升序排序获得输出数据集合/>,下桶排序器用于对集合/>进行升序排序获得输出数据集合/>;将SCL译码数据/>和SCL译码数据/>分别作为输出数据/>和输出数据/>;
所述半清洁模块用于将输出数据集合、输出数据集合/>、输出数据/>和输出数据/>合并成为桶排序模块的输出数据集合s;在桶排序模块的输出数据集合s中选出最小的L个PM值作为输出数据集合a;
所述全排序模块对输出数据集合a进行升序排序获得输出序列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410201290.XA CN117792407B (zh) | 2024-02-23 | 2024-02-23 | 一种用于极化码串行抵消列表译码的硬件排序系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410201290.XA CN117792407B (zh) | 2024-02-23 | 2024-02-23 | 一种用于极化码串行抵消列表译码的硬件排序系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117792407A true CN117792407A (zh) | 2024-03-29 |
CN117792407B CN117792407B (zh) | 2024-05-24 |
Family
ID=90387475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410201290.XA Active CN117792407B (zh) | 2024-02-23 | 2024-02-23 | 一种用于极化码串行抵消列表译码的硬件排序系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117792407B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107896137A (zh) * | 2017-11-03 | 2018-04-10 | 东南大学 | 一种适用于极化码译码路径分裂的排序方法 |
CN108282264A (zh) * | 2018-01-05 | 2018-07-13 | 西安电子科技大学 | 基于比特翻转串行消除列表算法的极化码译码方法 |
CN108462558A (zh) * | 2018-03-01 | 2018-08-28 | 西安电子科技大学 | 一种极化码scl译码方法、装置及电子设备 |
CN109412609A (zh) * | 2018-12-20 | 2019-03-01 | 中国地质大学(武汉) | 一种极化码译码中路径分裂的硬件排序器系统及设计方法 |
CN109921804A (zh) * | 2019-03-22 | 2019-06-21 | 中国传媒大学 | 一种自适应融合串行抵消列表极化码译码方法及系统 |
CN110601700A (zh) * | 2019-08-09 | 2019-12-20 | 中国地质大学(武汉) | 一种适用于极化码串行抵消列表译码算法的硬件排序器 |
US20210406780A1 (en) * | 2020-06-30 | 2021-12-30 | Intuit Inc. | Training an ensemble of machine learning models for classification prediction |
KR102366153B1 (ko) * | 2020-08-20 | 2022-02-23 | 한국전력공사 | 실시간 어플리케이션을 위한 기계학습의 앙상블 추론 방법 및 앙상블 추론을 가속화한 기계 학습 방법 |
CN114285418A (zh) * | 2021-12-14 | 2022-04-05 | 重庆邮电大学 | 一种改进的极化码epc-ms-scl译码方法 |
CN114866093A (zh) * | 2022-04-30 | 2022-08-05 | 哈尔滨工业大学 | 一种面向极化码快速串行抵消列表译码的高效码本选择方法 |
CN115001511A (zh) * | 2022-05-17 | 2022-09-02 | 中国电子科技集团公司第三十八研究所 | 低硬件资源消耗的极化码scl译码器及其译码方法 |
CN115473537A (zh) * | 2022-09-20 | 2022-12-13 | 重庆邮电大学 | 极化码中一种改进的es-scl译码方法 |
CN116192158A (zh) * | 2023-02-20 | 2023-05-30 | 南京邮电大学 | 比特翻转译码方法及装置 |
-
2024
- 2024-02-23 CN CN202410201290.XA patent/CN117792407B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107896137A (zh) * | 2017-11-03 | 2018-04-10 | 东南大学 | 一种适用于极化码译码路径分裂的排序方法 |
CN108282264A (zh) * | 2018-01-05 | 2018-07-13 | 西安电子科技大学 | 基于比特翻转串行消除列表算法的极化码译码方法 |
CN108462558A (zh) * | 2018-03-01 | 2018-08-28 | 西安电子科技大学 | 一种极化码scl译码方法、装置及电子设备 |
CN109412609A (zh) * | 2018-12-20 | 2019-03-01 | 中国地质大学(武汉) | 一种极化码译码中路径分裂的硬件排序器系统及设计方法 |
CN109921804A (zh) * | 2019-03-22 | 2019-06-21 | 中国传媒大学 | 一种自适应融合串行抵消列表极化码译码方法及系统 |
CN110601700A (zh) * | 2019-08-09 | 2019-12-20 | 中国地质大学(武汉) | 一种适用于极化码串行抵消列表译码算法的硬件排序器 |
US20210406780A1 (en) * | 2020-06-30 | 2021-12-30 | Intuit Inc. | Training an ensemble of machine learning models for classification prediction |
KR102366153B1 (ko) * | 2020-08-20 | 2022-02-23 | 한국전력공사 | 실시간 어플리케이션을 위한 기계학습의 앙상블 추론 방법 및 앙상블 추론을 가속화한 기계 학습 방법 |
CN114285418A (zh) * | 2021-12-14 | 2022-04-05 | 重庆邮电大学 | 一种改进的极化码epc-ms-scl译码方法 |
CN114866093A (zh) * | 2022-04-30 | 2022-08-05 | 哈尔滨工业大学 | 一种面向极化码快速串行抵消列表译码的高效码本选择方法 |
CN115001511A (zh) * | 2022-05-17 | 2022-09-02 | 中国电子科技集团公司第三十八研究所 | 低硬件资源消耗的极化码scl译码器及其译码方法 |
CN115473537A (zh) * | 2022-09-20 | 2022-12-13 | 重庆邮电大学 | 极化码中一种改进的es-scl译码方法 |
CN116192158A (zh) * | 2023-02-20 | 2023-05-30 | 南京邮电大学 | 比特翻转译码方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN117792407B (zh) | 2024-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Pan et al. | An effective shuffled frog-leaping algorithm for lot-streaming flow shop scheduling problem | |
CN108052347B (zh) | 一种执行指令选择的装置、方法及指令映射方法 | |
CN102163141A (zh) | 实现数字信号处理器的寻址模块结构 | |
CN110601700B (zh) | 一种适用于极化码串行抵消列表译码算法的硬件排序器 | |
CN108306652A (zh) | 一种低复杂度极化码ca-scl译码器 | |
CN113283587A (zh) | 一种Winograd卷积运算加速方法及加速模块 | |
CN117792407B (zh) | 一种用于极化码串行抵消列表译码的硬件排序系统 | |
CN115001511A (zh) | 低硬件资源消耗的极化码scl译码器及其译码方法 | |
CN116466890A (zh) | 固态硬盘利用接口协议提高服务器综合运算速率的方法 | |
CN108988873B (zh) | 一种Polar码处理方法、译码器和终端 | |
CN115526131A (zh) | 多级编码近似计算Tanh函数的方法及装置 | |
CN113034343B (zh) | 参数自适应的高光谱图像分类gpu并行方法 | |
Che et al. | Overlapped list successive cancellation approach for hardware efficient polar code decoder | |
Wang et al. | An area-efficient hybrid polar decoder with pipelined architecture | |
CN1323102A (zh) | 用于特博码的解码器及其解码方法 | |
CN114461538A (zh) | 一种基于实时内容预测与历史资源占用的云计算应用内存管理方法 | |
CN111596228A (zh) | 漏电检测方法及装置 | |
Chen et al. | Huffman coding method based on parallel implementation of FPGA | |
CN110807479A (zh) | 一种基于Kmeans算法的神经网络卷积计算加速方法 | |
CN109274460A (zh) | 一种多比特并行结构串行抵消译码方法和装置 | |
Tan et al. | A 400MHz NPU with 7.8 TOPS 2/W High-PerformanceGuaranteed Efficiency in 55nm for Multi-Mode Pruning and Diverse Quantization Using Pattern-Kernel Encoding and Reconfigurable MAC Units | |
CN108958702A (zh) | 一种排序网络、排序方法及排序装置 | |
Wang et al. | Improved reduced latency soft-cancellation algorithm for polar decoding | |
CN113726342B (zh) | 面向大规模图迭代计算的分段差值压缩与惰性解压方法 | |
CN108958793B (zh) | 一种基于改进gn算法的程序控制流图划分方法 |
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 |