一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种生成码字的方法及编解码器与流程

2021-10-24 05:48:00 来源:中国专利 TAG:速率 匹配 编码 分块 极化


1.本发明属于通信技术领域,涉及差错控制编码和编码速率匹配,更具体地涉及一种基于补零及分块的极化码速率匹配方法。


背景技术:

2.在通信系统中,发送器将信息通过信道发送到接收器中,而信道中的干扰可能将错误引入信息之中。差错控制编码通过添加冗余比特,以实现检测和/或纠正错误的功能。这些增加的冗余增加了信道中的噪声将一些错误引入码字时,在接收器处正确解码的概率。
3.ankan在2009年正式提出了一种可以达到任意二元输入离散无记忆信道(binary

input discreet memoryless channel,b

dmc)对称容量的编码,并将其命名为极化码(polar code)。但在当时连续消除(successive cancellation,sc)译码的极化码性能不如ldpc码和turbo码。在之后提出的sc列表(scl)译码方法的支持下,极化码在短码上的性能成功超过ldpc码,成为5g nr控制信道的编码,并被广泛地应用于各种通信系统中。
4.极化码编解码的思路与以往所有的信道编解码都不相同。具体而言,极化码是建立在信道极化(channel polarizaiton)的概念之上的:两个相互独立且相同的信道在经过信道极化操作之后可以转变为两种可靠性不同的分裂信道,在这两类信道的基础上再递归地进行极化变换,所得到的分裂信道之间的差异会进一步加大,即可靠性高的信道会变得更好,可靠性低的信道则变得更差。当码长趋近于无穷大时,所有分裂信道将分化为两个极端,即完全无噪声的(信道容量为1)信道以及充满噪声(信道容量为0)的信道。因此只需将消息比特放在信道容量为1的分裂信道上进行传输(称为信息比特),而在信道容量为0的分裂信道上放置预先设定的值(如全零比特,称为冻结比特)即可完成消息比特的可靠传输。具体可参考附图1所示,为长度为8的极化码的结构示意图。
5.除了编码和译码,极化码与传统代数编码和概率编码的另一区别在于其独特的构造方式。为了选出可以承载信息比特的分裂信道,首先要确定极化变换后每个分裂信道的可靠性。对于码长为n=2
i
的极化码,在获取了所有分裂信道的可靠性度量之后,其任意码率r的编码只需通过排序算法选出最可靠的k=n*r个位置来构成消息集合就可以完成对极化码的构造。而由于极化码的特性,码长较长的极化码兼容码长较小的极化码,且其编译码模块可以复用。若按照5g nr中的速率匹配方式,即采用固定码长的母码通过实时在线计算的方式通过重复、打孔、缩短等方法进行速率匹配,其计算复杂度高,不符合低功耗的要求。
6.鉴于此,对于待编码比特少于目标码率可编码比特的极化码采用降低码率减小码长的方法进行速率匹配可以保证性能的同时实现复杂度以及传输时延的降低。


技术实现要素:

