极化码编码和译码的方法、发送设备和接收设备与流程

文档序号:16885947发布日期:2019-02-15 22:38阅读:173来源:国知局
极化码编码和译码的方法、发送设备和接收设备与流程

本申请涉及极化码领域,并且更具体地,涉及一种极化码编码和极化码译码的方法、发送设备和接收设备。



背景技术:

信道编码作为最基本的无线接入技术,在保证数据的可靠性传输方面起到至关重要的作用。在现有的无线通信系统中,一般采用turbo码、低密度奇偶校验码(lowdensityparitycheck,ldpc)和极化(polar)码进行信道编码。turbo码不能够支持过低或过高码率的信息传输。而对于中短包传输,turbo码和ldpc码也由于自身编译码的特点,在有限码长下很难达到理想的性能。在实现方面,turbo码和ldpc码在编译码实现过程中具有较高的计算复杂度。极化(polar)码是理论上证明可以取得香农容量,且具有相对简单的编译码复杂度的码,因而得到了广泛的应用。

极化码是一种线性块码。其生成矩阵为fn,其编码过程为其中,是一个二进制的行矢量,长度为n,且n=2n,n为正整数。在极化码的编码过程中,中的一部分比特用来携带信息,称为信息比特。信息比特的索引的集合记作a。中的另外一部分比特置为接收端和发送端预先约定的固定值,称为固定比特。极化码的编码过程主要取决于集合a的选取过程,它决定了极化码编译码的性能。在已有的极化码编码方案中,大多采用在线计算或离线存储的方式来确定信息比特序号集合。在线计算的方式由于不涉及实际信道的参数,容易出现收发两端的计算精度不同而导致译码失败的情况,并且在线计算的时延和复杂度也较大。而离线存储的方式为了支持各种码长和码率的组合,收发两端需要存储大量的母码序列,因而存储开销非常大,同时,灵活性不足。

而随着无线通信系统的快速演进,未来的通信系统(例如,5g)将会出现一些新的特点,例如,最典型的三个通信场景包括增强型移动互联网(enhancemobilebroadband,embb)、海量机器连接通信(massivemachinetypecommunication,mmtc)和高可靠低延迟通信(ultrareliablelowlatencycommunication,urllc)。这些通信场景在数据传输的可靠性、复杂度、灵活性和时延等方面都提出了更高的要求。另外,embb和mmtc区别于现有的长期演进(longtermevolution,lte)技术的一个重要特点是中短包传输,这就要求信道编码可以更好的支持这类码长的通信。

因此,为了适应未来无线通信系统对于数据传输在码率、可靠度、时延、灵活性和复杂度等方面的更高要求,亟需一种新的编译码技术,以改善现有技术中的信道编码技术在这些方面存在的不足。



技术实现要素:

本申请提供一种极化码编码和译码的方法,有助于改善现有技术中的信道编码技术在码率、可靠度、时延、灵活性和复杂度等方面存在的不足。

第一方面,本申请提供一种极化码编码的方法,该方法包括:发送设备预存储至少一个母码序列,每个母码序列由至少一个子序列和至少一个子集合组成,每个子序列或子集合中的元素为极化信道的序号,每个子序列或子集合中包括至少一个序号,每个子序列中序号的相对位置是按照极化信道的可靠度的大小顺序排列的;发送设备根据目标极化码的码长,从该至少一个母码序列中确定信息比特序号集合;发送设备根据信息比特序号集合对信息比特进行极化编码。

在一种可能的实现方式中,该至少一个子序列和至少一个子集合的相对位置是根据极化信道的可靠度的大小顺序排列的,其中,在该至少一个子序列中的第一子序列的可靠度大于相邻的第一子集合的可靠度的情况下,第一子序列中任意一个序号对应的极化信道的可靠度大于第一子集合中任意一个序号对应的极化信道的可靠度;或者,在该至少一个子集合中的第一子集合的可靠度大于相邻的第二子集合的可靠度的情况下,第一子集合中任意一个序号对应的极化信道的可靠度大于第二子集合中的任意一个序号对应的极化信道的可靠度;或者,在该至少一个子集合中的第一子集合的可靠度大于该至少一个子序列中的第一子序列的可靠度的情况下,第一子集合中任意一个序号对应的极化信道的可靠度大于第一子序列中任意一个序号对应的极化信道的可靠度。

在一种可能的实现方式中,发送设备根据目标极化码的码长,从该至少一个母码序列中确定信息比特序号集合,包括:发送设备根据目标极化码的信息比特个数k,或目标极化码的固定比特个数f,从该至少一个母码序列中确定信息比特序号集合。

在一种可能的实现方式中,发送设备根据目标极化码的信息比特个数k,从该至少一个母码序列中确定信息比特序号集合,包括:发送设备根据信息比特个数k,从该至少一个母码序列中的最大母码序列中,按照可靠度从大到小的顺序选取非打孔且小于或等于n的序号作为目标极化码的母码序列;发送设备根据目标极化码的母码序列,确定信息比特序号集合,其中,n为目标极化码的母码码长。

在一种可能的实现方式中,发送设备根据目标极化码的信息比特个数k,从最大母码序列中选取信息比特序号集合,包括:

发送设备按照可靠度从大到小的顺序,从最大母码序列中依次选取非打孔且小于或等于n的k个序号作为信息比特序号集合,其中,n为目标极化码的母码码长。

在本申请实施例中,信息比特个数k指的是非固定比特的个数。在存在校验比特的情况下,本文中的k也包括了校验比特。

在一种可能的实现方式中,发送设备根据目标极化码的信息比特个数k,从该至少一个母码序列中确定信息比特序号集合,包括:在k=m1的情况下,发送设备按照可靠度从大到小的顺序,从目标极化码的母码序列中选取前m1个非打孔序号作为信息比特序号集合,其中,m1为目标极化码的母码序列中可靠度从大到小的前至少一个子序列或子集合中序号的个数,m1≥1,且m1为整数。

在一种可能的实现方式中,发送设备根据目标极化码的信息比特个数k,从该至少一个母码序列中确定信息比特序号集合,包括:在m1<k≤m2的情况下,发送设备按照可靠度从大到小的顺序,从目标极化码的母码序列中选取前m1个非打孔序号作为第一序号集合,其中,m1为目标极化码的母码序列中可靠度从大到小的前至少一个子序列或子集合中序号的个数,m2>m1,且m1和m2为正整数;发送设备从与该m1个非打孔序号所在的子序列或子集合相邻的子序列或子集合中的非打孔序号中,按照可靠度从大到小的顺序选取(k-m1)个序号作为第二序号集合;发送设备将第一序号集合和第二序号集合中的序号确定为信息比特序号集合。

在一种可能的实现方式中,与该m1个非打孔序号所在的子序列或子集合相邻为第三子集合,以及,发送设备从与该m1个非打孔序号所在的子序列或子集合相邻的子序列或子集合中的非打孔序号中,按照可靠度从大到小的顺序选取(k-m1)个序号作为第二序号集合,包括:发送设备通过在线计算或读表的方式,从第三子集合中的非打孔序号中按照可靠度从大到小的顺序选取(k-m1)个序号作为第二序号集合。

在一种可能的实现方式中,与该m1个非打孔序号所在的子序列或子集合相邻的为第二子序列,以及,发送设备从与该m1个非打孔序号所在的子序列或子集合相邻的子序列或子集合中的非打孔序号中,按照可靠度从大到小的顺序,选取(k-m1)个序号作为第二序号集合,包括:发送设备从第二子序列中的非打孔序号中,按照可靠度从大到小的顺序选取(k-m1)个序号作为第二序号集合。

在一种可能的实现方式中,发送设备还预存储有第一排序表,第一排序表中记录有第三子集合中非打孔序号的可靠性的排序,以及,发送设备通过读表的方式,从第三子集合中的非打孔序号中,按照可靠度从大到小的顺序选取(k-m1)个序号作为第二序号集合,包括:发送设备从第一排序表中,按照可靠度从大到小的顺序选取(k-m1)个非打孔序号作为第二序号集合。

在一种可能的实现方式中,发送设备根据目标极化码的固定比特个数f,从该至少一个母码序列中确定信息比特序号集合,包括:发送设备根据所述固定比特个数f,从该至少一个母码序列中的最大母码序列中,按照可靠度从小到大的顺序选取非打孔且小于或等于n的序号作为目标极化码的母码序列;发送设备根据目标极化码的母码序列,确定固定比特序号集合,其中,n为目标极化码的母码码长;

发送设备将所述固定比特序号集合相对于目标极化码的母码序列中的序号组成的集合的补集确定为信息比特序号集合。

