混合极性码的生成方法和生成装置与流程

文档序号:12739140阅读:224来源:国知局
混合极性码的生成方法和生成装置与流程

技术领域

本发明实施例涉及编解码领域,并且更具体地,涉及混合Polar码(极性码)的生成方法和生成装置。



背景技术:

通信系统通常采用信道编码提高数据传输的可靠性,保证通信的质量。Polar码(极性码)是可以取得香农容量且具有低编译码复杂度的编码方式。Polar码是一种线性块码。其生成矩阵为GN.,其编码过程为这里码长N=2n,n≥0。

这里BN是转置矩阵,例如比特反转(bit reversal)矩阵。

是F的克罗内克幂(Kronecker power),定义为Polar码用陪集码可以表示为其编码过程为:这里A为信息(information)比特索引的集合,GN.(A)是GN.中由集合A中的索引对应的行得到的子矩阵,GN.(AC)是GN.中由集合AC中的索引对应的行得到的子矩阵。是冻结(frozen)比特,其数量为(N-K),是已知比特。为了简单,这些冻结比特可以设为0。

Polar码的译码可以用SC(successive-cancellation,连续消除)译码,其过程如下:

考虑一种Polar码,其参数为

SC译码中,依次计算如下条件似然函数:

其中是接收信号向量(y1,y2,…,yN),是比特向量(u1,u2,…,ui-1)。W是转移概率,L表示对数似然比。

如果如下作判决:

如果简单令

上述公式(2)和(3)中,表示比特ui的判决值。

SC译码的复杂度为O(Nlog2N)。虽然SC译码在码长N很长的情况下能够取得好的性能,逼近香农限。但是当N较短或者中等长度的时候,Polar码的SC译码的性能没有超过Turbo码和LDPC(Low-density Parity-check,低密度奇偶校验)码的性能,需要进一步提高译码性能。

在SC译码中是逐比特顺序译码,在译完每个比特之后是进行硬判后给后续比特译码使用。这样有可能存在错误传播,导致译码性能下降。List(列表)译码保留多条候选路径能够取得逼近最大似然的译码性能。SC译码和List译码结合就得到SC-List译码。

Polar码的SC-List译码的过程简述如下:

路径分裂:每次如果是信息比特,则将当前的译码路径分裂成两条路径:一条路径的和一条路径当总的路径数超出预定义的门限L的时候,丢弃最不可靠的路径,仅保持L条最可靠的路径(称为幸存路径);并且更新所有路径上的概率值。L是正整数,可称为幸存路径数。

无路径分裂:如果是冻结比特,则所有译码路径并不分裂,设保持路径数不变并且更新所有路径的概率值。

SC-List译码的复杂度为O(L×N×log2N),大约是SC译码复杂度的L倍。

按上述方式得到的Polar码非常适应简单的SC译码,但其最小码距不是很大。即使采用改进的SC-List译码算法达到了最佳的ML(Maximum Likehood,最大似然)译码性能,其性能也不是很理想,必须级联CRC(Cyclic Redundancy Check,循环冗余校验)来提高最小码距,这样影响了Polar码的性能和应用复杂度。



技术实现要素:

本发明实施例提供一种混合Polar码的生成方法和生成装置,能够提高Polar码的性能。

第一方面,提供了一种Polar码的生成方法,包括:获取N×N的第一矩阵以及含N个比特的序列,其中N为要生成的混合Polar码的码长,所述第一矩阵的N个行一一对应于所述序列中的所述N个比特,N为正整数;确定所述N个比特的可靠性,并确定所述第一矩阵的N个行中每一行的重量;根据所述N个比特的可靠性和所述第一矩阵的N个行中每一行的重量,选择所述N个比特中的K个比特作为信息比特,或者选择所述第一矩阵的N个行中的K个行构成用于编码的K×N的第二矩阵,以按照所述信息比特的位置或者按照所述第二矩阵对待编码的信息比特序列进行编码生成混合Polar码;K为待编码的信息比特序列的长度并且为不大于N的正整数。

结合第一方面,在第一方面的一种实现方式中,所述根据所述N个比特的可靠性和所述第一矩阵的N个行中每一行的重量,选择所述N个比特中的K个比特作为信息比特,包括:选择所述N个比特中可靠性高且对应的所述第一矩阵的行的重量大于第一阈值的K个比特作为所述信息比特。

结合第一方面及其上述实现方式,在第一方面的另一实现方式中,所述选择所述N个比特中可靠性高且对应的所述第一矩阵的行的重量大于第一阈值的K个比特作为信息比特,包括:按照所述可靠性的高低对所述N个比特进行排序;在排序后的N个比特中,按照可靠性从高到低的顺序选择对应的第一矩阵的行的重量大于所述第一阈值的K个比特作为所述信息比特。

结合第一方面及其上述实现方式,在第一方面的另一实现方式中,所述选择所述N个比特中可靠性高且对应的所述第一矩阵的行的重量大于第一阈值的K个比特作为信息比特,包括:去除所述N个比特中对应的第一矩阵的行的重量小于或等于所述第一阈值的比特,得到剩余比特;按照所述剩余比特的可靠性的高低对所述剩余比特进行排序;在排序后的剩余比特中,按照可靠性从高到低的顺序选择K个比特作为所述信息比特。

结合第一方面及其上述实现方式,在第一方面的另一实现方式中,所述根据所述N个比特的可靠性和所述第一矩阵的N个行中每一行的重量,选择所述第一矩阵的N个行中的K个行构成用于编码的K×N的第二矩阵,包括:选择所述第一矩阵的N个行中对应的比特可靠性高且行的重量大于第一阈值的K个行构成所述第二矩阵。

结合第一方面及其上述实现方式,在第一方面的另一实现方式中,所述选择所述第一矩阵的N个行中对应的比特可靠性高且行的重量大于第一阈值的K个行构成所述第二矩阵,包括:按照对应的比特的可靠性的高低对所述第一矩阵的N个行进行排序;在排序后的N个行中,按照对应的比特的可靠性从高到低的顺序选择行的重量大于所述第一阈值的K个行构成所述第二矩阵。

结合第一方面及其上述实现方式,在第一方面的另一实现方式中,所述选择所述第一矩阵的N个行中对应的比特可靠性高且行的重量大于第一阈值的K个行构成所述第二矩阵,包括:去除行的重量小于或等于所述第一阈值的行,得到剩余行;按照所述剩余行对应的比特的可靠性的高低对所述剩余行进行排序;在排序后的剩余行中,按照对应的比特的可靠性从高到低的顺序选择K个行构成所述第二矩阵。

结合第一方面及其上述实现方式,在第一方面的另一实现方式中,所述确定所述N个比特的可靠性,包括:确定所述N个比特中每个比特的容量,其中容量大的比特的可靠性高;或者,确定所述N个比特中每个比特的Bhattacharyya参数,其中Bhattacharyya参数小的比特的可靠性高;或者,确定所述N个比特中每个比特的错误概率,其中错误概率小的比特的可靠性高。

结合第一方面及其上述实现方式,在第一方面的另一实现方式中,该方法还包括:根据所述混合Polar码的最小码距要求,确定所述第一阈值。

结合第一方面及其上述实现方式,在第一方面的另一实现方式中,所述获取N×N的第一矩阵,包括:根据N的值生成所述第一矩阵;或者,读取预先存储的对应于N的值的第一矩阵。

