CN110492974B - 一种并行的极化码译码方法及装置 - Google Patents

一种并行的极化码译码方法及装置 Download PDF

Info

Publication number
CN110492974B
CN110492974B CN201910763061.6A CN201910763061A CN110492974B CN 110492974 B CN110492974 B CN 110492974B CN 201910763061 A CN201910763061 A CN 201910763061A CN 110492974 B CN110492974 B CN 110492974B
Authority
CN
China
Prior art keywords
decoders
decoding
decoder
values
channel receiving
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.)
Active
Application number
CN201910763061.6A
Other languages
English (en)
Other versions
CN110492974A (zh
Inventor
牛凯
董超
董雁飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN201910763061.6A priority Critical patent/CN110492974B/zh
Publication of CN110492974A publication Critical patent/CN110492974A/zh
Application granted granted Critical
Publication of CN110492974B publication Critical patent/CN110492974B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/091Parallel or block-wise CRC computation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0052Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Error Detection And Correction (AREA)

Abstract

本发明实施例提供了一种并行的极化码译码方法及装置,其中,方法包括:获取单一信道接收信号,对预先确定的各先验错误模式进行排序,通过单一信道接收信号,从各先验错误模式中预选的k×M先验错误模式,构造k×M组不同的信道接收值,通过并行运行M个译码器对各自译码器的信道接收值进行本次译码,所述M个译码器中各译码器的每次输入分别为所述M组不同的信道接收值。这样相较于现有技术的单个译码器进行译码,可以通过并行运行各译码器进行译码,提高译码性能。

Description

一种并行的极化码译码方法及装置
技术领域
本发明实施例涉及通信技术领域,特别是涉及一种并行的极化码译码方法及装置。
背景技术
极化码Polar Code是一种前向错误更正编码方式,用于讯号传输。极化码作为第一个可通过理论证明达到香农极限的码,并且具有可实用的线性复杂度编译码能力的信道编码技术。
目前极化码可使用多种译码方式进行译码,此处以串行抵消列表(successivecancellation list,简称SCL)译码方法进行说明:
SCL译码器中的L的取值大于等于2,假设此处了L的取值为8。SCL译码器接收单一信道接收信号;利用单一信道接收信号,确定8条待译码的候选路径;对每条候选路径进行译码,并且使用循环冗余校验(Cyclic Redundancy Check,简称CRC)校验对每条候选路径进行校验;若存在能够通过CRC校验的候选路径,则停止译码,输出该路径的译码结果作为译码结果。这样可以选择出最优的路径的译码结果,作为最终译码结果。
SCL译码器中的L用于保留更多的候选路径,从而使得SCL译码器选择最优的路径的径译码结果。但是,在SCL译码器的L较小时,SCL译码器的译码性能较低。
发明内容
本发明实施例的目的在于提供一种并行的极化码译码方法及装置,用以提高译码性能。具体技术方案如下:
第一方面,本发明实施例提供了一种并行的极化码译码方法,包括:
获取单一信道接收信号;
对预先确定的各先验错误模式进行排序,通过所述单一信道接收信号,从所述各先验错误模式中预选k×M先验错误模式;
利用所述k×M先验错误模式,构造k×M组不同的信道接收值;
并行运行M个译码器,并且每个译码器对各自译码器的信道接收值进行本次译码,其中,所述M个译码器中各译码器的每次输入分别为M组不同的信道接收值。
进一步的,采用如下步骤,预先确定各先验错误模式:
获取为N=2n码长的二进制全0序列
Figure BDA0002170996470000011
以及先验错误模式的预设汉明重量E=2m,m≤n,m为小于n的整数,n为对码长N取以2为底的对数;
将所述二进制全0序列
Figure BDA0002170996470000021
中预定比特位置的比特数值确定为1,得到第i条先验错误模式,所述预定比特位置为从第i×E个的比特位置到第i×E+E-1个比特位置,其中i的取值范围为{0,1,...,2m-n-1}。
进一步的,采用如下步骤,预先确定各先验错误模式:
获取为N=2n码长的二进制全0序列
Figure BDA0002170996470000022
以及先验错误模式的预设汉明重量E=2m,m≤n,m为小于n的整数,n为对码长N取以2为底的对数;
将所述二进制全0序列
Figure BDA0002170996470000023
中预设比特位置确定为1,得到第i条先验错误模式,所述预设窗口所在的比特位置为第i个的比特位置到第i+E-1个比特位置,其中i的取值范围为{0,1,...,2m-2n}。
进一步的,采用如下步骤,预先确定各先验错误模式:
获取预先设定的先验错误模式总数P;
获取二进制全0码字通过调制经过信道后的信道接收值,使用SCL算法进行译码,得到L条候选路径;
对所有候选路径进行重编码,获得L条码字;
计算所述L条码字的汉明重量;
除全零码字外的最小汉明重量的码字数量是否小于所有先验错误模式的数量P减一;
若除全零码字外的最小汉明重量的码字数量小于所有先验错误模式的数量P减一,则增大码率,返回所述获取预先设定的先验错误模式总数P的步骤,继续重复执行;
若除全零码字外的最小汉明重量的码字数量大于或等于所有先验错误模式的数量,则依据路径度量值的顺序,选取码重最小的P条码字作为各先验错误模式。
进一步的,采用如下步骤,确定预选的先验错误模式:
依据所述单一信道接收信号,计算各先验错误模式的度量值;
依据所述各先验错误模式的度量值,选择度量值最小的k×M条先验错误模式,作为预选的先验错误模式。
进一步的,在所述并行运行M个译码器,并且每个译码器对各自译码器的信道接收值进行本次译码之后,所述方法还包括:
若本次译码中各个译码器输出的候选路径中存在能够通过循环冗余校验CRC的路径,则停止译码,输出该候选路径作为译码结果;
若本次译码中不存在能够通过CRC校验的候选路径,并且译码次数小于k,则获取下次各自译码器的信道接收值,作为本次译码的各自译码器的信道接收值,所述下次各自译码器的信道接收值不同于与所述下次各自译码的信道接收值相邻的上次各自译码器的信道接收值;
并行运行M个译码器,并且每个译码器对各自译码器的信道接收值进行本次译码。
进一步的,在所述各译码器为置信度传播BP译码器时,所述利用所述k×M先验错误模式,构造k×M组不同的信道接收值,包括:
利用所述k×M先验错误模式,对所述单一信道接收信号按照反序替换方法进行处理,构造k×M组不同的信道接收值;
所述并行运行M个译码器,并且每个译码器对各自译码器的信道接收值进行本次译码,包括:
并行运行M个BP译码器,每次迭代后获得M条候选路径,其中所述M个BP译码器中各BP译码器的每次输入分别为M组不同的信道接收值,所述M个BP译码器各自的最大迭代次数为I;
每一次迭代后对所述M条候选路径进行CRC校验;
若M条候选路径中存在能够通过CRC校验的路径,则停止译码,并输出该路径作为译码结果;
若M条候选路径中不存在能够通过CRC校验的路径,则继续下一次迭代,直到达到最大迭代次数I;
在所述并行运行M个译码器达到最大迭代次数I后,重新输入M组不同的信道接收值,循环上述过程直到k×M组不同的信道接收值用尽。
进一步的,在所述各译码器为串行抵消SC译码器时,所述利用所述k×M先验错误模式,构造k×M组不同的信道接收值,包括:
利用所述k×M先验错误模式,对所述单一信道接收信号按照符号翻转方法进行处理,构造k×M组不同的信道接收值;
所述并行运行M个译码器,并且每个译码器对各自译码器的信道接收值进行本次译码,包括:
并行运行M个SC译码器,获得M条候选路径,其中,M个SC译码器中各SC译码器的每次输入为M组不同的信道接收值;
对M条候选路径进行CRC校验;
若M条候选路径中存在能够通过CRC校验的路径,则停止译码,并输出该路径作为译码结果;
若M条候选路径中不存在能够通过CRC校验的路径,则重新输入M组不同的信道接收值,循环上述过程直到k×M组不同的信道接收值用尽。
进一步的,在所述各译码器为串行抵消列表SCL译码器时,所述利用所述k×M先验错误模式,构造k×M组不同的信道接收值,包括:
利用所述k×M先验错误模式,对所述单一信道接收信号按照符号翻转方法进行处理,构造k×M组不同的信道接收值;
所述并行运行M个译码器,并且每个译码器对各自译码器的信道接收值进行本次译码,包括:
并行运行M个SCL译码器,获得M×L条候选路径,其中,所述M个SCL译码器中各SCL译码器的每次输入为M组不同的信道接收值,所述M个SCL译码器各自的路径搜索宽度为L;
对M×L条候选路径进行CRC校验;
若M×L条候选路径中存在能够通过CRC校验的路径,则停止译码,并输出该路径作为译码结果;
若M×L条候选路径中不存在能够通过CRC校验的路径,则重新输入M组不同的信道接收值,循环上述过程直到k×M组不同的信道接收值用尽。
第二方面,本发明实施例提供了一种并行的极化码译码装置,包括:
获取模块,用于获取单一信道接收信号;
预选模块,用于对预先确定的各先验错误模式进行排序,通过所述单一信道接收信号,从所述各先验错误模式中预选k×M先验错误模式;
构造模块,用于利用所述k×M先验错误模式,构造k×M组不同的信道接收值;
并行译码模块,用于并行运行M个译码器,并且每个译码器对各自译码器的信道接收值进行本次译码,其中,所述M个译码器中各译码器的每次输入分别为M组不同的信道接收值。
本发明实施例提供的一种并行的极化码译码方法及装置,获取单一信道接收信号,对预先确定的各先验错误模式进行排序,通过单一信道接收信号,从各先验错误模式中预选的k×M先验错误模式,构造k×M组不同的信道接收值,通过并行运行M个译码器对各自译码器的信道接收值进行本次译码,所述M个译码器中各译码器的每次输入分别为所述M组不同的信道接收值。这样相较于现有技术的单个译码器进行译码,可以通过并行运行各译码器进行译码,提高译码性能。
当然,实施本发明实施例的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的并行的极化码译码方法的流程示意图;
图2为本发明实施例的并行的极化码BP译码算法、并行的极化码SC译码算法和并行的极化码SCL译码算法的译码性能测试结果的第一示意图;
图3为本发明实施例的本发明实施例的并行的极化码BP译码算法、并行的极化码SC译码算法和并行的极化码SCL译码算法的译码性能测试结果的第二示意图;
图4为本发明实施例的并行的极化码BP译码算法、并行的极化码SC译码算法和并行的极化码SCL译码算法的译码性能测试结果的第三示意图;
图5为本发明实施例的在各译码器为置信度传播BP译码器时的译码详细流程示意图;
图6为本发明实施例的在各译码器为串行抵消SC译码器时的译码详细流程示意图;
图7为本发明实施例的在各译码器为串行抵消列表SCL译码器时的译码详细流程示意图;
图8为本发明实施例提供的并行的极化码译码装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明实施例一部分实施例,而不是全部的实施例。基于本发明实施例中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明实施例保护的范围。
针对现有技术中在SCL译码器的L较小时,单个SCL译码器的译码性能较低的问题,本发明实施例提供一种并行的极化码译码方法及装置,获取单一信道接收信号,对预先确定的各先验错误模式进行排序,通过单一信道接收信号,从各先验错误模式中预选的k×M先验错误模式,构造k×M组不同的信道接收值,通过并行运行M个译码器对各自译码器的信道接收值进行本次译码,所述M个译码器中各译码器的每次输入分别为所述M组不同的信道接收值。这样相较于现有技术的单个译码器进行译码,可以通过并行运行各译码器进行译码,能够提高译码性能。
下面首先对本发明实施例提供的一种并行的极化码译码方法进行介绍。
本发明实施例提供的并行的极化码译码方法,可以应用于电子设备,具体的,该电子设备可以为:台式计算机、便携式计算机、智能移动终端、服务器等。在此不作限定,任何可以实现本发明实施例的电子设备,均属于本发明实施例的保护范围。进一步的,本发明实施例提供的并行的极化码译码方法也可以应用于电子设备上的译码器,比如,移动终端的译码器。在此不作限定。
如图1所示,本发明实施例所提供的一种并行的极化码译码方法,该方法可以包括如下步骤:
步骤110,获取单一信道接收信号。
信道接收信号可以是通过信道接收到的信号,这些信号可以是编码调制经过信道后的信号,这样信道接收信号可以为原始信道接收值。这些信道接收信号比如是二进制相移键控(Binary Phase Shift Keying,简称BPSK)调制后经过加性高斯白噪声信道(Additive White Gaussian Noise,简称AWGN)的信号。
步骤120,对预先确定的各先验错误模式进行排序,通过单一信道接收信号,从各先验错误模式中预选k×M先验错误模式。
其中,先验错误模式是预先确定的信道接收值发生错误的位置指示,用于构造多组信道接收值。
本步骤120通过对预先确定的各先验错误模式进行排序,能够掌握各先验错误模式被预选的可能性。上述对预先确定的各先验错误模式进行排序具体可以包括:将各先验错误模式的度量值由小到大进行排序或者由大到小进行排序,各先验错误模式中预选k×M先验错误模式,一个预选的先验错误模式,能构造一个新的信道接收值。并且,预选k×M先验错误模式为所有先验错误模式中度量值最小的前k×M位。具体的排序方式在此不做限定,只要能够得到本发明实施例中度量值最小的先验错误模式,均属于本发明实施例的保护范围,在此不再一一举例。
为了能够得到预先确定的各先验错误模式,本步骤120可以采用如下步骤,预先确定各先验错误模式:
在一种可能的实现方式中,第1步,获取为N=2n码长的二进制全0序列
Figure BDA0002170996470000061
以及先验错误模式的预设汉明重量E=2m,m≤n,m为小于n的整数,n为对码长N取以2为底的对数,所述先验错误模式的总数量为P=2n-m;等距分割方法所构造的先验错误模式的总数由n和m确定,是固定值。
第2步,将所述二进制全0序列
Figure BDA0002170996470000071
中预定比特位置的比特数值确定为1,得到第i条先验错误模式,所述预定比特位置为从第i×E个的比特位置到第i×E+E-1个比特位置,其中i的取值范围为{0,1,...,2m-n-1}。这样上述步骤可构造2n-m条先验错误模式,包括全0序列
Figure BDA0002170996470000072
在内,总数量为P=2n-m+1
其中上述第2步进一步包括:将所述二进制全0序列
Figure BDA0002170996470000073
中预定比特位置的比特数值确定为1,分别确定各先验错误模式。每次从P=2n-m中任取一总数量k可以是指每次从P=2n-m中取不同的任一总数值k,直至取完P=2n-m中所有数值。这样每次间隔预定比特位置进行计算,可以分别确定出各先验错误模式。这样采用上述第1步和第2步的实现过程,可以得到包含原始全0序列
Figure BDA0002170996470000074
在内,可构造2n-m+1个先验错误模式。
上述每次间隔预设比特位置的数量相同,可以称为等距,这样可以完成等距分割间隔。上述第1步和第2步的实现过程,可以称为通过等距分割方法,确定各先验错误模式的过程。这样能够提高译码性能。
对于上述等距分割方法的具体说明如下:
当N=1024时,使用上述等距分割方法,可构造P=128条先验错误模式,性能测试时,称这些先验错误模式的预先确定方法为模式1(Mode 1,简称M1)。码长N=210即1024,CRC长度为24,码率为R为0.5的极化码,信道为加性白高斯噪声信道。
图2为本发明实施例的并行的极化码BP译码算法、并行的极化码SC译码算法和并行的极化码SCL译码算法的译码性能测试结果的第一示意图。图2中,Eb/N0为信噪比,Eb中文是平均比特能量,N0指的是噪声功率谱密度。块差错率(block error probability,简称BLER)为有差错的块测试总块数之比。
由图2可知,相比于CRC辅助的SCL(CRC-aided SCL,简称CA-SCL)(L=2)算法,M1下的并行的极化码BP译码算法,即BP-M1获得了0.3dB的性能增益;M1下的并行的极化码SC译码算法,即SC-M1获得了0.2dB的性能增益;相比于CA-SCL(L=2)算法,M1下的并行的极化码SCL2,即SCL2-M1(L=2)译码算法获得了0.5dB的性能增益,达到了CA-SCL(L=8)的性能。
在另一种可能的实现方式中,第一步,获取为N=2n码长的二进制全0序列
Figure BDA0002170996470000075
以及先验错误模式的预设汉明重量E=2m,m≤n,m为小于n的整数,n为对码长N取以2为底的对数,所述所有先验错误模式的总数P=2n-2m+1;
第二步,将所述二进制全0序列
Figure BDA0002170996470000076
中预设比特位置确定为1,得到第i条先验错误模式,所述预设窗口所在的比特位置为第i个的比特位置到第i+E-1个比特位置,其中i的取值范围为{0,1,...,2m-2n}。这样上述步骤可构造2n-2m+1条先验错误模式,包括全0序列
Figure BDA0002170996470000081
在内,总数量为P=2n-2m+2。
其中上述第二步进一步包括:将二进制全0序列
Figure BDA0002170996470000082
中每次预设窗口的比特数值确定为1,分别确定各先验错误模式。每次从P=2n-2m+1中任取一总数量k可以是指每次从P=2n-2m+1中取不同的任一总数值k,直至取完P=2n-2m+1中所有数值。这样每次按照预设窗口进行计算,可以分别确定出各先验错误模式。这样采用上述第一步和第二步的实现过程,可以得到包含原始全0序列
Figure BDA0002170996470000083
在内,可构造的2n-2m+2个先验错误模式。
上述每次滑动的预设窗口的数量相同,可以称为滑动窗口,并且上述预设窗口每次滑动的比特位置为第i个的比特位置到第i+E-1个比特位置个预定比特位置。上述第一步和第二步的实现过程,可以称为通过滑动窗口方法,确定各先验错误模式的过程。这样能够提高译码性能。
对于上述滑动窗口方法的具体说明如下:
当N=1024时,使用滑动窗口方法,可构造P=1017条先验错误模式,性能测试时,称这些先验错误模式的预先确定方法为模式2(Mode 2,简称M2)。码长N=210即1024,CRC长度为24,码率为R为0.5的极化码,信道为AWGN。图3为本发明实施例的并行的极化码BP译码算法、并行的极化码SC译码算法和并行的极化码SCL译码算法的译码性能测试结果的第二示意图。
由图3可知,相比于CA-SCL(L=2)算法,M2下的并行的极化码BP译码算法,即BP-M2获得了0.4dB的性能增益;M2下的并行的极化码SC译码算法,即SC-M2获得了0.3dB的性能增益;相比于CA-SCL(L=2)算法,M2下的并行的极化码SCL(L=2)译码算法,即,SCL-M2获得了0.7dB的性能增益,超过CA-SCL(L=8)的性能。
在又一种可能的实现方式中,第1步骤,获取预先设定的先验错误模式总数P;
第2步骤,获取二进制全0码字通过调制经过信道后的信道接收值,使用SCL算法进行译码,得到L条候选路径。
第3步骤,对所有候选路径进行重编码,获得L条码字。
上述第3步骤进一步可以包括但不限于:对L条候选路径进行编码,得到L条码字
Figure BDA0002170996470000084
其中编码如下:
Figure BDA0002170996470000091
其中
Figure BDA0002170996470000092
为第0条码字,
Figure BDA0002170996470000093
为第1条码字,
Figure BDA0002170996470000094
为第L-1条码字,
Figure BDA0002170996470000095
为第i条码字,
Figure BDA0002170996470000096
为第i条候选路径,GN为生成矩阵:
Figure BDA0002170996470000097
BN为比特反序矩阵,
Figure BDA0002170996470000098
为克罗内克积,其中n=log2 N。
第4步骤,计算所述L条码字的汉明重量。
上述第4步骤进一步可以包括但不限于:采用如下公式
Figure BDA0002170996470000099
计算所述L条码字的汉明重量{w0,w1,...,wL-1},其中,wi为第i条码字的码重,
Figure BDA00021709964700000910
为第i条码字的第j个元素,即w0为第0条码字的码重,w1为第1条码字的码重,wL-1为第L-1条码字的码重。
在第5步骤之前,所述方法还包括:
对汉明重量{w0,w1,...,wL-1}进行升序排序,得到排序后的索引为{γ01,...,γL-1},γ0为码重最小的码字的索引,γ1为码重第二小的码字的索引,γL-1为码重最大的码字的索引,L-1为下标的最大值。
或者对汉明重量{w0,w1,...,wL-1}进行降序排序,得到排序后的索引{γL-1,...,γ10}。
第5步骤,除全零码字外的最小汉明重量的码字数量是否小于所有先验错误模式的数量P减一,若是,即若除全零码字外的最小汉明重量的码字数量小于所有先验错误模式的数量P减一,则执行第5步骤;若否,即除全零码字外的最小汉明重量的码字数量大于或等于所有先验错误模式的数量P减一,则执行第6步骤。
上述第5步骤进一步可以包括:从升序排序后的汉明重量中,除全零码字外的最小汉明重量的码字数量为
Figure BDA00021709964700000911
wmin为除全零码字外的最小汉明重量。
第6步骤,增大码率,返回所述第1步骤,继续重复执行。其中,增大码率R可以是指R=R+r,其中r为码率的步进宽度,范围为0≤r≤1-R
上述第6步骤进一步可以包括:若除全零码字外的最小汉明重量的码字数量
Figure BDA00021709964700000912
则将码率增大为R=R+r,返回第1步骤重新开始运行,其中P为预先设定的需要获取的先验错误模式的数量。
第7步骤,依据路径度量值的顺序,选取码重最小的P条码字,作为各先验错误模式。
上述第7步骤进一步可以包括:若除全零码字外的最小汉明重量的码字数量
Figure BDA0002170996470000101
则依据路径度量值从小到大的顺序取码重最小的P条码字
Figure BDA0002170996470000102
作为先验错误模式,其中
Figure BDA0002170996470000103
为路径度量值最大的码字,
Figure BDA0002170996470000104
为路径度量值第二大的码字,
Figure BDA0002170996470000105
为按度量值排序后的第P个码字,γP-1为按度量值排序后的第P码字的索引,P-1为索引的最大值,γ0为按度量值排序后的第0码字的索引,γ1为按度量值排序后的第1码字的索引。
前两者实现方式相对比较简单,可以采用离线或在线方式实现,最后一种实现方式,由于计算比较复杂,可以采用离线方式实现。为了能够预先确定各先验错误模式,上述各先验错误模式的获取方式可以是在处于离线的情况下,执行上述各个步骤,获取各先验错误模式。具体此处的各个步骤与具体使用的实现方式相同,在此不再赘述。
上述第1步骤至第7步骤的实现过程,可以称为使用码率可变的低码重码字搜索方法,确定各先验错误模式的过程。
上述码率可变的低码重码字搜索方法,本发明实施例的方法,在上述第1步骤之前,所述方法还包括:初始化设定的相关传输参数,其中,所述设定的相关传输参数可以包括但不限于:码长N,码率R,信息位集合A,信道噪声方差σ2
进一步的,可以采用如下步骤初始化设定的相关传输参数:
对于AWGN信道,经过BPSK调制后,确定发送序列为
Figure BDA0002170996470000106
接收序列为
Figure BDA0002170996470000107
其中1N为码长为N的全1向量,
Figure BDA0002170996470000108
为AWGN噪声序列,N为码长。将噪声
Figure BDA0002170996470000109
设为全0,即
Figure BDA00021709964700001010
在上述第1步骤之前,所述方法还包括:在假设高信噪比的情况下,采用如下公式,计算对数似然比(likelihood Rate,简称LLR)形式的信道接收值:
Figure BDA00021709964700001011
其中,所述假设的高信噪比可以但不限于为10dB,所述
Figure BDA00021709964700001012
为LLR形式的信道接收值,
Figure BDA00021709964700001013
为接收序列,σ2为方便计算LLR形式的信道接收值而假设的的噪声方差,虽信道噪声
Figure BDA0002170996470000111
但是这样的假设方式,可以方便计算LLR形式的信道接收值。
将信道接收值
Figure BDA0002170996470000112
作为SCL译码器的输入;
在上述第1步骤进一步可以包括但不限于:获取P条先验错误模式及初始路径,且所述L>>P,所述初始路径为空路径;
将所有的候选路径按比特0或1拓展,并更新路径度量值;
每译码1比特,保留度量值最大的L条路径;
当路径长度达到N时,停止译码,输出当前保留的L条候选路径:
Figure BDA0002170996470000113
Figure BDA0002170996470000114
为第1条路径,
Figure BDA0002170996470000115
为第2条路径,
Figure BDA0002170996470000116
为第L条路径。这样运行列表大小为L的SCL译码器,输出L条候选路径。
上述预先确定各先验错误模式可以在离线状态下完成的,其余实现过程均是在线运行的,本发明实施例依据使用极化码译码器的不同,公开了并行的极化码BP译码方法、并行的极化码SC译码方法和并行的极化码SCL译码方法。
对于上述码率可变的低码重码字搜索方法的具体说明如下:
当N=1024时,使用码率可变的低码重码字搜索方法,可构造P=511条先验错误模式,性能测试时,称这些先验错误模式的预先确定方法为模式3(Mode 3,简称M3)。码长N=210即1024,CRC长度为24,码率为R为0.5的极化码,信道为AWGN。图4为本发明实施例的并行的极化码BP译码算法、并行的极化码SC译码算法和并行的极化码SCL译码算法的译码性能测试结果的第三示意图。由图4可知,相比于CA-SCL(L=2)算法,M3下的并行的极化码BP译码算法,即BP-M3获得了0.3dB的性能增益;M3下的并行的极化码SC译码算法,即SC-M3获得了0.3dB的性能增益;相比于CA-SCL(L=2)算法,M3下的并行的极化码SCL(L=2)译码算法,即SCL-M3获得了0.6dB的性能增益,超越了CA-SCL(L=8)的性能。
在预先确定完各先验错误模式之后,需要从预先确定的各先验错误模式中预选出先验错误模式,以便后期构造M组不同的信道接收值,因此本步骤120,可以采用如下步骤,确定预选的先验错误模式:
第一个步骤,依据单一信道接收信号,计算各先验错误模式的度量值。
假设上述各先验错误模式构成的集合为{e0,e1,...,eP-1},e0为各先验错误模式构成的集合中的第1个先验错误模式,e1为各先验错误模式构成的集合中的第2个先验错误模式,eP-1为各先验错误模式构成的集合中的第P个先验错误模式。码长为N=2n,则先验错误模式的长度也是N=2n,先验错误模式是为N=2n长度的二进制序列,可以采用如下公式,计算各先验错误模式的度量值:
Figure BDA0002170996470000121
其中,ei为先验错误模式中的第i个先验错误模式,i的取值范围为0,...,P-1,Ei为第i个先验错误模式的度量值,N为码长,
Figure BDA0002170996470000122
为ei的第j个元素,yj
Figure BDA0002170996470000123
的第j个元素,wi为ei的码重,ei为0或1构成的长度为N二进制序列,有N个元素。
上述置信度(Belief Propagation,简称BP)译码器、SC译码器或SCL译码器在需要使用各先验错误模式的度量值时,可以按照上述计算各先验错误模式的度量值的第一个步骤进行运算。
第二个步骤,依据所述各先验错误模式的度量值,选择度量值最小的k×M条先验错误模式,作为预选的先验错误模式。
上述第二个步骤进一步包括:对各先验错误模式的度量值进行升序排列,获取排序后的索引{λ01,...,λP-1},选择前D=k×M个(D≤P)个先验错误模式
Figure BDA0002170996470000124
作为预选的先验错误模式,用以在本次译码中使用。或者
上述第二个步骤进一步包括:对各先验错误模式的度量值进行降序排列,获取排序后的索引{λP-1,...,λ10},选择后D=k×M个(D≤P)个先验错误模式
Figure BDA0002170996470000125
作为预选的先验错误模式,用以在本次译码中使用。
步骤130,利用k×M先验错误模式,构造k×M组不同的信道接收值。
其中,构造的不同的信道接收值的数量,是并行运行的译码器总数的整数倍,即不同的信道接收值的数量为k×M,而并行运行的译码器总数为M,这样每次可以从k×M不同的信道接收值中,先选出与并行运行的译码器总数M相同数量的信道接收值进行本次译码,看是否得到译码结果,若没有得到译码结果,继续再从剩余的不同的信道接收值中,再选出与上次译码不同的M个信道接收值,再进行本次译码,直至得到译码结果,或者使用完所有的信道接收值。
在基于上述预先的先验错误模式,可以利用所述k×M先验错误模式,构造k×M组不同的信道接收值,可以采用如下任一可能的实现方式实现:
在一种可能的实现方式中,在所述各译码器为BP译码器时,利用所述k×M先验错误模式,对所述单一信道接收信号按照反序替换方法进行处理,构造k×M组不同的信道接收值。
其中,反序替换方法适用于BP译码算法。除原始信道接收值之外,使用每一条先验错误模式都可以构造出一个新的信道接收值。反序替换方法进一步可以包括:获取k×M条先验错误模式构成的集合{e0,e1,...,ek×M-1},采用如下公式:
Figure BDA0002170996470000131
构造第i条先验错误模式ei对应的信道接收值;
其中,Li(yj)为先验错误模式ei对应的LLR形式的信道接收值的第j个元素,L(yj)为LLR形式的原始信道接收值的第j个元素,L(yπ(j))为LLR形式的原始信道接收值的第π(j)个元素,
Figure BDA0002170996470000132
为第i个先验错误模式的第j个元素,0≤i≤M-1,1≤j≤N。其中π(j)为比特反序操作,定义如下:令j用n位二进制表示为(b1,b2,...,bn),即
Figure BDA0002170996470000133
其中b1为j的二进制表示的最高位,b2为j的二进制表示的次高位,bn为j的二进制表示的最低位,n=log2N,则π(j)对应的二进制表示为(bn,bn-1,...,b1),即
Figure BDA0002170996470000134
在另一种可能的实现方式中,在所述各译码器为SC译码器时,或在所述各译码器为SCL译码器时,所述各SCL译码器中的L可以是根据用户需求进行设置,一般设置的比较小的话,使用起来比较方便。可选的,所述各SCL译码器中的L可以但不限于小于原始L;利用所述k×M先验错误模式,对所述单一信道接收信号按照符号翻转方法进行处理,构造k×M组不同的信道接收值。其中,原始L可以是指所需达到的L,或者所需趋近达到的L,也可以称为目标L。这样可以通过并行运行各SCL译码器进行译码,可以降低译码延迟,相较于现有技术的原始L较低,这样各译码器的复杂度也较低,也能够提高译码性能。
其中,符号翻转方法适用于SC译码算法和SCL译码算法。符号翻转方法进一步可以包括:获取P条先验错误模式构成的集合{e0,e1,...,ek×M-1},采用如下公式:
Figure BDA0002170996470000135
构造任一条先验错误模式ei对应的信道接收值;
其中,Li(yj)为
Figure BDA0002170996470000141
的第j个元素,-Li(yj)为对Li(yj)取反,
Figure BDA0002170996470000142
为任一条先验错误模式ei对应的信道接收值;
步骤140,并行运行M个译码器,并且每个译码器对各自译码器的信道接收值进行本次译码,其中,M个译码器中各译码器的每次输入分别为M组不同的信道接收值。
为了能够对所有信道接收值进行译码,在上述步骤140之后,所述方法还包括:
若本次译码中各个译码器输出的候选路径中存在能够通过循环冗余校验CRC的路径,则停止译码,输出该候选路径作为译码结果;
若本次译码中不存在能够通过CRC校验的候选路径,并且译码次数小于k,则获取下次各自译码器的信道接收值,作为本次译码的各自译码器的信道接收值,所述下次各自译码器的信道接收值不同于与所述下次各自译码的信道接收值相邻的上次各自译码器的信道接收值;
并行运行M个译码器,并且每个译码器对各自译码器的信道接收值进行本次译码。这样可以完成对k×M组不同的信道接收值的译码。
在所述各译码器为BP译码器时,为了能够使用BP译码器进行译码,如图5所示,上述步骤140进一步包括:
步骤141,并行运行M个BP译码器,每次迭代后获得M条候选路径,其中所述M个BP译码器中各BP译码器的每次输入分别为M组不同的信道接收值,所述M个BP译码器各自的最大迭代次数为I;
本发明实施例的方法还包括:
将M组信道接收值
Figure BDA0002170996470000143
分别输入并行运行的M个极化码BP译码器中,每一个单独的BP译码器均执行如下步骤:
1.因子图初始化,具体的:
BP译码算法的因子图由1+log2 N列节点构成,每列有N个节点,每个节点中包含两种类型的软信息。其因子图中软信息的初始化如下:
Figure BDA0002170996470000144
Figure BDA0002170996470000145
其中,
Figure BDA0002170996470000146
为对于第j列的第i个节点而言,为第t次迭代时从左向右迭代时的右信息,
Figure BDA0002170996470000151
为对于第j列的第i个节点而言,为第t次迭代时从右向左迭代时的左信息,AC为集合A的补集,j为列数,i为第j列的节点位置,t为当前迭代次数。
2.BP译码器迭代信息更新公式如下:
Figure BDA0002170996470000152
Figure BDA0002170996470000153
Figure BDA0002170996470000154
Figure BDA0002170996470000155
其中:
f(x,y)≈α*sign(x)sign(y)min(|x|,|y|)
Figure BDA0002170996470000156
为对于第2.j列的第i+N个节点而言,为第t次迭代时从左向右迭代时的右信息,
Figure BDA0002170996470000157
为对于第j+1列的第2i个节点而言,为第t次迭代时从右向左迭代时的左信息,
Figure BDA0002170996470000158
为对于第j+1列的第2i-1个节点而言,为第t次迭代时从右向左迭代时的左信息,
Figure BDA0002170996470000159
为对于第j+1列的第2i个节点而言,为第t-1次迭代时从右向左迭代时的左信息,
Figure BDA00021709964700001510
为对于第j+1列的第2i-1个节点而言,为第t-1次迭代时从右向左迭代时的左信息,
Figure BDA00021709964700001511
为对于第j+1列的第2i-1个节点而言,为第t次迭代时从左向右迭代时的右信息,
Figure BDA00021709964700001512
为对于第j+1列的第2i个节点而言,为第t次迭代时从左向右迭代时的右信息,α为缩放因子,α取值范围0到1,sign(·)为取符号,sign(x)为取x的符号,sign(y)为取y的符号。
3.对
Figure BDA00021709964700001513
进行硬判决,获得
Figure BDA00021709964700001514
Figure BDA00021709964700001515
其中,
Figure BDA00021709964700001516
为对于第0列的第i个节点而言,为第t次迭代时从右向左迭代时的左信息,
Figure BDA0002170996470000161
为对于第0列的第i个节点而言,为第t次迭代时从左向右迭代时的右信息,
Figure BDA0002170996470000162
为向量u的估计值,
Figure BDA0002170996470000163
为向量u的估计值中的第i个估计值。
步骤142,每一次迭代后对所述M条候选路径进行CRC校验;
上述步骤142进一步包括:M个并行运行的BP译码器一次迭代输出的M条候选路径构成了候选译码路径集合,对集合中的序列进行CRC校验。
步骤143,判断M条候选路径中是否存在能够通过CRC校验的路径,如果是,即,M条候选路径中存在能够通过CRC校验的路径,则执行步骤144;其中,所述M条候选路径中存在能够通过CRC校验的路径,包括:M条候选路径中可以存在一条路径通过CRC校验,或者,M条候选路径中可以存在两条或两条以上路径通过CRC校验,则输出路径度量值最好的路径作为译码结果;若否,即M条候选路径中不存在能够通过CRC校验的路径,也就是M条候选路径中没有通过CRC校验的路径,则执行步骤145;
步骤144,停止译码,并输出该路径作为译码结果。
步骤145,判断迭代次数是否达到最大迭代次数I,若否,则继续下一次迭代,返回步骤142;若是,则执行步骤146;
步骤146,重新输入M组不同的信道接收值,循环上述过程直到k×M组不同的信道接收值用尽。上述过程可以是指步骤142至步骤146的步骤。
步骤145进一步包括:若M条候选路径中不存在能够通过CRC校验的路径,则获取下次各自BP译码器的信道接收值,作为本次译码的各自BP译码器的信道接收值,继续迭代达到最大迭代次数I,下次各自BP译码器的信道接收值不同于与下次各自译码的信道接收值相邻的上次各自BP译码器的信道接收值;其中,下次各自BP译码器的输入为其余信道接收值中的M组不同的信道接收值;并行运行M个BP译码器,并且每个BP译码器对各自BP译码器的信道接收值进行本次译码,直到获得能够通过CRC校验的候选路径,或者使用完所有信道接收值。
在所述各译码器为SC译码器时,为了能够使用SC译码器进行译码,如图6所示,上述步骤140进一步包括:
步骤241,并行运行M个SC译码器,获得M条候选路径,其中M个SC译码器中各SC译码器的每次输入为M组不同的信道接收值;
本发明实施例的方法还包括:
将M组信道接收值
Figure BDA0002170996470000164
分别输入并行运行的M个极化码SC译码器中,每个SC译码器均执行如下步骤:
SC译码器对所有待判决的比特信息按顺序从1到N依次判决译码:
Figure BDA0002170996470000171
其中,
Figure BDA0002170996470000172
Figure BDA0002170996470000173
的估计值,
Figure BDA0002170996470000174
Figure BDA0002170996470000175
中的第i个比特,
Figure BDA0002170996470000176
为信息序列,
Figure BDA0002170996470000177
Figure BDA0002170996470000178
的前i-1位比特构成的向量,
Figure BDA0002170996470000179
为信息比特判决函数,具体的:
Figure BDA00021709964700001710
其中
Figure BDA00021709964700001711
通过如下的递归计算获得:
Figure BDA00021709964700001712
Figure BDA00021709964700001713
其中:
Figure BDA00021709964700001714
Figure BDA00021709964700001715
Figure BDA00021709964700001716
对应的对数似然比,
Figure BDA00021709964700001717
Figure BDA00021709964700001718
对应的对数似然比,|x|表示取x的绝对值,
Figure BDA00021709964700001719
Figure BDA00021709964700001720
的前2i-1位比特构成的向量。给定序列
Figure BDA00021709964700001721
Figure BDA00021709964700001722
为其下标为奇数的元素构成的子序列,
Figure BDA00021709964700001723
为下标为偶数的元素所构成的子序列,即:
Figure BDA00021709964700001724
Figure BDA00021709964700001725
其中,
Figure BDA00021709964700001726
Figure BDA00021709964700001727
的第一个元素,
Figure BDA00021709964700001728
Figure BDA00021709964700001729
的第3个元素,
Figure BDA00021709964700001730
Figure BDA00021709964700001731
的第2k-1个元素,
Figure BDA00021709964700001732
Figure BDA00021709964700001733
的第N-1个元素,
Figure BDA00021709964700001734
Figure BDA00021709964700001735
的第2个元素,
Figure BDA00021709964700001736
Figure BDA00021709964700001737
的第4个元素,
Figure BDA00021709964700001738
Figure BDA00021709964700001739
的第2k个元素,
Figure BDA00021709964700001740
Figure BDA00021709964700001741
的第N个元素。
步骤242,对M条候选路径进行CRC校验;
上述步骤242进一步包括:SC译码器输出的M条候选路径构成了候选译码路径集合,对集合中的序列进行CRC校验。
步骤243,判断M条候选路径中是否存在能够通过CRC校验的路径,如果是,即,M条候选路径中存在能够通过CRC校验的路径,则执行步骤244;其中,M条候选路径中存在能够通过CRC校验的路径,包括:M条候选路径中可以存在一条路径通过CRC校验,或者M条候选路径中可以存在两条或两条以上路径通过CRC校验,则输出路径度量值最好的路径作为译码结果;如果否,M条候选路径中不存在能够通过CRC校验的路径,也就是M条候选路径中没有通过CRC校验的路径,则执行步骤245;
步骤244,停止译码,并输出该路径作为译码结果。
步骤245,重新输入M组不同的信道接收值,循环上述过程直到k×M组不同的信道接收值用尽。上述过程可以是指步骤241至步骤245的步骤。
上述步骤245进一步包括:若M条候选路径中不存在能够通过CRC校验的路径,则,并且译码次数小于k,则获取下次各自SC译码器的信道接收值,作为本次译码的各自SC译码器的信道接收值,所述下次各自SC译码器的信道接收值不同于与所述下次各自译码的信道接收值相邻的上次各自SC译码器的信道接收值;其中,下次各自SC译码器的输入为其余信道接收值中的M组不同的信道接收值;并行运行M个SC译码器,并且每个SC译码器对各自SC译码器的信道接收值进行本次译码,直到获得能够通过CRC校验的候选路径,或者使用完所有信道接收值。
在所述各译码器为SCL译码器时,为了能够使用SCL译码器进行译码,如图7所示,上述步骤140进一步包括:
步骤341,并行运行M个SCL译码器,获得M×L条候选路径,其中,所述M个SCL译码器中各SCL译码器的每次输入为M组不同的信道接收值,所述M个SCL译码器各自的路径搜索宽度为L;
本发明实施例的方法还包括:
将M组信道接收值
Figure BDA0002170996470000181
分别输入并行运行的M个极化码SCL译码器中,每个SCL译码器均执行如下步骤:
SCL译码器每条路径对所有待判决的比特信息按顺序从1到N依次判决译码:
Figure BDA0002170996470000182
Figure BDA0002170996470000183
为信息比特判决函数,具体的:
Figure BDA0002170996470000191
路径度量值定可以为该路径所对应的译码序列的概率,其对数形式如下:
Figure BDA0002170996470000192
其中,
Figure BDA0002170996470000193
为路径所对应的译码序列的概率,其对数形式,
Figure BDA0002170996470000194
为已知
Figure BDA0002170996470000195
Figure BDA0002170996470000196
的概率,
Figure BDA0002170996470000197
为候选路径。
路径度量值的计算如下:
Figure BDA0002170996470000198
其中
Figure BDA0002170996470000199
为前i-1位候选路径。
Figure BDA00021709964700001910
通过如下的递归计算获得:
Figure BDA00021709964700001911
Figure BDA00021709964700001912
其中:
Figure BDA00021709964700001913
给定序列
Figure BDA00021709964700001914
分别用
Figure BDA00021709964700001915
Figure BDA00021709964700001916
为其序号为奇数元素、偶数元素所构成的子序列,即:
Figure BDA00021709964700001917
获得当前层所有路径度量值后,对路径度量值进行排序,保留路径度量值最大的L条路径继续向下一层扩展;抵达叶节点后,按路径度量值从大到小的顺序输出L条路径所对应的译码序列,作为候选译码序列集合。
步骤342,对M×L条候选路径进行CRC校验;
上述步骤342进一步包括:M个并行运行的SCL译码器输出的M*L条候选路径构成了候选译码路径集合,对集合中的所有候选译码序列进行CRC校验。
步骤343,判断M×L条候选路径中是否存在能够通过CRC校验的路径;若是,即M×L条候选路径中存在能够通过CRC校验的路径,则执行步骤344,其中,所述M×L条候选路径中存在能够通过CRC校验的路径,包括:M×L条候选路径中存在一条路径通过CRC校验,或者M×L条候选路径中存在两条或两条以上路径通过CRC校验,则输出路径度量值最好的路径作为译码结果;若否,即M×L条候选路径中不存在能够通过CRC校验的路径,也就是M×L条候选路径中没有通过CRC校验的路径,则执行步骤345;
步骤344,停止译码,并输出该路径作为译码结果。
步骤345,重新输入M组不同的信道接收值,循环上述过程直到k×M组不同的信道接收值用尽。上述过程可以是指步骤341至步骤345的步骤。
上述步骤345进一步包括:若M×L条候选路径中不存在能够通过CRC校验的路径,并且译码次数小于k,则获取下次各自SCL译码器的信道接收值,作为本次译码的各自SCL译码器的信道接收值,所述下次各自SCL译码器的信道接收值不同于与所述下次各自译码的信道接收值相邻的上次各自SCL译码器的信道接收值;其中,下次各自SCL译码器的输入为其余信道接收值中的M组不同的信道接收值;并行运行M个SCL译码器,并且每个SCL译码器对各自SCL译码器的信道接收值进行本次译码,直到获得能够通过CRC校验的候选路径,或者使用完所有信道接收值。
上述三种译码器的译码方法前,本发明实施例的方法还包括:获取配置的编码器参数,其中,配置的编码器参数包括:信息位的集合为A及冻结位的集合为AC。信息位放置需要发送的信息比特,冻结位放置发送方和接收方均已知的固定比特,本发明实施例中冻结位全部为0。
在本发明实施例中,对预先确定的各先验错误模式进行排序,获取单一信道接收信号,通过单一信道接收信号,从各先验错误模式中预选的k×M先验错误模式,构造k×M组不同的信道接收值,通过并行运行M个译码器对各自译码器的信道接收值进行本次译码,所述M个译码器中各译码器的每次输入分别为所述M组不同的信道接收值。这样相较于现有技术的单个译码器进行译码,可以通过并行运行各译码器进行译码,能够提高译码性能。
下面继续对本发明实施例提供的一种并行的极化码译码装置进行介绍。
如图8所示,本发明实施例还提供一种并行的极化码译码装置,包括:
获取模块11,用于获取单一信道接收信号;
预选模块12,用于对预先确定的各先验错误模式进行排序,通过所述单一信道接收信号,从所述各先验错误模式中预选k×M先验错误模式;
构造模块13,用于利用所述k×M先验错误模式,构造k×M组不同的信道接收值;
并行译码模块14,用于并行运行M个译码器,并且每个译码器对各自译码器的信道接收值进行本次译码,其中,所述M个译码器中各译码器的每次输入分别为M组不同的信道接收值。
在一种可能的实现方式中,所述装置还包括:第一处理模块,用于采用如下步骤,预先确定各先验错误模式:
获取为N=2n码长的二进制全0序列
Figure BDA0002170996470000211
以及先验错误模式的预设汉明重量E=2m,m≤n,m为小于n的整数,n为对码长N取以2为底的对数;
将所述二进制全0序列
Figure BDA0002170996470000212
中预定比特位置的比特数值确定为1,得到第i条先验错误模式,所述预定比特位置为从第i×E个的比特位置到第i×E+E-1个比特位置,其中i的取值范围为{0,1,...,2m-n-1}。
在一种可能的实现方式中,所述装置还包括:第二处理模块,用于采用如下步骤,预先确定各先验错误模式:
获取为N=2n码长的二进制全0序列
Figure BDA0002170996470000213
以及先验错误模式的预设汉明重量E=2m,m≤n,m为小于n的整数,n为对码长N取以2为底的对数;
将所述二进制全0序列
Figure BDA0002170996470000214
中预设比特位置确定为1,得到第i条先验错误模式,所述预设窗口所在的比特位置为第i个的比特位置到第i+E-1个比特位置,其中i的取值范围为{0,1,...,2m-2n}。
在一种可能的实现方式中,所述装置还包括:第三处理模块,用于采用如下步骤,预先确定各先验错误模式:
获取预先设定的先验错误模式总数P;
获取二进制全0码字通过调制经过信道后的信道接收值,使用SCL算法进行译码,得到L条候选路径;
对所有候选路径进行重编码,获得L条码字;
计算所述L条码字的汉明重量;
除全零码字外的最小汉明重量的码字数量是否小于所有先验错误模式的数量P减一;
若除全零码字外的最小汉明重量的码字数量小于所有先验错误模式的数量P减一,则增大码率,返回所述获取预先设定的先验错误模式总数P的步骤,继续重复执行;
若除全零码字外的最小汉明重量的码字数量大于或等于所有先验错误模式的数量,则依据路径度量值的顺序,选取码重最小的P条码字作为各先验错误模式。
在一种可能的实现方式中,所述装置还包括:第四处理模块,用于采用如下步骤,确定预选的先验错误模式:
依据所述单一信道接收信号,计算各先验错误模式的度量值;
依据所述各先验错误模式的度量值,选择度量值最小的k×M条先验错误模式,作为预选的先验错误模式。
在一种可能的实现方式中,所述装置还包括:第五处理模块,用于若本次译码中各个译码器输出的候选路径中存在能够通过循环冗余校验CRC的路径,则停止译码,输出该候选路径作为译码结果;
若本次译码中不存在能够通过CRC校验的候选路径,并且译码次数小于k,则获取下次各自译码器的信道接收值,作为本次译码的各自译码器的信道接收值,所述下次各自译码器的信道接收值不同于与所述下次各自译码的信道接收值相邻的上次各自译码器的信道接收值;
并行运行M个译码器,并且每个译码器对各自译码器的信道接收值进行本次译码。
在一种可能的实现方式中,在所述各译码器为置信度传播BP译码器时,所述构造模块,用于:
利用所述k×M先验错误模式,对所述单一信道接收信号按照反序替换方法进行处理,构造k×M组不同的信道接收值;
所述并行译码模块,用于:
并行运行M个BP译码器,每次迭代后获得M条候选路径,其中所述M个BP译码器中各BP译码器的每次输入分别为M组不同的信道接收值,所述M个BP译码器各自的最大迭代次数为I;
每一次迭代后对所述M条候选路径进行CRC校验;
若M条候选路径中存在能够通过CRC校验的路径,则停止译码,并输出该路径作为译码结果;
若M条候选路径中不存在能够通过CRC校验的路径,则继续下一次迭代,直到达到最大迭代次数I;
在所述并行运行M个译码器达到最大迭代次数I后,重新输入M组不同的信道接收值,循环上述过程直到k×M组不同的信道接收值用尽。
在一种可能的实现方式中,在所述各译码器为串行抵消SC译码器时,所述构造模块,用于:
利用所述k×M先验错误模式,对所述单一信道接收信号按照符号翻转方法进行处理,构造k×M组不同的信道接收值;
所述并行译码模块,用于:
并行运行M个SC译码器,获得M条候选路径,其中,M个SC译码器中各SC译码器的每次输入为M组不同的信道接收值;
对M条候选路径进行CRC校验;
若M条候选路径中存在能够通过CRC校验的路径,则停止译码,并输出该路径作为译码结果;
若M条候选路径中不存在能够通过CRC校验的路径,则重新输入M组不同的信道接收值,循环上述过程直到k×M组不同的信道接收值用尽。
在一种可能的实现方式中,在所述各译码器为串行抵消列表SCL译码器时,所述各SCL译码器中的L大于等于原始L与所述译码器的总数量之商,且小于所述原始L;
所述构造模块,用于:
利用所述k×M先验错误模式,对所述单一信道接收信号按照符号翻转方法进行处理,构造k×M组不同的信道接收值;
所述并行译码模块,用于:
并行运行M个SCL译码器,获得M×L条候选路径,其中,所述M个SCL译码器中各SCL译码器的每次输入为M组不同的信道接收值,所述M个SCL译码器各自的路径搜索宽度为L;
对M×L条候选路径进行CRC校验;
若M×L条候选路径中存在能够通过CRC校验的路径,则停止译码,并输出该路径作为译码结果;
若M×L条候选路径中不存在能够通过CRC校验的路径,则重新输入M组不同的信道接收值,循环上述过程直到k×M组不同的信道接收值用尽。
现有SC译码方法在码长较短时译码性能较差,虽然CA-SCL译码方法性能与SC译码方法相比有所提高,但是译码延时较大,导致译码器的吞吐率受限。
为改善上述问题,本发明实施例提供了一种并行的极化码译码方法及装置。通过在离线情况下预先确定的先验错误模式,并从预先确定的各先验错误模式中预选的先验错误模式对信道接收值进行处理,在一次译码中构造出多组不同的信道接收值,同时输入并行运行的多个极化码译码器,输出能够通过CRC校验的路径作为译码结果。基于上述处理,在一次译码中构造多组信道接收值,分别输入多组并行译码器后,可获得不同的译码路径,相对于单个译码器,能够提高译码性能。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明实施例的较佳实施例而已,并非用于限定本发明实施例的保护范围。凡在本发明实施例的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明实施例的保护范围内。

Claims (10)

1.一种并行的极化码译码方法,其特征在于,包括:
获取单一信道接收信号;
对预先确定的各先验错误模式进行排序,通过所述单一信道接收信号,从所述各先验错误模式中预选k×M先验错误模式,其中所述k为M的倍数;
利用所述k×M先验错误模式,构造k×M组不同的信道接收值;
并行运行M个译码器,并且每个译码器对各自译码器的信道接收值进行本次译码,其中,所述M个译码器中各译码器的每次输入分别为M组不同的信道接收值,所述信道接收值的数量与所述译码器的数量相同,且均为M。
2.如权利要求1所述的方法,其特征在于,采用如下步骤,预先确定各先验错误模式:
获取为N=2n码长的二进制全0序列
Figure FDA0002525370260000011
以及先验错误模式的预设汉明重量E=2m,m≤n,m为小于n的整数,n为对码长N取以2为底的对数;
将所述二进制全0序列
Figure FDA0002525370260000012
中预定比特位置的比特数值确定为1,得到第i条先验错误模式,所述预定比特位置为从第i×E个的比特位置到第i×E+E-1个比特位置,其中i的取值范围为{0,1,...,2m-n-1}。
3.如权利要求1所述的方法,其特征在于,采用如下步骤,预先确定各先验错误模式:
获取为N=2n码长的二进制全0序列
Figure FDA0002525370260000013
以及先验错误模式的预设汉明重量E=2m,m≤n,m为小于n的整数,n为对码长N取以2为底的对数;
将所述二进制全0序列
Figure FDA0002525370260000014
中预设比特位置确定为1,得到第i条先验错误模式,所述预设窗口所在的比特位置为第i个的比特位置到第i+E-1个比特位置,其中i的取值范围为{0,1,...,2m-2n}。
4.如权利要求1所述的方法,其特征在于,采用如下步骤,预先确定各先验错误模式:
获取预先设定的先验错误模式总数P;
获取二进制全0码字通过调制经过信道后的信道接收值,使用SCL算法进行译码,得到L条候选路径;
对所有候选路径进行重编码,获得L条码字;
计算所述L条码字的汉明重量;
除全零码字外的最小汉明重量的码字数量是否小于所有先验错误模式的数量P减一;
若除全零码字外的最小汉明重量的码字数量小于所有先验错误模式的数量P减一,则增大码率,返回所述获取预先设定的先验错误模式总数P的步骤,继续重复执行;
若除全零码字外的最小汉明重量的码字数量大于或等于所有先验错误模式的数量,则依据路径度量值的顺序,选取码重最小的P条码字作为各先验错误模式。
5.如权利要求1至4任一项所述的方法,其特征在于,采用如下步骤,确定预选的先验错误模式:
依据所述单一信道接收信号,计算各先验错误模式的度量值;
依据所述各先验错误模式的度量值,选择度量值最小的k×M条先验错误模式,作为预选的先验错误模式。
6.如权利要求1至4任一项所述的方法,其特征在于,在所述并行运行M个译码器,并且每个译码器对各自译码器的信道接收值进行本次译码之后,所述方法还包括:
若本次译码中各个译码器输出的候选路径中存在能够通过循环冗余校验CRC的路径,则停止译码,输出该候选路径作为译码结果;
若本次译码中不存在能够通过CRC校验的候选路径,并且译码次数小于k,则获取下次各自译码器的信道接收值,作为本次译码的各自译码器的信道接收值,所述下次各自译码器的信道接收值不同于与所述下次各自译码的信道接收值相邻的上次各自译码器的信道接收值;
并行运行M个译码器,并且每个译码器对各自译码器的信道接收值进行本次译码。
7.如权利要求6所述的方法,其特征在于,在所述各译码器为置信度传播BP译码器时,所述利用所述k×M先验错误模式,构造k×M组不同的信道接收值,包括:
利用所述k×M先验错误模式,对所述单一信道接收信号按照反序替换方法进行处理,构造k×M组不同的信道接收值;
所述并行运行M个译码器,并且每个译码器对各自译码器的信道接收值进行本次译码,包括:
并行运行M个BP译码器,每次迭代后获得M条候选路径,其中所述M个BP译码器中各BP译码器的每次输入分别为M组不同的信道接收值,所述M个BP译码器各自的最大迭代次数为I;
每一次迭代后对所述M条候选路径进行CRC校验;
若M条候选路径中存在能够通过CRC校验的路径,则停止译码,并输出该路径作为译码结果;
若M条候选路径中不存在能够通过CRC校验的路径,则继续下一次迭代,直到达到最大迭代次数I;
在所述并行运行M个译码器达到最大迭代次数I后,重新输入M组不同的信道接收值,循环返回并行运行M个BP译码器,每次迭代后获得M条候选路径的步骤继续执行,直到k×M组不同的信道接收值用尽。
8.如权利要求6所述的方法,其特征在于,在所述各译码器为串行抵消SC译码器时,所述利用所述k×M先验错误模式,构造k×M组不同的信道接收值,包括:
利用所述k×M先验错误模式,对所述单一信道接收信号按照符号翻转方法进行处理,构造k×M组不同的信道接收值;
所述并行运行M个译码器,并且每个译码器对各自译码器的信道接收值进行本次译码,包括:
并行运行M个SC译码器,获得M条候选路径,其中,M个SC译码器中各SC译码器的每次输入为M组不同的信道接收值;
对M条候选路径进行CRC校验;
若M条候选路径中存在能够通过CRC校验的路径,则停止译码,并输出该路径作为译码结果;
若M条候选路径中不存在能够通过CRC校验的路径,则重新输入M组不同的信道接收值,循环返回并行运行M个SC译码器,获得M条候选路径的步骤继续执行,直到k×M组不同的信道接收值用尽。
9.如权利要求6所述的方法,其特征在于,在所述各译码器为串行抵消列表SCL译码器时,所述利用所述k×M先验错误模式,构造k×M组不同的信道接收值,包括:
利用所述k×M先验错误模式,对所述单一信道接收信号按照符号翻转方法进行处理,构造k×M组不同的信道接收值;
所述并行运行M个译码器,并且每个译码器对各自译码器的信道接收值进行本次译码,包括:
并行运行M个SCL译码器,获得M×L条候选路径,其中,所述M个SCL译码器中各SCL译码器的每次输入为M组不同的信道接收值,所述M个SCL译码器各自的路径搜索宽度为L;
对M×L条候选路径进行CRC校验;
若M×L条候选路径中存在能够通过CRC校验的路径,则停止译码,并输出该路径作为译码结果;
若M×L条候选路径中不存在能够通过CRC校验的路径,则重新输入M组不同的信道接收值,循环返回并行运行M个SCL译码器,获得M×L条候选路径的步骤继续执行,直到k×M组不同的信道接收值用尽。
10.一种并行的极化码译码装置,其特征在于,包括:
获取模块,用于获取单一信道接收信号;
预选模块,用于对预先确定的各先验错误模式进行排序,通过所述单一信道接收信号,从所述各先验错误模式中预选k×M先验错误模式,其中所述k为M的倍数;
构造模块,用于利用所述k×M先验错误模式,构造k×M组不同的信道接收值;
并行译码模块,用于并行运行M个译码器,并且每个译码器对各自译码器的信道接收值进行本次译码,其中,所述M个译码器中各译码器的每次输入分别为M组不同的信道接收值,所述信道接收值的数量与所述译码器的数量相同,且均为M。
CN201910763061.6A 2019-08-19 2019-08-19 一种并行的极化码译码方法及装置 Active CN110492974B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910763061.6A CN110492974B (zh) 2019-08-19 2019-08-19 一种并行的极化码译码方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910763061.6A CN110492974B (zh) 2019-08-19 2019-08-19 一种并行的极化码译码方法及装置

Publications (2)

Publication Number Publication Date
CN110492974A CN110492974A (zh) 2019-11-22
CN110492974B true CN110492974B (zh) 2020-08-07

Family

ID=68551871

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910763061.6A Active CN110492974B (zh) 2019-08-19 2019-08-19 一种并行的极化码译码方法及装置

Country Status (1)

Country Link
CN (1) CN110492974B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111130566B (zh) * 2019-12-18 2021-05-11 清华大学 Polar码译码器中寻找L个最大路径度量值的电路实现方法
CN111541517B (zh) * 2020-04-17 2022-03-25 北京交通大学 一种列表极化码传播译码方法
CN111446973B (zh) * 2020-04-17 2022-03-25 北京交通大学 基于多翻转比特集合的极化码置信传播译码方法
CN111431542A (zh) * 2020-05-08 2020-07-17 中国计量大学 基于crc辅助的极化码的置信度传播翻转算法设计
CN114996194B (zh) * 2022-06-10 2024-03-01 中国电信股份有限公司 并行总线中继方法、系统、装置、存储介质及电子设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016119105A1 (zh) * 2015-01-26 2016-08-04 华为技术有限公司 极化Polar码的生成方法和设备
CN107231215B (zh) * 2017-06-18 2020-04-14 北京理工大学 一种并行信道下基于极化码的安全传输方法
CN109274460B (zh) * 2018-09-14 2021-01-08 北京邮电大学 一种多比特并行结构串行抵消译码方法和装置
CN109361495B (zh) * 2018-12-07 2020-05-08 北京邮电大学 一种极化码构造方法、装置、电子设备及可读存储介质
CN110278002B (zh) * 2019-06-19 2023-01-17 东南大学 基于比特翻转的极化码置信传播列表译码方法

Also Published As

Publication number Publication date
CN110492974A (zh) 2019-11-22

Similar Documents

Publication Publication Date Title
CN110492974B (zh) 一种并行的极化码译码方法及装置
CN107846261B (zh) 用于并行连续取消解码和连续取消列表解码的设备和方法
JP4185167B2 (ja) 積符号の反復復号化
US8677222B2 (en) Method and device for decoding Reed-Solomon (RS) code
KR20030095144A (ko) 고속 데이터 전송 시스템에서 순방향 오류 정정 장치 및방법
KR20040101743A (ko) 통신 시스템에서 저밀도 패리티 검사 코드의 복호 장치 및방법
CN110233628B (zh) 极化码的自适应置信传播列表译码方法
Chen et al. Sparse code multiple access decoding based on a Monte Carlo Markov chain method
CN110661533B (zh) 优化译码器存储极化码译码性能的方法
CN112332864A (zh) 一种自适应有序移动剪枝列表的极化码译码方法及系统
CN105812000B (zh) 一种改进的bch软判决译码方法
CN110995279B (zh) 一种极化码联合scf球形列表翻转译码方法
CN109672498B (zh) 译码方法和装置
CN114070331A (zh) 一种自适应串行抵消列表翻转译码方法及系统
KR20050019014A (ko) 디코딩 장치 및 방법
CN111130567B (zh) 添加噪声扰动和比特翻转的极化码置信传播列表译码方法
Hashemi et al. Deep-learning-aided successive-cancellation decoding of polar codes
Doan et al. Fast successive-cancellation list Flip decoding of polar codes
CN116614142A (zh) 一种基于bpl译码和osd译码的联合译码方法
Torshizi et al. A new hybrid decoding algorithm for LDPC codes based on the improved variable multi weighted bit-flipping and BP algorithms
US11515895B2 (en) Block code encoding and decoding methods, and apparatus therefor
Zhao et al. Fast list decoding of PAC codes with sequence repetition nodes
KR20010092900A (ko) 터보 복호기에서 반복 복호를 중지하는 장치 및 이를구비한 터보 복호기
CN114598334A (zh) 一种分段crc辅助的卷积极化码编译码方案
CN112769437A (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