7.本发明的目的旨在提供对于固定码长的极化码编码,编码器输入的信息比特颗粒度较大,当输入的信息比特较短时,传输效率较低,引发不必要的传输时延,因此需要进行
速率匹配的技术实现方案。
8.依据上述目的,本发明提供一种采用了一种基于补零及分块的速率匹配方法,即一种码字生成方法及编码器、解码器:
9.一种生成码字的方法,其至少包括:
10.确定目标码率;
11.根据默认码长及目标码率对待传输码字进行分段;
12.根据分段后剩余码字的待编码比特数确定使用的传输码率,若剩余待编码比特多于默认码长低级码率可传输长度,则在剩余待编码比特前补零并使用目标码率传输;若剩余待编码比特不多于默认码长低级码率可传输长度,则在剩余待编码比特前补零并确定使用低级码率传输。
13.所述的生成码字的方法,其所述当使用低级码率传输并补零时,若补零后待编码比特长度等于默认码长,则使用默认码长传输;若补零后待编码比特长度小于默认码长,则分块传输。
14.所述的生成码字的方法,其所述低级码率为比目标码率降低至少一个码率间隔的码率。
15.所述的生成码字的方法,其所述分块传输是将默认码长的码字二分为两个码长仅有一半的码字,并对其中一个继续二分,对生成码长最短的码字中的一个重复此步骤;重复一至数次后,在两个最短码长中选择一个删除,即可将默认码长分为数个长度不同的码字,且其长度之和小于默认码长。
16.所述的生成码字的方法,其所述补零为在剩余待编码比特少于任意可选取的码长码率组合方案的可编码比特数时,在剩余待编码比特前添加“0”比特,使总比特数等于可编码比特。
17.所述的生成码字的方法,其步骤包括,
18.步骤s1:根据信道条件选择对应的目标码率r1,速率匹配采用msc表格小于目标码率r1的低一级码率r2;对于码长为n
b
,n
b
≥64比特的极化码编码,其每个编码块在目标码率下传输n
b
*r1比特;
19.步骤s2:对于总长为n比特的待编码数据,从中选出个长为n
b
*r1比特的码块进行码率为r码长为n
b
的极化码编码,剩余比特的剩余待编码比特;
20.步骤s3:设n
s
为进行速率匹配的极化码最小码长:
21.若则对其进行补零;
22.若则在比特的剩余待编码比特前添加比特个“0”比特,直接采用码率为r1码长为n
b
的编码块进行编码;否则在比特的剩余待编码比特前添加比特个“0”比特;
23.步骤s4:补零后若步骤s4:补零后若则采用码率为r2码长为n
b
的数据包编码;否则计算的数据包编码;否则计算并转化为二进制其最低位到最高位分别对应是否需要码率为r2码长为n
s
至n
s
*2
i
‑1的编码块进行编码。
24.所述的生成码字的方法,其所述默认码长为1024码长。
25.所述的生成码字的方法,其所述速率匹配时目标码率及对应速率匹配编码长度对应的可传输字节数为:
[0026][0027]
一种编码器,其至少包括:
[0028]
分段确认模块:根据对预测的信道snr及存储的msc表格选择的目标码率及相应的调制方式,根据默认码长下目标码率可编码长度对的待编码比特进行分段;
[0029]
速率匹配模块:满足可编码长度的直接使用目标码率和默认码长编码,剩余待编码比特根据其长度分别采用补零并使用目标码率和默认码长编码、补零后采用低一级码率默认码长编码;或补零后采用低一级码率分块使用短码长编码;
[0030]
调制模块:最后获得极化码编码后的码块进行调制;并发送。
[0031]
所述的编码器,其所述不需要补零的剩余待编码比特补零数量设为0。
[0032]
一种解码器,其包括:
[0033]
解调模块:将接收到的序列解调,得到k个码块;
[0034]
极化码解码模块:分别进行按照发送时采取的处理进行对应的去零和极化码解码;
[0035]
拼接模块:全部码块正确解码后根据规则再次拼接出接收到的有效载荷。
[0036]
所述的解码器,还可选的包括crc校验模块,进行crc校验,若添加的crc校验位为0则无需crc校验,错误的码块根据机制进行重传。
[0037]
一种存储指令的计算机可读介质,所述指令在由一个或更多处理器执行时使所述一个或更多个处理器执行权利要求任意一项所述的方法。
[0038]
依据上述技术特征,本发明其特点在于复杂度低,不会降低传输可靠性,在一定情况下能够提高传输可靠性,能够降低传输时延,提高传输效率。
[0039]
本发明的其他优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。
附图说明
[0040]
图1是长度为8的极化码的结构的图示;
[0041]
图2是用于极化码的基于补零及分块的速率匹配系统流程示意图;
[0042]
图3是实施例1中速率匹配机制示意图(1/2码率为例);
[0043]
图4是实施例2中速率匹配机制示意图(3/4码率为例);
[0044]
图5是实施例2中速率匹配机制示意图(1/2码率为例);
[0045]
图6是实施例3中速率匹配机制示意图(7/8码率为例);
[0046]
图7是发送端编码器的结构示意图;
[0047]
图8是接收端解码器的结构示意图;
[0048]
图9制定此策略表格依据的频谱效率