结合第一方面及其上述实现方式,在第一方面的另一实现方式中,所述获取含N个比特的序列,包括:生成1×N的所述序列;或者,读取预先存储的1×N的所述序列。

第二方面,提供了一种编码方法,包括:接收待编码的信息比特序列,所述信息比特序列的长度为K,K为正整数;获取N×N的第一矩阵以及含N个比特的序列,其中N为要生成的混合Polar码的码长,所述第一矩阵的N个行一一对应于所述序列中的所述N个比特,N为大于或等于K的正整数;确定所述N个比特的可靠性,并确定所述第一矩阵的N个行中每一行的重量;根据所述N个比特的可靠性和所述第一矩阵的N个行中每一行的重量,选择所述N个比特中的K个比特作为信息比特,或者选择所述第一矩阵的N个行中的K个行构成用于编码的K×N的第二矩阵;按照所述信息比特的位置或者按照所述第二矩阵对所述待编码的信息比特序列进行编码,得到码长为N的编码比特序列。

第三方面,提供了一种译码方法,包括:获取长度为N的解调后的信号;获取N×N的第一矩阵以及含N个比特的序列,其中所述第一矩阵的N个行一一对应于所述序列中的所述N个比特,N为正整数;确定所述N个比特的可靠性,并确定所述第一矩阵的N个行中每一行的重量;根据所述N个比特的可靠性和所述第一矩阵的N个行中每一行的重量,选择所述N个比特中的K个比特作为信息比特,或者选择所述第一矩阵的N个行中的K个行构成用于编码的K×N的第二矩阵,K为不大于N的正整数;按照所述信息比特的位置或者按照所述第二矩阵对所述解调后的信号进行译码。

第四方面,提供了一种混合Polar码的生成装置,包括:获取单元,用于获取N×N的第一矩阵以及含N个比特的序列,其中N为编码后的码长,所述第一矩阵的N个行一一对应于所述序列中的所述N个比特,N为正整数;确定单元,用于确定所述N个比特的可靠性,并确定所述第一矩阵的N个行中每一行的重量;选择单元,用于根据所述N个比特的可靠性和所述第一矩阵的N个行中每一行的重量,选择所述N个比特中的K个比特作为信息比特,或者选择所述第一矩阵的N个行中的K个行构成用于编码的K×N的第二矩阵,以按照所述信息比特的位置或者按照所述第二矩阵对待编码的信息比特序列进行编码生成混合Polar码;K为待编码的信息比特序列的长度并且为不大于N的正整数。

结合第四方面,在第四方面的一种实现方式中,所述选择单元具体用于选择所述N个比特中可靠性高且对应的所述第一矩阵的行的重量大于第一阈值的K个比特作为所述信息比特。

结合第四方面及其上述实现方式,在第四方面的另一实现方式中,所述选择单元具体用于按照所述可靠性的高低对所述N个比特进行排序;在排序后的N个比特中,按照可靠性从高到低的顺序选择对应的第一矩阵的行的重量大于所述第一阈值的K个比特作为所述信息比特;或者,所述选择单元具体用于去除所述N个比特中对应的第一矩阵的行的重量小于或等于所述第一阈值的比特,得到剩余比特;按照所述剩余比特的可靠性的高低对所述剩余比特进行排序;在排序后的剩余比特中,按照可靠性从高到低的顺序选择K个比特作为所述信息比特。

结合第四方面及其上述实现方式,在第四方面的另一实现方式中,所述选择单元具体用于选择所述第一矩阵的N个行中对应的比特可靠性高且行的重量大于第一阈值的K个行构成所述第二矩阵。

结合第四方面及其上述实现方式,在第四方面的另一实现方式中,所述选择单元具体用于按照对应的比特的可靠性的高低对所述第一矩阵的N个行进行排序;在排序后的N个行中,按照对应的比特的可靠性从高到低的顺序选择行的重量大于所述第一阈值的K个行构成所述第二矩阵;或者,所述选择单元具体用于去除行的重量小于或等于所述第一阈值的行,得到剩余行;按照所述剩余行对应的比特的可靠性的高低对所述剩余行进行排序;在排序后的剩余行中,按照对应的比特的可靠性从高到低的顺序选择K个行构成所述第二矩阵。

结合第四方面及其上述实现方式,在第四方面的另一实现方式中,所述确定单元还用于根据所述混合Polar码的最小码距要求,确定所述第一阈值。

结合第四方面及其上述实现方式,在第四方面的另一实现方式中,所述确定单元具体用于确定所述N个比特中每个比特的容量,其中容量大的比特的可靠性高;或者,确定所述N个比特中每个比特的Bhattacharyya参数,其中Bhattacharyya参数小的比特的可靠性高;或者,确定所述N个比特中每个比特的错误概率,其中错误概率小的比特的可靠性高。

第五方面,提供了一种编码装置,包括:接收单元,用于接收待编码的信息比特序列,所述信息比特序列的长度为K,K为正整数;获取单元,用于获取N×N的第一矩阵以及含N个比特的序列,其中N为码长,所述第一矩阵的N个行一一对应于所述序列中的所述N个比特,N为正整数;确定单元,用于确定所述N个比特的可靠性,并确定所述第一矩阵的N个行中每一行的重量;选择单元,用于根据所述N个比特的可靠性和所述第一矩阵的N个行中每一行的重量,选择所述N个比特中的K个比特作为信息比特,或者选择所述第一矩阵的N个行中的K个行构成用于编码的K×N的第二矩阵;K为待编码的信息比特序列的码长并且为不大于N的正整数;编码单元,用于按照所述信息比特的位置或者按照所述第二矩阵对所述信息比特序列进行编码,得到码长为N的编码比特序列。

第六方面,提供了一种发射机,包括如第五方面所述的编码装置,以及发射单元,用于发射所述编码装置产生的编码比特序列。

第七方面,提供了一种译码装置,包括:接收单元,用于接收长度为N的解调后的信号;获取单元,用于获取N×N的第一矩阵以及含N个比特的序列,其中所述第一矩阵的N个行一一对应于所述序列中的所述N个比特,N为正整数;确定单元,用于确定所述N个比特的可靠性,并确定所述第一矩阵的N个行中每一行的重量;选择单元,用于根据所述N个比特的可靠性和所述第一矩阵的N个行中每一行的重量,选择所述N个比特中的K个比特作为信息比特,或者选择所述第一矩阵的N个行中的K个行构成用于编码的K×N的第二矩阵;K为不大于N的正整数;译码单元,用于按照所述信息比特的位置或者按照所述第二矩阵对所述解调后的信号进行译码,得到译码后的信息比特序列。

第八方面,提供了一种接收机,包括第七方面所述的译码装置,以及解调单元,用于产生对所接收的信号进行解调以产生长度为N的解调后的信号,并将所述解调后的信号输出至所述译码装置,N为正整数。

第九方面,提供了一种通信系统,包括如第六方面所述的发射机或如第八方面所述的接收机。

本发明实施例在选择混合Polar码的信息比特时,不仅考虑比特的可靠性,还考虑比特对应的第一矩阵的行的重量,从而能够改善Polar码的性能。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一个实施例的混合Polar码的生成方法的流程图。

图2是本发明另一实施例的混合Polar码的生成过程的示意流程图。

图3是本发明另一实施例的混合Polar码的生成过程的示意流程图。

图4是本发明另一实施例的混合Polar码的生成过程的示意流程图。

图5是本发明另一实施例的混合Polar码的生成过程的示意流程图。

