CN108809485B - 一种编码的方法和装置 - Google Patents

一种编码的方法和装置 Download PDF

Info

Publication number
CN108809485B
CN108809485B CN201710301564.2A CN201710301564A CN108809485B CN 108809485 B CN108809485 B CN 108809485B CN 201710301564 A CN201710301564 A CN 201710301564A CN 108809485 B CN108809485 B CN 108809485B
Authority
CN
China
Prior art keywords
bits
state space
value
coded
bit
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
CN201710301564.2A
Other languages
English (en)
Other versions
CN108809485A (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 CN201710301564.2A priority Critical patent/CN108809485B/zh
Priority to EP18794539.9A priority patent/EP3614592A4/en
Priority to PCT/CN2018/085368 priority patent/WO2018202054A1/zh
Publication of CN108809485A publication Critical patent/CN108809485A/zh
Priority to US16/672,309 priority patent/US11075715B2/en
Application granted granted Critical
Publication of CN108809485B publication Critical patent/CN108809485B/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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0067Rate matching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0072Error control for data other than payload data, e.g. control data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0076Distributed coding, e.g. network coding, involving channel coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明实施例公开了一种编码方法,该方法包括:根据获取的所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,根据所述索引值和所述状态空间值进行运算,得到新的状态空间值,对获取的所述Z个待编码比特进行编码,从所述新的状态空间值中获取数值赋给辅助比特。

Description

一种编码的方法和装置
技术领域
本发明涉及通信技术领域,尤其涉及一种编码的方法和装置。
背景技术
极化码(Polar Codes)是2008年提出的一种新型的信道编码方式。极化码基于信道极化(Channel Polarization)进行设计,是第一种能够通过严格的数学方法证明达到信道容量的构造性编码方案,Polar码是一种线性块码。
但是采用何种编码方式,能使得解码端在对编码后的比特序列进行译码的过程中起到辅助译码的作用,现有技术中还没有解决方案。
发明内容
本发明实施例提供了一种编码的方法和装置,用于解决如何通过编码,以使得解码端在对编码后的比特序列进行译码的过程中能够辅助译码的问题。
第一方面,本发明实施例提供一种编码方法,所述方法包括:
S101:接收待编码的比特序列;
S102:将状态空间模块中的状态空间值进行初始化,并从所述待编码的比特序列中获取一组由Z个信息比特组成的Z个待编码比特;
S104:根据所述步骤S102中获取的所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,根据所述索引值和所述状态空间值进行运算,得到新的状态空间值,并将所述状态空间模块中的状态空间值更新为所述新的状态空间值;
S105:对所述步骤S102中获取的所述Z个待编码比特进行编码,在所述待编码的比特序列中有辅助比特位于所述Z个信息比特中的各个信息比特之间的情况下,以及,在所述待编码的比特序列中有辅助比特位于所述Z个信息比特与下一个信息比特之间的情况下,从所述新的状态空间值中获取数值赋给所述辅助比特;然后执行步骤S106;
S106:从所述待编码的比特序列中获取所述一组Z个待编码比特之后的下一组由Z个信息比特组成的Z个待编码比特,所述下一组Z个待编码比特与所述一组Z个待编码比特相邻,并将所述下一组Z个待编码比特作为所述步骤S104的输入,并执行所述步骤S104,及所述步骤S105,不断循环,直至所述下一组Z个待编码比特为所述待编码的比特序列中最后的待编码比特。
在上述编码方法的实施例中,通过在编码端进行辅助比特编码,使得解码端能够采用辅助比特对编码后的比特序列进行纠错、检错或者早停等辅助译码操作。并且由于每次针对Z个待编码比特进行编码,采用这种块处理的方式进行辅助比特编码,方便硬件实施,可以有效提升编码效率与吞吐量。
在第一方面的第一种可能的实现方式中,辅助比特是指在编码端动态生成的,并且在解码端用于辅助译码的比特,所述的辅助译码是指进行纠错、进行检错或帮助判断是否提前终止译码等。
结合第一方面或第一方面前述的各种可能的实现方式,在第二种可能的实现方式中,
在所述步骤S102中,所述获取的Z个待编码比特中Z个信息比特之间的前后次序与所述Z个信息比特在所述待编码的比特序列中的前后次序是一致的。
结合第一方面或第一方面前述的各种可能的实现方式,在第三种可能的实现方式中,在所述待编码的比特序列中有辅助比特位于所述Z个信息比特中的各个信息比特之间的情况下,以及,在所述待编码的比特序列中有辅助比特位于所述Z个信息比特与下一个信息比特之间的情况下,从所述新的状态空间值中获取数值赋给所述辅助比特,包括:分别从所述新的状态空间值中获取数值赋给位于所述Z个信息比特中的各个信息比特之间的辅助比特,以及位于所述Z个信息比特与下一个信息比特之间的辅助比特。赋给所述Z个信息比特中的各个信息比特之间的辅助比特的数值,以及赋给位于所述Z个信息比特与下一个信息比特之间的辅助比特的数值,可以从所述新的状态空间值中的同一位置获取,或者是从所述新的状态空间值中的不同的位置获取。
结合第一方面或第一方面前述的各种可能的实现方式,在第四种可能的实现方式中,在所述步骤S106中,所述下一组Z个待编码比特为所述待编码的比特序列中最后的待编码比特是指:所述待编码的比特序列最后还剩下小于或等于Z个信息比特,在所述待编码的比特序列最后还剩下的信息比特不够Z个的情况下,将不足的部分填充固定值0或1。
结合第一方面或第一方面前述的各种可能的实现方式,在第五种可能的实现方式中,在所述步骤S104之前还包括:
对所述待编码的比特序列中的所述Z个待编码比特的2z种排列组合进行预编码,将预编码后的结果作为索引值存储在所述索引模块中。所述预编码中所采用的编码方式与所述步骤S105中所述的编码中所采用的编码方式是一致的,所述预编码是所述步骤S105中所述的编码的预处理过程。
结合第一方面或第一方面前述的各种可能的实现方式,在第六种可能的实现方式中,在所述步骤S105中,对所述步骤S102中获取的所述Z个待编码比特进行编码的步骤中,所述的编码是指:检验编码方式的编码或信息摘要编码方式的编码或线性运算方式的编码。
结合第一方面或第一方面前述的各种可能的实现方式,在第七种可能的实现方式中,在所述步骤S104中,根据所述步骤S102中获取的所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,包括:
将所述状态空间值的低Z个比特位与所述步骤S102中获取的的所述Z个待编码比特中的值进行运算,得到索引ID,并通过该索引ID获得索引模块中存储的索引值。
结合第一方面或第一方面前述的各种可能的实现方式,在第八种可能的实现方式中,
在所述步骤S104中,根据所述索引值和所述状态空间值进行运算的操作,包括:
将所述索引值和所述状态空间值进行按位逻辑运算。
结合第一方面或第一方面前述的各种可能的实现方式,在第九种可能的实现方式中,将所述索引值和所述状态空间值进行按位逻辑运算具体可以包括:将所述索引值与所述状态空间值的低Z位进行按位逻辑运算。
结合第一方面或第一方面前述的各种可能的实现方式,在第十种可能的实现方式中,在所述步骤S104中,根据所述步骤S102中获取的所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,包括:
S1041:将所述状态空间值按照固定方向(例如:向左或向右)循环移Z个比特位,之后,将所述状态空间值的低Z个比特位与所述步骤S102中获取的所述Z个待编码比特中的值进行运算,得到索引ID,并通过该索引ID获得索引模块中存储的索引值;
相应地,在所述步骤S104中,根据所述索引值和所述状态空间值进行运算的操作,包括:
S1042:将所述索引值和所述状态空间值进行按位逻辑运算。例如:将所述状态空间值循环左移Z个比特位,之后,将所述索引值与状态空间值的低Z位进行按位逻辑运算。
结合第一方面或第一方面前述的各种可能的实现方式,在第十一种可能的实现方式中,所述状态空间模块具体可以为一个CRC寄存器组。在所述步骤S104中,根据所述步骤S102中获取的所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,还可以包括:
S1043:将CRC寄存器组高Z比特位与根据所述步骤S102中获取的所述Z个待编码比特中的值进行异或运算,得到索引ID,并通过该索引ID获得索引模块中对应的索引值。
相应地,在所述步骤S104中,根据所述索引值和所述状态空间值进行运算的操作,包括:
S1044:将CRC寄存器组中全部的比特位按照固定方向(例如:向左或向右)循环移Z个比特位,之后,将所述索引值与CRC寄存器组低Z位做异或运算,得到新的状态空间值。
相应地,在所述步骤S105中,从所述新的状态空间值中获取数值赋给所述辅助比特的处理中,所述辅助比特是指PC校验比特。
结合第一方面或第一方面前述的各种可能的实现方式,在第十二种可能的实现方式中,Z为大于0的偶数。
结合第一方面或第一方面前述的各种可能的实现方式,在第十三种可能的实现方式中,所述状态空间模块的形式具体可以为寄存器。
结合第一方面或第一方面前述的各种可能的实现方式,在第十四种可能的实现方式中,将状态空间模块中的状态空间值进行初始化的步骤中,所述状态空间模块中的值进行初始化后的值为:编码侧(或编码端)与译码侧(或译码端)之间约定的值。
结合第一方面或第一方面前述的各种可能的实现方式,在第十五种可能的实现方式中,所述状态空间模块由寄存器组实现,在将寄存器组的状态初始化为全1时,在步骤S105中的从所述新的状态空间值中获取数值赋给所述辅助比特的操作中,应将新的状态空间值取反后,再将所述新的状态空间值中的至少一个位置的数值赋给所述辅助比特。
结合第一方面或第一方面前述的各种可能的实现方式,在第十六种可能的实现方式中,在执行所述步骤S105的过程中,从所述新的状态空间值中获取数值赋给所述辅助比特的步骤可以包括:将所述新的状态空间值中的至少一个位置的数值赋给所述辅助比特。
结合第一方面或第一方面前述的各种可能的实现方式,在第十七种可能的实现方式中,多次针对不同的Z个待编码比特执行所述步骤S105的过程中,多次从所述新的状态空间值中获取数值赋给所述辅助比特的步骤可以包括:每次从状态空间模块的固定位置获取数值赋给所述辅助比特;或者采用轮回旋转的方式,按某一个固定方向,从某一位置开始,在状态空间模块中逐次更替位置选取数值赋给所述辅助比特;或者采用某种伪随机方式,从状态空间模块中选取数值赋给所述辅助比特;或者采用某种函数(例如状态空间模块的存储空间大小与辅助比特的序号之间关系的函数),在计算出的所述状态空间模块中的位置上选取数值赋给所述辅助比特。
结合第一方面或第一方面前述的各种可能的实现方式,在第十八种可能的实现方式中,在所述步骤S106之后还包括:
S3060:将所述待编码的比特序列中最后的待编码比特作为所述步骤S104的输入,并执行所述步骤S104,及所述步骤S105之后,得到的所述状态空间模块中的状态空间值作为CRC校验比特,并进行CRC编码。
并且,在所述步骤S105中,从所述新的状态空间值中获取数值赋给所述辅助比特的处理中,所述辅助比特可以是指PC校验比特。结合步骤S3060,这样,本申请的上述实施例可以实现系统对不同种类辅助比特的同时编码,减少硬件开销,提升编码效率。
结合第一方面或第一方面前述的各种可能的实现方式,在第十九种可能的实现方式中,在所述步骤S106之后还包括:
S307:对编码后的比特序列进行极化编码和速率匹配得到待发送的速率匹配后的序列。
S308:发送速率匹配后的序列。
结合第一方面或第一方面前述的各种可能的实现方式,在第二十种可能的实现方式中,可以在执行所述S3060之后执行上述的步骤S307和步骤S308。
第二方面,本发明实施例还提供一种编码方法,所述方法包括:
S201:接收待编码的比特序列;
S202:将状态空间模块中的状态空间值进行初始化,并从所述待编码的比特序列中获取一组由信息比特和辅助比特组成的Z个待编码比特,然后执行步骤S203;
S203:将所述Z个待编码比特中的辅助比特的位置置为固定值,然后执行步骤S204;
S204:根据执行步骤S203后输出的所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,根据所述索引值和所述状态空间值进行运算,得到新的状态空间值,并将所述状态空间模块中的状态空间值更新为所述新的状态空间值;
S205:对执行步骤S203后输出的所述Z个待编码比特进行编码,并从所述新的状态空间值中获取数值赋给所述Z个待编码比特中的所述辅助比特;然后执行步骤S206;
S206:从所述待编码的比特序列中获取所述一组Z个待编码比特之后的下一组由信息比特和辅助比特组成的Z个待编码比特,所述下一组Z个待编码比特与所述一组Z个待编码比特相邻,并将所述下一组Z个待编码比特作为所述步骤S203的输入,并执行所述步骤S203,所述步骤S204,及所述步骤S205,不断循环,直至所述下一组Z个待编码比特为所述待编码的比特序列中最后的待编码比特。
在上述的编码方法的实施例中,通过在编码端进行辅助比特编码,使得解码端能够采用辅助比特对编码后的比特序列进行纠错、检错或者早停等辅助译码操作。并且由于每次针对Z个待编码比特进行编码,采用这种块处理的方式进行辅助比特编码,方便硬件实施,可以有效提升编码效率与吞吐量。
在第二方面的第一种可能的实现方式中,辅助比特是指在编码端动态生成的,并且在解码端用于辅助译码的比特,所述的辅助译码是指进行纠错、进行检错或帮助判断是否提前终止译码等。
结合第二方面或第二方面前述的各种可能的实现方式,在第二种可能的实现方式中,在所述步骤S202中,所述获取的Z个待编码比特中信息比特和辅助比特之间的前后次序与所述信息比特和所述辅助比特在所述待编码的比特序列中的前后次序是一致的。
结合第二方面或第二方面前述的各种可能的实现方式,在第三种可能的实现方式中,在所述步骤S206中,所述下一组Z个待编码比特为所述待编码的比特序列中最后的待编码比特是指:
所述待编码的比特序列最后还剩下的比特中的信息比特和辅助比特的总数等于Z个或不足Z个,在所述待编码的比特序列最后还剩下的比特中的信息比特和辅助比特的总数不足Z个的情况下,将不足的部分填充固定值0或1。
结合第二方面或第二方面前述的各种可能的实现方式,在第四种可能的实现方式中,在所述步骤204之前还包括:
对所述待编码的比特序列中的所述Z个待编码比特的2z种排列组合进行预编码,将预编码后的结果作为索引值存储在所述索引模块中。所述预编码中所采用的编码方式与所述步骤S205中所述的编码中所采用的编码方式是一致的,所述预编码是所述步骤S205中所述的编码的预处理过程。
结合第二方面或第二方面前述的各种可能的实现方式,在第五种可能的实现方式中,在所述步骤S205中,对执行步骤S203后输出的所述Z个待编码比特进行编码的步骤中,所述的编码是指:检验编码方式的编码或信息摘要编码方式的编码或线性运算方式的编码。
结合第二方面或第二方面前述的各种可能的实现方式,在第六种可能的实现方式中,在所述步骤S204中,根据执行步骤S203后输出的所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,包括:
将所述状态空间值的低Z个比特位与所述执行步骤S203后输出的所述Z个待编码比特中的值进行运算,得到索引ID,并通过该索引ID获得索引模块中存储的索引值。
结合第二方面或第二方面前述的各种可能的实现方式,在第七种可能的实现方式中,在所述步骤S204中,根据所述索引值和所述状态空间值进行运算的操作,包括:
将所述索引值和所述状态空间值进行按位逻辑运算。
结合第二方面或第二方面前述的各种可能的实现方式,在第八种可能的实现方式中,
将所述索引值和所述状态空间值进行按位逻辑运算具体可以是:将所述索引值与所述状态空间值的低Z位进行按位逻辑运算。
结合第二方面或第二方面前述的各种可能的实现方式,在第九种可能的实现方式中,在所述步骤S204中,根据执行步骤S203后输出的所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,包括:
S2041:将所述状态空间值按照固定方向(例如:向左或向右)循环移Z个比特位,之后,将所述状态空间值的低Z个比特位与所述执行步骤S203后输出的所述Z个待编码比特中的值进行运算,得到索引ID,并通过该索引ID获得索引模块中存储的索引值;
相应地,在所述步骤S204中,根据所述索引值和所述状态空间值进行运算的操作,包括:
S2042:将所述索引值和所述状态空间值进行按位逻辑运算。例如:将所述索引值与状态空间值的低Z位进行按位逻辑运算。
结合第二方面或第二方面前述的各种可能的实现方式,在第十种可能的实现方式中,所述状态空间模块具体可以为一个CRC寄存器组。在所述步骤S204中,根据执行步骤S203后输出的所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,还可以包括:
S2043:将CRC寄存器组高Z比特位与所述执行步骤S203后输出的所述Z个待编码比特中的值进行异或运算,得到索引ID,并通过该索引ID获得索引模块中对应的索引值。
相应地,在所述步骤S204中,根据所述索引值和所述状态空间值进行运算的操作,包括:
S2044:将CRC寄存器组中全部的比特位按照固定方向(例如:向左或向右)循环移Z个比特位,之后,将所述索引值与CRC寄存器组低Z位做异或运算,得到新的状态空间值。
相应地,在所述步骤S205中,从所述新的状态空间值中获取数值赋给所述辅助比特的处理中,所述辅助比特是指PC校验比特。
结合第二方面或第二方面前述的各种可能的实现方式,在第十一种可能的实现方式中,在所述步骤S203中,将所述辅助比特的位置置为编码端(或编码侧)和译码端(或译码侧)约定的值即可,可以为0,也可以为1。
结合第二方面或第二方面前述的各种可能的实现方式,在第十二种可能的实现方式中,Z为大于0的偶数。
结合第二方面或第二方面前述的各种可能的实现方式,在第十三种可能的实现方式中,所述状态空间模块的形式具体可以为寄存器。
结合第二方面或第二方面前述的各种可能的实现方式,在第十四种可能的实现方式中,将状态空间模块中的状态空间值进行初始化的步骤中,所述状态空间模块中的值进行初始化后的值为:编码侧(或编码端)与译码侧(或译码端)之间约定的值。
结合第二方面或第二方面前述的各种可能的实现方式,在第十五种可能的实现方式中,所述状态空间模块可以由寄存器组实现,在将寄存器组的状态初始化为全1时,在步骤S205中的从所述新的状态空间值中获取数值赋给所述辅助比特的操作中,应将新的状态空间值取反后,再将所述新的状态空间值中的至少一个位置的数值赋给所述辅助比特。
结合第二方面或第二方面前述的各种可能的实现方式,在第十六种可能的实现方式中,在执行所述步骤S205的过程中,从所述新的状态空间值中获取数值赋给所述辅助比特的步骤可以包括:将所述新的状态空间值中的至少一个位置的数值赋给所述辅助比特。
结合第二方面或第二方面前述的各种可能的实现方式,在第十七种可能的实现方式中,多次针对不同的Z个待编码比特执行所述步骤S205的过程中,多次从所述新的状态空间值中获取数值赋给所述辅助比特的步骤可以包括:每次从状态空间模块的固定位置获取数值赋给所述辅助比特;或者采用轮回旋转的方式,按某一个固定方向,从某一位置开始,在状态空间模块中逐次更替位置选取数值赋给所述辅助比特;或者采用某种伪随机方式,从状态空间模块中选取数值赋给所述辅助比特;或者采用某种函数(例如状态空间模块的存储空间大小与辅助比特的序号之间关系的函数),在计算出的所述状态空间模块中的位置上选取数值赋给所述辅助比特。
结合第二方面或第二方面前述的各种可能的实现方式,在第十八种可能的实现方式中,在所述步骤S206之后还包括:
S3060:将所述待编码的比特序列中最后的待编码比特作为所述步骤S203的输入,并执行所述步骤S203,所述步骤S204及所述步骤S205之后,得到的所述状态空间模块中的状态空间值作为CRC校验比特,并进行CRC编码。
并且,在所述步骤S205中,从所述新的状态空间值中获取数值赋给所述辅助比特的处理中,所述辅助比特可以是指PC校验比特。结合步骤S3060,这样,本申请的上述实施例可以实现系统对不同种类辅助比特的同时编码,减少硬件开销,提升编码效率。
结合第二方面或第二方面前述的各种可能的实现方式,在第十九种可能的实现方式中,在所述步骤S206之后还包括:
S307:对编码后的比特序列进行极化编码和速率匹配得到待发送的速率匹配后的序列。
S308:发送速率匹配后的序列。
结合第二方面或第二方面前述的各种可能的实现方式,在第二十种可能的实现方式中,可以在执行所述S3060之后执行上述的步骤S307和步骤S308。
第三方面,本发明实施例再提供一种编码方法,所述方法包括:
S301:接收待编码的比特序列;
S302:将状态空间模块中的状态空间值进行初始化,并从所述待编码的比特序列中获取一组相邻的Z个待编码比特,然后执行步骤S303;
S303:所述Z个待编码比特包括信息比特,冻结比特,以及辅助比特中的至少一种,在所述Z个待编码比特包括有辅助比特的情况下,将所述辅助比特的位置置为固定值,在所述Z个待编码比特包括有冻结比特的情况下,将所述冻结比特的位置置为固定值,然后执行步骤S304;
S304:根据执行步骤S303后输出的所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,根据所述索引值和所述状态空间值进行运算,得到新的状态空间值,并将所述状态空间模块中的状态空间值更新为所述新的状态空间值;
S305:对执行步骤S303后输出的所述Z个待编码比特进行编码,在所述Z个待编码比特包括有所述辅助比特的情况下,从所述新的状态空间值中获取数值赋给所述辅助比特;然后执行步骤S306;
S306:从所述待编码的比特序列中获取所述一组Z个待编码比特之后的下一组相邻的Z个待编码比特,所述下一组Z个待编码比特与所述一组Z个待编码比特相邻,并将所述下一组Z个待编码比特作为所述步骤S303的输入,并执行所述步骤S303,所述步骤S304及所述步骤S305,不断循环,直至所述下一组Z个待编码比特为所述待编码的比特序列中最后的待编码比特。
本申请的上述实施例中,通过在编码端进行辅助比特编码,使得解码端能够采用辅助比特对编码后的比特序列进行纠错、检错或者早停等辅助译码操作。并且由于每次针对Z个待编码比特进行编码,采用这种块处理的方式进行辅助比特编码,方便硬件实施,可以有效提升编码效率与吞吐量。
在第三方面的第一种可能的实现方式中,辅助比特是指在编码端动态生成的,并且在解码端用于辅助译码的比特,所述的辅助译码是指进行纠错、进行检错或帮助判断是否提前终止译码等。
结合第三方面或第三方面前述的各种可能的实现方式,在第二种可能的实现方式中,在所述步骤S302中,所述获取的Z个待编码比特中的信息比特,辅助比特和冻结比特之间的前后次序与所述信息比特,所述辅助比特和所述冻结比特在所述待编码的比特序列中的前后次序是一致的。
结合第三方面或第三方面前述的各种可能的实现方式,在第三种可能的实现方式中,在所述步骤S306中,所述下一组相邻的Z个待编码比特为所述待编码的比特序列中最后的待编码比特是指:
所述待编码的比特序列最后还剩下小于或等于Z个待编码比特,在所述待编码的比特序列最后还剩下的待编码比特不够Z个的情况下,将不足的部分填充固定值0或1。
结合第三方面或第三方面前述的各种可能的实现方式,在第四种可能的实现方式中,在所述步骤S303中,所述将所述冻结比特的位置置为固定值,其中,所述固定值是指编码端(或编码侧)和译码端(或译码侧)约定的固定值。
结合第三方面或第三方面前述的各种可能的实现方式,在第五种可能的实现方式中,在所述步骤S303中,将所述辅助比特的位置置为编码端(或编码侧)和译码端(或译码侧)约定的值即可,可以为0,也可以为1。
结合第三方面或第三方面前述的各种可能的实现方式,在第六种可能的实现方式中,Z为大于0的偶数。
结合第三方面或第三方面前述的各种可能的实现方式,在第七种可能的实现方式中,所述状态空间模块的形式具体可以为寄存器。
结合第三方面或第三方面前述的各种可能的实现方式,在第八种可能的实现方式中,将状态空间模块中的状态空间值进行初始化的步骤中,所述状态空间模块中的值进行初始化后的值为:编码侧(或编码端)与译码侧(或译码端)之间约定的值。
结合第三方面或第三方面前述的各种可能的实现方式,在第九种可能的实现方式中,所述状态空间模块可以由寄存器组实现,在将寄存器组的状态初始化为全1时,在步骤S305中的从所述新的状态空间值中获取数值赋给所述辅助比特的操作中,应将新的状态空间值取反后,再将所述新的状态空间值中的至少一个位置的数值赋给所述辅助比特。
结合第三方面或第三方面前述的各种可能的实现方式,在第十种可能的实现方式中,在执行所述步骤S305的过程中,从所述新的状态空间值中获取数值赋给所述辅助比特的步骤可以包括:将所述新的状态空间值中的至少一个位置的数值赋给所述辅助比特。
结合第三方面或第三方面前述的各种可能的实现方式,在第十一种可能的实现方式中,多次针对不同的Z个待编码比特执行所述步骤S305的过程中,多次从所述新的状态空间值中获取数值赋给所述辅助比特的步骤可以包括:每次从状态空间模块的固定位置获取数值赋给所述辅助比特;或者采用轮回旋转的方式,按某一个固定方向,从某一位置开始,在状态空间模块中逐次更替位置选取数值赋给所述辅助比特;或者采用某种伪随机方式,从状态空间模块中选取数值赋给所述辅助比特;或者采用某种函数(例如状态空间模块的存储空间大小与辅助比特的序号之间关系的函数),在计算出的所述状态空间模块中的位置上选取数值赋给所述辅助比特。
结合第三方面或第三方面前述的各种可能的实现方式,在第十二种可能的实现方式中,在所述步骤S304之前还包括:
对所述待编码的比特序列中的所述Z个待编码比特的2z种排列组合进行预编码,将预编码后的结果作为索引值存储在所述索引模块中。所述预编码中所采用的编码方式与所述步骤S305中所述的编码中所采用的编码方式是一致的,所述预编码是所述步骤S305中所述的编码的预处理过程。
结合第三方面或第三方面前述的各种可能的实现方式,在第十三种可能的实现方式中,在所述步骤S305中,对执行步骤S303后输出的所述Z个待编码比特进行编码的步骤中,所述的编码是指:检验编码方式的编码或信息摘要编码方式的编码或线性运算方式的编码。
结合第三方面或第三方面前述的各种可能的实现方式,在第十四种可能的实现方式中,在所述步骤S304中,根据执行步骤S303后输出的所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,包括:
将所述状态空间值的低Z个比特位与所述执行步骤S303后输出的所述Z个待编码比特中的值进行运算,得到索引ID,并通过该索引I D获得索引模块中存储的索引值。
结合第三方面或第三方面前述的各种可能的实现方式,在第十五种可能的实现方式中,在所述步骤S304中,根据所述索引值和所述状态空间值进行运算的操作,包括:
将所述索引值和所述状态空间值进行按位逻辑运算。
结合第三方面或第三方面前述的各种可能的实现方式,在第十六种可能的实现方式中,将所述索引值和所述状态空间值进行按位逻辑运算具体可以是:将所述索引值与状态空间值的低Z位进行按位逻辑运算。
结合第三方面或第三方面前述的各种可能的实现方式,在第十七种可能的实现方式中,在所述步骤S304中,根据执行步骤S303后输出的所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,包括:
S3041:将所述状态空间值按照固定方向(例如:向左或向右)循环移Z个比特位,之后,将所述状态空间值的低Z个比特位与所述执行步骤S303后输出的所述Z个待编码比特中的值进行运算,得到索引ID,并通过该索引ID获得索引模块中存储的索引值。
相应地,在所述步骤S304中,根据所述索引值和所述状态空间值进行运算的操作,包括:
S3042:将所述索引值和所述状态空间值进行按位逻辑运算。例如:将所述索引值与状态空间值的低Z位进行按位逻辑运算。
结合第三方面或第三方面前述的各种可能的实现方式,在第十八种可能的实现方式中,所述状态空间模块具体可以为一个CRC寄存器组。在所述步骤S304中,根据执行步骤S303后输出的所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,还可以包括:
S3043:将CRC寄存器组高Z比特位与所述执行步骤S303后输出的所述Z个待编码比特中的值进行异或运算,得到索引ID,并通过该索引ID获得索引模块中对应的索引值。
相应地,在所述步骤S304中,根据所述索引值和所述状态空间值进行运算的操作,包括:
S3044:将CRC寄存器组中全部的比特位按照固定方向(例如:向左或向右)循环移Z个比特位,之后,将所述索引值与CRC寄存器组低Z位做异或运算,得到新的状态空间值。
相应地,在所述步骤S305中,从所述新的状态空间值中获取数值赋给所述辅助比特的处理中,所述辅助比特是指PC校验比特。
结合第三方面或第三方面前述的各种可能的实现方式,在第十九种可能的实现方式中,在所述步骤S306之后还包括:
S3060:将所述待编码的比特序列中最后的待编码比特作为所述步骤S303的输入,并执行所述步骤S303,所述步骤S304及所述步骤S305之后,得到的所述状态空间模块中的状态空间值作为CRC校验比特,并进行CRC编码。
并且,在所述步骤S305中,从所述新的状态空间值中获取数值赋给所述辅助比特的处理中,所述辅助比特可以是指PC校验比特。结合步骤S3060,这样,本申请的上述实施例可以实现系统对不同种类辅助比特的同时编码,减少硬件开销,提升编码效率。
结合第三方面或第三方面前述的各种可能的实现方式,在第二十种可能的实现方式中,在所述步骤S306之后还包括:
S307:对编码后的比特序列进行极化编码和速率匹配得到待发送的速率匹配后的序列。
S308:发送速率匹配后的序列。
结合第三方面或第三方面前述的各种可能的实现方式,在第二十一种可能的实现方式中,可以在执行所述S3060之后执行上述的步骤S307和步骤S308。
第四方面,本发明实施例还提供了一种用于编码的处理装置,该处理装置可以通过硬件实现也可以通过软件实现,当通过硬件实现时,该处理装置包括:
输入接口电路,用于接收待编码的比特序列;
逻辑电路,用于将状态空间模块中的状态空间值进行初始化,并从所述待编码的比特序列中获取一组由Z个信息比特组成的Z个待编码比特;根据获取的所述Z个待编码比特,得到新的状态空间值,并为辅助比特赋值,所述根据获取的所述Z个待编码比特,得到新的状态空间值,并为辅助比特赋值包括:根据获取的所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,根据所述索引值和所述状态空间值进行运算,得到新的状态空间值,并将所述状态空间模块中的状态空间值更新为所述新的状态空间值;对所述获取的所述Z个待编码比特进行编码,在所述待编码的比特序列中有辅助比特位于所述Z个信息比特中的各个信息比特之间的情况下,以及,在所述待编码的比特序列中有辅助比特位于所述Z个信息比特与下一个信息比特之间的情况下,从所述新的状态空间值中获取数值赋给所述辅助比特;从所述待编码的比特序列中获取所述一组Z个待编码比特之后的下一组由Z个信息比特组成的Z个待编码比特,所述下一组Z个待编码比特与所述一组Z个待编码比特相邻,并根据所述下一组Z个待编码比特,得到新的状态空间值,并为辅助比特赋值,不断循环,直至所述下一组Z个待编码比特为所述待编码的比特序列中最后的待编码比特。
在上述处理装置的实施例中,通过在编码端进行辅助比特编码,使得解码端能够采用辅助比特对编码后的比特序列进行纠错、检错或者早停等辅助译码操作。并且由于每次针对Z个待编码比特进行编码,采用这种块处理的方式进行辅助比特编码,方便硬件实施,可以有效提升编码效率与吞吐量。
在第四方面的第一种可能的实现方式中,辅助比特是指在编码端动态生成的,并且在解码端用于辅助译码的比特,所述的辅助译码是指进行纠错、进行检错或帮助判断是否提前终止译码等。
结合第四方面或第四方面前述的各种可能的实现方式,在第二种可能的实现方式中,所述获取的Z个待编码比特中Z个信息比特之间的前后次序与所述Z个信息比特在所述待编码的比特序列中的前后次序是一致的。
结合第四方面或第四方面前述的各种可能的实现方式,在第三种可能的实现方式中,在所述待编码的比特序列中有辅助比特位于所述Z个信息比特中的各个信息比特之间的情况下,以及,在所述待编码的比特序列中有辅助比特位于所述Z个信息比特与下一个信息比特之间的情况下,从所述新的状态空间值中获取数值赋给所述辅助比特,包括:分别从所述新的状态空间值中获取数值赋给位于所述Z个信息比特中的各个信息比特之间的辅助比特,以及位于所述Z个信息比特与下一个信息比特之间的辅助比特。赋给所述Z个信息比特中的各个信息比特之间的辅助比特的数值,以及赋给位于所述Z个信息比特与下一个信息比特之间的辅助比特的数值,可以从所述新的状态空间值中的同一位置获取,或者是从所述新的状态空间值中的不同的位置获取。
结合第四方面或第四方面前述的各种可能的实现方式,在第四种可能的实现方式中,所述下一组Z个待编码比特为所述待编码的比特序列中最后的待编码比特是指:所述待编码的比特序列最后还剩下小于或等于Z个信息比特,在所述待编码的比特序列最后还剩下的信息比特不够Z个的情况下,将不足的部分填充固定值0或1。
结合第四方面或第四方面前述的各种可能的实现方式,在第五种可能的实现方式中,所述逻辑电路进一步用于:
对所述待编码的比特序列中的所述Z个待编码比特的2z种排列组合进行预编码,将预编码后的结果作为索引值存储在所述索引模块中。
结合第四方面或第四方面前述的各种可能的实现方式,在第六种可能的实现方式中,对所述获取的所述Z个待编码比特进行编码中,所述的编码是指:检验编码方式的编码或信息摘要编码方式的编码或线性运算方式的编码。
结合第四方面或第四方面前述的各种可能的实现方式,在第七种可能的实现方式中,根据所述获取的所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,包括:
将所述状态空间值的低Z个比特位与所述获取的的所述Z个待编码比特中的值进行运算,得到索引ID,并通过该索引ID获得索引模块中存储的索引值。
结合第四方面或第四方面前述的各种可能的实现方式,在第八种可能的实现方式中,所述根据所述索引值和所述状态空间值进行运算,包括:
将所述索引值和所述状态空间值进行按位逻辑运算。
结合第四方面或第四方面前述的各种可能的实现方式,在第九种可能的实现方式中,将所述索引值和所述状态空间值进行按位逻辑运算具体可以包括:将所述索引值与所述状态空间值的低Z位进行按位逻辑运算。
结合第四方面或第四方面前述的各种可能的实现方式,在第十种可能的实现方式中,根据所述获取的所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,包括:
将所述状态空间值按照固定方向(例如:向左或向右)循环移Z个比特位,之后,将所述状态空间值的低Z个比特位与所述Z个待编码比特中的值进行运算,得到索引ID,并通过该索引ID获得索引模块中存储的索引值;
相应地,根据所述索引值和所述状态空间值进行运算,包括:
将所述索引值和所述状态空间值进行按位逻辑运算。例如:将所述状态空间值循环左移Z个比特位,之后,将所述索引值与状态空间值的低Z位进行按位逻辑运算。
结合第四方面或第四方面前述的各种可能的实现方式,在第十一种可能的实现方式中,所述状态空间模块具体可以为一个CRC寄存器组。所述根据所述步骤S102中获取的所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,还可以包括:
将CRC寄存器组高Z比特位与根据所述步骤S102中获取的所述Z个待编码比特中的值进行异或运算,得到索引ID,并通过该索引ID获得索引模块中对应的索引值。
相应地,根据所述索引值和所述状态空间值进行运算的操作,包括:
将CRC寄存器组中全部的比特位按照固定方向(例如:向左或向右)循环移Z个比特位,之后,将所述索引值与CRC寄存器组低Z位做异或运算,得到新的状态空间值。
相应地,从所述新的状态空间值中获取数值赋给所述辅助比特中,所述辅助比特是指PC校验比特。
结合第四方面或第四方面前述的各种可能的实现方式,在第十二种可能的实现方式中,Z为大于0的偶数。
结合第四方面或第四方面前述的各种可能的实现方式,在第十三种可能的实现方式中,所述状态空间模块的形式具体可以为寄存器。
结合第四方面或第四方面前述的各种可能的实现方式,在第十四种可能的实现方式中,所述状态空间模块中的值进行初始化后的值为:编码侧(或编码端)与译码侧(或译码端)之间约定的值。
结合第四方面或第四方面前述的各种可能的实现方式,在第十五种可能的实现方式中,所述状态空间模块由寄存器组实现,在将寄存器组的状态初始化为全1时,在从所述新的状态空间值中获取数值赋给所述辅助比特时,应将新的状态空间值取反后,再将所述新的状态空间值中的至少一个位置的数值赋给所述辅助比特。
结合第四方面或第四方面前述的各种可能的实现方式,在第十六种可能的实现方式中,从所述新的状态空间值中获取数值赋给所述辅助比特可以包括:将所述新的状态空间值中的至少一个位置的数值赋给所述辅助比特。
结合第四方面或第四方面前述的各种可能的实现方式,在第十七种可能的实现方式中,多次针对不同的Z个待编码比特,多次从所述新的状态空间值中获取数值赋给所述辅助比特可以包括:每次从状态空间模块的固定位置获取数值赋给所述辅助比特;或者采用轮回旋转的方式,按某一个固定方向,从某一位置开始,在状态空间模块中逐次更替位置选取数值赋给所述辅助比特;或者采用某种伪随机方式,从状态空间模块中选取数值赋给所述辅助比特;或者采用某种函数(例如状态空间模块的存储空间大小与辅助比特的序号之间关系的函数),在计算出的所述状态空间模块中的位置上选取数值赋给所述辅助比特。
结合第四方面或第四方面前述的各种可能的实现方式,在第十八种可能的实现方式中,所述逻辑电路进一步用于:
根据所述待编码的比特序列中最后的待编码比特得到新的状态空间值,并为辅助比特赋值,之后,得到的所述状态空间模块中的状态空间值作为CRC校验比特,并进行CRC编码。
并且,在从所述新的状态空间值中获取数值赋给所述辅助比特时,所述辅助比特可以是指PC校验比特。这样,本申请的上述实施例可以实现系统对不同种类辅助比特的同时编码,减少硬件开销,提升编码效率。
结合第四方面或第四方面前述的各种可能的实现方式,在第十九种可能的实现方式中,上述处理装置可以是芯片或者集成电路。
第五方面,本发明实施例还提供一种用于编码的处理装置,该处理装置可以通过硬件实现也可以通过软件实现,当通过硬件实现时,该处理装置包括:
所述输入接口电路,用于接收待编码的比特序列;
所述逻辑电路,用于将状态空间模块中的状态空间值进行初始化,并从所述待编码的比特序列中获取一组由信息比特和辅助比特组成的Z个待编码比特,根据获取的所述Z个待编码比特,得到新的状态空间值,并为辅助比特赋值,所述根据获取的所述Z个待编码比特,得到新的状态空间值,并为辅助比特赋值包括:将所述Z个待编码比特中的辅助比特的位置置为固定值,然后根据所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,根据所述索引值和所述状态空间值进行运算,得到新的状态空间值,并将所述状态空间模块中的状态空间值更新为所述新的状态空间值;针对将所述Z个待编码比特中的辅助比特的位置置为固定值之后的所述Z个待编码比特进行编码,并从所述新的状态空间值中获取数值赋给所述Z个待编码比特中的所述辅助比特;然后从所述待编码的比特序列中获取所述一组Z个待编码比特之后的下一组由信息比特和辅助比特组成的Z个待编码比特,所述下一组Z个待编码比特与所述一组Z个待编码比特相邻,并根据所述下一组Z个待编码比特,得到新的状态空间值,并为辅助比特赋值,不断循环,直至所述下一组Z个待编码比特为所述待编码的比特序列中最后的待编码比特。
在上述的处理装置的实施例中,通过在编码端进行辅助比特编码,使得解码端能够采用辅助比特对编码后的比特序列进行纠错、检错或者早停等辅助译码操作。并且由于每次针对Z个待编码比特进行编码,采用这种块处理的方式进行辅助比特编码,方便硬件实施,可以有效提升编码效率与吞吐量。
在第五方面的第一种可能的实现方式中,辅助比特是指在编码端动态生成的,并且在解码端用于辅助译码的比特,所述的辅助译码是指进行纠错、进行检错或帮助判断是否提前终止译码等。
结合第五方面或第五方面前述的各种可能的实现方式,在第二种可能的实现方式中,所述获取的Z个待编码比特中信息比特和辅助比特之间的前后次序与所述信息比特和所述辅助比特在所述待编码的比特序列中的前后次序是一致的。
结合第五方面或第五方面前述的各种可能的实现方式,在第三种可能的实现方式中,所述下一组Z个待编码比特为所述待编码的比特序列中最后的待编码比特是指:
所述待编码的比特序列最后还剩下的比特中的信息比特和辅助比特的总数等于Z个或不足Z个,在所述待编码的比特序列最后还剩下的比特中的信息比特和辅助比特的总数不足Z个的情况下,将不足的部分填充固定值0或1。
结合第五方面或第五方面前述的各种可能的实现方式,在第四种可能的实现方式中,所述逻辑电路进一步用于:对所述待编码的比特序列中的所述Z个待编码比特的2z种排列组合进行预编码,将预编码后的结果作为索引值存储在所述索引模块中。
结合第五方面或第五方面前述的各种可能的实现方式,在第五种可能的实现方式中,对所述Z个待编码比特进行编码中,所述的编码是指:检验编码方式的编码或信息摘要编码方式的编码或线性运算方式的编码。
结合第五方面或第五方面前述的各种可能的实现方式,在第六种可能的实现方式中,根据所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,包括:
将所述状态空间值的低Z个比特位与所述Z个待编码比特中的值进行运算,得到索引ID,并通过该索引ID获得索引模块中存储的索引值。
结合第五方面或第五方面前述的各种可能的实现方式,在第七种可能的实现方式中,根据所述索引值和所述状态空间值进行运算的操作,包括:
将所述索引值和所述状态空间值进行按位逻辑运算。
结合第五方面或第五方面前述的各种可能的实现方式,在第八种可能的实现方式中,将所述索引值和所述状态空间值进行按位逻辑运算具体可以是:将所述索引值与所述状态空间值的低Z位进行按位逻辑运算。
结合第五方面或第五方面前述的各种可能的实现方式,在第九种可能的实现方式中,根据所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,包括:
将所述状态空间值按照固定方向(例如:向左或向右)循环移Z个比特位,之后,将所述状态空间值的低Z个比特位与所述Z个待编码比特中的值进行运算,得到索引ID,并通过该索引ID获得索引模块中存储的索引值;
相应地,根据所述索引值和所述状态空间值进行运算的操作,包括:
将所述索引值和所述状态空间值进行按位逻辑运算。例如:将所述索引值与状态空间值的低Z位进行按位逻辑运算。
结合第五方面或第五方面前述的各种可能的实现方式,在第十种可能的实现方式中,所述状态空间模块具体可以为一个CRC寄存器组。根据所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,还可以包括:
将CRC寄存器组高Z比特位与所述执行步骤S203后输出的所述Z个待编码比特中的值进行异或运算,得到索引ID,并通过该索引ID获得索引模块中对应的索引值。
相应地,根据所述索引值和所述状态空间值进行运算,包括:
将CRC寄存器组中全部的比特位按照固定方向(例如:向左或向右)循环移Z个比特位,之后,将所述索引值与CRC寄存器组低Z位做异或运算,得到新的状态空间值。
相应地,在从所述新的状态空间值中获取数值赋给所述辅助比特时,所述辅助比特是指PC校验比特。
结合第五方面或第五方面前述的各种可能的实现方式,在第十一种可能的实现方式中,将所述辅助比特的位置置为编码端(或编码侧)和译码端(或译码侧)约定的值即可,可以为0,也可以为1。
结合第五方面或第五方面前述的各种可能的实现方式,在第十二种可能的实现方式中,Z为大于0的偶数。
结合第五方面或第五方面前述的各种可能的实现方式,在第十三种可能的实现方式中,所述状态空间模块的形式具体可以为寄存器。
结合第五方面或第五方面前述的各种可能的实现方式,在第十四种可能的实现方式中,将状态空间模块中的状态空间值进行初始化中,所述状态空间模块中的值进行初始化后的值为:编码侧(或编码端)与译码侧(或译码端)之间约定的值。
结合第五方面或第五方面前述的各种可能的实现方式,在第十五种可能的实现方式中,所述状态空间模块可以由寄存器组实现,在将寄存器组的状态初始化为全1时,在从所述新的状态空间值中获取数值赋给所述辅助比特时,应将新的状态空间值取反后,再将所述新的状态空间值中的至少一个位置的数值赋给所述辅助比特。
结合第五方面或第五方面前述的各种可能的实现方式,在第十六种可能的实现方式中,从所述新的状态空间值中获取数值赋给所述辅助比特可以包括:将所述新的状态空间值中的至少一个位置的数值赋给所述辅助比特。
结合第五方面或第五方面前述的各种可能的实现方式,在第十七种可能的实现方式中,多次针对不同的Z个待编码比特,多次从所述新的状态空间值中获取数值赋给所述辅助比特可以包括:每次从状态空间模块的固定位置获取数值赋给所述辅助比特;或者采用轮回旋转的方式,按某一个固定方向,从某一位置开始,在状态空间模块中逐次更替位置选取数值赋给所述辅助比特;或者采用某种伪随机方式,从状态空间模块中选取数值赋给所述辅助比特;或者采用某种函数(例如状态空间模块的存储空间大小与辅助比特的序号之间关系的函数),在计算出的所述状态空间模块中的位置上选取数值赋给所述辅助比特。
结合第五方面或第五方面前述的各种可能的实现方式,在第十八种可能的实现方式中,所述逻辑电路进一步用于:
根据所述待编码的比特序列中最后的待编码比特得到新的状态空间值,并为辅助比特赋值,之后,得到的所述状态空间模块中的状态空间值作为CRC校验比特,并进行CRC编码。
并且,在从所述新的状态空间值中获取数值赋给所述辅助比特时,所述辅助比特可以是指PC校验比特。这样,本申请的上述实施例可以实现系统对不同种类辅助比特的同时编码,减少硬件开销,提升编码效率。
结合第五方面或第五方面前述的各种可能的实现方式,在第十九种可能的实现方式中,上述处理装置可以是芯片或者集成电路。
第六方面,本发明实施例还提供一种用于编码的处理装置,该处理装置可以通过硬件实现也可以通过软件实现,当通过硬件实现时,该处理装置包括:
所述输入接口电路,用于接收待编码的比特序列;
所述逻辑电路,用于将状态空间模块中的状态空间值进行初始化,并从所述待编码的比特序列中获取一组相邻的Z个待编码比特,根据获取的所述Z个待编码比特,得到新的状态空间值,并为辅助比特赋值,所述根据获取的所述Z个待编码比特,得到新的状态空间值,并为辅助比特赋值包括:所述Z个待编码比特包括信息比特,冻结比特,以及辅助比特中的至少一种,在所述Z个待编码比特包括有辅助比特的情况下,将所述辅助比特的位置置为固定值,在所述Z个待编码比特包括有冻结比特的情况下,将所述冻结比特的位置置为固定值,然后根据所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,根据所述索引值和所述状态空间值进行运算,得到新的状态空间值,并将所述状态空间模块中的状态空间值更新为所述新的状态空间值;针对将所述Z个待编码比特中的辅助比特和冻结比特的位置置为固定值之后的所述Z个待编码比特进行编码,在所述Z个待编码比特包括有所述辅助比特的情况下,从所述新的状态空间值中获取数值赋给所述辅助比特;然后从所述待编码的比特序列中获取所述一组Z个待编码比特之后的下一组相邻的Z个待编码比特,所述下一组Z个待编码比特与所述一组Z个待编码比特相邻,并根据所述下一组Z个待编码比特,得到新的状态空间值,并为辅助比特赋值,不断循环,直至所述下一组Z个待编码比特为所述待编码的比特序列中最后的待编码比特。
本申请的上述实施例中,通过在编码端进行辅助比特编码,使得解码端能够采用辅助比特对编码后的比特序列进行纠错、检错或者早停等辅助译码操作。并且由于每次针对Z个待编码比特进行编码,采用这种块处理的方式进行辅助比特编码,方便硬件实施,可以有效提升编码效率与吞吐量。
在第六方面的第一种可能的实现方式中,辅助比特是指在编码端动态生成的,并且在解码端用于辅助译码的比特,所述的辅助译码是指进行纠错、进行检错或帮助判断是否提前终止译码等。
结合第六方面或第六方面前述的各种可能的实现方式,在第二种可能的实现方式中,所述获取的Z个待编码比特中的信息比特,辅助比特和冻结比特之间的前后次序与所述信息比特,所述辅助比特和所述冻结比特在所述待编码的比特序列中的前后次序是一致的。
结合第六方面或第六方面前述的各种可能的实现方式,在第三种可能的实现方式中,所述下一组相邻的Z个待编码比特为所述待编码的比特序列中最后的待编码比特是指:
所述待编码的比特序列最后还剩下小于或等于Z个待编码比特,在所述待编码的比特序列最后还剩下的待编码比特不够Z个的情况下,将不足的部分填充固定值0或1。
结合第六方面或第六方面前述的各种可能的实现方式,在第四种可能的实现方式中,所述将所述冻结比特的位置置为固定值,其中,所述固定值是指编码端(或编码侧)和译码端(或译码侧)约定的固定值。
结合第六方面或第六方面前述的各种可能的实现方式,在第五种可能的实现方式中,将所述辅助比特的位置置为编码端(或编码侧)和译码端(或译码侧)约定的值即可,可以为0,也可以为1。
结合第六方面或第六方面前述的各种可能的实现方式,在第六种可能的实现方式中,Z为大于0的偶数。
结合第六方面或第六方面前述的各种可能的实现方式,在第七种可能的实现方式中,所述状态空间模块的形式具体可以为寄存器。
结合第六方面或第六方面前述的各种可能的实现方式,在第八种可能的实现方式中,将所述状态空间模块中的值进行初始化后的值为:编码侧(或编码端)与译码侧(或译码端)之间约定的值。
结合第六方面或第六方面前述的各种可能的实现方式,在第九种可能的实现方式中,所述状态空间模块可以由寄存器组实现,在将寄存器组的状态初始化为全1时,在从所述新的状态空间值中获取数值赋给所述辅助比特时,应将新的状态空间值取反后,再将所述新的状态空间值中的至少一个位置的数值赋给所述辅助比特。
结合第六方面或第六方面前述的各种可能的实现方式,在第十种可能的实现方式中,从所述新的状态空间值中获取数值赋给所述辅助比特可以包括:将所述新的状态空间值中的至少一个位置的数值赋给所述辅助比特。
结合第六方面或第六方面前述的各种可能的实现方式,在第十一种可能的实现方式中,多次针对不同的Z个待编码比特,多次从所述新的状态空间值中获取数值赋给所述辅助比特可以包括:每次从状态空间模块的固定位置获取数值赋给所述辅助比特;或者采用轮回旋转的方式,按某一个固定方向,从某一位置开始,在状态空间模块中逐次更替位置选取数值赋给所述辅助比特;或者采用某种伪随机方式,从状态空间模块中选取数值赋给所述辅助比特;或者采用某种函数(例如状态空间模块的存储空间大小与辅助比特的序号之间关系的函数),在计算出的所述状态空间模块中的位置上选取数值赋给所述辅助比特。
结合第六方面或第六方面前述的各种可能的实现方式,在第十二种可能的实现方式中,所述逻辑电路进一步用于:
对所述待编码的比特序列中的所述Z个待编码比特的2z种排列组合进行预编码,将预编码后的结果作为索引值存储在所述索引模块中。
结合第六方面或第六方面前述的各种可能的实现方式,在第十三种可能的实现方式中,对所述Z个待编码比特进行编码时,所述的编码是指:检验编码方式的编码或信息摘要编码方式的编码或线性运算方式的编码。
结合第六方面或第六方面前述的各种可能的实现方式,在第十四种可能的实现方式中,根据所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,包括:
将所述状态空间值的低Z个比特位与所述Z个待编码比特中的值进行运算,得到索引ID,并通过该索引ID获得索引模块中存储的索引值。
结合第六方面或第六方面前述的各种可能的实现方式,在第十五种可能的实现方式中,根据所述索引值和所述状态空间值进行运算,包括:
将所述索引值和所述状态空间值进行按位逻辑运算。
结合第六方面或第六方面前述的各种可能的实现方式,在第十六种可能的实现方式中,将所述索引值和所述状态空间值进行按位逻辑运算具体可以是:将所述索引值与状态空间值的低Z位进行按位逻辑运算。
结合第六方面或第六方面前述的各种可能的实现方式,在第十七种可能的实现方式中,根据所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,包括:
将所述状态空间值按照固定方向(例如:向左或向右)循环移Z个比特位,之后,将所述状态空间值的低Z个比特位与所述Z个待编码比特中的值进行运算,得到索引ID,并通过该索引ID获得索引模块中存储的索引值。
相应地,根据所述索引值和所述状态空间值进行运算,包括:
将所述索引值和所述状态空间值进行按位逻辑运算。例如:将所述索引值与状态空间值的低Z位进行按位逻辑运算。
结合第六方面或第六方面前述的各种可能的实现方式,在第十八种可能的实现方式中,所述状态空间模块具体可以为一个CRC寄存器组。根据所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,还可以包括:
将CRC寄存器组高Z比特位与所述Z个待编码比特中的值进行异或运算,得到索引ID,并通过该索引ID获得索引模块中对应的索引值。。
相应地,根据所述索引值和所述状态空间值进行运算的操作,包括:
将CRC寄存器组中全部的比特位按照固定方向(例如:向左或向右)循环移Z个比特位,之后,将所述索引值与CRC寄存器组低Z位做异或运算,得到新的状态空间值。
相应地,从所述新的状态空间值中获取数值赋给所述辅助比特时,所述辅助比特是指PC校验比特。
结合第六方面或第六方面前述的各种可能的实现方式,在第十九种可能的实现方式中,所述逻辑电路进一步用于:
根据所述待编码的比特序列中最后的待编码比特得到新的状态空间值,并为辅助比特赋值,之后,得到的所述状态空间模块中的状态空间值作为CRC校验比特,并进行CRC编码。
并且,在从所述新的状态空间值中获取数值赋给所述辅助比特时,所述辅助比特可以是指PC校验比特。这样,本申请的上述实施例可以实现系统对不同种类辅助比特的同时编码,减少硬件开销,提升编码效率。
结合第六方面或第六方面前述的各种可能的实现方式,在第二十种可能的实现方式中,上述处理装置可以是芯片或者集成电路。
当上述第四方面,第五方面,以及第六方面中的处理装置通过软件实现时,该处理装置包括:
存储器,用于存储程序;
处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理装置用于实现第一方面或第二方面或第三方面中所述编码方法的各种实施例。
上述存储器可以是物理上独立的单元,也可以与处理器集成在一起。
本申请的实施例的又一方面还提供了一种通信设备,用于实现编码的功能,该通信设备包括:上述各个方面中所述的处理装置,以及收发器。
所述收发器,用于发送速率匹配后的序列。
本申请的实施例的又一方面还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本申请的实施例的又一方面还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
附图说明
图1为无线通信系统的结构示意图;
图2为无线通信的基本流程示意图;
图3为对Polar码级联循环冗余校验比特的编码方式的流程示意图;
图4为对Polar码级联循环冗余校验比特的数据结构的示意图;
图5为对Polar码级联校验冻结比特的数据结构的示意图;
图6为PC-Polar的SCL译码过程的示意图;
图7(a)为CA-Polar和PC-Polar级联编码的流程示意图;
图7(b)为CA-Polar和PC-Polar级联的方式中,译码的流程示意图;
图8为本申请提供的一种编码方法的实施例的流程示意图;
图9本申请提供的编码方法的实施例中,从待编码的比特序列提取Z个待编码比特的过程示意图;
图10为本申请提供的另一种编码方法的实施例的流程示意图;
图11为本申请提供的再一种编码方法的实施例的流程示意图;
图12为本申请提供的一种用于编码的处理装置的结构示意图;
图13为本申请提供的另一种用于编码的处理装置的结构示意图;
图14为本申请提供的再一种用于编码的处理装置的结构示意图;
图15为本申请提供的一种通信设备的结构示意图;
图16为本申请提供的一种终端的结构示意图。
具体实施方式
下面结合附图对本发明具体实施例作进一步的详细描述。
图1本申请实施例所适用的无线通信系统,该无线通信系统中可以包括至少一个网络设备,该网络设备与一个或多个终端进行通信。该网络设备可以是基站,也可以是基站与基站控制器集成后的设备,还可以是具有类似通信功能的其它设备。
需要说明的是,本申请实施例提及的无线通信系统包括但不限于:窄带物联网系统(英文:Narrow Band-Internet of Things,简称:NB-IoT)、全球移动通信系统(英文:Global System for Mobile Communications,简称:GSM)、增强型数据速率GSM演进系统(英文:Enhanced Data rate for GSM Evolution,简称:EDGE)、宽带码分多址系统(英文:Wideband Code Division Multiple Access,简称:WCDMA)、码分多址2000系统(英文:CodeDivision Multiple Access,简称:CDMA2000)、时分同步码分多址系统(英文:TimeDivision-Synchronization Code Division Multiple Access,简称:TD-SCDMA),长期演进系统(英文:Long Term Evolution,简称:LTE)、下一代5G移动通信系统的三大应用场景eMBB,URLLC和eMTC或者将来出现的新的通信系统。
本申请实施例中所涉及到的终端可以包括各种具有无线通信功能的手持设备、车载设备、可穿戴设备、计算设备或连接到无线调制解调器的其它处理设备。所述终端可以是MS(英文:Mobile Station)、用户单元(英文:subscriber unit)、蜂窝电话(英文:cellularphone)、智能电话(英文:smart phone)、无线数据卡、个人数字助理(英文:PersonalDigital Assistant,简称:PDA)电脑、平板型电脑、无线调制解调器(英文:modem)、手持设备(英文:handset)、膝上型电脑(英文:laptop computer)、机器类型通信(英文:MachineType Communication,简称:MTC)终端等。
图1中的网络设备与终端之间采用无线技术进行通信。当网络设备发送信号时,其为发送端,当网络设备接收信号时,其为接收端;终端也是一样的,当终端发送信号时,其为发送端,当终端接收信号时,其为接收端。图2是采用无线技术进行通信的基本流程,发送端的信源依次经过信源编码、信道编码、速率匹配和调制后在信道上发出,接收端收到信号后依次经过解调、解速率匹配、信道解码和信源解码后获得信宿。
信道编解码是无线通信领域的核心技术之一,其性能的改进将直接提升网络覆盖及用户传输速率。目前,极化码是可理论证明达到香农极限,并且具有可实用的线性复杂度编译码能力的信道编码技术。极化码构造的核心是通过“信道极化”的处理,在编码侧,采用编码的方法使各个子信道呈现出不同的可靠性,当码长持续增加时,一部分信道将趋向于容量接近于1的无噪信道,另一部分信道趋向于容量接近于0的全噪信道,选择在容量接近于1的信道上直接传输信息以逼近信道容量。
Polar码的编码策略正是应用了这种现象的特性,利用无噪信道传输用户有用的信息,全噪信道传输约定的信息或者不传信息。Polar码也是一种线性块码,其编码矩阵为GN,编码过程为
Figure BDA0001284444570000221
其中
Figure BDA0001284444570000222
是一个二进制的行矢量,长度为N(即码长);GN是一个N×N的矩阵,且
Figure BDA0001284444570000223
定义为log2N个矩阵F2的克罗内克(Kronecker)乘积。上述矩阵
Figure BDA0001284444570000225
Polar码的编码过程中,
Figure BDA0001284444570000226
中的一部分比特用来携带信息,称为信息比特集合,这些比特的索引的集合记作
Figure BDA0001284444570000227
另外的一部分比特设置为接收端和发送端预先约定的固定值,称之为固定比特集合或冻结比特集合(frozen bits),其索引的集合用
Figure BDA0001284444570000228
的补集
Figure BDA0001284444570000229
表示。Polar码的编码过程相当于:
Figure BDA00012844445700002210
这里,GN.(A)是GN.中由集合
Figure BDA00012844445700002211
中的索引对应的那些行得到的子矩阵,GN.(AC)是GN.中由集合中的索引对应的那些行得到的子矩阵。
Figure BDA00012844445700002214
中的信息比特集合,数量为K;
Figure BDA00012844445700002216
中的固定比特集合,其数量为(N-K),是已知比特。这些固定比特通常被设置为0,但是只要接收端和发送端预先约定,固定比特可以被任意设置。从而,Polar码的编码输出可简化为:这里
Figure BDA00012844445700002218
Figure BDA00012844445700002219
中的信息比特集合,
Figure BDA00012844445700002220
为长度K的行矢量,即|·|表示集合中元素的个数,K为信息块大小,
Figure BDA00012844445700002222
是矩阵GN中由集合
Figure BDA00012844445700002223
中的索引对应的那些行得到的子矩阵,
Figure BDA00012844445700002224
是一个K×N的矩阵。
Polar码的构造过程即集合
Figure BDA00012844445700002225
的选取过程,决定了Polar码的性能。Polar码的构造过程通常是,根据母码码长N确定共存在N个极化信道,分别对应编码矩阵的N个行,计算极化信道可靠度,将可靠度较高的前K个极化信道的索引作为集合
Figure BDA00012844445700002226
的元素,剩余(N-K)个极化信道对应的索引作为固定比特的索引集合
Figure BDA00012844445700002227
的元素。集合
Figure BDA00012844445700002228
决定了信息比特的位置,集合决定了固定比特的位置。
图2为常用的无线通信的基本流程示意图,如图2所示,在发送端,信源依次经过信源编码、信道编码、数字调制后发出。在接收端,依次经过数字解调、信道译码、信源解码输出信宿。信道编码可以采用Polar码,而在信道译码的时候,可以采用SC译码、SCL译码等。为了提高Polar码的性能,现在又提出了很多在Polar码的基础上进行改进的技术,例如,CA-Polar码,PC-Polar码,CA-PC-Polar等等。
如图3及图4所示,对Polar码级联循环冗余校验(Cyclic Redundancy Check)比特的编码方式,简称CA-Polar。在译码过程中,通过CRC校验(Cyclic Redundancy Check,循环冗余校验),在SCL译码输出的候选路径中选择CRC通过的路径作为译码输出,这种译码算法称为CA-SCL(CRC-Aided Successive Cancellation List)译码算法,CA-SCL译码算法能显著提高Polar码的性能。
CA-Polar码的构造过程包括确定信息比特位置的过程。假设信息块大小为Kinfo,CRC长度为Kcrc,编码的母码码长为N,则只需要从N个极化信道中选择Kinfo+Kcrc个可靠度最高的作为信息比特,其余的作为静态冻结比特(或称为冻结比特)。在CA-Polar码的构造过程中,先对信息块进行CRC编码,然后将CRC编码后的比特映射到信息比特,在静态冻结比特放置收发两端约定的固定值,最后进行Arikan Polar编码,得到CA-Polar的编码块。所述CRC比特可以级联在所述信息块的前端或后端,或者分布在所述信息块的内部。
译码时,信息块和CRC比特均未知,按照正常的SCL译码。在SCL译码结束后,得到L(路径扩展的宽度)个候选译码结果,所述候选译码结果包括信息块和CRC比特。从PM最小的路径的候选译码结果开始,对每个候选译码结果进行CRC校验,如果校验通过,则将该路径的信息块作为译码输出。否则,将PM最小的路径的候选译码结果的信息块作为译码输出,或者直接指示译码失败。CA-Polar可以取得比SCL更低的误块率(Block Error Rate,BLER)。
在SCL译码过程中,CRC比特均作为信息比特处理,只在SCL译码结束时用于选择路径。
如图5所示,对Polar码级联校验(Parity-check)比特,简称为PC-Polar,是另一种提升Polar码性能的级联码方法。PC-Polar的主要思想是选择一些校验比特(Parity-check-frozen),也称为动态冻结(Dynamic Frozen)比特或校验冻结比特,分布到信息块中,并且校验比特的值由其前面的信息比特根据校验方程确定。
PC-Polar主要是通过对信息块进行PC编码提升Polar码的最小码距,从而提升Polar码的性能。PC-Polar的构造主要包括两点,一是校验比特的位置,通常需要位于可靠度较高的极化信道;二是校验方程,即各校验比特由其前面的哪些信息比特确定。一旦构造完成,PC-Polar码的编码过程与CA-Polar类似,包括PC编码和Arikan编码两步,PC编码即根据校验方程和信息块的值确定校验比特的值,静态冻结比特仍然放置收发两端已知的值。PC-Polar的译码算法基于SCL译码算法,信息比特和静态冻结比特的处理与SCL译码算法的处理一样,不同是动态冻结比特的处理。由于动态冻结比特并不是未知的信息比特,而是由其前面的信息比特确定,其处理与静态冻结比特类似,不同的是动态冻结比特的值由前面译码的信息比特计算获得。动态冻结比特由于与前面的信息比特相关,实际上辅助了信息比特译码结果的校验。具体来说,如果前面译码的信息比特有错,计算得到动态冻结比特的值与其LLR(Log likelihood ratio对数似然比)不符的可能性更大,相应的路径PM会加惩罚值,从而在排序时会更可能把该错误路径删除。PC-SCL译码最终输出PM最小的路径。
图6是一个PC-Polar的SCL译码示例,动态冻结比特与信息比特之间的箭头表示的是动态冻结比特与信息比特之间的校验关系。在译码到动态冻结比特时,在各译码路径,根据校验关系将译码得到的信息比特的值计算得到该动态冻结比特的值,并用于译码。PC-Polar中动态冻结比特的位置对性能起到重要作用,构造时需要仔细挑选。
图7(a)为常用的CA-Polar和PC-Polar级联编码的流程示意图,如图7(a)所示,(1)对待编码的比特序列a0,a1,a2,...,aA-1先进行级联循环冗余校验(Cyclic RedundancyCheck,CRC)编码得到b0,b1,……bB-1;(2)再进行PC编码,根据确定的信息比特、静态冻结比特(或称为冻结比特)和校验冻结比特的位置分别设置信息比特、静态冻结比特和校验冻结比特的值,生成序列c0,c1,...,cC-1;(3)然后进行Polar编码(即极化编码)得到序列d0,d1,d2...,dD-1,最后进行速率匹配得到序列e0,e1,e2...,eE-1进行发送。CRC编码矩阵由如下参数唯一确定:CRC校验比特的数量、CRC校验比特的位置和CRC校验方程。而PC编码是由如下参数确定:校验冻结比特的位置和校验方程。
有一种级联CRC的Polar编码方法的实现步骤为:首先确定信息比特、静态冻结比特和校验比特的位置。然后将待编码的比特序列进行CRC编码,即进行CRC计算(其中,A表示信息比特的长度,B表示信息比特和CRC校验比特的长度之和),CRC计算的输入是信息比特a0,a1,a2,...,aA-1,生成的校验比特是p0,p1,p2,...,pKcrc-1。采用如下方式进行CRC编码得到b0,b1,……bB-1,其中,
bk=ak for k=0,1,2,...,A-1;
bk=pk-A for k=A,A+1,A+2,...,B-1;
在CRC编码得到的CRC编码序列b0,b1,……bB-1中设置信息比特、静态冻结比特和校验冻结比特的值。具体可采用如下方式进行信息比特、静态冻结比特以及校验冻结比特的值的设置,得到序列c0,c1,...,cC-1(C表示设置完信息比特、静态冻结比特以及校验冻结比特的值之后的序列长度,即C等于母码长度N),其中,
ci=bj for i∈信息比特;
ci=0 for i∈冻结比特;
ci=f(bj)for i∈校验冻结比特,f(.)表示校验方程;
然后进行Arikan Polar编码,其中(D表示Arikan Polar编码后的序列长度,与N相等):
Figure BDA0001284444570000241
最后进行速率匹配。从d0,d1,d2...,dD-1序列中去除不传输的序列,得到传输序列e0,e1,e2...,eE-1,E表示速率匹配后的序列长度,即码长。完成编码后可将得到的传输序列发送给接收设备。
然而,该编码方法中CRC编码与PC编码(校验冻结比特值与校验方程的确定)是分别进行的。
图7(b)为常用的CA-Polar和PC-Polar级联编码的译码示意图,如图7(b)所示,首先SCL对Polar码进行译码,并输出L个幸存路径(L是一个参数),然后对这些幸存路径进行CRC校验,选择CRC通过的路径为译码输出。这里如果没有路径通过CRC校验,译码失败,可以选择最大概率路径作为输出;如果多于一个路径通过CRC校验,选择其中概率最大的路径作为输出。
上述介绍的各种概念或实施方式适用于下述的任意一个实施例中。
本申请提供的编码方法和译码方法的应用在网络设备与终端之间的信息交互过程中,编码侧既可以是网络设备也可以是终端;与之相应的,译码侧既可以是终端也可以是网络设备。可选的,也可以应用在终端之间的信息交互过程中,对此本申请不做限制。
在下述的各个编码方法的实施例中,辅助比特是指在编码端动态生成的,并且在解码端用于辅助译码的比特,所述的辅助译码是指进行纠错、进行检错或帮助判断是否提前终止译码等。所述辅助比特可以包括校验冻结比特(也可以称为冻结校验比特、PC—frozen比特、Parity-check-frozen比特、预冻结比特、校验比特、动态冻结(DynamicFrozen)比特或PC校验比特),HASH(哈希)校验比特,分布式CRC比特以及CRC校验比特中的至少一种。
图8为本申请提供的编码方法的实施例的流程示意图,如图8所示,该编码方法具体包括:
S101:接收待编码的比特序列;
S102:将状态空间模块中的状态空间值进行初始化,并从所述待编码的比特序列中获取一组由Z个信息比特组成的Z个待编码比特;
S104:根据所述步骤S102中获取的所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,根据所述索引值和所述状态空间值进行运算,得到新的状态空间值,并将所述状态空间模块中的状态空间值更新为所述新的状态空间值;
S105:对所述步骤S102中获取的所述Z个待编码比特进行编码,在所述待编码的比特序列中有辅助比特位于所述Z个信息比特中的各个信息比特之间的情况下,以及,在所述待编码的比特序列中有辅助比特位于所述Z个信息比特与下一个信息比特之间的情况下,从所述新的状态空间值中获取数值赋给所述辅助比特;然后执行步骤S106;
S106:从所述待编码的比特序列中获取所述一组Z个待编码比特之后的下一组由Z个信息比特组成的Z个待编码比特,所述下一组Z个待编码比特与所述一组Z个待编码比特相邻,并将所述下一组Z个待编码比特作为所述步骤S104的输入,并执行所述步骤S104,及所述步骤S105,不断循环,直至所述下一组Z个待编码比特为所述待编码的比特序列中最后的待编码比特。
在图8所示的编码方法的实施例中,针对所述待编码的比特序列中的信息比特,每次处理Z个信息比特,直到将所述待编码的比特序列中的信息比特处理完毕。
在图8所示的编码方法的实施例中,通过在编码端进行辅助比特编码,使得解码端能够采用辅助比特对编码后的比特序列进行纠错、检错或者早停等辅助译码操作。并且由于每次针对Z个待编码比特进行编码,采用这种块处理的方式进行辅助比特编码,方便硬件实施,可以有效提升编码效率与吞吐量。
在图8所示的编码方法的实施例中,在所述步骤S106中:从所述待编码的比特序列中获取所述一组Z个待编码比特之后的下一组由Z个信息比特组成的Z个待编码比特,所述下一组由Z个信息比特组成的Z个待编码比特与所述一组由Z个信息比特组成的Z个待编码比特相邻是指:如图9所示,图9表示的一串待编码的比特序列,其中F表示冻结比特,I表示信息比特,PF表示辅助比特。在Z为2的情况下,从所述待编码的比特序列中连续的提取信息比特,在从所述待编码的比特序列中获取2个信息比特之后,接着再从所述待编码的比特序列中获取2个信息比特时,在所述待编码的比特序列中两次获取的信息比特之间不存在信息比特。
在图8所示的编码方法的实施例中,在所述步骤S102中,所述获取的Z个待编码比特中Z个信息比特之间的前后次序与所述Z个信息比特在所述待编码的比特序列中的前后次序是一致的。具体来讲,如图9所示,图9表示的是一串待编码的比特序列,其中F表示冻结比特,I表示信息比特,PF表示辅助比特。在Z为2的情况下,从所述待编码的比特序列中连续的提取信息比特。在所述步骤S105中:在所述待编码的比特序列中有辅助比特位于所述Z个信息比特中的各个信息比特之间的情况是指:如图9中所示,从所述待编码的比特序列中获取2个信息比特的过程中,跳过了这2个信息比特之间的1个辅助比特,则要从所述新的状态空间值中获取数值赋给这1个辅助比特。如果这2个信息比特之间存在2个或多个辅助比特的情况下,则要从所述新的状态空间值中获取数值赋给这2个或多个辅助比特。在所述待编码的比特序列中有辅助比特位于所述Z个信息比特与下一个信息比特之间的情况是指:如图9所示,从所述待编码的比特序列中获取2个信息比特之后,接着再从所述待编码的比特序列中获取2个信息比特时,跳过了1个辅助比特,则要从所述新的状态空间值中获取数值赋给这1个辅助比特。如果两次获取的信息比特之间存在2个或多个辅助比特的情况下,则要从所述新的状态空间值中获取数值赋给这2个或多个辅助比特。
在图8所示的编码方法的实施例中,在所述待编码的比特序列中有辅助比特位于所述Z个信息比特中的各个信息比特之间的情况下,以及,在所述待编码的比特序列中有辅助比特位于所述Z个信息比特与下一个信息比特之间的情况下,从所述新的状态空间值中获取数值赋给所述辅助比特,包括:分别从所述新的状态空间值中获取数值赋给位于所述Z个信息比特中的各个信息比特之间的辅助比特,以及位于所述Z个信息比特与下一个信息比特之间的辅助比特。赋给所述Z个信息比特中的各个信息比特之间的辅助比特的数值,以及赋给位于所述Z个信息比特与下一个信息比特之间的辅助比特的数值,可以从所述新的状态空间值中的同一位置获取,或者是从所述新的状态空间值中的不同的位置获取。一般来讲,赋给这两种辅助比特的数值可以是相同的,或者是不同的。
在所述图8所示的编码方法的实施例中,在所述步骤S106中,所述下一组Z个待编码比特为所述待编码的比特序列中最后的待编码比特是指:
所述待编码的比特序列最后还剩下小于或等于Z个信息比特。
在所述待编码的比特序列最后还剩下的信息比特不够Z个的情况下,将不足的部分填充固定值0或1。
在所述图8所示的编码方法的实施例中,步骤S104可以在步骤S105之前执行。
在图8所示的所述编码方法的实施例中,在所述步骤S104之前还包括:
对所述待编码的比特序列中的所述Z个待编码比特的2z种排列组合进行预编码,将预编码后的结果存储在所述索引模块中。所述预编码中所采用的编码方式与所述步骤S105中所述的编码中所采用的编码方式是一致的,所述预编码是所述步骤S105中所述的编码的预处理过程。具体来讲,所述预编码后的结果可以是指预编码值,所述预编码值作为索引值存储在所述索引模块中。所述索引模块中的索引值可以以索引表格的形式存储。具体来讲,所述索引值可以以离线存储的方式存储在所述索引模块中。
其中,所述步骤S105中所述的编码的编码方式可以认为是该编码方法实施例的目标编码方法,也就是说,所述步骤S105中所述的编码的编码方式可以认为是该编码方法实施例打算采用的编码方法。
在图8所示的所述编码方法的实施例中,在所述步骤S105中,对所述步骤S102中获取的所述Z个待编码比特进行编码的步骤中,所述的编码是指:检验编码方式的编码或信息摘要编码方式的编码或线性运算方式的编码。其中,检验编码方式的编码可以是CRC编码或PC编码。信息摘要编码方式的编码可以是HASH(哈希)编码等。线性运算方式的编码可以为采用编码矩阵的方式的编码。
在图8所示的所述编码方法的实施例中,在所述步骤S104中,根据所述步骤S102中获取的所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,包括:
将所述状态空间值的低Z个比特位与所述步骤S102中获取的的所述Z个待编码比特中的值进行运算,得到索引ID,并通过该索引ID获得索引模块中存储的索引值。
在图8所示的所述编码方法的实施例中,在所述步骤S104中,根据所述索引值和所述状态空间值进行运算的操作,包括:
将所述索引值和所述状态空间值进行按位逻辑运算。
具体的按位逻辑运算方式可以为按位异或运算,或者按位与运算、或者按位或运算、或者按位与非运算等。
将所述索引值和所述状态空间值进行按位逻辑运算具体可以是:将所述索引值与所述状态空间值的低Z位进行按位逻辑运算。
在图8所示的所述编码方法的实施例中,在采用CRC编码或PC编码的情况下,在所述步骤S104中,根据所述索引值和所述状态空间值进行运算的操作包括:将所述索引值和所述状态空间值进行按位异或(XOR)运算。
在图8所示的所述编码方法的实施例中,在所述步骤S104中,根据所述步骤S102中获取的所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,包括:
S1041:将所述状态空间值按照固定方向(例如:向左或向右)循环移Z个比特位,之后,将所述状态空间值的低Z个比特位与所述步骤S102中获取的所述Z个待编码比特中的值进行运算,得到索引ID,并通过该索引ID获得索引模块中存储的索引值。
相应地,在所述步骤S104中,根据所述索引值和所述状态空间值进行运算的操作,包括:
S1042:将所述索引值和所述状态空间值进行按位逻辑运算。例如:将所述索引值与状态空间值的低Z位进行按位逻辑运算。
在图8所示的所述编码方法的实施例中,所述状态空间模块具体可以为一个CRC寄存器组。根据编码中采用的CRC的类型,确定CRC寄存器组的存储空间,一般来讲,CRC寄存器组的储存空间可以为CRC长度的两倍,如果CRC的长度为Z比特,那么CRC寄存器组的存储空间可以为2Z比特,每次可以处理Z个待编码比特。
在所述步骤S104中,根据所述步骤S102中获取的所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,还可以包括:
S1043:将CRC寄存器组高Z比特位与根据所述步骤S102中获取的所述Z个待编码比特中的值进行异或运算,得到索引ID,并通过该索引ID获得索引模块中对应的索引值。
相应地,在所述步骤S104中,根据所述索引值和所述状态空间值进行运算的操作,包括:
S1044:将CRC寄存器组中全部的比特位按照固定方向(例如:向左或向右)循环移Z个比特位,之后,将所述索引值与CRC寄存器组低Z位做异或运算,得到新的状态空间值。
相应地,在所述步骤S105中,从所述新的状态空间值中获取数值赋给所述辅助比特的处理中,所述辅助比特是指PC校验比特。
图10为本申请提供的另一种编码方法的实施例的流程示意图,如图10所示,该编码方法具体包括:
S201:接收待编码的比特序列;
S202:将状态空间模块中的状态空间值进行初始化,并从所述待编码的比特序列中获取一组由信息比特和辅助比特组成的Z个待编码比特,然后执行步骤S203;
S203:将所述Z个待编码比特中的辅助比特的位置置为固定值,然后执行步骤S204;
S204:根据执行步骤S203后输出的所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,根据所述索引值和所述状态空间值进行运算,得到新的状态空间值,并将所述状态空间模块中的状态空间值更新为所述新的状态空间值;
S205:对执行步骤S203后输出的所述Z个待编码比特进行编码,并从所述新的状态空间值中获取数值赋给所述Z个待编码比特中的所述辅助比特;然后执行步骤S206;
S206:从所述待编码的比特序列中获取所述一组Z个待编码比特之后的下一组由信息比特和辅助比特组成的Z个待编码比特,所述下一组Z个待编码比特与所述一组Z个待编码比特相邻,并将所述下一组Z个待编码比特作为所述步骤S203的输入,并执行所述步骤S203,所述步骤S204,及所述步骤S205,不断循环,直至所述下一组Z个待编码比特为所述待编码的比特序列中最后的待编码比特。
在图10所示的编码方法的实施例中,针对所述待编码的比特序列中的信息比特和辅助比特,每次处理的Z个待编码比特中既包括信息比特也包括辅助比特,并且连续的提取所述所述待编码的比特序列中的信息比特和辅助比特,直到将所述待编码的比特序列中的信息比特和辅助比特处理完毕。
在图10所示的编码方法的实施例中,通过在编码端进行辅助比特编码,使得解码端能够采用辅助比特对编码后的比特序列进行纠错、检错或者早停等辅助译码操作。并且由于每次针对Z个待编码比特进行编码,采用这种块处理的方式进行辅助比特编码,方便硬件实施,可以有效提升编码效率与吞吐量。
在图10所示的所述编码方法的实施例中,在所述步骤S202中,所述获取的Z个待编码比特中信息比特和辅助比特之间的前后次序与所述信息比特和所述辅助比特在所述待编码的比特序列中的前后次序是一致的。具体来讲,如图9所示,在Z为4的情况下,从所述待编码的比特序列中连续的提取所述信息比特和所述辅助比特。
在图10所示的所述编码方法的实施例中,在所述步骤S206中,从所述待编码的比特序列中获取所述一组Z个待编码比特之后的下一组由信息比特和辅助比特组成的的Z个待编码比特,所述下一组Z个待编码比特与所述一组Z个待编码比特相邻,是指:如图9所示,在Z为4的情况下,从所述待编码的比特序列中连续的提取信息比特和辅助比特,从所述待编码的比特序列中连续的获取信息比特和辅助比特之后,接着再从所述待编码的比特序列中获取信息比特和辅助比特时,在所述待编码的比特序列中,两次获取的4个待编码比特之间不存在信息比特,也不存在辅助比特。
在所述图10所示的编码方法的实施例中,在所述步骤S206中,所述下一组Z个待编码比特为所述待编码的比特序列中最后的待编码比特是指:
所述待编码的比特序列最后还剩下的比特中的信息比特和辅助比特的总数等于Z个或不足Z个。
在所述待编码的比特序列最后还剩下的比特中的信息比特和辅助比特的总数不足Z个的情况下,将不足的部分填充固定值0或1。
在所述图10所示的编码方法的实施例中,在所述步骤S203中,所述信息比特的位置的值不需要改变。
在所述图10所示的编码方法的实施例中,步骤S204可以在步骤S205之前执行。
在图10所示的所述编码方法的实施例中,在所述步骤204之前还包括:
对所述待编码的比特序列中的所述Z个待编码比特的2z种排列组合进行预编码,将预编码后的结果存储在所述索引模块中。所述预编码中所采用的编码方式与所述步骤S205中所述的编码中所采用的编码方式是一致的,所述预编码是所述步骤S205中所述的编码的预处理过程。具体来讲,所述预编码后的结果可以是指预编码值,所述预编码值作为索引值存储在所述索引模块中。所述索引模块中的索引值可以以索引表格的形式存储。具体来讲,所述索引值可以以离线存储的方式存储在所述索引模块中。
其中,所述的预编码是针对未经过步骤S203处理的Z个待编码比特进行处理的。所述步骤S205中所述的编码的编码方式可以认为是该编码方法实施例的目标编码方法,也就是说,所述步骤S205中所述的编码的编码方式可以认为是该编码方法实施例打算采用的编码方法。
在图10所示的所述编码方法的实施例中,在所述步骤S205中,对执行步骤S203后输出的所述Z个待编码比特进行编码的步骤中,所述的编码是指:检验编码方式的编码或信息摘要编码方式的编码或线性运算方式的编码。其中,检验编码方式的编码可以是CRC编码或PC编码。信息摘要编码方式的编码可以是HASH(哈希)编码等。线性运算方式的编码可以为采用编码矩阵的方式的编码。
在图10所示的所述编码方法的实施例中,在所述步骤S204中,根据执行步骤S203后输出的所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,包括:
将所述状态空间值的低Z个比特位与所述执行步骤S203后输出的所述Z个待编码比特中的值进行运算,得到索引ID,并通过该索引ID获得索引模块中存储的索引值。
在图10所示的所述编码方法的实施例中,在所述步骤S204中,根据所述索引值和所述状态空间值进行运算的操作,包括:
将所述索引值和所述状态空间值进行按位逻辑运算。
具体的按位逻辑运算方式可以为按位异或运算,或者按位与运算、或者按位或运算、或者按位与非运算等。
将所述索引值和所述状态空间值进行按位逻辑运算具体可以是:将所述索引值与所述状态空间值的低Z位进行按位逻辑运算。
在图10所示的所述编码方法的实施例中,在采用CRC编码或PC编码的情况下,在所述步骤S204中,根据所述索引值和所述状态空间值进行运算的操作包括:将所述索引值和所述状态空间值进行按位异或(XOR)运算。
在图10所示的所述编码方法的实施例中,在所述步骤S204中,根据执行步骤S203后输出的所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,包括:
S2041:将所述状态空间值按照固定方向(例如:向左或向右)循环移Z个比特位,之后,将所述状态空间值的低Z个比特位与所述执行步骤S203后输出的所述Z个待编码比特中的值进行运算,得到索引ID,并通过该索引ID获得索引模块中存储的索引值。
相应地,在所述步骤S204中,根据所述索引值和所述状态空间值进行运算的操作,包括:
S2042:将所述索引值和所述状态空间值进行按位逻辑运算。例如:将所述索引值与状态空间值的低Z位进行按位逻辑运算。
在图10所示的所述编码方法的实施例中,所述状态空间模块具体可以为一个CRC寄存器组。根据编码中采用的CRC的类型,确定CRC寄存器组的存储空间,一般来讲,CRC寄存器组的储存空间可以为CRC长度的两倍,如果CRC的长度为Z比特,那么CRC寄存器组的存储空间可以为2Z比特,每次可以处理Z个待编码比特。
在所述步骤S204中,根据执行步骤S203后输出的所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,还可以包括:
S2043:将CRC寄存器组高Z比特位与所述执行步骤S203后输出的所述Z个待编码比特中的值进行异或运算,得到索引ID,并通过该索引ID获得索引模块中对应的索引值。
相应地,在所述步骤S204中,根据所述索引值和所述状态空间值进行运算的操作,包括:
S2044:将CRC寄存器组中全部的比特位按照固定方向(例如:向左或向右)循环移动Z个比特位,之后,将所述索引值与CRC寄存器组低Z位做异或运算,得到新的状态空间值。
相应地,在所述步骤S205中,从所述新的状态空间值中获取数值赋给所述辅助比特的处理中,所述辅助比特是指PC校验比特。
图11为本申请提供的再一种编码方法的实施例的流程示意图,如图11所示,该编码方法具体包括:
S301:接收待编码的比特序列;
S302:将状态空间模块中的状态空间值进行初始化,并从所述待编码的比特序列中获取一组相邻的Z个待编码比特,然后执行步骤S303;
S303:所述Z个待编码比特包括信息比特,冻结比特,以及辅助比特中的至少一种,在所述Z个待编码比特包括有辅助比特的情况下,将所述辅助比特的位置置为固定值,在所述Z个待编码比特包括有冻结比特的情况下,将所述冻结比特的位置置为固定值,然后执行步骤S304;
S304:根据执行步骤S303后输出的所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,根据所述索引值和所述状态空间值进行运算,得到新的状态空间值,并将所述状态空间模块中的状态空间值更新为所述新的状态空间值;
S305:对执行步骤S303后输出的所述Z个待编码比特进行编码,在所述Z个待编码比特包括有所述辅助比特的情况下,从所述新的状态空间值中获取数值赋给所述辅助比特;然后执行步骤S306;
S306:从所述待编码的比特序列中获取所述一组Z个待编码比特之后的下一组相邻的Z个待编码比特,所述下一组Z个待编码比特与所述一组Z个待编码比特相邻,并将所述下一组Z个待编码比特作为所述步骤S303的输入,并执行所述步骤S303,所述步骤S304及所述步骤S305,不断循环,直至所述下一组Z个待编码比特为所述待编码的比特序列中最后的待编码比特。
在图11所示的编码方法的实施例中,针对所述待编码的比特序列中的信息比特,冻结比特以及辅助比特,每次从待编码的比特序列中连续的提取Z个比特进行处理,直到将所述待编码的比特序列中的比特处理完毕。所述Z个待编码比特可能包括所述信息比特,所述冻结比特,以及所述辅助比特中的一种或多种。
本申请的上述实施例中,通过在编码端进行辅助比特编码,使得解码端能够采用辅助比特对编码后的比特序列进行纠错、检错或者早停等辅助译码操作。并且由于每次针对Z个待编码比特进行编码,采用这种块处理的方式进行辅助比特编码,方便硬件实施,可以有效提升编码效率与吞吐量。
在图11所示的所述编码方法的实施例中,在所述步骤S302中,所述获取的Z个待编码比特中的信息比特,辅助比特和冻结比特之间的前后次序与所述信息比特,所述辅助比特和所述冻结比特在所述待编码的比特序列中的前后次序是一致的。具体来讲,如图9所示,在Z为4的情况下,从所述待编码的比特序列中连续的提取所述信息比特,所述辅助比特和所述冻结比特。
在所述图11所示的编码方法的实施例中,在所述步骤S306中,所述下一组相邻的Z个待编码比特为所述待编码的比特序列中最后的待编码比特是指:
所述待编码的比特序列最后还剩下小于或等于Z个待编码比特,在所述待编码的比特序列最后还剩下的待编码比特不够Z个的情况下,将不足的部分填充固定值0或1。
在所述图11所示的编码方法的实施例中,在所述步骤S303中,所述将所述冻结比特的位置置为固定值,其中,所述固定值是指编码端(或编码侧)和译码端(或译码侧)约定的固定值。
在所述图11所示的编码方法的实施例中,在所述步骤S303中,所述信息比特的位置的值不需要改变。
在所述图11所示的编码方法的实施例中,所述步骤S304可以在步骤S305之前执行。
在所述图10及图11所示的编码方法的实施例中,在所述步骤S203以及所述步骤S303中,将所述辅助比特的位置置为编码端(或编码侧)和译码端(或译码侧)约定的值即可,可以为0,也可以为1。
在上述的各个编码方法的实施例中,发送设备对待编码的比特序列进行编码得到编码后的比特序列,编码后的比特序列中包括信息比特,冻结比特,以及辅助比特,其中,所述辅助比特的值通过所述状态空间值获取。
在上述的各个编码方法的实施例中,Z为大于0的偶数。
在上述的各个编码方法的实施例中,所述状态空间模块的形式具体可以为寄存器,例如:寄存器组。
在上述的各个编码方法的实施例中,将状态空间模块中的状态空间值进行初始化的步骤中,所述状态空间模块中的值进行初始化后的值为:编码侧(或编码端)与译码侧(或译码端)之间约定的值。例如:初始化后的值可以为全“0”,或者编码侧与译码侧约定好的任意一种固定序列。具体的来讲,所述状态空间模块可以由寄存器组实现,在将寄存器组的状态初始化为全1时,在步骤S105,S205,以及S305中的从所述新的状态空间值中获取数值赋给所述辅助比特的操作中,应将新的状态空间值取反后,再将所述新的状态空间值中的至少一个位置的数值赋给所述辅助比特。
在所述图8,图10及图11所述的编码方法的实施例中,在执行所述步骤S105,S205,以及S305的过程中,从所述新的状态空间值中获取数值赋给所述辅助比特的步骤可以包括:将所述新的状态空间值中的至少一个位置的数值赋给所述辅助比特。
在所述图8,图10及图11所述的编码方法的实施例中,多次针对不同的Z个待编码比特执行所述步骤S105,S205,以及S305的过程中,多次从所述新的状态空间值中获取数值赋给所述辅助比特的步骤可以包括:每次从状态空间模块的固定位置获取数值赋给所述辅助比特;或者采用轮回旋转的方式,按某一个固定方向,从某一位置开始,在状态空间模块中逐次更替位置选取数值赋给所述辅助比特;或者采用某种伪随机方式,从状态空间模块中选取数值赋给所述辅助比特;或者采用某种函数(例如状态空间模块的存储空间大小与辅助比特的序号之间关系的函数),在计算出的所述状态空间模块中的位置上选取数值赋给所述辅助比特。
在图11所示的所述编码方法的实施例中,在所述步骤S304之前还包括:
对所述待编码的比特序列中的所述Z个待编码比特的2z种排列组合进行预编码,将预编码后的结果存储在所述索引模块中。所述预编码中所采用的编码方式与所述步骤S305中所述的编码中所采用的编码方式是一致的,所述预编码是所述步骤S305中所述的编码的预处理过程。具体来讲,所述预编码后的结果可以是指预编码值,所述预编码值作为索引值存储在所述索引模块中。所述索引模块中的索引值可以以索引表格的形式存储。具体来讲,所述索引值可以以离线存储的方式存储在所述索引模块中。
其中,所述的预编码是针对未经过步骤S303处理的Z个待编码比特进行处理的。所述步骤S305中所述的编码的编码方式可以认为是该编码方法实施例的目标编码方法,也就是说,所述步骤S305中所述的编码的编码方式可以认为是该编码方法实施例打算采用的编码方法。
在图11所示的所述编码方法的实施例中,在所述步骤S305中,对执行步骤S303后输出的所述Z个待编码比特进行编码的步骤中,所述的编码是指:检验编码方式的编码或信息摘要编码方式的编码或线性运算方式的编码。其中,检验编码方式的编码可以是CRC编码或PC编码。信息摘要编码方式的编码可以是HASH(哈希)编码等。线性运算方式的编码可以为采用编码矩阵的方式的编码。
在图11所示的所述编码方法的实施例中,在所述步骤S304中,根据执行步骤S303后输出的所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,包括:
将所述状态空间值的低Z个比特位与所述执行步骤S303后输出的所述Z个待编码比特中的值进行运算,得到索引ID,并通过该索引ID获得索引模块中存储的索引值。
在图11所示的所述编码方法的实施例中,在所述步骤S304中,根据所述索引值和所述状态空间值进行运算的操作,包括:
将所述索引值和所述状态空间值进行按位逻辑运算。
具体的按位逻辑运算方式可以为按位异或运算,或者按位与运算、或者按位或运算、或者按位与非运算等。
将所述索引值和所述状态空间值进行按位逻辑运算具体可以是:将所述索引值与状态空间值的低Z位进行按位逻辑运算。
在图11所示的所述编码方法的实施例中,在采用CRC编码或PC编码的情况下,在所述步骤S304中,根据所述索引值和所述状态空间值进行运算的操作包括:将所述索引值和所述状态空间值进行按位异或(XOR)运算。
在图11所示的所述编码方法的实施例中,在所述步骤S304中,根据执行步骤S303后输出的所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,包括:
S3041:将所述状态空间值按照固定方向(例如:向左或向右)循环移Z个比特位,之后,将所述状态空间值的低Z个比特位与所述执行步骤S303后输出的所述Z个待编码比特中的值进行运算,得到索引ID,并通过该索引ID获得索引模块中存储的索引值。
相应地,在所述步骤S304中,根据所述索引值和所述状态空间值进行运算的操作,包括:
S3042:将所述索引值和所述状态空间值进行按位逻辑运算。例如:将所述索引值与状态空间值的低Z位进行按位逻辑运算。在图11所示的所述编码方法的实施例中,所述状态空间模块具体可以为一个CRC寄存器组。根据编码中采用的CRC的类型,确定CRC寄存器组的存储空间,一般来讲,CRC寄存器组的储存空间可以为CRC长度的两倍,如果CRC的长度为Z比特,那么CRC寄存器组的存储空间可以为2Z比特,每次可以处理Z个待编码比特。
在所述步骤S304中,根据执行步骤S303后输出的所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,还可以包括:
S3043:将CRC寄存器组高Z比特位与所述执行步骤S303后输出的所述Z个待编码比特中的值进行异或运算,得到索引ID,并通过该索引ID获得索引模块中对应的索引值。。
相应地,在所述步骤S304中,根据所述索引值和所述状态空间值进行运算的操作,包括:
S3044:将CRC寄存器组中全部的比特位按照固定方向(例如:向左或向右)循环移Z个比特位,之后,将所述索引值与CRC寄存器组低Z位做异或运算,得到新的状态空间值。
相应地,在所述步骤S305中,从所述新的状态空间值中获取数值赋给所述辅助比特的处理中,所述辅助比特是指PC校验比特。
在所述图8,图10及图11所述的编码方法的实施例中,在所述步骤S106或所述步骤S206或所述步骤S306之后还包括:
S3060:将所述待编码的比特序列中最后的待编码比特作为所述步骤S303的输入,并执行所述步骤S303,所述步骤S304及所述步骤S305之后,得到的所述状态空间模块中的状态空间值作为CRC校验比特,并进行CRC编码。
并且,在所述步骤S305或所述步骤S205或所述步骤S105中,从所述新的状态空间值中获取数值赋给所述辅助比特的处理中,所述辅助比特可以是指PC校验比特。结合步骤S3060,这样,本申请的上述实施例可以实现系统对不同种类辅助比特的同时编码,减少硬件开销,提升编码效率。
在所述图8,图10及图11所述的编码方法的实施例中,在所述步骤S106或所述步骤S206或所述步骤S306之后还包括:
S307:对编码后的比特序列进行极化编码和速率匹配得到待发送的速率匹配后的序列。
S308:发送速率匹配后的序列。
在所述图8,图10及图11所述的编码方法的实施例中,可以在执行所述S3060之后执行上述的步骤S307和步骤S308。
下面举一个具体的例子,在这个例子中的各种具体特征均可独立的并入上述的实施例。
在该例子中是利用一个17位比特的多项式生成所述状态空间值,并且所述所述状态空间值是位于16位(双字节)比特的状态空间模块中。在更新状态空间值的过程中,是以8个比特位(就是上述实施例中的Z为8的情况),也就是一个字节为单位来更新的。
状态空间值的更新过程包括:
1)将状态空间模块中的状态空间值初始化为全“0”,或者编码侧与译码侧约定好的任一种固定序列。
2)将状态空间模块中的状态空间值循环左移8位,并保存该状态空间值。
3)将状态空间模块中的状态空间值的低8位与8个待编码比特进行运算,得出一个指向索引表中相应的索引值。
4)将索引表中的索引值与状态空间模块中的状态空间值进行运算,得到新的状态空间值,并将所述状态空间模块中的状态空间值更新为所述新的状态空间值。
在上述的步骤2)中,采用寄存器是16位的寄存器,循环左移或循环右移8位的结果是一致的,都是实现寄存器高8为与低8位的交换。
下面再举一个具体的例子,在这个例子中的各种具体特征均可独立的并入上述的实施例。
在所述例子中,在进行CRC编码的同时,进行PC编码。并且在下面所述的例子中,Z为8,并且所述状态空间模块为一个CRC寄存器组。
该例子包括如下步骤:
1)将8个比特位的待编码比特所有可能的排列组合对应的CRC值制成索引表格,并将所述索引表格进行离线存储。
2)将CRC寄存器组的状态初始化为全"0"(0x0000)。(注意:CRC寄存器组初始化全为1时,最后得到的CRC比特应取反。)
3)将CRC寄存器组向左移8位,并保存到所述CRC寄存器组。
4)将左移8位之前的原CRC寄存器组高8位与所述8个比特位的待编码比特进行异或运算,得出一个指向表的索引。
5)索引所指的表值与CRC寄存器组做异或运算,得到新的状态空间值。
6)从所述新的状态空间值中获得PC比特的值,并针对下一个所述8个比特位的待编码比特执行前述的4),不断重复,直到处理完所述待编码的比特序列中最后的待编码比特。
7)所述待编码的比特序列中最后的待编码比特处理完之后,得出的状态空间值作为CRC比特,并进行CRC编码。
如图12所示,本发明实施例还提供了一种用于编码的处理装置504,该处理装置504可以通过硬件实现也可以通过软件实现,当通过硬件实现时,参见图12所示,该处理装置504包括:
输入接口电路5142,用于接收待编码的比特序列;
逻辑电路5144,用于将状态空间模块中的状态空间值进行初始化,并从所述待编码的比特序列中获取一组由Z个信息比特组成的Z个待编码比特;根据获取的所述Z个待编码比特,得到新的状态空间值,并为辅助比特赋值,所述根据获取的所述Z个待编码比特,得到新的状态空间值,并为辅助比特赋值包括:根据获取的所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,根据所述索引值和所述状态空间值进行运算,得到新的状态空间值,并将所述状态空间模块中的状态空间值更新为所述新的状态空间值;对所述获取的所述Z个待编码比特进行编码,在所述待编码的比特序列中有辅助比特位于所述Z个信息比特中的各个信息比特之间的情况下,以及,在所述待编码的比特序列中有辅助比特位于所述Z个信息比特与下一个信息比特之间的情况下,从所述新的状态空间值中获取数值赋给所述辅助比特;从所述待编码的比特序列中获取所述一组Z个待编码比特之后的下一组由Z个信息比特组成的Z个待编码比特,所述下一组Z个待编码比特与所述一组Z个待编码比特相邻,并根据所述下一组Z个待编码比特,得到新的状态空间值,并为辅助比特赋值,不断循环,直至所述下一组Z个待编码比特为所述待编码的比特序列中最后的待编码比特。
在具体实现时,上述处理装置可以是芯片或者集成电路。
本发明实施例所提供的图12所示的所述处理装置可用于执行图8或图10或图11所示的所述编码方法的各种实施例,其实现原理和技术效果类似。具体来讲,本发明实施例所提供的图12所示的所述处理装置在用于执行图8所示的所述编码方法的各种实施例的情况下,图8所示的所述编码方法中关于步骤S101的各种具体实现方式,也相应地可以作为图12所示的所述处理装置的输入接口电路5142的功能的各种具体化的实现方式。图8所示的所述编码方法中关于步骤S102,S104,S105,S106,S3060,以及S307的各种具体实现方式,也相应地可以作为图12所示的所述处理装置的逻辑电路5144的功能的各种具体化的实现方式。
本发明实施例所提供的图12所示的所述处理装置在用于执行图10所示的所述编码方法的各种实施例的情况下,
所述输入接口电路5142,用于接收待编码的比特序列;
所述逻辑电路5144,用于将状态空间模块中的状态空间值进行初始化,并从所述待编码的比特序列中获取一组由信息比特和辅助比特组成的Z个待编码比特,根据获取的所述Z个待编码比特,得到新的状态空间值,并为辅助比特赋值,所述根据获取的所述Z个待编码比特,得到新的状态空间值,并为辅助比特赋值包括:将所述Z个待编码比特中的辅助比特的位置置为固定值,然后根据所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,根据所述索引值和所述状态空间值进行运算,得到新的状态空间值,并将所述状态空间模块中的状态空间值更新为所述新的状态空间值;针对将所述Z个待编码比特中的辅助比特的位置置为固定值之后的所述Z个待编码比特进行编码,并从所述新的状态空间值中获取数值赋给所述Z个待编码比特中的所述辅助比特;然后从所述待编码的比特序列中获取所述一组Z个待编码比特之后的下一组由信息比特和辅助比特组成的Z个待编码比特,所述下一组Z个待编码比特与所述一组Z个待编码比特相邻,并根据所述下一组Z个待编码比特,得到新的状态空间值,并为辅助比特赋值,不断循环,直至所述下一组Z个待编码比特为所述待编码的比特序列中最后的待编码比特。
具体来讲,图10所示的所述编码方法中关于步骤S201的各种具体实现方式,也相应地可以作为图12所示的所述处理装置的输入接口电路5142的功能的各种具体化的实现方式。图10所示的所述编码方法中关于步骤S202,S203,S204,S205,S206,S3060,以及S307的各种具体实现方式,也相应地可以作为图12所示的所述处理装置的逻辑电路的功能的各种具体化的实现方式。
本发明实施例所提供的图12所示的所述处理装置在用于执行图11所示的所述编码方法的各种实施例的情况下,
所述输入接口电路5142,用于接收待编码的比特序列;
所述逻辑电路5144,用于将状态空间模块中的状态空间值进行初始化,并从所述待编码的比特序列中获取一组相邻的Z个待编码比特,根据获取的所述Z个待编码比特,得到新的状态空间值,并为辅助比特赋值,所述根据获取的所述Z个待编码比特,得到新的状态空间值,并为辅助比特赋值包括:所述Z个待编码比特包括信息比特,冻结比特,以及辅助比特中的至少一种,在所述Z个待编码比特包括有辅助比特的情况下,将所述辅助比特的位置置为固定值,在所述Z个待编码比特包括有冻结比特的情况下,将所述冻结比特的位置置为固定值,然后根据所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,根据所述索引值和所述状态空间值进行运算,得到新的状态空间值,并将所述状态空间模块中的状态空间值更新为所述新的状态空间值;针对将所述Z个待编码比特中的辅助比特和冻结比特的位置置为固定值之后的所述Z个待编码比特进行编码,在所述Z个待编码比特包括有所述辅助比特的情况下,从所述新的状态空间值中获取数值赋给所述辅助比特;然后从所述待编码的比特序列中获取所述一组Z个待编码比特之后的下一组相邻的Z个待编码比特,所述下一组Z个待编码比特与所述一组Z个待编码比特相邻,并根据所述下一组Z个待编码比特,得到新的状态空间值,并为辅助比特赋值,不断循环,直至所述下一组Z个待编码比特为所述待编码的比特序列中最后的待编码比特。
具体来讲,图11所示的所述编码方法中关于步骤S301的各种具体实现方式,也相应地可以作为图12所示的所述处理装置的所述输入接口电路5142的功能的各种具体化的实现方式。图11所示的所述编码方法中关于步骤S302,S303,S304,S305,S306,S3060,以及S307的各种具体实现方式,也相应地可以作为图12所示的所述处理装置的逻辑电路的功能的各种具体化的实现方式。
当该处理装置504通过软件实现时,参见参见图13所示,该处理装置504包括:
存储器5044,用于存储程序;
处理器5042,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理装置用于实现图8或图10或图11所示的所述编码方法的各种实施例。
上述存储器5044可以是物理上独立的单元,也可以与处理器5042集成在一起,具体参见图14所示。
参见图15所示,为本申请还提供一种通信设备500的实施例,用于实现编码的功能,该通信设备500包括:上述各个实施例中的处理装置504,以及收发器。
所述收发器,用于发送速率匹配后的序列。
上述通信设备可以是终端,也可以是网络设备。当该通信设备是终端时,参见图16所示,该终端600还可以包括电源512、用于给终端中的各种器件或电路提供电源;该终端还可以包括天线510,用于将收发器输出的上行数据通过无线信号发送出去,或者将收到的无线信号输出给收发器。
除此之外,为了使得终端的功能更加完善,该终端还可以包括输入单元514,显示单元516,音频电路518,摄像头520和传感器522等中的一个或多个,所述音频电路518可以包括扬声器5182,麦克风5184等。
结合前面的描述,本领域的技术人员可以意识到,本文实施例的方法,可以通过硬件(例如,逻辑电路),或者软件,或者硬件与软件的结合来实现。这些方法究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
当上述功能通过软件的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。在这种情况下,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (24)