snr曲线(bler=0.1,snr

频谱效率曲线)。
具体实施方式
[0049]
下面结合具体实施例对本发明进行详细说明。下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
[0050]
本实施例的具体技术方案为:本实施例提供了一种通过基于补零及分块的速率匹配方法,一种码字的生成方法,本发明通过速率匹配,使剩余待编码比特(包括有效载荷及可能的crc等校验比特)长度小于目标编码速率编码比特长度的序列,通过一个或者多个比目标编码速率低级(通常是低一级或低一阶)的编码速率进行编码。若剩余待编码比特仍少于可传输的信息比特时,在剩余待编码比特前补零,以实现速率匹配,补零方法在剩余待编码比特少于任意可选取的码长码率组合方案的可编码比特数时,在剩余待编码比特前添加“0”比特,使总比特树等于可编码比特。由于极化码的优良特性,采用此方法时,不会给编码模块和译码模块增加额外复杂度;不会降低传输的可靠性,在一些情况下能够提高传输的可靠性;能够降低传输时延,提高传输效率。前述的目标编码速率是指发送机根据对信道snr的估计,对比存储的默认码长极化码不同码率性能选择的最适合在当前信道下传输的码率;所述码率间隔:码率间隔是指调制编码策略(mcs)表格中,相邻码率之间的差值。一般mcs表格码率之间的间隔是相等的。低级码率通常是低一级码率是指mcs表格中小于目标码率的最大码率,一般等于目标码率减去码率间隔。
[0051]
对于固定1024码长的极化码编码,编码器输入的信息比特颗粒度较大,当输入的信息比特较短时,传输效率较低,引发不必要的传输时延,因此需要进行速率匹配。若按照5g nr中的速率匹配方式,即采用1024码长的母码通过实时在线计算的方式进行速率匹配,其计算复杂度高,不符合低功耗的要求。
[0052]
本实施例提供了一种通过基于补零及分块的速率匹配方法,一种码字的生成方法,具体包括如下步骤:
[0053]
步骤s1:对于码长为n
b
(n
b
=2
i
,i≥5)比特的极化码编码,其msc表格规定了可选的
全部目标码率及额外速率匹配码率(若码率与码长乘积不为整数,向下取整获得可编码信息比特能够实现同样的效果,为叙述简便下文默认码率与码长乘积为整数)。根据信道条件选择对应的目标码率r1,为保障传输可靠性,速率匹配需采用msc表格小于目标码率r1(0<r1<1)的低一级码率r2(0<r2<r1),以满足传输可靠性的要求。,其每个编码块在目标码率下能够传输n
b
*r1比特;
[0054]
步骤s2:对于总长为n比特的待编码数据,先从中选出个长为n
b
*r1比特的码块进行码率为r1码长为n
b
的极化码编码(若即不需要进行码率为r1码长为n
b
的极化码编码),剩余比特的剩余待编码比特;
[0055]
步骤s3:设n
s
(n
s
=2
j
,3≤j≤i

2)为进行速率匹配的极化码最小码长,。若则对其进行补零。若则对其进行补零。若则在比特的剩余待编码比特前添加比特的剩余待编码比特前添加比特个“0”比特,直接采用码率为r1码长为n
b
的编码块进行编码;否则在比特的剩余待编码比特前添加比特的剩余待编码比特前添加比特个“0”比特。
[0056]
步骤s4:补零后若步骤s4:补零后若则采用码率为r2码长为n
b
的数据包编码;否则计算的数据包编码;否则计算并转化为二进制。其最低位到最高位分别对应是否需要码率为r2码长为n
s
至n
s
*2
i
‑1的编码块进行编码。所述分块传输方法利用极化码码长为2的幂的特性,将将默认码长的极化码字二分为两个码长仅有一半的码字,并对其中一个继续二分,对生成码长最短的码中的一个重复此步骤;重复一至数次后,在两个最短码长中选择一个删除,即可将默认码长分为数个长度不同的极化码字,且其长度之和小于默认码长。即1024拆分512*2;其中1个512拆分为256*2;其中1个256拆分为128*2;其中1个128拆分为64*2;分块方案删去1个64,最大总长度960。
[0057]
所述mcs表格:调制编码策略(modulation

coding strategy,mcs)表格,是标准制定过程中根据传输效率及snr制定的调制方式和编码速率策略。一般标准中的mcs表格如下:
[0058][0059][0060]
实施例1:
[0061]
设置系统编码的极化码码长为1024比特,支持的传输码率(可选目标码率)为1/4、3/8、1/2、5/8、3/4、7/8,同时支持1/8码率进行速率匹配,其码率间隔为1/8,速率匹配最小码长为64比特。1024码长的极化码可以分裂为1个512,1个256,1个128,2个64码长的编码,因此,根据提高传输效率的目的,剩余待编码比特至多分裂为1个512,1个256,1个128,1个64共4个编码块。
[0062]
速率匹配的模式可通过以下方法选择:
[0063]
设目标码率为r,其低一级码率为剩余待编码比特为x(0<x≤1024*r)。
[0064]
若则直接在剩余待编码比特前补1024*r