图6是本发明另一实施例的混合Polar码的码字生成过程的示意流程图。

图7是本发明另一实施例的混合Polar码的码字生成过程的示意流程图。

图8是本发明另一实施例的混合Polar码的码字生成过程的示意流程图。

图9是本发明另一实施例的混合Polar码的码字生成过程的示意流程图。

图10是本发明一个实施例的编码方法的流程图。

图11是本发明一个实施例的译码方法的流程图。

图12示出了本发明一个实施例的生成混合Polar码的装置的实施例。

图13是本发明另一实施例的编码装置的示意框图。

图14是本发明一个实施例的发射机的框图。

图15是本发明一个实施例的译码装置的框图。

图16是本发明一个实施例的接收机的框图。

图17是本发明另一实施例的装置的框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例可应用于各种通信系统,因此,下面的描述不限制于特定通信系统。全球移动通讯(Global System of Mobile communication,简称“GSM”)系统、码分多址(Code Division Multiple Access,简称“CDMA”)系统、宽带码分多址(Wideband Code Division Multiple Access,简称“WCDMA”)系统、通用分组无线业务(General Packet Radio Service,简称“GPRS”)、长期演进(Long Term Evolution,简称“LTE”)系统、LTE频分双工(Frequency Division Duplex,简称“FDD”)系统、LTE时分双工(Time Division Duplex,简称“TDD”)、通用移动通信系统(Universal Mobile Telecommunication System,简称“UMTS”)等。在上述的系统中的基站或者终端使用传统Turbo码、LDPC码编码处理的信息或者数据都可以使用本实施例中的Polar码编码。

需要说明的是,码字中非“0”码元的个数称为码字的汉明重量(简称码重,记作W)。

对二进制码来说,码重W就是码字中所含码元“1”的数目,例如码字“110000”,其码长n=6,码重W=2。

本专利文件中涉及到的矩阵中的每一行的“重量”指的是该行中非“0”元素的个数。对于二进制矩阵,计算二进制矩阵F的每一行的重量,即对该行中1的个数求和,所得和为该行的重量值。

两个码组对应的信息位上数字不同的信息位的个数称为码组的距离,简称码距,又称汉明(Hamming)距离,例如码组1100与码组0011的码矩为4。本专利文件涉及到的混合polar码的“码距”指的是待编码的信息比特与对该信息比特编码后生成的混合polar码对应信息位上数字不同的信息位的个数。码距体现了编码的纠错性能,编码前后的两个码组之间的码距越大纠错性能越好。

图1是本发明一个实施例的混合Polar码的的生成方法的流程图。图1的方法可以由编码端或译码端执行,也可以由单独的Polar码的生成装置执行。

101,获取N×N的第一矩阵以及含N个比特的序列,其中N为Polar码的码长,第一矩阵的N个行一一对应于所述序列中的N个比特,N为正整数。

例如,N可以为2n,n为非负整数。

可选地,可根据N的值生成第一矩阵,例如可按照现有方式产生第一矩阵。具体地,Polar码是一种线性块码。其生成矩阵为GN.,其编码过程为这里

这里BN是转置矩阵,例如比特反转(bit reversal)矩阵。

是F的克罗内克幂(Kronecker power),定义为这里是N×N的矩阵。

可以将上述矩阵GN.或其变型(如)作为所述第一矩阵。

可选地,作为另一实施例,可读取预先存储的对应于N的值的第一矩阵。换句话说,可在本地预先存储对应于不同N值的第一矩阵。

可选地,作为另一实施例,可根据N的值生成1×N的所述序列,如上述该序列为包括信息比特和冻结比特的集合。或者,可读取预先存储的1×N的所述序列。换句话说,可在本地预先存储对应于不同N值的序列

N×N的第一矩阵的N个行一一对应于一个序列中的N个比特,具体地,第一矩阵的每一行分别对应于中的一个比特。

102,确定N个比特的可靠性,并确定第一矩阵的行中每一行的重量。

本发明实施例对可靠性的度量的形式不作限制,例如可参照现有Polar码的可靠性度量,例如比特容量、Bhattacharyya参数、错误概率等。但是,现有的Polar码在生成过程中仅仅基于可靠性选择信息比特,因此性能还需要进一步提升。

可选地,作为一个实施例,在步骤102中,可以确定N个比特中每个比特的容量,其中容量大的比特的可靠性高。

可按照现有方式计算每个比特的容量,例如,给定二进制离散无记忆信道W,容量I(W)的定义如下:

可选地,作为另一实施例,在步骤102中,可以确定N个比特中每个比特的Bhattacharyya参数,其中Bhattacharyya参数小的比特的可靠性高。

给定二进制离散无记忆信道W,Bhattacharyya参数Z(W)的定义如下:

Bhattacharyya参数和最大似然译码误帧率的上界相关。当Bhattacharyya参数值越低时,信息比特的可靠性越高。

可选地,作为另一实施例,在步骤102中,确定N个比特中每个比特的错误概率,其中错误概率小的比特的可靠性高。例如,可以通过蒙托卡洛仿真得到各个比特的错误图样,结合仿真的次数确定每个比特的错误概率。

可选地,作为一个实施例,确定行的重量的一种方式是将每行的非“0”元素相加。因此,一行的重量可以表示该行中元素“1”的总数。

103,根据N个比特的可靠性和第一矩阵的N个行中每一行的重量,选择N个比特中的K个比特作为信息比特,或者选择所述第一矩阵的N个行中的K个行构成用于编码的K×N的第二矩阵,,以按照信息比特的位置或者按照第二矩阵对待编码的信息比特序列进行编码生成混合Polar码。K为待编码的信息比特序列的长度并且为不大于N的正整数。

N个比特中K个比特是信息比特,其余N-K个比特是冻结比特。信息比特是用于编码的比特,冻结比特一般设置为0。本发明实施例对确定信息比特和冻结比特的顺序不作限制。例如,在选择N个比特中的K个比特作为信息比特时,可以首先选择K个信息比特,将剩余的N-K个比特作为冻结比特;也可以首先得到N-K个冻结比特,然后将剩余的K个比特作为信息比特。这些方式均落入本发明实施例的范围内。

在确定K个信息比特之后,将待编码的信息比特序列的K个比特放置到K个信息比特对应的位置上,即可得到长度为N的比特序列从而可以按照进行编码。

同样地,在选择第二矩阵的K个行时,可以首先选择K个行,去除剩余的N-K个行;也可以首先得到需要去除的N-K个行,然后将剩余的K个行用于构成第二矩阵。这些方式均落入本发明实施例的范围内。

事实上,第二矩阵的K个行可以分别与K个信息比特一一对应。具体地,第二矩阵可以是上述GN.(A)或者其变型(如中的相应的K行构成的矩阵)。这样可以按照进行编码,其中uA为待编码的信息比特序列,长度为K。在冻结比特设置为的情况下,编码结果和相同。

码长N和信息比特的数目K都是可以预先设置的值。即,按照本发明实施例得到的混合Polar码的码率是可变的。码率由K和N确定,例如K/N。

本发明实施例在选择混合Polar码的信息比特或编码矩阵时,不仅考虑比特的可靠性,还考虑比特对应的矩阵的行的重量,从而能够改善Polar码的性能。

另外,本发明实施例得到的混合Polar码同样适用于SC或SC-List译码,能够得到较好的译码性能,是一种优化的Polar码。