1.一种编码方法,其特征在于,所述方法包括:
S101:接收待编码的比特序列;
S102:将状态空间模块中的状态空间值进行初始化,并从所述待编码的比特序列中获取一组由Z个信息比特组成的Z个待编码比特;
S104:根据所述步骤S102中获取的所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,根据所述索引值和所述状态空间值进行运算,得到新的状态空间值,并将所述状态空间模块中的状态空间值更新为所述新的状态空间值;
S105:对所述步骤S102中获取的所述Z个待编码比特进行编码,在所述待编码的比特序列中有辅助比特位于所述Z个信息比特中的各个信息比特之间的情况下,以及,在所述待编码的比特序列中有辅助比特位于所述Z个信息比特与下一个信息比特之间的情况下,从所述新的状态空间值中获取数值赋给所述辅助比特;然后执行步骤S106;
S106:从所述待编码的比特序列中获取所述一组Z个待编码比特之后的下一组由Z个信息比特组成的Z个待编码比特,所述下一组Z个待编码比特与所述一组Z个待编码比特相邻,并将所述下一组Z个待编码比特作为所述步骤S104的输入,并执行所述步骤S104,及所述步骤S105,不断循环,直至所述下一组Z个待编码比特为所述待编码的比特序列中最后的待编码比特。
2.如权利要求1所述的编码方法,其特征在于,在所述步骤S104中,根据所述索引值和所述状态空间值进行运算的操作,包括:将所述索引值和所述状态空间值进行按位逻辑运算。
3.如权利要求1所述的编码方法,其特征在于,在所述步骤S104中,根据所述步骤S102中获取的所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,包括:
S1041:将所述状态空间值按照固定方向循环移Z个比特位,之后,将所述状态空间值的低Z个比特位与所述步骤S102中获取的所述Z个待编码比特中的值进行运算,得到索引ID,并通过该索引ID获得索引模块中存储的索引值;
相应地,在所述步骤S104中,根据所述索引值和所述状态空间值进行运算的操作,包括:
S1042:将所述索引值和所述状态空间值进行按位逻辑运算。
4.如权利要求1所述的编码方法,其特征在于,在所述步骤S106之后还包括:
S3060:将所述待编码的比特序列中最后的待编码比特作为所述步骤S104的输入,并执行所述步骤S104,及所述步骤S105之后,得到的所述状态空间模块中的状态空间值作为CRC校验比特,并进行CRC编码,
并且,在所述步骤S105中,从所述新的状态空间值中获取数值赋给所述辅助比特的处理中,所述辅助比特是指PC校验比特。
5.一种编码方法,其特征在于,所述方法包括:
S201:接收待编码的比特序列;
S202:将状态空间模块中的状态空间值进行初始化,并从所述待编码的比特序列中获取一组由信息比特和辅助比特组成的Z个待编码比特,然后执行步骤S203;
S203:将所述Z个待编码比特中的辅助比特的位置置为固定值,然后执行步骤S204;
S204:根据执行步骤S203后输出的所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,根据所述索引值和所述状态空间值进行运算,得到新的状态空间值,并将所述状态空间模块中的状态空间值更新为所述新的状态空间值;
S205:对执行步骤S203后输出的所述Z个待编码比特进行编码,并从所述新的状态空间值中获取数值赋给所述Z个待编码比特中的所述辅助比特;然后执行步骤S206;
S206:从所述待编码的比特序列中获取所述一组Z个待编码比特之后的下一组由信息比特和辅助比特组成的Z个待编码比特,所述下一组Z个待编码比特与所述一组Z个待编码比特相邻,并将所述下一组Z个待编码比特作为所述步骤S203的输入,并执行所述步骤S203,所述步骤S204,及所述步骤S205,不断循环,直至所述下一组Z个待编码比特为所述待编码的比特序列中最后的待编码比特。
6.如权利要求5所述的编码方法,其特征在于,在所述步骤S204中,根据所述索引值和所述状态空间值进行运算的操作,包括:将所述索引值和所述状态空间值进行按位逻辑运算。
7.如权利要求5所述的编码方法,其特征在于,在所述步骤S204中,根据执行步骤S203后输出的所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,包括:
S2041:将所述状态空间值按照固定方向循环移Z个比特位,之后,将所述状态空间值的低Z个比特位与所述执行步骤S203后输出的所述Z个待编码比特中的值进行运算,得到索引ID,并通过该索引ID获得索引模块中存储的索引值;
相应地,在所述步骤S204中,根据所述索引值和所述状态空间值进行运算的操作,包括:
S2042:将所述索引值和所述状态空间值进行按位逻辑运算。
8.如权利要求5所述的编码方法,其特征在于,在所述步骤S206之后还包括:
S3060:将所述待编码的比特序列中最后的待编码比特作为所述步骤S203的输入,并执行所述步骤S203,所述步骤S204及所述步骤S205之后,得到的所述状态空间模块中的状态空间值作为CRC校验比特,并进行CRC编码;
并且,在所述步骤S205中,从所述新的状态空间值中获取数值赋给所述辅助比特的处理中,所述辅助比特是指PC校验比特。
9.一种编码方法,其特征在于,所述方法包括:
S301:接收待编码的比特序列;
S302:将状态空间模块中的状态空间值进行初始化,并从所述待编码的比特序列中获取一组相邻的Z个待编码比特,然后执行步骤S303;
S303:所述Z个待编码比特包括信息比特,冻结比特,以及辅助比特中的至少一种,在所述Z个待编码比特包括有辅助比特的情况下,将所述辅助比特的位置置为固定值,在所述Z个待编码比特包括有冻结比特的情况下,将所述冻结比特的位置置为固定值,然后执行步骤S304;
S304:根据执行步骤S303后输出的所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,根据所述索引值和所述状态空间值进行运算,得到新的状态空间值,并将所述状态空间模块中的状态空间值更新为所述新的状态空间值;
S305:对执行步骤S303后输出的所述Z个待编码比特进行编码,在所述Z个待编码比特包括有所述辅助比特的情况下,从所述新的状态空间值中获取数值赋给所述辅助比特;然后执行步骤S306;
S306:从所述待编码的比特序列中获取所述一组Z个待编码比特之后的下一组相邻的Z个待编码比特,所述下一组Z个待编码比特与所述一组Z个待编码比特相邻,并将所述下一组Z个待编码比特作为所述步骤S303的输入,并执行所述步骤S303,所述步骤S304及所述步骤S305,不断循环,直至所述下一组Z个待编码比特为所述待编码的比特序列中最后的待编码比特。
10.如权利要求9所述的编码方法,其特征在于,在所述步骤S304中,根据所述索引值和所述状态空间值进行运算的操作,包括:将所述索引值和所述状态空间值进行按位逻辑运算。
11.如权利要求9所述的编码方法,其特征在于,在所述步骤S304中,根据执行步骤S303后输出的所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,包括:
S3041:将所述状态空间值按照固定方向循环移Z个比特位,之后,将所述状态空间值的低Z个比特位与所述执行步骤S303后输出的所述Z个待编码比特中的值进行运算,得到索引ID,并通过该索引ID获得索引模块中存储的索引值;
相应地,在所述步骤S304中,根据所述索引值和所述状态空间值进行运算的操作,包括:
S3042:将所述索引值和所述状态空间值进行按位逻辑运算。
12.如权利要求9所述的编码方法,其特征在于,在所述步骤S306之后还包括:
S3060:将所述待编码的比特序列中最后的待编码比特作为所述步骤S303的输入,并执行所述步骤S303,所述步骤S304及所述步骤S305之后,得到的所述状态空间模块中的状态空间值作为CRC校验比特,并进行CRC编码;
并且,在所述步骤S305中,从所述新的状态空间值中获取数值赋给所述辅助比特的处理中,所述辅助比特是指PC校验比特。
13.一种用于编码的处理装置,其特征在于,该处理装置包括:
输入接口电路,用于接收待编码的比特序列;
逻辑电路,用于将状态空间模块中的状态空间值进行初始化,并从所述待编码的比特序列中获取一组由Z个信息比特组成的Z个待编码比特;根据获取的所述Z个待编码比特,得到新的状态空间值,并为辅助比特赋值,所述根据获取的所述Z个待编码比特,得到新的状态空间值,并为辅助比特赋值包括:根据获取的所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,根据所述索引值和所述状态空间值进行运算,得到新的状态空间值,并将所述状态空间模块中的状态空间值更新为所述新的状态空间值;对所述获取的所述Z个待编码比特进行编码,在所述待编码的比特序列中有辅助比特位于所述Z个信息比特中的各个信息比特之间的情况下,以及,在所述待编码的比特序列中有辅助比特位于所述Z个信息比特与下一个信息比特之间的情况下,从所述新的状态空间值中获取数值赋给所述辅助比特;从所述待编码的比特序列中获取所述一组Z个待编码比特之后的下一组由Z个信息比特组成的Z个待编码比特,所述下一组Z个待编码比特与所述一组Z个待编码比特相邻,并根据所述下一组Z个待编码比特,得到新的状态空间值,并为辅助比特赋值,不断循环,直至所述下一组Z个待编码比特为所述待编码的比特序列中最后的待编码比特。
14.如权利要求13所述的处理装置,其特征在于,所述根据所述索引值和所述状态空间值进行运算,包括:将所述索引值和所述状态空间值进行按位逻辑运算。
15.如权利要求13所述的处理装置,其特征在于,根据所述获取的所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,包括:
将所述状态空间值按照固定方向循环移Z个比特位,之后,将所述状态空间值的低Z个比特位与所述获取的所述Z个待编码比特中的值进行运算,得到索引ID,并通过该索引ID获得索引模块中存储的索引值;
相应地,根据所述索引值和所述状态空间值进行运算,包括:
将所述索引值和所述状态空间值进行按位逻辑运算。
16.如权利要求13所述的处理装置,其特征在于,所述逻辑电路进一步用于:
根据所述待编码的比特序列中最后的待编码比特得到新的状态空间值,并为辅助比特赋值,之后,得到的所述状态空间模块中的状态空间值作为CRC校验比特,并进行CRC编码,
并且,在从所述新的状态空间值中获取数值赋给所述辅助比特时,所述辅助比特是指PC校验比特。
17.一种用于编码的处理装置,其特征在于,该处理装置包括:
输入接口电路,用于接收待编码的比特序列;
逻辑电路,用于将状态空间模块中的状态空间值进行初始化,并从所述待编码的比特序列中获取一组由信息比特和辅助比特组成的Z个待编码比特,根据获取的所述Z个待编码比特,得到新的状态空间值,并为辅助比特赋值,所述根据获取的所述Z个待编码比特,得到新的状态空间值,并为辅助比特赋值包括:将所述Z个待编码比特中的辅助比特的位置置为固定值,然后根据所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,根据所述索引值和所述状态空间值进行运算,得到新的状态空间值,并将所述状态空间模块中的状态空间值更新为所述新的状态空间值;针对将所述Z个待编码比特中的辅助比特的位置置为固定值之后的所述Z个待编码比特进行编码,并从所述新的状态空间值中获取数值赋给所述Z个待编码比特中的所述辅助比特;然后从所述待编码的比特序列中获取所述一组Z个待编码比特之后的下一组由信息比特和辅助比特组成的Z个待编码比特,所述下一组Z个待编码比特与所述一组Z个待编码比特相邻,并根据所述下一组Z个待编码比特,得到新的状态空间值,并为辅助比特赋值,不断循环,直至所述下一组Z个待编码比特为所述待编码的比特序列中最后的待编码比特。
18.如权利要求17所述的处理装置,其特征在于,根据所述索引值和所述状态空间值进行运算的操作,包括:将所述索引值和所述状态空间值进行按位逻辑运算。
19.如权利要求17所述的处理装置,其特征在于,根据所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,包括:
将所述状态空间值按照固定方向循环移Z个比特位,之后,将所述状态空间值的低Z个比特位与所述Z个待编码比特中的值进行运算,得到索引ID,并通过该索引ID获得索引模块中存储的索引值;
相应地,根据所述索引值和所述状态空间值进行运算,包括:
将所述索引值和所述状态空间值进行按位逻辑运算。
20.如权利要求17所述的处理装置,其特征在于,所述逻辑电路进一步用于:
根据所述待编码的比特序列中最后的待编码比特得到新的状态空间值,并为辅助比特赋值,之后,得到的所述状态空间模块中的状态空间值作为CRC校验比特,并进行CRC编码;
并且,在从所述新的状态空间值中获取数值赋给所述辅助比特时,所述辅助比特是指PC校验比特。
21.一种用于编码的处理装置,其特征在于,该处理装置包括:
输入接口电路,用于接收待编码的比特序列;
逻辑电路,用于将状态空间模块中的状态空间值进行初始化,并从所述待编码的比特序列中获取一组相邻的Z个待编码比特,根据获取的所述Z个待编码比特,得到新的状态空间值,并为辅助比特赋值,所述根据获取的所述Z个待编码比特,得到新的状态空间值,并为辅助比特赋值包括:所述Z个待编码比特包括信息比特,冻结比特,以及辅助比特中的至少一种,在所述Z个待编码比特包括有辅助比特的情况下,将所述辅助比特的位置置为固定值,在所述Z个待编码比特包括有冻结比特的情况下,将所述冻结比特的位置置为固定值,然后根据所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,根据所述索引值和所述状态空间值进行运算,得到新的状态空间值,并将所述状态空间模块中的状态空间值更新为所述新的状态空间值;针对将所述Z个待编码比特中的辅助比特和冻结比特的位置置为固定值之后的所述Z个待编码比特进行编码,在所述Z个待编码比特包括有所述辅助比特的情况下,从所述新的状态空间值中获取数值赋给所述辅助比特;然后从所述待编码的比特序列中获取所述一组Z个待编码比特之后的下一组相邻的Z个待编码比特,所述下一组Z个待编码比特与所述一组Z个待编码比特相邻,并根据所述下一组Z个待编码比特,得到新的状态空间值,并为辅助比特赋值,不断循环,直至所述下一组Z个待编码比特为所述待编码的比特序列中最后的待编码比特。
22.如权利要求21所述的处理装置,其特征在于,根据所述索引值和所述状态空间值进行运算,包括:将所述索引值和所述状态空间值进行按位逻辑运算。
23.如权利要求21所述的处理装置,其特征在于,根据所述Z个待编码比特中的值,以及所述状态空间模块中的状态空间值,从索引模块中获取对应的索引值,包括:
将所述状态空间值按照固定方向循环移Z个比特位,之后,将所述状态空间值的低Z个比特位与所述Z个待编码比特中的值进行运算,得到索引ID,并通过该索引ID获得索引模块中存储的索引值;
相应地,根据所述索引值和所述状态空间值进行运算,包括:
将所述索引值和所述状态空间值进行按位逻辑运算。
24.如权利要求21所述的处理装置,其特征在于,所述逻辑电路进一步用于:
根据所述待编码的比特序列中最后的待编码比特得到新的状态空间值,并为辅助比特赋值,之后,得到的所述状态空间模块中的状态空间值作为CRC校验比特,并进行CRC编码;
并且,在从所述新的状态空间值中获取数值赋给所述辅助比特时,所述辅助比特是指PC校验比特。
CN201710301564.2A 2017-05-02 2017-05-02 一种编码的方法和装置 Active CN108809485B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201710301564.2A CN108809485B (zh) 2017-05-02 2017-05-02 一种编码的方法和装置
EP18794539.9A EP3614592A4 (en) 2017-05-02 2018-05-02 CODING METHOD AND DEVICE
PCT/CN2018/085368 WO2018202054A1 (zh) 2017-05-02 2018-05-02 一种编码的方法和装置
US16/672,309 US11075715B2 (en) 2017-05-02 2019-11-01 Encoding method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710301564.2A CN108809485B (zh) 2017-05-02 2017-05-02 一种编码的方法和装置