x个“0”,采用码率r码长1024进行编码;
[0065]
若则在x个剩余待编码比特前补则在x个剩余待编码比特前补比特个“0”;
[0066]
若则采用码率为码率的1024码长极化码编码;
[0067]
若则可通过计算的值并转换为2进制,其从最高位到最低位分别对应是否采用512、256、128、64码长的编码,“1”为是,“0”为否。
[0068]
如图3中,共有1888待编码比特,传输目标码率为1/2。每个1024码长1/2码率的编码块可编码512个待编码比特,进行3个完整的1024码长1/2码率的编码后剩余待编码比特为352比特。由于系统支持的可选传输码率为1/4、3/8、1/2、5/8、3/4、7/8,可知1/2码率的低一级码率为3/8,则速率匹配中短码编码码率为3/8,512、256、128、64比特码长对应3/8码率的可编码长度分别为192、96、48、24比特。根据此实施例中(2)步骤,352待编码比特小于
需要在352个待编码比特前补个比特的“0”再分块传输。补零后的360比特可以分为192 96 48 48比特,可分别采用512、256、128、64比特码长、3/8码率的极化码进行编码,分为4个编码块进行传输。
[0069]
由于系统中剩余待编码比特一般以字节(byte)形式考虑,因此在后续均采用字节作为速率匹配及补零的最小单位。各目标码率对应的可传输字节数及对应速率匹配码率各码长可传输字节数如表1所示。
[0070]
表1.速率匹配时目标码率及对应速率匹配编码长度对应的可传输字节数
[0071][0072]
各目标码率的速率匹配表如下:
[0073]
表2. 1/4编码速率适配表
[0074]
[0075][0076]
表3. 3/8编码速率适配表
[0077]
[0078][0079]
表4. 1/2编码速率适配表
[0080]
[0081]
[0082][0083]
表5. 5/8编码速率适配表
[0084]
[0085]
[0086][0087]
表6. 3/4编码速率适配表
[0088]
[0089]
[0090][0091]
表7. 7/8编码速率适配表
[0092]
[0093]
[0094]
[0095][0096]
实施例2:
[0097]
本实施例提供了一种通过基于补零及分块的速率匹配方法,其特点在于复杂度低,不会降低传输可靠性,在一定情况下能够提高传输可靠性,能够降低传输时延,提高传输效率。。
[0098]
本实施例的具体技术方案为:
[0099]
设置系统编码的极化码码长为512比特,支持的传输码率(可选目标码率)为1/2、3/4,同时支持1/4码率进行速率匹配,其码率间隔为1/4,速率匹配最小码长为64比特。512码长的极化码可以分裂为1个256,1个128,2个64码长的编码,因此,根据提高传输效率的目的,剩余待编码比特至多分裂为1个256,1个128,1个64共3个编码块。
[0100]
速率匹配的模式可通过以下方法选择:
[0101]
设目标码率为r,其低一级码率为剩余待编码比特为x(0<x≤512*r)。
[0102]
(1)若则直接在剩余待编码比特前补512*r