可选地,作为一个实施例,在步骤103中,可选择N个比特中可靠性高且对应的第一矩阵的行的重量大于第一阈值的K个比特作为信息比特。这样选择的信息比特具有更大的汉明距离,提高了Polar码的性能。

本发明实施例同时考虑可靠性和行重量这两项因素,但是本发明实施例对这两项因素的使用顺序不作限制。

可选地,作为一个实施例,在步骤103中可首先使用可靠性进行选择。具体地,可按照可靠性的高低对N个比特进行排序;在排序后的N个比特中,按照可靠性从高到低的顺序选择对应的第一矩阵的行的重量大于第一阈值的K个比特作为信息比特。

可选地,作为一个实施例,在步骤103中可首先使用行重量进行选择。具体地,可去除N个比特中对应的行的重量小于或等于所述第一阈值的比特,得到剩余比特。然后,按照剩余比特的可靠性的高低对剩余比特进行排序,最后在排序后的剩余比特中,按照可靠性从高到低的顺序选择K个比特作为信息比特。

应注意,在上述实施例中,将等于第一阈值的比特作为冻结比特,但本发明实施例对此不作限制,也可以将等于第一阈值的比特作为信息比特,同样能得到具有相似性能的混合Polar码,因此这样的修改也落入本发明实施例的范围内。

可选地,作为另一实施例,在步骤103之前,还可以根据混合Polar码的最小码距要求,确定第一阈值。但本发明实施例对确定第一阈值的方式不作限制,除了最小码距要求之外,也可以根据其他因素或者结合其他因素确定第一阈值。

应注意,在本发明实施例中,所述比特或行的“排序”仅仅是为了比特或行的选择操作而执行的逻辑过程,并非要改变最终得到的信息比特或编码矩阵的行的排列顺序。换句话说,最终得到的K个信息比特仍按照它们在N个比特中的初始位置顺序排列;最终得到的K个行也按照它们在第一矩阵中的初始位置顺序排列以构成第二矩阵。

下面结合具体例子,更加详细地描述本发明实施例。应注意,图2至图9的例子仅仅是为了帮助本领域技术人员理解本发明实施例,而非要将本发明实施例限于所例示的具体数值或具体场景。例如,下面的例子中,以F矩阵作为第一矩阵的例子,但本发明实施例不限于此,也可以使用GN.作为第一矩阵。

在图2至图5的例子中,直接选择K个比特作为信息比特,但本发明实施例不限于此,也可以首先选择N-K个冻结比特,将剩余的K个比特作为信息比特。在此情况下,选择N-K个冻结比特的方式可以与选择信息比特的方式相对,例如选择N个比特中可靠性低或对应的矩阵行的重量小于或等于第一阈值的N-K比特作为冻结比特。

图2是本发明另一实施例的混合Polar码生成过程的示意流程图。图2的实施例中,以比特容量作为可靠性的度量,并且在选择信息比特时,首先考虑可靠性,按照可靠性的高低对N个比特进行排序,然后在排序后的N个比特中,按照可靠性从高到低的顺序选择对应的行的重量大于第一阈值的K个比特作为信息比特。

201,生成N×N的F矩阵。

202,确定N个比特的比特容量,并确定N个比特对应的行的重量。

203,可按照比特容量的值的大小对N个比特进行排序。例如可以按照比特容量从大到小的顺序对N个比特进行排序。

204,在排序后的N个比特中,按照比特容量从大到小的顺序依次判断每个比特对应的行的重量是否大于第一阈值。

205,如果在步骤204中判断某个比特对应的行的重量大于第一阈值(步骤204的分支“是”),则将该比特选择为信息比特,记录该比特的索引。

206,将已经选择的信息比特的数目i加1。

207,判断信息比特的数目i是否已经达到K。

如果信息比特的数目还未达到K(步骤207的分支“否”,即i<K),则回到步骤204,对下一个比特继续判断行重量是否大于第一阈值。

208,如果信息比特的数目已经达到K(步骤207的分支“是”,即i=K),则已经完成信息比特的选择,即,将步骤205中记录的K个比特作为信息比特。同时,将剩余的N-K个比特作为冻结比特。

209,如果在步骤204中判断某个比特对应的行的重量小于或等于第一阈值(步骤204的分支“否”),则去除该比特,不将该比特作为信息比特。换句话说,该比特会在步骤208中记录为冻结比特。一般而言,可将冻结比特设置为0。

210,在确定K个信息比特和N-K个冻结比特之后,可由此进行混合Polar编码或译码。

按照本发明实施例,可选择可靠性高且对应的行的重量大于第一阈值的比特作为信息比特,能够提高Polar码的最小码距,从而提高Polar码的性能。同时,本发明实施例得到的混合Polar码能够得到较好的SC或SC-List译码性能。

另外需要说明的是,在步骤208中,如果N个比特均已遍历完,但是得到的信息比特的数目仍未达到K(i<K),则可以调整第一阈值,例如适当降低第一阈值的取值,重新执行图2的方法,直到得到的信息比特的数目能够达到K为止。

图3是本发明另一实施例的混合Polar码生成过程的示意流程图。图3的实施例中,以比特容量作为可靠性的度量,并且在选择信息比特时,首先考虑行重量,去除N个比特中对应的行的重量小于或等于第一阈值的比特,得到剩余比特,然后按照剩余比特的可靠性的高低对剩余比特进行排序,并在排序后的剩余比特中,按照可靠性从高到低的顺序选择K个比特作为信息比特。

301,生成N×N的F矩阵。

302,确定N个比特的比特容量,并确定N个比特对应的行的重量。

303,依次判断N个比特中每个比特对应的行的重量是否大于第一阈值。

304,如果在步骤303中判断为某个比特对应的行的重量小于或等于第一阈值(步骤303的分支“否”),则去除该比特。

305,如果在步骤303中判断为某个比特对应的行的重量大于第一阈值(步骤303的分支“是”),则暂时保留该比特。在遍历所有N个比特之后,得到剩余比特,假设剩余比特为R个,R为不大于N的正整数。

这里需要说明的是,如果在步骤304和305中得到的剩余比特数目小于K(R<K),则可以调整第一阈值,例如适当降低第一阈值的取值,重新执行图3步骤303-305,直到得到的剩余比特的数目大于或等于K(R≥K)。

306,按照比特容量的值的大小对R个剩余比特进行排序。例如可以按照比特容量从大到小的顺序对R个剩余比特进行排序。

307,在排序后的R个剩余比特中,选择比特容量最大的K个剩余比特,作为信息比特,记录信息比特的索引。同时,将剩余的N-K个比特作为冻结比特。一般而言,可将冻结比特设置为0。

308,在确定K个信息比特和N-K个冻结比特之后,可由此进行混合Polar编码或译码。

按照本发明实施例,可选择可靠性高且对应的行的重量大于第一阈值的比特作为信息比特,能够提高Polar码的最小码距,从而提高Polar码的性能。同时,本发明实施例得到的混合Polar码能够得到较好的SC或SC-List译码性能。

图4是本发明另一实施例的混合Polar码生成过程的示意流程图。图4的实施例中,以Bhattacharyya参数作为可靠性的度量,并且在选择信息比特时,首先考虑可靠性,按照可靠性的高低对N个比特进行排序,然后在排序后的N个比特中,按照可靠性从高到低的顺序选择对应的行的重量大于第一阈值的K个比特作为信息比特。

401,生成N×N的F矩阵。