在一种可能的实现方式中,发送设备根据目标极化码的固定比特个数f,从该至少一个母码序列中确定信息比特序号集合,包括:在f=m3的情况下,发送设备从目标极化码的母码序列中,按照可靠度从小到大的顺序选取前m3个非打孔序号作为固定比特序号集合,其中,m3为目标极化码的母码序列中可靠度从小到大的前至少一个子序列或子集合中序号的个数,m3≥1且为整数;发送设备将所述固定比特序号集合相对于目标极化码的母码序列中的序号组成的集合的补集确定为信息比特序号集合。

在一种可能的实现方式中,发送设备根据目标极化码的固定比特个数f,从该至少一个母码序列中确定信息比特序号集合,包括:在m3<f≤m4的情况下,发送设备按照可靠度从小到大的顺序,从目标极化码的母码序列中选取前m3个非打孔序号作为第三序号集合,其中,m3为目标极化码的母码序列中可靠度从小到大的前至少一个子序列或子集合中序号的个数,m4>m3,且m3和m4为正整数;发送设备从与所述m3个非打孔序号所在的子序列或子集合相邻的子序列或子集合中,按照可靠度从小到大的顺序选取(f-m3)个序号作为第四序号集合;发送设备将所述第三序号集合和所述第四序号集合中的序号确定为固定比特序号集合;发送设备将所述固定比特序号集合相对于目标极化码的母码序列中的序号组成的集合的补集确定为信息比特序号集合。

在一种可能的实现方式中,与该m3个非打孔序号所在的子序列或子集合相邻的为第四子集合,以及,发送设备从与该m3个非打孔序号所在的子序列或子集合相邻的子序列或子集合中,按照可靠度从小到大的顺序选取(f-m3)个序号作为第四序号集合,包括:发送设备通过在线计算或读表的方式,从所述第四子集合中的非打孔序号中,按照可靠度的从大到小的顺序选取(f-m3)个序号作为所述第四序号集合。

在一种可能的实现方式中,发送设备还预存储有第二排序表,第二排序表中记录有所述第四子集合中非打孔序号的可靠性的排序,以及,发送设备通过读表的方式,从所述第四子集合中的非打孔序号中,按照可靠度的从大到小的顺序选取(f-m3)个序号作为所述第四序号集合,包括:发送设备从第二排序表中,按照可靠度的从大到小的顺序选取(f-m3)个非打孔序号作为所述第四序号集合。

第二方面,本申请提供一种极化码译码的方法,该方法包括:接收设备预存储至少一个母码序列,每个母码序列由至少一个子序列和至少一个子集合组成,每个子序列或子集合中的元素为极化信道的序号,每个子序列或子集合中包括至少一个序号,每个子序列中序号的相对位置是按照极化信道的可靠度的大小顺序排列的;接收设备获取待译码序列;接收设备根据目标极化码的码长和该至少一个母码序列,对待译码序列进行译码。

在一种可能的实现方式中,该至少一个子序列和至少一个子集合的相对位置是根据极化信道的可靠度的大小顺序排列的,其中,在该至少一个子序列中的第一子序列的可靠度大于相邻的第一子集合的可靠度的情况下,第一子序列中任意一个序号对应的极化信道的可靠度大于第一子集合中任意一个序号对应的极化信道的可靠度;或者,在该至少一个子集合中的第一子集合的可靠度大于相邻的第二子集合的可靠度的情况下,第一子集合中任意一个序号对应的极化信道的可靠度大于第二子集合中的任意一个序号对应的极化信道的可靠度;或者,在该至少一个子集合中的第一子集合的可靠度大于该至少一个子序列中的第一子序列的可靠度的情况下,第一子集合中任意一个序号对应的极化信道的可靠度大于第一子序列中任意一个序号对应的极化信道的可靠度。

在一种可能的实现方式中,接收设备根据目标极化码的码长和该至少一个母码序列,对待译码序列进行译码,包括:接收设备根据目标极化码的信息比特个数k和该至少一个母码序列,或目标极化码的固定比特个数f和该至少一个母码序列,确定信息比特序号集合;接收设备根据信息比特序号集合,对待译码序列进行译码。

在一种可能的实现方式中,接收设备根据目标极化码的信息比特个数k和该至少一个母码序列,确定信息比特序号集合,包括:接收设备根据所述信息比特个数k,从该至少一个母码序列中的最大母码序列中,按照可靠度从大到小的顺序选取非打孔且小于或等于n的序号作为目标极化码的母码序列;接收设备根据目标极化码的母码序列,确定信息比特序号集合;接收设备根据信息比特序号集合,对待译码序列进行译码,其中,n为目标极化码的母码码长。

在一种可能的实现方式中,发送设备根据目标极化码的固定比特个数f,从最大母码序列中选取固定比特序号集合,包括:

发送设备按照可靠度从小到大的顺序,从最大母码序列中依次选取非打孔且小于或等于n的f个序号作为固定比特序号集合,其中,n为目标极化码的母码码长。

在一种可能的实现方式中,接收设备根据目标极化码的母码序列,确定信息比特序号集合,包括:在k=m1的情况下,接收设备按照可靠度从大到小的顺序,从目标极化码的母码序列中选取前m1个非打孔序号作为信息比特序号集合,其中,m1为目标极化码的母码序列中可靠度从小到大的前至少一个子序列或子集合中序号的个数,m1≥1,且m1为整数。

在一种可能的实现方式中,接收设备根据目标极化码的母码序列,确定信息比特序号集合,包括:在m1<k≤m2的情况下,接收设备按照可靠度从大到小的顺序,从目标极化码的母码序列中选取前m1个非打孔序号作为第一序号集合,其中,m1为目标极化码的母码序列中可靠度从大到小的前至少一个子序列或子集合中序号的个数,m2>m1,且m1和m2为正整数;接收设备从与该m1个非打孔序号所在的子序列或子集合相邻的子序列或子集合的非打孔序号中,按照可靠度从大到小的顺序选取(k-m1)个序号作为第二序号集合;接收设备将第一序号集合和第二序号集合中的序号确定为信息比特序号集合。

在一种可能的实现方式中,与该m1个非打孔序号所在的子序列或子集合相邻为第三子集合,以及,接收设备从与该m1个非打孔序号所在的子序列或子集合相邻的子序列或子集合的非打孔序号中,按照可靠度从大到小的顺序选取(k-m1)个序号作为第二序号集合,包括:接收设备通过在线计算或读表的方式,从第三子集合中的非打孔序号中,按照可靠度从大到小的顺序选取(k-m1)个序号作为第二序号集合;接收设备将第一序号集合和第二序号集合确定为信息比特序号集合。

在一种可能的实现方式中,与该m1个非打孔序号所在的子序列或子集合相邻的为第二子序列,以及,接收设备从与该m1个非打孔序号所在的子序列或子集合相邻的子序列或子集合的非打孔序号中,按照可靠度从大到小的顺序选取(k-m1)个序号作为第二序号集合,包括:接收设备从第二子序列中的非打孔序号中,按照可靠度从大到小的顺序选取(k-m1)个序号作为第二序号集合。

在一种可能的实现方式中,接收设备还预存储有第一排序表,第一排序表中记录有第三子集合中非打孔序号的可靠性的排序,以及,接收设备通过在线计算或读表的方式,从第三子集合中的非打孔序号中,按照可靠度从大到小的顺序选取(k-m1)个序号作为第二序号集合,包括:接收设备从第一排序表中,按照可靠度从大到小的顺序选取(k-m1)个非打孔序号作为第二序号集合。

在一种可能的实现方式中,接收设备根据目标极化码的固定比特个数f和该至少一个母码序列,对待译码序列进行译码,包括:接收设备根据固定比特个数f,从该至少一个母码序列中的最大母码序列中,按照可靠度从小到大的顺序选取非打孔且小于或等于n的序号作为目标极化码的母码序列;接收设备根据目标极化码的母码序列,确定固定比特序号集合,其中,n为目标极化码的母码码长;发送设备将所述固定比特序号集合相对于目标极化码的母码序列中序号组成的集合的补集确定为信息比特序号集合。

在一种可能的实现方式中,接收设备根据目标极化码的固定比特个数f,从该至少一个母码序列中确定信息比特序号集合,包括:在f=m3的情况下,接收设备从目标极化码的母码序列中,按照可靠度从小到大的顺序选取前m3个非打孔序号作为固定比特序号集合,其中,m3为目标极化码的母码序列中可靠度从小到大的前至少一个子序列或子集合中序号的个数,m3≥1且为整数;接收设备将所述固定比特序号集合相对于目标极化码的母码序列中的序号组成的集合的补集确定为信息比特序号集合。

