一种应用于半并行ldpc译码器的译码方法及装置
技术领域
1.本发明涉及数字信息传输技术领域,特别是涉及一种应用于半并行ldpc译码器的译码方法及装置。
背景技术:
2.ldpc(1ow density parity check,低密度奇偶校验码)能够获得逼近香农限的误码性能,被广泛应用于深空通信、卫星数字视频、移动无线通信等领域。
3.ldpc码的译码算法种类很多,本质上大都是基于tanner图的消息传递译码算法。根据消息迭代过程中传送消息的不同形式,可以将ldpc码的译码方法分为硬判决译码和软判决译码。主要的硬判决译码算法有比特翻转算法(bf)、加权的比特翻转算法(wbf)等;软译码算法主要有迭代结构的置信传播算法(bp),也称为和积算法(spa)。ldpc译码器结构可以选择采用全串行、全并行或半并行结构。其中全串行的ldpc译码器使用一个校验节点更新单元与一个变量节点更新单元,分别依此遍历所有节点,其优点是消耗资源少,功耗低,运算单元与储存器之间连线简单;缺点是译码时延长,不适合高速译码需求的场合。全并行译码器中,所有校验节点和变量节点的遍历过程在同时刻发生,译码速度快,资源消耗也大,只适合用在对译码速度要求极高的中短码长的译码。
技术实现要素:
4.针对于上述问题,本发明提供一种应用于半并行ldpc译码器的译码方法及装置,实现了降低资源开销,应用场景更广阔的目的。
5.为了实现上述目的,本发明提供了如下技术方案:
6.一种应用于半并行ldpc译码器的译码方法,包括:
7.获取ldpc译码关联参数,并将所述关联参数配置到半并行ldpc译码器,以使得所述半并行ldpc译码器进入执行对待译码数据的工作状态;
8.获取所述待译码数据的第一信息,并利用所述第一信息进行校验节点更新处理,得到更新后的校验节点值,所述第一信息包括每行的行重数信息和每行的有效变量节点的列标地址参数以及变量节点值;
9.并且,基于更新后的校验节点值、所述行重信息和有效校验节点的索引位置信息对变量节点进行变量节点更新处理,获得更新后的变量节点;
10.基于更新后的变量节点进行译码校验处理,得到译码结果。
11.可选地,所述关联参数包括:
12.最大行重数配置参数、最大列重数配置参数、每行的行重数配置参数、每行的列重数配置参数、每行的有效变量节点位置配置参数、每列的有效检验节点位置参数、码长配置参数和校验方程配置参数中的一种或多种。
13.可选地,所述利用所述第一信息进行校验节点更新处理,得到更新后的校验节点值,包括:
14.根据所述行重数信息和每行的有效节点信息,查询得到本次更新校验节点信息对应的每行的每轮变量节点概率信息;
15.将所述变量节点概率信息减去译码软字节数据,获得中间信号;
16.对所述中间信号进行累乘处理得到第一结果,并且基于所述中间信号获取最小值,获得第二结果;
17.将所述第一结果和第二结果进行相乘,并将相乘结果乘以修正因子,获得更新后的校验节点值。
18.可选地,还包括:
19.将所述更新后的校验节点值进行存储,以获得所述待译码数据对应的目标矩阵中有效节点的存储信息。
20.可选地,所述基于更新后的校验节点值、所述行重信息和有效校验节点的索引位置信息对变量节点进行变量节点更新处理,获得更新后的变量节点,包括:
21.基于更新后的校验节点值、所述行重信息和有效校验节点的索引位置信息,对变量节点进行累加操作获得累加结果;
22.将待译码数据添加到对应变量节点索引位置,并基于所述累加结果进行变量节点更新操作,获得更新后的变量节点。
23.可选地,还包括:
24.将所述更新后的变量节点存储至用于存储每轮迭代更新后的变量节点概率信息中,获得变量节点概率信息。
25.可选地,所述基于更新后的变量节点进行译码校验处理,得到译码结果,包括:
26.获取更新后的变量节点对应的前级输入的变量节点概率信息值,并将所述变量节点概率信息值小于0的转换为1,剩余的转换为0,得到转换后的变量节点概率信息;
27.若转换后的变量节点概率信息对应的有效标识信号拉高时,获取每一拍更新每列的列重以及每列行位置的索引值;
28.根据所述每列行位置的索引值将内部缓存的数据读取出,并与对应的输入概率信息进行运算,将获得的索引信息写回对应的索引位置;
29.响应于基于索引写回对应的处理使得输入数据全部计算完成时,对内部缓存数据进行验证,若全是0,输出译码成功信号,并输出缓存的转化后的有效数据;
30.若不全是0,检查当前迭代轮数是否等于设置的迭代次数,如果是,输出译码成功信号,并输出缓存的转化后的有效数据;
31.若不等于设置的迭代次数,仅输出译码成功信号。
32.一种应用于半并行ldpc译码器的译码装置,包括:
33.配置单元,用于获取ldpc译码关联参数,并将所述关联参数配置到半并行ldpc译码器,以使得所述半并行ldpc译码器进入执行对待译码数据的工作状态;
34.第一处理单元,用于获取所述待译码数据的第一信息,并利用所述第一信息进行校验节点更新处理,得到更新后的校验节点值,所述第一信息包括每行的行重数信息和每行的有效变量节点的列标地址参数以及变量节点值;
35.并且,第二处理单元,用于基于更新后的校验节点值、所述行重信息和有效校验节点的索引位置信息对变量节点进行变量节点更新处理,获得更新后的变量节点;
36.译码单元,用于基于更新后的变量节点进行译码校验处理,得到译码结果。
37.一种存储介质,所述存储介质存储有可执行指令,所述指令被处理器执行时实现如上述任意一项所述的应用于半并行ldpc译码器的译码方法。
38.一种电子设备,包括:
39.存储器,用于存储程序;
40.处理器,用于执行所述程序,所述程序具体用于实现如上述中任意一项所述的应用于半并行ldpc译码器的译码方法。
41.相较于现有技术,本发明提供了一种应用于半并行ldpc译码器的译码方法及装置,包括:获取ldpc译码关联参数,并将关联参数配置到半并行ldpc译码器,以使得半并行ldpc译码器进入执行对待译码数据的工作状态;获取待译码数据的第一信息,并利用第一信息进行校验节点更新处理,得到更新后的校验节点值,第一信息包括每行的行重数信息和每行的有效变量节点的列标地址参数以及变量节点值;并且,基于更新后的校验节点值、行重信息和有效校验节点的索引位置信息对变量节点进行变量节点更新处理,获得更新后的变量节点;基于更新后的变量节点进行译码校验处理,得到译码结果。本发明实现了译码器关联参数的可配置,以及校验节点更新和变量节点更新的相互独立使得行列更新同步,实现了降低资源开销,应用场景更广阔的目的。
附图说明
42.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
43.图1为本发明实施例提供的一种应用于半并行ldpc译码器的译码方法的流程示意图;
44.图2为本发明实施例提供的一种在不同条件下的译码效果的示意图;
45.图3为本发明实施例提供的一种应用于半并行ldpc译码器的译码装置的结构示意图。
具体实施方式
46.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
47.本发明的说明书和权利要求书及上述附图中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有设定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
48.在本发明实施例中提供了一种应用于半并行ldpc译码器的译码方法,该方法是基于和积算法(spa)进行实现的,在本发明实施例中ldpc译码的校验矩阵h是一个m行n列的准
循环矩阵,由j*k(j=m/z,k=n/z)块z*z循环子矩阵组成。
49.为了便于迭代结构的置信传播算法(bp),进行如下符号的定义:
50.h
ji
表示校验矩阵h中第j行第i列的元素;
[0051]vj
所有与第j个校验节点fj相连的变量节点的结合;
[0052]vj\i
除变量节点外ci,所有与第j个校验节点fj相连的变量节点的结合;
[0053]ci
所有与第i个变量节点ci相连的校验节点的结合;
[0054]ci\j
除校验节点外fj,所有与第i个变量节点ci相连的校验节点的结合;
[0055]
p
ib
=pr(ci=b|yi)表示根据接收信号值y和信道特性得出的ci取值为b的概率,其中b∈{0,1};易知p
i0
+p
i1
=1,p
ib
可以看做是变量节点ci的先验概率;
[0056]qij
(b)表示基于校验节点集合c
i\j
得出的第i个变量节点ci=b的概率,显然q
ij
(0)+q
ij
(1)=1,q
ij
(b)可以看做变量节点ci向校验节点fj传递的消息;
[0057]rji
(b)表示在给定ci=b以及其他变量节点的概率分布{q
i'j
(b):i'∈v
j\i
}时,第j个校验方程成立的条件概率。r
ji
(b)可以看成是校验节点fj向变量节点ci传递的消息。
[0058]
频率域上的spa算法可以分为以下步骤:
[0059]
(1)初始化,对特定的信道预设信息比特的先验概率:
[0060][0061][0062]
(2)水平迭代过程(更新校验节点),计算:
[0063][0064]rji
(1)=1-r
ji
(0)
[0065]
观察校验方程的表达式,可以发现校验矩阵某行所对应的校验方程成立的条件是:参与该校验方程的变量节点中必须有偶数个“1”。因此如果ci=0,为了满足第j个校验方程,则{c
i'
:i'∈v
j\i
}必须包含有偶数个“1”。
[0066]
(3)垂直迭代过程(更新变量节点),计算:
[0067][0068][0069]
其中,k
ij
为使q
ij
(0)+q
ij
(1)=1的系数。
[0070]
(4)计算第i个变量节点的后验概率:
[0071][0072][0073]
其中,ki为使qi(0)+qi(1)=1的系数。
[0074]
(5)硬判决与迭代停止校验:
[0075][0076]
对每一位比特ci,i=1,2,
…
,n,如果qi(0)>0.5时,则否则计算伴随式如果s=0,说明译码成功,则停止译码,并将的值作为译码结果输出;否则,转步骤(2)继续迭代,如果迭代次数已达到事先设定的最大迭代次数还未成功译码,则译码结束并宣告译码失败,将最后一次迭代的值作为输出。
[0077]
将概率消息用对数似然比(log-likelihood ratio,llr)表示,则可以由概率域spa算法得到对数域spa译码算法。在对数域中进行译码有两个优点:一是可以将概率域中大量的乘法运算转化为对数域中的加法运算;二是省去了系数归一化的步骤,提高了计算的稳定性。
[0078]
进一步,本发明提出一种参数可配置的半并行ldpc译码器结构,能够降低资源开销,而且在一定条件下支持多种矩阵h生成矩阵类型的灵活配置,使得应用场景更广阔。
[0079]
参见图1,为本发明实施例提供的一种应用于半并行ldpc译码器的译码方法的流程示意图,可以包括以下步骤:
[0080]
s101、获取ldpc译码关联参数,并将所述关联参数配置到半并行ldpc译码器。
[0081]
可以根据实际的应用场景,将ldpc译码相关参数配置到该半并行ldpc译码器。其中,所述关联参数包括:最大行重数配置参数、最大列重数配置参数、每行的行重数配置参数、每行的列重数配置参数、每行的有效变量节点位置配置参数、每列的有效检验节点位置参数、码长配置参数和校验方程配置参数中的一种或多种。
[0082]
假设码长为h阵,维数为nxk,分块准循环阵为lxl方阵,若设计复用指数为l,则需要水平运算单元(hpu)个k/l,垂直运算单元(vpu)n/l个。由于在本发明实施例中可以基于选择的关联参数实现半并行ldpc译码器的配置,以使得所述半并行ldpc译码器进入执行对待译码数据的工作状态。具体的可以实现:支持最大行重数可配(最大值小于等于k);支持最大列重数可配(最大值小于等于j);支持每行的行重数可配置;支持每列的列重数可配置;支持每行的有效变量节点位置可配置;支持每列的有效检验节点位置可配置;支持码长n可配置;支持校验方程数m可配置。
[0083]
需要说明的是,本发明实施例中的译码器结构对于特定的校验矩阵使需要保存其有效节点的索引位置信息:对应行中值为1的列标地址和对应列中值为1的行标地址,为每个循环子矩阵单独分配储存空间(ram深度为z),根据准循环阵的特点,不会出现地址冲突的现象;另外需要保存码长n个列重指示和校验方程数m个行重指示。根据准循环阵的特点,通过列重指示和行标地址即可确定当前校验节点更新计算使用的节点信息来自校验矩阵的哪个位置。同样在进行变量节点更新时是类似的。
[0084]
例如对于某种2/3码率,码长3072,校验方程数为1024,准循环矩阵为128*128的ldpc码,结合该ldpc码矩阵的特点配置译码器。可配置每行的行重数(支持每行行重数可不同),配置每列的列重数(支持每列列重数可不同),每行有效变量节点的位置,以及每列的有效检验节点位置。并将码长n配置为3072,校验方程个数m配置为1024即可。
[0085]
配置完某种ldpc码参数完成后,即可开始该种h生成矩阵下的译码处理工作;在每次译码数据进来后,译码器会进初始化状态,初始化变量节点的先验概率信息;并将待译码
数据同时存入到rx_data_buf模块,其中,rx_data_buf模块主要完成输入译码软bit数据的缓存。
[0086]
s102、获取待译码数据的第一信息,并利用第一信息进行校验节点更新处理,得到更新后的校验节点值。
[0087]
其中,第一信息包括每行的行重数信息和每行的有效变量节点的列标地址参数以及变量节点值。
[0088]
在本发明实施例的一种实施方式中,所述利用所述第一信息进行校验节点更新处理,得到更新后的校验节点值,包括:根据所述行重数信息和每行的有效节点信息,查询得到本次更新校验节点信息对应的每行的每轮变量节点概率信息;将所述变量节点概率信息减去译码软字节数据,获得中间信号;对所述中间信号进行累乘处理得到第一结果,并且基于所述中间信号获取最小值,获得第二结果;将所述第一结果和第二结果进行相乘,并将相乘结果乘以修正因子,获得更新后的校验节点值。其中,第一结果是中间信号累乘结果,第二结果是取最小值后的结果。
[0089]
具体的,在译码器配置完成后,进入校验节点更新状态。在该状态中,先同时读出每行的行重数row_weight_rd_data和每行的有效变量节点的列标地址参数row_vp_index_rd_data以及变量节点值rx_rd_data(rx_data_buf模块缓存的输入软bit信息);用行重信息和每行的有效变量节点信息去查出本次更新校验节点信息时需要用到的每一行的每轮变量节点概率信息vp_data;然后用vp_data减去待译码软bit数据得到中间信号vp_sub_lq,对vp_sub_lq信号,一路取符号位进行累乘(异或实现),一路找出最小值β
i'j
(i'∈v
j\i
);最多支持n/z路同时进行,将各最小值模块的输出和其对应节点的符号累乘模块的输出相乘后(实现时不需要用乘法器),再乘以alpha修正因子后即为更新后校验节点值,即完成水平迭代过程(检验节点更新计算主要在check_point_calc模块完成,其中,check_point_calc模块用于完成水平迭代过程,即完成校验节点更新计算)。
[0090]
对应的,将更新后的校验节点值进行存储,以获得所述待译码数据对应的目标矩阵中有效节点的存储信息。即将更新后的值一路写回cp_vp_memory模块,一路给垂直迭代(更新变量节点)计算模块。其中,cp_vp_memory模块用于完成h矩阵中有效节点信息的存储。
[0091][0092]
α
mn
=sgn(q
mn
);β
mn
=abs(q
mn
)
·
[0093]
s103、基于更新后的校验节点值、所述行重信息和有效校验节点的索引位置信息对变量节点进行变量节点更新处理,获得更新后的变量节点。
[0094]
在校验节点按行更新的同时,其实变量节点的更新操作可以流水式的并行进行。在本发明实施例的一种实施方式中,所述基于更新后的校验节点值、所述行重信息和有效校验节点的索引位置信息对变量节点进行变量节点更新处理,获得更新后的变量节点,包括:基于更新后的校验节点值、所述行重信息和有效校验节点的索引位置信息,对变量节点进行累加操作获得累加结果;将待译码数据添加到对应变量节点索引位置,并基于所述累加结果进行变量节点更新操作,获得更新后的变量节点。
[0095]
具体的,varient_point_calc模块(varient_point_calc模块用于完成返回值迭
代过程,即完成变量节点更新计算。)在收到更新后的校验节点值后,结合行重信息以及有效校验节点的索引位置信号,就可对变量节点进行累加操作,然后再将原始待译码数据(rx_data_buf)也加到对应变量节点索引位置,从而完成了变量节点更新操作;将所述更新后的变量节点存储至用于存储每轮迭代更新后的变量节点概率信息中,获得变量节点概率信息,即写到用于存储每轮迭代更新后的变量节点概率信息vp_data中,一路送给译码模块(decode_out模块用于完成译码判决处理)。
[0096]
s104、基于更新后的变量节点进行译码处理,得到译码结果。
[0097]
在本技术实施例中进行译码处理主要是完成本轮迭代结果的最终译码校验处理。
[0098]
对应的,在一种可能的实施方式中,所述基于更新后的变量节点进行译码校验处理,得到译码结果,包括:获取更新后的变量节点对应的前级输入的变量节点概率信息值,并将所述变量节点概率信息值小于0的转换为1,剩余的转换为0,得到转换后的变量节点概率信息;若转换后的变量节点概率信息对应的有效标识信号拉高时,获取每一拍更新每列的列重以及每列行位置的索引值;根据所述每列行位置的索引值将内部缓存的数据读取出,并与对应的输入概率信息进行运算,将获得的索引信息写回对应的索引位置;响应于基于索引写回对应的处理使得输入数据全部计算完成时,对内部缓存数据进行验证,若全是0,输出译码成功信号,并输出缓存的转化后的有效数据;若不全是0,检查当前迭代轮数是否等于设置的迭代次数,如果是,输出译码成功信号,并输出缓存的转化后的有效数据;若不等于设置的迭代次数,仅输出译码成功信号,不输出缓存的转换后的有效数据,至此,译码器结束译码。其中,“一拍”指的是数字电路中的时钟的一个周期,也被称为每一个时钟周期。转换后的变量节点概率信息对应的有效标识信号拉高时,是指变量节点概率信息对应的有效标识信号处于高电平1。
[0099]
本发明通过对行重信息、有效校验节点的索引位置信号和有效变量节点的索引位置信号的储存。即为校验节点更新和变量节点累加分配了独立的地址储存空间,在设计上保证校验节点更新和变量节点累加时可以并行进行。使得变量节点的累加在上一拍校验节点计算完成后进行对应垂直方向的累加,避免了等待所有变量节点更新完成再进行校验节点更新的时间。一次译码迭代的时间仅为m+n拍。并且,只存储有效校验节点信息相比于存储原始矩阵信息,大大减小存储量可以节省出不少存储资源,使得译码器在部分fpga中低端器件中也能够进行应用。另外,在有效校验节点的索引位置信号和有效变量节点的索引位置信号的独立储存的基础上,通过以子循环矩阵为单位的储存空间分配使得译码器的参数化配置十分灵活,在一定条件下无需下电即可以根据新的h矩阵进行动态热配置。使得应用场景比较广泛。
[0100]
参见图2,为本发明实施例提供的一种在不同条件下的译码效果的示意图。在图2中m=1024,n=3072。在实际应用场景中,例如对于某种2/3码率,码长3072,校验方程数为1024,准循环矩阵为128*128的ldpc码。相较于对比方案,本发明在ram消耗上将减少约50%。并且,通过对计算过程中节点值独立储存的优化设计方案,本发明支持多种生成矩阵的ldpc译码的灵活切换。例如,按照码长n,校验方程数为m,准循环矩阵为z*z的指标进行电路实现后,只需进行参数配置即可适配循环任意码长小于等于n、校验方程个数小于等于m、准循环阵维数小于等于z的任意满足ldpc编码规则的ldpc译码需求,无需针对不同的校验矩阵h进行重复的针对性开发,在工程应用上非常灵活方便,大大节约了成本减少了开发时
间。
[0101]
在本发明的另一实施例中还提供了一种应用于半并行ldpc译码器的译码装置,参见图3,包括:
[0102]
配置单元10,用于获取ldpc译码关联参数,并将所述关联参数配置到半并行ldpc译码器,以使得所述半并行ldpc译码器进入执行对待译码数据的工作状态;
[0103]
第一处理单元20,用于获取所述待译码数据的第一信息,并利用所述第一信息进行校验节点更新处理,得到更新后的校验节点值,所述第一信息包括每行的行重数信息和每行的有效变量节点的列标地址参数以及变量节点值;
[0104]
并且,第二处理单元30,用于基于更新后的校验节点值、所述行重信息和有效校验节点的索引位置信息对变量节点进行变量节点更新处理,获得更新后的变量节点;
[0105]
译码单元40,用于基于更新后的变量节点进行译码校验处理,得到译码结果。
[0106]
进一步地,所述关联参数包括:
[0107]
最大行重数配置参数、最大列重数配置参数、每行的行重数配置参数、每行的列重数配置参数、每行的有效变量节点位置配置参数、每列的有效检验节点位置参数、码长配置参数和校验方程配置参数中的一种或多种。
[0108]
可选地,所述第一处理单元具体用于:
[0109]
根据所述行重数信息和每行的有效节点信息,查询得到本次更新校验节点信息对应的每行的每轮变量节点概率信息;
[0110]
将所述变量节点概率信息减去译码软字节数据,获得中间信号;
[0111]
对所述中间信号进行累乘处理得到第一结果,并且基于所述中间信号获取最小值,获得第二结果;
[0112]
将所述第一结果和第二结果进行相乘,并将相乘结果乘以修正因子,获得更新后的校验节点值。
[0113]
可选地,还包括:
[0114]
第一存储单元,用于将所述更新后的校验节点值进行存储,以获得所述待译码数据对应的目标矩阵中有效节点的存储信息。
[0115]
进一步地,所述第二处理单元具体用于:
[0116]
基于更新后的校验节点值、所述行重信息和有效校验节点的索引位置信息,对变量节点进行累加操作获得累加结果;
[0117]
将待译码数据添加到对应变量节点索引位置,并基于所述累加结果进行变量节点更新操作,获得更新后的变量节点。
[0118]
可选地,还包括:
[0119]
第二存储单元,用于将所述更新后的变量节点存储至用于存储每轮迭代更新后的变量节点概率信息中,获得变量节点概率信息。
[0120]
进一步地,所述译码单元具体用于:
[0121]
获取更新后的变量节点对应的前级输入的变量节点概率信息值,并将所述变量节点概率信息值小于0的转换为1,剩余的转换为0,得到转换后的变量节点概率信息;
[0122]
若转换后的变量节点概率信息对应的有效标识信号拉高时,获取每一拍更新每列的列重以及每列行位置的索引值;
[0123]
根据所述每列行位置的索引值将内部缓存的数据读取出,并与对应的输入概率信息进行运算,将获得的索引信息写回对应的索引位置;
[0124]
响应于基于索引写回对应的处理使得输入数据全部计算完成时,对内部缓存数据进行验证,若全是0,输出译码成功信号,并输出缓存的转化后的有效数据;
[0125]
若不全是0,检查当前迭代轮数是否等于设置的迭代次数,如果是,输出译码成功信号,并输出缓存的转化后的有效数据;
[0126]
若不等于设置的迭代次数,仅输出译码成功信号。
[0127]
基于前述实施例,本技术的实施例提供了一种存储介质,所述存储介质存储有可执行指令,所述指令被处理器执行时实现如上述任意一项所述的应用于半并行ldpc译码器的译码方法。。
[0128]
本发明实施例还提供了一种电子设备,包括:
[0129]
存储器,用于存储程序;
[0130]
处理器,用于执行所述程序,所述程序具体用于实现如上述中任意一项所述的应用于半并行ldpc译码器的译码方法。
[0131]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0132]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
技术特征:
1.一种应用于半并行ldpc译码器的译码方法,其特征在于,包括:获取ldpc译码关联参数,并将所述关联参数配置到半并行ldpc译码器,以使得所述半并行ldpc译码器进入执行对待译码数据的工作状态;获取所述待译码数据的第一信息,并利用所述第一信息进行校验节点更新处理,得到更新后的校验节点值,所述第一信息包括每行的行重数信息和每行的有效变量节点的列标地址参数以及变量节点值;并且,基于更新后的校验节点值、所述行重信息和有效校验节点的索引位置信息对变量节点进行变量节点更新处理,获得更新后的变量节点;基于更新后的变量节点进行译码校验处理,得到译码结果。2.根据权利要求1所述的方法,其特征在于,所述关联参数包括:最大行重数配置参数、最大列重数配置参数、每行的行重数配置参数、每行的列重数配置参数、每行的有效变量节点位置配置参数、每列的有效检验节点位置参数、码长配置参数和校验方程配置参数中的一种或多种。3.根据权利要求1所述的方法,其特征在于,所述利用所述第一信息进行校验节点更新处理,得到更新后的校验节点值,包括:根据所述行重数信息和每行的有效节点信息,查询得到本次更新校验节点信息对应的每行的每轮变量节点概率信息;将所述变量节点概率信息减去译码软字节数据,获得中间信号;对所述中间信号进行累乘处理得到第一结果,并且基于所述中间信号获取最小值,获得第二结果;将所述第一结果和第二结果进行相乘,并将相乘结果乘以修正因子,获得更新后的校验节点值。4.根据权利要求3所述的方法,其特征在于,还包括:将所述更新后的校验节点值进行存储,以获得所述待译码数据对应的目标矩阵中有效节点的存储信息。5.根据权利要求3所述的方法,其特征在于,所述基于更新后的校验节点值、所述行重信息和有效校验节点的索引位置信息对变量节点进行变量节点更新处理,获得更新后的变量节点,包括:基于更新后的校验节点值、所述行重信息和有效校验节点的索引位置信息,对变量节点进行累加操作获得累加结果;将待译码数据添加到对应变量节点索引位置,并基于所述累加结果进行变量节点更新操作,获得更新后的变量节点。6.根据权利要求5所述的方法,其特征在于,还包括:将所述更新后的变量节点存储至用于存储每轮迭代更新后的变量节点概率信息中,获得变量节点概率信息。7.根据权利要求6所述的方法,其特征在于,所述基于更新后的变量节点进行译码校验处理,得到译码结果,包括:获取更新后的变量节点对应的前级输入的变量节点概率信息值,并将所述变量节点概率信息值小于0的转换为1,剩余的转换为0,得到转换后的变量节点概率信息;
若转换后的变量节点概率信息对应的有效标识信号拉高时,获取每一拍更新每列的列重以及每列行位置的索引值;根据所述每列行位置的索引值将内部缓存的数据读取出,并与对应的输入概率信息进行运算,将获得的索引信息写回对应的索引位置;响应于基于索引写回对应的处理使得输入数据全部计算完成时,对内部缓存数据进行验证,若全是0,输出译码成功信号,并输出缓存的转化后的有效数据;若不全是0,检查当前迭代轮数是否等于设置的迭代次数,如果是,输出译码成功信号,并输出缓存的转化后的有效数据;若不等于设置的迭代次数,仅输出译码成功信号。8.一种应用于半并行ldpc译码器的译码装置,其特征在于,包括:配置单元,用于获取ldpc译码关联参数,并将所述关联参数配置到半并行ldpc译码器,以使得所述半并行ldpc译码器进入执行对待译码数据的工作状态;第一处理单元,用于获取所述待译码数据的第一信息,并利用所述第一信息进行校验节点更新处理,得到更新后的校验节点值,所述第一信息包括每行的行重数信息和每行的有效变量节点的列标地址参数以及变量节点值;并且,第二处理单元,用于基于更新后的校验节点值、所述行重信息和有效校验节点的索引位置信息对变量节点进行变量节点更新处理,获得更新后的变量节点;译码单元,用于基于更新后的变量节点进行译码校验处理,得到译码结果。9.一种存储介质,其特征在于,所述存储介质存储有可执行指令,所述指令被处理器执行时实现如权利要求1-7中任意一项所述的应用于半并行ldpc译码器的译码方法。10.一种电子设备,其特征在于,包括:存储器,用于存储程序;处理器,用于执行所述程序,所述程序具体用于实现如权利要求1-7中任意一项所述的应用于半并行ldpc译码器的译码方法。
技术总结
本发明公开了一种应用于半并行LDPC译码器的译码方法及装置,包括:获取LDPC译码关联参数,并将关联参数配置到半并行LDPC译码器;获取待译码数据的第一信息,并利用第一信息进行校验节点更新处理,得到更新后的校验节点值;并且,基于更新后的校验节点值、行重信息和有效校验节点的索引位置信息对变量节点进行变量节点更新处理,获得更新后的变量节点;基于更新后的变量节点进行译码校验处理,得到译码结果。本发明实现了译码器关联参数的可配置,以及校验节点更新和变量节点更新的相互独立使得行列更新同步,实现了降低资源开销,应用场景更广阔的目的。用场景更广阔的目的。用场景更广阔的目的。
技术研发人员:韩振江 魏琨 梁泽溢
受保护的技术使用者:大唐联诚信息系统技术有限公司
技术研发日:2021.12.07
技术公布日:2022/3/8