402,确定N个比特的Bhattacharyya参数,并确定N个比特对应的行的重量。

403,可按照Bhattacharyya参数的值的大小对N个比特进行排序。例如可以按照Bhattacharyya参数从小到大的顺序对N个比特进行排序。

404,在排序后的N个比特中,按照Bhattacharyya参数从小到大的顺序依次判断每个比特对应的行的重量是否大于第一阈值。

405,如果在步骤404中判断某个比特对应的行的重量大于第一阈值(步骤404的分支“是”),则将该比特选择为信息比特,记录该比特的索引。

406,将已经选择的信息比特的数目i加1。

407,判断信息比特的数目i是否已经达到K。

如果信息比特的数目还未达到K(步骤407的分支“否”,即i<K),则回到步骤404,对下一个比特继续判断行重量是否大于第一阈值。

408,如果信息比特的数目已经达到K(步骤407的分支“是”,即i=K),则已经完成信息比特的选择,即,将步骤405中记录的K个比特作为信息比特。同时,将剩余的N-K个比特作为冻结比特。

409,如果在步骤404中判断某个比特对应的行的重量小于或等于第一阈值(步骤404的分支“否”),则去除该比特,不将该比特作为信息比特。换句话说,该比特会在步骤408中记录为冻结比特。一般而言,可将冻结比特设置为0。

410,在确定K个信息比特和N-K个冻结比特之后,可由此进行混合Polar编码或译码。

按照本发明实施例,可选择可靠性高且对应的行的重量大于第一阈值的比特作为信息比特,能够提高Polar码的最小码距,从而提高Polar码的性能。同时,本发明实施例得到的混合Polar码能够得到较好的SC或SC-List译码性能。

另外需要说明的是,在步骤408中,如果N个比特均已遍历完,但是得到的信息比特的数目仍未达到K(i<K),则可以调整第一阈值,例如适当降低第一阈值的取值,重新执行图4的方法,直到得到的信息比特的数目能够达到K为止。

图5是本发明另一实施例的混合Polar码生成过程的示意流程图。图5的实施例中,以Bhattacharyya参数作为可靠性的度量,并且在选择信息比特时,首先考虑行重量,去除N个比特中对应的行的重量小于或等于第一阈值的比特,得到剩余比特,然后按照剩余比特的可靠性的高低对剩余比特进行排序,并在排序后的剩余比特中,按照可靠性从高到低的顺序选择K个比特作为信息比特。

501,生成N×N的F矩阵。

502,确定N个比特的Bhattacharyya参数,并确定N个比特对应的行的重量。

503,依次判断N个比特中每个比特对应的行的重量是否大于第一阈值。

504,如果在步骤503中判断为某个比特对应的行的重量小于或等于第一阈值(步骤503的分支“否”),则去除该比特。

505,如果在步骤503中判断为某个比特对应的行的重量大于第一阈值(步骤503的分支“是”),则暂时保留该比特。在遍历所有N个比特之后,得到剩余比特,假设剩余比特为R个,R为不大于N的正整数。

这里需要说明的是,如果在步骤504和505中得到的剩余比特数目小于K(R<K),则可以调整第一阈值,例如适当降低第一阈值的取值,重新执行图5的步骤503-505,直到得到的剩余比特的数目大于或等于K(R≥K)。

506,按照Bhattacharyya参数的值的大小对R个剩余比特进行排序。例如可以按照Bhattacharyya参数从小到大的顺序对R个剩余比特进行排序。

507,在排序后的R个剩余比特中,选择Bhattacharyya参数最小的K个剩余比特,作为信息比特,记录信息比特的索引。同时,将剩余的N-K个比特作为冻结比特。一般而言,可将冻结比特设置为0。

508,在确定K个信息比特和N-K个冻结比特之后,可由此进行混合Polar编码或译码。

按照本发明实施例,可选择可靠性高且对应的行的重量大于第一阈值的比特作为信息比特,能够提高Polar码的最小码距,从而提高Polar码的性能。同时,本发明实施例得到的混合Polar码能够得到较好的SC或SC-List译码性能。

对于其他可靠性的度量,如果该度量的值越大,对应的可靠性越高,则可以按照图2和图4的方式选择信息比特;如果该度量的值越大,对应的可靠性越低,则可以按照图3和图5的方式选择信息比特。例如,如果使用错误概率表示可靠性,则可采用图3和图5的类似方式选择信息比特。

在图6至图9的例子中,直接选择K个行构成第二矩阵,即选择第一矩阵的N个行中对应的比特可靠性高且行的重量大于第一阈值的K个行构成第二矩阵。但本发明实施例不限于此,也可以首先选择第二矩阵不需要的N-K个行,将剩余的K个行构成第二矩阵。在此情况下,选择N-K个行的方式可以与选择K个行的方式相对,例如选择N个行中对应的比特可靠性低或行的重量小于或等于第一阈值的N-K个行。

图6是本发明另一实施例的混合Polar码生成过程的示意流程图。图6的实施例中,以比特容量作为可靠性的度量,并且在选择第二矩阵的K个行时,首先考虑可靠性,按照对应的比特的可靠性的高低对第一矩阵的N个行进行排序,然后在排序后的N个行中,按照对应的比特的可靠性从高到低的顺序选择行的重量大于第一阈值的K个行构成第二矩阵。

601,生成N×N的F矩阵。

602,确定N个比特的比特容量,并确定N个行的重量。

603,可按照比特容量的值的大小对N个比特对应的N个行进行排序。例如可以按照比特容量从大到小的顺序对N个行进行排序。

604,在排序后的N个行中,按照比特容量从大到小的顺序依次判断每个行的重量是否大于第一阈值。

605,如果在步骤604中判断某个行的重量大于第一阈值(步骤604的分支“是”),则选择该行。

606,将已经选择的行的数目i加1。

607,判断已经选择的行的数目i是否已经达到K。

如果行的数目还未达到K(步骤607的分支“否”,即i<K),则回到步骤604,对下一行继续判断行重量是否大于第一阈值。

608,如果已经选择的行的数目已经达到K(步骤607的分支“是”,即i=K),则已经完成K个行的选择,得到K×N的第二矩阵。

609,如果在步骤604中判断某个行的重量小于或等于第一阈值(步骤604的分支“否”),则去除该行。

610,在得到K×N的第二矩阵之后,可由此进行混合Polar编码或译码。

按照本发明实施例,可选择对应比特的可靠性高且行的重量大于第一阈值的行构成第二矩阵,能够提高Polar码的最小码距,从而提高Polar码的性能。同时,本发明实施例得到的混合Polar码能够得到较好的SC或SC-List译码性能。

另外需要说明的是,在步骤608中,如果N个行均已遍历完,但是已经选择的行的数目仍未达到K(i<K),则可以调整第一阈值,例如适当降低第一阈值的取值,重新执行图6的方法,直到已经选择的行的数目能够达到K为止。

图7是本发明另一实施例的混合Polar码生成过程的示意流程图。图7的实施例中,以比特容量作为可靠性的度量,并且在选择第二矩阵的K个行时,首先考虑行重量,去除行的重量小于或等于第一阈值的行,得到剩余行;按照剩余行对应的比特的可靠性的高低对剩余行进行排序;在排序后的剩余行中,按照对应的比特的可靠性从高到低的顺序选择K个行构成第二矩阵。

701,生成N×N的F矩阵。

702,确定N个比特的比特容量,并确定N个行的重量。

