CN111130563A - 处理信息的方法和装置 - Google Patents
处理信息的方法和装置 Download PDFInfo
- Publication number
- CN111130563A CN111130563A CN201811279697.5A CN201811279697A CN111130563A CN 111130563 A CN111130563 A CN 111130563A CN 201811279697 A CN201811279697 A CN 201811279697A CN 111130563 A CN111130563 A CN 111130563A
- Authority
- CN
- China
- Prior art keywords
- node
- information transmitted
- result
- variable node
- jth variable
- 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
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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 using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1128—Judging correct decoding and iterative stopping criteria other than syndrome check and upper limit for decoding iterations
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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 using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1148—Structural properties of the code parity-check or generator matrix
- H03M13/116—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本申请提供了一种处理信息的方法和装置。该方法应用于LDPC码的迭代译码过程中,包括:接收LLR序列,基于LDPC码的校验矩阵H进行迭代译码,迭代译码至少包括迭代计算m个校验节点和n个变量节点之间交替传递的信息,输出迭代译码结果。具体地,基于第一迭代方程,计算变量节点传递给校验节点的信息,第一迭代方程为第一预设迭代方程乘以第一乘性因子得到的,该计算为任意一次计算该变量节点传递给该校验节点的信息,该变量节点为n个变量节点中的任意一个,该校验节点为与该变量节点相邻的校验节点的集合中的任意一个校验节点。本申请提供的技术方案对计算变量节点传递给校验节点的信息进行修正,能够提高LDPC码的译码性能。
Description
技术领域
本申请涉及信息处理领域,并且更具体地,涉及一种处理信息的方法和装置。
背景技术
低密度奇偶校验(low density parity check,LDPC)码是由Robert G.Gallager博士于1962年提出的一类具有稀疏校验矩阵的线性分组码。由于LDPC码不仅具有逼近香农极限的良好性能,而且还具有译码复杂度低、结构灵活等优点,近年来在诸多领域得到了广泛应用。其中,目前,准循环低密度奇偶校验(quasi-cyclic LDPC,QC-LDPC)码作为一类结构化LDPC码,因其描述简单、易于构造、节省存储空间等优点,在某些通信系统中,例如,第五代(5th generation,5G)通信系统的新空口接入技术(new radio access technology,NR)中,得以良好应用。
但是,现有技术中的迭代译码方法应用于该QC-LDPC码的译码时,为了降低译码复杂度,通常以降低译码性能为代价。因此,如何在不增加复杂度的前提下提升QC-LDPC码的迭代译码性能,成为亟待解决的问题。
发明内容
本申请提供一种处理信息的方法和装置,能够提高准循环低密度奇偶校验QC-LDPC码的迭代译码性能。
第一方面,提供了一种处理信息的方法,应用于低密度奇偶校验LDPC码的迭代译码过程中,包括:接收对数似然比LLR序列,所述LLR序列承载所述LDPC码的编码比特序列的信息;基于所述LDPC码的校验矩阵H进行所述迭代译码,所述迭代译码至少包括迭代计算m个校验节点和n个变量节点之间交替传递的信息,n和m为大于1的整数;输出所述迭代译码结果;第k次计算第j个变量节点传递给第i个校验节点的信息包括;基于第一迭代方程,第k次计算第j个变量节点传递给第i个校验节点的信息,所述第一迭代方程为第一预设迭代方程乘以第一乘性因子得到的迭代方程,其中,所述第一预设迭代方程为第k次计算第j个变量节点传递给第i个校验节点的信息的预设迭代方程,所述第k次计算第j个变量节点传递给第i个校验节点的信息为任意一次计算第j个变量节点传递给第i个校验节点的信息,所述第j个变量节点为所述n个变量节点中的任意一个,所述第i个校验节点为与第j个变量节点相邻的校验节点的集合中的任意一个校验节点,k为大于0的整数。
本申请实施例的处理信息的方法,通过将第k次计算第j个变量节点传递给第i个校验节点的信息的第一预设迭代方程乘以第一乘性因子得到第一迭代方程,并根据该第一迭代方程,第k次计算第j个变量节点传递给第i个校验节点的信息,能够对第k次计算第j个变量节点传递给第i个校验节点的信息的结果进行修正,进而提高LDPC码的译码性能。
应理解,上述对第k次计算第j个变量节点传递给第i个校验节点的信息的结果进行修正可以理解为。基于第一迭代方程计算的结果与基于第一预设迭代方程计算的结果更接近于BPBP译码方法中第k次计算第j个变量节点传递给第i个校验节点的信息的计算结果。也就是说,本申请中所述的修正是指在不增加译码复杂度的前提下,使译码结果接近BP译码方法的译码结果。
应理解,上述第j个变量节点传递给第i个校验节点的信息指的是在迭代过程中,根据迭代方程计算得到的值;上述第一乘性因子还可以称为约束因子、因子或约束项等。具体地,第一乘性因子为正数,具体取值可以根据仿真结果确定。
结合第一方面,在第一方面的某些实现方式中,所述第一预设迭代方程包括:
Qji[k]=λj+∑i'∈C(j)\iRi'j[k],其中,Qji[k]为第k次计算时第j个变量节点传递给第i个校验节点的信息,j=0,…,n-1,第j个变量节点传递给第i个校验节点的信息初始化为Qji[0]=λj,C(j)表示与第j个变量节点相邻的校验节点的集合,C(j)\i表示与第j个变量节点相连的除了第i个校验节点以外的其余校验节点的集合,所述第一迭代方程包括:Qji[k]=β*(λj+∑i'∈C(j)\iRi'j[k]),β为所述第一乘性因子;
或者,
所述第一预设迭代方程包括:Qji[k]=λj+α*∑i'∈C(j)\iRi'j[k],α为第二乘性因子,所述α大于0且小于1,所述第一迭代方程包括:
Qji[k]=β*(λj+α*∑i'∈C(j)\iRi'j[k])。
本申请实施例的处理信息的方法,第k次计算时第j个变量节点传递给第i个校验节点的信息的第一预设迭代方程有多种可能的形式,相应地,基于第一预设迭代方程以及第一乘性因子得到的第一迭代方程也会有多种可能的形式,为具体实施过程中提供选择灵活性。
应理解,上述的两种第一预设迭代方程的形式只是举例的形式,其他上述迭代方程的简单变形也在本申请的保护范围之内。
结合第一方面,在第一方面的某些实现方式中,当所述第一迭代方程为Qji[k]=β*(λj+∑i'∈C(j)\iRi'j[k])时,第k次计算第i个校验节点传递给第j个变量节点的信息包括:
基于第二迭代方程第k次计算第i个校验节点传递给第j个变量节点的信息,所述第二迭代方程为第二预设迭代方程乘以所述第二乘性因子得到的迭代方程,其中,第二预设迭代方程为第k次计算第i个校验节点传递给第j个变量节点的信息的预设迭代方程,所述第k次计算第i个校验节点传递给第j个变量节点的信息为任意一次计算第i个校验节点传递给第j个变量节点的信息;
或者,当所述第一迭代方程为Qji[k]=β*(λj+α*∑i'∈C(j)\iRi'j[k])时,第k次计算第i个校验节点传递给第j个变量节点的信息包括:
基于所述第二预设迭代方程第k次计算第i个校验节点传递给第j个变量节点的信息。
本申请实施例的处理信息的方法,在第一预设迭代方程中不包括第二乘性因子时,通过将第k次计算第i个校验节点传递给第j个变量节点的第二预设迭代方程乘以第二乘性因子得到第二迭代方程,并根据该第二迭代方程,第k次计算第i个校验节点传递给第j个变量节点,能够对第k次计算第i个校验节点传递给第j个变量节点的结果进行修正,进而提高LDPC码的译码性能。
应理解,上述情况为在第一预设迭代方程的形式约束下,选择不同的迭代方程计算校验节点传递给变量节点的信息只是最优化的实施例,实际处理过程中,可以不考虑在第一预设迭代方程的形式,直接对第二预设迭代方程乘以第二乘性因子得到第二迭代方程,对计算校验节点传递给变量节点的信息的结果进行修正。
结合第一方面,在第一方面的某些实现方式中,所述第二预设迭代方程包括:
Rij[k]=∏j'∈V(i)\j sgn(Qj'i[k-1])*min(|Qj'i[k-1]|),其中,Rij[k]为第k次计算时第i个校验节点传递给第j个变量节点的信息,i=0,…,m-1,第i个校验节点传递给第j个变量节点的信息初始化为Rij[0]=0,j∈V(i),V(i)表示与第i个校验节点相邻的变量节点的集合,V(i)\j表示与第i个校验节点相连的除第j个变量节点以外的其余变量节点的集合;所述第二迭代方程包括:
Rij[k]=α*∏j'∈V(i)\j sgn(Qj'i[k-1])*min(|Qj'i[k-1]|)。
本申请实施例的处理信息的方法,第k次计算时第i个校验节点传递给第j个变量节点的信息的第二预设迭代方程有多种可能的形式,相应地,基于第二预设迭代方程以及第二乘性因子得到的第二迭代方程也会有多种可能的形式,为具体实施过程中提供选择灵活性。
应理解,上述的两种迭代方程的形式只是举例的形式,其他上述迭代方程的简单变形也在本申请的保护范围之内。
结合第一方面,在第一方面的某些实现方式中,所述迭代译码还包括:对所述第i个校验节点传递给第j个变量节点的信息的计算结果进行自修正,包括:当第一结果的符号与第二结果的符号相同时,第i个校验节点传递给第j个变量节点的信息的计算结果为所述第一结果,当所述第一结果的符号与所述第二结果的符号不相同时,所述第i个校验节点传递给第j个变量节点的信息的计算结果为0;其中,所述第一结果为任意一次计算第i个校验节点传递给第j个变量节点的信息的结果,所述第二结果为所述第一结果的上一次计算的结果;和/或,对所述第j个变量节点传递给第i个校验节点的信息的计算结果进行自修正,包括:
当第三结果的符号与第四结果的符号相同时,第j个变量节点传递给第i个校验节点的信息的计算结果为所述第三结果,当所述第三结果的符号与所述第四结果的符号不相同时,所述第j个变量节点传递给第i个校验节点的信息的计算结果为0;其中,所述第三结果为任意一次计算第j个变量节点传递给第i个校验节点的信息的结果,所述第四结果为所述第三结果的上一次计算的结果。
本申请实施例的处理信息的方法,通过在译码过程中增加对计算结果进行的自修正,,能够避免迭代计算过程中计算结果的符号翻转带来的误差,防止不可靠信息的传递。
结合第一方面,在第一方面的某些实现方式中,所述第一乘性因子的取值包括:针对n个变量节点中的每个变量节点任意一次计算变量节点传递给校验节点的信息时,第一乘性因子的取值相同。
本申请实施例的处理信息的方法,针对不同的变量节点,以及任意一次计算变量节点传递给校验节点的信息确定迭代方程时,第一乘性因子的取值可以相同;或者,计算不同的变量节点传递给校验节点的信息时,根据仿真结果第一乘性因子取不同的值;或者,迭代计算同一个变量节点传递给校验节点的信息过程中,每次迭代第一乘性因子取不同的值。也就是说,上述第一迭代方程中的第一乘性因子的取值可以相同也可以不同。
第二方面,本申请提供一种处理信息的装置,该装置具有实现上述第一方面及其第一方面任意一种可能的实现方式中的方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元。例如,该装置包括处理单元,处理单元用于:确定第一乘性因子和第二乘性因子;根据第一乘性因子和第二乘性因子进行迭代译码。
在一种可能的实现方式中,第二方面中的处理信息的装置可以为终端或者基站。
通过本申请实施例提供的处理信息的装置对LDPC码进行译码,有助于对译码过程中计算m个校验节点和n个变量节点之间交替传递的信息的计算结果进行修正,从而可以提高译码性能。
第三方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当计算机指令在计算机上运行时,使得计算机执行上述第一方面或第一方面的任意可能的实现方式中的方法。
第四方面,本申请提供一种芯片(或者,芯片系统),包括存储器和处理器,存储器用于存储计算机程序,处理器用于从存储器中调用并运行该计算机程序,使得安装有该芯片的通信设备执行上述第一方面及其任意一种可能的实现方式中的方法。
第五方面,本申请提供一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行上述第一方面及其任意一种可能的实现方式中的方法。
本申请实施例的处理信息的方法,通过在计算变量节点传递给校验节点的信息的迭代方程中,增加一个第一乘性因子,对计算结果进行修正,能够提高LDPC码的译码性能。
附图说明
图1是本申请实施例提供的处理信息的方法适用的无线通信系统100示意图;
图2是本申请实施例提供的信号处理的示意图;
图3是一种LDPC码的Tanner图的示意图;
图4是5G中LDPC码BG1和BG2支持的传输块块长、编码码率范围的示意图;
图5中(a)是计算变量节点传递给校验节点的信息过程示意图;图5中(b)是计算校验节点传递给变量节点的信息过程示意图;
图6中(a)~(f)为分层译码时不同层的行列的更新示意图;
图7是从设备交互的角度示出的本申请实施例提供的处理信息的方法100的示意性流程图;
图8是从译码设备的角度示出的本申请实施例提供的处理信息的方法200的示意性流程图;
图9是本申请是实施例提供的一种基矩阵结构示意图;
图10中(a)~(u)分别为不同参数下本申请实施例提供的处理信息的方法与现有技术中的SPA译码方法的译码性能对比示意图;
图11是本申请实施例的处理信息的装置600的示意框图;
图12是本申请实施例的处理信息的设备700的示意性结构图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
图1为本申请实施例提供的处理信息的方法适用的无线通信系统100示意图。该无线通信系统中可以包括至少一个网络设备101,该网络设备与一个或多个终端设备(例如,图1中所示的终端设备102和终端设备103)进行通信。网络设备可以是基站,也可以是基站与基站控制器集成后的设备,还可以是具有类似通信功能的其它设备。
本申请实施例中的终端设备是一种具有通信功能的设备,可以指用户设备、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置。终端设备还可以是蜂窝电话、无绳电话、会话启动协议(session initiation protocol,SIP)电话、无线本地环路(wireless local loop,WLL)站、个人数字助理(personal digital assistant,PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备,未来5G网络中的终端设备或者未来演进的公用陆地移动通信网络(public land mobile network,PLMN)中的终端设备等,本申请实施例对此并不限定。
本申请实施例中的网络设备可以是用于与终端设备通信的设备,该网络设备可以是全球移动通信(global system formobile communications,GSM)系统或码分多址(codedivision multiple access,CDMA)中的基站(base transceiver station,BTS),也可以是宽带码分多址(wideband code division multiple access,WCDMA)系统中的基站(NodeB,NB),还可以是LTE系统中的演进型基站(evolved NodeB,eNB或eNodeB),还可以是云无线接入网络(cloud radio access network,CRAN)场景下的无线控制器,或者该网络设备可以为中继站、接入点、车载设备、可穿戴设备以及未来5G网络中的网络设备或者未来演进的PLMN网络中的网络设备等,本申请实施例并不限定。
在本申请实施例中,终端设备或网络设备包括硬件层、运行在硬件层之上的操作系统层,以及运行在操作系统层上的应用层。该硬件层包括中央处理器(centralprocessing unit,CPU)、内存管理单元(memory management unit,MMU)和内存(也称为主存)等硬件。该操作系统可以是任意一种或多种通过进程(process)实现业务处理的计算机操作系统,例如,Linux操作系统、Unix操作系统、Android操作系统、iOS操作系统或windows操作系统等。该应用层包含浏览器、通讯录、文字处理软件、即时通信软件等应用。并且,本申请实施例并未对本申请实施例提供的方法的执行主体的具体结构特别限定,只要能够通过运行记录有本申请实施例的提供的方法的代码的程序,以根据本申请实施例提供的方法进行通信即可,例如,本申请实施例提供的方法的执行主体可以是终端设备或网络设备,或者,是终端设备或网络设备中能够调用程序并执行程序的功能模块。
另外,本申请的各个方面或特征可以实现成方法、装置或使用标准编程和/或工程技术的制品。本申请中使用的术语“制品”涵盖可从任何计算机可读器件、载体或介质访问的计算机程序。例如,计算机可读介质可以包括,但不限于:磁存储器件(例如,硬盘、软盘或磁带等),光盘(例如,压缩盘(compact disc,CD)、数字通用盘(digital versatile disc,DVD)等),智能卡和闪存器件(例如,可擦写可编程只读存储器(erasable programmableread-only memory,EPROM)、卡、棒或钥匙驱动器等)。另外,本文描述的各种存储介质可代表用于存储信息的一个或多个设备和/或其它机器可读介质。术语“机器可读介质”可包括但不限于,无线信道和能够存储、包含和/或承载指令和/或数据的各种其它介质。
本申请实施例提及的无线通信系统包括但不限于:窄带物联网系统(narrowband-internet of things,NB-IoT)、全球移动通信系统(global system for mobilecommunications,GSM)、增强型数据速率GSM演进系统(enhanced data rate for GSMevolution,EDGE)、宽带码分多址系统(wideband code division multiple access,WCDMA)、码分多址2000系统(code division multiple access,CDMA2000)、时分同步码分多址系统(time division-synchronization code division multiple access,TD-SCDMA),长期演进系统(long term evolution,LTE)、下一代5G移动通信系统的三大应用场景,即增强移动带宽(enhance mobile broadband,eMBB),高可靠性低延迟通信(ultrareliable low latency communication,URLLC)和增强海量机器连接通信(massivemachine type communication,eMTC)或者将来出现的新的通信系统。
图1中的网络设备与终端设备之间采用无线技术进行通信。当网络设备发送信号时,其为编码端,当网络设备接收信号时,其为译码端。终端设备也是一样的,当终端设备发送信号时,其为编码端,当终端设备接收信号时,其为译码端。
另外,编码端即是信息和/或数据发送端,译码端即是信息和/或数据的接收端。
为了便于理解本申请实施例,下面结合图2简单说明在物理层的处理过程。
应理解,图2中所示出的对信息的处理过程可以由网络设备执行,也可以由终端设备执行,本申请对此不做限定。
如图2所示,通信设备#1(例如,可以为图1中所示的网络设备101、终端设备102或终端设备103)在发送信息数据时,可以根据系统支持的传输块的大小,将来自上层(例如,媒体接入层控制(media access control,MAC)层)的信息数据分割为多个传输块(transport block,TB),并对每一传输块a0,a1,a2,a3,...,aA-1增加循环冗余码校验(cyclic redundancy check,CRC)p0,p1,p2,p3,...,pL-1得到序列b0,b1,b2,b3,...,bB-1,其中B=A+L,a0,a1,a2,a3,...,aA-1也称为传输块的载荷(payload)。如果添加校验后的传输块b0,b1,b2,b3,...,bB-1大小超过最大码块长,则需要将传输块划分为若干码块(code block,CB)。其中,每个码块可包括传输块中的若干比特,还可以包括这些比特的CRC校验比特。
例如,长度为24比特的CRC校验比特。码块中还可以包括填充比特,以使码块长度满足块长要求。还例如,以LPDC编码为例,码块长度满足扩展因子Z的整数倍。
通信设备#1可对每个码块进行信道编码。例如,采用LDPC编码,得到相应的编码码块。在本申请中,有时也将码块称为信息序列。每个编码码块中可包括码块中多个编码前的信息比特和编码生成的校验比特,在本申请中可统称为编码比特,多个编码比特所构成的序列可称为编码比特序列。
通信设备#1可将上述编码比特序列保存在通信设备#1的循环缓存中进行速率匹配。通信设备#1可从循环缓存中选取一段编码比特,经过交织处理后,进行调制处理,映射为调制符号,并发送包括该调制符号的信号。
在本申请实施例中,编码比特序列的长度可以是指传输块经码块分割以及LDPC编码后输出的比特序列长度。更具体地,传输块经码块分割、LDPC编码后会存入循环缓存器,然后从该缓存器的指定位置,连续读出指定长度的比特数据,遇到填充比特自动跳过。
通信设备#2对接收到的调制符号进行解调处理、解交织处理后,可将接收到的编码比特的软值保存在软信息缓存中相应位置。如果发生重传,通信设备#2将每次重传的编码比特的软值合并保存在软信息缓存中,这里的合并是指,如果两次接收到的编码比特的位置相同,则将两次接收到的该编码比特的软值合并。
通信设备#2可直接对软信息缓存中的所有软值进行译码,例如,采用LDPC译码,得到相应的信息序列。信道译码所得到的信息序列可被发送至上层(例如,MAC层)。
应理解,通信设备#2对接收到的调制符号进行处理得到信息序列的过程可视为通信设备#1对待发送的信息数据进行处理得到编码比特序列的过程的逆过程。其中,通信设备#1和通信设备#2可采用无线技术进行通信。例如,当通信设备#1发送信号时,通信设备#1为发送设备,在本申请实施例中,发送端设备可称为编码设备;通信设备#2接收信号时,通信设备#2为接收设备,在本申请实施例中,接收端设备可称为译码(或者称,解码)设备。比如,通信设备#1可以为图1中所示的网络设备101或配置于网络设备101中的芯片,通信设备#2可以为图1中所示的终端设备102或配置于终端设备102中的芯片,或者,通信设备#1可以为图1中所示的终端设备102或配置于终端设备102中的芯片,通信设备#2可以为图1中所示的网络设备101或配置于网络设备101中的芯片。
为了便于理解,首先对本申请涉及的相关概念作简单介绍。
1、低密度奇偶校验(LDPC)码:是由Robert G.Gallager博士于1962年提出是一类具有稀疏校验矩阵的线性分组码,即是说LDPC码的校验矩阵中零元素远远多于非零元素,且非零元素的分布没有规律。LDPC码不仅具有逼近香农极限的良好性能,而且译码复杂度较低,结构灵活,是近年来信道编码领域研究的热点,目前已经广泛应用于深空通信、光纤通信、卫星数字视频和音频广播等领域。
其中,一个码长等于N,信息序列的长度等于K的LDPC码可以由其校验矩阵唯一确定;或者,一个码长等于N,信息序列的长度等于K的LDPC码可以由其校验矩阵对应的Tanner图(也可以称为二分图)唯一确定。具体地,LDPC码的校验矩阵可以记作H。
下式(1)所示的为LDPC码的一个校验矩阵和校验矩阵对应的校验方程的实例:
式(1)所示的校验矩阵H对应的Tanner图如图3所示。图3是一种LDPC码的Tanner图的示意图。
图3中每个圆形节点(如图3所示的V0~V9)为变量节点(variable node,VN),每个VN代表式(1)中H矩阵中的一列;图3中每个方形节点(如图3所示的c0~c4)为校验节点(check node,CN),每个CN代表式(1)中H矩阵中的一行。图3中每条连接校验节点和变量节点的连接线代表这两个节点所对应的行与列交汇的位置存在一个非零元素。
应理解,式(1)和图3只是为了说明LDPC码一种校验矩阵H的举例,不能限制本申请的保护范围,本申请对于LDPC码的校验矩阵的具体形式并不限制。
2、编码码率:在信道编码过程中,用于表示信息码字占总码字的比率。例如,信息序列的长度为K,编码比特序列的长度为N,则编码码率为K/N。
3、准循环低密度奇偶校验(QC-LDPC)码:是LDPC码的一个子类。QC-LDPC码的校验矩阵(parity check matrix)是对一个基矩阵进行扩展得到的。为便于区分,在下文示出的实施例中,可将基矩阵记作Hb,将校验矩阵记作H。
4、基图:基图可以表示成m×n的矩阵,包括零元素和非零元素,其中零元素可以用0、-1或null等表示,非零元素可以用1表示,可以用于指示一个或多个LDPC基矩阵中非零元素的位置,也就是非零元素在矩阵中的行、列位置。在有些实现方法中也可以简化的表示成指示非零元素的行、列位置的表格。通常,基图的前两列被称为内置打孔列。
5、基矩阵:可用于构造QC-LDPC码的校验矩阵H。基矩阵Hb的大小可以为m×n,与基图相同,相应的校验矩阵H的大小为(m·Z)×(n·Z),其中,将Z称作校验矩阵的扩展因子(lifting size),m、n、Z均为正整数。扩展因子取值以及集合划分的示例可参考表1所示:
表1
QC-LDPC中基矩阵的表达式可以如下式(2)所示,其中,与基图中非零元素对应的位置的元素取值大于或者等于0,与零元素对应的位置的元素取值可以为-1或者null:
6、校验矩阵:QC-LDPC中校验矩阵的表达式可以如下式(3)所示:
该校验矩阵H中的每一个元素I(pi,j)(0≤i≤m-1,0≤j≤n-1)可以是零矩阵或者是循环移位矩阵。其中,若pi,j大于或者等于0,循环移位矩阵(例如,I(pi,j))可以是对维度为Z×Z的单位矩阵循环移位pi,j位得到的。因此,也将pi,j称作循环移位矩阵的移位因子。pi,j的取值范围可以是-1≤pi,j<Z。
换句话说,基矩阵中的每个非零元素pi,j(0≤i≤m-1,0≤j≤n-1)可用于指示其所构造的校验矩阵中对应的单位矩阵需要进行循环移位的位数。例如,p0,0可用于指示校验矩阵的左上角维度为Z×Z的单位矩阵I(p0,0)需要循环移位的位数为p0,0。若将I(p0,0)看做一个整体,I(p0,0)在校验矩阵中的位置与p0,0在基矩阵的位置是相同的,即,第0行第0列。而基图或基矩阵中零元素则是用Z×Z的零矩阵替换。
若信息序列用c0,c1,c2,c3,...,cK-1表示,校验矩阵H的基图中前两列为内置打孔比特列,扩展因子为Z,则相应的内置打孔比特的个数为2Z,即c0,c1,c2,c3,...,c2Z-1。经校验矩阵H编码后得到的编码比特序列为d=d0,d1,d2,...,dN-1,编码比特序列d包括信息序列中K-2Z个比特c2Z,c2Z+1,...,cK-1,以及校验比特序列w=[w0,w1,w2,...,wN+2Z-K-1]T中的校验比特,基于校验矩阵H,校验比特序列w和信息序列c满足其中c=[c0,c1,c2,...,cK-1]T,0是全0的列向量。
基矩阵中的每个元素的取值可以参考现有技术确定,例如,可根据NR协议TS38.212中定义的表5.3.2-2LDPC基图1(HBG)及其矩阵(Vi,j)和表5.3.2-3LDPC基图2(HBG)及其矩阵(Vi,j)。由于扩展因子Z取值范围不同使得pi,j的取值范围也不尽相同,因此pi,j也可以通过pi,j=mod(Vi,j,Z)给出。一个基图往往可以对应多个基矩阵或者校验矩阵,这些矩阵中非零元素的值可以根据扩展因子Z的集合索引确定。
应理解,上文列举的用于指示基矩阵与奇偶校验矩阵的对应关系的表仅为示例性说明,而不应对本申请构成任何限定,本申请对用于确定基矩阵的具体方法和过程不做限定。
如果校验矩阵H是满秩矩阵,则可以在基矩阵的(n-m)列放置(n-m)·Z个信息比特,基矩阵中用于放置该(n-m)·Z个信息比特的(n-m)列可以称为信息列,并令kb=n-m。
在采用QC-LDPC编码时,如果信息序列的长度K被kb整除,那么在扩展后的每一个信息比特位置都用来放置信息比特。如果K不被kb整除,导致Z·kb>K,则在扩展后LDPC的校验矩阵H中会有(Z·kb-K)个多余的信息比特位置,可称作填充比特,填充比特可以用0或者null表示。
7、QC-LDPC码编码流程。
为了便于对本申请提供的处理信息的方法的理解,简单说明新空口(new radio,NR)中规定的根据QC-LDPC的校验矩阵进行编码的流程:
步骤(1):根据信息序列的长度K,确定kb。
步骤(2):根据kb确定扩展因子Z。
具体地,确定出的扩展因子Z既要满足表达式(4),同时Z的取值须落入表1。
kb×Z>K 式(4)
需要说明的是,在步骤(2)中,如果满足表达式(4)的Z的取值非整数,则对Z向上取整,使得Z的取值落入表1。
例如,若满足表达式(4)的Z=65.5,则将65.5向上取整,Z的取值应该是表1中大于65.5的最小整数,即为72。
再根据表1,确定Z的取值对应的索引(对应表1中set indexiLS的取值)。
在表1中可以看到,72对应的索引为5。
步骤(3):根据扩展因子Z确定校验矩阵。
具体地,根据扩展因子Z的取值,得到Z的取值对应的索引,以上述表1为例,确定扩展因子Z的同时,也就得到其对应的set index iLS的取值。根据该取值确定校验矩阵。现有技术中,可以通过查表确定校验矩阵。这里不再赘述。
步骤(4):根据校验矩阵进行编码。
进一步地,5G中的LDPC码采用上述的准循环的结构实现。目前,5G采用两个LDPC码基图矩阵支持编码的方案,两个基图矩阵分别被称为BG1和BG2。针对不同的传输块块长和码率,选择不同的BG进行LDPC码编码,具体地基图矩阵选择可用图4表示。
图4是5G中LDPC码BG1和BG2支持的传输块块长、编码码率范围的示意图,如图4所示,当待编码的传输块块长的大小小于或者等于308,或者待编码的传输块块长的大小小于或者等于3840且编码码率小于或者等于2/3,或者编码码率小于或者等于1/4时,采用BG2进行编码,否则采用BG1进行编码。
上面介绍了LDPC码以及相关的编码方式,下面介绍LDPC码相关的译码算法:
1、LDPC码的最小和(min-sum,MS)译码算法。
LDPC码的译码算法主要包括信度传播(belief propagation,BP)译码算法和MS译码算法两种译码算法。其中,BP译码算法的译码复杂度较高,因此BP译码算法一般仅用于理论验证性能;MS译码算法的译码复杂度较低,因此实际系统多采用MS译码算法进行LDPC码的译码。下面将对MS译码算法做简单介绍。
首先,定义以下符号:
λj表示输入信息序列的第j个元素的对数似然比(log-likelihood ratio,LLR)信息;
Rij[k]表示第k次迭代时,从第i个校验节点传给第j个变量节点的信息;
Qji[k]表示第k次迭代时,从第j个变量节点传给第i个校验节点的信息;
Qj[k]表示第k次迭代时,用于硬判决的第j个变量节点后验概率信息;
C(j)表示与第j个变量节点相邻的校验节点的集合;
V(i)表示与第i个校验节点相邻的变量节点的集合。
下面简单介绍MS译码算法的流程:
对i=0,…,m-1,第i个校验节点传给第j个变量节点的信息Rij[0]初始化为0,其中j∈V(i)。
对j=0,…,n-1,第j个变量节点传给第i个校验节点的信息Qji[0]初始化为λj,其中i∈C(j)。
初始化之后进入迭代译码步骤,交替计算变量节点传递给校验节点的信息和校验节点传递给变量节点的信息,其中,计算变量节点传递给校验节点的信息也可以称之为更新变量节点的信息,计算校验节点传递给变量节点的信息也可以称之为更新校验节点的信息:
在第k次迭代过程中,即,第k次计算第i个校验节点传给第j个变量节点的信息Rij[k]计算如下式(5):
式(5)中,sgn()为取符号操作,min(.)为求最小值操作,V(i)\j表示与第i个校验节点相连的除第j个变量节点以外的其余变量节点的集合。
在第k次迭代中,即,第k次计算第j个变量节点传给第i个校验节点的信息Qji[k]计算如下式(6):
Qji[k]=λj+∑i'∈C(j)\iRi'j[k]式(6)
式(6)中,C(j)\i表示与第j个变量节点相连的除了第i个校验节点以外的其余校验节点的集合。
下面结合图5简单介绍更新变量节点和校验节点的信息的过程。图5(a)是计算变量节点传递给校验节点的信息过程示意图,图5(b)是计算校验节点传递给变量节点的信息过程示意图。
图5中所示的方形节点为校验节点,圆形节点为变量节点。图5中C(j)表示与第j个变量节点相邻的校验节点的集合,V(i)表示与第i个校验节点相邻的变量节点的集合,Vj表示第j个变量节点。
在每次迭代完成后,为了进行硬判决检测,需要计算变量节点的后验概率信息,计算公式如下式(7):
根据式(7)中计算的后验概率,可完成硬判决译码,规则为:
之后对硬判决结果进行校验:
和LTE中的Turbo码相比,LDPC码具有低复杂度,低错误平层,可以全并行译码等优势,已被广泛应用于微波,光网络,WiFi等领域。
本申请实施例部分提供的LDPC译码算法具有更快收敛速度,更优的译码性能。
2、LDPC码的分层译码算法。
上面提到的LDPC码的MS译码算法又称为泛滥最小和(Flooding MS)译码算法。为了加快MS译码算法的收敛速度,现有技术中提出了一种称为分层MS的改进译码算法,该分层MS的译码算法和Flooding MS译码算法的不同之处在于:从上往下将矩阵按行分成多层,按顺序依次更新这些层;每层的行更新完成后,立即对所有的列进行列更新,然后再对下一层进行行更新。
该分层MS的译码算法的好处在于,前一层进行行更新后先进行列更新再做下一层的行更新,此时下一层的行在更新时基于的是最近更新过的其他行的信息,迭代收敛速度相对较快;而Flooding MS只有在所有行更新完成后才进行列更新,行与行之间相互无法提前获取对方更新得到的有用信息,迭代收敛速度相对较慢。
下面结合图6简单介绍分层MS译码算法。图6是分层MS译码算法的示意图。具体地,图6(a)~(f)分别为不同层的行列的更新示意图,虚线方框中的部分指的是每次进行更新的部分。
应理解,分层译码算法可以与很多译码算法相结合,并不限于与上述的MS译码算法相结合,本申请对此并不限制,这里以分层译码算法与MS译码算法相结合为例,简单进行介绍,针对分层译码算法与其他译码算法相结合的情况,这里不再赘述。
目前5G蜂窝移动通信标准中的增强移动宽带(enhanced mobile broadband,eMBB)物理层数据传输已经确定采用支持码率兼容(rate compatible,RC)的Raptor类(Raptor-like)低密度奇偶校验码,可以简称为RC RL-LDPC码。RC RL-LDPC码在构造上采用单一奇偶校验(single parity check,SPC)延展(extending)和打孔(puncturing)的方法来实现不同码率的匹配。
为了实现低码率场景下的应用,RC RL-LDPC码可以由一个高码率的,并具有双对角(dual-diagonal)指数结构的核心矩阵进行SPC延展后得到。RC RL-LDPC码虽然在采用和积算法(sum-product algorithm,SPA)进行译码的时候具有良好的性能,但是由于SPA的高复杂度,在实际系统中通常采用SPA的简化算法:例如,最小和算法(min-sum algorithm,MSA)、归一化最小和算法(normalized min-sum algorithm,NMSA)以及偏移最小和算法(offset min-sum algorithm,OMSA)等,其中,SPA译码即为上述的BP译码。
然而,对RC RL-LDPC采用简化译码算法时,其译码性能会由于SPC延展所产生的低度数的变量节点受到影响。尤其是在低码率的情况下,SPC延展所产生的大量度数为1的变量节点会严重降低译码性能。
应理解,现有技术提供的译码方法不仅仅在上述的RC RL-LDPC码的译码过程中,具有较低的译码性能,在LDPC码的译码过程中均会降低译码性能。
为了解决现有技术中对LDPC码的译码算法存在的问题,本申请提出一种处理信息的方法和装置。旨在现有的简化BP算法上设计新的译码算法,使其对LDPC码的译码性能贴近BP的译码性能。
在介绍本申请的处理信息的方法之前,首先简单介绍现有技术中针对LDPC码存在的几种译码方法以及这些译码方法存在的缺陷。
一、BP译码方法。
BP译码方法是一种软判决的迭代译码方法。在每一次迭代过程中会针对每一个比特计算其最大后验概率然后进行判决。在实际系统中,每一个比特的概率信息会用LLR的形式表示以减少硬件复杂度。BP译码方法的具体步骤如下:
步骤1:初始化
设定Imax。令k=0,Qji[0]=λj。
步骤2:迭代译码
令k=k+1,第k次计算第i个校验节点传递给第j个变量节点的信息:
第k次计算第j个变量节点传递给第i个校验节点的信息:
Qji[k]=λj+∑i'∈C(j)\iRi'j[k]
对于每一个变量节点计算后验对数似然比:
Qj[k]=λj+∑i'∈C(j)Rij[k]
译码硬判决:
若Qj[k]<0则Cj=1,若Qj[k]≥0则Cj=0
步骤3:译码判决检验
检验全部校验节点是否满足。若满足则终止译码输出当前码字;否则,转向步骤2。
BP译码方法中CN的信息更新方程中使用tanh(·)函数和乘法运算来估计校验节点更新的信息,在译码器硬件实现上复杂度很高。通常需要占用储存空间以查表形式完成。
二、MSA译码方法。
MSA译码方法是在上述BP译码方法的基础上采用基于信息符号和幅值大小的CN的信息更新方程,进一步简化了BP译码方法中CN的信息更新方程的运算复杂度。MSA译码方法的具体步骤如下:
步骤1:初始化
设定Imax。令k=0,Qji[0]=λj。
步骤2:迭代译码
令k=k+1,第k次计算第i个校验节点传递给第j个变量节点的信息:
Rij[k]=∏j'∈V(i)\j sgn(Qj'i[k-1])*min(|Qj'i[k-1]|)
第k次计算第j个变量节点传递给第i个校验节点的信息:
Qji[k]=λj+∑i'∈C(j)\iRi'j[k]
对于每一个变量节点计算后验对数似然比:
Qj[k]=λj+∑i'∈C(j)Rij[k]
译码硬判决:
若Qj[k]<0则Cj=1,若Qj[k]≥0则Cj=0
步骤3:译码判决检验
检验全部校验节点是否满足。若满足则终止译码输出当前码字;否则,转向步骤2。
MSA译码方法在迭代译码的过程中,计算第i个校验节点传递给第j个变量节点的信息的迭代方程采用了近似估计的方法。尽管计算得出的信息符号可以同BP译码方法计算出来的信息符号保持一致,但是MSA译码方法计算得出的信息幅值会始终大于BP译码方法计算出来的信息幅值。这种信息幅值的过估计现象会对译码性能会造成损失,尤其当校验矩阵中存在低度数的变量节点数量越多时,性能损失越明显。
三、NMSA译码方法。
NMSA译码方法是基于MSA译码方法的一种改进的译码方法。通过在计算第i个校验节点传递给第j个变量节点的信息的迭代方程中引入一个大小属于(0,1)之间的归一化乘性因子α。NMSA译码方法可以有效减轻MSA译码方法中计算第i个校验节点传递给第j个变量节点的信息的过程中出现的计算结果过估计现象对译码性能的影响。NMSA译码方法的具体步骤如下:
步骤1:初始化
设定Imax。令k=0,Qji[0]=λj。
步骤2:迭代译码
令k=k+1,第k次计算第i个校验节点传递给第j个变量节点的信息:
Rij[k]=α*∏j'∈V(i)\j sgn(Qj'i[k-1])*min(|Qj'i[k-1]|)
第k次计算第j个变量节点传递给第i个校验节点的信息:
Qji[k]=λj+∑i'∈C(j)\iRi'j[k]
对于每一个变量节点计算后验对数似然比:
Qj[k]=λj+∑i'∈C(j)Rij[k]
译码硬判决:
若Qj[k]<0则Cj=1,若Qj[k]≥0则Cj=0
步骤3:译码判决检验
检验全部校验节点是否满足。若满足则终止译码输出当前码字;否则,转向步骤2。
对于校验矩阵中存在少量低度数的变量节点时,NMSA译码方法中采用的归一化乘性因子α可以有效降低MSA译码方法中计算第i个校验节点传递给第j个变量节点的信息过程中的过估计现象,提高译码性能。但是当校验矩阵中存在大量低度数变量节点时,NMSA译码方法的译码性能的损失依然明显。
四、OMSA译码方法。
OMSA译码方法也是基于MSA译码方法的一种改进的译码方法。与NMSA译码方法不同的是,OMSA译码方法通过在CN的信息更新方程中引入一个加性因子θ,来纠正MSA译码方法中对CN的信息更新过程中的过估计现象,OMSA译码方法的具体步骤如下:
步骤1:初始化
设定Imax。令k=0,Qji[0]=λj。
步骤2:迭代译码
令k=k+1,第k次计算第i个校验节点传递给第j个变量节点的信息:
Rij[k]=∏j'∈V(i)\j sgn(Qj'i[k-1])*max(min(|Qj'i[k-1]|)-θ,0)
第k次计算第j个变量节点传递给第i个校验节点的信息:
Qji[k]=λj+∑i'∈C(j)\iRi'j[k]
对于每一个变量节点计算后验对数似然比:
Qj[k]=λj+∑i'∈C(j)Rij[k]
译码硬判决:
若Qj[k]<0则Cj=1,若Qj[k]≥0则Cj=0
步骤3:译码判决检验
检验全部校验节点是否满足。若满足则终止译码输出当前码字;否则,转向步骤2。
OMSA译码方法与NMSA译码方法的译码性能类似,对于校验矩阵中存在少量低度数的变量节点时,OMSA译码方法中采用的加性因子θ,可以有效减轻MSA译码方法中信息计算的过估计现象,提高译码性能。但是当校验矩阵中存在大量低度数变量节点时,OMSA译码方法的译码性能的损失明显。
五、2D NMSA译码方法。
2D NMSA译码方法是基于NMSA译码方法的一种改进的译码方法。针对非规则的LDPC情况下的译码,2D NMSA译码方法在CN信息更新方程和VN信息更新方程中分别引入大小属于(0,1)之间的归一化乘性因子α和β,以分别纠正更新CN的信息和VN的信息的过程中的过估计现象。
此外,乘性因子α和β根据相应的LDPC码的度分布进行优化,即针对不同度数的变量节点和校验节点给出的信息,采用不同的乘性因子修正。2D NMSA译码的具体步骤如下:
步骤1:初始化
设定Imax。令k=0,Qji[0]=λj。
步骤2:迭代译码
令k=k+1,第k次计算第i个校验节点传递给第j个变量节点的信息:
Rij[k]=α*∏j'∈V(i)\j sgn(Qj'i[k-1])*min(|Qj'i[k-1]|)
第k次计算第j个变量节点传递给第i个校验节点的信息:
Qji[k]=λj+β*∑i'∈C(j)\iRi'j[k]
对于每一个变量节点计算后验对数似然比:
Qj[k]=λj+∑i'∈C(j)Rij[k]
译码硬判决:
若Qj[k]<0则Cj=1,若Qj[k]≥0则Cj=0
步骤3:译码判决检验
检验全部校验节点是否满足。若满足则终止译码输出当前码字;否则,转向步骤2。
尽管2D NMSA采用两个乘性因子β和α,分别对计算第j个变量节点传给第i个校验节点的信息的迭代方程,以及计算第i个校验节点传给第j个变量节点的信息的迭代方程进行改进,提高了对于非规则LDPC码的译码性能,但是其乘性因子的优化对于校验矩阵结构的依赖性较强。为了达到最佳译码性能,对于不同的校验矩阵需要采用不同的乘性因子向量,增加了译码器的复杂度和设计难度。
进一步地,上述乘性因子β并没有对计算第j个变量节点传给第i个校验节点的信息的迭代方程中的λj进行约束,所以从本质上来说,2D NMSA译码方法仍然是一种一维的NMSA译码方法。因为上述2D NMSA译码方法的迭代译码过程等效于:
令k=k+1,第k次计算第i个校验节点传递给第j个变量节点的信息:
Rij[k]=β*α*∏j'∈V(i)\j sgn(Qj'i[k-1])*min(|Qj'i[k-1]|)
第k次计算第j个变量节点传递给第i个校验节点的信息:
Qji[k]=λj+∑i'∈C(j)\iRi'j[k]。
六、自修正MSA译码方法。
自修正MSA译码方法是基于MSA译码方法的一种改进的译码方法。通过在计算第j个变量节点传给第i个校验节点的信息的迭代方程中引入基于符号位判断的截断函数,自修正MSA译码方法可以减少计算第j个变量节点传给第i个校验节点的信息在迭代更新过程中的符号翻转频率,使得可靠信息尽可能保留,对于非规则LDPC码的译码性能也有显著提升。自修正MSA译码的具体步骤如下:
步骤1:初始化
设定Imax。令k=0,Qji[0]=λj。
步骤2:迭代译码
令k=k+1,第k次计算第i个校验节点传递给第j个变量节点的信息:
Rij[k]=∏j'∈V(i)\j sgn(Qj'i[k-1])*min(|Qj'i[k-1]|)
第k次计算第j个变量节点传递给第i个校验节点的信息:
Qji[k]=λj+∑i'∈C(j)\iRi'j[k]
自修正:
如果本次Qji[k]的符号与上一次Qji[k-1]的符号不同,则Qji[k]=0。否则,Qji[k]保持不变。
对于每一个变量节点计算后验对数似然比:
Qj[k]=λj+∑i'∈C(j)Rij[k]
译码硬判决:
若Qj[k]<0则Cj=1,若Qj[k]≥0则Cj=0
步骤3:译码判决检验
检验全部校验节点是否满足。若满足则终止译码输出当前码字;否则,转向步骤2。
自修正MSA译码方法在计算第j个变量节点传给第i个校验节点的信息的过程中采用的截断函数仅凭信息符号只能判断信息的可靠性,而并未减轻信息的过估计现象。此外,当校验矩阵中存在大量度数为1的变量节点时,译码性能损失仍然存在。原因在于,对于度数为1的变量节点来说,每次迭代传出的信息为信道接收到的LLR,不会有任何符号的反转。其结果等效于普通的MSA。
在上述的几种译码方法的基础上,为了解决这些译码方法存在的缺陷,本申请提出一种处理信息的方法,能够提高LDPC码的译码性能。下面结合图7和图8详细介绍本申请提供的处理信息的方法。
图7是从设备交互的角度示出的本申请实施例提供的处理信息的方法100的示意性流程图。该示意图包括S110至步骤S140。下面结合图7对方法100进行详细描述。
在S110中,编码设备基于校验矩阵对信息序列进行LDPC编码,得到编码比特序列。
应理解,本申请中对于编码设备侧的编码方法并不限制,本申请的处理信息的方法主要涉及译码设备侧的译码方法的改进。
例如,在S110中编码设备进行编码可以是如图4所示的,根据码率或者待编码的传输块块长的大小基于不同的BG进行编码;还例如,在S110中编码设备进行编码可以是现有技术中提供的其他的编码方式;还例如,在S110中编码设备进行编码可以是目前5G蜂窝移动通信标准中的eMBB物理层数据传输已经确定采用RC RL-LDPC码的编码方式。由于本申请提供的处理信息的方法对于编码设备侧的编码方式不做限制,这里不再一一说明。
应理解,本申请实施例中,对于编码设备和译码设备的具体形式并不限制。例如,编码设备可以是前文中所述的终端设备或者网络设备;译码设备也可以是前文中所述的终端设备或者网络设备。
具体地,编码设备为图1中所示的网络设备101,译码设备为图1中所示的终端设备102或终端设备103。即,在S110中网络设备101将需要向终端设备102或终端设备103发送的信息数据,根据系统支持的传输块的大小,将来自上层的信息数据分割为多个传输块,并对每一传输块增加循环冗余码校验得到信息序列,如果添加校验后的传输块大小超过最大码块长,则需要将传输块划分为若干码块,网络设备101对每个码块进行信道编码。例如,采用LDPC编码,得到相应的编码码块。在本申请中,有时也将码块称为信息序列。每个编码码块中可包括码块中多个编码前的信息比特和编码生成的校验比特,在本申请中可统称为编码比特,多个编码比特所构成的序列可称为编码比特序列。
S120,编码设备向译码设备发送编码比特序列。
应理解,编码设备向译码设备发送编码比特序列方法为现有技术中记载的任意一种发送方法。本申请对此并不限制。
S130,译码设备基于LDPC码的校验矩阵H进行LDPC码的迭代译码。
具体地,迭代译码至少包括迭代计算m个校验节点和n个变量节点之间交替传递的信息,n和m为大于1的整数。由上述的各种译码方法可知,计算m个校验节点和n个变量节点之间交替传递的信息过程中,包括计算变量节点传递给校验节点的信息以及计算校验节点传递给变量节点的信息。本申请提供的处理信息的方法对于计算变量节点传递给校验节点的信息的迭代方程进行优化,进而提高译码性能。
S140,输出所述迭代译码结果。
具体地,译码设备侧完成LDPC码的迭代译码之后,输出译码结果。
由于,本申请实施例提供的处理信息的方法主要涉及译码设备侧译码方法的改进。下面结合图8详细介绍本申请实施例提供的处理信息的方法。
图8是从译码设备的角度示出的本申请实施例提供的处理信息的方法200的示意性流程图。该示意图包括步骤1至步骤3。下面结合图8对方法200进行详细描述。
步骤1,接收对数似然比LLR序列。
其中,LLR序列承载所述LDPC码的编码比特序列的信息。可选地,LLR序列是编码比特序列经过信道以后得到的,包含了一些噪声和干扰信息,也可以称之为软值序列。
步骤2,进行迭代译码。
迭代译码至少包括迭代计算m个校验节点和n个变量节点之间交替传递的信息,n和m为大于1的整数。
具体地,在迭代译码之前还包括初始化过程。初始化过程包括:
接收输入的信道对数似然比LLR序列,并将所述LLR序列的第j个元素赋给第j个变量节点,设定最大迭代次数Imax,令当前迭代次数k=0,第j个变量节点传递给第i个校验节点的信息初始化为Qji[0]=λj,第i个校验节点传递给第j个变量节点的信息Rij[0]初始化为0,其中,λj为所述LLR序列的第j个元素。
其中,每个变量节点为S110中的LDPC码的校验矩阵H的一列,第j个变量节点为n个变量节点中的任意一个变量节点,每个校验节点为S110中的LDPC码的校验矩阵的一行,第i个校验节点为与第j个变量节点相邻的校验节点的集合中的任意一个校验节点。
具体地,上述的初始化过程与现有技术中的LDPC码的迭代译码方法的初始化过程类似。这里不再赘述。
初始化过程之后,执行迭代译码。
所述迭代译码包括:
步骤2.1:第k次计算第i个校验节点传递给第j个变量节点的信息;
步骤2.2:第k次计算第j个变量节点传递给第i个校验节点的信息。
具体地,步骤2.2:第k次计算第j个变量节点传递给第i个校验节点的信息包括:
基于第一迭代方程,第k次计算第j个变量节点传递给第i个校验节点的信息,所述第一迭代方程为第一预设迭代方程乘以第一乘性因子得到的迭代方程,其中,所述第一预设迭代方程为第k次计算第j个变量节点传递给第i个校验节点的信息的预设迭代方程,所述第k次计算第j个变量节点传递给第i个校验节点的信息为任意一次计算第j个变量节点传递给第i个校验节点的信息,所述第j个变量节点为所述n个变量节点中的任意一个,所述第i个校验节点为与第j个变量节点相邻的校验节点的集合中的任意一个校验节点,k为大于0的整数。
可选地,上述第一乘性因子可以是在迭代开始之前设定的参数,在迭代过程中直接使用设定好的第一乘性因子;或者,上述第一乘性因子是在迭代过程中计算得到输入到迭代方程中的。
例如,经过大量仿真实验证明上述第一乘性因子的取值为β=1.25,直接在迭代译码之前将β=1.25输入系统中,在迭代译码过程中,第k次计算第j个变量节点传递给第i个校验节点的信息时直接将β=1.25乘以第一预设迭代方程,得到第k次计算第j个变量节点传递给第i个校验节点的信息的第一迭代方程,进行计算。
可选地,针对不同的变量节点可以设置不同的第一乘性因子值,以及针对迭代译码过程中不同的迭代次数设置不同的第一乘性因子值。
例如,不同的变量节点第一乘性因子的取值不同:计算第j个变量节点传递给第i个校验节点的信息时,第一乘性因子的取值为1.25;计算第j+1个变量节点传递给第i个校验节点的信息时,第一乘性因子的取值为1.24。
不同的迭代次数第一乘性因子的取值不同:第k次计算第j个变量节点传递给第i个校验节点的信息时,第一乘性因子的取值为1.25;第k+1次计算第j个变量节点传递给第i个校验节点的信息时,第一乘性因子的取值为1.24。
可选地,在一些实施例中,所述第一预设迭代方程包括:
Qji[k]=λj+∑i'∈C(j)\iRi'j[k],其中,Qji[k]为第k次计算时第j个变量节点传递给第i个校验节点的信息,j=0,…,n-1,第j个变量节点传递给第i个校验节点的信息初始化为Qji[0]=λj,C(j)表示与第j个变量节点相邻的校验节点的集合,C(j)\i表示与第j个变量节点相连的除了第i个校验节点以外的其余校验节点的集合,所述第一迭代方程包括:
Qji[k]=β*(λj+∑i'∈C(j)\iRi'j[k]),β为所述第一乘性因子;
或者,
所述第一预设迭代方程包括:
Qji[k]=λj+α*∑i'∈C(j)\iRi'j[k],α为第二乘性因子,所述α大于0且小于1,所述第一迭代方程包括:
Qji[k]=β*(λj+α*∑i'∈C(j)\iRi'j[k])。
可选地,本申请实施例提供的处理信息的方法中的步骤2.1:第k次计算第i个校验节点传递给第j个变量节点的信息,还可以包括:
当所述第一迭代方程为Qji[k]=β*(λj+∑i'∈C(j)\iRi'j[k])时,第k次计算第i个校验节点传递给第j个变量节点的信息包括:
基于第二迭代方程第k次计算第i个校验节点传递给第j个变量节点的信息,所述第二迭代方程为第二预设迭代方程乘以所述第二乘性因子得到的迭代方程,其中,第二预设迭代方程为第k次计算第i个校验节点传递给第j个变量节点的信息的预设迭代方程,所述第k次计算第i个校验节点传递给第j个变量节点的信息为任意一次计算第i个校验节点传递给第j个变量节点的信息;
或者,当所述第一迭代方程为Qji[k]=β*(λj+α*∑i'∈C(j)\iRi'j[k])时,第k次计算第i个校验节点传递给第j个变量节点的信息包括:
基于所述第二预设迭代方程第k次计算第i个校验节点传递给第j个变量节点的信息。。
可选地,在一些实施例中,所述第二预设迭代方程包括:
Rij[k]=∏j'∈V(i)\j sgn(Qj'i[k-1])*min(|Qj'i[k-1]|),其中,Rij[k]为第k次计算时第i个校验节点传递给第j个变量节点的信息,i=0,…,m-1,第i个校验节点传递给第j个变量节点的信息初始化为Rij[0]=0,j∈V(i),V(i)表示与第i个校验节点相邻的变量节点的集合,V(i)\j表示与第i个校验节点相连的除第j个变量节点以外的其余变量节点的集合;
所述第二迭代方程包括:
Rij[k]=α*∏j'∈V(i)\j sgn(Qj'i[k-1])*min(|Qj'i[k-1]|)。
应理解,本申请实施例提供的处理信息的方法可以不对第k次计算第i个校验节点传递给第j个变量节点的信息的第二预设迭代方程进行优化。
例如,本申请实施例提供的处理信息的方法可以是仅仅对现有技术中的BP译码方法、MSA译码方法、OMSA译码方法或自修正MSA译码方法等译码方法中计算第j个变量节点传递给第i个校验节点的信息的第一预设方程进行优化(乘以上述第一乘性因子)。对计算第j个变量节点传递给第i个校验节点的信息的计算结果有修正的作用。
还应理解,当本申请实施例提供的处理信息的方法对计算第i个校验节点传递给第j个变量节点的信息的第二预设迭代方程进行优化时(乘以上述第二乘性因子),可以相当于对现有技术中的2D NMSA译码方法中计算第j个变量节点传递给第i个校验节点的信息的第一预设方程进行优化(乘以上述第一乘性因子)。在此情况下,可以将本申请实施例提供的处理信息的方法理解为一种增强版2D NMSA译码方法。
具体地,该增强版2D NMSA译码方法可针对eMBB数据传输标准中任意信息序列的长度K所对应的RC RL-LDPC码进行译码,提升其译码性能。该增强版2D NMSA译码方法具有如下几个方面的优势:
1、与现有技术中的2D NMSA译码方法不同的是,针对RC RL-LDPC码的校验矩阵类型,本申请实施例所提出的增强版2D NMSA译码方法,通过第一乘性因子将信道输出的LLR进行缩放,使可靠信道信息更有效的帮助相对不可靠信道信息,以及帮助错误的变量节点,达到纠正错误的目的。
2、具有统一的译码器参数:针对RCRL-LDPC码的迭代译码过程中,CN和VN的信息更新方程中的第二乘性因子和第一乘性因子不随信噪比和迭代次数变化。仅需要一对优化的乘性因子即可适用于eMBB数据传输标准中规定的所有信息序列的长度的译码。
具体地,第二乘性因子和第一乘性因子的取值可以通过仿真实验确定。
3、具有简单的译码器结构和低译码复杂度:与现有常用的MSA译码方法兼容,在计算第i个校验节点传递给第j个变量节点的信息过程中,采用了类似MSA译码方法计算第i个校验节点传递给第j个变量节点的信息,避免使用BP译码方法中计算第i个校验节点传递给第j个变量节点的信息时,使用tanh(·)函数和乘法运算进行信息更新的复杂运算,译码器复杂度低。
可选地,本申请实施例提供的处理信息的方法还包括步骤2.1.1:对所述第i个校验节点传递给第j个变量节点的信息的计算结果进行自修正(也可以称为校验节点的信息的自修正),包括:
当第一结果的符号与第二结果的符号相同时,第i个校验节点传递给第j个变量节点的信息的计算结果为所述第一结果,当所述第一结果的符号与所述第二结果的符号不相同时,所述第i个校验节点传递给第j个变量节点的信息的计算结果为0;
其中,所述第一结果为任意一次计算第i个校验节点传递给第j个变量节点的信息的结果,所述第二结果为所述第一结果的上一次计算的结果。
例如,如果第k次迭代计算的Rij[k]的符号与上一次迭代计算的Rij[k-1]的符号不同,则Rij[k]=0。否则,Rij[k]保持不变(即为本次迭代方程计算的结果),其中,Rij[k]为上述的第一结果,Rij[k-1]为上述的第二结果。
可选地,本申请实施例提供的处理信息的方法还包括步骤2.2.1:对所述第j个变量节点传递给第i个校验节点的信息的计算结果进行自修正(也可以称为变量节点的信息的自修正),包括:
当第三结果的符号与第四结果的符号相同时,第j个变量节点传递给第i个校验节点的信息的计算结果为所述第三结果,当所述第三结果的符号与所述第四结果的符号不相同时,所述第j个变量节点传递给第i个校验节点的信息的计算结果为0;
其中,所述第三结果为任意一次计算第j个变量节点传递给第i个校验节点的信息的结果,所述第四结果为所述第三结果的上一次计算的结果。
例如,如果第k次迭代计算的Qji[k]的符号与上一次迭代计算的Qji[k-1]的符号不同,则Qji[k]=0。否则,Qji[k]保持不变(即为本次迭代方程计算的结果),其中,Qji[k]为上述的第三结果,Qji[k-1]为上述的第四结果。
应理解,本申请实施例提供的处理信息的方法,变量节点的信息的自修正和检验节点的信息的自修正可以同时存在,也可以只存在其中的一种自修正。
进一步地,本申请实施例提供的处理信息的方法中的自修正,并不是仅仅可以在上述步骤2.2和/或步骤2.1的基础上进行自修正。
例如,本申请实施例提供的变量节点的信息的自修正和/或检验节点的信息的自修正方法,可以结合前文所述的NMSA译码方法、OMSA译码方法或者2D NMSA译码方法。并且无论迭代过程中采用什么迭代方程进行迭代,均可以与自修正方法相结合。
具体地,LDPC码采用流水译码结构或者图6所示分层译码结构不影响本申请实施例提供的处理信息的方法的应用。
最优的,本申请实施例提供的处理信息的方法为上述的增强版2D NMSA译码方法结合自修正的译码方法。则,本申请实施例提供的处理信息的方法为在现有最小和译码方法的基础上引入乘性因子(第一乘性因子和第二乘性因子)和自修正机制(校验节点的信息的自修正和/或变量节点的信息的自修正)。其中,乘性因子适用于硬件实现,可使用移位寄存器来完成实现。自修正机制阈值为“0”,可直接根据信息的符号判断是否需要进行自修正操作。
进一步地,本申请实施例提供的处理信息的方法还包括步骤3:译码判决,所述译码判决包括:
计算每一个变量节点的后验对数似然比Qj[k]=λj+∑i'∈C(j)Ri'j[k],根据计算的Qj[k],可完成硬判决译码,规则为:
即,Qj[k]=0可以判决为0,或者判决为1。但每次判决时,Qj[k]只能择一判决,上面的判决规则可以择一使用。
之后对硬判决结果进行校验:
上面结合图7和图8详细说明本申请实施例提供的处理信息的方法。下面将结合具体的实验数据说明本申请提供的处理信息的方法对于eMBB数据传输标准中规定的所有信息序列的长度在中低码率(1/5≤R≤8/9)的情况下,本申请实施例提供的处理信息的方法与现有技术中的BP译码方法相比译码性能损失不超过0.3dB。
例如,本申请提供的处理信息的方法用于5G蜂窝移动通信标准中的eMMB应用场景下、基图1(BG1)以及基图2(BG2)系列的RC RL-LDPC译码。这两个系列的RC RL-LDPC码的校验矩阵均采用准循环(QC)的结构,通过选择不同大小的循环排列矩阵,替换具有Raptor-like结构的基矩阵中的非零元素,以得到支持不同信息序列的长度的校验矩阵。同时,基矩阵在构造上采用SPC延展和打孔的方法来实现不同码率的匹配。其基矩阵结构如图9所示。
图9是本申请实施例提供的一种基矩阵结构示意图。该示意图包括核心矩阵、双对角(dual-diagonal)指数结构的核心矩阵等结构,RC RL-LDPC码可以由一个高码率的,并具有双对角指数结构的核心矩阵进行SPC延展后得到,这里不再详述。
下面以5G蜂窝移动通信标准中的eMMB应用场景下的BG1RC RL-LDPC码和BG2RCRL-LDPC码为例,选取不同的信息序列的长度K在正交相移编码(quadrature phase shiftkeying,QPSK)调制下,对本申请实施例提供的处理信息的方法与现有技术中的SPA译码方法的译码性能进行测试。
具体地,上述乘性因子第二乘性因子=0.75,第一乘性因子=1.25。使用的仿真信道为加性高斯白噪声(additive white gaussian noise,AWGN)信道。本申请实施例提供的处理信息的方法与现有技术中的SPA译码方法的最大迭代次数均设置为50。所有的传输包错误率(BLER)性能曲线均展示在图10中。
图10(a)~(u)分别为不同参数下本申请实施例提供的处理信息的方法与现有技术中的SPA译码方法译码性能对比图。具体地,图10中的(a)~(r)分别展示了信息序列的长度为K={56,96,176,216,256,288,320,336,376,416,576,752,912,1088,1248,1728,2688,3840}BG2RC RL-LDPC码的传输BLER。图11中(a)~(r)的曲线上的不同标记符号分别对应的码率如下表-表2所示:
表2
图11中(s)~(u)分别展示了信息序列的长度为K={4096,5184,8448}BG1RC RL-LDPC码的传输BLER。图11中(s)~(u)的曲线上的不同标记符号分别对应的码率如下表-表3所示:
表3
从图11中可以看出,当信息序列的长度较短时,即K<176比特,且码率大于0.2时,本申请实施例提供的处理信息的方法的译码性能超过SPA译码方法的译码性能。且译码性能的提高随着码率的增大而提升。此外,随着信息序列的长度增大,本申请实施例提供的处理信息的方法的译码性能会随着码率的升高而贴近SPA译码方法的译码性能。反之,码率越低,本申请实施例提供的处理信息的方法的译码性能同SPA译码方法的译码性能相比损失越明显。从图11(u)中可以看出,当K=8448(eMBB需要支持的最大信息序列的长度)时,本申请实施例提供的处理信息的方法相比于SPA译码方法的最大译码性能差距不超过0.3dB。
以上对本申请实施例提供的处理信息的方法作了详细说明,以下结合图11和图12对本申请实施例处理信息的装置进行说明。
图11是本申请实施例的处理信息的装置600的示意性框图。所述装置600可以是芯片,基站,终端或者其他网络设备。装置600主要包括处理单元610和接收单元620。其中,处理单元610用于译码,具体地处理单元610用于基于所述LDPC码的校验矩阵H进行所述迭代译码,所述迭代译码至少包括迭代计算m个校验节点和n个变量节点之间交替传递的信息,n和m为大于1的整数;输出所述迭代译码结果。其中,处理单元610用于第k次计算第j个变量节点传递给第i个校验节点的信息包括:
基于第一迭代方程,第k次计算第j个变量节点传递给第i个校验节点的信息,所述第一迭代方程为第一预设迭代方程乘以第一乘性因子得到的迭代方程,其中,所述第一预设迭代方程为第k次计算第j个变量节点传递给第i个校验节点的信息的预设迭代方程,所述第k次计算第j个变量节点传递给第i个校验节点的信息为任意一次计算第j个变量节点传递给第i个校验节点的信息,所述第j个变量节点为所述n个变量节点中的任意一个,所述第i个校验节点为与第j个变量节点相邻的校验节点的集合中的任意一个校验节点,k为大于0的整数。
可选地,还包括接收单元620用于接收对数似然比LLR序列,所述LLR序列承载所述LDPC码的编码比特序列的信息。
应理解,处理单元610用于译码时,也可以称作译码单元,或译码器等。
本申请实施例的装置600中的各单元和上述其它操作或功能分别为了实现本申请实施例的处理信息的方法。
例如,处理单元610用于执行图7所示的S130和S140,以及执行图8所示的步骤2和步骤3;接收单元620用于执行图8所示的步骤1。为了简洁,此处不再赘述。
在一个可能的设计中,装置600的所述功能的部分或全部通过硬件实现时,装置600包括:输入接口电路,用于接收编码比特序列;逻辑电路,用于译码。
在一个可能的设计中,当装置600的上述功能全部通过硬件实现时,装置600包括:存储器,用于存储程序;处理器,用于执行存储器存储的所述程序,当所述程序被执行时,装置600可以实现上述任意一种可能的设计中所述的处理信息的方法。
可选地,装置600可以是芯片或者集成电路。
在一个可能的设计中,当装置600的上述功能的部分或全部通过软件实现时,装置600包括处理器和存储器。处理器通过读取存储器中的存储的软件代码来实现装置600的上述功能。上述的存储器与存储器可以是物理上相互独立的单元,或者,存储器也可以和处理器集成在一起。
图12为本申请实施例的处理信息的设备700的示意性结构图。如图12所示,设备700包括:一个或多个处理器701,一个或多个存储器702。可选地,设备700还可以包括一个或多个收发器703。处理器701用于控制收发器703收发信号,存储器702用于存储计算机程序,处理器701用于从存储器702中调用并运行该计算机程序,使得设备700执行本申请实施例的处理信息的相应流程和/或操作。此处不再赘述。
需要说明的是,图11中所示的装置600可以通过图12中所示的设备700实现。例如,处理单元610可以由处理器701实现,接收单元620可以由收发器703实现等。
此外,本申请提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行本申请任意一个实施例中描述的处理信息的方法。
本申请还提供一种计算机程序产品,该计算机程序产品包括计算机程序代码,当该计算机程序代码在计算机上运行时,使得计算机执行本申请任意一个实施例中描述的处理信息的方法。
本申请还提供一种芯片(或者,芯片系统),包括存储器和处理器,存储器用于存储计算机程序,处理器用于从存储器中调用并运行该计算机程序,使得安装有该芯片的通信设备执行本申请实施例的处理信息的方法。
这里所述的通信设备可以是信息的接收端或译码端。例如,在下行传输时,终端设备安装有该芯片,以对编码比特序列进行译码,例如图1中所示的终端设备102。还例如,在上行传输时,网络设备101安装有该芯片,以对编码比特序列进行译码,例如图1中所示的网络设备101。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (17)
1.一种处理信息的方法,应用于低密度奇偶校验LDPC码的迭代译码过程中,包括:
接收对数似然比LLR序列,所述LLR序列承载所述LDPC码的编码比特序列的信息;
基于所述LDPC码的校验矩阵H进行所述迭代译码,所述迭代译码至少包括迭代计算m个校验节点和n个变量节点之间交替传递的信息,n和m为大于1的整数;
输出所述迭代译码结果;
其特征在于,第k次计算第j个变量节点传递给第i个校验节点的信息包括:
基于第一迭代方程,第k次计算第j个变量节点传递给第i个校验节点的信息,所述第一迭代方程为第一预设迭代方程乘以第一乘性因子得到的迭代方程,其中,所述第一预设迭代方程为第k次计算第j个变量节点传递给第i个校验节点的信息的预设迭代方程,所述第k次计算第j个变量节点传递给第i个校验节点的信息为任意一次计算第j个变量节点传递给第i个校验节点的信息,所述第j个变量节点为所述n个变量节点中的任意一个,所述第i个校验节点为与第j个变量节点相邻的校验节点的集合中的任意一个校验节点,k为大于0的整数。
2.根据权利要求1所述的方法,其特征在于,所述第一预设迭代方程包括:
Qji[k]=λj+∑i'∈C(j)\iRi'j[k],其中,Qji[k]为第k次计算时第j个变量节点传递给第i个校验节点的信息,j=0,…,n-1,第j个变量节点传递给第i个校验节点的信息初始化为Qji[0]=λj,C(j)表示与第j个变量节点相邻的校验节点的集合,C(j)\i表示与第j个变量节点相连的除了第i个校验节点以外的其余校验节点的集合,所述第一迭代方程包括:
Qji[k]=β*(λj+∑i'∈C(j)\iRi'j[k]),β为所述第一乘性因子;
或者,
所述第一预设迭代方程包括:
Qji[k]=λj+α*∑i'∈C(j)\iRi'j[k],α为第二乘性因子,所述α大于0且小于1,所述第一迭代方程包括:
Qji[k]=β*(λj+α*∑i'∈C(j)\iRi'j[k])。
3.根据权利要求2所述的方法,其特征在于,当所述第一迭代方程为Qji[k]=β*(λj+∑i'∈C(j)\iRi'j[k])时,第k次计算第i个校验节点传递给第j个变量节点的信息包括:
基于第二迭代方程第k次计算第i个校验节点传递给第j个变量节点的信息,所述第二迭代方程为第二预设迭代方程乘以所述第二乘性因子得到的迭代方程,其中,第二预设迭代方程为第k次计算第i个校验节点传递给第j个变量节点的信息的预设迭代方程,所述第k次计算第i个校验节点传递给第j个变量节点的信息为任意一次计算第i个校验节点传递给第j个变量节点的信息;
或者,当所述第一迭代方程为Qji[k]=β*(λj+α*∑i'∈C(j)\iRi'j[k])时,第k次计算第i个校验节点传递给第j个变量节点的信息包括:
基于所述第二预设迭代方程第k次计算第i个校验节点传递给第j个变量节点的信息。
4.根据权利要求3所述的方法,其特征在于,所述第二预设迭代方程包括:
Rij[k]=∏j'∈V(i)\jsgn(Qj'i[k-1])*min(|Qj'i[k-1]|),其中,Rij[k]为第k次计算时第i个校验节点传递给第j个变量节点的信息,i=0,…,m-1,第i个校验节点传递给第j个变量节点的信息初始化为Rij[0]=0,j∈V(i),V(i)表示与第i个校验节点相邻的变量节点的集合,V(i)\j表示与第i个校验节点相连的除第j个变量节点以外的其余变量节点的集合;
所述第二迭代方程包括:
Rij[k]=α*∏j'∈V(i)\jsgn(Qj'i[k-1])*min(|Qj'i[k-1]|)。
5.根据权利要求1-4中任一项所述的方法,其特征在于,所述迭代译码还包括:
对所述第i个校验节点传递给第j个变量节点的信息的计算结果进行自修正,包括:
当第一结果的符号与第二结果的符号相同时,第i个校验节点传递给第j个变量节点的信息的计算结果为所述第一结果,当所述第一结果的符号与所述第二结果的符号不相同时,所述第i个校验节点传递给第j个变量节点的信息的计算结果为0;
其中,所述第一结果为任意一次计算第i个校验节点传递给第j个变量节点的信息的结果,所述第二结果为所述第一结果的上一次计算的结果;
和/或,
对所述第j个变量节点传递给第i个校验节点的信息的计算结果进行自修正,包括:
当第三结果的符号与第四结果的符号相同时,第j个变量节点传递给第i个校验节点的信息的计算结果为所述第三结果,当所述第三结果的符号与所述第四结果的符号不相同时,所述第j个变量节点传递给第i个校验节点的信息的计算结果为0;
其中,所述第三结果为任意一次计算第j个变量节点传递给第i个校验节点的信息的结果,所述第四结果为所述第三结果的上一次计算的结果。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述第一乘性因子的取值包括:
针对n个变量节点中的每个变量节点任意一次计算变量节点传递给校验节点的信息时,第一乘性因子的取值相同。
7.一种处理信息的装置,应用于低密度奇偶校验LDPC码的迭代译码过程中,包括:
接收单元,用于接收对数似然比LLR序列,所述LLR序列承载所述LDPC码的编码比特序列的信息;
处理单元,基于所述LDPC码的校验矩阵H进行所述迭代译码,所述迭代译码至少包括迭代计算m个校验节点和n个变量节点之间交替传递的信息,n和m为大于1的整数;
所述处理单元,还用于输出所述迭代译码结果;
其特征在于,所述处理单元第k次计算第j个变量节点传递给第i个校验节点的信息包括:
所述处理单元基于第一迭代方程,第k次计算第j个变量节点传递给第i个校验节点的信息,所述第一迭代方程为第一预设迭代方程乘以第一乘性因子得到的迭代方程,其中,所述第一预设迭代方程为第k次计算第j个变量节点传递给第i个校验节点的信息的预设迭代方程,所述第k次计算第j个变量节点传递给第i个校验节点的信息为任意一次计算第j个变量节点传递给第i个校验节点的信息,所述第j个变量节点为所述n个变量节点中的任意一个,所述第i个校验节点为与第j个变量节点相邻的校验节点的集合中的任意一个校验节点,k为大于0的整数。
8.根据权利要求7所述的装置,其特征在于,所述第一预设迭代方程包括:
Qji[k]=λj+∑i'∈C(j)\iRi'j[k],其中,Qji[k]为第k次计算时第j个变量节点传递给第i个校验节点的信息,j=0,…,n-1,第j个变量节点传递给第i个校验节点的信息初始化为Qji[0]=λj,C(j)表示与第j个变量节点相邻的校验节点的集合,C(j)\i表示与第j个变量节点相连的除了第i个校验节点以外的其余校验节点的集合,则,所述第一迭代方程包括:
Qji[k]=β*(λj+∑i'∈C(j)\iRi'j[k]),β为所述第一乘性因子;
或者,
所述第一预设迭代方程包括:
Qji[k]=λj+α*∑i'∈C(j)\iRi'j[k],α为第二乘性因子,所述α大于0且小于1,所述第一迭代方程包括:
Qji[k]=β*(λj+α*∑i'∈C(j)\iRi'j[k])。
9.根据权利要求8所述的装置,其特征在于,当所述第一迭代方程为Qji[k]=β*(λj+∑i'∈C(j)\iRi'j[k])时,所述处理单元第k次计算第i个校验节点传递给第j个变量节点的信息包括:
所述处理单元基于第二迭代方程,第k次计算第i个校验节点传递给第j个变量节点的信息,所述第二迭代方程为第二预设迭代方程乘以所述第二乘性因子得到的迭代方程,其中,第二预设迭代方程为第k次计算第i个校验节点传递给第j个变量节点的信息的预设迭代方程,所述第k次计算第i个校验节点传递给第j个变量节点的信息为任意一次计算第i个校验节点传递给第j个变量节点的信息;
或者,当所述第一迭代方程为Qji[k]=β*(λj+α*∑i'∈C(j)\iRi'j[k])时,所述处理单元第k次计算第i个校验节点传递给第j个变量节点的信息包括:
所述处理单元基于所述第二预设迭代方程,第k次计算第i个校验节点传递给第j个变量节点的信息。
10.根据权利要求9所述的装置,其特征在于,所述第二预设迭代方程包括:
Rij[k]=∏j'∈V(i)\jsgn(Qj'i[k-1])*min(|Qj'i[k-1]|),其中,Rij[k]为第k次计算时第i个校验节点传递给第j个变量节点的信息,i=0,…,m-1,第i个校验节点传递给第j个变量节点的信息初始化为Rij[0]=0,j∈V(i),V(i)表示与第i个校验节点相邻的变量节点的集合,V(i)\j表示与第i个校验节点相连的除第j个变量节点以外的其余变量节点的集合;
所述第二迭代方程包括:
Rij[k]=α*∏j'∈V(i)\jsgn(Qj'i[k-1])*min(|Qj'i[k-1]|)。
11.根据权利要求7-10中任一项所述的装置,其特征在于,所述处理单元,还用于对所述第i个校验节点传递给第j个变量节点的信息的计算结果进行自修正,包括:
当第一结果的符号与第二结果的符号相同时,第i个校验节点传递给第j个变量节点的信息的计算结果为所述第一结果,当所述第一结果的符号与所述第二结果的符号不相同时,所述第i个校验节点传递给第j个变量节点的信息的计算结果为0;
其中,所述第一结果为任意一次计算第i个校验节点传递给第j个变量节点的信息的结果,所述第二结果为所述第一结果的上一次计算的结果;
和/或,
所述处理单元,还用于对所述第j个变量节点传递给第i个校验节点的信息的计算结果进行自修正,包括:
当第三结果的符号与第四结果的符号相同时,第j个变量节点传递给第i个校验节点的信息的计算结果为所述第三结果,当所述第三结果的符号与所述第四结果的符号不相同时,所述第j个变量节点传递给第i个校验节点的信息的计算结果为0;
其中,所述第三结果为任意一次计算第j个变量节点传递给第i个校验节点的信息的结果,所述第四结果为所述第三结果的上一次计算的结果。
12.根据权利要求7-11中任一项所述的装置,其特征在于,所述第一乘性因子的取值包括:
针对n个变量节点中的每个变量节点任意一次计算变量节点传递给校验节点的信息时,第一乘性因子的取值相同。
13.一种终端,其特征在于,包括如权利要求7至12任一项所述的装置。
14.一种基站,其特征在于,包括如权利要求7至12任一项所述的装置。
15.一种通信系统,其特征在于包括如权利要求13所述的终端以及如权利要求14所述的基站。
16.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至6任一项所述的方法。
17.一种计算机程序产品,当其在计算机上运行时,使得计算机执行权利要求1至6任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811279697.5A CN111130563B (zh) | 2018-10-30 | 2018-10-30 | 处理信息的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811279697.5A CN111130563B (zh) | 2018-10-30 | 2018-10-30 | 处理信息的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111130563A true CN111130563A (zh) | 2020-05-08 |
CN111130563B CN111130563B (zh) | 2022-04-26 |
Family
ID=70484830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811279697.5A Active CN111130563B (zh) | 2018-10-30 | 2018-10-30 | 处理信息的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111130563B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111835495A (zh) * | 2020-09-16 | 2020-10-27 | 南昌大学 | 参考信号的检测方法、系统、可读存储介质及电子设备 |
CN112039533A (zh) * | 2020-08-05 | 2020-12-04 | Oppo广东移动通信有限公司 | 数据处理方法、装置、译码器、设备及计算机存储介质 |
CN113612575A (zh) * | 2021-06-30 | 2021-11-05 | 南京大学 | 面向Wimax协议的QC-LDPC译码器译码方法及系统 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101267209A (zh) * | 2008-04-29 | 2008-09-17 | 清华大学 | Ldpc译码的循环式分级最小值计算方法及其实现装置 |
CN101557232A (zh) * | 2008-04-08 | 2009-10-14 | 威望科技(苏州)有限公司 | 一种低密度奇偶校验码解码方法 |
WO2010103757A1 (ja) * | 2009-03-13 | 2010-09-16 | 日本電気株式会社 | 復号装置および復号方法 |
CN102195655A (zh) * | 2011-02-25 | 2011-09-21 | 山东大学 | 一种准循环ldpc译码器及译码方法 |
US8028216B1 (en) * | 2006-06-02 | 2011-09-27 | Marvell International Ltd. | Embedded parity coding for data storage |
CN103259545A (zh) * | 2013-04-26 | 2013-08-21 | 西安理工大学 | 基于振荡的准循环低密度奇偶校验码置信传播译码方法 |
CN105680879A (zh) * | 2016-01-07 | 2016-06-15 | 西安电子科技大学 | 兼容dvb-s2x标准的ldpc译码器设计方法 |
CN107251439A (zh) * | 2015-02-11 | 2017-10-13 | 三菱电机株式会社 | 用于自适应调制和编码amc的方法和amc控制器 |
US20170353194A1 (en) * | 2015-11-24 | 2017-12-07 | Texas Instruments Incorporated | LDPC Post-Processor Architecture and Method for Low Error Floor Conditions |
WO2018093286A1 (en) * | 2016-11-21 | 2018-05-24 | Huawei Technologies Co., Ltd. | Generation of spatially-coupled quasi-cyclic ldpc codes |
CN108234066A (zh) * | 2016-12-15 | 2018-06-29 | 华为技术有限公司 | 基于ldpc的通信方法和通信设备 |
CN108270510A (zh) * | 2016-12-30 | 2018-07-10 | 华为技术有限公司 | 基于ldpc码的通信方法和通信设备 |
-
2018
- 2018-10-30 CN CN201811279697.5A patent/CN111130563B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8028216B1 (en) * | 2006-06-02 | 2011-09-27 | Marvell International Ltd. | Embedded parity coding for data storage |
CN101557232A (zh) * | 2008-04-08 | 2009-10-14 | 威望科技(苏州)有限公司 | 一种低密度奇偶校验码解码方法 |
CN101267209A (zh) * | 2008-04-29 | 2008-09-17 | 清华大学 | Ldpc译码的循环式分级最小值计算方法及其实现装置 |
WO2010103757A1 (ja) * | 2009-03-13 | 2010-09-16 | 日本電気株式会社 | 復号装置および復号方法 |
CN102195655A (zh) * | 2011-02-25 | 2011-09-21 | 山东大学 | 一种准循环ldpc译码器及译码方法 |
CN103259545A (zh) * | 2013-04-26 | 2013-08-21 | 西安理工大学 | 基于振荡的准循环低密度奇偶校验码置信传播译码方法 |
CN107251439A (zh) * | 2015-02-11 | 2017-10-13 | 三菱电机株式会社 | 用于自适应调制和编码amc的方法和amc控制器 |
US20170353194A1 (en) * | 2015-11-24 | 2017-12-07 | Texas Instruments Incorporated | LDPC Post-Processor Architecture and Method for Low Error Floor Conditions |
CN105680879A (zh) * | 2016-01-07 | 2016-06-15 | 西安电子科技大学 | 兼容dvb-s2x标准的ldpc译码器设计方法 |
WO2018093286A1 (en) * | 2016-11-21 | 2018-05-24 | Huawei Technologies Co., Ltd. | Generation of spatially-coupled quasi-cyclic ldpc codes |
CN108234066A (zh) * | 2016-12-15 | 2018-06-29 | 华为技术有限公司 | 基于ldpc的通信方法和通信设备 |
CN108270510A (zh) * | 2016-12-30 | 2018-07-10 | 华为技术有限公司 | 基于ldpc码的通信方法和通信设备 |
Non-Patent Citations (1)
Title |
---|
CHEN, HAIQIANG等: "An Iterative Detection/Decoding Algorithm of Correlated Sources for the LDPC-Based Relay Systems", 《CHINA COMMUNICATIONS》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112039533A (zh) * | 2020-08-05 | 2020-12-04 | Oppo广东移动通信有限公司 | 数据处理方法、装置、译码器、设备及计算机存储介质 |
CN112039533B (zh) * | 2020-08-05 | 2023-10-10 | Oppo广东移动通信有限公司 | 数据处理方法、装置、译码器、设备及计算机存储介质 |
CN111835495A (zh) * | 2020-09-16 | 2020-10-27 | 南昌大学 | 参考信号的检测方法、系统、可读存储介质及电子设备 |
CN111835495B (zh) * | 2020-09-16 | 2020-12-08 | 南昌大学 | 参考信号的检测方法、系统、可读存储介质及电子设备 |
CN113612575A (zh) * | 2021-06-30 | 2021-11-05 | 南京大学 | 面向Wimax协议的QC-LDPC译码器译码方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111130563B (zh) | 2022-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11374591B2 (en) | Apparatus and method for channel coding in communication system | |
CN107370490B (zh) | 结构化ldpc的编码、译码方法及装置 | |
US10784893B2 (en) | Method and apparatus for low density parity check channel coding in wireless communication system | |
EP3457574A1 (en) | Data processing method and device for structured ldpc code | |
US20090063930A1 (en) | Check matrix generating method, encoding method, decoding method, communication device, encoder, and decoder | |
US10560120B2 (en) | Elementary check node processing for syndrome computation for non-binary LDPC codes decoding | |
AU2018294981B2 (en) | Information processing method, apparatus, and communication apparatus | |
US20150200747A1 (en) | Transmission method, reception method, transmitter, and receiver | |
KR20080053346A (ko) | 저밀도 패리티 검사 디코더용 방법 및 장치 | |
CN111130563B (zh) | 处理信息的方法和装置 | |
CN107404321B (zh) | 用于纠错码解码的方法和设备 | |
US9787326B2 (en) | Method and apparatus for encoding and decoding low density parity check codes | |
RU2740154C1 (ru) | Способ обработки информации и устройство связи | |
US11101926B2 (en) | Method and apparatus for channel encoding and decoding in communication or broadcasting system | |
CN108270510B (zh) | 基于ldpc码的通信方法和通信设备 | |
CN114270710A (zh) | 通信或广播系统中的数据解码方法和装置 | |
CN112005499A (zh) | Ldpc码的译码方法和装置 | |
CN115085739A (zh) | 一种编译码方法及装置 | |
CN112583419A (zh) | 一种译码方法及装置 | |
KR20200127783A (ko) | 무선 통신 시스템에서 저밀도 패리티-검사 부호의 복호화를 위한 장치 및 방법 | |
US20230388048A1 (en) | Method and apparatus for channel encoding and decoding in communication or broadcasting system | |
CN108234066B (zh) | 基于ldpc的通信方法和通信设备 | |
US20140173374A1 (en) | Methods and apparatus for error coding | |
CN112737600B (zh) | 译码方法和译码器 | |
US11683051B2 (en) | Method and apparatus for data processing with structured LDPC codes |
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 |