CN111525980A - 译码方法及装置 - Google Patents

译码方法及装置 Download PDF

Info

Publication number
CN111525980A
CN111525980A CN201910105810.6A CN201910105810A CN111525980A CN 111525980 A CN111525980 A CN 111525980A CN 201910105810 A CN201910105810 A CN 201910105810A CN 111525980 A CN111525980 A CN 111525980A
Authority
CN
China
Prior art keywords
sequence
decoded
decoding
bits
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.)
Granted
Application number
CN201910105810.6A
Other languages
English (en)
Other versions
CN111525980B (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 CN201910105810.6A priority Critical patent/CN111525980B/zh
Publication of CN111525980A publication Critical patent/CN111525980A/zh
Application granted granted Critical
Publication of CN111525980B publication Critical patent/CN111525980B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0045Arrangements at the receiver end
    • H04L1/0054Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Artificial Intelligence (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

本申请公开了一种译码方法及装置,属于通信技术领域。所述方法包括:接收待译码序列;根据待译码序列的码长,确定多种译码顺序,每种译码顺序用于指示待译码序列对应的多个比特被译出的一种先后次序;按照多种译码顺序,并行对待译码序列进行译码,输出译码后的比特序列。本申请通过待译码序列的码长,确定多种译码顺序。之后,按照多种译码顺序同时对该待译码序列进行译码。这样,在某些译码时隙内,可以同时译出多个比特,这样,待译码序列对应的多个比特被全部译出所需的时隙减少,缩短了译码时间,提高了译码效率。

Description

译码方法及装置
技术领域
本申请涉及通信技术领域,特别涉及一种译码方法及装置。
背景技术
近年来,对极化(polar)码的译码研究已经成为了通信领域的热点问题。目前,待译码序列的译码方法主要分为时序译码和非时序译码两类。其中,时序译码是指根据待译码序列的时序性按照比特位逐位进行译码。
当前主要的时序译码方法是连续消除(Successive Cancellation,SC)译码方法。在该种译码方法中,在接收到受噪声干扰后的待译码序列YN后,可以首先根据YN译出第一个比特U1。之后,根据YN和U1译码,得到第二个比特U2。在得到U2之后,根据YN、U1和U2译码,得到第三个比特U3。以此类推,直到第N个比特UN被译出为止。
由此可见,在SC译码方法中,要想得到第i个比特,必须先要译出前i-1个比特。这样,N个比特只能按照顺序逐个译出,这将导致译码时延较大,译码效率较低。
发明内容
本申请提供了一种译码方法及装置,可以用于解决待译码序列译码时延较大,译码效率较低的问题。所述技术方案如下:
第一方面,提供了一种译码方法,所述方法包括:接收待译码序列;根据所述待译码序列的码长,确定多种译码顺序,每种译码顺序用于指示所述待译码序列对应的多个比特被译出的一种先后次序;按照所述多种译码顺序,并行对所述待译码序列进行译码,输出译码后的比特序列。
在本申请实施例中,可以根据待译码序列的码长确定出多种译码顺序,并按照多种译码顺序并行对待译码序列进行译码。这样,在某些译码时隙内,可以同时译出多个比特,从而使得待译码序列对应的多个比特被全部译出所需的时隙减少,缩短了译码时间,提高了译码效率。
结合第一方面,在第一方面的某些实现方式中,根据所述待译码序列的码长,确定多种译码顺序的实现过程可以为:根据所述待译码序列的码长,确定待译码序列生成矩阵;根据所述待译码序列生成矩阵,确定标准连续消除SC译码图和多张SC序列图;根据所述SC译码图和所述多张SC序列图,确定所述多种译码顺序。
其中,根据SC译码图可以确定一种译码顺序,根据多张SC序列图中的每张SC序列图均可以对应的确定一种译码顺序,确定的各种译码顺序均不相同。并且,根据SC译码图确定的译码顺序用于指示待译码序列对应的多个比特将会按照该多个比特的编码顺序被逐一译出。
结合第一方面,在第一方面的一种实现方式中,所述待译码序列包括多个对数似然比LLR值,所述多个LLR值按顺序排列,且所述多个LLR值的顺序与所述待译码序列对应的多个比特的编码顺序一致;在此基础上,按照所述多种译码顺序,并行对所述待译码序列进行译码的实现过程可以为:在第一个时隙内,按照所述多种译码顺序,并行对所述多个LLR值进行处理,以译出每种译码顺序中排在第一位的比特;令i=2,在第i个时隙内,按照所述多种译码顺序,并行对所述多个LLR值和前i-1个时隙内译出的比特进行处理,以译出每种译码顺序中排在第i位的比特;判断所述i是否小于所述待译码序列的码长;若所述i小于所述待译码序列的码长,则根据所述第i个时隙内译出的比特,判断所述多种译码顺序中排在第i+1位的比特是否均已被译出;若所述多种译码顺序中排在第i+1位的比特未被译出,则令所述i=i+1,并返回所述在第i个时隙内,按照所述多种译码顺序,并行对所述多个LLR值和前i-1个时隙内译出的比特进行处理的步骤,直至所述i等于所述待译码序列的码长为止。
可选地,在判断所述多种译码顺序中排在第i+1位的比特是否均已被译出之后,若所述多种译码顺序中排在第i+1位的比特均已被译出,则判断所述i+1是否小于所述待译码序列的码长;若所述i+1小于所述待译码序列的码长,则令所述i=i+1,并返回判断所述多种译码顺序中排在第i+1位的比特是否均已被译出的步骤,直至所述i+1等于所述待译码序列的码长为止。
需要说明的是,本申请实施例可以按照多种译码顺序并行对多个LLR值进行处理,这样,在某个时隙内,可以同时译出多个比特。在这种情况下,若多种译码顺序中所指示的下一个被译出的比特均已在该时隙内被译出,则可以直接跳过下个时隙,对后续未被译出的比特进行译码,这样,若待译码序列对应N个比特,则不再需要N个时隙来译出,而是可以在小于N个的时隙内译出,减小了译码时延,提高了译码效率。其中,所谓直接跳过下个时隙是指不再执行对各种译码顺序所指示的下一个被译出的比特进行译码的操作。
结合第一方面,在第一方面的另一种实现方式中,所述待译码序列包括多个对数似然比LLR值,所述多个LLR值按顺序排列,且所述多个LLR值的顺序与所述待译码序列对应的多个比特的编码顺序一致;在此基础上,按照所述多种译码顺序,并行对所述待译码序列进行译码的实现过程可以为:根据每种译码顺序对所述多个LLR值的顺序进行一次调整,得到多组LLR值,每组LLR值中均包括所述多个LLR值,且每组LLR值中的所述多个LLR值的顺序与用于调整的译码顺序相同;在第一个时隙内,对所述多组LLR值中的所述多个LLR值进行处理,以译出每种译码顺序中排在第一位的比特;令i=2,在第i个时隙内,对所述多组LLR值中的所述多个LLR值和前i-1个时隙内译出的比特进行处理,以译出每种译码顺序中排在第i位的比特;判断所述i是否小于所述待译码序列的码长;若所述i小于所述待译码序列的码长,则根据所述第i个时隙内译出的比特,判断所述多种译码顺序中排在第i+1位的比特是否均已被译出;若所述多种译码顺序中排在第i+1位的比特未被全部译出,则令所述i=i+1,并返回所述在第i个时隙内,对所述多组LLR值中的所述多个LLR值和前i-1个时隙内译出的比特进行处理的步骤,直至所述i等于所述待译码序列的码长为止。
可选地,在判断所述多种译码顺序中排在第i+1位的比特是否均已被译出之后,若所述多种译码顺序中排在第i+1位的比特均已被译出,则判断所述i+1是否小于所述待译码序列的码长;若所述i+1小于所述待译码序列的码长,则令所述i=i+1,并返回判断所述多种译码顺序中排在第i+1位的比特是否均已被译出的步骤,直至所述i+1等于所述待译码序列的码长为止。
在该种实现方式种,根据多种译码顺序对多个LLR值的顺序进行调整,从而得到多组LLR值。之后,在第一个时隙内,并行对每组LLR值进行处理,可以译出每种译码顺序中排在第一位的比特。译出每种译码顺序中排在第一位的比特之后,在下一个时隙内同时译出每种译码顺序中排在第二位的比特。以此类推。也即,对于码长为N的待译码序列,通过调整LLR值的顺序,利用一张SC译码图,就可以在少于N个的时隙内译出待译码序列对应的N个比特,缩短了译码时延,提高了译码效率。并且,相较于第一种实现方式,该种实现方式中由于对LLR值的顺序进行了调整,因此,仅通过一张SC译码图所指示的运算方法即可以完成译码,实现了资源的复用。
第二方面,本申请提供一种译码装置,该译码装置具有实现上述第一方面及其任意可能的实现方式中的方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元。
在一种可能的设计中,当所述功能的部分或全部通过硬件实现时,该译码装置包括:输入接口电路,用于获取待译码序列;逻辑电路,用于执行上述第一方面中的译码方法,对所述待译码序列进行译码,得到译码结果,也即译码后的比特序列;输出接口电路,用于输出译码结果。
可选的,该译码装置可以是芯片或者集成电路。
在一种可能的设计中,当所述功能的部分或全部通过软件实现时,该译码装置包括:存储器,用于存储计算机程序;处理器,用于执行存储器中存储的计算机程序,当所述计算机程序被执行时,该译码装置可以实现如上述第一方面所述的译码方法。
可选的,存储器可以是物理上独立的单元,也可以与处理器集成在一起。
在一种可能的设计中,当所述功能的部分或全部通过软件实现时,该译码装置仅包括处理器。用于存储程序的存储器位于编码装置之外,处理器通过电路/电线与存储器连接,用于读取并运行存储器中存储的程序,以执行上述第一方面中所述的译码方法。
在具体实现时,该译码装置可以为芯片或集成电路。
第三方面,本申请提供一种网络设备,包括收发器、处理器和存储器。处理器用于控制收发器收发信号,存储器用于存储计算机程序,处理器用于调用并运行存储器中存储的计算机程序,使得网络设备执行第一方面任意可能的实现方式中的方法。
具体地,在网络设备作为信息和/或数据的接收端时,网络设备执行上述第一方面的译码方法,对从发送端接收到的待译码序列进行译码。
第四方面,本申请提供一种终端设备,包括收发器、处理器和存储器。处理器用于控制收发器收发信号,存储器用于存储计算机程序,处理器用于调用并运行存储器中存储的计算机程序,使得终端设备执行第一方面及其任意可能的实现方式中的方法。
具体地,在发送端设备对需要发送的信息和/或数据进行极化编码。作为信息和/或数据的接收端时,终端设备执行上述第一方面的译码方法,对从发送端接收到的待译码的比特序列进行译码。
第五方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行第一方面及其任意可能的实现方式中的方法。
第六方面,本申请提供一种计算机程序产品,该计算机程序产品包括计算机程序代码,当计算机程序代码在计算机上运行时,使得计算机执行上述第一方面及其任意一种可能的实现方式中的方法。
第七方面,本申请提供一种芯片,包括处理器。处理器用于读取并执行存储器中存储的计算机程序,以执行上述第一方面及其任意可能的实现方式中的方法。可选地,该芯片还包括存储器,该存储器与该处理器通过电路或电线与存储器连接。进一步可选地,该芯片还包括通信接口,处理器与该通信接口连接。通信接口用于接收待译码序列,处理器从通信接口获取该待译码序列,并采用上述第一方面描述的译码方法,对该待译码序列进行译码,得到译码结果;通信接口输出译码结果。该通信接口可以是输入输出接口。译码结果是指译码后的比特序列。
第八方面,本申请提供一种通信系统,包括对待编码的信息比特进行极化编码的发送端设备和对所述待译码序列进行译码的接收端设备。
本申请提供的技术方案带来的有益效果至少包括:
在本申请实施例中,可以根据接收到的待译码序列的码长,确定多种译码顺序。之后,按照多种译码顺序同时对该待译码序列进行译码。这样,在某些译码时隙内,可以同时译出多个比特,这样,待译码序列对应的多个比特被全部译出所需的时隙减少,缩短了译码时间,提高了译码效率。
附图说明
图1是本申请实施例提供的待译码序列的译码方法的实施环境图;
图2是本申请实施例提供的一种计算机设备的结构示意图;
图3是本申请实施例提供的待译码序列的译码方法的流程图;
图4是本申请实施例提供的码长为8的待译码序列的SC译码图;
图5是本申请实施例提供的码长为8的待译码序列的第一SC序列图;
图6是本申请实施例提供的码长为8的待译码序列的第二SC序列图;
图7是本申请实施例提供的码长为8的待译码序列的第三SC序列图;
图8是本申请实施例提供的码长为8的待译码序列的第四SC序列图;
图9是本申请实施例提供的码长为8的待译码序列的第五SC序列图;
图10是本申请实施例提供的SC译码过程的示意图;
图11是本申请实施例提供的一种译码装置400的示意性框图;
图12是本申请实施例提供的一种通信装置500的示意性框图;
图13是本申请实施例提供的一种通信装置600的示意性框图;
图14是本申请实施例提供的通信装置600中包括的处理装置602的内部结构示意图;
图15是本申请实施例提供的网络设备700的示意性框图;
图16是本申请实施例提供的终端800的示意性框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在对本申请实施例进行详细的介绍之前,先对本申请实施例提供的待译码序列的译码方法的实施环境进行介绍。
图1是本申请实施例提供的一种译码方法的实施环境图。如图1所示,该实施环境中包括网络设备101和终端102。
其中,终端102可以为智能手机、智能手表、平板电脑等设备。网络设备101可以为终端102提供通信服务。具体地,网络设备101可以向终端102传输下行数据。其中,在传输下行数据时,网络设备101可以对下行数据进行编码,得到待译码序列,并向终端102传输待译码序列。终端102在接收到该待译码序列之后,可以采用本申请实施例提供的译码方法来对该待译码序列进行译码。
除此之外,终端102也可以向网络设备101传输上行数据。其中,在传输上行数据时,终端102可以对上行数据进行编码,得到待译码序列,并向网络设备101传输该待译码序列。网络设备101在接收到终端102传输的待译码序列之后,可以采用本申请实施例提供的译码方法来对该待译码序列进行译码。
图2是本申请实施例提供的一种计算机设备的结构示意图。图1中的基站或者终端可以通过图2所示的计算机设备来实现。参见图2,该计算机设备包括至少一个处理器201,通信总线202,存储器203以及至少一个通信接口204。
处理器201可以是一个通用中央处理器(Central Processing Unit,CPU),微处理器,特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本申请方案程序执行的集成电路。
通信总线202可包括一通路,在上述组件之间传送信息。
存储器203可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,随机存取存储器(random access memory,RAM))或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器203可以是独立存在,通过通信总线202与处理器201相连接。存储器203也可以和处理器201集成在一起。
通信接口204,使用任何收发器一类的装置,用于与其它设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(Wireless Local Area Networks,WLAN)等。
在具体实现中,作为一种实施例,处理器201可以包括一个或多个CPU,例如图2中所示的CPU0和CPU1。
在具体实现中,作为一种实施例,计算机设备可以包括多个处理器,例如图2中所示的处理器201和处理器205。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,计算机设备还可以包括输出设备206和输入设备207。输出设备206和处理器201通信,可以以多种方式来显示信息。例如,输出设备206可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)显示设备,阴极射线管(cathode ray tube,CRT)显示设备,或投影仪(projector)等。输入设备207和处理器201通信,可以以多种方式接收用户的输入。例如,输入设备207可以是鼠标、键盘、触摸屏设备或传感设备等。
上述的计算机设备可以是一个通用计算机设备或者是一个专用计算机设备。在具体实现中,计算机设备可以是台式机、便携式电脑、网络服务器、掌上电脑(PersonalDigital Assistant,PDA)、移动手机、平板电脑、无线终端设备、通信设备或者嵌入式设备。本发明实施例不限定计算机设备的类型。
其中,存储器203用于存储执行本申请方案的程序代码,并由处理器201来控制执行。处理器201用于执行存储器203中存储的程序代码208。程序代码208中可以包括一个或多个软件模块。图1中所示的基站或者终端可以通过处理器201以及存储器203中的程序代码208中的一个或多个软件模块,来进行译码。
需要说明的是,本申请实施例提供的译码方法用于对待译码序列编码得到的序列进行译码。基于此,在介绍本申请实施例提供的译码方法之前,先对发送端设备的极化编码过程进行介绍。
待译码序列是可理论证明达到香农极限,并且具有可实用的线性复杂度编译码能力的信道编码技术。待译码序列构造的核心是通过“信道极化”的处理,在编码侧采用编码的方法使各个子信道呈现出不同的可靠性,当码长持续增加时,一部分信道将趋向于容量接近于1的无噪信道,另一部分信道趋向于容量接近于0的全噪信道,选择在容量接近于1的信道上直接传输信息以逼近信道容量。
待译码序列的编码策略正是应用了这种现象的特性,利用无噪信道传输用户有用的信息,全噪信道传输约定的信息或者不传信息。Polar码是一种线性分组码,其生成矩阵(也称为编码矩阵)为GN,编码过程可以表示为
Figure BDA0001966707580000061
其中,
Figure BDA0001966707580000062
是一个二进制的行矢量,长度为N(即码长),且N=2n,n为正整数。GN是一个N×N的矩阵,且
Figure BDA0001966707580000063
Figure BDA0001966707580000064
定义为log2N个矩阵G2的克罗内克乘积,
Figure BDA0001966707580000065
以上各式中涉及的加法、乘法操作均为二进制伽罗华域上的加法、乘法操作。
待译码序列的编码过程中,
Figure BDA0001966707580000066
中的一部分比特用来携带信息,称为信息比特集合。这些比特的索引的集合记作A。
Figure BDA0001966707580000067
中的另外的一部分比特设置为接收端和发送端预先约定的固定值,称之为固定比特集合或冻结比特(Frozen Bits)集合,其索引的集合用A的补集Ac表示。Polar码的编码过程相当于
Figure BDA0001966707580000068
这里,GN(A)是GN中由集合A中的索引对应的行得到的子矩阵。GN(Ac)是GN中由集合Ac中的索引对应的行得到的子矩阵。UA
Figure BDA0001966707580000069
中的信息比特集合,数量为K。UAc
Figure BDA00019667075800000610
中的固定比特集合,其数量为(N-K),是已知比特。这些固定比特通常被设置为0,但是只要接收端和发送端预先约定,固定比特可以被任意设置。从而,Polar码的编码输出可简化为
Figure BDA00019667075800000611
这里的UA
Figure BDA00019667075800000612
中的信息比特集合,UA为长度K的行矢量,即|A|=K,符号||表示集合中元素的个数,K为信息块大小,GN(A)是矩阵GN中由集合A中的索引对应的那些行得到的子矩阵,GN(A)是一个N×N的矩阵。
Polar码的构造过程即集合A的选取过程,决定了Polar码的性能。Polar码的构造过程通常是,根据码长N确定共存在N个极化信道,这N个极化信道分别对应生成矩阵GN的N个行。生成矩阵GN的每一行都具有一个汉明重量(也可以称作行重),每一行的汉明重量反映了该行对应的极化信道的可靠度。一个行的汉明重量是指该行非零元素的个数。其中,汉明重量都是2的整数次幂。例如,汉明重量为2、4、16、32、64、128、256等。
例如,
Figure BDA0001966707580000071
G2包括两行。第一行的汉明重量为1,第二行的汉明重量为2。
又例如,
Figure BDA0001966707580000072
包括4行,汉明重量分别为1、2、2、4。
发送端在编码时,主要包括以下处理流程:
(1)在信源(Bit Source)比特序列中添加若干循环冗余校验(Cyclic RedundancyCheck,简称:CRC)比特,经过比特交织器构成分布式CRC结构,便于接收端提前终止译码。
其中,信源比特序列应理解为发送端需要发送给接收端的信息比特序列,它是一个二进制的比特序列。另外,这里所说的若干CRC比特,也可以称为CRC校验序列或者CRC校验码,它也是一个二进制的比特序列。CRC校验序列的长度可以由系统设定。
应理解,给定一个信源比特序列,可以计算得到它的CRC校验序列,具体的计算过程可以参考现有技术,这里不作详述。
需要说明的是,在信源比特序列中添加CRC校验序列时,通常是将CRC校验序列直接加在信源比特序列之后。例如,假定信源比特序列是110010,计算得到的CRC校验序列为010100。那么将CRC校验序列直接附加在信源比特序列之后,应为110010010100。
这里所说的分布式CRC结构,是相对于上述将CRC校验序列直接附加在信源比特序列之后而言的。分布式CRC结构是指将CRC校验序列中的前几个比特交织在信源比特序列中,这样CRC校验序列的前几个比特将分散在信源比特序列中,再将CRC校验序列中的其余比特附加在完成交织的比特序列之后。继续以上面的示例来说明,假定按照系统预设,是将CRC校验序列的前3位交织在信源比特序列中,可以按照现有技术中的任意一种比特交织方法,将010交织在信源比特序列中,得到一个长度为9(即,6+3)的交织后的比特序列,再将100附在这个交织后的比特序列之后。
而在新一代无线通信系统(New Radio,简称:NR)中规定,信道编码采用24位的CRC校验序列,并且,这24位中的前8位比特交织在信源比特序列中,这24比特中的后16位比特附在完成交织的比特序列之后。其中,分布式CRC结构是NR专门针对控制信道的polar编码提出的,目的在于提前终止译码。提前终止译码是指在如果接收端可以根据CRC检验序列的前8个比特判断出译码结果出错,就可以终止译码。
以下,我们以NR中规定的CRC校验序列为24位,前8个比特交织在信源比特序列中,最后16个比特附在完成交织的比特序列之后作为示例,说明后续的处理过程。
(2)所述发送端对交织后的比特序列进行序列变换,获得序列变换后的比特序列。
所述序列变换使用的方法可以通过加密算法,例如:非对称加密算法,也可以是通过编码来实现,例如:Turbo码,LDPC码等,也可以通过交织的方式来实现,例如行列交织等。
(3)CRC校验序列的最后16位比特与一个16位长度的无线网络临时标识(RadioNetwork Tempory Identity,简称:RNTI)做逐比特异或,完成RNTI加扰。
应理解,CRC校验序列的最后16位比特与长度为16的RTNI逐比特异或的过程,即是RNTI加扰。
以发送端为基站,接收端为终端设备为例,基站覆盖的小区内有多个终端设备,对于每一个终端设备而言,基站可以为终端设备配置多个RNTI,这多个RNTI的功能可能是不同的。例如,这多个RNTI中的某个RNTI用于网络侧向终端设备发送寻呼消息,某个RNTI用于网络侧向终端设备发送系统消息,某个RNTI用于向终端设备发送随机接入响应等。基站会将配置的该多个RNTI通知给终端设备。
这里,对CRC校验序列的最后16位进行加扰所使用的RNTI是发送端为接收端配置的该多个RNTI中的某一个。
(4)将完成RNTI加扰的比特序列按信息位索引映射至编码器的输入端进行polar编码,然后经过速率匹配得到需要的聚合等级,经正交相移键控(Quadrature Phase ShiftKeyin,简称:QPSK)调制后发射。
发送端在将编码后的信号发送出去之后,该编码信号可以通过信道传输至接收端,接收端在接收到该编码信号之后,可以通过本申请实施例提供的译码方法对待译码序列进行译码。
图3是本申请实施例提供的一种待译码序列的译码方法的流程图。在本申请实施例中,将以终端为执行主体对该待译码序列的译码方法进行介绍。参见图3,该方法包括以下步骤:
步骤301:接收待译码序列。
其中,接收到的待译码序列是指发送端通过极化编码得到的、在传输过程中掺杂了噪声的待译码序列。并且,在本申请实施例中,该待译码序列可以包括多个对数似然比(logarithm likelihood ratio,LLR)值,该多个LLR值按顺序排列,且多个LLR值的顺序与该待译码序列对应的多个比特的编码顺序一致。
例如,假设该待译码序列对应的多个比特的编码顺序为:U1、U2、U3…U7、U8,则多个LLR值的顺序为:LLR1、LLR2、LLR3…LLR7、LLR8
步骤302:根据待译码序列的码长,确定多种译码顺序,每种译码顺序用于指示待译码序列对应的多个比特被译出的一种先后次序。
在本申请实施例中,终端可以根据待译码序列的码长生成待译码序列的生成矩阵。之后,根据该生成矩阵,确定多种译码顺序。其中,待译码序列的长度即为发送端对比特序列进行极化编码后的码长。
示例性地,当待译码序列的码长为N时,终端可以通过下述计算模型(1)生成对应的生成矩阵:
Figure BDA0001966707580000081
其中,GN为生成矩阵,N为待译码序列的码长。
在生成待译码序列的生成矩阵之后,终端可以根据该生成矩阵确定SC译码图。其中,该SC译码图包括n列运算节点,每一列运算节点均包含N/2个异或节点和N/2个等号节点,该SC译码图可以用于指示对该待译码序列进行译码的运算方法。其中,n=log2N,N为待译码序列的长度。若按照该SC译码图进行译码,则该待译码序列对应的多个比特被译出的顺序与多个比特的编码顺序是一致的。其中,待译码序列对应的多个比特实际上就是指发送端进行极化编码后得到的比特序列。由此可见,通过该SC译码图可以确定第一种译码顺序,该种译码顺序用于指示待译码序列对应的多个比特将会按照该多个比特的编码顺序被逐一译出。
在确定SC译码图之后,终端可以通过对该SC译码图中包括的n列运算节点的顺序进行调整,从而得到(n!-1)张SC序列图(permutation graph)。其中,每张SC序列图都可以用于指示译码的一种运算方法。并且,按照每张SC序列图进行译码时,待译码序列对应的多个比特被译出的顺序都将不同。这样,根据SC译码图以及(n!-1)张SC序列图即可以确定得到n!种译码顺序。
接下来以码长为8的待译码序列为例对上述确定多种译码顺序的过程进行说明。
当待译码序列的码长为8时,根据上述计算模型(1)可以得到该待译码序列对应的生成矩阵如下:
Figure BDA0001966707580000091
根据该生成矩阵可以确定得到图4中的SC译码图。如图4所示,由于待译码序列的码长为8,因此,该SC译码图中包括3列运算节点。若采用该SC译码图进行译码,将按顺序排列的8个LLR值作为输入值,则8个LLR值对应的8个比特将按照这8个比特的编码顺序被逐一译出。也即,根据图4所示的SC译码图可以确定得到一种译码顺序为:U1→U2→U3→U4→U5→U6→U7→U8。另外,假设图4中的异或节点可以由二进制码“0”来表示,而加号节点可以由二进制码“1”来表示,则由图4可知,U1对应的一行运算节点中从右到左分别为3个异或节点,因此,U1对应的二进制码为“000”,该二进制码“000”实际上就是U1的下标减1得到的数值对应的二进制码。U2对应的一行运算节点从右到左分别为两个异或节点和一个加号节点,因此,U2对应的二进制码将为“001”,该二进制码“001”是U2的下标减1得到的数值对应的二进制码。同理,U3对应的一行运算节点从右到左分别为异或节点、加号节点、异或节点,因此,U3对应的二进制码为“010”,也即,U3的下标减1得到的数值对应的二进制码。以此类推,U4对应的二进制码为“011”,U5对应的二进制码为“100”,U6对应的二进制码为“101”,U7对应的二进制码为“110”,U8对应的二进制码为“111”。
在确定SC译码图对应的译码顺序之后,可以对该SC译码图包括的各列运算节点的顺序进行调整。首先,终端可以将SC译码图中的第一列运算节点和第二列运算节点的顺序进行互换,互换后得到的第一SC序列图如图5所示。由图5可以看出,第一列运算节点和第二列运算节点互换之后,在8个LLR值的顺序不改变的情况下,第二行包括的三个运算节点按照从右到左的顺序分别为异或节点、加号节点、异或节点,通过二进制码表示为“010”,由此可见,第二行运算节点对应的是U3。同理,第三行运算节点对应的是U2。由此可见,U2和U3被译出的顺序发生了变化。同理,U6和U7被译出的顺序也发生了变化。也即,若按照图5所示的第一SC序列图进行译码,则多个比特被译出的顺序将为:U1→U3→U2→U4→U5→U7→U6→U8。由此可见,根据第一SC序列图可以确定得到第二种译码顺序:U1→U3→U2→U4→U5→U7→U6→U8
在确定第二种译码顺序之后,终端可以将SC译码图中的第二列运算节点和第三列运算节点进行互换,互换后得到的第二SC序列图如图6所示。由图6可以看出,第二列运算节点和第三列运算节点互换后,在8个LLR值的顺序不改变的情况下,U3、U4、U5和U6被译出的顺序发生了变化。也即,若按照图6所示的第二SC序列图进行译码,则多个比特被译出的顺序将为:U1→U2→U5→U6→U3→U4→U7→U8。由此可见,根据第二SC序列图可以确定得到第三种译码顺序:U1→U2→U5→U6→U3→U4→U7→U8
接下来,将SC译码图中的第一列运算节点和第三列运算节点进行互换,互换后得到的第三SC序列图如图7所示。由图7可以看出,第一列运算节点和第三列运算节点互换后,在8个LLR值的顺序不改变的情况下,U2、U4、U5和U7被译出的顺序发生了变化。也即,若按照图7所示的第三SC序列图进行译码,则多个比特被译出的顺序将为:U1→U5→U3→U7→U2→U6→U4→U8。由此可见,根据第三SC序列图可以确定得到第四种译码顺序:U1→U5→U3→U7→U2→U6→U4→U8
接下来,将SC译码图中第一列运算节点作为第三列运算节点,将SC译码图中的第二列运算节点作为第一列运算节点,将SC译码图中的第三列运算节点作为第二列运算节点,得到图8所示的第四SC序列图。如图8所示,在8个LLR值的顺序不改变的情况下,U2、U3、U4、U5、U6和U7被译出的顺序均发生了变化。也即,若按照第四SC序列图进行译码,则多个比特被译出的顺序将为:U1→U5→U2→U6→U3→U7→U4→U8。也即,第四SC序列图对应的译码顺序为:U1→U5→U2→U6→U3→U7→U4→U8
接下来,将SC译码图的第一列运算节点作为第二列运算节点,将SC译码图的第二列运算节点作为第三列运算节点,将SC译码图的第三列运算节点作为第一列运算节点,得到图9所示的第五SC序列图。如图9所示,在8个LLR值的顺序不改变的情况下,U2、U3、U4、U5、U6和U7被译出的顺序均发生了变化。也即,若按照第五SC序列图进行译码,则多个比特被译出的顺序将为:U1→U3→U5→U7→U2→U4→U6→U8。也即,第四SC序列图对应的译码顺序为:U1→U3→U5→U7→U2→U4→U6→U8
上述五个SC序列图以及SC译码图包含了三列运算节点所有可能的排序方式。其中,每张图均可以指示一种译码顺序。由此可见,对于码长为8的待译码序列,根据该待译码序列对应的待译码序列生成矩阵可以确定得到六种译码顺序。
由上述六种译码顺序可以看出,无论采用哪种译码顺序进行译码,第一个被译出的比特均是U1,最后一个被译出的比特均为U8。并且,在上述六种译码顺序中,第二个被译出的比特可以是U2、U3或U5,在译出U2、U3或U5之后,即可译出U4、U6和U7
步骤303:按照多种译码顺序,并行对待译码序列进行译码。
其中,本步骤可以包括以下两种实现方式。
第一种实现方式:终端可以在第一个时隙内,按照多种译码顺序,并行对多个LLR值进行处理,以译出每种译码顺序中排在第一位的比特;令i=2,在第i个时隙内,按照多种译码顺序,并行对多个LLR值和前i-1个时隙内译出的比特进行处理,以译出每种译码顺序中排在第i位的比特;判断i是否小于待译码序列的码长;若i小于待译码序列的码长,则根据第i个时隙内译出的比特,判断多种译码顺序中排在第i+1位的比特是否均已被译出;若多种译码顺序中排在第i+1位的比特未被译出,则令i=i+1,并返回在第i个时隙内,按照多种译码顺序,并行对多个LLR值和前i-1个时隙内译出的比特进行处理的步骤,直至i等于待译码序列的码长为止。其中,多个LLR值的顺序与该待译码序列对应的多个比特的编码顺序一致。
其中,终端可以在第一个时隙内,根据该待译码序列对应的SC译码图以及多张SC序列图所指示的运算方法,并行对多个LLR值进行处理,从而译出每张图对应的译码顺序中排在第一位的比特。由于无论按照哪张图进行译码,第一个被译出的比特都将是U1,因此,在第一个时隙内译出将是U1
在译出U1之后,在第二个时隙内,终端可以继续根据SC译码图以及多张SC序列图所指示的运算方法,对U1与多个LLR值进行处理,从而得到每种译码顺序中排在第二位的比特。由于不同的图对应的译码顺序中排在第二位的比特不同,因此,在第二个时隙中根据该多张图对U1与多个LLR值并行进行处理,将译出多个比特。
在第二个时隙内译出多个比特之后,终端可以判断待译码序列的码长是否大于2。若大于,则说明多个待译码序列对应的多个比特中的最后一个比特还未被译出。也即,译码还未完成。此时,终端可以判断多张图对应的多种译码顺序中排在第三位的比特是否均已在第二个时隙内被译出。若多种译码顺序中排在第三位的比特中存在未被译出的比特,则终端可以在第三个时隙内,继续根据SC译码图以及多张SC序列图所指示的运算方法,对U1、第二个时隙内译出的多个比特以及多个LLR值并行进行处理,从而得到多种译码顺序中排在第三位的比特。
当然,若多种译码顺序中排在第三位的比特均已在第二个时隙内被译出,则终端可以判断待译码序列的码长是否大于3。若大于,则说明多种译码顺序中排在第三位的比特中不可能包括多个比特中的最后一个比特。也即,说明译码还未完成。此时,终端可以进一步判断多种译码顺序中排在第四位的比特是否均已在第二个时隙内被译出。若均已被译出,则终端可以按照前述的方法继续判断多种译码顺序中排在第五位的比特是否均已在第二个时隙内被译出,以此类推。若多种译码顺序中排在第四位的比特中存在未被译出的比特,则终端可以跳过第三个时隙,直接在第四个时隙内对U1、第二个时隙内译出的多个比特以及多个LLR值并行进行处理,从而得到多种译码顺序中排在第四位的比特。在得到多种译码顺序中排在第四位的比特之后,终端可以按照前述介绍的方法继续判断多种译码顺序中排在第五位的比特是否均已被译出,以此类推。其中,所谓终端跳过第三个时隙是指终端不执行每张图所指示的运算方法中用于译出排在第三位的比特的运算操作。
需要说明的是,终端在每个时隙内进行译码的具体译码过程与SC译码算法的译码过程相同。其中,SC译码算法按照信道序号从小到大的顺序依次对每个比特进行译码判决(或者称为比特判决)。并且,在对第i个比特进行判决时,是基于之前所有(i-1)个比特译码判决的结果都是正确的假设条件。当码长趋近于无穷时,由于分裂信道接近于完全极化(信道容量或者为0,或者为1),每个信息比特都会被正确译码。
上述译码的过程可以参见图10所示的N=4的译码树,图10是N=4的译码树的示例。如图10所示,译码树即是一个二叉树,译码树的结构仅与码长N有关。在译码树上,一个节点的深度定义为译码树的根节点到该节点的最短路径长度。可以看到,对于一个码长等于N的待译码序列,译码树上的节点组成的集合能够按照深度d划分为N+1个子集,记作Vd,其中,d=0,1,…,N。容易理解,V0仅包含根节点。除了译码树上的叶子节点(即d=N时),译码树上的每一个节点u分别通过两条分别标记0和1的边与后继节点相连。某一个节点u所对应的序列u1 d定义为从根节点到达该节点u所需要经过的各个边的标记序列。另外,在译码树中,从根节点到任意一个节点所形成的路径,都对应一个路径度量值(Path Metric,简称:PM),可以计算得到。路径度量值可以作为判断该路径的优劣的参考。从根节点到叶子节点所在层的某一节点所需要经过的各个边的标记序列即是一条译码路径。因此,待译码序列的译码过程也就是在二叉树上寻找合适的路径。如图10中所示,以码长N=4为例,在每个节点处选择PM值最小的路径向下扩展,假定从根节点延伸至叶子节点层的节点A为最优路径,那么最终确定出的译码序列即为U1 N=[0,0,1,1]。
接下来,仍以前述的待译码序列的码长为8为例对本步骤进行举例说明。
由步骤302中的介绍可知,对于码长为8的待译码序列,可以确定得到6种译码顺序。这六种译码顺序分别如下所示:
第一种译码顺序:U1→U2→U3→U4→U5→U6→U7→U8
第二种译码顺序:U1→U3→U2→U4→U5→U7→U6→U8
第三种译码顺序:U1→U2→U5→U6→U3→U4→U7→U8
第四种译码顺序:U1→U5→U3→U7→U2→U6→U4→U8
第五种译码顺序:U1→U5→U2→U6→U3→U7→U4→U8
第六种译码顺序:U1→U3→U5→U7→U2→U4→U6→U8
在第一个时隙内,终端可以根据上述六种译码顺序对应的图所指示的运算方法对多个LLR值并行进行处理。这样,根据每张图译出来的比特均为U1,也即,第一个时隙内译出了多个比特中的U1
在第二个时隙内,终端可以根据上述六种译码顺序对应的图所指示的运算方法对U1和多个LLR值并行进行处理。这样,根据第一种译码顺序对应的SC译码图译码得到的比特是U2。根据第二种译码顺序对应的第一SC序列图译码得到的比特为U3。根据第三种译码顺序对应的第二SC序列图译码得到的比特为U2。根据第四种译码顺序对应的第三SC序列图译码得到的比特为U5。根据第五种译码顺序对应的第四SC序列图译码得到的比特为U5。根据第六种译码顺序对应的第五SC序列图译码得到的比特为U3。由此可见,在第二个时隙内并行译出的比特有U2、U3和U5
在译出U2、U3和U5之后,由于待译码序列的码长为8,而U2、U3和U5均是译码顺序中排在第二位的比特,也即,排在最后一位的U8还未被译出,译码未完成。此时,终端可以判断上述六种译码顺序中排在第三位的比特是否均已被译出。由于六种译码顺序中排在第三位的比特有U2、U3和U5,而这三个比特均在第二个时隙内已被译出,因此,终端可以继续判断六种译码顺序中排在第四位的比特是否均已被译出。由于上述六种译码顺序中排在第四位的比特有U4、U6和U7,而这三个比特均未被译出,因此,在下一个时隙内,终端可以直接根据六种译码顺序对应的六张图所指示的运算方法分别对已译出的四个比特(分别为U1、U2、U3和U5)以及多个LLR值进行处理。其中,根据SC译码图和第一SC序列图分别对已译出的四个比特和多个LLR值进行处理,译出的比特均为U4。根据第二SC序列图和第四SC序列图分别对已译出的四个比特和多个LLR值进行处理,译出的比特均为U6。根据第三SC序列图和第五SC序列图分别对已译出的四个比特和多个LLR值进行处理,译出的比特均为U7。这样,在译出U2、U3和U5之后的下一个时隙内,可以同时译出U4、U6和U7
在译出六种译码顺序中排在第四位的比特之后,终端可以判断六种译码顺序中排在第五位的比特是否均已被译出。由于六种译码顺序中排在第五位的比特有U2、U3和U5,因此可见,六种译码顺序中排在第五位的比特也均已译出。接下来继续判断六种译码顺序中排在第六位的比特是否均已被译出。同理,由上述六种译码顺序可以看出,六种译码顺序中排在第六位的比特有U4、U6和U7,也均已被译出。接下来继续判断六种译码顺序中排在第七位的比特是否均已被译出。由于六种译码顺序中排在第七位的比特有U4、U6和U7,也均已被译出。因此,接下来判断六种译码顺序中排在第八位的比特是否已被译出。由于六种译码顺序中排在第八位的比特为U8未被译出,因此,终端可以根据六种译码顺序对应的六张图分别对已译出的比特(分别为U1、U2、U3U4、U5、U6和U7)以及多个LLR值进行处理,从而译出U8。至此,8个比特均已被译出,译码完成。
由上述译码过程可以看出,按照本申请实施例提供的方法进行译码时,在第一个时隙内可以译出U1,译出U1之后,在下一个时隙内即可以同时译出U2、U3和U5。在译出U2、U3和U5之后的下一个时隙内,即可以同时译出U4、U6和U7。在最后一个时隙内,可以译出U8。也即,对于码长为8的待译码序列,在四个时隙内就可以译出该待译码序列对应的8个比特。而在相关技术中,按照U1→U2→U3→U4→U5→U6→U7→U8的顺序逐一进行译码时,一个时隙只能译出一个比特,也即,译出8个比特需要8个时隙。由此可见,本申请实施例提供的译码方法相较于相关技术中的译码方法,缩短了译码时延,提高了译码效率。
可选地,由前述六种译码顺序可知,每种译码顺序所指示的第一个被译出的比特均为U1,其中,U1的对应的二进制码为000。六种译码顺序所指示的第二个被译出的比特包括U2、U3和U5,这三个比特对应的二进制码分别为001、010和100。而在译出U2、U3和U5之后,按照上述六种译码顺序,接下来可以被同时译出的比特包括U4、U6和U7,其各自对应的二进制码为011、101和110。最后,每种译码顺序所指示的最后一个被译出的比特均为U8,其对应的二进制码为111。由此可见,可以按照各个比特对应的二进制码中包含的1的个数来确定可以分几个时隙来译出各个比特。例如,U1对应的二进制码000中不包含有1,因此,U1将被第一个译出。U2、U3和U5对应的二进制码中均包含一个1,因此,可以在译出U1之后的下一个时隙内译出U2、U3和U5。U4、U6和U7对应的二进制码中均包含有两个1,因此,可以在译出U1、U2、U3和U5后译出U4、U6和U7。U8对应的二进制码中包含有三个1,因此,U8将最后被译出。这样,对于一个码长为N的待译码序列,实际上可以在(n+1)个时隙内译出该待译码序列对应的N个比特,其中,n=log2N。
基于此,终端可以根据待译码序列对应的N个比特所对应的二进制码,确定N个比特可以在几个时隙内被译出,以及各个比特被译出的先后顺序。之后,终端可以根据确定的各个比特被译出的顺序,从确定的多种译码顺序中选择出能够满足上述各个比特被译出的顺序的m种译码顺序,并根据选择出的m种译码顺序对多个LLR值并行进行译码。其中,根据选择出的m种译码顺序对多个LLR值并行进行译码的具体实现方式可以参考前文中的相关实现方式,本申请实施例不再赘述。
仍以码长为8的待译码序列为例,根据待译码序列对应的8个比特所对应的二进制码可以得出这8个比特可以在4个时隙内被译出。并且,第一个被译出的将为U1。译出U1之后,可以在同一个时隙内译出U2、U3和U5,在译出U2、U3和U5之后,在同一个时隙内可以译出U4、U6和U7,最后可以译出U8。按照上述各个比特被译出的顺序,从六种译码顺序选择出能够满足上述各个比特被译出的顺序的三种译码顺序,分别为第二种译码顺序、第三种译码顺序和第四种译码顺序。之后,终端可以按照前述介绍的方式,根据这三种译码顺序对应的三张图所指示的运算方法并行对8个LLR值进行译码,即可以在4个时隙内按照前述确定的各个比特被译出的顺序译出全部8个比特。
第二种实现方式:在多个LLR值的顺序与待译码序列对应的多个比特的编码顺序一致的情况下,终端可以根据每种译码顺序对多个LLR值的顺序进行一次调整,得到多组LLR值,每组LLR值中均包括多个LLR值,且每组LLR值中的多个LLR值的顺序与用于调整的译码顺序相同;在第一个时隙内,对多组LLR值中的多个LLR值进行处理,以译出每种译码顺序中排在第一位的比特;令i=2,在第i个时隙内,对多组LLR值中的多个LLR值和前i-1个时隙内译出的比特进行处理,以译出每种译码顺序中排在第i位的比特;判断i是否小于待译码序列的码长;若i小于待译码序列的码长,则根据第i个时隙内译出的比特,判断多种译码顺序中排在第i+1位的比特是否均已被译出;若多种译码顺序中排在第i+1位的比特未被全部译出,则令i=i+1,并返回在第i个时隙内,对多组LLR值中的多个LLR值和前i-1个时隙内译出的比特进行处理的步骤,直至i等于待译码序列的码长为止。
其中,假设多个比特的编码顺序为:U1→U2→U3→U4→U5→U6→U7→U8,则多个LLR值的顺序为:LLR1→LLR2→LLR3→LLR4→LLR5→LLR6→LLR7→LLR8。
由步骤302中可知,对于码长为N的待译码序列,对应有n!种译码顺序。终端根据每种译码顺序对上述多个LLR值的顺序进行一次调整,从而得到一组LLR值。对于n!种译码顺序,一共可以调整得到n!组LLR值。其中,每组LLR值中的多个LLR值的顺序均不同。
在得到n!组LLR值之后,在第一个时隙内,终端可以根据该待译码序列对应的SC译码图并行对每组LLR值进行处理,从而得到每种译码顺序中排在第一位的比特,也即U1。在第二个时隙内,终端可以根据该待译码序列对应的SC译码图并行对U1和每组LLR值进行处理,从而得到每种译码顺序中排在第二位的比特。之后,终端可以判断待译码序列的码长是否小于2,也即判断待译码序列对应的多个比特是否均已被译出。若待译码序列的码长小于2,则说明待译码序列对应的多个比特还未被译出,也即,译码并未完成。此时,终端可以判断每种译码顺序中排在第三位的比特是否均已被译出。若已被译出,则按照前述方法判断下一位是否也已被译出,以此类推。若排在第三位的比特并未被译出,则终端可以在下一个时隙内根据SC译码图并行对已译出的比特以及每组LLR值进行处理,从而译出每种译码顺序中排在第三位的比特,直到译出所有比特为止。
接下来仍以码长为8的待译码序列为例来进行举例说明。
由步骤302中的介绍可知,对于码长为8的待译码序列,可以确定得到6种译码顺序。这六种译码顺序分别如下所示:
第一种译码顺序:U1→U2→U3→U4→U5→U6→U7→U8
第二种译码顺序:U1→U3→U2→U4→U5→U7→U6→U8
第三种译码顺序:U1→U2→U5→U6→U3→U4→U7→U8
第四种译码顺序:U1→U5→U3→U7→U2→U6→U4→U8
第五种译码顺序:U1→U5→U2→U6→U3→U7→U4→U8
第六种译码顺序:U1→U3→U5→U7→U2→U4→U6→U8
按照第一种译码顺序对多个LLR值的顺序进行调整,得到第一组LLR值,其中,多个LLR值的顺序仍为:LLR1→LLR2→LLR3→LLR4→LLR5→LLR6→LLR7→LLR8。
按照第二种译码顺序对多个LLR值的顺序进行调整,得到第二组LLR值。此时,第二组LLR值中的LLR2、LLR3、LLR6和LLR7的顺序将发生变化。也即,第二组LLR值中的多个LLR值的顺序为:LLR1→LLR3→LLR2→LLR4→LLR5→LLR7→LLR6→LLR8。
按照第三种译码顺序对多个LLR值的顺序进行调整,得到第三组LLR值,其中,多个LLR值的顺序为:LLR1→LLR2→LLR5→LLR6→LLR3→LLR4→LLR7→LLR8。
按照第四种译码顺序对多个LLR值的顺序进行调整,得到第四组LLR值,其中,多个LLR值的顺序为:LLR1→LLR5→LLR3→LLR7→LLR2→LLR6→LLR4→LLR8。
按照第五种译码顺序对多个LLR值的顺序进行调整,得到第五组LLR值,其中,多个LLR值的顺序为:LLR1→LLR5→LLR2→LLR6→LLR3→LLR7→LLR4→LLR8。
按照第六种译码顺序对多个LLR值的顺序进行调整,得到第六组LLR值,其中,多个LLR值的顺序为:LLR1→LLR3→LLR5→LLR7→LLR2→LLR4→LLR6→LLR8。
在得到六组LLR值之后,在第一个时隙内,终端可以根据SC译码图同时对每组LLR值进行处理,从而得到每种译码顺序中排在第一位的比特U1
在第二个时隙内,终端可以根据SC译码图,同时对每组LLR值和U1进行处理。其中,对第一组LLR值和U1进行处理,可以译出第一种译码顺序中排在第二位的比特U2。对第二组LLR值和U1进行处理,可以译出第二种译码顺序中排在第二位的比特U3。对第三组LLR值和U1进行处理,可以译出第三种译码顺序中排在第二位的比特U2。对第四组LLR值和U1进行处理,可以译出第四种译码顺序中排在第二位的比特U5。对第五组LLR值和U1进行处理,可以译出第五种译码顺序中排在第二位的比特U5。对第六组LLR值和U1进行处理,可以译出第六种译码顺序中排在第二位的比特U3。由此可见,在第二个时隙内,终端根据SC译码图可以同时译出三个比特,分别为U2、U3和U5
在译出U2、U3和U5之后,由于当前译出的是上述六种译码顺序中排在第二位的比特,也即,待译码序列对应的8个比特还未全部被译出,译码未完成。此时,终端可以判断六种译码顺序中排在第三位的比特是否已均被译出。由于六种译码顺序中排在第三位的比特均已被译出,因此,终端可以继续判断六种译码顺序中排在第四位的比特是否均已被译出。由上述六种译码顺序可以看出,排在第四位的比特有U4、U6和U7。因此可知,排在第四位的比特尚未被译出。在这种情况下,在一个时隙内,终端可以根据SC译码图对每组LLR值和已译出的多个比特(分别U1、U2、U3和U5)进行处理,从而译出U4、U6和U7
在译出U4、U6和U7之后,后续终端判断六种译码顺序中排在第五位、第六位、第七位和第八位的比特是否已被译出的过程可以参考第一种实现方式中的相关过程,本申请实施例在此不再赘述。
其中,在确定六种译码顺序中排在第八位的比特尚未被译出之后,终端可以在下一个时隙内,根据SC译码图对每组LLR值和已译出的多个比特(分别为U1、U2、U3U4、U5、U6和U7)并行进行处理,从而在这个时隙内译出最后一个比特U8。至此,8个比特均已被译出,译码完成。
由此可见,在上述译码过程中,根据六种译码顺序对多个LLR值的顺序进行调整,从而得到6组LLR值。之后,在第一个时隙内,终端利用SC译码图并行对每组LLR值进行处理,可以译出U1。译出U1之后,在下一个时隙内仍采用SC译码图,可以同时译出U2、U3和U5。在译出U2、U3和U5之后的下一个时隙内,利用SC译码图可以同时译出U4、U6和U7。在最后一个时隙内,利用SC译码图可以译出U8。也即,对于码长为8的待译码序列,通过调整LLR值的顺序,利用一张SC译码图,就可以在四个时隙内译出8个比特,相较于相关技术中的译码方法,缩短了译码时延,提高了译码效率。相较于第一种实现方式,该种实现方式中仅通过一张SC译码图所指示的运算方法即可以完成译码,实现了资源的复用。
步骤304:输出译码后的比特序列。
其中,如上文发送端的处理流程中所述,发送端为接收端配置了多个RNTI。对于接收端而言,它知道发送端是采用该多个RNTI中的某一个RNTI对发送的比特序列进行加扰的,但是,它并不知道具体是采用了哪一个RNTI。因此,在译码得到多个比特之后,接收端需要使用该多个RNTI一一进行解扰尝试。理论上,接收端进行解扰使用的这个RNTI与发送端进行加扰所使用的RNTI应该相同,解扰后的比特序列最终才能通过CRC校验。例如,假设发送端为接收端配置有8个RNTI,发送端使用这8个RNTI中的RNTI#2对上述CRC校验序列的后几位进行加扰。那么理论上,接收端使用RNTI#2对候选译码路径解扰之后的比特序列才能通过CRC校验。为了描述上的清楚,我们将接收端的这多个RNTI中与发送端加扰使用的RNTI相同的这个RNTI称为正确的RNTI,其余的RNTI则是错误的RNTI。例如,发送端为接收端配置了4个RNTI,分别记作RNTI#1、RNTI#2、RNTI#3和RNTI#4。如果发送端使用RNTI#3对比特序列进行加扰,则对于接收端而言,在解扰的过程中,RNTI#3是正确的RNTI,使用RNTI#3对候选译码路径解扰之后得到的比特序列才能通过CRC校验。相比之下,RNTI#1、RNTI#2和RNTI#4是错误的RNTI,使用RNTI#1、RNTI#2或RNTI#4对候选译码路径解扰之后得到的比特序列,理论上都不能通过CRC校验。
接收端对L个解扰后的比特序列进行解序列变换,获得L个解序列变换后的比特序列;所述解序列变换与编码时相对应,若编码时序列变换采用加密的方式,这里就采用解密的方式;若编码时,序列变换采用编码的方式,这里在译码后的L个比特序列采用相应的编码方式进行解码;若编码时,序列变换采用交织方式,这里译码后的L个比特序列就采用对应的解交织的方式。
接收端对解序列变换之后的比特序列进行CRC校验,最终选择经过正确的RNTI解扰并通过CRC的比特序列作为输出序列,即选择通过CRC校验的那条候选译码路径的比特序列进行输出。
在本申请实施例中,终端可以根据待译码序列的码长,确定多种译码顺序。之后,按照多种译码顺序同时对该待译码序列进行译码。这样,在某些译码时隙内,可以同时译出多个比特,这样,待译码序列对应的多个比特被全部译出所需的时隙减少,缩短了译码时间,提高了译码效率。
参见图11,本申请实施例提供了一种待译码序列的译码装置400,该装置400包括:
接收模块401,用于执行上述实施例中的步骤301;
确定模块402,用于执行上述实施例中的步骤302;
译码模块403,用于执行上述实施例中的步骤303;
输出模块404,用于执行上述实施例中的步骤304。
可选地,确定模块402具体用于:
根据待译码序列的码长,确定待译码序列生成矩阵;
根据待译码序列生成矩阵,确定标准连续消除SC译码图和多张SC序列图;
根据SC译码图和多张SC序列图,确定多种译码顺序。
可选地,待译码序列包括多个对数似然比LLR值,多个LLR值按顺序排列,且多个LLR值的顺序与待译码序列对应的多个比特的编码顺序一致;
译码模块403具体用于:
在第一个时隙内,按照多种译码顺序,并行对多个LLR值进行处理,以译出每种译码顺序中排在第一位的比特;
令i=2,在第i个时隙内,按照多种译码顺序,并行对多个LLR值和前i-1个时隙内译出的比特进行处理,以译出每种译码顺序中排在第i位的比特;
判断i是否小于待译码序列的码长;
若i小于待译码序列的码长,则根据第i个时隙内译出的比特,判断多种译码顺序中排在第i+1位的比特是否均已被译出;
若多种译码顺序中排在第i+1位的比特未被译出,则令i=i+1,并返回在第i个时隙内,按照多种译码顺序,并行对多个LLR值和前i-1个时隙内译出的比特进行处理的步骤,直至i等于待译码序列的码长为止。
可选地,译码模块403具体还用于:
若多种译码顺序中排在第i+1位的比特均已被译出,则判断i+1是否小于待译码序列的码长;
若i+1小于待译码序列的码长,则令i=i+1,并返回判断多种译码顺序中排在第i+1位的比特是否均已被译出的步骤,直至i+1等于待译码序列的码长为止。
可选地,待译码序列包括多个对数似然比LLR值,多个LLR值按顺序排列,且多个LLR值的顺序与待译码序列对应的多个比特的编码顺序一致;
译码模块403具体用于:
根据每种译码顺序对多个LLR值的顺序进行一次调整,得到多组LLR值,每组LLR值中均包括多个LLR值,且每组LLR值中的多个LLR值的顺序与用于调整的译码顺序相同;
在第一个时隙内,对多组LLR值中的多个LLR值进行处理,以译出每种译码顺序中排在第一位的比特;
令i=2,在第i个时隙内,对多组LLR值中的多个LLR值和前i-1个时隙内译出的比特进行处理,以译出每种译码顺序中排在第i位的比特;
判断i是否小于待译码序列的码长;
若i小于待译码序列的码长,则根据第i个时隙内译出的比特,判断多种译码顺序中排在第i+1位的比特是否均已被译出;
若多种译码顺序中排在第i+1位的比特未被全部译出,则令i=i+1,并返回在第i个时隙内,对多组LLR值中的多个LLR值和前i-1个时隙内译出的比特进行处理的步骤,直至i等于待译码序列的码长为止。
可选地,译码模块403具体还用于:
若多种译码顺序中排在第i+1位的比特均已被译出,则判断i+1是否小于待译码序列的码长;
若i+1小于待译码序列的码长,则令i=i+1,并返回判断多种译码顺序中排在第i+1位的比特是否均已被译出的步骤,直至i+1等于待译码序列的码长为止。
综上所述,本申请实施例可以根据待译码序列的码长,确定多种译码顺序。之后,按照多种译码顺序同时对该待译码序列进行译码。这样,在某些译码时隙内,可以同时译出多个比特,这样,待译码序列对应的多个比特被全部译出所需的时隙减少,缩短了译码时间,提高了译码效率。
基于本申请提供的译码方法,本申请还提供一种通信装置500。通信装置500用于执行本申请实施例提供的译码方法。
参见图12,图12是本申请提供的通信装置500的示意性框图。通信装置500包括通信单元501和处理单元502。
通信单元501,用于从发送端接收待译码序列;
处理单元502,用于执行前述实施例提供的译码方法,对所述待译码序列进行译码,得到译码结果。
参见图13,图13为本申请提供的通信装置600的示意性结构图。通信装置600用于实现译码的功能,该通信装置600包括:
收发器601,用于从发送端接收待译码序列;
处理装置602,用于获取待译码序列,并执行前述实施例提供的译码方法,对所述待译码序列进行译码,得到译码结果。
可选地,收发器601与天线603相连接。
在具体实现时,处理装置602可以处理器、芯片或者集成电路。
本申请还提供了一种处理装置602,用于实现上述译码方法。本申请实施例的译码方法的部分或全部流程可以通过硬件来实现,或者也可以通过软件来实现。
可选地,当通过硬件实现时,上述处理装置602可以为处理器。
可选地,当本申请实施例的译码方法的全部或部分流程通过硬件实现时,上述处理装置602还可以如图14所示。
参见图14,图14为处理装置602的内部结构示意图。该处理装置602包括:
输入接口电路6021,用于获取待译码序列;
逻辑电路6022,用于执行本申请实施例提供的译码方法,对所述待译码序列进行译码,得到译码结果;
输出接口电路6023,用于输出译码结果。
可选地,处理装置602可以为处理器,处理器用于执行存储器中存储的计算机程序,当所述计算机程序被执行时,处理器执行本申请实施例提供的译码方法。
这里,存储器可以是物理上独立的单元。或者,存储器也可以与处理器集成在一起,本申请不作限定。
在另一种可选的实施例中,处理装置602只包括处理器。处理器通过电路/电线与存储器连接,用于读取并执行存储器中存储的计算机程序。可选地,处理装置602还包括存储器。
可选地,处理装置602为芯片时,所述芯片还可以包括输入接口和输出接口。输入接口用于接收输入的待译码序列。输出接口用于输出译码结果。
应理解,本申请提供的译码方法可以由接收端执行。例如图1所示的通信系统,当网络设备101接收信号时,网络设备101为接收端。当终端102接收信号时,终端102为接收端。由此,下面本申请再提供一种网络设备和终端,该网络设备和终端具有实现本申请实施例中的译码方法的功能。
参见图15,图15是本申请提供的网络设备700的示意性结构图。如图15所示,网络设备700可以应用于上述图1所示的无线通信系统中,具有执行本申请的提供的译码方法的功能。网络设备700例如可以是基站。
网络设备700可以包括一个或多个射频单元,如远端射频单元(remote radiounit,RRU)710和一个或多个基带单元(baseband unit,BBU)。基带单元也可以称为数字单元(digital unit,DU)720。所述RRU 710可以称为收发单元,与图9中的通信单元501对应。可选地,该收发单元710还可以称为收发机、收发电路、或者收发器等等,其可以包括至少一个天线7101和射频单元7102。可选地,收发单元710可以包括接收单元和发送单元,接收单元可以对应于接收器(或称接收机、接收电路),发送单元可以对应于发射器(或称发射机、发射电路)。所述RRU 710部分主要用于射频信号的收发以及射频信号与基带信号的转换,例如,用于向终端发送第一随机接入资源的配置信息。所述BBU 720部分主要用于进行基带处理,对基站进行控制等。所述RRU 710与BBU 720可以是物理上设置在一起,也可以物理上分离设置的,即分布式基站。
所述BBU 720为网络设备700的控制中心,也可以称为处理单元,可以与图12中的处理单元502对应,主要用于完成基带处理功能,如信道编码,速率匹配(可选地)、比特交织、调制等。例如,所述BBU(处理单元)可以用于控制基站执行上述译码方法。具体地,根据待译码序列的码长确定多种译码顺序,并按照该多种译码顺序,并行对待译码序列进行译码,输出译码后的比特序列。
在一个示例中,所述BBU 720可以由一个或多个单板构成,多个单板可以共同支持单一接入制式的无线接入网(例如,LTE网),也可以分别支持不同接入制式的无线接入网(例如,LTE网、5G网或其它网)。所述BBU 720还包括存储器7201和处理器7202。所述存储器7201用以存储必要的指令和数据。所述处理器7202用于控制网络设备700进行必要的动作,例如,用于控制网络设备700执行上述方法实施例中提供的译码方法。所述存储器7201和处理器7202可以服务于一个或多个单板。也就是说,可以每个单板上单独设置存储器和处理器。也可以是多个单板共用相同的存储器和处理器。此外每个单板上还可以设置有必要的电路。
应理解,图15所示的网络设备700能够实现本申请实施例提供的译码方法。网络设备700中的各个单元的操作和/或功能,分别为了实现本申请实施例提供的译码方法实施例中的相应流程。为避免重复,此处适当省略详述描述。
上述BBU 720可以用于执行前面方法实施例中描述的由网络设备内部实现的动作,例如,对待译码序列进行译码。而RRU 710可以用于执行前面方法实施例中描述的网络设备向终端发送或从终端接收的动作。例如,从终端接收待译码序列。
在图1所示的无线通信系统中进行下行传输时,终端102为接收端。下面对本申请提供的终端进行说明。
参见图16,图16是本申请提供的终端800的示意性结构图。如图16所示,如图16所示,终端800包括:一个或多个处理器801,一个或多个存储器802,一个或多个收发器803。处理器801用于控制收发器803收发信号,存储器802用于存储计算机程序,处理器801用于从存储器802中调用并运行该计算机程序,以执行本申请提供的译码方法的相应流程。为了简洁,此处不再赘述。
例如,终端800可以是图1所示的无线通信系统中的终端102。处理器801可以对应图12中的处理单元502,收发器803可以对应图12中所示的通信单元501。
此外,本申请提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行本申请实施例的译码方法的相应操作和/或流程。
本申请还提供一种计算机程序产品,该计算机程序产品包括计算机程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行本申请实施例的译码方法的相应操作和/或流程。
本申请还提供一种芯片,包括处理器。处理器用于读取并执行存储器中存储的计算机程序,以执行本申请提供的译码方法的相应操作和/或流程。
可选地,该芯片还包括存储器,该存储器与该处理器通过电路或电线与存储器连接。进一步可选地,该芯片还包括通信接口,处理器与该通信接口连接。通信接口用于接收待译码序列,处理器从通信接口获取该待译码序列,并采用本申请实施例中的译码方法,对该待译码序列进行译码,得到译码结果;通信接口用于输出译码结果。该通信接口可以是输入输出接口。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述方法实施例的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
本申请实施例中所述的芯片,可以是现场可编程门阵列(field-programmablegate array,FPGA)、专用集成芯片(application specific integrated circuit,ASIC)、系统芯片(system on chip,SoC)、中央处理器(central processor unit,CPU)、网络处理器(Network Processor,NP)、数字信号处理电路(digital signal processor,DSP),还可以是微控制器(micro controller unit,MCU、可编程控制器(programmable logicdevice,PLD)或其它集成芯片。
本申请实施例中的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。处理器可以是通用处理器、DSP、ASIC、FPGA或其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。本申请实施例公开的方法的步骤可以直接体现为硬件编码处理器执行完成,或者用编码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasablePROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronousDRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambusRAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现,具体取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (16)

1.一种译码方法,其特征在于,所述方法包括:
接收待译码序列;
根据所述待译码序列的码长,确定多种译码顺序,每种译码顺序用于指示所述待译码序列对应的多个比特被译出的一种先后次序;
按照所述多种译码顺序,并行对所述待译码序列进行译码;
输出译码后的比特序列。
2.如权利要求1所述的方法,其特征在于,所述根据所述待译码序列的码长,确定多种译码顺序,包括:
根据所述待译码序列的码长,确定所述待译码序列的生成矩阵;
根据所述生成矩阵,确定连续消除SC译码图和多张SC序列图;
根据所述SC译码图和所述多张SC序列图,确定所述多种译码顺序。
3.如权利要求1或2所述的方法,其特征在于,所述待译码序列包括多个对数似然比LLR值,所述多个LLR值按顺序排列,且所述多个LLR值的顺序与所述待译码序列对应的多个比特的编码顺序一致;
所述按照所述多种译码顺序,并行对所述待译码序列进行译码,包括:
在第一个时隙内,按照所述多种译码顺序,并行对所述多个LLR值进行处理,以译出每种译码顺序中排在第一位的比特;
令i=2,在第i个时隙内,按照所述多种译码顺序,并行对所述多个LLR值和前i-1个时隙内译出的比特进行处理,以译出每种译码顺序中排在第i位的比特;
判断所述i是否小于所述待译码序列的码长;
若所述i小于所述待译码序列的码长,则根据所述第i个时隙内译出的比特,判断所述多种译码顺序中排在第i+1位的比特是否均已被译出;
若所述多种译码顺序中排在第i+1位的比特未被译出,则令所述i=i+1,并返回所述在第i个时隙内,按照所述多种译码顺序,并行对所述多个LLR值和前i-1个时隙内译出的比特进行处理的步骤,直至所述i等于所述待译码序列的码长为止。
4.如权利要求3所述的方法,其特征在于,所述判断所述多种译码顺序中排在第i+1位的比特是否均已被译出之后,还包括:
若所述多种译码顺序中排在第i+1位的比特均已被译出,则判断所述i+1是否小于所述待译码序列的码长;
若所述i+1小于所述待译码序列的码长,则令所述i=i+1,并返回判断所述多种译码顺序中排在第i+1位的比特是否均已被译出的步骤,直至所述i+1等于所述待译码序列的码长为止。
5.如权利要求1或2所述的方法,其特征在于,所述待译码序列包括多个对数似然比LLR值,所述多个LLR值按顺序排列,且所述多个LLR值的顺序与所述待译码序列对应的多个比特的编码顺序一致;
所述按照所述多种译码顺序,并行对所述待译码序列进行译码,包括:
根据每种译码顺序对所述多个LLR值的顺序进行一次调整,得到多组LLR值,每组LLR值中均包括所述多个LLR值,且每组LLR值中的所述多个LLR值的顺序与用于调整的译码顺序相同;
在第一个时隙内,对所述多组LLR值中的所述多个LLR值进行处理,以译出每种译码顺序中排在第一位的比特;
令i=2,在第i个时隙内,对所述多组LLR值中的所述多个LLR值和前i-1个时隙内译出的比特进行处理,以译出每种译码顺序中排在第i位的比特;
判断所述i是否小于所述待译码序列的码长;
若所述i小于所述待译码序列的码长,则根据所述第i个时隙内译出的比特,判断所述多种译码顺序中排在第i+1位的比特是否均已被译出;
若所述多种译码顺序中排在第i+1位的比特未被全部译出,则令所述i=i+1,并返回所述在第i个时隙内,对所述多组LLR值中的所述多个LLR值和前i-1个时隙内译出的比特进行处理的步骤,直至所述i等于所述待译码序列的码长为止。
6.如权利要求5所述的方法,其特征在于,所述判断所述多种译码顺序中排在第i+1位的比特是否均已被译出之后,还包括:
若所述多种译码顺序中排在第i+1位的比特均已被译出,则判断所述i+1是否小于所述待译码序列的码长;
若所述i+1小于所述待译码序列的码长,则令所述i=i+1,并返回判断所述多种译码顺序中排在第i+1位的比特是否均已被译出的步骤,直至所述i+1等于所述待译码序列的码长为止。
7.一种译码装置,其特征在于,所述装置包括:
接收模块,用于接收待译码序列;
确定模块,用于根据所述待译码序列的码长,确定多种译码顺序,每种译码顺序用于指示所述待译码序列对应的多个比特被译出的一种先后次序;
译码模块,用于按照所述多种译码顺序,并行对所述待译码序列进行译码;
输出模块,用于输出译码后的比特序列。
8.如权利要求7所述的装置,其特征在于,所述确定模块具体用于:
根据所述待译码序列的码长,确定所述待译码序列的生成矩阵;
根据所述生成矩阵,确定连续消除SC译码图和多张SC序列图;
根据所述SC译码图和所述多张SC序列图,确定所述多种译码顺序。
9.如权利要求7或8所述的装置,其特征在于,所述待译码序列包括多个对数似然比LLR值,所述多个LLR值按顺序排列,且所述多个LLR值的顺序与所述待译码序列对应的多个比特的编码顺序一致;
所述译码模块具体用于:
在第一个时隙内,按照所述多种译码顺序,并行对所述多个LLR值进行处理,以译出每种译码顺序中排在第一位的比特;
令i=2,在第i个时隙内,按照所述多种译码顺序,并行对所述多个LLR值和前i-1个时隙内译出的比特进行处理,以译出每种译码顺序中排在第i位的比特;
判断所述i是否小于所述待译码序列的码长;
若所述i小于所述待译码序列的码长,则根据所述第i个时隙内译出的比特,判断所述多种译码顺序中排在第i+1位的比特是否均已被译出;
若所述多种译码顺序中排在第i+1位的比特未被译出,则令所述i=i+1,并返回所述在第i个时隙内,按照所述多种译码顺序,并行对所述多个LLR值和前i-1个时隙内译出的比特进行处理的步骤,直至所述i等于所述待译码序列的码长为止。
10.如权利要求9所述的装置,其特征在于,所述译码模块具体还用于:
若所述多种译码顺序中排在第i+1位的比特均已被译出,则判断所述i+1是否小于所述待译码序列的码长;
若所述i+1小于所述待译码序列的码长,则令所述i=i+1,并返回判断所述多种译码顺序中排在第i+1位的比特是否均已被译出的步骤,直至所述i+1等于所述待译码序列的码长为止。
11.如权利要求7或8所述的装置,其特征在于,所述待译码序列包括多个对数似然比LLR值,所述多个LLR值按顺序排列,且所述多个LLR值的顺序与所述待译码序列对应的多个比特的编码顺序一致;
所述译码模块具体用于:
根据每种译码顺序对所述多个LLR值的顺序进行一次调整,得到多组LLR值,每组LLR值中均包括所述多个LLR值,且每组LLR值中的所述多个LLR值的顺序与用于调整的译码顺序相同;
在第一个时隙内,对所述多组LLR值中的所述多个LLR值进行处理,以译出每种译码顺序中排在第一位的比特;
令i=2,在第i个时隙内,对所述多组LLR值中的所述多个LLR值和前i-1个时隙内译出的比特进行处理,以译出每种译码顺序中排在第i位的比特;
判断所述i是否小于所述待译码序列的码长;
若所述i小于所述待译码序列的码长,则根据所述第i个时隙内译出的比特,判断所述多种译码顺序中排在第i+1位的比特是否均已被译出;
若所述多种译码顺序中排在第i+1位的比特未被全部译出,则令所述i=i+1,并返回所述在第i个时隙内,对所述多组LLR值中的所述多个LLR值和前i-1个时隙内译出的比特进行处理的步骤,直至所述i等于所述待译码序列的码长为止。
12.如权利要求11所述的装置,其特征在于,所述译码模块具体还用于:
若所述多种译码顺序中排在第i+1位的比特均已被译出,则判断所述i+1是否小于所述待译码序列的码长;
若所述i+1小于所述待译码序列的码长,则令所述i=i+1,并返回判断所述多种译码顺序中排在第i+1位的比特是否均已被译出的步骤,直至所述i+1等于所述待译码序列的码长为止。
13.一种译码装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于读取并执行所述存储器中存储的所述计算机程序,当所述计算机程序被执行时,所述处理器执行如权利要求1-6中任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述计算机指令在计算机上运行时,使得所述计算机执行如权利要求1-6中任一项所述的方法。
15.一种芯片,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于读取并执行所述存储器中存储的所述计算机程序,当所述计算机程序被执行时,所述处理器执行如权利要求1-6中任一项所述的方法。
16.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行如权利要求1至6中任一所述的方法。
CN201910105810.6A 2019-02-01 2019-02-01 译码方法及装置 Active CN111525980B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910105810.6A CN111525980B (zh) 2019-02-01 2019-02-01 译码方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910105810.6A CN111525980B (zh) 2019-02-01 2019-02-01 译码方法及装置

Publications (2)

Publication Number Publication Date
CN111525980A true CN111525980A (zh) 2020-08-11
CN111525980B CN111525980B (zh) 2021-09-17

Family

ID=71900388

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910105810.6A Active CN111525980B (zh) 2019-02-01 2019-02-01 译码方法及装置

Country Status (1)

Country Link
CN (1) CN111525980B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112367086A (zh) * 2020-11-12 2021-02-12 山东云海国创云计算装备产业创新中心有限公司 一种基于ldpc的译码方法、装置、设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1124889A (zh) * 1993-12-23 1996-06-19 株式会社理光 数据并行编码和译码的方法和装置
CN101453297A (zh) * 2007-12-07 2009-06-10 中兴通讯股份有限公司 低密度生成矩阵码的编码方法和装置、及译码方法和装置
CN101800715A (zh) * 2009-02-10 2010-08-11 华为技术有限公司 酉预编码方法及装置、解码方法及装置和酉预编解码系统
CN103873073A (zh) * 2014-03-20 2014-06-18 北京遥测技术研究所 一种基于并行与加窗结构的Turbo码高速译码实现方法
CN104038234A (zh) * 2013-03-07 2014-09-10 华为技术有限公司 极性码的译码方法和译码器
US20150155884A1 (en) * 2013-12-03 2015-06-04 Samsung Electronics Co., Ltd. Method of and apparatus for generating spatially-coupled low-density parity-check code
CN105141322A (zh) * 2015-09-16 2015-12-09 哈尔滨工业大学 一种基于极化码sc译码的部分和方法
CN108712232A (zh) * 2018-05-04 2018-10-26 北京邮电大学 一种用于连续变量量子密钥分发系统中的多码字并行译码方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1124889A (zh) * 1993-12-23 1996-06-19 株式会社理光 数据并行编码和译码的方法和装置
CN101453297A (zh) * 2007-12-07 2009-06-10 中兴通讯股份有限公司 低密度生成矩阵码的编码方法和装置、及译码方法和装置
CN101800715A (zh) * 2009-02-10 2010-08-11 华为技术有限公司 酉预编码方法及装置、解码方法及装置和酉预编解码系统
CN104038234A (zh) * 2013-03-07 2014-09-10 华为技术有限公司 极性码的译码方法和译码器
US20150155884A1 (en) * 2013-12-03 2015-06-04 Samsung Electronics Co., Ltd. Method of and apparatus for generating spatially-coupled low-density parity-check code
CN103873073A (zh) * 2014-03-20 2014-06-18 北京遥测技术研究所 一种基于并行与加窗结构的Turbo码高速译码实现方法
CN105141322A (zh) * 2015-09-16 2015-12-09 哈尔滨工业大学 一种基于极化码sc译码的部分和方法
CN108712232A (zh) * 2018-05-04 2018-10-26 北京邮电大学 一种用于连续变量量子密钥分发系统中的多码字并行译码方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘星: ""极化码的译码算法研究及实现"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112367086A (zh) * 2020-11-12 2021-02-12 山东云海国创云计算装备产业创新中心有限公司 一种基于ldpc的译码方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN111525980B (zh) 2021-09-17

Similar Documents

Publication Publication Date Title
US11923973B2 (en) Method and apparatus for encoding data using a polar code
US11171741B2 (en) Polar code transmission method and apparatus
US11075652B2 (en) Polar code transmission method and apparatus
US20230336274A1 (en) Codeword bit interleaving scheme for multilayer transmissions in wireless communication system
EP3734874B1 (en) Coding mode indication method and device
CN111525980B (zh) 译码方法及装置
KR20190013374A (ko) 통신 또는 방송 시스템에서 극부호 부호화/복호화 방법 및 장치
EP3592074A1 (en) Resource mapping method and apparatus thereof
US11509334B2 (en) Decoding apparatus and decoding method for decoding operation in channel coding
CN111600613B (zh) 一种校验方法、装置、译码器、接收机及计算机存储介质
WO2022117061A1 (zh) 一种极化码辅助比特的确定方法和装置
WO2019091444A1 (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