703,依次判断N个行的重量是否大于第一阈值。

704,如果在步骤703中判断为某个行的重量小于或等于第一阈值(步骤703的分支“否”),则去除该行。

705,如果在步骤703中判断为某个行的重量大于第一阈值(步骤703的分支“是”),则暂时保留该行。在遍历所有N个行之后,得到剩余行,假设剩余行为R个,R为不大于N的正整数。

这里需要说明的是,如果在步骤704和705中得到的剩余行的数目小于K(R<K),则可以调整第一阈值,例如适当降低第一阈值的取值,重新执行图7步骤703-705,直到得到的剩余行的数目大于或等于K(R≥K)。

706,按照对应比特的比特容量的值的大小对R个剩余行进行排序。例如可以按照比特容量从大到小的顺序对R个剩余行进行排序。

707,在排序后的R个剩余行中,选择对应比特的比特容量最大的K个剩余行,得到K×N的第二矩阵。

708,在得到第二矩阵之后,可由此进行混合Polar编码或译码。

按照本发明实施例,可选择对应比特的可靠性高且行的重量大于第一阈值的行构成第二矩阵,能够提高Polar码的最小码距,从而提高Polar码的性能。同时,本发明实施例得到的混合Polar码能够得到较好的SC或SC-List译码性能。

图8是本发明另一实施例的混合Polar码生成过程的示意流程图。图8的实施例中,以Bhattacharyya参数作为可靠性的度量,并且在选择信息比特时,首先考虑可靠性,按照对应的比特的可靠性的高低对第一矩阵的N个行进行排序,然后在排序后的N个行中,按照对应的比特的可靠性从高到低的顺序选择行的重量大于第一阈值的K个行构成第二矩阵。

801,生成N×N的F矩阵。

802,确定N个比特的Bhattacharyya参数,并确定N个行的重量。

803,可按照Bhattacharyya参数的值的大小对N个比特对应的N个行进行排序。例如可以按照Bhattacharyya参数从小到大的顺序对N个行进行排序。

804,在排序后的N个行中,按照Bhattacharyya参数从小到大的顺序依次判断每个行的重量是否大于第一阈值。

805,如果在步骤804中判断某个行的重量大于第一阈值(步骤804的分支“是”),则选择该行。

806,将已经选择的行的数目i加1。

807,判断已经选择的行的数目i是否已经达到K。

如果已经选择的行的数目还未达到K(步骤807的分支“否”,即i<K),则回到步骤804,对下一行继续判断行重量是否大于第一阈值。

808,如果已经选择的行的数目已经达到K(步骤807的分支“是”,即i=K),则已经完成K个行的选择,得到K×N的第二矩阵。

809,如果在步骤804中判断某个行的重量小于或等于第一阈值(步骤804的分支“否”),则去除该行。

810,在得到K×N的第二矩阵之后,可由此进行混合Polar编码或译码。

按照本发明实施例,可选择对应比特的可靠性高且行的重量大于第一阈值的行构成第二矩阵,能够提高码字的最小码距,从而提高码字的性能。同时,本发明实施例得到的码字能够得到较好的SC或SC-List译码性能。

另外需要说明的是,在步骤808中,如果N个行均已遍历完,但是已经选择的行的数目仍未达到K(i<K),则可以调整第一阈值,例如适当降低第一阈值的取值,重新执行图8的方法,直到已经选择的行的数目能够达到K为止。

图9是本发明另一实施例的混合Polar码生成过程的示意流程图。图9的实施例中,以Bhattacharyya参数作为可靠性的度量,并且在选择第二矩阵的K个行时,首先考虑行重量,去除行的重量小于或等于第一阈值的行,得到剩余行;按照剩余行对应的比特的可靠性的高低对剩余行进行排序;在排序后的剩余行中,按照对应的比特的可靠性从高到低的顺序选择K个行构成第二矩阵。

901,生成N×N的F矩阵。

902,确定N个比特的Bhattacharyya参数,并确定N个行的重量。

903,依次判断N个行中每一行的重量是否大于第一阈值。

904,如果在步骤903中判断为某个行的重量小于或等于第一阈值(步骤903的分支“否”),则去除该行。

905,如果在步骤903中判断为某个行的重量大于第一阈值(步骤903的分支“是”),则暂时保留该行。在遍历所有N个行之后,得到剩余行,假设剩余行为R个,R为不大于N的正整数。

这里需要说明的是,如果在步骤904和905中得到的剩余行的数目小于K(R<K),则可以调整第一阈值,例如适当降低第一阈值的取值,重新执行图9的步骤903-905,直到得到的剩余行的数目大于或等于K(R≥K)。

906,按照对应比特的Bhattacharyya参数的值的大小对R个剩余行进行排序。例如可以按照Bhattacharyya参数从小到大的顺序对R个剩余行进行排序。

907,在排序后的R个剩余行中,选择Bhattacharyya参数最小的K个剩余行,得到K×N的第二矩阵。

908,在得到K×N的第二矩阵之后,可由此进行混合Polar编码或译码。

按照本发明实施例,可选择对应比特的可靠性高且行的重量大于第一阈值的行构成第二矩阵,能够提高Polar码的最小码距,从而提高Polar码的性能。同时,本发明实施例得到的混合Polar码能够得到较好的SC或SC-List译码性能。

对于其他可靠性的度量,如果该度量的值越大,对应的可靠性越高,则可以按照图6和图8的方式选择信息比特;如果该度量的值越大,对应的可靠性越低,则可以按照图7和图9的方式选择信息比特。例如,如果使用错误概率表示可靠性,则可采用图7和图9的类似方式选择信息比特。

本发明实施例同时考虑可靠性和行的重量,从而能够得到最小码距更优的混合Polar码。以码长为N=2048,K=1024为例,现有Polar码按容量自大到小排序后,最大容量的1024个比特为从左到右的1024个比特,因而选择为信息比特。但是其中所选取的信息比特中的后面的若干个信息比特所对应的行的重量为16。该现有Polar码的最小码距为16。按照本发明实施例的混合Polar码,可以设定每个比特所对应的行的最小重量不小于16(即设置第一阈值为16),因而能够去除行重量小于或等于16的比特,仅从剩余的比特中选择最大容量的1024个比特位为信息比特,所选取的信息比特所对应的行的重量都不小于16而是32,本发明实施例得到的混合Polar码的最小码距为32,具有更优的性能。

比较现有Polar码与本发明实施例的混合Polar码在相同的SC-List译码的情况下的译码性能,以L=32为SC-List译码的幸存路径数目,可以发现混合Polar码优于现有Polar码。例如,在能噪比(Eb/No)为1.6dB时,混合Polar码的FER(Frame Error Ratio,误帧率)低于10-3,而现有Polar码的FER在同样条件下仅能达到10-2量级。另外,对于现有Polar码,SC-List译码已达到最优的ML译码界(ML Bound),其性能已无法进一步提高,而本发明实施例的混合Polar码的最优ML译码界远优于现有Polar码。例如,本发明实施例的混合Polar码在能噪比为1.6dB时FER的最优ML译码界基本能够达到10-4的量级。因此本发明实施例的混合Polar码的性能还有很大的提升空间,例如可通过不断增加幸存路径数目L来将达到最优的ML译码界。

图10是本发明一个实施例的编码方法的流程图。图10的方法由编码端执行。

1001,接收待编码的信息比特序列,信息比特序列的长度为K,K为正整数。