在一种可能的实现方式中,接收设备根据目标极化码的固定比特个数f,从该至少一个母码序列中确定信息比特序号集合,包括:在m3<f≤m4的情况下,接收设备按照可靠度从小到大的顺序,从目标极化码的母码序列中选取前m3个非打孔序号作为第三序号集合,其中,m3为目标极化码的母码序列中可靠度从小到大的前至少一个子序列或子集合中序号的个数,m4>m3,且m3和m4为正整数;接收设备从与该m3个非打孔序号所在的子序列或子集合相邻的子序列或子集合中,按照可靠度从小到大的顺序选取(f-m3)个序号作为第四序号集合;接收设备将所述第三序号集合和第四序号集合中的序号确定为固定比特序号集合;接收设备将所述固定比特序号集合相对于目标极化码的母码序列中的序号组成的集合的补集确定为信息比特序号集合。

在一种可能的实现方式中,与该m3个非打孔序号所在的子序列或子集合相邻的为第四子集合,以及,接收设备从与该m3个非打孔序号所在的子序列或子集合相邻的子序列或子集合中,按照可靠度从小到大的顺序选取(f-m3)个序号作为第四序号集合,包括:接收设备通过在线计算或读表的方式,从第四子集合中的非打孔序号中,按照可靠度的从大到小的顺序选取(f-m3)个序号作为第四序号集合。

在一种可能的实现方式中,接收设备还预存储有第二排序表,第二排序表中记录有第四子集合中非打孔序号的可靠性的排序,以及,接收设备通过读表的方式,从第四子集合中的非打孔序号中,按照可靠度的从大到小的顺序选取(f-m3)个序号作为第四序号集合,包括:接收设备从第二排序表中,按照可靠度的从大到小的顺序选取(f-m3)个非打孔序号作为第四序号集合。

第三方面,本申请提供一种发送设备,用于执行第一方面或第一方面的任意可能的实现方式中的方法。具体地,该发送设备包括执行第一方面或第一方面的任意可能的实现方式中的方法的单元。

第四方面,本申请提供了一种接收设备,用于执行第二方面或第二方面的任意可能的实现方式中的方法。具体地,该接收设备包括执行第二方面或第二方面的任意可能的实现方式中的方法的单元。

第五方面,本申请提供一种发送设备,该发送设备包括一个或多个处理器,一个或多个存储器,一个或多个收发器(每个收发器包括发射机和接收机)。发射机或接收机与一个或多个天线连接,并通过天线收发信号。存储器用于存储计算机程序指令(或者说,代码)。处理器用于执行存储器中存储的指令,当指令被执行时,处理器执行第一方面或第一方面的任意可能的实现方式中的方法。

可选地,存储器可以是独立的,也可以跟处理器集成在一起。当处理器由硬件实现时,例如,可以是逻辑电路或者集成电路,通过接口与其他硬件相连,此时可以不需要存储器。

第六方面,本申请提供一种接收设备,该接收设备包括一个或多个处理器,一个或多个存储器,一个或多个收发器(每个收发器包括发射机和接收机)。发射机或接收机与一个或多个天线连接,并通过天线收发信号。存储器用于存储计算机程序指令(或者说,代码)。处理器用于执行存储器中存储的指令,当指令被执行时,处理器执行第二方面或第二方面的任意可能的实现方式中的方法。

可选地,存储器可以是独立的,也可以跟处理器集成在一起。当处理器由硬件实现时,例如,可以是逻辑电路或者集成电路,通过接口与其他硬件相连,此时可以不需要存储器。

第七方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面的任意可能的实现方式中的方法。

第八方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面的任意可能的实现方式中的方法。

本申请实施例提供的技术方案,通过提供一种由序列和集合交叉组成的极化码的母码序列,使得采用这种形式的母码序列进行极化码编码和译码的过程中,可以采用半计算半存储的方式选取信息位(即,确定信息比特序号集合),极化码序列的构造更加灵活。另外,对于现有技术中在中短数据包传输、可靠性、复杂度和码率等方面存在的不足也有所改善。

附图说明

图1为本申请提供的极化码编码和译码的方法的示意性交互图

图2为本申请提供的母码序列的结构示意图。

图3为本申请实施例提供的发送设备的示意性框图。

图4为本申请实施例提供的接收设备的示意性框图。

图5为本申请实施例提供的发送设备的示意性结构图。

图6为本申请实施例提供的接收设备的示意性结构图。

具体实施方式

下面将结合附图,对本申请中的技术方案进行描述。

首先,对本申请涉及的极化(polar)码的相关技术作简单介绍。

polar码是一种线性块码。其生成矩阵为fn,其编码过程为其中,是一个二进制的行矢量,长度为n,且n=2n,n为正整数。定义为log2n个矩阵f2的克罗内克(kronecker)乘积。以上各式中涉及的加法、乘法操作均为二进制伽罗华域上的加法、乘法操作。

在polar码的编码过程中,中的一部分比特用来携带信息,称为信息比特。信息比特的索引的集合记作a。中的另外一部分比特置为接收端和发送端预先约定的固定值,称为固定比特。固定比特的索引的集合用a的补集ac表示。polar码的构造过程主要在于集合a的选取过程,它决定了polar码的性能。

鉴于未来的通信系统(例如,5g)将会出现几种典型的同通信场景,例如,embb、mmtc和urllc等对数据传输的可靠性、时延、编译码复杂度和灵活性等方面提出的更高要求,本申请实施例基于极化码的基础,提出一种极化码编码和译码的方法,能够改善现有技术中极化码在码率、可靠度、时延、灵活性和复杂度等方面存在的不足。

下面对本申请实施例提供的极化码编码和译码的方法进行详细说明。

本申请实施例中出现的编号“第一”、“第二”等仅仅为了区分不同的对象,例如,为了区分不同的子序列、子集合等。不应对本申请实施例的保护范围构成限定。

图1为本申请提供的极化码编码和译码的方法100的示意性交互图。参见图1,方法100主要包括步骤110-150。

110、发送设备和接收设备预存储至少一个母码序列。

其中,每个母码序列由至少一个子序列和至少一个子集合组成,每个子序列或子集合中的元素为极化信道的序号,每个子序列或子集合中包括至少一个序号,每个子序列中序号的相对位置是按照极化信道的可靠度的大小顺序排列的。

计算极化信道的可靠性时,可以采用现有技术中的密度进化、高斯近似或线性拟合等方法。具体计算过程可以与现有技术相同,为了简洁,此处不作赘述。

另外,可以选用错误概率、信道容量或极化权重等参数作为衡量极化信道可靠性的参数,或者,也可以选用能够衡量极化信道的其他参数,本发明实施例对此不作特别限定。

在本申请实施例中,发送设备和接收设备存储的母码序列是由子序列和子集合交叉排序组成的一个有序序列。其中,母码序列中任意两个相邻的可以是子序列和子序列,也可以是子序列和子集合,还可以是子集合和子集合。

为了便于理解,这里给出一个码长为32的母码序列作为示例。例如,母码序列为[0,1,2,4,8],{16,3},[5,6,9,10],{17,12},{18,20,7,24,11,13},{19,14},[21,22,25,26],{28,15},[23,27,29,30,31]。

在这个母码序列中,子序列和子集合交叉排列。每个子序列或子集合中序号的个数可以为任意多个(至少一个)。

例如,如果是按照极化信道的可靠度从大到小排序,排序靠前的子序列或子集合中的序号对应极化信道的可靠度,高于排序靠后的子序列或子集合中的序号对应的极化信道的可靠度。

又例如,如果是按照极化信道的可靠度从小到大排序,排序靠前的子序列或子集合中的序号对应的极化信道的可靠度,低于排序靠后的子序列或子集合中的序号对应的极化信道的可靠度。

需要说明的是,子序列中包括的所有序号是按照这些序号对应的极化信道的可靠度的大小顺序排列的。即是说,子序列中的序号是具有先后顺序的。如上文所述,如果母码序列中的序号按照极化信道的可靠度从大到小排序的,母码序列中的任意一个子序列中的序号也是按照这些序号对应的极化信道的可靠度从大到小排序的。则子序列中靠前的序号对应的极化信道的可靠度高于子序列中靠后的序号对应的极化信道的可靠度。

在本申请实施例中,子集合中的序号不具有先后排序关系。换句话说,一个子集合中的所有序号对应的极化信道的可靠度是没有大小之分的。

