CN111490797B - 编码方法、装置及设备 - Google Patents

编码方法、装置及设备 Download PDF

Info

Publication number
CN111490797B
CN111490797B CN201910087281.1A CN201910087281A CN111490797B CN 111490797 B CN111490797 B CN 111490797B CN 201910087281 A CN201910087281 A CN 201910087281A CN 111490797 B CN111490797 B CN 111490797B
Authority
CN
China
Prior art keywords
row
position set
bits
sequence number
matrix
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
CN201910087281.1A
Other languages
English (en)
Other versions
CN111490797A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201910087281.1A priority Critical patent/CN111490797B/zh
Publication of CN111490797A publication Critical patent/CN111490797A/zh
Application granted granted Critical
Publication of CN111490797B publication Critical patent/CN111490797B/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/13Linear codes

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

本申请实施例提供一种编码方法、装置及设备,该方法包括:获取N个待编码比特,所述N个待编码比特中包括K个信息比特和N‑K个固定比特,N为正整数,所述K为正整数,所述K小于或等于所述N;获取所述N个待编码比特的生成矩阵;根据所述生成矩阵中行向量之间的线性无关度量,确定所述信息比特的位置;根据所述信息比特的位置,对所述待编码比特进行编码。提高了编码的可靠性。

Description

编码方法、装置及设备
技术领域
本申请涉及通信技术领域,尤其涉及一种编码方法、装置及设备。
背景技术
在通信技术领域,通信设备(例如终端设备、基站等)可以通过极化码(Polar码)的方式进行信道编码和译码。
在现有技术中,通常采用基于子信道可靠性的方式构造极化码,基于子信道可靠性的构造方式包括高斯近似(Gaussian Approximation,GA)方式、极化重量(PolarizationWeight,PW)方式等。然而,上述构造极化码的方式可以使得串行抵消(SuccessiveCancellation,SC)译码下的性能最优,而无法使得串行抵消列表(SuccessiveCancellation List,SCL)译码和分阶统计译码(Ordered Statistics Decoding,OSD)译码的性能最优,导致现有的编码方式的性能较差。
发明内容
本申请提供一种编码方法、装置及设备,提高了编码的可靠性。
第一方面,本申请实施例提供一种编码方法,该方法包括:获取N个待编码比特,N个待编码比特中包括K个信息比特和N-K个固定比特,N为正整数,K为正整数,K小于或等于N;获取N个待编码比特的生成矩阵;根据生成矩阵中行向量之间的线性无关度量,确定信息比特的位置;根据信息比特的位置,对待编码比特进行编码。
在上述过程中,根据生成矩阵中行向量之间的线性无关度量,确定信息比特的位置,可以使得信息比特的位置对应的生成矩阵中的行向量之间的线性无关的可能性较大,进而使得SCL译码错误的概率和OSD译码错误的概率较小,进而提高了编码的可靠性。
在一种可能的实施方式中,线性无关度量为线性无关的可能性。
在一种可能的实施方式中,可以通过如下可行的实现方式根据生成矩阵中行向量之间的线性无关度量,确定信息比特的位置:初始化第一位置集合,初始化的第一位置集合中包括生成矩阵中行重量最大的行向量的行序号;初始化第二位置集合,初始化的第二位置集合中包括至少一个行序号;根据生成矩阵中第二位置集合中每个行序号对应的行向量,与生成矩阵中第一位置集合中的行序号对应的行向量之间的线性无关度量,确定信息比特的位置。
在上述过程中,初始化的第一位置集合中包括生成矩阵中行重量最大的行向量的行序号,且依次将第二位置集合中与第一位置集合中的行序号对应的行向量之间的线性无关的可能性最大的行向量对应的行序号移动至第一位置集合,这样,可以使得第一位置集合中的行序号对应的生成矩阵中的行向量的码重较大,且使得第一位置集合中的行序号对应的生成矩阵中的行向量之间的线性无关的可能性最大,即,使得生成矩阵中信息比特位对应的行向量之间的线性无关的可能性最大,进而可以使得在SCL译码错误概率较小以及使得OSD译码错误概率较小,进而提高了编码的可靠性。
在一种可能的实施方式中,初始化的第二位置集合中包括可靠度最高的K+L个子信道对应的行序号;其中,L为串行抵消列表SCL译码的保留路径数量,保留路径数量为SCL译码中每步译码保留的最大路径数量。
在上述过程中,由于第二位置集合中包括可靠度最高的K+L个子信道对应的行序号,且第一位置集合中的行序号是在初始化的第二位置集合中选择的,因此,可以使得第一位置集合中的行序号对应的子信道的可靠度较高,进而使得信息比特位对应的子信道的可靠度较高,使得编码的可靠性较高。
在一种可能的实施方式中,K+L个子信道为N个子信道中可靠度最高的K+L个子信道。
在一种可能的实施方式中,K+L个子信道为N-X个子信道中可靠度最高的K+L个子信道,X为初始化的第一位置集合中包括的行序号的个数,N-X个子信道为N个子信道中除第一位置集合中行序号对应的子信道外的子信道。这样,可以使得初始化的第一位置集合和初始化的第二位置集合中包括的行序号不重复,进而避免执行不必要的操作。
在一种可能的实施方式中,生成矩阵为待编码比特的极化码矩阵,极化码矩阵包括N行和N列;初始化的第一位置集合包括生成矩阵中行重大于第一汉明距离的行的序号;其中,第一汉明距离为信息比特和固定比特按照不同方式排列时的最小汉明距离中的最大值,信息比特和固定比特按照一种方式排列对应一个最小汉明距离,信息比特和固定比特按照一种方式排列时的最小汉明距离为,信息比特和固定比特按照该方式排列时生成矩阵中信息比特位对应的行的最小行重。
在上述过程中,可以使得初始化的第一位置集合中包括的行序号对应的行的行重量较大,进而使得编码性能较高。
在一种可能的实施方式中,初始化的第二位置集合中包括生成矩阵中行重等于第一汉明距离的行的序号。这样,可以使得初始化的第二位置集合中包括的行序号对应的行的行重量较大,使得选择到第一位置集合中的行序号对应的行的行重量也较高,进而使得编码性能较高。
在一种可能的实施方式中,初始化的第二位置集合包括生成矩阵中的全部行序号;或者,初始化的第二位置集合包括生成矩阵中除初始化的第一位置集合中的行序号之外的行序号。
在一种可能的实施方式中,根据生成矩阵中第二位置集合中每个行序号对应的行向量,与生成矩阵中第一位置集合中的行序号对应的行向量之间的线性无关度量,确定信息比特的位置,包括:
执行第一操作,第一操作包括:根据生成矩阵中当前第二位置集合中每个行序号对应的行向量,与生成矩阵中当前第一位置集合中的行序号对应的行向量之间的线性无关度量,在当前第二位置集合中确定目标行序号;在当前第二位置集合中,目标行序号对应生成矩阵中的行向量与生成矩阵中当前第一位置集合中的行序号对应的行向量之间的线性无关度量最大;
执行第二操作,第二操作包括:将目标行序号添加至当前第一位置集合,得到新的第一位置集合,并在当前第二位置集合中删除目标行序号,得到新的第二位置集合;
重复执行第一操作和第二操作,直至新的第一位置集合中包括K个行序号时,将当前第一位置集合中的行序号确定为信息比特的位置。
在上述过程中,可以保证将第二位置集合中与第一位置集合中的行序号对应的行向量的线性无关度量最大的行序号添加至第一位置集合,使得第一位置集合中的行序号对应的行向量的线性无关度量最大,使得编码的可靠性较高。
在一种可能的实施方式中,将目标行序号添加至当前第一位置集合,并在当前第二位置集合中删除目标行序号,包括:在Y大于Z时,在Y个目标行序号中确定Z个目标行序号,Y为目标行序号的个数,Z=K-T,T为当前第一位置集合中包括的行序号的个数,Y为大于1的整数,Z为小于或等于K的正整数;将Z个目标行序号添加至当前第一位置集合,并在当前第二位置集合中删除Z个目标行序号。
在上述过程中,可以使得第一位置集合中包括的行序号的个数最大为K,避免第一位置集合中包括的行序号的个数大于K。
在一种可能的实施方式中,Z个目标行序号为Y个目标行序号中可靠度最高的Z个子信道对应的行序号;或者,Z个目标行序号为Y个目标行序号中行序号最大的Z个行序号;或者,Z个目标行序号为Y个目标行序号中行序号最小的Z个行序号。
在一种可能的实施方式中,信息比特包括循环冗余校验CRC比特和/或奇偶校验PC比特。
第二方面,本申请实施例提供一种编码装置,包括:
第一获取模块,用于获取N个待编码比特,所述N个待编码比特中包括K个信息比特和N-K个固定比特,N为正整数,所述K为正整数,所述K小于或等于所述N;
第二获取模块,用于获取所述N个待编码比特的生成矩阵;
确定模块,用于根据所述生成矩阵中行向量之间的线性无关度量,确定所述信息比特的位置;
编码模块,用于根据所述信息比特的位置,对所述待编码比特进行编码。
在一种可能的实施方式中,所述线性无关度量为线性无关的可能性。
在一种可能的实施方式中,所述确定模块具体用于:
初始化第一位置集合,初始化的第一位置集合中包括所述生成矩阵中行重量最大的行向量的行序号;
初始化第二位置集合,初始化的第二位置集合中包括至少一个行序号;
根据所述生成矩阵中所述第二位置集合中每个行序号对应的行向量,与所述生成矩阵中所述第一位置集合中的行序号对应的行向量之间的线性无关度量,确定所述信息比特的位置。
在一种可能的实施方式中,所述初始化的第二位置集合中包括可靠度最高的K+L个子信道对应的行序号;
其中,所述L为串行抵消列表SCL译码的保留路径数量,所述保留路径数量为所述SCL译码中每步译码保留的最大路径数量。
在一种可能的实施方式中,所述K+L个子信道为N个子信道中可靠度最高的K+L个子信道;或者,
所述K+L个子信道为N-X个子信道中可靠度最高的K+L个子信道,所述X为所述初始化的第一位置集合中包括的行序号的个数,所述N-X个子信道为所述N个子信道中除所述第一位置集合中行序号对应的子信道外的子信道。
在一种可能的实施方式中,所述生成矩阵为所述待编码比特的极化码矩阵,所述极化码矩阵包括N行和N列;
所述初始化的第一位置集合包括所述生成矩阵中行重大于第一汉明距离的行的序号;其中,所述第一汉明距离为所述信息比特和所述固定比特按照不同方式排列时的最小汉明距离中的最大值,所述信息比特和所述固定比特按照一种方式排列对应一个最小汉明距离,所述信息比特和所述固定比特按照一种方式排列时的最小汉明距离为,所述信息比特和所述固定比特按照该方式排列时所述生成矩阵中信息比特位对应的行的最小行重。
在一种可能的实施方式中,所述初始化的第二位置集合中包括所述生成矩阵中行重等于所述第一汉明距离的行的序号。
在一种可能的实施方式中,所述初始化的第二位置集合包括所述生成矩阵中的全部行序号;或者,
所述初始化的第二位置集合包括所述生成矩阵中除所述初始化的第一位置集合中的行序号之外的行序号。
在一种可能的实施方式中,所述确定模块用于:
执行第一操作,所述第一操作包括:根据所述生成矩阵中当前第二位置集合中每个行序号对应的行向量,与所述生成矩阵中当前第一位置集合中的行序号对应的行向量之间的线性无关度量,在当前第二位置集合中确定目标行序号;在当前第二位置集合中,所述目标行序号对应所述生成矩阵中的行向量与所述生成矩阵中当前第一位置集合中的行序号对应的行向量之间的线性无关度量最大;
执行第二操作,所述第二操作包括:将所述目标行序号添加至当前第一位置集合,得到新的第一位置集合,并在当前第二位置集合中删除所述目标行序号,得到新的第二位置集合;
重复执行所述第一操作和所述第二操作,直至新的第一位置集合中包括K个行序号时,将当前第一位置集合中的行序号确定为所述信息比特的位置。
在一种可能的实施方式中,所述确定模块用于:
在Y大于Z时,在所述Y个目标行序号中确定Z个目标行序号,所述Y为所述目标行序号的个数,所述Z=K-T,所述T为当前第一位置集合中包括的行序号的个数,所述Y为大于1的整数,所述Z为小于或等于所述K的正整数;
将所述Z个目标行序号添加至当前第一位置集合,并在当前第二位置集合中删除所述Z个目标行序号。
在一种可能的实施方式中,所述Z个目标行序号为所述Y个目标行序号中可靠度最高的Z个子信道对应的行序号;或者,
所述Z个目标行序号为所述Y个目标行序号中行序号最大的Z个行序号;或者,
所述Z个目标行序号为所述Y个目标行序号中行序号最小的Z个行序号。
在一种可能的实施方式中,所述信息比特包括循环冗余校验CRC比特和/或奇偶校验PC比特。
第三方面,本申请实施例提供一种编码装置,包括:存储器、处理器以及计算机程序,所述计算机程序存储在所述存储器中,所述处理器运行所述计算机程序执行如第一方面任一项所述的方法。
第四方面,本申请实施例提供一种存储介质,其特征在于,所述存储介质包括计算机程序,所述计算机程序用于实现如第一方面任一项所述的方法。
本申请提供的编码方法、装置及设备,先获取N个待编码比特,N个待编码比特中包括K个信息比特和N-K个固定比特,N为正整数,K为正整数,K小于或等于N;获取N个待编码比特的生成矩阵;根据生成矩阵中行向量之间的线性无关度量,确定信息比特的位置;根据信息比特的位置,对待编码比特进行编码。在上述过程中,根据生成矩阵中行向量之间的线性无关度量,确定信息比特的位置,可以使得信息比特的位置对应的生成矩阵中的行向量之间的线性无关的可能性较大,进而使得SCL译码错误的概率和OSD译码错误的概率较小,进而提高了编码的可靠性。
附图说明
图1为本申请实施例提供的通信***的架构图;
图2为本申请实施例提供的信道传输流程图;
图3为本申请提供的编码方法的流程示意图;
图4为本申请提供的一种确定信息比特的位置的流程示意图;
图5为本申请提供的一种仿真示意图;
图6为本申请提供的一种仿真示意图;
图7为本申请提供的一种仿真示意图;
图8为本申请实施例提供的编码装置的结构示意图;
图9为本申请实施例提供的编码装置的硬件结构示意图。
具体实施方式
本申请实施例可以应用于各种采用Polar编码的领域,例如:数据存储领域、光网络通信领域,无线通信领域等等。其中,本申请实施例提及的无线通信***包括但不限于:窄带物联网***(Narrow Band-Internet of Things,NB-IoT)、全球移动通信***(GlobalSystem for Mobile Communications,GSM)、增强型数据速率GSM演进***(Enhanced Datarate for GSM Evolution,EDGE)、宽带码分多址***(Wideband Code Division MultipleAccess,WCDMA)、码分多址2000***(Code Division Multiple Access,CDMA2000)、时分同步码分多址***(Time Division-Synchronization Code Division Multiple Access,TD-SCDMA),长期演进***(Long Term Evolution,LTE)以及下一代5G移动通信***的三大应用场景增强型移动宽带(enhanced Mobile Broad Band,eMBB)、超高可靠与低延迟的通信(Ultra Reliable Low Latency Communication,URLLC)以及大规模机器通信(massiveMachine-Type Communications,mMTC)。当然,采用Polar编码的领域还可以为其它,本申请对此不作具体限定。
本申请涉及的通信装置主要包括网络设备或者终端设备。本申请中的发送设备可以为网络设备,则接收设备为终端设备。本申请中的发送设备为终端设备,则接收设备为网络设备。
在本申请实施例中,终端设备(terminal device)包括但不限于移动台(MobileStation,MS)、移动终端(Mobile Terminal,MT)、移动电话(Mobile Telephone,MT)、手机(handset)及便携设备(portable equipment)等,该终端设备可以经无线接入网(RadioAccess Network,RAN)与一个或多个核心网进行通信。例如,终端设备可以是移动电话(或称为“蜂窝”电话)、具有无线通信功能的计算机等,终端设备还可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置或设备。
在本申请实施例中,网络设备可以是LTE***中的演进型基站(Evolutional NodeB,eNB或eNodeB),或者,网络设备可以是5G通信***中的gNB或者传输和接收点(transmission reception point,TRP)、微基站等,或者网络设备可以为中继站、接入点、车载设备、可穿戴设备以及未来演进的公共陆地移动网络(Public Land Mobile Network,PLMN)中的网络设备,或者在其他多种技术融合的网络中,或者在其他各种演进网络中的基站等。
例如,网络设备可以为基站(Base Station,BS),基站可以向多个移动台(MobileStation,MS)提供通信服务,基站还可以连接到核心网设备。其中,基站包含基带单元(Baseband Unit,BBU)和远端射频单元(英文:Remote Radio Unit,RRU)。BBU和RRU可以放置在不同的地方,例如:RRU拉远,放置于高话务量的区域,BBU放置于中心机房。BBU和RRU也可以放置在同一机房。BBU和RRU也可以为一个机架下的不同部件。
图1为本申请实施例提供的通信***的架构图。请参见图1,包括发送设备101和接收设备102。
可选的,当发送设备101为终端设备时,则接收设备102为网络设备。当发送设备101为网络设备时,则接收设备为终端设备。
请参见图1,发送设备101中包括编码器,发送设备101可以通过编码器进行编码,并将编码后的序列通过信道传输至接收设备102。接收设备102中包括译码器,接收设备可以通过译码器对接收到的序列进行译码。
需要说明的是,图1只是以示例的形式示意一种通信***的架构图,并非对通信***的架构图的限定。
图2为本申请实施例提供的信道传输流程图。请参见图2,发送设备对发送的数据进行信源编码以及信道编码,编码后的序列经过映射调制之后在信道上传输至接收设备。接收设备可以对接收到的序列进行解映射解调处理、信道译码处理以及信源译码处理以恢复出发送设备发送的数据。
由于目前的编码方法无法使得SCL译码和OSD译码的性能最优,为此,本申请提出一种编码方法,可以提高SCL译码和OSD译码的性能。为了便于对本申请的理解,首先对OSD译码方法、OSD译码错误概率、SCL译码方法和SCL译码错误概率进行说明。
OSD译码过程可以包括如下步骤:
步骤一、获取接收序列,根据接收序列中每个待译码比特的硬判值的可靠性对接收序列进行降序排序,得到第一序列y1,并确定接收序列到第一序列的第一转换操作矩阵(或者转换操作向量)λ1
可选的,接收序列可以为一组对数似然比(Likelihood Rate,LLR),一个待译码比特可以为一个LLR。
可选的,待译码比特的硬判值为0或1。例如,若待译码比特(LLR)大于0,则该待译码比特的硬判值可以为0,若待译码比特(LLR)小于0,则待译码比特的硬判值为1。
可选的,待译码比特的硬判值的可靠性可以为待译码比特(LLR)的绝对值。
例如,假设接收序列为L1(LLR1,LLR2,LLR3,LLR4),第一序列为L2(LLR4,LLR1,LLR2,LLR3),则第一转换操作矩阵可以为:
Figure BDA0001962181670000061
即,
Figure BDA0001962181670000062
第一转换操作矩阵还可以为(4,1,2,3),通过该第一转换操作矩阵中的元素指示对接收序列中的排序方式,由上述第一转换操作矩阵可知,将接收序列中的第4个元素排到了第1位,将接收序列中的第1个元素排到了第2位,将接收序列中的第2个元素排到了第3位,将接收序列中的第2个元素排到了第4位。
步骤二、根据第一转换操作矩阵对接收序列对应的生成矩阵进行列转换,得到第一矩阵G1。
在OSD译码中,生成矩阵中包括的行的行数与信息比特的个数相同,该生成矩阵中的行为信息比特的位置对应的行。
例如,假设待编码比特中包括K个信息比特和N-K个固定比特,则OSD译码中的生成矩阵中包括N*N矩阵(包括N行和N列)中、信息比特的位置对应的行,即,OSD译码中的生成矩阵为K*N矩阵(包括K行和N列)。
例如,假设待编码比特中包括2个信息比特,2个冻结比特,则生成矩阵为
Figure BDA0001962181670000063
假设第一转换操作矩阵为(4,1,2,3),则将生成矩阵的第4列调换到第1列,将第1列调换到第2列,将第2列调换到第3列,将第3列调换到第4列,得到的第一矩阵为
Figure BDA0001962181670000071
步骤三、对第一矩阵G1从左至右进行高斯消元,其中,相互独立的列将被前置生成一个新的第二矩阵G2,并确定第一矩阵G1到第二矩阵G2的第二转换操作矩阵(或者转换操作向量)λ2
通过该步骤,由于第一矩阵G1的前K列不一定相互独立(不相关),通过第二转换操作矩阵λ2对第一矩阵G1的列顺序进行微调后得到第二矩阵G2,第二矩阵G2的前K列相互独立(不相关)。
需要说明的是,确定第二转换操作矩阵的过程可以参加确定第一转换操作矩阵的过程,此处不再进行赘述。
步骤四、通过第二转换操作矩阵λ2对第一序列y1进行转换操作,得到转换后的第二序列y2
例如,y2=λ2*y1
步骤五、对于给定0≤l≤K,对K中所有小于或等于l个位置上第二序列y2的比特硬判决进行翻转。
步骤六、对于每一种错误模式,基于第二矩阵G2对K个比特重新进行编码,并计算对应的译码度量。
步骤七、在所有错误模式中选择具有最佳译码度量的码字确定为译码结果。
在上述OSD译码的基础上,下面,对OSD译码错误概率进行说明。
在上述OSD译码中,OSD译码错误概率包括最大释然(Maximum Likelihood,ML)译码错误概率和I阶译码错误概率,OSD译码错误概率
Figure BDA0001962181670000072
满足公式一所示的关系:
Figure BDA0001962181670000073
其中,
Figure BDA0001962181670000074
为ML译码错误概率,Pe(I)为I阶译码错误概率。
ML译码错误概率与码字的重量谱相关,其中,重量谱与生成矩阵中用于传输信息比特的行向量之间的线性无关的可能性相关,例如,生成矩阵中用于传输信息比特的行向量之间的线性无关的可能性越大,重量谱越好,
Figure BDA0001962181670000075
可以如公式二所示:
Figure BDA0001962181670000076
其中,P(x1→x2)为将码字x1错译码成码字x2的概率,dh为码字间的汉明距离,
Figure BDA0001962181670000077
为与码字x1间的汉明距离为dh的码字的个数,f(dh)为将码字x1错译码成与码字x1的汉明距离为dh的其它码字的概率。码字x1与码字x2之间汉明距离越大,将码字x1错译码成码字x2的概率越小,即dh越大,f(dh)越小。Polar码的一个特性为,码字的最小汉明距离等于生成矩阵中信息位对应行的最小行重,行重为一行中包括的非0元素的个数。由此可知,码字的重量谱越好,码字的最小码重越大、具有较低码重的码字越少,可以使得ML译码性能最优(ML译码错误概率最小)。
I阶译码错误概率与d的分布相关,其中,d为得到第K个线性无关的列之前、线性相关的列数目,即,构成K个不相关列所需要额外列的数目。例如,假设K-1列线性无关,第K列与前K-1列线性相关,需要将第K列与第K+3列进行交换,才能使得前K列线性无关,则d为3。
由上述OSD译码的过程可知,OSD译码是按照不相关的K个元素进行译码,但是,在实际应用过程中,无法保证前K列是线性无关的,因此,在估计Pe(I)时,需要考虑前K+d个位置上的错误情况,Pe(I)满足如下公式三所示的关系:
Figure BDA0001962181670000081
其中,P(d)为d的分布,
Figure BDA0001962181670000082
表示为了得到K个线性不相关的列,需要额外考虑的列的最大个数,
Figure BDA0001962181670000083
为该码字的最小汉明距离,P1为前K+d个元素中存在大于I个错误的概率。显然,当可靠度最高的比特(Most Reliable Bits,MRB)的可靠性越高,出现错误的可能性越低,即,前K+d个元素中出现多于I个错误的概率P1随着d的增大而增加,因此,在d越小时令P(d)越大,从而得到较小的Pe(I)。
P(d)与重量谱的分布是一致的,即,重量谱越好,在d较小时P(d)越大。P(d)通常满足如下公式四所示的特征:
Figure BDA0001962181670000084
其中,
Figure BDA0001962181670000085
Figure BDA0001962181670000086
Figure BDA0001962181670000087
表示在码字中任取K位为全0的码字平均数目,N(dx)表示汉明重量为dx的码字数量,可以看出,dx越小,N(dx)前的系数越大,因此
Figure BDA0001962181670000088
的大小主要由重量小的码字数量决定,重量小的码字数量越少,
Figure BDA0001962181670000089
越小,而p越大d的分布越靠左(更优)。由上可知,因此I阶译码性能最优(I阶译码错误最小)和ML译码性能最优(ML译码性能最小)是一致的。
生成矩阵中任取K列的线性无关的可能性越大,d的分布越优。由于生成矩阵中行之间的线性无关性,与任取K列的线性无关性是正相关的,因此,尽量选取生成矩阵中线性无关的行对应的位置作为信息位,可以使得任取K列的线性无关可能性最大,进而使得OSD译码性能最优(OSD译码错误概率最小)。
SCL译码过程可以包括如下步骤:
步骤一、获取接收序列,接收序列中包括多个待译码比特。
可选的,接收序列可以为一组LLR,一个待译码比特为一个LLR。
步骤二、将接收序列中的待译码比特分为P组待译码比特。
例如,假设接收序列中包括2a个待译码比特,每组待译码比特包括m个比特,2a=P×m,P为大于1的正整数,m为大于或等于1的正整数。
步骤三、以P组待译码比特为译码对象进行P步译码,直至获取得到译码结果。
其中,针对任意第i步译码,可以根据接收序列(一组LLR)计算第i组待译码比特中每个待译码信息比特的m+1级LLR。根据第i组待译码比特中每个信息比特的m+1级LLR,并行计算第i步译码的所有可能译码路径的路径度量值。根据所有可能译码路径的路径度量值,选择至少一个保留译码路径。
在上述SCL译码的基础上,下面,对SCL译码错误概率进行说明。
在上述SCL译码过程中,SCL译码错误包括两类错误,第一类错误是路径选择错误,即,选择的至少一个保留译码路径中不存在正确的译码路径;第二类错误是ML错误,即,正确译码路径的路径度量(Path Metric,PM)值不是最小的。第一类错误主要与信息位子信道的可靠性有关,信息位子信道可靠性越高,路径选择错误的概率越低。第二类错误与码字的重量谱相关,码字的重量谱越好,出现ML错误的概率越低。
由上可知,信息位对应的子信道的可靠性越高,且重量谱越好(生成矩阵中用于传输信息比特的行向量之间的线性无关的可能性越大),可以使得SCL译码错误概率越小。
下面,通过具体实施例,对本申请所示的技术方案进行详细说明。需要说明的是,下面几个实施例可以相互结合,对于相同或者相似的内容,在不同的实施例中不再重复说明。
图3为本申请提供的编码方法的流程示意图。请参见图3,该方法可以包括:
S301、获取N个待编码比特。
其中,N个待编码比特中包括K个信息比特和N-K个固定比特,N为正整数,K为正整数,K小于或等于N。
可选的,信息比特为用于携带信息的比特。
可选的,信息比特可以包括循环冗余校验(Cyclic Redundancy Check,CRC)比特和/或奇偶校验(Parity Check,PC)比特。
可选的,固定比特还可以称为填充比特、冻结比特等。固定比特可以为0。
可选的,N可以为2的正整数次幂。
S302、获取N个待编码比特的生成矩阵。
可选的,生成矩阵可以为N*N矩阵,即,生成矩阵中包括N行和N列。
例如,生成矩阵可以为
Figure BDA0001962181670000091
Figure BDA0001962181670000092
为n次克罗内克(Kronecker)幂,即,生成矩阵可以为n个矩阵F连续做克罗内克积,n=log2N。
例如,当N等于4时,生成矩阵可以为:
Figure BDA0001962181670000093
当N等于8时,生成矩阵可以为:
Figure BDA0001962181670000094
S303、根据生成矩阵中行向量之间的线性无关度量,确定信息比特的位置。
可选的,线性无关度量可以为线性无关的可能性,或者,线性无关度量还可以称为线性无关性,或者,线性无关度量还可以称为独立的可能性。
可选的,信息比特的位置为K个。
可选的,信息比特的位置可以为生成矩阵中线性无关的可能性较大(例如最大)的行向量的行序号。
需要说明的是,在本申请中,行向量还可以称为行,行向量的行序号还可以称为行的行序号,行向量的行重还可以称为行的行重。
例如,假设N为8,K为4,假设生成矩阵中第1,2,5,8行之间的线性无关度量最大,则可以确定信息比特的位置为{1,2,5,8}。
可选的,对于一个长度为N的行向量x,该行向量x与前面K1个行向量的线性无关度量可以如公式五所示:
Figure BDA0001962181670000101
其中,i为向量x中元素1所在列的列序号,例如,若向量x中第1、3、4、5列中的元素为1,则i依次取1、3、4、5。qi为前K1行所构成的维度为K1×N的矩阵中第i列中包括的1的比例,例如,若第i列中包括m个1,则qi=m/K1
S304、根据信息比特的位置,对待编码比特进行编码。
可选的,可以根据信息比特的位置,对信息比特和固定比特进行排序,并根据生成矩阵对排序后的信息比特和固定比特进行编码。
例如,假设N为8,K为4,信息比特为i1、i2、i3和i4,信息比特的位置为{4,6,7,8},固定比特为0,因此,按照信息比特的位置对信息比特和固定比特进行排序之后,得到序列
Figure BDA0001962181670000102
可以将序列
Figure BDA0001962181670000103
乘以生成矩阵、以及比特反序重排等处理,以实现对待编码比特进行编码。
本申请提供的编码方法,根据生成矩阵中行向量之间的线性无关度量,确定信息比特的位置,可以使得信息比特的位置对应的生成矩阵中的行向量之间的线性无关的可能性较大,进而使得SCL译码错误的概率和OSD译码错误的概率较小,进而提高了编码的可靠性。
在上述任意一个实施例的基础上,可选的,可以通过如下可行的实现方式确定信息比特的位置。具体的,请参见图4所示的实施例。
图4为本申请提供的一种确定信息比特的位置的流程示意图。请参见图4,该方法可以包括:
S401、初始化第一位置集合。
其中,初始化的第一位置集合中包括生成矩阵中行重量最大的行向量的行序号。
可选的,行向量的行重量是指行向量中包括非零元素的个数。例如,生成矩阵中的行向量的行重量是指行向量中包括的1的个数。
生成矩阵中最后一行中的元素通常全部为1,因此,生成矩阵中最后一个行向量的行重量最大。
可选的,初始化的第一位置集合可以包括至少如下两种情况:
一种可能的情况:
初始化的第一位置集合中仅包括生成矩阵中最后一行的行序号。
在该种可能的情况下,初始化的第一位置集合中包括的行序号的个数为1。
例如,假设生成矩阵包括8行,则第一位置集合中仅包括行序号8。
可选的,在译码算法为SCL译码算法时,初始化的第一位置集合可以为该种可能的情况。
另一种可能的情况:
当生成矩阵为待编码比特的极化码矩阵,极化码矩阵包括N行和N列时,初始化的第一位置集合包括生成矩阵中行重大于第一汉明距离的行的序号。
其中,第一汉明距离为信息比特和固定比特按照不同方式排列时的最小汉明距离中的最大值,信息比特和固定比特按照一种方式排列对应一个最小汉明距离,信息比特和固定比特按照一种方式排列时的最小汉明距离为,信息比特和固定比特按照该方式排列时生成矩阵中信息比特位对应的行的最小行重。
在该种可能的情况下,初始化的第一位置集合中包括的行序号的个数为1个或者多个。
可选的,可以通过如下方式确定信息比特和固定比特按照一种方式排列时的最小汉明距离:在信息比特和固定比特按照一种方式排列时,可以根据该排列方式确定信息比特位(信息比特的位置),将生成矩阵中信息比特位对应的行的最小行重确定为该种排列时的最小汉明距离。
例如,假设信息比特为i1、I2、I3和i4,信息比特和固定比特(0)的排列方式如下:(0,0,0,i1,0,i2,i3,i4),则可以确定信息比特位(信息比特的位置)为4、6、7、8,信息比特位对应生成矩阵中的第4、6、7、8行,因此,可以将生成矩阵中第4行的行重量、第6行的行重量、第7行的行重量、第8行的行重量行中行重量最小的行重量确定为该种排列方式下的最小汉明距离。
可选的,信息比特和固定比特可以按照多种方式排列,且一种排列方式可以对应一个最小汉明距离,将信息比特和固定比特的所有排列方式对应的最小汉明距离中的最大值确定为第一汉明距离。
例如,假设信息比特和固定比特可以有Q种排列方式,则可以确定得到Q个最小汉明距离,将该Q个最小汉明距离中的最大值确定为第一汉明距离。
可选的,在译码算法为OSD译码算法时,初始化的第一位置集合可以为该种可能的情况。
需要说明的是,初始化的第一位置集合可以为预先配置好的。
S402、初始化第二位置集合。
其中,初始化的第二位置集合中包括至少一个行序号。
可选的,初始化的第二位置集合可以包括至少如下三种情况:
一种可能的情况:
初始化的第二位置集合中包括可靠度最高的K+L个子信道对应的行序号;其中,L为串行抵消列表SCL译码的保留路径数量,保留路径数量为SCL译码中每步译码保留的最大路径数量。
可选的,K+L个子信道为N个子信道中可靠度最高的K+L个子信道。
可选的,K+L个子信道为N-X个子信道中可靠度最高的K+L个子信道,X为初始化的第一位置集合中包括的行序号的个数,N-X个子信道为N个子信道中除第一位置集合中行序号对应的子信道外的子信道。即。初始化的第二位置集合中不包括初始化的第一位置集合中的行序号。
可选的,L可以为4、8、16等,在实际应用过程中,可以根据实际需要设置L的大小。
可选的,子信道对应的行序号可以为子信道的标识。例如,假设可靠度最高的K+L个子信道为第1、4、6、7个子信道,则可靠度最高的K+L个子信道对应的行序号为1、4、6、7。
可选的,在译码算法为SCL译码算法时,初始化的第二位置集合可以为该种可能的情况。
该种可能的初始化的第二位置集合非常适合于短码场景(N较小和/或K较小的场景),因此,还可以设定一个N的门限NT(或者K的门限,原理一致,不再赘述),小于或者等于NT的时候用如上实施例所述的构造方法确定信息比特位置,大于或者等于NT的时候用传统的按可靠度原则或者现有的其他原则选取信息比特位置的方法,注意这里等于N等于门限值NT的时候,两种方法都可以。
另一种可能的情况:
初始化的第二位置集合中包括生成矩阵中行重等于第一汉明距离的行的序号。
需要说明的是,第一汉明距离可以参见S401,此处不再进行赘述。
可选的,在译码算法为OSD译码算法时,初始化的第二位置集合可以为该种可能的情况。
再一种可能的情况:
初始化的第二位置集合包括生成矩阵中的全部行序号;或者,初始化的第二位置集合包括生成矩阵中除初始化的第一位置集合中的行序号之外的行序号。
需要说明的是,初始化的第二位置集合可以为预先配置好的。
S403、根据生成矩阵中当前第二位置集合中每个行序号对应的行向量,与生成矩阵中当前第一位置集合中的行序号对应的行向量之间的线性无关的可能性,在当前第二位置集合中确定目标行序号。
其中,在当前第二位置集合中,目标行序号对应生成矩阵中的行向量与所述生成矩阵中当前第一位置集合中的行序号对应的行向量之间的线性无关的可能性最大。
需要说明的是,在本申请中,通过执行S404,可以使得第一位置集合中包括的行序号发生变化,通过执行S405,可以使得第二位置集合中包括的行序号发生变化。即,本申请中的第一位置集合和第二位置集合是在不断发生变化的,不同时刻的第一位置集合中包括的行序号可能不同,不同时刻的第二位置集合中包括的行序号可能不同。
本申请所示的当前第一位置集合是指当前时刻的第一位置集合,其中,若还未执行过S404,则当前第一位置集合为初始化的第一位置集合,若执行过S404,则当前位置集合为最后一次执行S404之后得到的新的第一位置集合。
本申请所示的当前第二位置集合是指当前时刻的第二位置集合,其中,若还未执行过S405,则当前第二位置集合为初始化的第二位置集合,若执行过S405,则当前位置集合为最后一次执行S405之后得到的新的第二位置集合。
可选的,生成矩阵中当前第二位置集合中一个行序号对应的第一行向量,与生成矩阵中当前第一位置集合中的行序号对应的第二行向量之间的线性无关的可能性可以为:第一行向量与每个第二行向量之间的线性无关的可能性之和,或者,第一行向量与所有第二行向量之间的线性无关的可能性的平均值。
需要说明的是,可以通过上述公式五,确定生成矩阵中当前第二位置集合中每个行序号对应的行向量,与生成矩阵中当前第一位置集合中的行序号对应的行向量之间的线性无关的可能性。
可选的,针对当前第二位置集合中的行序号,可以分别计算每个行序号对应的行向量与生成矩阵中当前第一位置集合中的行序号对应的行向量之间的线性无关的可能性,并将当前第二位置集合中与当前第一位置集合中的行序号对应的行向量之间的线性无关的可能性最大的行序号确定为目标行序号。
例如,假设第二位置集合中包括行序号2,3,4,第一位置集合中包括行序号1,8,则可以计算生成矩阵中第2行与第1行和第8行之间的线性无关的可能性(记为可能性1),计算生成矩阵中第3行与第1行和第8行之间的线性无关的可能性(记为可能性2),计算生成矩阵中第4行与第1行和第8行之间的线性无关的可能性(记为可能性3),若在可能性1、可能性2和可能性3中,可能性2的值最大,则可以将行序号3确定为目标行序号。
S404、将目标行序号添加至当前第一位置集合,得到新的第一位置集合。
可选的,若目标行序号的个数为1,则直接将目标行序号添加至当前第一位置集合即可。
可选的,若目标行序号的个数大于1,则根据目标行序号的个数和当前第一位置集合中包括的行序号的个数,在当前第一位置集合中添加目标行序号。
可选的,假设目标行序号的个数为Y,当前第一位置集合中包括的行序号的个数为T,K-T=Z;在Y大于Z时,在Y个目标行序号中确定Z个目标行序号,并将Z个目标行序号添加至当前第一位置集合。Y为大于1的整数,Z为小于或等于K的正整数。这样,可以使得第一位置集合中最多包括K个行序号,以避免第一位置中包括的行序号的个数大于K。
在Y大于Z时,可以通过规则在Y个目标行序号中选择Z个目标行序号,规则可以包括但不限于如下任意一个规则:Z个目标行序号为Y个目标行序号中可靠度最高的Z个子信道对应的行序号;或者,Z个目标行序号为Y个目标行序号中行序号最大的Z个行序号;或者,Z个目标行序号为Y个目标行序号中行序号最小的Z个行序号。
当然,在实际应用过程中,可以根据实际需要设置在Y个目标行序号中选择Z个目标行序号的规则,本申请对此不作具体限定。
S405、在当前第二位置集合中删除目标行序号,得到新的第二位置集合。
需要说明的是,在当前第一位置集合中添加的目标行序号与在当前第二位置集合中删除的目标行序号相同。
例如,若在当前第一位置集合中添加Z个目标行序号,则在当前第二位置集合中删除Z个目标行序号,且在当前第一位置集合中添加的Z个目标行序号与在当前第二位置集合中删除的Z个目标行序号相同。
S406、判断新的第一位置集合中包括的行序号的个数是否为K。
若是,则执行S407。
若否,则执行S403。
S407、将当前第一位置集合中的行序号确定为信息比特的位置。
在图4所示的实施例中,初始化的第一位置集合中包括生成矩阵中行重量最大的行向量的行序号,且依次将第二位置集合中与第一位置集合中的行序号对应的行向量之间的线性无关的可能性最大的行向量对应的行序号移动至第一位置集合,这样,可以使得第一位置集合中的行序号对应的生成矩阵中的行向量的码重较大,且使得第一位置集合中的行序号对应的生成矩阵中的行向量之间的线性无关的可能性最大,即,使得生成矩阵中信息比特位对应的行向量之间的线性无关的可能性最大,进而可以使得在SCL译码错误概率较小以及使得OSD译码错误概率较小,进而提高了编码的可靠性。
下面,通过具体示例,对图4实施例所示的方法进行说明。
示例1,假设译码算法为SCL译码算法,N为16,K为4,L为4。
初始化第一位置集合:确定初始化的第一位置集合中包括生成矩阵最后一行的行序号(16),即,初始化的第一位置集合为{16}。
初始化第二位置集合:确定初始化的第二位置集合中包括16个信道中子信道可靠性最高的K+L(8)个子信道对应的行序号,假设初始化的第二位置集合为{1,3,4,5,8,9,12,15}。
分别获取生成矩阵中第1,3,4,5,8,9,12,15行中每一行与第16行的线性无关的可能性,假设生成矩阵中第3行与第16行的线性无关的可能性最大,则将行序号3添加至当前第一位置集合,得到新的第一位置集合,在当前第二位置集合中删除行序号3,得到新的第二位置集合。新的第一位置集合为{16,3},新的第二位置集合为{1,4,5,8,9,12,15}。
分别获取生成矩阵中第1,4,5,8,9,12,15行中每一行与第16和3行的线性无关的可能性,假设生成矩阵中第9行与第16和3行的线性无关的可能性最大,则将行序号9添加至当前第一位置集合,得到新的第一位置集合,在第二位置集合中删除行序号9,得到新的第二位置集合。新的第一位置集合为{16,3,9},新的第二位置集合为{1,4,5,8,12,15}。
重复上述过程,直至当前第一位置集合中包括K=4个行序号。假设当前第一位置集合中为{16,3,9,8},则确定信息比特的位置为3,8,9,16。
示例2,假设译码算法为OSD译码算法,N为16,K为8。
先计算第一汉明距离,第一汉明距离的计算过程可以参见S401,此处不再进行赘述。
初始化第一位置集合:确定初始化的第一位置集合中包括行重量大于第一汉明距离的行的行序号。假设初始化的第一位置集合为{2,3,8,10,16}。
初始化第二位置集合:确定初始化的第二位置集合中包括行重量等于第一汉明距离的行的行序号。假设初始化的第二位置集合为{4,7,9,13,15}。
分别获取生成矩阵中第4,7,9,13,15行中每一行与第一位置集合中所有行(2,3,8,10,16)的线性无关的可能性,假设生成矩阵中第7行与第一位置集合中所有行(2,3,8,10,16)的线性无关的可能性最大,则将行序号7添加至当前第一位置集合,得到新的第一位置集合,在当前第二位置集合中删除行序号7,得到新的第二位置集合。新的第一位置集合为{2,3,8,10,16,7},新的第二位置集合为{4,9,13,15}。
重复上述过程,直至当前第一位置集合中包括K=8个行序号。假设当前第一位置集合中为{2,3,8,10,16,7,4,9},则确定信息比特的位置为2,3,4,7,8,9,10,16。
在上述任意一个实施例的基础上,下面,结合图5-图6所示仿真数据对基于本申请所示的编码方法的译码效率进行说明。
当本申请编码对应的仿真参数和现有编码对应的仿真参数如表1所示时,通过本申请所示的编码方式与通过现有的编码方式的仿真结果可以如图5所示。
表1
/ 本申请编码对应的仿真参数 现有编码对应的仿真参数
信道 AWGN AWGN
调制方式 BPSK BPSK
构造方式 New Code GA
级联码 NO CRC NO CRC
译码算法 SCL(L=8) SCL(L=8)
信息位长度K 64 64
码字长度N 128 128
请参见表1,本申请编码和现有编码对应的仿真参数中,信道均为加性白高斯噪声(Additive White Gaussian Noise,AWGN)信道,调制方式均为二进制相移键控(BinaryPhase Shift Keying,BPSK),本申请的码字构造方式成为New Code方式,现有的码字构造方式为高斯近似(Gaussian Approximation,GA),均不采用CRC码,译码算法均为SCL译码算法(保留译码路径L均为8),信息位长度K均为64,码字长度N均为128。
图5为本申请提供的一种仿真示意图。请参见图5,横轴表示信噪比(signal tonoise ratio,SNR),纵轴表示误块率(Block Error Rate,BLER)。
请参见图5,虚线表示采用现有编码方式进行编码时对应的译码的误块率,实线表示采用本申请的编码方式进行编码时对应的译码的误块率。由图5可知,在均不采用CRC时,采用本申请的编码方式,可以明显的降低译码过程中的误块率,使得译码性能更高。
当本申请编码对应的仿真参数和现有编码对应的仿真参数如表2所示时,通过本申请所示的编码方式与通过现有的编码方式的仿真结果可以如图6所示。
表2
/ 本申请编码对应的仿真参数 现有编码对应的仿真参数
信道 AWGN AWGN
调制方式 BPSK BPSK
构造方式 New Code GA
级联码 NO CRC CRC-4
译码算法 SCL(L=8) SCL(L=8)
信息位长度K 64 64
码字长度N 128 128
请参见表2,本申请编码和现有编码对应的仿真参数中,信道均为AWGN信道,调制方式均为BPSK,本申请的码字构造方式成为New Code方式,现有的码字构造方式为GA,本申请不采用CRC码,现有编码采用4为CRC码,译码算法均为SCL译码算法(保留译码路径L均为8),信息位长度K均为64,码字长度N均为128。
图6为本申请提供的一种仿真示意图。请参见图6,横轴表示SNR,纵轴表示BLER。
请参见图6,虚线表示采用现有编码方式进行编码时对应的译码的误块率,实线表示采用本申请的编码方式进行编码时对应的译码的误块率。由图6可知,在本申请不采用CRC,现有编码采用4比特CRC码时,采用本申请的编码方式,可以明显的降低译码过程中的误块率,使得译码性能更高,且可以减小CRC校验带来的复杂度。
当本申请编码对应的仿真参数和现有编码对应的仿真参数如表3所示时,通过本申请所示的编码方式与通过现有的编码方式的仿真结果可以如图7所示。
表3
/ 本申请编码对应的仿真参数 现有编码对应的仿真参数
信道 AWGN AWGN
调制方式 BPSK BPSK
构造方式 New Code GA
级联码 NO CRC NO CRC
译码算法 OSD-3 OSD-3
信息位长度K 32 32
码字长度N 64 64
请参见表3,本申请编码和现有编码对应的仿真参数中,信道均为AWGN信道,调制方式均为BPSK,本申请的码字构造方式成为New Code方式,现有的码字构造方式为GA,均不采用CRC码,译码算法均为OSD译码算法,信息位长度K均为32,码字长度N均为64。
图7为本申请提供的一种仿真示意图。请参见图7,横轴表示SNR,纵轴表示误块率(Block Error Rate,BLER)。
请参见图7,虚线表示采用现有编码方式进行编码时对应的译码的误块率,实线表示采用本申请的编码方式进行编码时对应的译码的误块率。由图7可知,在均不采用CRC时,采用本申请的编码方式,可以明显的降低译码过程中的误块率,使得译码性能更高。
图8为本申请实施例提供的编码装置的结构示意图。请参见图8,该编码装置10可以包括:
第一获取模块11,用于获取N个待编码比特,所述N个待编码比特中包括K个信息比特和N-K个固定比特,N为正整数,所述K为正整数,所述K小于或等于所述N;
第二获取模块12,用于获取所述N个待编码比特的生成矩阵;
确定模块13,用于根据所述生成矩阵中行向量之间的线性无关度量,确定所述信息比特的位置;
编码模块14,用于根据所述信息比特的位置,对所述待编码比特进行编码。
可选的,第一获取模块11可以执行图3实施例中的S301。
可选的,第二获取模块12可以执行图3实施例中的S302。
可选的,确定模块13可以执行图3实施例中的S303和图4所示的实施例。
可选的,编码模块14可以执行图3实施例中的S304。
可选的,编码装置10还可以包括发送模块,用于发送编码后的信息。
需要说明的是,本申请实施例所示的编码装置可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
在一种可能的实施方式中,所述线性无关度量为线性无关的可能性。
在一种可能的实施方式中,所述确定模块13具体用于:
初始化第一位置集合,初始化的第一位置集合中包括所述生成矩阵中行重量最大的行向量的行序号;
初始化第二位置集合,初始化的第二位置集合中包括至少一个行序号;
根据所述生成矩阵中所述第二位置集合中每个行序号对应的行向量,与所述生成矩阵中所述第一位置集合中的行序号对应的行向量之间的线性无关度量,确定所述信息比特的位置。
在一种可能的实施方式中,所述初始化的第二位置集合中包括可靠度最高的K+L个子信道对应的行序号;
其中,所述L为串行抵消列表SCL译码的保留路径数量,所述保留路径数量为所述SCL译码中每步译码保留的最大路径数量。
在一种可能的实施方式中,所述K+L个子信道为N个子信道中可靠度最高的K+L个子信道;或者,
所述K+L个子信道为N-X个子信道中可靠度最高的K+L个子信道,所述X为所述初始化的第一位置集合中包括的行序号的个数,所述N-X个子信道为所述N个子信道中除所述第一位置集合中行序号对应的子信道外的子信道。
在一种可能的实施方式中,所述生成矩阵为所述待编码比特的极化码矩阵,所述极化码矩阵包括N行和N列;
所述初始化的第一位置集合包括所述生成矩阵中行重大于第一汉明距离的行的序号;其中,所述第一汉明距离为所述信息比特和所述固定比特按照不同方式排列时的最小汉明距离中的最大值,所述信息比特和所述固定比特按照一种方式排列对应一个最小汉明距离,所述信息比特和所述固定比特按照一种方式排列时的最小汉明距离为,所述信息比特和所述固定比特按照该方式排列时所述生成矩阵中信息比特位对应的行的最小行重。
在一种可能的实施方式中,所述初始化的第二位置集合中包括所述生成矩阵中行重等于所述第一汉明距离的行的序号。
在一种可能的实施方式中,所述初始化的第二位置集合包括所述生成矩阵中的全部行序号;或者,
所述初始化的第二位置集合包括所述生成矩阵中除所述初始化的第一位置集合中的行序号之外的行序号。
在一种可能的实施方式中,所述确定模块13用于:
执行第一操作,所述第一操作包括:根据所述生成矩阵中当前第二位置集合中每个行序号对应的行向量,与所述生成矩阵中当前第一位置集合中的行序号对应的行向量之间的线性无关度量,在当前第二位置集合中确定目标行序号;在当前第二位置集合中,所述目标行序号对应所述生成矩阵中的行向量与所述生成矩阵中当前第一位置集合中的行序号对应的行向量之间的线性无关度量最大;
执行第二操作,所述第二操作包括:将所述目标行序号添加至当前第一位置集合,得到新的第一位置集合,并在当前第二位置集合中删除所述目标行序号,得到新的第二位置集合;
重复执行所述第一操作和所述第二操作,直至新的第一位置集合中包括K个行序号时,将当前第一位置集合中的行序号确定为所述信息比特的位置。
在一种可能的实施方式中,所述确定模块13用于:
在Y大于Z时,在所述Y个目标行序号中确定Z个目标行序号,所述Y为所述目标行序号的个数,所述Z=K-T,所述T为当前第一位置集合中包括的行序号的个数,所述Y为大于1的整数,所述Z为小于或等于所述K的正整数;
将所述Z个目标行序号添加至当前第一位置集合,并在当前第二位置集合中删除所述Z个目标行序号。
在一种可能的实施方式中,所述Z个目标行序号为所述Y个目标行序号中可靠度最高的Z个子信道对应的行序号;或者,
所述Z个目标行序号为所述Y个目标行序号中行序号最大的Z个行序号;或者,
所述Z个目标行序号为所述Y个目标行序号中行序号最小的Z个行序号。
在一种可能的实施方式中,所述信息比特包括循环冗余校验CRC比特和/或奇偶校验PC比特。
图9为本申请实施例提供的编码装置的硬件结构示意图。请参见图9,该编码装置20可以包括:处理器21以及存储器22;其中,
存储器22,用于存储计算机程序,有时还用于存储中间数据;
处理器21,用于执行存储器存储的计算机程序,以实现上述编码方法中的各个步骤。具体可以参见前面方法实施例中的相关描述。
可选地,存储器22既可以是独立的,也可以跟处理器21集成在一起。在有些实施方式中,存储器甚至还可以位于装置之外。
当所述存储器22是独立于处理器21之外的器件时,所述接收设备20还可以包括总线23,用于连接所述存储器22和处理器21。
图9的编码装置还可以进一步包括发送器,用于发送编码后的信息。
本实施例提供的编码设备可以为终端设备,或者也以为网络设备,可用于执行上述的编码方法,其实现方式和技术效果类似,本实施例此处不再赘述。
本申请实施例还提供一种存储介质,所述存储介质包括计算机程序,所述计算机程序用于实现如上所述的编码方法。
本申请实施例还提供一种芯片或者集成电路,包括:存储器和处理器;
所述存储器,用于存储程序指令,有时还用于存储中间数据;
所述处理器,用于调用所述存储器中存储的所述程序指令以实现如上所述的编码方法。
可选的,存储器可以是独立的,也可以跟处理器集成在一起。在有些实施方式中,存储器还可以位于所述芯片或者集成电路之外。
本申请实施例还提供一种程序产品,所述程序产品包括计算机程序,所述计算机程序存储在存储介质中,所述计算机程序用于实现上述的编码方法。
结合本发明实施例公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(Read Only Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于基站或终端中。当然,处理器和存储介质也可以作为分立组件存在于接收设备中。
应理解,上述处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

Claims (26)

1.一种编码方法,其特征在于,包括:
获取N个待编码比特,所述N个待编码比特中包括K个信息比特和N-K个固定比特,N为正整数,所述K为正整数,所述K小于或等于所述N;
获取所述N个待编码比特的生成矩阵;
根据所述生成矩阵中行向量之间的线性无关度量,确定所述信息比特的位置;
根据所述信息比特的位置,对所述待编码比特进行编码。
2.根据权利要求1所述的方法,其特征在于,所述线性无关度量为线性无关的可能性。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述生成矩阵中行向量之间的线性无关度量,确定所述信息比特的位置,包括:
初始化第一位置集合,初始化的第一位置集合中包括所述生成矩阵中行重量最大的行向量的行序号;
初始化第二位置集合,初始化的第二位置集合中包括至少一个行序号;
根据所述生成矩阵中所述第二位置集合中每个行序号对应的行向量,与所述生成矩阵中所述第一位置集合中的行序号对应的行向量之间的线性无关度量,确定所述信息比特的位置。
4.根据权利要求3所述的方法,其特征在于,所述初始化的第二位置集合中包括可靠度最高的K+L个子信道对应的行序号;
其中,所述L为串行抵消列表SCL译码的保留路径数量,所述保留路径数量为所述SCL译码中每步译码保留的最大路径数量。
5.根据权利要求4所述的方法,其特征在于,
所述K+L个子信道为N个子信道中可靠度最高的K+L个子信道;或者,
所述K+L个子信道为N-X个子信道中可靠度最高的K+L个子信道,所述X为所述初始化的第一位置集合中包括的行序号的个数,所述N-X个子信道为所述N个子信道中除所述第一位置集合中行序号对应的子信道外的子信道。
6.根据权利要求3所述的方法,其特征在于,所述生成矩阵为所述待编码比特的极化码矩阵,所述极化码矩阵包括N行和N列;
所述初始化的第一位置集合包括所述生成矩阵中行重大于第一汉明距离的行的序号;其中,所述第一汉明距离为所述信息比特和所述固定比特按照不同方式排列时的最小汉明距离中的最大值,所述信息比特和所述固定比特按照一种方式排列对应一个最小汉明距离,所述信息比特和所述固定比特按照一种方式排列时的最小汉明距离为,所述信息比特和所述固定比特按照该方式排列时所述生成矩阵中信息比特位对应的行的最小行重。
7.根据权利要求6所述的方法,其特征在于,所述初始化的第二位置集合中包括所述生成矩阵中行重等于所述第一汉明距离的行的序号。
8.根据权利要求3所述的方法,其特征在于,
所述初始化的第二位置集合包括所述生成矩阵中的全部行序号;或者,
所述初始化的第二位置集合包括所述生成矩阵中除所述初始化的第一位置集合中的行序号之外的行序号。
9.根据权利要求4-8任一项所述的方法,其特征在于,所述根据所述生成矩阵中所述第二位置集合中每个行序号对应的行向量,与所述生成矩阵中所述第一位置集合中的行序号对应的行向量之间的线性无关度量,确定所述信息比特的位置,包括:
执行第一操作,所述第一操作包括:根据所述生成矩阵中当前第二位置集合中每个行序号对应的行向量,与所述生成矩阵中当前第一位置集合中的行序号对应的行向量之间的线性无关度量,在当前第二位置集合中确定目标行序号;在当前第二位置集合中,所述目标行序号对应所述生成矩阵中的行向量与所述生成矩阵中当前第一位置集合中的行序号对应的行向量之间的线性无关度量最大;
执行第二操作,所述第二操作包括:将所述目标行序号添加至当前第一位置集合,得到新的第一位置集合,并在当前第二位置集合中删除所述目标行序号,得到新的第二位置集合;
重复执行所述第一操作和所述第二操作,直至新的第一位置集合中包括K个行序号时,将当前第一位置集合中的行序号确定为所述信息比特的位置。
10.根据权利要求9所述的方法,其特征在于,所述将所述目标行序号添加至当前第一位置集合,并在当前第二位置集合中删除所述目标行序号,包括:
在Y大于Z时,在所述Y个目标行序号中确定Z个目标行序号,所述Y为所述目标行序号的个数,所述Z=K-T,所述T为当前第一位置集合中包括的行序号的个数,所述Y为大于1的整数,所述Z为小于或等于所述K的正整数;
将所述Z个目标行序号添加至当前第一位置集合,并在当前第二位置集合中删除所述Z个目标行序号。
11.根据权利要求10所述的方法,其特征在于,
所述Z个目标行序号为所述Y个目标行序号中可靠度最高的Z个子信道对应的行序号;或者,
所述Z个目标行序号为所述Y个目标行序号中行序号最大的Z个行序号;或者,
所述Z个目标行序号为所述Y个目标行序号中行序号最小的Z个行序号。
12.根据权利要求1-2、4-8、10-11任一项所述的方法,其特征在于,所述信息比特包括循环冗余校验CRC比特和/或奇偶校验PC比特。
13.一种编码装置,其特征在于,包括:
第一获取模块,用于获取N个待编码比特,所述N个待编码比特中包括K个信息比特和N-K个固定比特,N为正整数,所述K为正整数,所述K小于或等于所述N;
第二获取模块,用于获取所述N个待编码比特的生成矩阵;
确定模块,用于根据所述生成矩阵中行向量之间的线性无关度量,确定所述信息比特的位置;
编码模块,用于根据所述信息比特的位置,对所述待编码比特进行编码。
14.根据权利要求13所述的装置,其特征在于,所述线性无关度量为线性无关的可能性。
15.根据权利要求13或14所述的装置,其特征在于,所述确定模块具体用于:
初始化第一位置集合,初始化的第一位置集合中包括所述生成矩阵中行重量最大的行向量的行序号;
初始化第二位置集合,初始化的第二位置集合中包括至少一个行序号;
根据所述生成矩阵中所述第二位置集合中每个行序号对应的行向量,与所述生成矩阵中所述第一位置集合中的行序号对应的行向量之间的线性无关度量,确定所述信息比特的位置。
16.根据权利要求15所述的装置,其特征在于,所述初始化的第二位置集合中包括可靠度最高的K+L个子信道对应的行序号;
其中,所述L为串行抵消列表SCL译码的保留路径数量,所述保留路径数量为所述SCL译码中每步译码保留的最大路径数量。
17.根据权利要求16所述的装置,其特征在于,
所述K+L个子信道为N个子信道中可靠度最高的K+L个子信道;或者,
所述K+L个子信道为N-X个子信道中可靠度最高的K+L个子信道,所述X为所述初始化的第一位置集合中包括的行序号的个数,所述N-X个子信道为所述N个子信道中除所述第一位置集合中行序号对应的子信道外的子信道。
18.根据权利要求15所述的装置,其特征在于,所述生成矩阵为所述待编码比特的极化码矩阵,所述极化码矩阵包括N行和N列;
所述初始化的第一位置集合包括所述生成矩阵中行重大于第一汉明距离的行的序号;其中,所述第一汉明距离为所述信息比特和所述固定比特按照不同方式排列时的最小汉明距离中的最大值,所述信息比特和所述固定比特按照一种方式排列对应一个最小汉明距离,所述信息比特和所述固定比特按照一种方式排列时的最小汉明距离为,所述信息比特和所述固定比特按照该方式排列时所述生成矩阵中信息比特位对应的行的最小行重。
19.根据权利要求18所述的装置,其特征在于,所述初始化的第二位置集合中包括所述生成矩阵中行重等于所述第一汉明距离的行的序号。
20.根据权利要求15所述的装置,其特征在于,
所述初始化的第二位置集合包括所述生成矩阵中的全部行序号;或者,
所述初始化的第二位置集合包括所述生成矩阵中除所述初始化的第一位置集合中的行序号之外的行序号。
21.根据权利要求16-20任一项所述的装置,其特征在于,所述确定模块用于:
执行第一操作,所述第一操作包括:根据所述生成矩阵中当前第二位置集合中每个行序号对应的行向量,与所述生成矩阵中当前第一位置集合中的行序号对应的行向量之间的线性无关度量,在当前第二位置集合中确定目标行序号;在当前第二位置集合中,所述目标行序号对应所述生成矩阵中的行向量与所述生成矩阵中当前第一位置集合中的行序号对应的行向量之间的线性无关度量最大;
执行第二操作,所述第二操作包括:将所述目标行序号添加至当前第一位置集合,得到新的第一位置集合,并在当前第二位置集合中删除所述目标行序号,得到新的第二位置集合;
重复执行所述第一操作和所述第二操作,直至新的第一位置集合中包括K个行序号时,将当前第一位置集合中的行序号确定为所述信息比特的位置。
22.根据权利要求21所述的装置,其特征在于,所述确定模块用于:
在Y大于Z时,在所述Y个目标行序号中确定Z个目标行序号,所述Y为所述目标行序号的个数,所述Z=K-T,所述T为当前第一位置集合中包括的行序号的个数,所述Y为大于1的整数,所述Z为小于或等于所述K的正整数;
将所述Z个目标行序号添加至当前第一位置集合,并在当前第二位置集合中删除所述Z个目标行序号。
23.根据权利要求22所述的装置,其特征在于,
所述Z个目标行序号为所述Y个目标行序号中可靠度最高的Z个子信道对应的行序号;或者,
所述Z个目标行序号为所述Y个目标行序号中行序号最大的Z个行序号;或者,
所述Z个目标行序号为所述Y个目标行序号中行序号最小的Z个行序号。
24.根据权利要求13-14、16-20、22-23任一项所述的装置,其特征在于,所述信息比特包括循环冗余校验CRC比特和/或奇偶校验PC比特。
25.一种编码装置,其特征在于,包括:存储器、处理器以及计算机程序,所述计算机程序存储在所述存储器中,所述处理器运行所述计算机程序执行如权利要求1至12任一项所述的方法。
26.一种存储介质,其特征在于,所述存储介质包括计算机程序,所述计算机程序用于实现如权利要求1至12任一项所述的方法。
CN201910087281.1A 2019-01-29 2019-01-29 编码方法、装置及设备 Active CN111490797B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910087281.1A CN111490797B (zh) 2019-01-29 2019-01-29 编码方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910087281.1A CN111490797B (zh) 2019-01-29 2019-01-29 编码方法、装置及设备

Publications (2)

Publication Number Publication Date
CN111490797A CN111490797A (zh) 2020-08-04
CN111490797B true CN111490797B (zh) 2022-07-22

Family

ID=71797164

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910087281.1A Active CN111490797B (zh) 2019-01-29 2019-01-29 编码方法、装置及设备

Country Status (1)

Country Link
CN (1) CN111490797B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102077470A (zh) * 2009-05-25 2011-05-25 华为技术有限公司 采用线性分组码的编码方法、装置及线性分组码生成方法、装置
CN108429553A (zh) * 2017-02-15 2018-08-21 中兴通讯股份有限公司 极化码的编码方法、编码装置及设备
CN108631942A (zh) * 2017-03-24 2018-10-09 华为技术有限公司 编码方法、译码方法、装置和设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7831895B2 (en) * 2006-07-25 2010-11-09 Communications Coding Corporation Universal error control coding system for digital communication and data storage systems
CN101414833B (zh) * 2007-10-19 2010-08-04 中兴通讯股份有限公司 低密度生成矩阵码的编码方法及装置
CN101488761B (zh) * 2009-02-27 2011-01-19 北京交通大学 一种无短环无低码重码的ldpc码构造方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102077470A (zh) * 2009-05-25 2011-05-25 华为技术有限公司 采用线性分组码的编码方法、装置及线性分组码生成方法、装置
CN108429553A (zh) * 2017-02-15 2018-08-21 中兴通讯股份有限公司 极化码的编码方法、编码装置及设备
CN108631942A (zh) * 2017-03-24 2018-10-09 华为技术有限公司 编码方法、译码方法、装置和设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
***极化码的置信传播译码性能分析;陈国泰 等;《电讯技术》;20160828;第56卷(第8期);第839-843页 *

Also Published As

Publication number Publication date
CN111490797A (zh) 2020-08-04

Similar Documents

Publication Publication Date Title
US11923973B2 (en) Method and apparatus for encoding data using a polar code
CN109075799B (zh) 极化Polar码的编译码方法及装置
CN107211033B (zh) 数据传输的方法和设备
CN108347297B (zh) 一种编码方法、译码方法、编码装置及译码装置
CN111385059B (zh) 极化编码调制的方法和装置
CN110690941B (zh) Polar码的速率匹配方法及装置
CN108809500B (zh) 编码方法、装置和设备
CN114826478A (zh) 编码调制与解调解码方法及装置
EP4191911A1 (en) Coding method and apparatus and decoding method and apparatus
US20230058149A1 (en) Encoding method and apparatus, decoding method and apparatus, and device
CN113055022A (zh) 并行软消除译码方法及相关装置
CN111490797B (zh) 编码方法、装置及设备
CN111106897A (zh) 译码方法及设备
CN115529105A (zh) 一种网络编码方法及装置
CN114204943A (zh) 编码方法和装置
CN115733579A (zh) 一种数据传输方法、数据接收方法和通信装置
CN114915297A (zh) 一种编码和译码方法及相关装置
CN115133936A (zh) 编码方法、译码方法以及通信装置
CN115549848A (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