1002,获取N×N的第一矩阵以及含N个比特的序列,其中N为要生成的混合Polar码的码长,第一矩阵的N个行一一对应于上述序列中的N个比特,N为大于或等于K的正整数。

1003,确定N个比特的可靠性,并确定第一矩阵的N个行中每一行的重量。

1004,根据N个比特的可靠性和第一矩阵的N个行中每一行的重量,选择N个比特中的K个比特作为信息比特,或者选择第一矩阵的N个行中的K个行构成用于编码的K×N的第二矩阵。

步骤1002-1004可参照图1的步骤101-103,因此不再重复描述。

1005,按照信息比特的位置或者按照第二矩阵对待编码的信息比特序列进行编码,得到码长为N的编码比特序列。

例如,当在步骤1004中确定K个信息比特时,可确定信息比特序列的K个比特在中的位置,从而可以按照进行编码。

作为另一实施例,当在步骤1004中确定K×N的第二矩阵(例如上述GN.(A)或其变型)时,可按照进行编码,其中uA为步骤1001中接收的待编码的信息比特序列。

在冻结比特设置为的情况下,编码结果和相同。

本发明实施例在选择混合Polar码的信息比特或编码矩阵时,不仅考虑比特的可靠性,还考虑比特对应的矩阵的行的重量,从而能够改善码字的性能。

另外,本发明实施例得到的混合Polar码同样适用于SC或SC-List译码,能够得到较好的译码性能,是一种优化的Polar码。

此外,码长N和信息比特的数目K都是可以预先设置的值。即,按照本发明实施例得到的混合Polar码的码率是可变的。码率由K和N确定,例如K/N。

应注意,图10的各个步骤的执行顺序不对本发明实施例的范围构成限制。本领域技术人员可根据需要改变图10的各个步骤的执行顺序,例如,步骤1001可以在步骤1002-1004之后执行,或者与步骤1002-1004同步执行。这样的变化均落入本发明实施例的范围内。

图11是本发明一个实施例的译码方法的流程图。图11的方法由译码端执行。

1101,接收长度为N的解调后的信号。

1102,获取N×N的第一矩阵以及含N个比特的序列,其中第一矩阵的N个行一一对应于上述序列中的N个比特。

1103,确定N个比特的可靠性,并确定第一矩阵的N个行中每一行的重量。

1104,根据N个比特的可靠性和第一矩阵的N个行中每一行的重量,选择N个比特中的K个比特作为信息比特,或者选择第一矩阵的N个行中的K个行构成用于编码的K×N的第二矩阵,K为不大于N的正整数。

步骤1102-1104可参照图1的步骤101-103,因此不再重复描述。

1105,按照信息比特的位置或者按照第二矩阵对解调后的信号进行译码。

本发明实施例对译码的具体方式不作限制,例如可以使用SC或SC-List译码,从而产生长度为K的译码比特序列。

本发明实施例在选择混合Polar码的信息比特或编码矩阵时,不仅考虑比特的可靠性,还考虑比特对应的矩阵的行的重量,从而能够改善码字的性能。

另外,本发明实施例得到的混合Polar码同样适用于SC或SC-List译码,能够得到较好的译码性能,是一种优化的Polar码。

此外,码长N和信息比特的数目K都是可以预先设置的值。即,按照本发明实施例得到的混合Polar码的码率是可变的。码率由K和N确定,例如K/N。

应注意,图11的各个步骤的执行顺序不对本发明实施例的范围构成限制。本领域技术人员可根据需要改变图11的各个步骤的执行顺序,例如,步骤1101可以在步骤1102-1104之后执行,或者与步骤1102-1104同步执行。这样的变化均落入本发明实施例的范围内。

图12是本发明一个实施例的生成混合Polar码的装置的框图。图12的装置60包括获取单元61、确定单元62和选择单元63。

获取单元61生成N×N的第一矩阵以及含N个比特的序列,其中N为码长,第一矩阵的N个行一一对应于上述序列中的N个比特,N为正整数。

确定单元62确定N个比特的可靠性,并确定第一矩阵的N个行中每一行的重量。

选择单元63根据N个比特的可靠性和第一矩阵的N个行中每一行的重量,选择N个比特中的K个比特作为信息比特,或者选择第一矩阵的N个行中的K个行构成用于编码的K×N的第二矩阵,以按照信息比特的位置或者按照第二矩阵对待编码的信息比特序列进行编码生成混合Polar码。K为待编码的信息比特序列的长度并且为不大于N的正整数。

本发明实施例在选择混合Polar码的信息比特或编码矩阵时,不仅考虑比特的可靠性,还考虑比特对应的矩阵的行的重量,从而能够改善Polar的性能。

另外,本发明实施例得到的混合Polar码同样适用于SC或SC-List译码,能够得到较好的译码性能,是一种优化的Polar码。

图12的装置60能够实现图1-图9的方法的各个步骤,为避免重复,不再详细描述。装置60可以位于任何网元中,例如可以位于用户设备或基站中。

可选地,作为一个实施例,获取单元61可根据N的值生成第一矩阵,例如可生成上述矩阵GN.或其变型(如)作为所述第一矩阵。或者,获取单元61可读取预先存储的对应于N的值的第一矩阵。换句话说,可在本地预先存储对应于不同N值的第一矩阵。

可选地,作为另一实施例,获取单元61可根据N的值生成1×N的所述序列,如上述该序列为包括信息比特和冻结比特的集合。或者,获取单元61可读取预先存储的1×N的所述序列。换句话说,可在本地预先存储对应于不同N值的序列

可选地,作为一个实施例,选择单元63可选择N个比特中可靠性高且对应的第一矩阵的行的重量大于第一阈值的K个比特作为信息比特。这样选择的信息比特具有更大的最小码距,提高了Polar码的性能。

可选地,作为一个实施例,确定单元62可确定N个比特中每个比特的容量,其中容量大的比特的可靠性高;或者,确定N个比特中每个比特的Bhattacharyya参数,其中Bhattacharyya参数小的比特的可靠性高;或者,确定N个比特中每个比特的错误概率,其中错误概率小的比特的可靠性高。

可选地,作为另一实施例,选择单元63可按照可靠性的高低对N个比特进行排序;在排序后的N个比特中,按照可靠性从高到低的顺序选择对应的第一矩阵的行的重量大于第一阈值的K个比特作为信息比特。例如,选择单元63可按照上述图2和图4的方法选择信息比特。

可选地,作为另一实施例,选择单元63可去除N个比特中对应的第一矩阵的行的重量小于或等于第一阈值的比特,得到剩余比特;按照剩余比特的可靠性的高低对剩余比特进行排序;在排序后的剩余比特中,按照可靠性从高到低的顺序选择K个比特作为信息比特。例如,选择单元63可按照上述图3和图5的方法选择信息比特。

可选地,作为另一实施例,选择单元63可选择第一矩阵的N个行中对应的比特可靠性高且行的重量大于第一阈值的K个行构成第二矩阵。

可选地,作为另一实施例,选择单元63可按照对应的比特的可靠性的高低对第一矩阵的N个行进行排序;在排序后的N个行中,按照对应的比特的可靠性从高到低的顺序选择行的重量大于第一阈值的K个行构成第二矩阵。

可选地,作为另一实施例,选择单元63可去除行的重量小于或等于第一阈值的行,得到剩余行;按照剩余行对应的比特的可靠性的高低对剩余行进行排序;在排序后的剩余行中,按照对应的比特的可靠性从高到低的顺序选择K个行构成第二矩阵。