x个“0”,采用码率r码长512进行编码;
[0103]
(2)若则在x个剩余待编码比特前补则在x个剩余待编码比特前补比特个“0”;
[0104]
(3)若则采用码率为码率的512码长极化码编码;
[0105]
(4)若则可通过计算的值并转换为2进制,其从最高位到最低位分别对应是否采用256、128、64码长的编码,“1”为是,“0”为否。
[0106]
如图4中,共有1000待编码比特,传输目标码率为3/4。每个512码长3/4码率的编码块可编码384个待编码比特,进行2个完整的512码长3/4码率的编码后剩余待编码比特为232比特。由于系统支持的可选传输码率为1/2、3/4,可知3/4码率的低一级码率为1/2,则速率匹配中短码编码码率为1/2,256、128、64比特码长对应1/2码率的可编码长度分别为128、64、32比特。根据此实施例中(2)步骤,232待编码比特小于需要在
232个待编码比特前补个比特的“0”再分块传输。补零后的256比特可以直接采用512码长、1/2码率的极化编码进行传输。
[0107]
如图5中,共有1128待编码比特,传输目标码率为1/2。每个512码长1/2码率的编码块可编码256个待编码比特,进行4个完整的512码长1/2码率的编码后剩余待编码比特为104比特。由于系统支持的可选传输码率为1/2、3/4,同时支持1/4码率进行速率匹配,可知1/2码率的低一级码率为1/4,则速率匹配中短码编码码率为1/4,256、128、64比特码长对应1/4码率的可编码长度分别为64、32、16比特。根据此实施例中(2)步骤,104待编码比特小于长度分别为64、32、16比特。根据此实施例中(2)步骤,104待编码比特小于需要在104个待编码比特前补个比特的“0”再分块传输。补零后的112比特可以分为64 32 16比特,可分别采用256、128、64比特码长、1/4码率的极化码进行编码,分为3个编码块进行传输。
[0108]
实施例3:
[0109]
本实施例提供了一种通过基于补零及分块的速率匹配方法,其特点在于复杂度低,不会降低传输可靠性,在一定情况下能够提高传输可靠性,能够降低传输时延,提高传输效率。
[0110]
本实施例的具体技术方案为:
[0111]
设置系统编码的极化码码长为2048比特,支持的传输码率(可选目标码率)为1/8、3/16、1/4、5/16、3/8、7/16、1/2、9/16、5/8、11/16、3/4、13/16、7/8,同时支持1/16码率进行速率匹配,其码率间隔为1/16,速率匹配最小码长为128比特。2048码长的极化码可以分裂为1个1024,1个512,1个256,2个128码长的编码,因此,根据提高传输效率的目的,剩余待编码比特至多分裂为1个1024,1个512,1个256,1个128共4个编码块。
[0112]
速率匹配的模式可通过以下方法选择:
[0113]
设目标码率为r,其低一级码率为剩余待编码比特为x(0<x≤2048*r)。
[0114]
(1)若则直接在剩余待编码比特前补2048*r

x个“0”,采用码率r码长2048进行编码;
[0115]
(2)若则在x个剩余待编码比特前补则在x个剩余待编码比特前补比特个“0”;
[0116]
(3)若则采用码率为码率的2048码长极化码编码;
[0117]
(4)若则可通过计算的值并转换为二进制,其从最高位到最低位分别对应是否采用1024、512、256、128码长的编码,“1”为是,“0”为否。
[0118]
如图6中,共有3336待编码比特,传输目标码率为7/8。每个2048码长7/8码率的编码块可编码1792个待编码比特,进行1个完整的2048码长7/8码率的编码后剩余待编码比特为1544比特。由于系统支持的可选传输码率为1/8、3/16、1/4、5/16、3/8、7/16、1/2、9/16、5/
8、11/16、3/4、13/16、7/8,可知7/8码率的低一级码率为13/16,则速率匹配中短码编码码率为13/16,1024、512、256、128比特码长对应13/16码率的可编码长度分别为832、416、208、104比特。根据此实施例中(2)步骤,1544待编码比特小于需要在1544个待编码比特前补个比特的“0”再分块传输。补零后的1560比特可以分为832 416 208 104比特,可分别采用1024、512、256、128比特码长、13/16码率的极化码进行编码,分为4个编码块进行传输。
[0119]
发送端(tx)将要发送的有效载荷n附加n
out
位crc校验(若不需要crc校验的添加的crc校验位n
out
为0)得到长度为n
b
的待编码比特。根据对预测的信道snr及存储的msc表格选择的目标码率及相应的调制方式,根据默认码长下目标码率可编码长度对的待编码比特进行分段;满足可编码长度的直接使用目标码率和默认码长编码,剩余待编码比特根据其长度分别采用补零并使用目标码率和默认码长编码、补零后采用低一级码率默认码长编码。或补零后采用低一级码率分块使用短码长编码(不需要补零的剩余待编码比特补零数量设为0)。最后获得k个极化码编码后的码块进行调制,并发送。
[0120]
接收端(rx)将接收到的序列解调,得到k个码块分别进行按照发送时采取的处理进行对应的去零和极化码解码,并进行crc校验(若添加的crc校验位n
out
为0则无需crc校验),错误的码块可以根据机制进行重传。全部码块正确解码后可以根据规则再次拼接出接收到的有效载荷。
[0121]
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