CN109802688A - 一种多进制ldpc译码系统和方法 - Google Patents
一种多进制ldpc译码系统和方法 Download PDFInfo
- Publication number
- CN109802688A CN109802688A CN201811623170.XA CN201811623170A CN109802688A CN 109802688 A CN109802688 A CN 109802688A CN 201811623170 A CN201811623170 A CN 201811623170A CN 109802688 A CN109802688 A CN 109802688A
- Authority
- CN
- China
- Prior art keywords
- information vector
- module
- information
- sorting module
- stored
- 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
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Error Detection And Correction (AREA)
Abstract
本发明涉及LDPC译码领域,公开了一种多进制LDPC译码系统和方法。包括:步骤101,输入元素初始化模块计算信息向量表Lj;步骤102,变量节点更新模块通过使用c2v信息向量和排序模块更新v2c信息向量;步骤103,校验节点更新模块通过使用v2c信息向量和排序模块更新c2v信息向量;步骤104,根据c2v信息向量和原始概率通过排序模块得出迭代结果;步骤105,判决模块将迭代结果和校验矩阵进行计算,如果满足结束条件则译码结束,否则回到步骤102;步骤106,输出模块输出判决结果。本发明通过分时共用一个排序模块,用尽量少的资源完成各个步骤信息向量的更新和排序。
Description
技术领域
本发明涉及LDPC译码领域,尤其涉及一种多进制LDPC译码系统和方法。
背景技术
1962年,Gallager在其博士论文中提出了基于低密度奇偶校验矩阵的纠错码,即LDPC码。然而限于当时的计算能力,他的工作一直未被重视。
1993年,C.Berrou等人提出了Turbo码,其优越的性能让人震惊,并且直接推动了编码理论的发展。
随后,LDPC码又被重新发现,1996年,Mackay和Neal使LDPC的研究跨入了新的领域,逐渐证明了LDPC码性能好于Turbo码,是最接近香农极限的好码,并且在现有技术下是可实际应用的。
多进制LDPC码相比二进制LDPC码的不同:
接收到的码字不再是0、1序列,而是定义在GF(q)上的元素(0~q-1)。
校验矩阵中的非零元素也不只是1,而是GF(q)上的元素(0~q-1)。
多进制LDPC码性能优于二进制LDPC码,但是以付出更高的编译码复杂度为代价。多进制LDPC码能够提高性能的原因在于:二进制LDPC码的校验矩阵为了避免短环的出现,列重只能取的较小。而在GF(q)域,在不改变双向图结构的情况下,可增加校验矩阵的列重。
除了用校验矩阵,还可以使用双向的图描述LDPC码,称为Tanner图。Tanner图由三部分构成:
变量节点,共n个,对应校验矩阵的列,也对应输入码字序列,V={v0,v1,v2,...,vn};
校验节点,共m个,对应校验矩阵的行,C={c0,c1,c2,...,cm};
边,对应校验矩阵中非零元素。
LDPC译码的两个关键过程:变量节点更新、校验节点更新。LDPC的迭代过程就是信息向量在变量节点和校验节点之间来回传递,其传递的路径由校验矩阵H规定。当信息向量碰到了变量节点或校验节点时,就触发了相应的更新操作,不同的LDPC译码算法有不同的更新方法。一次迭代包括了一次变量节点更新和一次校验节点更新。
扩展最小和译码算法中最重要的结构是信息向量,输入信息节点的初始化、迭代中传递的c2v、v2c都是信息向量。信息向量是一个n*2的矩阵,第一列是GF(q)域中所有的元素,第二列是该元素对应的似然比LLR值,具体介绍如下:
每个变量节点元素yj,有其对应的信息向量Lj。信息向量Lj的每个元素是由有限域元素x及其对数似然比LLR值组合而成(x,LLR(x))。所有的q个有限域元素x∈GF(q),及其对应的对数似然比值LLR(x)一起构成了信息向量Lj(q行2列的矩阵)。其中,有限域元素x对应的对数似然比计算公式如下:
其中是GF(q)中使概率p(yj|x)最大的有限域元素,即直接对接收符号yj逐比特作硬判决得到的元素。有限域元素x和的比特表示序列分别为x=(x0,x1,...,xr-1)和则即如果xb和相同则Δj,b=1,否则Δj,b=0。
附图2以GF(64)为例,给出了一个输入元素yj所对应的信息向量Lj(假设σ=1)的计算过程。根据其计算过程可知,对数似然比LLR值的意义是:元素x和元素yj的相似(偏离)程度。即LLR值越小,元素yj和x越相似,或yj是x的概率越大。同时,信息向量Lj的意义是:将GF(q)中所有的元素x分别和输入元素yj对比,并计算其对数似然比LLR值。就得到了输入元素yj在GF(q)域上的“概率密度函数”。
因为LLR值越小表示对应的有限域元素x越接近输入值,所以一般将信息向量Lj按照LLR值由小到大排列,得到Lj.sort。另外,许多译码算法为了减小计算量,只取LLR值最小的前nm个元素,得到Lj.nm。
另外,值得注意的是,在实际中需要考虑计算复杂度,所以LDPC译码输入的积分值不是浮点值,而是量化后的定点值。量化的比特数越多,保留的概率信息就越多,译码成功率就越高,但是计算复杂度也越高(1比特量化,相当于硬判决,完全丢失了概率信息)。有文献表明3比特量化的损失就很小了。
校验节点更新时,主要的运算是信息向量的相加,两个信息向量相加,是指其元素依次遍历相加,LLR值依次遍历相加。两个n行信息向量相加,结果(最大)是一个n*n行的信息向量。为了避免越加信息向量越大,相加后按照LLR由小到大排序,取前n行组成信息向量,总而使数据运算规模匹配。附图3展示了信息向量相加的过程。
变量节点更新时,则是将每个信息向量中相同元素的LLR进行相加,相加后按照LLR由小到大排序,取前n行组成信息向量。
由上述原理可知,信息向量相加和匹配是比较耗费计算量的。对于行重为4,变量节点个数为200,校验节点个数为100的情况。一次变量节点更新需要400n2次排序。一次校验节点更新要累加三个信息向量,即两次相加。一次校验节点更新,所需要的计算量为400n2次加法和400n2次排序。
因此,本领域的技术人员致力于开发一种多进制LDPC译码系统和方法,减少向量相加和排序开销的硬件实现方法,应用于对速率要求不高的场景。
发明内容
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是如何减少向量相加和排序开销。
为实现上述目的,本发明提供了一种多进制LDPC译码系统和方法,采用扩展最小和译码算法,提供了减少向量相加和排序开销的硬件实现方法。对速率要求不高的场景,通过分时共用一个排序模块,既可以暂存向量相加后的结果,又可以在计算过程中同步排序,最后只保留需要的排序结果。计算过程中除了使用存储器存放每次的校验节点,变量节点更新内容外,其余操作尽量使用逻辑电路。
多进制LDPC码是定义在GF(q)上的元素(0~q-1),校验矩阵中的非零元素是GF(q)上的元素(0~q-1)。除了用校验矩阵,还可以使用双向的图描述LDPC码,称为Tanner图。Tanner图由三部分构成,参见附图1:
变量节点,共n个,对应校验矩阵的列,也对应输入码字序列,V={v0,v1,v2,...,vn};
校验节点,共m个,对应校验矩阵的行,C={c0,c1,c2,...,cm};
边,对应校验矩阵中非零元素。
LDPC译码的两个关键过程:变量节点更新和校验节点更新。LDPC的迭代过程就是信息向量在变量节点和校验节点之间来回传递,其传递的路径由校验矩阵H规定。当信息向量碰到了变量节点或校验节点时,就触发了相应的更新操作,不同的LDPC译码算法有不同的更新方法,一次迭代包括了一次变量节点更新和一次校验节点更新。
扩展最小和译码算法中最重要的结构是信息向量,输入信息节点的初始化、迭代中传递的c2v、v2c都是信息向量。信息向量是一个n*2的矩阵,第一列是GF(q)域中所有的元素,第二列是该元素对应的对数似然比LLR值,具体如下:
每个信息有j个变量节点元素y,每个变量节点元素yj,有其对应的信息向量Lj。信息向量Lj的每个元素是由有限域元素x及其对数似然比LLR值组合而成(x,LLR(x))。所有的q个有限域元素x∈GF(q),及其对应的对数似然比值LLR(x)一起构成了信息向量Lj(q行2列的矩阵)。其中,有限域元素x对应的对数似然比计算公式如下:
其中是GF(q)中使概率p(yj|x)最大的有限域元素,即直接对接收符号yj逐比特作硬判决得到的元素。每个变量节点yj有r个有限域元素x。有限域元素x和的比特表示序列分别为x=(x0,x1,...,xr-1)和则即如果xb和相同,则Δj,b=1,否则Δj,b=0。r是yj里x元素的下标范围,b是当前使用的x元素的下标。σ对概率值偏差无影响,只是一个整体数值缩放量,可作为常数处理,一般计算时取1。
附图2以GF(64)为例,给出了一个输入元素yj所对应的信息向量Lj(假设σ=1)的计算过程。根据其计算过程可知,对数似然比LLR值的意义是:元素x和元素yj的相似(偏离)程度。即LLR值越小,元素yj和x越相似,或yj是x的概率越大。同时,信息向量Lj的意义是:将GF(q)中所有的元素x分别和输入元素yj对比,并计算其对数似然比LLR值,就得到了输入元素yj在GF(q)域上的“概率密度函数”。LLR值越小表示对应的有限域元素x越接近输入值,所以一般将信息向量Lj按照LLR值由小到大排列,得到Lj.sort。
校验节点更新时,主要的运算是信息向量的相加,两个信息向量相加,是指其元素依次遍历相加,LLR值依次遍历相加。两个n行信息向量相加,结果(最大)是一个n*n行的信息向量。为了避免越加信息向量越大,相加后按照LLR由小到大排序,取前n行组成信息向量,总而使数据运算规模匹配。附图3展示了信息向量相加的过程。
变量节点更新时,则是将每个信息向量中相同元素的LLR进行相加,相加后按照LLR由小到大排序,取前n行组成信息向量。
在本发明的较佳实施方式中,一种多进制LDPC译码系统,结构参见附图4,包括:
输入元素初始化模块,用于计算接收到元素的初始对数似然比LLR,并存入存储器,在每一次变量节点更新以及判决中使用;
判决模块,用于判断迭代后的结果是否满足校验,并将判决结果存入存储器;
变量节点更新模块,更新变量节点信息向量的值,并存入存储器;
校验节点更新模块,更新校验节点信息向量的值,并存入存储器;
排序模块,供输入元素初始化模块、判决模块、变量节点更新模块和校验节点更新模块涉及排序功能时使用,排序模块的特点是不限制输入数据的次数,但是只保存输入数据中最小的m组数据(m值由GF(q)决定,GF(64)时,m为8),也就是不管对多少组数进行排序,消耗的硬件资源不变;
输出模块,整理判决结果,为校验后的接收元素(即通过判决后的认为和发送端一致的数据)输出。
在本发明的另一较佳实施方式中,多进制LDPC译码方法,包括:
步骤101,输入元素初始化模块计算信息向量表Lj;
步骤102,变量节点更新模块通过使用c2v信息向量和排序模块更新v2c信息向量;
步骤103,校验节点更新模块通过使用v2c信息向量和排序模块更新c2v信息向量;
步骤104,根据c2v信息向量和原始概率通过排序模块得出迭代结果;
步骤105,判决模块将迭代结果和校验矩阵进行计算,如果满足结束条件则译码结束,否则回到步骤102;
步骤106,输出模块输出判决结果。
进一步地,步骤101,矩阵信息、各元素之间的对应关系预先存储在存储器内,计算时按照固定格式读取使用。
进一步地,步骤101包括:
根据接收到元素yj量化后的概率信息,计算出的每个元素的概率密度函数Lj,存入存储器并送入所述排序模块;
在n个Lj值计算完毕的同时,排序模块将输出n个结果中排序前m位的结果,作为Ljs,存入存储器。
进一步地,所述步骤102包括:
步骤1021,当迭代次数为0时,使用Ljs更新变量节点,经过换算得出的v2c信息向量存入存储器;
步骤1022,当迭代次数不为0时,使用c2v信息向量、Lj和Ljs更新变量节点,根据c2v信息向量中的m个概率元素和Ljs信息向量中的m个概率元素筛选,将最多2m个概率元素的计算值送入所述排序模块,并将排序前m位的结果作为v2c信息向量存入存储器。
进一步地,所述步骤103,包括:
计算得到每个c2v信息向量,由对应的三个v2c信息向量相加,每两个v2c信息向量的m个概率元素相加产生最多m2个概率元素排序;
对v2c信息向量使用简化计算量的方法进行排序;
将排序结果与第三个向量进行同样的相加操作,得到更新的c2v向量。
进一步地,v2c信息向量使用简化计算量的方法为:将两个相加的v2c信息向量概率元素分别用V2Cp,V2Cq表示,相加的结果为V2Cpq,可知V2C00是V2C(p=0)和V2C(q=0)相加的结果,必然是排序最小的值,将V2C00存入排序结果,V2Cp0(0<p<m)和V2C01写入排序模块。判断此时排序模块输出的V2Cp'q'最小值概率元素是否已存在与排序结果,不存在即存入排序结果,存在则丢弃,同时将V2Cp'(q'+1)写入排序模块。循环此操作直到得到m个概率元素不相同的排序结果。
进一步地,所述步骤104,包括:
概率元素的迭代结果(从步骤101-104,就是一次迭代)由对应列的c2v信息向量和原始概率信息决定,根据c2v信息向量中的m个概率元素和Ljs信息向量中的m个概率元素进行筛选,将最多3m个概率元素的计算值送入所述排序模块并将排序最小的元素作为迭代结果存入存储器。
进一步地,所述步骤105中所述结束条件为或到达迭代次数上限。
进一步地,所述排序模块为固定容量,且只有一个,不限制输入数据的次数,但是只保存输入数据中最小的m组数据。
本发明采用扩展最小和译码算法,提供了减少向量相加和排序开销的硬件实现方法。对速率要求不高的场景,通过分时共用一个排序模块,既可以暂存向量相加后的结果,又可以在计算过程中同步排序,最后只保留需要的排序结果。计算过程中除了使用存储器存放每次的校验节点,变量节点更新内容外,其余操作使用逻辑电路
对于一个GF(64)域,3比特量化,200个输入元素的LDPC译码模块,最终使用的硬件资源为32*1KROM,64*4K SRAM,9983个逻辑单元和2016个触发器。若工作在160M时钟频率下,完成一次10次迭代的译码大概需要2.5ms。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
图1是LDPC码的Tanner图表示方法
图2是GF(64)域信息向量的计算过程示意图;
图3是GF(64)域信息向量相加的过程示意图
图4是本发明的一个较佳实施例的模块结构示意图;
图5是本发明实施实例中排序模块的使用方法一;
图6是本发明实施示例中排序模块的使用方法二。
具体实施方式
以下参考说明书附图介绍本发明的多个优选实施例,使其技术内容更加清楚和便于理解。本发明可以通过许多不同形式的实施例来得以体现,本发明的保护范围并非仅限于文中提到的实施例。
在附图中,结构相同的部件以相同数字标号表示,各处结构或功能相似的组件以相似数字标号表示。附图所示的每一组件的尺寸和厚度是任意示出的,本发明并没有限定每个组件的尺寸和厚度。为了使图示更清晰,附图中有些地方适当夸大了部件的厚度。
下面通过使用本发明对北斗导航系统B-CNAV1子帧2进行LDPC译码为实例进行说明。LDPC码类型为GF(64)域LDPC(200,100),3比特量化。
如图4所述,北斗导航系统B-CNAV1子帧2的LDPC译码系统包括:
输入元素初始化模块,计算64个有限域元素x∈GF(64)对应的LLR值组成Lj写入存储器;
判决模块,用于判断迭代后的结果是否满足校验,并将判决结果存入存储器;
变量节点更新模块,更新变量节点信息向量的值,并存入存储器;
校验节点更新模块,更新校验节点信息向量的值,并存入存储器;
排序模块,共有8组数据和序号寄存器,根据每次输入的数据与现存数据的大小,决定输入的数据和序号保存位置,多余的数据将被丢弃,保存数据最小的8组数据和对应序号作为Ljs写入存储器,排序模块如图5所示;
输出模块,整理判决结果,为校验后的接收元素输出。
北斗导航系统B-CNAV1子帧2的LDPC译码方法,包括:
步骤101,输入元素初始化模块计算元素yj的信息向量表,yj共有6比特,硬判决的值和每一比特的概率值yj.b已经在信道传输中经过量化并通过总线写入了存储器;计算64个有限域元素x∈GF(64)对应的LLR值组成Lj写入存储器,将每次的元素x作为排序模块的序号输入,LLR(x)作为排序模块的数据输入;
x作为GF(64)域元素有两种表示方法,指数表示法和实数表示法。计算LLR值时,使用实数表示法的二进制数,而排序和最后存储时使用指数表示法的二进制数,这两种表示法的转换预先存储;
共计算200个元素的信息向量表Lj和Ljs。
步骤1021,迭代次数为0,变量节点更新模块更新所有变量节点的值,共有200个变量节点,每个变量节点和2个校验节点有连接关系,因此v2c信息向量共有400个。这400条边起始变量节点位置j和校验矩阵值hi,j都已预先存储,计算V2Cj->i=Ljs·hi,j。这里相乘运算是指Ljs的元素x和hi,j进行GF(64)有限域乘法,GF(64)域的乘法可以用指数表示法的加法实现,因此hi,j也使用指数表示法存储。
步骤103,校验节点更新模块更新所有校验节点的值,共有100个校验节点,每个校验节点和4个变量节点有连接关系,因此c2v信息向量共有400个。计算也就是将除了变量节点j以外的和校验节点相连的三个v2c信息向量进行向量加法。
两个信息向量的加法通过对排序模块进行下列操作实现。将两个相加的信息向量元素分别用下标V2Cp,V2Cq表示,相加的结果为V2Cpq。将V2C00存入排序结果,V2Cp0(0<p<8)有确认的从小到大的排序关系,通过初始化直接送入排序模块,其中元素x作为排序模块的序号输入,LLR(x)作为排序模块的数据输入,p和q作为排序模块的两个附加序号输入。将V2C01写入排序模块根据LLR值排序,判断此时排序模块输出的V2Cp'q'最小值元素是否已存在与排序结果,不存在即存入排序结果,存在则丢弃。将去掉最小值元素的输出结果重新通过初始化送入排序模块。根据刚才读出的最小值元素对应的两个附加序号p'和q'将V2Cp'(q'+1)写入排序模块。循环此操作直到得到8个元素不相同的排序结果。排序模块使用如图6所示。
信息向量中元素x相加使用实数表示法,进行GF(64)域加法运算。
步骤104,排序模块计算迭代结果,迭代结果的计算根据和变量节点相连的两个c2v信息向量和原始概率决定,c2v信息向量的位置以及对应的校验矩阵非零值的逆都已预先存储。计算也就是两个c2v信息向量中元素x进行GF(64)域乘法后和Lj中相同元素x的LLR(x)全部相加后排序。
为了减化计算,按如下原则选择送入排序模块的数据,将两个完成GF(64)域乘法的信息向量元素分别用下标C2Vp,C2Vq表示。
先判断C2Vp=0的元素x是否存在于C2Vq,如不存在则使用C2Vq=7的LLR(x)值加一个固定偏移来代替第二个LLR值,然后查找该元素是否存在于Ljs,不存在则到Lj中查找对应第三个LLR值。元素x作为排序模块的序号输入,三个LLR值相加得到LLR(x)作为排序模块的数据输入。依次完成8个C2Vp元素的计算。
取C2Vq中余下未被排序的元素,使用C2Vp=7的LLR(x)值加一个固定偏移来代替第二个LLR值,然后查找该元素是否存在于Ljs,不存在则到Lj中查找对应第三个LLR值。元素x作为排序模块的序号输入,三个LLR值相加得到LLR(x)作为排序模块的数据输入。
取Ljs中余下未被排序的元素,使用C2Vp=7的LLR(x)值加一个固定偏移来代替第二个LLR值,使用C2Vq=7的LLR(x)值加一个固定偏移来代替第三个LLR值。元素x作为排序模块的序号输入,三个LLR值相加得到LLR(x)作为排序模块的数据输入。
由于C2Vp,C2Vq和Ljs中元素可能相同,因此上述步骤最多对排序模块操作24次。最后取排序模块输出的LLR值最小的元素为
步骤105,判决模块计算依次计算校验矩阵每一行四个非零值和对应元素的积和结果,一旦有一行计算值不为0,则校验失败。结束计算迭代次数加一,迭代次数到达上限则结束整个译码过程,否则继续步骤1022。
步骤1022,迭代次数不为0,更新所有变量节点的值。每条边的v2c信息向量由它相关的变量节点相连的两一条边的c2v信息向量和原始概率决定。c2v信息向量的位置和对应的校验矩阵非零值hi,j及逆都已预先存储。计算也就是c2v信息向量中元素x进行GF(64)域乘法后和Lj中相同元素x的LLR(x)相加后排序。
和步骤104的方法类似,查找c2v信息向量元素是否存在于Ljs,不存在则到Lj中查找对应第二个LLR值。元素x作为排序模块的序号输入,二个LLR值相加得到LLR(x)作为排序模块的数据输入。
取Ljs中余下未被排序的元素,使用c2v信息向量中最大的LLR(x)值加一个固定偏移来代替第二个LLR值。元素x作为排序模块的序号输入,二个LLR值相加得到LLR(x)作为排序模块的数据输入。
上述步骤最多对排序模块操作16次。最后取排序模块输出的8组值和hi,j相乘作为更新的v2c信息向量。更新完所有v2c信息向量后跳转到步骤103。
步骤106,如果步骤105中校验通过,将作为校验结果输出。
综上所述,运用本发明的实现方法重点在于排序模块的设计,排序模块可以一次性写入已知排序关系的最多8组数据,也可以不限次数写入1组未知排序位置的数据,输出最多8组排序后的数据。通过分时共用一个排序模块,用尽量少的资源完成各个步骤信息向量的更新和排序。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
Claims (10)
1.一种多进制LDPC译码系统,其特征在于,包括
输入元素初始化模块,用于计算接收到元素的初始LLR,并存入存储器,在每一次变量节点更新以及判决中使用;
判决模块,用于判断迭代后的结果是否满足校验,并将判决结果存入存储器;
变量节点更新模块,更新变量节点信息向量的值,并存入存储器;
校验节点更新模块,更新校验节点信息向量的值,并存入存储器;
排序模块,供输入元素初始化模块、判决模块、变量节点更新模块和校验节点更新模块涉及排序功能时使用,保存输入数据中最小的m组数据;
输出模块,整理判决结果,为校验后的接收元素输出。
2.如权利要求1所述的多进制LDPC译码系统,其特征在于,所述排序模块为固定容量,且只有一个,不限制输入数据的次数,只保存输入数据中最小的m组数据。
3.一种基于如权利要求1或者2所述的多进制LDPC译码系统的多进制LDPC译码方法,其特征在于,包括:
步骤101,输入元素初始化模块计算信息向量表Lj;
步骤102,变量节点更新模块通过使用c2v信息向量和排序模块更新v2c信息向量;
步骤103,校验节点更新模块通过使用v2c信息向量和排序模块更新c2v信息向量;
步骤104,根据c2v信息向量和原始概率通过排序模块得出迭代结果;
步骤105,判决模块将迭代结果和校验矩阵进行计算,如果满足结束条件则译码结束,否则回到步骤102;
步骤106,输出模块输出判决结果。
4.如权利要求3所述的多进制LDPC译码方法,其特征在于,所述步骤101,矩阵信息,各元素之间的对应关系预先存储在存储器内,计算时按照固定格式读取使用。
5.如权利要求3所述的,其特征在于,所述步骤101包括:
根据接收到元素yj量化后的概率信息,计算出的每个元素的概率密度函数Lj,存入存储器并送入所述排序模块;
所述排序模块将排序前m位的Lj作为Ljs存入存储器。
6.如权利要求3所述的多进制LDPC译码方法,其特征在于,所述步骤102包括:
当迭代次数为0时,使用Ljs更新变量节点,经过换算得出新的v2c信息向量存入存储器;
当迭代次数不为0时,使用c2v信息向量、Lj和Ljs更新变量节点,根据c2v信息向量中的m个元素和Ljs信息向量中的m个元素筛选,将最多2m个元素的计算值送入所述排序模块,并将排序前m位的结果作为v2c信息向量存入存储器。
7.如权利要求3所述的多进制LDPC译码方法,其特征在于,所述步骤103,包括:
计算得到每个c2v信息向量,由对应的三个v2c信息向量相加,每两个v2c信息向量的m个元素相加产生最多m2个元素排序;
对v2c信息向量使用简化计算量的方法进行排序;
将排序结果与第三个向量进行同样的相加操作,得到更新的c2v向量。
8.如权利要求7所述的多进制LDPC译码方法,其特征在于,所述v2c信息向量使用简化计算量的方法为:将两个相加的v2c信息向量元素分别用V2Cp,V2Cq表示,相加的结果为V2Cpq,可知V2C00必然是排序最小的值,将V2C00存入排序结果,V2Cp0(0<p<m)和V2C01写入排序模块;判断此时排序模块输出的V2Cp'q'最小值元素是否已存在与排序结果,不存在即存入排序结果,存在则丢弃,同时将V2Cp'(q'+1)写入排序模块;循环此操作直到得到m个元素不相同的排序结果。
9.如权利要求3所述的多进制LDPC译码方法,其特征在于,所述步骤104,包括:
元素的迭代结果由对应列的c2v信息向量和原始概率信息决定,根据c2v信息向量中的m个元素和Ljs信息向量中的m个元素进行删选,将最多3m个元素的计算值送入所述排序模块并将排序最小的元素作为迭代结果存入存储器。
10.如权利要求3所述的多进制LDPC译码方法,其特征在于,所述步骤105中所述结束条件为或到达迭代次数上限。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811623170.XA CN109802688B (zh) | 2018-12-28 | 2018-12-28 | 一种多进制ldpc译码系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811623170.XA CN109802688B (zh) | 2018-12-28 | 2018-12-28 | 一种多进制ldpc译码系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109802688A true CN109802688A (zh) | 2019-05-24 |
CN109802688B CN109802688B (zh) | 2023-05-26 |
Family
ID=66557940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811623170.XA Active CN109802688B (zh) | 2018-12-28 | 2018-12-28 | 一种多进制ldpc译码系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109802688B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113271109A (zh) * | 2021-04-19 | 2021-08-17 | 武汉梦芯科技有限公司 | 一种ldpc译码过程中迭代循环数据存储方法及系统 |
CN113285723A (zh) * | 2021-04-26 | 2021-08-20 | 武汉梦芯科技有限公司 | 一种ldpc译码过程中校验节点更新方法、系统及存储介质 |
CN113411087A (zh) * | 2021-06-30 | 2021-09-17 | 展讯半导体(成都)有限公司 | 解码q元LDPC的方法、电路及包括其的接收机 |
CN114421972A (zh) * | 2022-01-27 | 2022-04-29 | 石家庄市经纬度科技有限公司 | 一种多进制ldpc码译码方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130246894A1 (en) * | 2012-03-15 | 2013-09-19 | David Declercq | Decoding method and apparatus for non-binary, low-density, parity check codes |
US20130275827A1 (en) * | 2012-04-12 | 2013-10-17 | Lsi Corporation | Multi-Section Non-Binary LDPC Decoder |
CN104052496A (zh) * | 2013-03-15 | 2014-09-17 | Lsi公司 | 基于最小和的混合非二进制低密度奇偶校验解码器 |
US20160191079A1 (en) * | 2014-12-24 | 2016-06-30 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Low Dynamic Power Check Node Processor For Low Density Parity Check Decoder |
CN108092671A (zh) * | 2017-12-27 | 2018-05-29 | 南京大学 | 一种高性能低复杂度的nb-ldpc码译码方法 |
CN108933603A (zh) * | 2018-02-28 | 2018-12-04 | 和芯星通科技(北京)有限公司 | 一种实现校验节点处理的方法及装置 |
-
2018
- 2018-12-28 CN CN201811623170.XA patent/CN109802688B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130246894A1 (en) * | 2012-03-15 | 2013-09-19 | David Declercq | Decoding method and apparatus for non-binary, low-density, parity check codes |
US20130275827A1 (en) * | 2012-04-12 | 2013-10-17 | Lsi Corporation | Multi-Section Non-Binary LDPC Decoder |
CN104052496A (zh) * | 2013-03-15 | 2014-09-17 | Lsi公司 | 基于最小和的混合非二进制低密度奇偶校验解码器 |
US20160191079A1 (en) * | 2014-12-24 | 2016-06-30 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Low Dynamic Power Check Node Processor For Low Density Parity Check Decoder |
CN108092671A (zh) * | 2017-12-27 | 2018-05-29 | 南京大学 | 一种高性能低复杂度的nb-ldpc码译码方法 |
CN108933603A (zh) * | 2018-02-28 | 2018-12-04 | 和芯星通科技(北京)有限公司 | 一种实现校验节点处理的方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113271109A (zh) * | 2021-04-19 | 2021-08-17 | 武汉梦芯科技有限公司 | 一种ldpc译码过程中迭代循环数据存储方法及系统 |
CN113285723A (zh) * | 2021-04-26 | 2021-08-20 | 武汉梦芯科技有限公司 | 一种ldpc译码过程中校验节点更新方法、系统及存储介质 |
CN113411087A (zh) * | 2021-06-30 | 2021-09-17 | 展讯半导体(成都)有限公司 | 解码q元LDPC的方法、电路及包括其的接收机 |
CN113411087B (zh) * | 2021-06-30 | 2023-05-09 | 展讯半导体(成都)有限公司 | 解码q元LDPC的方法、电路及包括其的接收机 |
CN114421972A (zh) * | 2022-01-27 | 2022-04-29 | 石家庄市经纬度科技有限公司 | 一种多进制ldpc码译码方法 |
CN114421972B (zh) * | 2022-01-27 | 2022-11-22 | 石家庄市经纬度科技有限公司 | 一种多进制ldpc码译码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109802688B (zh) | 2023-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109802688A (zh) | 一种多进制ldpc译码系统和方法 | |
KR100945991B1 (ko) | Ldpc 부호화 방식에 의한 인코더 및 디코더 | |
CN105720992B (zh) | 一种极化码的简化译码方法 | |
KR100881889B1 (ko) | 저밀도 패리티 검사(ldpc) 코드들에 대한 계층화된디코딩 방식의 개선 | |
CN1953336B (zh) | 在低密度奇偶校验解码器中更新校验节点的方法 | |
RU2391774C2 (ru) | Устройство декодирования и устройство приема | |
CN106464268A (zh) | 非二进制ldpc码的解码 | |
WO2017113507A1 (zh) | 一种集合译码方法和集合译码器 | |
CN107404321A (zh) | 用于纠错码解码的方法和设备 | |
CN113783576A (zh) | 用于从循环置换矩阵的集群构建的准循环低密度奇偶校验码的垂直分层解码的方法及设备 | |
CN100578945C (zh) | 一种ldpc码的译码器装置及译码方法 | |
CN102412844A (zh) | 一种ira类ldpc码的译码方法及译码装置 | |
Shi et al. | Enhanced successive cancellation list decoding of polar codes | |
US11201629B2 (en) | Low latency sequential list decoding of polar codes | |
Sala et al. | On nonuniform noisy decoding for LDPC codes with application to radiation-induced errors | |
CN116707707A (zh) | 联合极化检测译码方法及相关设备 | |
CN111130567A (zh) | 添加噪声扰动和比特翻转的极化码置信传播列表译码方法 | |
Garcia-Herrero et al. | Architecture of generalized bit-flipping decoding for high-rate non-binary LDPC codes | |
CN113055029A (zh) | 一种可复用资源的系统极化码编译码一体化装置及编译码方法 | |
CN112332859B (zh) | 低复杂度的多元ldpc码校验节点单元及数字通信设备 | |
CN106508094B (zh) | 一种低复杂度的低密度奇偶校验码译码方法及译码器装置 | |
D'Elia | Quantization Reconstruction Based LDPC Decoders | |
Yuan et al. | Guessing Random Additive Noise Decoding with Quantized Soft Information | |
CN112242851A (zh) | 一种ldpc码的分层译码中迭代数据处理方法及译码器系统 | |
Maumela | Investigating the Optimal Neural Network Parameters for Decoding |
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 |