另外,本申请实施例中所说的一个子序列(记作子序列#a)的可靠度高于另一个子序列(记作子序列#b)的可靠度,是指子序列#a中任意一个序号对应的极化信道的可靠度,都高于子序列#b中的任意一个序号对应的极化信道的可靠度。一个子序列的可靠度与一个子集合的可靠度的高低比较,或者一个子集合的可靠度与另一个子集合的可靠度的高低比较也是类似的道理。

可选地,作为一个实施例,该至少一个子序列和至少一个子集合的相对位置是根据极化信道的可靠度的大小顺序排列的,

其中,在该至少一个子序列中的第一子序列的可靠度大于相邻的第一子集合的可靠度的情况下,第一子序列中任意一个序号对应的极化信道的可靠度大于第一子集合中任意一个序号对应的极化信道的可靠度;或者,

在该至少一个子集合中的第一子集合的可靠度大于相邻的第二子集合的可靠度的情况下,第一子集合中任意一个序号对应的极化信道的可靠度大于第二子集合中的任意一个序号对应的极化信道的可靠度;或者

在该至少一个子集合中的第一子集合的可靠度大于该至少一个子序列中的第一子序列的可靠度的情况下,第一子集合中任意一个序号对应的极化信道的可靠度大于第一子序列中任意一个序号对应的极化信道的可靠度。

图2为本申请提供的母码序列的结构示意图。参见图2,母码序列由(i1、i2、…,ii、ii+1,…,in)组成,i表示一个子序列或子集合。若母码序列中的序号按照极化信道的可靠度从小到大排序,则若满足j>i,ij中任意一个序号对应的极化信道的可靠度大于ii中任意一个序号对应的极化信道的可靠度。

以母码序列中任意两个相邻的子序列或子集合(例如,图2中所示的ii和ii+1)为例,ii和ii+1包括如下几种可能的情况。

情况1

ii为子序列,ii+1为子集合。

在情况1中,ii为子序列,ii中序号的相对位置是按照可靠度的大小顺序排列的。ii+1为子集合,ii+1中的序号对应的极化信道在可靠度上没有相对大小(或者说,高低)的区分。但是,由于整个母码序列是按照可靠度从小到大排序的,而ii位于ii+1之前,因此,ii中任意一个序号对应的极化信道的可靠度大于ii中任意一个序号对应的极化信道的可靠度。

情况2

ii为子集合,ii+1为子集合。

在情况2中,ii和ii+1均为子集合,因此,ii和ii+1各自内部的序号对应的极化信道没有可靠度的大小之分。但是,由于ii位于ii+1之前,因此,ii中任意一个序号对应的极化信道的可靠度低于ii+1中任意一个序号对应的可靠度的大小。

情况3

ii为子集合,ii+1为子序列。

与前面的2中情况类似,这里的ii为子集合,其内部的各序号对应的极化信道的可靠度没有大小之分,但是ii位于ii+1之前,因此,ii中任意一个序号对应的极化信道的可靠度小于ii+1中可靠度最低的极化信道。

在本申请实施例中,一个母码序列中同时包括子序列和子集合。其中,子序列的个数与子集合的个数没有任何限定,两者可以相等,也可以不等。并且,每个子序列中可以包括任意多个(至少一个)序号,每个子集合中也可以包括任意多个(至少一个)序号。

需要说明的是,本申请实施例提供的母码序列,对于不同长度的polar码,不同的算法,或者相同算法的不同参数可能得到子集合中序号的不同排序。但是,即使采用不同的算法,或者采用相同算法的不同参数,子序列中序号的排序是始终保持不变的。

120、发送设备根据目标极化码的码长,从该至少一个母码序列中确定信息比特序号集合。

根据前文对polar码的介绍可以知道,在polar码编码过程中,最主要的是信息位的选取,也就是信息比特序号集合的确定。下面,针对本申请实施例提供的母码序列的特点,说明信息比特序号集合的选取过程。

可选地,作为一个实施例,发送设备根据目标极化码的码长,从该至少一个母码序列中确定信息比特序号集合,包括:

发送设备根据目标极化码的信息比特个数k,或目标极化码的固定比特个数f,从该至少一个母码序列中确定信息比特序号集合。

在polar码编码的过程中,一个polar码包括如下部分:信息比特、固定比特(或称为冻结比特)和被打孔的比特。以polar码的母码码长为n为例,则n=k+f+p。其中,k为信息比特的个数,f为固定比特的个数,p为速率匹配过程中可能被打孔的比特的个数。

在本申请实施例中,信息比特个数k指的是非固定比特的个数。在存在校验比特的情况下,本文中的k也包括了校验比特。

可选地,作为一个实施例,发送设备根据目标极化码的码长,从该至少一个母码序列中确定信息比特序号集合,包括:

发送设备根据目标极化码的信息比特个数k,或目标极化码的固定比特个数f,从该至少一个母码序列中确定信息比特序号集合。

在本申请实施例中,信息比特序号集合的选取,可以根据目标极化码的信息比特个数k,或者目标极化码的固定比特个数来确定。

需要说明的是,本申请实施例中所示的母码序列中的任意一个序号,均是在polar码编码过程中不会被打孔的序号。

(1)根据信息比特个数k,确定信息比特序号集合。

具体地,根据发送设备和接收设备预存储的母码序列的不同情况,发送设备在确定信息比特序号集合也相应有所不同。

情况1

发送设备和接收设备预存储有最大母码序列。

应理解,这里所说的最大母码序列是指发送设备和接收设备构成通信系统所能支持的最大码长的母码序列。以下将最大母码序列的码长记作l。例如,l=32、128、1024等。

为了便于说明,以下的各实施例中以l=32作为示例,对本申请提供的极化码编码和极化码译码的详细过程进行说明。

可选地,作为一个实施例,发送设备根据目标极化码的信息比特个数k,从该至少一个母码序列中确定信息比特序号集合,包括:

发送设备根据信息比特个数k,从该至少一个母码序列中的最大母码序列中,按照可靠度从大到小的顺序选取非打孔且小于或等于n的序号作为目标极化码的母码序列;

发送设备根据目标极化码的母码序列,确定信息比特序号集合,其中,n为目标极化码的母码码长。

应理解,若母码序列中极化信道对应的各序号是从1开始标号,则应选取小于或等于n的序号。若母码序列中极化信道对应的各序号从0开始标号,则应选取小于n的序号。

为了便于说明,以l=32为例,按照极化信道的可靠度从小到大排序,假定最大母码序列为:

[0,1,2,4,8],{16,3},[5,6,9,10],{17,12},{18,20,7,24,11,13},{19,14},[21,22,25,26],{28,15},[23,27,29,30,31]。

这里,符号[]表示集合,{}表示序列。

若目标极化码的母码码长为n=16,信息比特个数k=7。

则先从最大母码序列中按照可靠度从大到小的顺序,选取非打孔且小于或等于n的序号,得到该n=16的目标极化码的母码序列,即为{15},{14},{7,11,13},{12},[5,6,9,10],{3},[0,1,2,4,8]。再从这些非打孔且小于或等于n的序号中,选取信息比特序号集合。例如,如果按照可靠性从大到小的顺序选取,选取的7个序号后得到的序列应该为{15},{14},{7,11,13},{12},[5]。即,信息比特序号集合={15,14,13,11,7,12,10}。

当然,序号13,11和7位于最大母码序列的同一个子集合中,因此,这3个序号对应的极化信道的可靠度是没有大小排序的。另外,最后一个序号10是从最大母码序列的子序列[5,6,9,10]中选取的,同样地,由于该子序列中的序号5,6,9,10各自对应的极化信道的可靠度也是没有大小排序的,因此,在前面的示例中,选取了序号10。显然,最后一个序号也可以选取5、6和9中的任意一个。这样的话,选取的n=16,信息比特个数k=7的目标极化码的信息比特序号集合也可以为{15,14,13,11,7,12,5}、{15,14,13,11,7,12,6}或{15,14,13,11,7,12,9}。至于如何从一个子集合中选取部分可靠度较高的序号,可以采用在线计算或读表的方式,下文会作详细说明。

可以理解的是,在选取极化码的母码序列的过程中,如果出现了序号个数为1的子集合,且这个子集合的前一个为子序列,则可以将这个子集合中的序号归入到这前一个子序列中。或者,如果序号个数为1的子集合的后一个后子序列,也可以将该子集合中的这个序号归入到这后一个序列中。当然,如果这个子集合的前一个和后一个均为子序列的话,这个子集合和前后的子序列可以合并为一个序列。

例如,从上述母码序列中选取的目标极化码的母码序列为{15},{14},{7,11,13},{12},[5],其中,{12}的后一个为子序列[5],由于两个子序列中的序号之间的可靠度大小的排序是确定的,因此可以将子序列{12}和[5]合并为一个序列。因此,这几个子序列或子集合也可以表示为{15},{14},{7,11,13},[12,5]。类似地,如果两个相邻的子集合中各有一个序号,由于两个子集合的排序对应着不同的可靠度,因此,这两个子集合也可以合并成为一个序列。例如,在这个示例中,{15},{14}可以合并为一个子序列[15,14],这样,上面这个目标极化码的母码序列也可以进一步表示为[15,14],{7,11,13},[12,5]。

在另一种可能的实现方式中,发送设备根据信息比特个数k,从最大母码序列中选取信息比特序号集合时,可以直接从最大母码序列中选取序号小于目标极化码的母码长度的k个序号,这k个序号构成的集合即为信息比特序号集合。

以上述n=32的母码序列为最大母码序列为例。假定目标极化码的母码长度为16,信息比特个数为7。则,发送设备可以按照可靠度从大到小的顺序,从最大母码序列中直接选择7个序号即可。而不用先从最大母码序列中选取目标极化码的母码序列,再按照可靠度从大到小的顺序,从目标极化码的母码序列中选择7个序号作为信息比特序号集合。

例如,发送设备按照可靠度从大到小的顺序,直接从码长为32的最大母码序列中选择7个小于16的序号,依次为15,14,13,11,7,12,10。即信息比特序号集合为{15,14,13,11,7,12,10}。

上面主要介绍了如何从一个最大母码序列中,选取目标极化码的母码序列。确定了目标极化码的母码序列后,可以进一步从该目标极化码的母码序列中选取信息比特序号集合,下面对如何从目标极化码的母码序列中选取信息比特序号集合作说明。

情况2

发送设备和接收设备预存储有多个母码序列,而不预存最大母码序列。

可选地,作为一个实施例,发送设备根据目标极化码的信息比特个数k,从该至少一个母码序列中确定信息比特序号集合,包括:

在k=m1的情况下,发送设备按照可靠度从大到小的顺序,从目标极化码的母码序列中选取前m1个非打孔序号作为所述信息比特序号集合,其中,m1为目标极化码的母码序列中可靠度从大到小的前至少一个子序列或子集合中序号的个数,m1≥1,且m1为整数。

继续以上述码长为32的母码序列为例。这里,我们假定目标极化码的码长n=32,其母码序列为[0,1,2,4,8],{16,3},[5,6,9,10],{17,12},{18,20,7,24,11,13},{19,14},[21,22,25,26],{28,15},[23,27,29,30,31]。

这里,将n=32的极化码的母码序列的子序列或子集合,按照可靠度从小到大的顺序,将每个子序列或子集合中的序号的个数记作p1,p2,…,pi。在上面的这种示例中,i=9,其中,p1=5,p2=2,p3=4等。

如果目标极化码的码长n=32,k=7。即,k=p9+p8。换句话说,信息比特的个数k恰好等于目标极化码的母码序列中,按照可靠度从大到小的顺序排列的若干个子序列或子集合中序号的个数之和。这里,m1=p9+p8。换句话说,按照可靠度从大到小的顺序,母码序列中排序靠前的若干个子序列或子集合中所有序号的个数加在一起,恰好等于k。当然,这里所说的若干个,可以是任意多个,例如,1个、2个或n(n<n且为整数)个。

在这种情况下,发送设备可以直接将这若干个子序列或子集合中的序号作为信息比特序号集合。则,n=32,k=7的情况下,发送设备确定的信息比特序号集合为{i9,i8}={28,15,23,27,29,30,31}。

可选地,作为一个实施例,所述发送设备根据所述目标极化码的信息比特个数k,从所述至少一个母码序列中确定所述信息比特序号集合,包括:

在m1<k≤m2的情况下,发送设备按照可靠度从大到小的顺序,从目标极化码的母码序列中选取前m1个非打孔序号作为第一序号集合,其中,m1为目标极化码的母码序列中可靠度从大到小的前至少一个子序列或子集合中序号的个数,m2>m1,且m1和m2为正整数;

发送设备从与该m1个非打孔序号所在的子序列或子集合相邻的子序列或子集合的非打孔序号中,按照可靠度从大到小的顺序选取(k-m1)个序号作为第二序号集合;

发送设备将第一序号集合和第二序号集合中的序号确定为信息比特序号集合。

这种情况即是说,按照可靠度从大到小的顺序,母码序列中的前w个子序列或子集合中序号的个数加在一起比k小,但是,前w+1个子序列或子集合中的序号个数加在一起比k大。在这种情况下,先将母码序列中这前w个子序列或子集合中序号确定为第一序号集合。再从第w+1个子序列或子集合中,按照可靠度从大到小的顺序选取(k-m1)个序号作为第二序号集合。最后,将第一序号集合和第二序号集合合并,得到的集合即为信息比特序号集合。

继续以上述码长为32的母码序列作为示例进行说明。

如果目标极化码的母码码长n=32,k=9。在这种情况下,p9+p8<k<p9+p8+p7。换句话说,信息比特的个数k不是母码序列中若干个子序列或子集合中序号的个数之和。

这种情况下,发送设备先选取p9和p8对应的子序列或子集合i9、i8中的所有序号作为第一序号集合,则第一序号集合为{23,27,29,30,31,28,15}。再从与i9、i8中可靠度最低的一个子序列或子集合相邻的子序列或子集合中选取可靠度最高的(k-p9-p8)个序号作为第二序号集合。在上述示例中,i9、i8中可靠度最低的为i8,与i8相邻的为i7。则,发送设备需要从i7中选取(k-p9-p8)个序号作为第二序号集合。

可选地,作为一个实施例,与该m1个非打孔序号所在的子序列或子集合相邻的为第二子序列,

以及,发送设备从与该m1个非打孔序号所在的子序列或子集合相邻的子序列或子集合中的非打孔序号中,按照可靠度从大到小的顺序,选取(k-m1)个序号作为第二序号集合,包括:

发送设备从第二子序列中的非打孔序号中,按照可靠度从大到小的顺序选取(k-m1)个序号作为第二序号集合。

具体地,如果i7为一个子序列,则直接选取可靠度最高的(k-p9-p8)个序号作为第二序号集合。例如,上述n=32的母码序列中,i7为子序列,则从i7中直接选取可靠度最高的(9-5-2)个序号作为第二序号集合,则第二序号集合为{25,26}。

可选地,作为一个实施例,与该m1个非打孔序号所在的子序列或子集合相邻为第三子集合,

以及,发送设备从与该m1个非打孔序号所在的子序列或子集合相邻的子序列或子集合中的非打孔序号中,按照可靠度从大到小的顺序选取(k-m1)个序号作为第二序号集合,包括:

发送设备通过在线计算或读表的方式,从第三子集合中的非打孔序号中,按照可靠度从大到小的顺序选取(k-m1)个序号作为所述第二序号集合。

具体地,如果上述的i7为一个子集合,则发送设备需要通过在线计算或读表的方式,从i7中选取可靠度最高的(9-5-2)个序号作为第二序号集合。

进一步可选地,作为一个实施例,发送设备还预存储有第一排序表,第一排序表中记录有第三子集合中非打孔序号的可靠性的排序,

以及,发送设备通过读表的方式,按照可靠度从大到小的顺序,从第三子集合中选取(k-m1)个非打孔序号作为第二序号集合,包括:

发送设备从所述第一排序表中,按照可靠度从大到小的顺序选取(k-m1)个非打孔序号作为所述第二序号集合。

具体地,若采用在线计算的方式从子集合中选取可靠性较高的部分序号,发送设备可以利用构造算法来选取。发送设备采用的构造算法可以是与信道无关的,也可以是与码率或码长相关的,此处不做限定。当然,也可以采用现有技术中在线计算的方法。例如,可以采用现有技术中的高斯近似算法和极化权重构造算法。

若采用读表的方式从一个子集合中选取可靠性较高的部分序号,发送设备可以进一步将该子集合中可能的排序情况进行存表。例如,按照不同的码长,对应地存储该子集合中序号的不同排序。在进行极化编码时,再根据实际的码长选择对应的排序。或者,根据其他的因素(例如,不同算法下的排序)进行存表,本申请实施例对此不作任何限定。

以上述n=32的母码序列为例,可以将该母码序列中所有的子集合中的所有序号采用存表的方式,将这些子集合中的序号的相对位置的排序进行存储。

确定第二序号集合之后,将第一序号集合和第二序号集合合并得到信息比特序号集合。即,信息比特序号集合为{23,27,29,30,31,28,15}+{25,26}={15,23,25,26,28,27,29,30,31}

下面说明如何根据目标极化码的固定比特个数f,从目标极化码的母码序列中选取信息比特序号集合。

(2)根据固定比特个数f,确定信息比特序号集合。

根据固定比特个数f确定信息比特序号集合,与根据信息比特个数k确定信息比特序号集合的过程是类似的。下面作简单说明。

首先针对前面所述的情况1,即,发送设备和接收设备预存储最大母码序列的情况下,如何根据f选取信息比特序号集合。

可选地,作为一个实施例,发送设备根据目标极化码的固定比特个数f,从该至少一个母码序列中确定信息比特序号集合,包括:

发送设备根据固定比特个数f,从该至少一个母码序列中的最大母码序列中,按照可靠度从小到大的顺序选取非打孔且小于或等于n的序号作为目标极化码的母码序列;

发送设备根据目标极化码的母码序列,确定固定比特序号集合,其中,n为所述目标极化码的母码码长;

发送设备将所述固定比特序号集合相对于目标极化码的母码序列中的序号组成的集合的补集确定为信息比特序号集合。

可以理解的是,在发送设备和接收设备存储有最大母码序列的情况下,发送设备先按照可靠度从小到大的顺序,从最大母码序列中选取非打孔且序号小于或等于n的序号作为目标极化码的母码序列。再从目标极化码的母码序列中确定固定比特序号集合。最后,将固定比特序号集合相对于极化码的母码序列中的序号组成的集合的补集确定为信息比特序号集合。

下面举例说明。

继续以最大母码序列的码长l=32作为示例。假定最大母码序列为:

[0,1,2,4,8],{16,3},[5,6,9,10],{17,12},{18,20,7,24,11,13},{19,14},[21,22,25,26],{28,15},[23,27,29,30,31]。

如果,目标极化码的母码码长n=16,固定比特个数f=7。

则先从最大母码序列中选取非打孔却小于或等于n的序号,按照可靠度从小到大排序,得到的目标极化码的母码序列,即为[0,1,2,4,8],{3},[5,6,9,10],{12},{7,11,13},{14},{15}。之后,再按照可靠度从小到大的顺序,从该母码序列中选取7个序号,得到固定比特集合(记作集合c),即集合c={[0,1,2,4,8],{3},[5,6]}={0,1,2,4,8,3,5,6}。这里将目标极化码的母码序列中所有序号构成的集合记作集合d,集合d={0,1,2,4,8,3,5,6,9,10,12,7,11,13}。最后,将集合c相对于集合d的补集确定为信息比特序号集合。则信息比特序号集合={5,6,9,10,12,7,11,13,14,15}。

在另一种可能的实现方式中,发送设备根据固定比特个数f,从最大母码序列中选取固定比特序号集合时,可以按照可靠度从小到大的顺序,直接从最大母码序列中选取序号小于目标极化码的母码长度的f个序号,这f个序号构成的集合即为固定比特序号集合。而不需要先从最大母码序列中选取目标极化码的母码序列,再按照可靠度从小到小大的顺序,从目标极化码的母码序列中选择f个序号作为固定比特序号集合。

例如,发送设备按照可靠度从小到大的顺序,直接从码长为32的最大母码序列中选择7个小于16的序号,依次为0,1,2,4,8,3,5。即固定比特序号集合为{0,1,2,4,8,3,5}。

下面再针对前面所述的情况2,即,发送设备和接收设备预存储有多个母码序列,而不存储最大母码序列的情况下,如何根据f选取信息比特序号集合。

可选地,作为一个实施例,所述发送设备根据所述目标极化码的固定比特个数f,从所述至少一个母码序列中确定所述信息比特序号集合,包括:

在f=m3的情况下,发送设备从目标极化码的母码序列中,按照可靠度从小到大的顺序选取前m3个非打孔序号作为固定比特序号集合,其中,m3为目标极化码的母码序列中可靠度从小到大的前至少一个子序列或子集合中序号的个数,m3≥1且为整数;

发送设备将固定比特序号集合相对于目标极化码的母码序列中的序号组成的集合的补集确定为信息比特序号集合。

实际上,根据目标极化码的固定比特个数f,从目标极化码的母码序列中选取信息比特序号集合,即是上述实施例中从最大母码序列中选取出目标极化码的母码序列之后,再从该母码序列中选取信息比特序号集合的过程。

以上述码长为32的母码序列作为示例进行说明。

这里按照极化信道的可靠度从小到大的顺序,将目标极化码的母码序列中包括的子序列或子集合中序号的个数依次记作p1,p2,…pn。

即,若f=m3=p1+p2+…+pi(i=1,2,…n),则可以判定固定比特集合为{i1,i2,…ii}。固定比特集合相对于母码序列中所有序号构成的集合的补集即为信息比特序号集合。

例如,n=32,f=13。则固定比特集合(记作集合c)为c={[0,1,2,4,8],{16,3},[5,6,9,10],{17,12}}相对于母码序列的补集即为信息比特序号集合。则信息比特序号集合为{7,11,13,14,15,18,19,20,21,22,23,24,25,26,27,28,29,30,31}。

可选地,作为一个实施例,发送设备根据目标极化码的固定比特个数f,从至少一个母码序列中确定信息比特序号集合,包括:

在m3<f≤m4的情况下,发送设备按照可靠度从小到大的顺序,从目标极化码的母码序列中选取前m3个非打孔序号作为第三序号集合,其中,m3为目标极化码的母码序列中可靠度从小到大的前至少一个子序列或子集合中序号的个数,m4>m3,且m3和m4为正整数;

发送设备从与该m3个非打孔序号所在的子序列或子集合相邻的子序列或子集合中,按照可靠度从小到大的顺序选取(f-m3)个序号作为第四序号集合;

发送设备将第三序号集合和第四序号集合中的序号确定为固定比特序号集合;

发送设备将固定比特序号集合相对于目标极化码的母码序列中的序号组成的集合的补集确定为信息比特序号集合。

即,若m3<f<m4,并且,m3=p1+p2+…pi,m4=p1+p2+…pi+pi+1。

具体地,根据pi+1对应的ii+1为子序列或子集合,发送设备可以有不同的选取方法。

如果ii+1为子序列,发送设备可以从i1、i2…,ii中选取所有的非打孔的序号,再从ii+1中选取可靠度最低的(f-p1-p2-…pi=f-m3)个非打孔的序号,将这些序号合并作为固定比特序号集合。最后,将固定比特序号集合相对于母码序列中所有序号构成的集合的补集确定为信息比特序号集合。

如果ii+1为子集合,发送设备可以先从i1、i2…,ii中选取所有的非打孔的序号,这个过程与ii+1为子序列是一样的。不同的是,在从子集合ii+1中选取(f-m3)非打孔的序号时,由于子集合ii+1中的序号对应的极化信道的可靠度没有大小排序,因此,发送设备需要通过在线计算或读表的方式,从子集合ii+1中选取(f-m3)非打孔的序号。最后,将选取的(f-m3)个非打孔的序号与从i1、i2…,ii中选取所有的非打孔的序号构成固定比特序号集合。

可选地,作为一个实施例,与该m3个非打孔序号所在的子序列或子集合相邻的为第四子集合,

以及,发送设备从与所述m3个非打孔序号所在的子序列或子集合相邻的子序列或子集合中,按照可靠度从小到大的顺序选取(f-m3)个序号作为第四序号集合,包括:

发送设备通过在线计算或读表的方式,从第四子集合中的非打孔序号中,按照可靠度的从大到小的顺序选取(f-m3)个序号作为所述第四序号集合。

这里采用在线计算或读表的方式,可以参考前文根据信息比特个数k确定信息比特序号集合中所作的说明,这里不再赘述。

可选地,作为一个实施例,发送设备还预存储有第二排序表,第二排序表中记录有第四子集合中非打孔序号的可靠性的排序,

以及,发送设备通过读表的方式,从第四子集合中的非打孔序号中,按照可靠度的从小到大的顺序选取(f-m3)个序号作为所述第四序号集合,包括:

发送设备从所述第二排序表中,按照可靠度的从小到大的顺序选取(f-m3)个非打孔序号作为第四序号集合。

130、发送设备根据信息比特序号集合对信息比特进行极化编码。

步骤130中,发送设备根据选取的信息比特序号集合,对信息比特进行极化编码,得到编码后的序列。步骤130可以与现有技术相同,这里不作限定。

应理解,这里的信息比特即是发送设备要发送给接收设设备的待编码比特。编码后的序列也就是对待编码比特进行极化编码后得到的码字。

后续,发送设备将编码后的序列发送给接收设备。相对应地,接收设备执行步骤140-150。

140、接收设备获取待译码序列。

150、接收设备根据目标极化码的码长和该至少一个母码序列,对待译码序列进行译码。

应理解,发送设备对信息比特进行极化编码,得到编码后的序列。该编码后的序列经发送设备发送,被接收设备接收到的序列,即为待译码序列。

步骤150中,接收设备对待译码序列正确译码后,得到信息比特。

可以理解的是,发送设备和接收设备都预存了相同的母码序列的信息。并且,发送设备和接收设备对于每种码长的polar码采用哪种母码序列以及编码参数都是预先约定的。因此,接收设备获取到待译码序列(或者说,待译码的码字)后,通过循环冗余校验(cyclicalredundancycheck,crc)校验,可以正确译码出发送设备发送给自己的信息比特。

接收设备对获取到的待译码序列进行译码的过程,实际上正好是发送设备根据信息比特序号集合对信息比特进行极化编码的逆过程。由于固定比特是发送设备和接收设备预先约定的,即是已知的,因此,接收设备对待译码序列进行译码的过程,关键是确定出信息比特序号集合。

可选地,作为一个实施例,接收设备根据目标极化码的码长和该至少一个母码序列,对待译码序列进行译码,包括:接收设备根据目标极化码的信息比特个数k和所述至少一个母码序列,或目标极化码的固定比特个数f和该至少一个母码序列,确定信息比特序号集合;接收设备根据信息比特序号集合,对待译码序列进行译码。

(1)接收设备根据信息比特个数k,确定信息比特序号集合。

可选地,作为一个实施例,所述接收设备根据所述目标极化码的母码序列,确定信息比特序号集合,包括:

在k=m1的情况下,接收设备按照可靠度从大到小的顺序,从目标极化码的母码序列中选取前m1个非打孔序号作为所述信息比特序号集合,其中,m1为目标极化码的母码序列中可靠度从小到大的前至少一个子序列或子集合中序号的个数,m1≥1,且m1为整数。

可选地,作为一个实施例,所述接收设备根据所述目标极化码的母码序列,确定信息比特序号集合,包括:

在m1<k≤m2的情况下,接收设备按照可靠度从大到小的顺序,从目标极化码的母码序列中选取前m1个非打孔序号作为第一序号集合,其中,m1为目标极化码的母码序列中可靠度从大到小的前至少一个子序列或子集合中序号的个数,m2>m1,且m1和m2为正整数;

接收设备从与该m1个非打孔序号所在的子序列或子集合相邻的子序列或子集合的非打孔序号中,按照可靠度从大到小的顺序选取(k-m1)个序号作为第二序号集合;

接收设备将第一序号集合和第二序号集合中的序号确定为信息比特序号集合。

可选地,作为一个实施例,与该m1个非打孔序号所在的子序列或子集合相邻为第三子集合,

以及,接收设备从与该m1个非打孔序号所在的子序列或子集合相邻的子序列或子集合的非打孔序号中,按照可靠度从大到小的顺序选取(k-m1)个序号作为第二序号集合,包括:

接收设备通过在线计算或读表的方式,从第三子集合中的非打孔序号中,按照可靠度从大到小的顺序选取(k-m1)个序号作为第二序号集合;

接收设备将第一序号集合和第二序号集合确定为信息比特序号集合。

可选地,作为一个实施例,与该m1个非打孔序号所在的子序列或子集合相邻的为第二子序列,

以及,接收设备从与该m1个非打孔序号所在的子序列或子集合相邻的子序列或子集合的非打孔序号中,按照可靠度从大到小的顺序选取(k-m1)个序号作为第二序号集合,包括:

接收设备从第二子序列中的非打孔序号中,按照可靠度从大到小的顺序选取(k-m1)个序号作为第二序号集合。

可选地,作为一个实施例,接收设备还预存储有第一排序表,第一排序表中记录有第三子集合中非打孔序号的可靠性的排序,

以及,接收设备通过在线计算或读表的方式,从第三子集合中的非打孔序号中,按照可靠度从大到小的顺序选取(k-m1)个序号作为所述第二序号集合,包括:

接收设备从第一排序表中,按照可靠度从大到小的顺序选取(k-m1)个非打孔序号作为第二序号集合。

具体地,以上实施例中,接收设备从预存储的至少一个母码序列中,根据信息比特个数k确定信息比特序号集合的过程,与上文发送设备根据信息比特个数k确定信息比特序号集合的过程相同。因此,可以参考上文的说明,这里不再赘述。

(2)接收设备根据固定比特个数f,确定信息比特序号集合。

可选地,作为一个实施例,接收设备根据目标极化码的固定比特个数f,从至少一个母码序列中确定信息比特序号集合,包括:

在f=m3的情况下,接收设备从目标极化码的母码序列中,按照可靠度从小到大的顺序选取前m3个非打孔序号作为固定比特序号集合,其中,m3为目标极化码的母码序列中可靠度从小到大的前至少一个子序列或子集合中序号的个数,m3≥1且为整数;

接收设备将固定比特序号集合相对于目标极化码的母码序列中的序号组成的集合的补集确定为信息比特序号集合。

可选地,作为一个实施例,接收设备根据目标极化码的固定比特个数f,从至少一个母码序列中确定信息比特序号集合,包括:

在m3<f≤m4的情况下,接收设备按照可靠度从小到大的顺序,从目标极化码的母码序列中选取前m3个非打孔序号作为第三序号集合,其中,m3为目标极化码的母码序列中可靠度从小到大的前至少一个子序列或子集合中序号的个数,m4>m3,且m3和m4为正整数;

接收设备从与该m3个非打孔序号所在的子序列或子集合相邻的子序列或子集合中,按照可靠度从小到大的顺序选取(f-m3)个序号作为第四序号集合;

接收设备将第三序号集合和第四序号集合中的序号确定为固定比特序号集合;

接收设备将固定比特序号集合相对于目标极化码的母码序列中的序号组成的集合的补集确定为信息比特序号集合。

可选地,作为一个实施例,与该m3个非打孔序号所在的子序列或子集合相邻的为第四子集合,

以及,接收设备从与该m3个非打孔序号所在的子序列或子集合相邻的子序列或子集合中,按照可靠度从小到大的顺序选取(f-m3)个序号作为第四序号集合,包括:

接收设备通过在线计算或读表的方式,从第四子集合中的非打孔序号中,按照可靠度的从大到小的顺序选取(f-m3)个序号作为第四序号集合。

可选地,作为一个实施例,接收设备还预存储有第二排序表,第二排序表中记录有第四子集合中非打孔序号的可靠性的排序,

以及,接收设备通过读表的方式,从第四子集合中的非打孔序号中,按照可靠度的从小到大的顺序选取(f-m3)个序号作为第四序号集合,包括:

接收设备从第二排序表中,按照可靠度的从小到大的顺序选取(f-m3)个非打孔序号作为第四序号集合。

同样地,接收设备从预存储的至少一个母码序列中,根据固定比特个数f确定信息比特序号集合的过程,与上文发送设备根据固定比特个数f确定信息比特序号集合的过程相同。因此,以上实施例的详细过程可以参考上文发送设备根据固定比特个数f,从预存储的至少一个母码序列中确定信息比特序号集合的说明,这里不再赘述。

下面为本申请实施例提供一种母码序列的示例,码长=1024。该母码序列如下所示:

[0,1,2,4,8,16,3,32,5,6,9,64,10,17,12,18,128,33,20,34,7,24,36,65,11,256,66,40,13,19,68,14,129,48,21,72,130,35,22],{25,512},[132],{37,80},[26],{38,257,67,136},[41,28,258,96,69,42],{15,144,49,260},[70,44,73,131,50],{23,264,74,160,513},[133,52,81],{27,76,514,134,39,272,82},[137,56],{29,516,259,192},[97,138,84,43],{30,145,288,98,261,71,520,140,45,88},[146],{51,262},[100],{46,265,75,161,528,148,53,320},[266,104],{77,162,515,135,54,273,83,152,57,268,78,544,164,517},[274,193,112,139,85,58],{31,518,384,289},[194],{99,276,168,86,521},[141],{60,89,147},[290],{576,263,196,101,522,142,47,280,90,176,529,149,292,102,321,524,267,200,105,92,163,530,150,55,322,153,296,106,269,79,640,545,165,532,275,208,113,154,324,59,270,108,546,166,519,385,304,195,114,277,169,87,536,156,61,328,548,386,291,224,577},[278,197],{170,116,523,143,62,281,91,177,768,578,388,293,198,103,552,336,172,525},[282,201,120],{93,178,531,151},[294],{580,323,526,392,297,202,107,284,94,641,560,180,533,209,352,155,325,298,584,271,204,109,642,547,167,534,400,305,210,115,184,326,537,157,300,110,329,644,549,387,306,225,592,279,212,171,117,538,158,63,330,550,416,769,226,579,389,308,199,648,118,553,337,173,540,283,216,121,332,179,770,608,390,295,228,581,554,338,174,527,393,312,203,122,285,95,656,561,181,772,582,448,353},[556,394,340],{299,232,585,286,205,124,643,562,182,535,401,211,354,185,327,776,586,396,301,206,111,672,344,645,564,402,307,240,593,213,186,356,539,159,302,588,331,646,551,417,784,227,594,404,309,214,649,119,568,188,541,217,360,333,418,771,704,609,391,310,229,650,596},[555],{339,175,542,408,313,218,123,334,657,800,610,420,773,230,583,449,368,652,557,395,341,314,233,600,287,220,125,658,563,183,774,612,450,355,558,424,342,777,234,587,397,316,207,126,673,345,660,565,403,241,832,452,187,357,778,616,398,303,236,589,674,346,647,566,432,785,242,595,405,215,664,358,569,189,780,590,456,361,676,348,419,786,705,624,406,311,244,651,597,570,190,543,409,219,362,335,896,801,706,611,421,788,231,680,598,464,369,653},[572,410],{315,248,601,221,364,659,802,422,775,708},[613,451],{370,654,559,425,343,792,235,602,412,317,222,127,688,661,804,614,480,833,453,426,372,779,712,617,399,318,237,604,675,347,662,567,433,243,834,454,665,359,808,618,428,781,238,591,457,376,677,349,434,787,720,625,407,245,666,836,571,191,782,620,458,363,678,350,897,816,707,626,436,789,246,681,599,465,668,573,411,249,840,460,365,898,803,736,423,790,709,682,628,466,371,655,574,440,793,250,603,413,223,366,689,900,805,710,615,481,848,684},[468],{427,373,794,713,632,414,319,252,605,690,663,806,482,835,455,904,374,809,714,619,429,796,239,606,472,377,692,435,721,864,484,667,837,810,430,783,716,621,459,378,679,351,912,817,722,627,437,247,696,838,669,812,622,488,841,461,380,899,818,737,438,791,724},[683,629,467],{670,575,441,251,842,462,367,928,738,901,820,711,630,496,849,685,469,442,795,728,633,415,253,844,691,902,807,740,483,850,686,470,905,375,824,715,634,444,797,254,607,473,693,960,865,485,906,852,811,744,431,798,717,636,474,379,694,913,723,866,486,697,839,908,813,718,623,489,856,476,381,914,819,752,439,725,698,868,671,814,490,843,463,382,929,739,916,821,726,631,497,700,443},[729],{872,492,845,930},[903,822,741],{498,851,687,471,920,825,730,635,445,255,846,932,742,961,880,500,907,853},[826,745],{446,799,732,637,475,695,962,867,487,936,854,746,909,828,719,638,504,857,477,915,753,964,699,869,910,815,748,491,858,478,383,944,754,917,727,870,701,968,873,493,860,931,918,823,756,499,702,921,731,874,494,847,933,743,976,881,501,922,827,760,447},[733],{876,934,963},[882],{502,937,855,747,924},[829],{734,639,505,992},[965,938,884,911,830,749],{506,859,479,945,755,966,871,940,750,969,888,508,861,946},[919,757],{703,970,875,495,862,948,758,977},[923],{761,972},[877],{935,978,883,503,952,762,925,735,878,993},[980,939,885,926],{831,764,507,994},[967,886],{941,751,984,889,509,947,996},[942,971,890],{510,863,949,759,1000},[973,892,950,979,953],{763,974,879,1008},[981,954,927,765,995,982],{887,956,766,985},[997],{943,986},[891],{511,998},[1001,988,893,951,1002,975,894,1009,955,1004,1010,983,957,767,1012,958,987,999,1016,989,1003,990,895,1005,1011,1006,1013,959,1014,1017,1018,991,1020,1007,1015,1019,1021,1022,1023]。

如上面的母码序列所示,母码序列中的{}代表一个子集合,[]代表一个子序列。关于该母码序列的详细说明,可以参见前文。

本申请实施例提供的技术方案,通过提供一种由序列和集合交叉组成的极化码的母码序列,使得采用这种形式的母码序列进行极化码编码和译码的过程中,可以采用半计算半存储的方式选取信息位(即,确定信息比特序号集合),极化码序列的构造更加灵活。另外,对于现有技术中在中短数据包传输、可靠性、复杂度和码率等方面存在的不足也有所改善。

以上结合图1和图2,对本申请实施例提供的极化码编码和译码的方法作了详细说明。下面结合图3至图6,对本申请实施例提供的发送设备和接收设备进行说明。

图3为本申请实施例提供的发送设备500的示意性框图。参见图3,发送设备500包括:

存储单元510,用于预存储至少一个母码序列,每个母码序列由至少一个子序列和至少一个子集合组成,每个子序列或子集合中的元素为极化信道的序号,每个子序列或子集合中包括至少一个序号,每个子序列中序号的相对位置是按照极化信道的可靠度的大小顺序排列的;

处理单元520,用于根据目标极化码的码长,从所述至少一个母码序列中确定信息比特序号集合;

处理单元520,还用于根据所述信息比特序号集合对信息比特进行极化编码。

本申请实施例提供的发送设备500中的各单元和上述其它操作或功能分别为了实现本申请实施例提供的极化码编码和译码的方法100中由发送设备执行的相应流程。为了简洁,此处不再赘述。

可选地,发送设备还可以包括发送单元530,用于向接收设备发送编码后的序列。

图4为本申请实施例提供的接收设备600的示意性框图。参见图4,接收设备600包括:

存储单元610,用于预存储至少一个母码序列,每个母码序列由至少一个子序列和至少一个子集合组成,每个子序列或子集合中的元素为极化信道的序号,每个子序列或子集合中包括至少一个序号,每个子序列中序号的相对位置是按照极化信道的可靠度的大小顺序排列的;

接收单元620,用于获取待译码序列;

处理单元630,用于根据目标极化码的码长和所述至少一个母码序列,对待译码序列进行译码。

本申请实施例提供的接收设备600中的各单元和上述其它操作或功能分别为了实现本申请实施例提供的极化码编码和译码的方法100中由接收设备执行的相应流程。为了简洁,此处不再赘述。

图5为本申请实施例提供的发送设备700的示意性结构图。如图5所示,发送设备700包括:一个或多个处理器701,一个或多个存储器702,一个或多个收发器(每个收发器包括发射机703和接收机704)。发射机703或接收机704与一个或多个天线705连接,并通过天线收发信号。存储器702中存储计算机程序指令(或者说,代码)。处理器701执行存储在存储器702中的计算机程序指令,以实现本申请实施例提供的极化码编码和译码的方法100中由发送设备执行的相应流程和/或操作。为了简洁,此处不再赘述。

需要说明的是,图3中所示的发送设备500可以通过图5中所示的发送设备700来实现。例如,图3中所示的存储单元510可以由存储器702实现,处理单元520可以由处理器701实现。发送单元可以由发射机703实现。

可选地,存储器702可以是独立的,也可以跟处理器701集成在一起。当处理器701由硬件实现时,例如,可以是逻辑电路或者集成电路,通过接口与其他硬件相连,此时可以不需要存储器702。

图6为本申请实施例提供的接收设备800的示意性结构图。如图6所示,接收设备800包括:一个或多个处理器801,一个或多个存储器802,一个或多个收发器(每个收发器包括发射机803和接收机804)。发射机803或接收机804与一个或多个天线805连接,并通过天线收发信号。存储器802中存储计算机程序指令(或者说,代码)。处理器801执行存储在存储器802中的计算机程序指令,以实现本申请实施例提供的极化码编码和译码的方法100中由接收设备执行的相应流程和/或操作。为了简洁,此处不再赘述。

可选地,存储器802可以是独立的,也可以跟处理器801集成在一起。当处理器801由硬件实现时,例如,可以是逻辑电路或者集成电路,通过接口与其他硬件相连,此时可以不需要存储器802。

类似地,图4中所示的接收设备600可以通过图6中所示的接收设备800来实现。例如,图4中所示的存储单元610可以由存储器802实现,接收单元620可以由图6中所示的接收机804实现。处理单元630可以由处理器801实现。

以上实施例中,处理器可以为中央处理器(centralprocessingunit,cpu)、微处理器、特定应用集成电路(application-specificintegratedcircuit,asic),或一个或多个用于控制本申请方案程序执行的集成电路等。例如,处理器可以包括数字信号处理器设备、微处理器设备、模数转换器、数模转换器等等。处理器可以根据这些设备各自的功能而在这些设备之间分配移动设备的控制和信号处理的功能。此外,处理器可以包括操作一个或多个软件程序的功能,软件程序可以存储在存储器中。

存储器可以是只读存储器(read-onlymemory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(randomaccessmemory,ram)或者可存储信息和指令的其他类型的动态存储设备。也可以是电可擦可编程只读存储器(electricallyerasableprogrammablereadonlymemory,eeprom)、只读光盘(compactdiscreadonlymemory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,或者,也可以和处理器集成在一起。

收发器可以包括例如,红外收发机、使用收发机、无线通用串行总线(universalserialbus,usb)收发机、蓝牙收发机等。尽管并未示出,发送设备和接收设备能够使用相应的通信技术通过发射机发送信号(或数据),和/或通过接收机来接收信号(数据)。

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

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

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

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

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

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

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

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