Publications (2)

Publication Number Publication Date
CN108809485A CN108809485A (zh) 2018-11-13
CN108809485B true CN108809485B (zh) 2020-02-21

Family

ID=64016465

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710301564.2A Active CN108809485B (zh) 2017-05-02 2017-05-02 一种编码的方法和装置

Country Status (4)

Country Link
US (1) US11075715B2 (zh)
EP (1) EP3614592A4 (zh)
CN (1) CN108809485B (zh)
WO (1) WO2018202054A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108574560B (zh) * 2017-03-13 2020-07-24 华为技术有限公司 一种编码方法、译码方法、装置和设备
CN111193519B (zh) * 2020-01-09 2023-06-09 广西大学 一种基于辅助译码比特的Polar码编译码方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102122966A (zh) * 2011-04-15 2011-07-13 北京邮电大学 基于信道极化的交错结构重复码的编码器及其编译码方法
US8381083B2 (en) * 2009-10-22 2013-02-19 Arm Limited Error control coding for single error correction and double error detection
CN103873197A (zh) * 2014-03-11 2014-06-18 重庆邮电大学 空间相关性与分簇相结合的3d mimo有限反馈开销降低方法
CN104079370A (zh) * 2013-03-27 2014-10-01 华为技术有限公司 信道编译码方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6571361B1 (en) * 1995-09-29 2003-05-27 Kabushiki Kaisha Toshiba Encoder and decoder
CN108809512B (zh) * 2012-10-17 2019-05-07 华为技术有限公司 一种编译码的方法、装置及系统
CN107113090B (zh) 2015-01-26 2019-11-19 华为技术有限公司 极化Polar码的生成方法和设备
CN107810605A (zh) 2015-04-30 2018-03-16 瑞典爱立信有限公司 消息解码
CN105811998B (zh) * 2016-03-04 2019-01-18 深圳大学 一种基于密度演进的极化码构造方法及极化码编译码系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8381083B2 (en) * 2009-10-22 2013-02-19 Arm Limited Error control coding for single error correction and double error detection
CN102122966A (zh) * 2011-04-15 2011-07-13 北京邮电大学 基于信道极化的交错结构重复码的编码器及其编译码方法
CN104079370A (zh) * 2013-03-27 2014-10-01 华为技术有限公司 信道编译码方法及装置
CN103873197A (zh) * 2014-03-11 2014-06-18 重庆邮电大学 空间相关性与分簇相结合的3d mimo有限反馈开销降低方法