可选地,作为另一实施例,确定单元62还可以根据Polar码的最小码距要求,确定第一阈值。但本发明实施例不限于此,确定单元62在确定第一阈值时还可以考虑其他因素,例如码率。码率可以由上述N和K的值确定,例如等于K/N。

图13是本发明另一实施例的编码装置的示意框图。图13的编码装置130中,与图12相同的部分将使用相同的附图标记,并省略重复的描述。

如图13所示,除了获取单元61、确定单元62和选择单元63之外,编码装置130还可以包括接收单元131和编码单元132。

接收单元131接收待编码的信息比特序列,信息比特序列的长度为K,K为正整数。

获取单元61生成N×N的第一矩阵以及含N个比特的序列,其中N为Polar码的码长,第一矩阵的N个行一一对应于上述序列的N个比特,N为正整数。

确定单元62确定N个比特的可靠性,并确定第一矩阵的N个行中每一行的重量。

选择单元63根据N个比特的可靠性和第一矩阵的N个行中每一行的重量,选择N个比特中的K个比特作为信息比特,或者选择第一矩阵的N个行中的K个行构成用于编码的K×N的第二矩阵。K为待编码的信息比特序列的长度并且为不大于N的正整数。

编码单元132按照信息比特的位置或者按照第二矩阵对信息比特序列进行编码,得到码长为N的编码比特序列。

本发明实施例在选择混合Polar码的信息比特或编码矩阵时,不仅考虑比特的可靠性,还考虑比特对应的矩阵的行的重量,从而能够改善Polar码的性能。

另外,本发明实施例得到的混合Polar码同样适用于SC或SC-List译码,能够得到较好的译码性能。

图14是本发明一个实施例的发射机的框图。图14的发射机140可包括如图13所示的编码装置130,因此适当省略重复的描述。

此外,发射机140还可以包括发射单元141,用于发射编码装置130产生的编码比特序列。

本发明实施例在选择混合Polar码的信息比特或编码矩阵时,不仅考虑比特的可靠性,还考虑比特对应的矩阵的行的重量,从而能够改善码字的性能。

另外,本发明实施例得到的混合Polar码同样适用于SC或SC-List译码,能够得到较好的译码性能。

图15是本发明一个实施例的译码装置的框图。图15的译码装置150中,与图12相同的部分将使用相同的附图标记,并省略重复的描述。

如图15所示,除了获取单元61、确定单元62和选择单元63之外,译码装置150还可以包括接收单元151和译码单元152。

接收单元151接收长度为N的解调后的信号。

获取单元61生成N×N的第一矩阵以及含N个比特的序列,其中N为Polar码的码长,第一矩阵的N个行一一对应于上述序列中的N个比特,N为正整数。

确定单元62确定N个比特的可靠性,并确定第一矩阵的N个行中每一行的重量。

选择单元63根据N个比特的可靠性和第一矩阵的N个行中每一行的重量,选择N个比特中的K个比特作为信息比特,或者选择第一矩阵的N个行中的K个行构成用于编码的K×N的第二矩阵。K为不大于N的正整数。

译码单元152按照信息比特的位置或者按照第二矩阵对解调后的信号进行译码。

本发明实施例在选择混合Polar码的信息比特或编码矩阵时,不仅考虑比特的可靠性,还考虑比特对应的矩阵的行的重量,从而能够改善Polar码的性能。

另外,本发明实施例得到的混合Polar码同样适用于SC或SC-List译码,能够得到较好的译码性能。

图16是本发明一个实施例的接收机的框图。图16的接收机160可包括如图15所示的译码装置150,因此适当省略重复的描述。

此外,如图16所示,接收机160还可以包括解调单元161,用于对所接收的信号进行解调以产生长度为N的解调后的信号。

本发明实施例在选择混合Polar码的信息比特或编码矩阵时,不仅考虑比特的可靠性,还考虑比特对应的矩阵的行的重量,从而能够改善Polar码的性能。

另外,本发明实施例得到的混合Polar码同样适用于SC或SC-List译码,能够得到较好的译码性能。

图17是本发明另一实施例的装置的示意框图。图17的装置80可用于实现上述方法实施例中各步骤及方法。装置170可应用于各种通信系统中的基站或者终端。图17的实施例中,装置80包括发射电路802、接收电路803、编码处理器804、译码处理器805、处理单元806,存储器807及天线801。处理单元806控制装置80的操作,处理单元806还可以称为CPU(Central Processing Unit,中央处理单元)。存储器807可以包括只读存储器和随机存取存储器,并向处理单元806提供指令和数据。存储器807的一部分还可以包括非易失行随机存取存储器(NVRAM)。具体的应用中,装置80可以嵌入或者本身可以就是例如移动电话之类的无线通信设备,还可以包括容纳发射电路802和接收电路803的载体,以允许装置80和远程位置之间进行数据发射和接收。发射电路802和接收电路803可以耦合到天线801。装置80的各个组件通过总线系统809耦合在一起,其中总线系统809除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图中将各种总线都标为总线系统809。装置170还可以包括用于处理信号的处理单元806,此外还包括编码处理器804、译码处理器805。

上述本发明实施例揭示的方法可以应用于编码处理器804或译码处理器805中,或者由编码处理器804或译码处理器805实现。编码处理器804或译码处理器805可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过编码处理器804或译码处理器805中的硬件的集成逻辑电路或者软件形式的指令完成。这些指令可以通过处理器806以配合实现及控制。用于执行本发明实施例揭示的方法,上述的译码处理器可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器,译码器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器807,编码处理器804或译码处理器805读取存储器807中的信息,结合其硬件完成上述方法的步骤。例如,存储器807可存储所得到的Polar码的信息比特或冻结比特的信息,供编码处理器804或译码处理器805在编码或译码时使用。

例如,图13的编码单元132可以由编码处理器804实现,图15的译码单元152可以由译码处理器805实现。另外,图12-13和图15的获取单元61、确定单元62和选择单元63可以由处理器806实现,也可以由编码处理器804或译码处理器805实现。

另外,例如,图14的发射机140可以由编码处理器804、发射电路802和天线801等实现。图15的接收机150可以由天线801、接收电路803和译码处理器805等实现。但上述例子仅仅是示意性的,并非将本发明实施例限于这样的具体实现形式。

具体地,存储器807存储使得处理器806、编码处理器804或译码处理器805实现以下操作的指令:生成N×N的第一矩阵以及含N个比特的序列,其中N为Polar码的码长,第一矩阵的N个行一一对应于上述序列中的N个比特,N为正整数;确定N个比特的可靠性,并确定第一矩阵的N个行中每一行的重量;根据N个比特的可靠性和第一矩阵的N个行中每一行的重量,选择N个比特中的K个比特作为信息比特,或者选择第一矩阵的N个行中的K个行构成用于编码的K×N的第二矩阵,K为不大于N的正整数。

本发明实施例在选择混合Polar码的信息比特或编码矩阵时,不仅考虑比特的可靠性,还考虑比特对应的矩阵的行的重量,从而能够改善Polar码的性能。

另外,本发明实施例得到的混合Polar码同样适用于SC或SC-List译码,能够得到较好的译码性能。

根据本发明实施例的通信系统或通信装置可包括上述装置60、编码装置130、发射机140、译码装置150、接收机160或装置170。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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