CN111106897A - 译码方法及设备 - Google Patents
译码方法及设备 Download PDFInfo
- Publication number
- CN111106897A CN111106897A CN201811261595.0A CN201811261595A CN111106897A CN 111106897 A CN111106897 A CN 111106897A CN 201811261595 A CN201811261595 A CN 201811261595A CN 111106897 A CN111106897 A CN 111106897A
- Authority
- CN
- China
- Prior art keywords
- iteration step
- bit
- decoding
- parameter
- sequence
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0047—Decoding adapted to other signal detection operation
- H04L1/005—Iterative decoding, including iteration between signal detection and decoding operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0054—Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Artificial Intelligence (AREA)
- Error Detection And Correction (AREA)
Abstract
本申请实施例提供一种译码方法及设备,该方法包括:接收设备获取待译码序列;所述接收设备获取所述待译码序列对应的每个比特各自的迭代步长,所述迭代步长为迭代译码算法中迭代更新所采用的常数,所述待译码序列对应的至少部分比特的迭代步长不同;所述接收设备根据每个比特各自的迭代步长,通过所述迭代译码算法对所述待译码序列进行译码,得到译码后序列。本申请实施例可以提高迭代译码算法的收敛速度,提高译码效率。
Description
技术领域
本申请实施例涉及译码技术,尤其涉及一种译码方法及设备。
背景技术
在通信系统中,由于信道和噪声等因素的影响,数据在传输过程中不可避免地会发生错误。为了在相同信噪比的情况下降低误码率,发射端需采用合适的信道编码,接收端则需要进行相应译码以恢复正常数据。
在第五代(the fifth generation,5G)移动通信系统中,极性(Polar)码和低密度奇偶校验码(Low Density Parity Check,LDPC)码二者具有逼近香农限的良好性能,而且译码复杂度较低,因此在5G移动通信系统中得到广泛应用。例如,在5G通信系统中,在增强型移动宽带(Enhance Mobile Broadband,eMBB)场景中,采用Polar码作为控制信道的编码方案,采用LDPC码作为数据信道的编码方案。
目前,有学者提出了通过迭代译码算法进行译码,例如交替方向乘子算法(Alternative Direction Method of Multipliers,ADMM),其中,迭代译码算法适用于分布式凸优化问题,可以并行译码每个比特。然而,现有的迭代译码算法针对各比特进行译码时收敛速度较慢,译码效率低下。
发明内容
本申请实施例提供一种译码方法及设备,以加快迭代译码时的收敛速度,提高译码效率。
第一方面,本申请实施例提供一种译码方法,包括:
接收设备获取待译码序列,该待译码序列为发送设备编码后得到的编码序列经信道传输后的对数似然比序列;
所述接收设备获取所述待译码序列对应的每个比特各自的迭代步长,该待译码序列对应的比特可以为待译码的比特,其中,对数似然比序列中的每个对数似然比对应一个比特;所述迭代步长为迭代译码算法中迭代更新所采用的常数,所述待译码序列对应的至少部分比特的迭代步长不同;其中,可以所有的比特的迭代步长都不同,也可以将比特分为多个组,每组对应的迭代步长不同,而每组内的比特对应的迭代步长相同;
所述接收设备根据每个比特各自的迭代步长,通过所述迭代译码算法对所述待译码序列进行译码,得到译码后序列。
在一种可能的设计中,所述接收设备获取所述待译码序列对应的每个比特各自的迭代步长,包括:
所述接收设备获取每个比特各自的译码信息;其中,所述译码信息包括如下中的至少一种译码参数:每个比特对应的编码矩阵中的行重、每个比特对应的编码矩阵中行重排序序号、每个比特对应的子信道的可靠度、每个比特对应的子信道的可靠度排序序号、每个比特对应的子信道的信道序号,其中,所述行重排序序号为行重从小到大进行排序的序号,所述可靠度排序序号为可靠度从小到大排序的序号;
所述接收设备根据所述译码参数确定每个比特各自的迭代步长。
在一种可能的设计中,针对同一种译码参数,每个比特各自的迭代步长随每个比特各自的译码参数的增加而减小;或者
针对同一种译码参数,多个比特的译码参数对应同一迭代步长,且第一迭代步长对应的译码参数小于第二迭代步长对应的译码参数,所述第一迭代步长大于所述第二迭代步长。由此,可以理解的是,译码参数在一预设的取值范围内,迭代步长不变。可选地,可以第一迭代步长对应的译码参数中的第一数量的译码参数小于第二迭代步长对应的译码参数中的第二数量的译码参数,第一数量大于第二数量;或者,可以第一迭代步长对应的译码参数中的最大译码参数小于第二迭代步长对应的最小译码参数,本实施例此处不做特别限制。
对于行重、可靠度而言,若行重以及可靠度越大,则译码准确度越高,此时选择较小的迭代步长,能够避免错过收敛位置,从而提高收敛速度;若行重以及可靠度越小,则译码准确度较低,此时选择较大的迭代步长,能够快速到达收敛位置,从而提高收敛速度。
在一种可能的设计中,所述接收设备根据所述译码参数确定每个比特各自的迭代步长,包括:
所述接收设备根据迭代步长函数,确定每个比特各自的迭代步长,其中,所述迭代步长函数是第一比特对应的迭代步长关于所述第一比特的译码参数的函数,所述第一比特为所述待译码序列对应的比特中的任意一个比特。
本实施例的迭代步长函数适用于待译码序列对应的比特中的每个比特,即每个比特都采用相同的迭代步长函数来确定迭代步长。
在一种可能的设计中,所述迭代步长函数满足迭代步长与译码参数负相关,所述迭代步长函数是对包括迭代步长初始值、译码参数和控制参数在内的参数项进行构造得到的函数,所述控制参数用于控制迭代步长随译码参数变化的变化程度。
在一种可能的设计中,所述迭代步长函数满足迭代步长与译码参数负相关,所述译码信息包括每个比特对应的子信道的信道序号,所述迭代步长函数是对包括所述待译码序列的长度、译码参数和控制参数在内的参数项进行构造得到的函数,所述控制参数用于控制迭代步长随译码参数变化的变化程度。
上述的迭代步长函数的自变量为译码参数,因变量为迭代步长。本实施例通过接收设备根据迭代步长函数来确定每个比特的迭代步长,能够快速得到适用于每个比特的迭代步长,从而加快迭代步长算法的收敛速度,提高译码效率。
在一种可能的设计中,所述接收设备根据迭代步长函数,确定每个比特各自的迭代步长之前,所述方法还包括:
所述接收设备接收发送设备发送的指示信息,所述指示信息用于指示所述迭代步长函数和/或所述迭代步长函数中的控制参数。该指示信息可以为高层信令或控制信息。
在一种可能的设计中,所述译码信息包括每个比特对应的子信道的可靠度,所述接收设备根据所述译码参数确定每个比特各自的迭代步长,包括:
所述接收设备根据译码参数,确定每个比特的平均可靠度信息,所述平均可靠度信息用于指示所述比特对应的子信道的相邻的子信道的平均可靠度;
所述接收设备根据所述每个比特的平均可靠度信息,确定每个比特各自的迭代步长,其中,所述平均可靠度与迭代步长负相关。
在一种可能的设计中,所述接收设备根据所述译码参数确定每个比特各自的迭代步长,包括:
所述接收设备根据每个比特的译码参数以及译码参数与迭代步长映射表,确定每个比特各自的迭代步长;其中,在所述迭代步长映射表中,所述译码参数与迭代步长为一对一的映射关系;或者,所述译码参数与迭代步长为多对一的映射关系,即多个译码参数对应同一迭代步长,例如可以对译码参数进行量化,实现译码参数与迭代步长多对一的映射关系。
在一种可能的设计中,所述迭代译码算法为交替方向乘子算法ADMM;
所述迭代步长为ADMM对应的增广拉格朗日函数项中的拉格朗日参数。
第二方面,本申请实施例提供一种接收设备,包括:
接收模块,用于获取待译码序列;
处理模块,用于获取所述待译码序列对应的每个比特各自的迭代步长,所述迭代步长为迭代译码算法中迭代更新所采用的常数,所述待译码序列对应的至少部分比特的迭代步长不同;
所述处理模块,还用于根据每个比特各自的迭代步长,通过所述迭代译码算法对所述待译码序列进行译码,得到译码后序列。
在一种可能的设计中,所述处理模块具体用于:
获取每个比特各自的译码信息;其中,所述译码信息包括如下中的至少一种译码参数:每个比特对应的编码矩阵中的行的行重、每个比特对应的编码矩阵中的行的行重排序序号、每个比特对应的子信道的可靠度、每个比特对应的子信道的可靠度排序序号、每个比特对应的子信道的信道序号,其中,所述行重排序序号为行重从小到大进行排序的序号,所述可靠度排序序号为可靠度从小到大排序的序号;
根据所述译码参数确定每个比特各自的迭代步长。
在一种可能的设计中,针对同一种译码参数,每个比特各自的迭代步长与每个比特各自的译码参数负相关;或者
针对同一种译码参数,多个比特的译码参数对应同一迭代步长,且第一迭代步长对应的译码参数小于第二迭代步长对应的译码参数,所述第一迭代步长大于所述第二迭代步长。
在一种可能的设计中,所述处理模块具体用于:
所述接收设备根据迭代步长函数,确定每个比特各自的迭代步长,其中,所述迭代步长函数是第一比特对应的迭代步长关于所述第一比特的译码参数的函数,所述第一比特为所述待译码序列对应的比特中的任意一个比特。
在一种可能的设计中,所述迭代步长函数满足迭代步长与译码参数负相关,所述迭代步长函数是对包括迭代步长初始值和控制参数在内的参数项进行构造得到的函数,所述控制参数用于控制迭代步长随译码参数变化的变化程度。
在一种可能的设计中,所述迭代步长函数满足迭代步长与译码参数负相关,所述译码信息包括每个比特对应的子信道的信道序号,所述迭代步长函数是对包括所述待译码序列的长度和控制参数在内的参数项进行构造得到的函数,所述控制参数用于控制迭代步长随译码参数变化的变化程度。
在一种可能的设计中,所述接收模块还用于,在根据迭代步长函数,确定每个比特各自的迭代步长之前,接收发送设备发送的指示信息,所述指示信息用于指示所述迭代步长函数和/或所述迭代步长函数中的控制参数。
在一种可能的设计中,所述译码信息包括每个比特对应的子信道的可靠度,所述处理模块具体用于:
根据译码参数,确定每个比特的平均可靠度信息,所述平均可靠度信息用于指示所述比特对应的子信道的相邻的子信道的平均可靠度;
根据所述每个比特的平均可靠度信息,确定每个比特各自的迭代步长,其中,所述平均可靠度与迭代步长负相关。
在一种可能的设计中,所述处理模块具体用于:
根据每个比特的译码参数以及译码参数与迭代步长映射表,确定每个比特各自的迭代步长。
第三方面,本申请实施例提供一种接收设备,包括:存储器、处理器以及计算机程序,所述计算机程序存储在所述存储器中,所述处理器运行所述计算机程序执行如上第一方面或第一方面各种可能的设计所述的方法。
第四方面,本申请实施例提供一种存储介质,所述存储介质包括计算机程序,所述计算机程序用于实现如上第一方面或第一方面各种可能的设计所述的方法。
第五方面,本申请实施例提供一种计算机程序产品,所述计算机程序产品包括计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行如上第一方面或第一方面各种可能的设计所述的方法。
第六方面,本申请实施例提供一种芯片,包括存储器和处理器,所述存储器用于存储计算机程序,所述处理器用于从所述存储器中调用并运行所述计算机程序,使得所述处理器执行如上第一方面或第一方面各种可能的设计所述的方法。
本申请实施例提供的译码方法及设备,通过接收设备获取待译码序列,接收设备获取待译码序列对应的每个比特各自的迭代步长,其中,迭代步长为迭代译码算法中迭代更新所采用的常数,待译码序列对应的至少部分比特的迭代步长不同;接收设备根据每个比特各自的迭代步长,通过迭代译码算法对所述待译码序列进行译码,得到译码后序列,本实施例是针对性的采用每个比特的迭代步长来进行迭代译码,而不是采用固定的迭代步长来进行译码,加快了迭代译码的收敛速度,提高了迭代译码的译码效率。
附图说明
图1为本申请提供的一种发送设备和接收设备的系统架构示意图;
图2为本申请实施例提供的译码方法的信令流程图;
图3为本申请实施例提供的译码方法的流程示意图一;
图4为本申请实施例提供的译码方法的流程示意图二;
图5为本申请实施例提供的译码仿真性能示意图;
图6为本申请实施例提供的接收设备的模块示意图;
图7为本申请提供的接收设备的硬件结构示意图。
具体实施方式
本发明实施例描述的网络架构以及业务场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
本申请实施例可以应用于无线通信系统,需要说明的是,本申请实施例提及的无线通信系统包括但不限于:窄带物联网系统(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系统(Code DivisionMultiple Access,CDMA2000)、时分同步码分多址系统(Time Division-SynchronizationCode Division Multiple Access,TD-SCDMA),长期演进系统(Long Term Evolution,LTE)以及新空口(New Radio,NR)下一代5G移动通信系统,例如5G的三大应用场景增强型移动宽带(Enhanced Mobile Broad Band,eMBB)、URLLC以及大规模机器通信(Massive Machine-Type Communications,mMTC)。
本申请涉及的通信装置主要包括网络设备或者终端设备。本申请中的发送设备为网路设备,则接收设备为终端设备;本申请中的发送设备为终端设备,则接收设备为网络设备。
在本申请实施例中,在本申请实施例中,终端设备(terminal device)包括但不限于移动台(MS,Mobile Station)、移动终端(Mobile Terminal)、移动电话(MobileTelephone)、手机(handset)及便携设备(portable equipment)等,该终端设备可以经无线接入网(RAN,Radio Access Network)与一个或多个核心网进行通信,例如,终端设备可以是移动电话(或称为“蜂窝”电话)、具有无线通信功能的计算机等,终端设备还可以是带无线收发功能的电脑、虚拟现实(Virtual Reality,VR)终端设备、增强现实(AugmentedReality,AR)终端设备、工业控制(industrial control)中的无线终端、无人驾驶(selfdriving)中的无线终端、远程医疗(remote medical)中的无线终端、智能电网(smartgrid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smartcity)中的无线终端、智慧家庭(smart home)中的无线终端等等。在不同的网络中终端可以叫做不同的名称,例如:用户设备,移动台,用户单元,站台,蜂窝电话,个人数字助理,无线调制解调器,无线通信设备,手持设备,膝上型电脑,无绳电话,无线本地环路台等。为描述方便,本申请中简称为终端设备。
在本申请实施例中,网络设备可以是用于与终端设备进行通信的设备,例如,可以是GSM系统或CDMA中的基站(Base Transceiver Station,BTS),也可以是WCDMA系统中的基站(NodeB,NB),还可以是LTE系统中的演进型基站(Evolutional Node B,eNB或eNodeB),在新空口(new radio,NR)网络中收发点(transmission reception point,TRP)或者下一代节点B(generation nodeB,gNB),或者该网络设备可以为中继站、接入点、车载设备、可穿戴设备以及未来5G网络中的网络侧设备、基站或未来演进的公共陆地移动网络(Public LandMobile Network,PLMN)中的网络设备等,或者在其他多种技术融合的网络中的网络设备。需要说明的是,当本发明实施例的方案应用于5G系统或未来可能出现的其他系统时,基站、终端的名称可能发生变化,但这并不影响本发明实施例方案的实施。
本申请实施例不仅适应于无线通信,还适用于有线通信、数据存储等一些列需要纠错码的应用场景,对于本申请实施例所适用的场景,本实施例此处不再赘述。
本申请的通信系统可以包括发送设备和接收设备,图1为本申请提供的一种发送设备和接收设备的系统架构示意图,如图1所示,其中,发送设备为编码端,可以用于编码和输出编码后序列,编码后序列在信道上传输至译码侧;接收设备为译码端,可以用于接收从信道传输的待译码序列(即编码后序列),并对该待译码序列进行译码。在图1所示的实施例中,以网络设备为编码端,终端设备为译码端为例进行说明;对于编码端为终端设备,译码端为网络设备的实现方式类似,本实施例此处不再赘述。
目前,在5G移动通信系统,采用的编码方式主要为Polar(极化)码编码方式和低密度奇偶校验(Low Density Parity Check,LDPC)编码方式。可选地,编码方式也可以称为编码方式。
在本实施例中,这里的Polar码包括但不限于Arikan Polar码、PC-Polar码、CA-Polar码、PC-CA-Polar码。Arikan Polar是指原始的Polar码,没有与其它码级联,只有信息比特和冻结比特。PC-Polar是级联了奇偶校验(Parity Check,PC)的Polar码,CA-Polar是级联了循环冗余校验(Cyclic Redundancy Check,CRC)的Polar码及其他级联Polar码。PC-CA-Polar码是同时级联了PC和CRC的Polar码。PC-Polar和CA-Polar是通过级联不同的码来提高Polar码的性能。
其中,Polar码是一种线性块码,其生成矩阵为GN,编码过程为uNGN=xN,其中uN=(u1,u2,…,uN)是一个二进制的行矢量,长度为N(即母码长度);GN是一个N*N的矩阵,且这里矩阵 定义为log2N个矩阵F2的克罗内克(Kronecker)乘积;以上涉及的加法、乘法操作均为二进制伽罗华域(Galois Field)上的加法、乘法操作。
Polar码的编码过程中,uN中的一部分比特用来携带信息,称为信息比特,这些比特的索引的集合记作A;另外的一部分比特置为收发端预先约定的固定值,称之为固定比特,其索引的集合用A的补集Ac表示。不失一般性,这些固定比特通常被设为0,只需要收发端预先约定,固定比特序列可以被任意设置。Polar码编码后的编码后序列在经过信道传输之后,接收端译码设备接收到的待译码序列为对数似然比序列。
低密度奇偶校验码(Low Density Parity Check,LDPC)码,是由RobertG.Gallager博士于1963年提出的一类具有稀疏校验矩阵的线性分组码,不仅有逼近香农极限的良好性能,而且译码复杂度较低、结构灵活。LDPC码本质上是一种线形分组码,它通过一个生成矩阵G将信息序列映射成发送序列,也就是码字序列。对于生成矩阵G,完全等效地存在一个奇偶校验矩阵H,所有的码字序列C构成了H的零空间(null space)。
目前LDPC码的编码方式主要有:二进制LDPC码的编码、基于高斯消去的编码、基于近似下三角矩阵的编码以及基于循环码的编码等,对于LDPC码的编码方式的具体实现,本实施例此处不做特别限制。LDPC码编码后的编码后序列在经过信道传输之后,接收设备接收到的待译码序列为对数似然比序列。
在一个具体的示例中,基于基矩阵(base graph)构造的准循环低密度奇偶校验(Quasi-Cyclic Low Density Parity Check,QC-LDPC)码对应的校验矩阵具有描述简单,易于构造等优点。QC-LDPC的校验矩阵(parity check matrix)是对一个基矩阵进行扩展得到的,QC-LDPC的校验矩阵具有描述简单、易于构造等特点。例如,矩阵H为校验矩阵,具体如下:
其中aij是循环移位矩阵的移位因子,nb和mb是基矩阵的列数和行数。Paij是循环移位矩阵,可以通过对I的单位阵循环移aij位得到。其中aij的范围是-1≤aij<Z。可定义Z×Z的全零矩阵O为P-1。如果H是满秩矩阵,则可以在基矩阵上(nb-mb)列放(nb-mb)Z个信息比特。我们称这Kb=(nb-mb)的基矩阵列为信息列。采用QC-LDPC码时,如果信息序列的长度K被Kb整除,那么在扩展后的LDPC校验矩阵中每一个信息比特位置都用来放置信息比特;如果K不被Kb整除,导致Z×Kb>K,那么在扩展后LDPC校验矩阵中会有(Z×Kb-K)的多余信息比特位置,可称为填充比特。
下式所示为LDPC码的校验矩阵和其对应校验方程的一个示例,其中v0、v1、v2、……v9为变量节点。
在本实施例中,Polar码和LDPC码可以通过迭代译码算法来实现译码。其中,迭代译码算法例如可以为增广拉格朗日算法(Augmented Lagrangian Methods),乘子算法(Method of Multipliers),交替方向乘子算法(Alternative Direction Method ofMultipliers,ADMM),梯度投影算法(Gradient Projection Algorithm),高斯-赛德尔迭代(Gauss–Seidel Method)及近端最小化算法(Proximal Minization Algorithm)等。在本实施例中,以Polar码和LDPC码为例来进行说明,本实施例提供的译码方法不仅适用于Polar码和LDPC码,还适用于其它纠错码。
本实施例此处以ADMM为例,对LDPC以及Polar的译码过程进行详细说明。其中,ADMM是一种求解凸优化问题的通用算法,在应用中ADMM算法往往会用来求解可以分布式处理的并行问题。
首先以LDPC译码为例,对ADMM的译码过程进行详细说明。
其中,利用ADMM算法进行LDPC译码时,可以将LDPC的最大似然比译码方法转化为一个优化问题,具体可参见如下公式3和公式4所示。
其中
γi是每一个待译码比特的最大似然比。J为校验矩阵的校验节点集合,i为待译码比特的序号。H为校验矩阵,Hjixi代表公式2的实现过程,xi代表变量节点。Pr(ri|xi=0)代表在接收信号ri下,xi等于0的概率,Pr(ri|xi=1)代表在接收信号ri下,xi等于1的概率。
因此,每一个比特的译码,都可以看成是一个独立的优化问题求解。
s.t. Av+z=c 公式7
其中,q为对数似然比增广矩阵,该矩阵中的元素为接收设备接收到的对数似然比,v是x在实数域上的对偶表征,代表了每一比特的译码结果,α代表惩罚常数,例如可以取1.2。z是对偶辅助变量,A是根据校验矩阵(编码矩阵)进行变换得到的矩阵,A矩阵的维数与校验矩阵H的维数相同、c为常数,代表实数域;
其中,增广拉格朗日函数可以表征为:
其中,μ为迭代步长,即拉格朗日参数。
利用ADMM求解时,问题可以转化为:
主问题更新:
对偶问题更新:
残差更新:
yk+1=yk+μ(Avk+1+zk+1-c) 公式11
其中,k为迭代次数,argminLμ(v,z,y)代表当Lμ(v,z,y)取最小值时,v,z,y的取值。
k达到预设迭代次数时,迭代终止,或者当残差满足预设条件时,或者v经过硬判的结果通过CRC校验,迭代终止。迭代终止后如果未进行硬判则进行硬判输出译码结果。这里所述的硬判为根据v的值确定的译码结果,例如v≥0.5,则译码结果为1,当v<0.5,则译码结果为0。
在具体实现过程中,针对每个待译码的比特,均采取上述ADMM算法进行译码,即待译码序列对应的每个比特采取并行的方式进行译码。可选地,当采用Polar码进行译码时,其实现方式类似,所不同的是公式4中不再采用校验矩阵H,而是采用Polar码的编码矩阵G。其中,ADMM算法还可以采用其他的实现方式,本实施例此处不再赘述。
现有技术中,迭代步长往往设定为固定值,或者根据残差的数量级来改变该固定的迭代步长,每个比特在译码时都是采用该固定的迭代步长。然而,这种方式会导致迭代译码的收敛速度较慢,导致译码效率低下。
本实施例对迭代步长进行改进,使得迭代步长不再采用固定值,从而提高迭代译码的收敛速度,提高译码效率。下面以具体地实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图2为本申请实施例提供的译码方法的信令流程图,如图2所示,该方法包括:
S201、发送设备发送编码后序列。
S202、接收设备获取待译码序列。
在具体实现过程中,发送设备对待发送的数据进行编码,得到编码后序列,然后发送设备发送该编码后序列,该编码后序列经过信道传输或者其它传输方式传输至接收设备,接收设备获取待译码序列,该待译码序列为经过信道等方式传输的编码后序列。例如,以Polar为例,发送设备对数据进行编码后,得到的编码后序列为二进制序列,该二进制序列经过信道传输后,接收设备接收到的为对数似然比序列,该对数似然比序列即为待译码序列。
S203、接收设备获取待译码序列对应的每个比特各自的迭代步长,迭代步长为迭代译码算法中迭代更新所采用的常数,待译码序列对应的至少部分比特的迭代步长不同。
接收设备在获取到待译码序列后,获取待译码序列对应的每个比特各自的迭代步长。本领域技术人员可以理解,接收设备获取到的待译码序列可以为对数似然比序列,该待译码序列对应的比特可以为待译码的比特,其中,对数似然比序列中的每个对数似然比对应一个比特。
在本实施例中,为了加快迭代译码的收敛速度,提高译码效率。接收设备获取待译码序列对应的每个比特各自的迭代步长,该迭代步长为迭代译码算法中迭代更新所采用的常数。例如,在ADMM算法中,该迭代步长为ADMM对应的增广拉格朗日函数项中的拉格朗日参数。
其中,在进行迭代译码过程中,针对每个比特,不是采用相同的固定迭代步长,而是采用针对该比特的迭代步长,因此,待译码序列对应的至少部分比特的迭代步长不同。例如,可以所有的比特的迭代步长都不同,也可以将比特分为多个组,每组对应的迭代步长不同,而每组内的比特对应的迭代步长相同。可选地,每组内的比特的数量可以相等也可以不等,本实施例对每组内的比特的数量不做特别限制。
在本实施例中,接收设备可以根据译码参数来获取每个比特的迭代步长。该译码参数例如可以为行重参数和/或子信道参数。其中,行重参数是指与行重相关的参数,例如行重、行重排序等,子信道参数是指与子信道相关的参数,例如子信道可靠度、子信道序号、可靠度排序等。
例如,接收设备根据译码参数,确定每个比特的平均可靠度信息,平均可靠度信息用于指示比特对应的子信道的相邻的子信道的平均可靠度;其中,相邻的子信道是指信道序号排在该子信道之前和之后的信道,对于相邻子信道的数量,本实施例此处不做特别限制。该平均可靠度信息可以为根据相邻子信道的可靠度求出的平均可靠度,也可以为根据相邻子信道的信道序号求出的序号的平均值,也可以为对该平均可靠度进行归一化得到的数值等,本实施例对该平均可靠度信息的实现方式不做特别限制,只要能够指示该平均可靠度即可。
接收设备根据每个比特的平均可靠度信息,即根据平均可靠度信息所指示的平均可靠度,确定每个比特各自的迭代步长,其中,迭代步长随平均可靠度的增加而减小。
可选地,接收设备可以根据译码参数,通过预设函数或者映射关系等来确定每个比特的迭代步长。或者接收设备接收发送设备的指示,根据发送设备的指示来获取每个比特的迭代步长,该指示可以指示函数或映射关系等,从而接收设备可以获取每个比特的迭代步长。本实施例对接收设备获取每个比特各自的迭代步长的实现方式不做特别限制。
S204、接收设备根据每个比特各自的迭代步长,通过迭代译码算法对待译码序列进行译码,得到译码后序列。
在译码过程中,根据每个比特的迭代步长,采用迭代译码算法进行并行译码。例如,以ADMM算法为例,在得到了每个比特的迭代步长μ之后,通过公式6至公式11来进行译码,得到译码结果。对于其它迭代译码算法,其实现方式类似,本实施例此处不再赘述。
本申请实施例提供的译码方法,通过接收设备获取待译码序列,接收设备获取待译码序列对应的每个比特各自的迭代步长,其中,迭代步长为迭代译码算法中迭代更新所采用的常数,待译码序列对应的至少部分比特的迭代步长不同;接收设备根据每个比特各自的迭代步长,通过迭代译码算法对所述待译码序列进行译码,得到译码后序列,本实施例是针对性的采用每个比特的迭代步长来进行迭代译码,而不是采用固定的迭代步长来进行译码,加快了迭代译码的收敛速度,提高了迭代译码的译码效率。
在一种可能的实现方式中,接收设备获取每个比特的译码信息,然后根据每个比特的译码信息来确定每个比特的迭代步长。其中,译码信息包括如下中的至少一种译码参数:每个比特对应的编码矩阵中的行的行重、每个比特对应的编码矩阵中的行的行重排序序号、每个比特对应的子信道的可靠度、每个比特对应的子信道的可靠度排序序号、每个比特对应的子信道的信道序号、比特位排序序号。
其中,每个比特对应的编码矩阵中的行的行重是指编码矩阵中每行中1的总数。本领域技术人员可以理解,在LDPC译码中,编码矩阵即为校验矩阵。即在本申请实施例中,用于编码的矩阵都可以为本申请实施例所述的编码矩阵。
以Polar码为例进行详细说明。对于比特序号i,其中i=0,1…N-1,gi表征Gn的第i行,w(gi)表征gi的行重。对于最大码长为Nmax=1024的Polar,编码矩阵Gn的行重都是固定的,其行重分别为[1,2,2,4,2,4,4,8,2,4,4,8,4,8,8,16,2,4,4,8,4,8,8,16,4,8,8,16,8,16,16,32,2,4,4,8,4,8,8,16,4,8,8,16,8,16,16,32,4,8,8,16,8,16,16,32,8,……,64,64,128,64,128,128,256,64,128,128,256,128,256,256,512,16,32,32,64,32,64,64,128,32,64,64,128,64,128,128,256,32,64,64,128,64,128,128,256,64,128,128,256,128,256,256,512,32,64,64,128,64,128,128,256,64,128,128,256,128,256,256,512,64,128,128,256,128,256,256,512,128,256,256,512,256,512,512,1024]。
因此,对于母码长度为N的Polar码,其第j行的行重可以直接取出。对于母码长度分别为32,64,128,256,512和1024的Polar码来讲,其最大行重分别为:32,64,128,256,512和1024。
每个比特对应的编码矩阵中的行的行重排序序号,是行重从小到大进行排序的序号,由上列出的行重可知,行重最小为1,最大为1024,将行重从小到大进行排序,得到行重排序序号。
每个比特对应的子信道的可靠度,子信道的可靠度代表了信道质量,可靠度越高,信道质量越好,可靠度越低,信道质量越差。以Polar码为例,将N个相同的二进制独立无记忆信道(B-DMC)W通过线性变换的方式组合成合成信道WN,其中WN是矢量信道,有N个输入和N个输出,将合成信道WN进行分裂,得到N个比特信道,即本申请实施例的子信道。其中,子信道的可靠度与信道的对称容量和巴氏参数有关,对于子信道的可靠度的确定方式,本实施例此处不再赘述。
每个比特对应的子信道的可靠度排序序号,是指对每个比特的子信道的可靠度按照从小到大进行排序得到的序号。每个比特对应的子信道的信道序号,是指对子信道进行自然排序,得到的子信道的信道序号。
可选地,上述的译码参数在确定之后都为固定的参数。即针对同一母码长度,上述的译码参数为静态参数,不会变化的参数。在每次进行译码时,不需要重新计算得到译码参数,可以直接根据该译码参数得到迭代步长。
在具体实现过程中,可以通过每个比特的一种译码参数来确定迭代步长,也可以通过每个比特的多种译码参数来共同确定迭代步长,本实施例对迭代步长的确定方式不做特别限制。
可选地,在一种可能的实现方式中,针对同一种译码参数,每个比特各自的迭代步长与每个比特各自的译码参数负相关。其中,负相关是指迭代步长随着译码参数的增大逐渐减小。
具体地,对于行重、可靠度而言,若行重以及可靠度越大,则译码准确度越高,此时选择较小的迭代步长,能够避免错过收敛位置,从而提高收敛速度;若行重以及可靠度越小,则译码准确度较低,此时选择较大的迭代步长,能够快速到达收敛位置,从而提高收敛速度。
其中,一般情况下,随着子信道的信道序号的增大,子信道可靠度增加,比特位排序序号增大,子信道可靠度增大,因此,通过子信道的信道序号和比特位排序序号,可以指示信道可靠度。
本领域技术人员可以理解,当每个比特对应的编码矩阵中的行的行重排序序号(行重从小到大排序)、每个比特对应的子信道的可靠度排序序号(可靠度从小到大排序)、每个比特对应的子信道的信道序号(顺序排序)、比特位排序序号(顺序排序),则迭代步长与译码参数负相关。在本申请的各实施例中,负相关的实现方式与正相关的实现方式类似,具体可参见正相关的实现方式,本申请各实施例不再赘述。
而当每个比特对应的编码矩阵中的行的行重排序序号(行重从大到小排序)、每个比特对应的子信道的可靠度排序序号(可靠度从大到小排序)、每个比特对应的子信道的信道序号(逆序排序)、比特位排序序号(逆序排序),则迭代步长与译码参数正相关,即迭代步长随着译码参数的增大而增大。
本实施例对于具体是采用正相关的方式实现还是负相关的方式实现,不做特别限制,只要本质上能够满足行重和/或子信道可靠度与迭代步长负相关即可。
可选地,在另一种可能的实现方式中,针对同一种译码参数,多个比特的译码参数对应同一迭代步长,且第一迭代步长对应的译码参数小于第二迭代步长对应的译码参数,第一迭代步长大于第二迭代步长。可选地,可以第一迭代步长对应的译码参数中的第一数量的译码参数小于第二迭代步长对应的译码参数中的第二数量的译码参数,第一数量大于第二数量;或者,可以第一迭代步长对应的译码参数中的最大译码参数小于第二迭代步长对应的最小译码参数,本实施例此处不做特别限制。
即对译码参数进行分组,同一组译码参数的迭代步长相等。例如,以信道序号为例,每M个子信道采用同一迭代步长,M为整数。本实施例对N的长度不做特别限制,根据N可以确定组的数量。例如,当母码长度为1024时,M=246,子信道排序序号为0至255的子信道采用迭代步长a,子信道排序序号为256至511的子信道采用迭代步长b,子信道排序序号为512至783的子信道采用迭代步长c,子信道排序序号为784至1023的子信道采用迭代步长d,并且满足a>b>c>d。对于其他译码参数而言,其实现方式类似,本实施例此处不再赘述。
再例如,以行重为例,相同的行重分为一个组,以上述Polar码的行重为例,行重1对应迭代步长e,行重2对应迭代步长f,行重4对应迭代步长g依次类推,其中,e>f>g。其中,每个行重对应的行数可能相同,也可能不同,即在分组过程中,每组内译码参数的数量可以不同,每组内译码参数的数量以实际码长对应的行重为准。
在上述实施例的基础上,可以根据译码函数以及映射关系表等方式来确定迭代步长,下面举几个例子进行详细说明。本领域技术人员可以理解,下述的示例仅为示意性的,任何在下述例子上衍生或推演的实现方式,都属于本申请的保护范畴。
图3为本申请实施例提供的译码方法的流程示意图一。其中,图3所示实施例可以用于每个比特各自的迭代步长与每个比特各自的译码参数负相关的场景。如图3所示,该方法包括:
S301、接收设备获取待译码序列;
S302、接收设备根据迭代步长函数,确定每个比特各自的迭代步长,其中,所述迭代步长函数是第一比特对应的迭代步长关于所述第一比特的译码参数的函数,所述第一比特为所述待译码序列对应的比特中的任意一个比特;
S303、接收设备根据每个比特各自的迭代步长,通过迭代译码算法对待译码序列进行译码,得到译码后序列。
在本实施例中,S301与图2所示的S202类似,S303与图2所示的S204类似,本实施例此处不再赘述。
在本实施例中,该迭代步长函数可以为迭代步长关于译码参数负相关的函数,即随着译码参数的增大,迭代步长减小。例如,该迭代步长函数可以为反比例函数等,本实施例对迭代步长函数的实现方式不做特别限制。
本实施例的迭代步长函数适用于待译码序列对应的比特中的每个比特,即每个比特都采用相同的迭代步长函数来确定迭代步长。
在一种可能的实现方式中,迭代步长函数是对包括迭代步长初始值和控制参数在内的参数项进行构造得到的函数,控制参数用于控制迭代步长随译码参数变化的变化程度。
例如,该迭代步长函数可以同如下公式12所示:
其中,μi代表第i个比特的迭代步长,μc代表迭代步长初始值,a、b代表控制参数,a≥1,b>0,控制参数用于控制迭代步长随译码参数变化的变化程度,该变化程度可以理解为迭代步长之间的差值大小,当该差值小时,则变化程度大,当该差值大时,则变化程度大。
xi可以为上述译码信息中的任一种译码参数,即每个比特对应的编码矩阵中的行的行重、每个比特对应的编码矩阵中的行的行重排序序号、每个比特对应的子信道的可靠度、每个比特对应的子信道的可靠度排序序号、每个比特对应的子信道的信道序号、比特位排序序号中的一种。
可选地,该迭代步长函数还可以由多个译码参数来构造,以Polar码为例,可以由行重和子信道的可靠度来进行构造,例如迭代步长函数如公式13所示:
其中,μi代表第i个比特的迭代步长,μc代表迭代步长初始值,a1、a2、b代表控制参数,a1≥1、a2≥1,b>0,wi代表行重,ri代表子信道可靠度。
在另一种可能的实现方式中,译码信息包括每个比特对应的子信道的信道序号,迭代步长函数是对包括待译码序列的长度和控制参数在内的参数项进行构造得到的函数,控制参数用于控制迭代步长随译码参数变化的变化程度。
具体地,Polar码子信道的可靠度往往随着子信道的信道序号的增加而增加,因此,可以通过信道序号来指示可靠度。可选地,可以通过信道序号来构造迭代步长函数。例如,迭代步长函数如公式14所示:
其中,μi代表第i个比特的迭代步长,i代表信道序号,i=2、3、4……1023,N=1024,N为母码长度,当信道序号为0或1时,可以采用迭代步长初始值或预设的迭代步长,ε代表控制参数,ε为区间[0,1]之间的实数常数,rN-1代表第N-1个子信道的可靠度或者最可靠子信道的可靠度。本领域技术人员可以理解,也可以是经过运算或根据经验得到的一个控制常量参数。
在又一种可能的实现方式中,本实施例提供的迭代步长函数还可以为例如阶跃函数等函数。该函数满足译码参数在预设的取值范围内,随着译码参数的增大,而迭代步长保持不变。例如,以子信道序号为例,阶跃函数为如下公式15所示。
其中,μ0>μ1>μ2>μ3>μ4,其中μ0、μ1、μ2、μ3、μ4均为常数,一般地,μ0可以取为2,μ4可以取为0.6,当然也不排除可以取其他值。
本实施例通过接收设备根据迭代步长函数来确定每个比特的迭代步长,能够快速得到适用于每个比特的迭代步长,从而加快迭代步长算法的收敛速度,提高译码效率。
在上述图3实施例的基础上,接收设备可以预存多种迭代步长函数,而具体采用哪种迭代步长的函数,则可以通过发送设备来指示所采用的函数以及控制参数。具体地,发送设备向接收设备发送指示信息,所述指示信息用于指示迭代步长函数和/或迭代步长函数中的控制参数。
当该指示信息用于指示迭代步长函数时,则控制参数可以为收发双方预先约定的,也可以被通过其它信息指示。同理,当该指示信息用于指示控制参数时,则迭代步长函数可以为收发双方预先约定的,也可以通过其它信息指示。本实施例涉及的其它信息可以为高层信令或者控制信息等。可选地,接收设备在译码上述指示信息或其它信息时,由于指示信息以及其它信息不携带数据,位长较短,所以可以通过预设的初试迭代步长来进行译码。
以一个具体的例子为例,指示信息的最高两位指示迭代步长函数。例如:
00指示μi=c,μi为第i个比特的迭代步长,μc代表迭代步长初始值,即直接采用迭代步长初始值,可以不采用迭代步长函数。即该指示信息还可以指示本实施例的所有比特采用固定的相同的迭代步长,当该指示信息的最高两位为00时,则接收设备采用预存的迭代步长初始值作为所有比特的迭代步长。
本领域技术人员可以理解,接收设备也可以根据信道质量、接收设备的能力等信息,来确定采用预存的迭代步长初始值作为所有比特的迭代步长。
11指示公式16,具体如下所示:
其中,xi代表第i个比特的译码参数,a、b为控制参数。
当指示信息的高两位不是00时,接收端会读取指示信息的低三位。指示信息的低三位指示控制参数,可选地,该低三位还可以同步指示迭代步长初始值。例如:
000:μc=1,a=1.1,b=12;
001:μc=1,a=1.15,b=12;
010:μc=1,a=1.2,b=12;
011:μc=1,a=1.02,b=4;
100:μc=0.9,a=1.1,b=12;
101:μc=0.9,a=1.15,b=12;
110:μc=0.9,a=1.2,b=12;
111:μc=0.9,a=1.02,b=4。
本实施例通过指示信息来指示迭代步长函数和控制参数,增加了译码的灵活性,可以针对不同的码长以及不同的译码方式,从而适用于各种场景,保证了在各种场景下,都可以快速收敛,提高译码效率。
图4为本申请实施例提供的译码方法的流程示意图二,如图4所示,该方法包括:
S401、接收设备获取待译码序列;
S402、接收设备根据每个比特的译码参数以及译码参数与迭代步长映射表,确定每个比特各自的迭代步长;
S403、接收设备根据每个比特各自的迭代步长,通过迭代译码算法对待译码序列进行译码,得到译码后序列。
在具体实现过程中,接收设备存储一张迭代步长映射表,该迭代步长映射表中存储有译码参数与迭代步长的对应关系,该译码参数可以为上述译码信息中的一种或几种。可选地,可通过上述图2至图3所示的实施例来获取译码参数,再获取到迭代步长之后,根据译码参数与迭代步长的映射关系,建立译码参数与迭代步长映射表。或者,还可以通过其它方式来建立译码参数与迭代步长映射表,本实施例对该译码参数与迭代步长映射表的建立方式不做特别限制。
在本实施例中,以译码参数为子信道的信道序号为例,来进行说明。其它译码参数类似,本实施例此处不再赘述。例如,控制信道所采用的Polar码长度N=1024,因此动态范围由码长已经限定。在不限定量化位宽时,所需的量化位宽为10比特,表格的长度为1024,表格的任意第j行都可以用10比特内的二进制数来表征;根据子信道的信道序号i能查找到所需要的迭代步长,该映射表例如表1的前两列所示,第3列为用于说明十进制信道序号i的列。
表1
二进制(j) | 步长(i) | 十进制 |
0000000000 | a | 0 |
0000000001 | b | 1 |
0000000010 | 2 | |
0000000011 | 3 | |
0000000100 | 4 | |
…. | … | …. |
1111111111 | z | 1023 |
再例如,当限定量化位宽为8比特时,那么译码参数与迭代步长映射表的长度为256,表格内的任意第j行都可以用8比特内的二进制数来表征。根据子信道的信道序号i能查找到所需要的迭代步长,即本实施例将多个比特的译码参数分为一个组,每一组采用相同的迭代步长,通过该方式可以减少存储空间,该映射表例如表2的前两列所示,第3列为用于说明十进制信道序号i的列。
表2
二进制(j) | 十进制(i) | 步长 |
00000000 | 0~3 | a |
00000001 | 4~7 | b |
00000010 | 8~11 | |
00000011 | 12~15 | |
00000100 | 16~19 | |
…. | …. | … |
11111111 | 1020~1023 | z |
本申请实施例通过映射表来获取迭代步长,不需要每次都进行计算,可以通过查找映射表的方式来获取迭代步长,能够提高接收设备整体的处理效率。
可选地,在上述实施例的基础上,以迭代译码算法为ADMM,译码方式为LDPC译码为例,来说明本申请实施例的译码性能。图5为本申请实施例提供的译码仿真性能示意图。如图5所示,其中,Es/N0代表符号信噪比,其中,Es代表信号(符号)的能量,N0代表噪声的功率谱密度。FER代表每帧的误码率(Frame Error Rate,FER)。每条曲线的仿真参数如下:
51-随残差变化的迭代步长;
52-固定的迭代步长;
53-迭代步长随行重变化,迭代步长函数可参考如下公式17所示:
54-迭代步长随行重变化,迭代步长函数可参考如下公式18所示:
其中,μi为第i个比特的迭代步长,μc为迭代步长初始值,wi为第i个比特的行重。
请继续参照图5,如曲线51所示,当迭代步长随残差变化时,该迭代步长对应的FER始终保持在较高的水平,并不实用。曲线53和曲线54为采用变化的迭代步长,相比曲线52采用固定的迭代步长而言,译码性能增益明显,可提高0.4db的性能增益,同时,曲线53和曲线54所采用的译码时间相对于曲线52的译码时间减少,即本申请实施例迭代译码算法的收敛速度较快,因此可以提升译码速度,提高译码效率。
图6为本申请实施例提供的接收设备的模块示意图。如图6所示,该接收设备60包括接收模块601和处理模块602;其中
接收模块601,用于获取待译码序列;
处理模块602,用于获取所述待译码序列对应的每个比特各自的迭代步长,所述迭代步长为迭代译码算法中迭代更新所采用的常数,所述待译码序列对应的至少部分比特的迭代步长不同;
所述处理模块602,还用于根据每个比特各自的迭代步长,通过所述迭代译码算法对所述待译码序列进行译码,得到译码后序列。
可选地,所述处理模块602具体用于:
获取每个比特各自的译码信息;其中,所述译码信息包括如下中的至少一种译码参数:每个比特对应的编码矩阵中的行的行重、每个比特对应的编码矩阵中的行的行重排序序号、每个比特对应的子信道的可靠度、每个比特对应的子信道的可靠度排序序号、每个比特对应的子信道的信道序号,其中,所述行重排序序号为行重从小到大进行排序的序号,所述可靠度排序序号为可靠度从小到大排序的序号;
根据所述译码参数确定每个比特各自的迭代步长。
可选地,针对同一种译码参数,每个比特各自的迭代步长与每个比特各自的译码参数负相关;或者
针对同一种译码参数,多个比特的译码参数对应同一迭代步长,且第一迭代步长对应的最大译码参数小于第二迭代步长对应的最小译码参数,所述第一迭代步长大于所述第二迭代步长。
可选地,所述处理模块602具体用于:
所述接收设备根据迭代步长函数,确定每个比特各自的迭代步长,其中,所述迭代步长函数是第一比特对应的迭代步长关于所述第一比特的译码参数的函数,所述第一比特为所述待译码序列对应的比特中的任意一个比特。
可选地,所述迭代步长函数满足迭代步长与译码参数负相关,所述迭代步长函数是对包括迭代步长初始值和控制参数在内的参数项进行构造得到的函数,所述控制参数用于控制迭代步长随译码参数变化的变化程度。
可选地,所述迭代步长函数满足迭代步长与译码参数负相关,所述译码信息包括每个比特对应的子信道的信道序号,所述迭代步长函数是对包括所述待译码序列的长度和控制参数在内的参数项进行构造得到的函数,所述控制参数用于控制迭代步长随译码参数变化的变化程度。
可选地,所述接收模块601还用于,在根据迭代步长函数,确定每个比特各自的迭代步长之前,接收发送设备发送的指示信息,所述指示信息用于指示所述迭代步长函数和/或所述迭代步长函数中的控制参数。
可选地,所述译码信息包括每个比特对应的子信道的可靠度,所述处理模块602具体用于:
根据译码参数,确定每个比特的平均可靠度信息,所述平均可靠度信息用于指示所述比特对应的子信道的相邻的子信道的平均可靠度;
根据所述每个比特的平均可靠度信息,确定每个比特各自的迭代步长,其中,所述平均可靠度与迭代步长负相关。
可选地,所述处理模块602具体用于:
根据每个比特的译码参数以及译码参数与迭代步长映射表,确定每个比特各自的迭代步长。
本申请实施例提供的接收设备,可用于执行上述的译码方法,其实现方式和技术效果类似,本实施例此处不再赘述。
应理解,上述接收设备中的处理模块可以被实现为处理器,接收模块可以被实现为接收器。
图7为本申请提供的接收设备的硬件结构示意图。如图7所示,该接收设备70包括:处理器701以及存储器702;其中
存储器702,用于存储计算机程序;
处理器701,用于执行存储器存储的计算机程序,以实现上述译码方法中的各个步骤。具体可以参见前面方法实施例中的相关描述。
可选地,存储器702既可以是独立的,也可以跟处理器1401集成在一起。
当所述存储器702是独立于处理器701之外的器件时,所述接收设备70还可以包括:
总线703,用于连接所述存储器702和处理器701。图7的接收设备还可以进一步包括接收器704,用于从信道接收待译码序列。
本实施例提供的接收设备,可以为终端设备,或者也以为网络设备,可用于执行上述的译码方法,其实现方式和技术效果类似,本实施例此处不再赘述。
本申请实施例还提供一种存储介质,所述存储介质包括计算机程序,所述计算机程序用于实现如上所述的译码方法。
本申请实施例还提供一种芯片,包括:存储器和处理器;
所述存储器,用于存储程序指令;
所述处理器,用于调用所述存储器中存储的所述程序指令以实现如上所述的译码方法。
本申请实施例还提供一种程序产品,所述程序产品包括计算机程序,所述计算机程序存储在存储介质中,所述计算机程序用于实现上述的译码方法。
结合本发明实施例公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(Read Only Memory,ROM)、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(Electrically EPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于基站或终端中。当然,处理器和存储介质也可以作为分立组件存在于接收设备中。
应理解,上述处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
Claims (21)
1.一种译码方法,其特征在于,包括:
接收设备获取待译码序列;
所述接收设备获取所述待译码序列对应的每个比特各自的迭代步长,所述迭代步长为迭代译码算法中迭代更新所采用的常数,所述待译码序列对应的至少部分比特的迭代步长不同;
所述接收设备根据每个比特各自的迭代步长,通过所述迭代译码算法对所述待译码序列进行译码,得到译码后序列。
2.根据权利要求1所述的方法,其特征在于,所述接收设备获取所述待译码序列对应的每个比特各自的迭代步长,包括:
所述接收设备获取每个比特各自的译码信息;其中,所述译码信息包括如下中的至少一种译码参数:每个比特对应的编码矩阵中的行的行重、每个比特对应的编码矩阵中的行的行重排序序号、每个比特对应的子信道的可靠度、每个比特对应的子信道的可靠度排序序号、每个比特对应的子信道的信道序号,其中,所述行重排序序号为行重从小到大进行排序的序号,所述可靠度排序序号为可靠度从小到大排序的序号;
所述接收设备根据所述译码参数确定每个比特各自的迭代步长。
3.根据权利要求2所述的方法,其特征在于,
针对同一种译码参数,每个比特各自的迭代步长与每个比特各自的译码参数负相关;或者
针对同一种译码参数,多个比特的译码参数对应同一迭代步长,且第一迭代步长对应的译码参数小于第二迭代步长对应的译码参数,所述第一迭代步长大于所述第二迭代步长。
4.根据权利要求3所述的方法,其特征在于,所述接收设备根据所述译码参数确定每个比特各自的迭代步长,包括:
所述接收设备根据迭代步长函数,确定每个比特各自的迭代步长,其中,所述迭代步长函数是第一比特对应的迭代步长关于所述第一比特的译码参数的函数,所述第一比特为所述待译码序列对应的比特中的任意一个比特。
5.根据权利要求4所述的方法,其特征在于,所述迭代步长函数满足迭代步长与译码参数负相关,所述迭代步长函数是对包括迭代步长初始值和控制参数在内的参数项进行构造得到的函数,所述控制参数用于控制迭代步长随译码参数变化的变化程度。
6.根据权利要求4所述的方法,其特征在于,所述迭代步长函数满足迭代步长与译码参数负相关,所述译码信息包括每个比特对应的子信道的信道序号,所述迭代步长函数是对包括所述待译码序列的长度和控制参数在内的参数项进行构造得到的函数,所述控制参数用于控制迭代步长随译码参数变化的变化程度。
7.根据权利要求5或6所述的方法,其特征在于,所述接收设备根据迭代步长函数,确定每个比特各自的迭代步长之前,所述方法还包括:
所述接收设备接收发送设备发送的指示信息,所述指示信息用于指示所述迭代步长函数和/或所述迭代步长函数中的控制参数。
8.根据权利要求2所述的方法,其特征在于,所述译码信息包括每个比特对应的子信道的可靠度,所述接收设备根据所述译码参数确定每个比特各自的迭代步长,包括:
所述接收设备根据译码参数,确定每个比特的平均可靠度信息,所述平均可靠度信息用于指示所述比特对应的子信道的相邻的子信道的平均可靠度;
所述接收设备根据所述每个比特的平均可靠度信息,确定每个比特各自的迭代步长,其中,所述平均可靠度与迭代步长负相关。
9.根据权利要求3所述的方法,其特征在于,所述接收设备根据所述译码参数确定每个比特各自的迭代步长,包括:
所述接收设备根据每个比特的译码参数以及译码参数与迭代步长映射表,确定每个比特各自的迭代步长。
10.根据权利要求1至9任一项所述的方法,其特征在于,所述迭代译码算法为交替方向乘子算法ADMM;
所述迭代步长为ADMM对应的增广拉格朗日函数项中的拉格朗日参数。
11.一种接收设备,其特征在于,包括:
接收模块,用于获取待译码序列;
处理模块,用于获取所述待译码序列对应的每个比特各自的迭代步长,所述迭代步长为迭代译码算法中迭代更新所采用的常数,所述待译码序列对应的至少部分比特的迭代步长不同;
所述处理模块,还用于根据每个比特各自的迭代步长,通过所述迭代译码算法对所述待译码序列进行译码,得到译码后序列。
12.根据权利要求11所述的设备,其特征在于,所述处理模块具体用于:
获取每个比特各自的译码信息;其中,所述译码信息包括如下中的至少一种译码参数:每个比特对应的编码矩阵中的行的行重、每个比特对应的编码矩阵中的行的行重排序序号、每个比特对应的子信道的可靠度、每个比特对应的子信道的可靠度排序序号、每个比特对应的子信道的信道序号,其中,所述行重排序序号为行重从小到大进行排序的序号,所述可靠度排序序号为可靠度从小到大排序的序号;
根据所述译码参数确定每个比特各自的迭代步长。
13.根据权利要求12所述的设备,其特征在于,
针对同一种译码参数,每个比特各自的迭代步长与每个比特各自的译码参数负相关;或者
针对同一种译码参数,多个比特的译码参数对应同一迭代步长,且第一迭代步长对应的译码参数小于第二迭代步长对应的译码参数,所述第一迭代步长大于所述第二迭代步长。
14.根据权利要求13所述的设备,其特征在于,所述处理模块具体用于:
所述接收设备根据迭代步长函数,确定每个比特各自的迭代步长,其中,所述迭代步长函数是第一比特对应的迭代步长关于所述第一比特的译码参数的函数,所述第一比特为所述待译码序列对应的比特中的任意一个比特。
15.根据权利要求14所述的设备,其特征在于,所述迭代步长函数满足迭代步长与译码参数负相关,所述迭代步长函数是对包括迭代步长初始值和控制参数在内的参数项进行构造得到的函数,所述控制参数用于控制迭代步长随译码参数变化的变化程度。
16.根据权利要求14所述的设备,其特征在于,所述迭代步长函数满足迭代步长与译码参数负相关,所述译码信息包括每个比特对应的子信道的信道序号,所述迭代步长函数是对包括所述待译码序列的长度和控制参数在内的参数项进行构造得到的函数,所述控制参数用于控制迭代步长随译码参数变化的变化程度。
17.根据权利要求15或16所述的设备,其特征在于,所述接收模块还用于,在根据迭代步长函数,确定每个比特各自的迭代步长之前,接收发送设备发送的指示信息,所述指示信息用于指示所述迭代步长函数和/或所述迭代步长函数中的控制参数。
18.根据权利要求12所述的设备,其特征在于,所述译码信息包括每个比特对应的子信道的可靠度,所述处理模块具体用于:
根据译码参数,确定每个比特的平均可靠度信息,所述平均可靠度信息用于指示所述比特对应的子信道的相邻的子信道的平均可靠度;
根据所述每个比特的平均可靠度信息,确定每个比特各自的迭代步长,其中,所述平均可靠度与迭代步长负相关。
19.根据权利要求13所述的设备,其特征在于,所述处理模块具体用于:
根据每个比特的译码参数以及译码参数与迭代步长映射表,确定每个比特各自的迭代步长。
20.一种接收设备,其特征在于,包括:存储器、处理器以及计算机程序,所述计算机程序存储在所述存储器中,所述处理器运行所述计算机程序执行如权利要求1至10任一项所述的方法。
21.一种存储介质,其特征在于,所述存储介质包括计算机程序,所述计算机程序用于实现如权利要求1至10任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811261595.0A CN111106897B (zh) | 2018-10-26 | 2018-10-26 | 译码方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811261595.0A CN111106897B (zh) | 2018-10-26 | 2018-10-26 | 译码方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111106897A true CN111106897A (zh) | 2020-05-05 |
CN111106897B CN111106897B (zh) | 2020-12-15 |
Family
ID=70419240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811261595.0A Active CN111106897B (zh) | 2018-10-26 | 2018-10-26 | 译码方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111106897B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111884758A (zh) * | 2020-07-07 | 2020-11-03 | 中国人民解放军战略支援部队信息工程大学 | 波形设计方法及译码方法、装置、设备和光通信系统 |
CN114665923A (zh) * | 2022-03-09 | 2022-06-24 | 深圳市国电科技通信有限公司 | 用于载波通信的数据处理方法、装置及处理器 |
WO2024124476A1 (zh) * | 2022-12-15 | 2024-06-20 | 华为技术有限公司 | 级联编码方法、级联译码方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1333631A (zh) * | 2000-07-10 | 2002-01-30 | 松下电器产业株式会社 | 多数据译码的译码装置及译码方法 |
CN102122962A (zh) * | 2011-04-01 | 2011-07-13 | 山东大学 | 基于预测-修正原对偶内点法的ldpc码的lp译码器 |
US20120117439A1 (en) * | 2010-11-04 | 2012-05-10 | Himax Media Solutions, Inc. | System and method of decoding LDPC code blocks |
CN107592181A (zh) * | 2017-08-02 | 2018-01-16 | 华为技术有限公司 | 一种Polar码编码方法及装置 |
CN108429605A (zh) * | 2018-03-09 | 2018-08-21 | 西安电子科技大学 | 基于可靠度分级的置信传播译码方法 |
-
2018
- 2018-10-26 CN CN201811261595.0A patent/CN111106897B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1333631A (zh) * | 2000-07-10 | 2002-01-30 | 松下电器产业株式会社 | 多数据译码的译码装置及译码方法 |
US20120117439A1 (en) * | 2010-11-04 | 2012-05-10 | Himax Media Solutions, Inc. | System and method of decoding LDPC code blocks |
CN102122962A (zh) * | 2011-04-01 | 2011-07-13 | 山东大学 | 基于预测-修正原对偶内点法的ldpc码的lp译码器 |
CN107592181A (zh) * | 2017-08-02 | 2018-01-16 | 华为技术有限公司 | 一种Polar码编码方法及装置 |
CN108429605A (zh) * | 2018-03-09 | 2018-08-21 | 西安电子科技大学 | 基于可靠度分级的置信传播译码方法 |
Non-Patent Citations (2)
Title |
---|
QUALCOMM INCORPORATED: "R1-140704:OLPC Algorithms to Guarantee Multiple Target BLERs", 《3GPP TSG RAN WG1 MEETING #76》 * |
刘建成等: "迭代变步长LMS算法及性能分析", 《电子与信息学报》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111884758A (zh) * | 2020-07-07 | 2020-11-03 | 中国人民解放军战略支援部队信息工程大学 | 波形设计方法及译码方法、装置、设备和光通信系统 |
CN114665923A (zh) * | 2022-03-09 | 2022-06-24 | 深圳市国电科技通信有限公司 | 用于载波通信的数据处理方法、装置及处理器 |
CN114665923B (zh) * | 2022-03-09 | 2024-05-07 | 深圳市国电科技通信有限公司 | 用于载波通信的数据处理方法、装置及处理器 |
WO2024124476A1 (zh) * | 2022-12-15 | 2024-06-20 | 华为技术有限公司 | 级联编码方法、级联译码方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111106897B (zh) | 2020-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106899379B (zh) | 用于处理极化码的方法和通信设备 | |
CN110166167B (zh) | 编码的方法、译码的方法、编码设备和译码设备 | |
CN111106897B (zh) | 译码方法及设备 | |
CN108347301B (zh) | 数据的传输方法和装置 | |
CN108347297B (zh) | 一种编码方法、译码方法、编码装置及译码装置 | |
CN109391367B (zh) | 通信方法和装置 | |
CN110999091A (zh) | 信息处理的方法和通信装置 | |
KR20180028981A (ko) | 비-2진 ldpc 코드 디코딩을 위한 신드롬 계산을 위한 기본 체크 노드 처리 | |
CN111385059B (zh) | 极化编码调制的方法和装置 | |
US20230208554A1 (en) | Encoding and Decoding Method and Apparatus | |
Danieli et al. | Maximum mutual information vector quantization of log-likelihood ratios for memory efficient HARQ implementations | |
CN112886969A (zh) | 一种极化码编码方法及装置 | |
EP3641172B1 (en) | Information processing method and communication apparatus | |
EP3659260A1 (en) | Enhanced information sequences for polar codes | |
CN112737600B (zh) | 译码方法和译码器 | |
CN107733439B (zh) | 一种ldpc编码方法、编码装置及通信设备 | |
EP3624350A1 (en) | Information processing method and communication device | |
CN111447042B (zh) | 一种极化编译码方法及装置 | |
EP3562046B1 (en) | Data processing method and device | |
US11515894B2 (en) | Enhanced information sequences for polar codes | |
CN108880565B (zh) | 极化码的编译码方法和通信设备 | |
US11362677B2 (en) | Channel encoding method and encoding apparatus | |
CN113541698B (zh) | 编码、译码方法、装置及设备 | |
CN110034851B (zh) | 编码方法、编码设备以及系统 | |
CN111490797B (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 |