Also Published As

Publication number Publication date
WO2018202054A1 (zh) 2018-11-08
CN108809485A (zh) 2018-11-13
US20200067638A1 (en) 2020-02-27
US11075715B2 (en) 2021-07-27
EP3614592A1 (en) 2020-02-26
EP3614592A4 (en) 2020-04-29

Similar Documents

Publication Publication Date Title
US11923973B2 (en) Method and apparatus for encoding data using a polar code
US11432186B2 (en) Method and device for transmitting data with rate matching
CN107659381B (zh) 编译码方法及装置
CN109547034B (zh) 译码方法及设备、译码器
CN108429599B (zh) 用于通信系统中的数据处理的方法和设备
CN110663189B (zh) 用于极化编码的方法和装置
CN109257140B (zh) 一种极化信道可靠度排序的方法、极化码编码方法及装置
CN108288970B (zh) 一种极化码编译码方法及装置
CN108809332B (zh) 一种Polar码传输方法及装置
US20200007164A1 (en) Coding method, decoding method, apparatus, and device
CN111446969A (zh) 一种级联crc码的极化码编码方法及装置
CN108809485B (zh) 一种编码的方法和装置
CN110391874B (zh) 极化码的速率匹配、解速率匹配方法及设备
RU2743100C1 (ru) Способы и устройства для передачи и обработки данных, устройство сетевой стороны и терминал
CN114079530A (zh) 编码方法及装置
CN109391353B (zh) 一种速率匹配的方法和装置
CN108390739B (zh) 数据处理的方法和装置
CN109088698B (zh) 一种编码方法及通信设备
CN111600613B (zh) 一种校验方法、装置、译码器、接收机及计算机存储介质
CN112703687B (zh) 信道编码方法及装置
CN109474377B (zh) 编译码方法及装置
CN109474383B (zh) 编码方法及装置
CN109474379B (zh) 编码方法及装置
WO2019000190A1 (en) CRC AND POLAR CODE TRANSMISSION SCHEME
CN109474376B (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