解码q元LDPC的方法、电路及包括其的接收机技术

技术编号:30098391 阅读:15 留言:0更新日期:2021-09-18 09:02
本发明专利技术实施例提供一种解码q元LDPC的方法、电路及包括其的接收机。解码q元LDPC的方法包括,基于校验矩阵的n列执行n轮运算而获得所有的v2c_code值和所有的v2c_llr值,从而完成校验矩阵中所有校验节点的更新;基于校验矩阵的k行执行k轮运算而获得所有的c2v_code值和所有的c2v_llr值,从而完成校验矩阵中所有变量节点的更新;基于校验矩阵的n列执行n轮运算而获得所有的码字,将其表示为列向量而与校验矩阵相乘以获得相乘结果;判断相乘结果是否为0,如果为是则退出解码q元LDPC的过程并且输出码字。本发明专利技术实施例的技术方案可以解决现有多元LDPC解码运算中软件算法的复杂度高以及多码长兼容等问题,从而可以减少CPU占用的时间,降低运算资源的消耗。降低运算资源的消耗。降低运算资源的消耗。

【技术实现步骤摘要】
解码q元LDPC的方法、电路及包括其的接收机


[0001]本专利技术涉及通信
,尤其涉及解码q元LDPC的方法、解码q元LDPC电路、以及包括解码q元LDPC电路的接收机。

技术介绍

[0002]在通信系统中,对于信源传输过来的码流,需要进行信道编码,以避免码流在传输的过程中发生误码,进而提高数据传输的效率。
[0003]低密度奇偶校验码(Low Density Parity Check Code,LDPC)是通过校验矩阵定义的线性码,基于LDPC的编解码,可以使得信息传输的性能逼近香农极限。
[0004]但是,现有LDPC的解码方案中,软件执行时CPU占用较多的时间,硬件执行时存储资源的利用效率较低并且运算资源的消耗较大,从而使得LDPC产品的功耗较高、尺寸较大。

技术实现思路

[0005]本专利技术解决的技术问题是现有LDPC的解码方案中软件执行时占用CPU较多的时间、硬件执行时存储资源的利用效率较低而运算资源的消耗较大等问题。
[0006]为解决上述技术问题,本专利技术实施例提供一种解码q元LDPC的方法,包括:步骤110,基于校验矩阵的n列而执行n轮运算,在n轮运算的每轮运算中获取校验矩阵中相应列非零上节点的Nm个c2v_code值和Nm个c2v_llr值以及非零下节点的Nm个c2v_code值和Nm个c2v_llr值、并且进行计算而获得该轮的v2c_code值和v2c_llr值,经过n轮运算而获得所有的v2c_code值和所有的v2c_llr值,从而完成校验矩阵中所有校验节点的更新,其中,校验矩阵用于解码q元LDPC并且具有n列和k行,q等于2
r
,n、k和r均为大于0的整数,Nm为大于0且小于或等于q的整数;步骤120,基于校验矩阵的k行而执行k轮运算,在k轮运算的每轮运算中获取校验矩阵中相应行四个非零节点各自的Nm个v2c_code值和Nm个v2c_llr值、并且进行计算而获得该轮的c2v_code值和c2v_llr值,经过k轮运算而获得所有的c2v_code值和所有的c2v_llr值,从而完成校验矩阵中所有变量节点的更新;步骤130,基于校验矩阵的n列而执行n轮运算,在n轮运算的每轮运算中获取校验矩阵中相应列非零上节点的Nm个c2v_code值和Nm个c2v_llr值以及非零下节点的Nm个c2v_code值和Nm个c2v_llr值、并且进行计算而获得该列的码字(cj),经过n轮运算而获得所有的码字,将其表示为列向量而与校验矩阵相乘以获得相乘结果;步骤140,判断相乘结果是否为0,如果为是则退出解码q元LDPC的过程并且输出码字,否则继续执行以上步骤而迭代地进行下一次q元LDPC解码直至迭代次数超过预定次数。
[0007]可选地,r等于6,q等于64。
[0008]可选地,Nm等于24。
[0009]可选地,上述方法包括初始化步骤,其包括:
[0010]接收与q元LDPC编码生成的码字相关的初始序列,对于初始序列中的任一个初始向量以其中r个初始数据为一组进行接收,r个初始数据依次表示为decin(0)至decin(r

1),并且在每接收到一组数据时对循环计数器中的第一计数参数的值加一,第一计数参数的初始值为0,其于一个计数循环中在0至2
r

1之间循环计数,将0至2
r

1映射为二进制数bit(0)至bit(r

1)共r个bit,bit(0)为最低位;
[0011]在循环计数器开始计数后,初始化的llr通过以下公式获得:
[0012][0013]其中,llr_init为初始化的llr;
[0014]对于每一组中的r个初始数据,对应循环计数器在一个计数循环中的2
r
次计数,从而获得2
r
个初始化的llr;
[0015]每完成一组中r个初始数据的计算而获得2
r
个初始化的llr时,对循环计数器中的第二计数参数的值加一,并且基于以下公式将计算结果保存于LJ_LLR_RAM存储器的相应地址addr,其通过以下公式获得:
[0016]addr=cnt_2
r
[r

1:0]+code_num_cnt*2
r

[0017]其中,cnt_2
r
为第一计数参数,code_num_cnt为第二计数参数。
[0018]可选地,步骤110包括,在第col+1轮运算中:
[0019]获取校验矩阵第col+1列非零上节点的Nm个c2v_code值和Nm个c2v_llr值以及非零下节点的Nm个c2v_code值和Nm个c2v_llr值,其中,col为大于或等于0并且小于n的整数;
[0020]将第col+1列非零上节点的Nm个c2v_code值分别与校验矩阵第col+1列非零上节点的value值的逆元在伽罗华域上做乘法而生成第一临时索引tmpidx1[idxBit1],将第col+1列非零下节点的Nm个c2v_code值分别与校验矩阵第col+1列非零下节点的value值的逆元在伽罗华域上做乘法而生成第二临时索引tmpidx2[idxBit1],其中,idxBit1为大于或等于0且小于Nm的整数;
[0021]根据以下公式以第一临时索引和第二临时索引作为索引而分别生成第一临时值tmpval1和第二临时值tmpval2:
[0022]tmpval1[tmpidx1[idxBit1]]=c2v_llr[0][col*Nm+idxBit1],
[0023]tmpval2[tmpidx2[idxBit1]]=c2v_llr[1][col*Nm+idxBit1],
[0024]其中,c2v_llr[0][col*Nm+idxBit1]为将所有列非零上节点依次排序后其中第col+1列非零上节点对应的第col*Nm+idxBit1+1个llr值,c2v_llr[1][col*Nm+idxBit1]为将所有列非零下节点依次排序后其中第col+1列非零下节点对应的第col*Nm+idxBit1+1个llr值;
[0025]将第一临时值tmpval1中的Nm*4个值与LJ_LLR_RAM存储器中第一索引处保存的各个值依次做加法而分别获得第一结果(llr_sum1),将第二临时值tmpval2中的Nm*4个值与LJ_LLR_RAM存储器中第一索引处保存的各个值依次做加法而分别获得第二结果(llr_sum2),第一索引为q*col+idxBit1_Q,idxBit1_Q为大于或等于0并且小于Nm*4的整数;
[0026]将第一结果和第二结果各自从大到小排序,从而分别获得第一结果中的前Nm个并且将其标记为第一数值(llr_sum1_order)和第一序值(llr_inx1)、以及第二结果中的前Nm个并且将其标记为第二数值(llr_sum2_order)和第二序值(ll本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种解码q元LDPC的方法,其特征在于,包括:步骤110,基于校验矩阵的n列而执行n轮运算,在所述n轮运算的每轮运算中获取所述校验矩阵中相应列非零上节点的Nm个c2v_code值和Nm个c2v_llr值以及非零下节点的Nm个c2v_code值和Nm个c2v_llr值、并且进行计算而获得该轮的v2c_code值和v2c_llr值,经过所述n轮运算而获得所有的v2c_code值和所有的v2c_llr值,从而完成所述校验矩阵中所有校验节点的更新,其中,所述校验矩阵用于解码q元LDPC并且具有n列和k行,q等于2
r
,n、k和r均为大于0的整数,Nm为大于0且小于或等于q的整数;步骤120,基于所述校验矩阵的k行而执行k轮运算,在所述k轮运算的每轮运算中获取所述校验矩阵中相应行四个非零节点各自的Nm个v2c_code值和Nm个v2c_llr值、并且进行计算而获得该轮的c2v_code值和c2v_llr值,经过所述k轮运算而获得所有的c2v_code值和所有的c2v_llr值,从而完成所述校验矩阵中所有变量节点的更新;步骤130,基于所述校验矩阵的n列而执行n轮运算,在所述n轮运算的每轮运算中获取所述校验矩阵中相应列非零上节点的Nm个c2v_code值和Nm个c2v_llr值以及非零下节点的Nm个c2v_code值和Nm个c2v_llr值、并且进行计算而获得该列的码字(cj),经过所述n轮运算而获得所有的码字,将其表示为列向量而与所述校验矩阵相乘以获得相乘结果;步骤140,判断所述相乘结果是否为0,如果为是则退出解码q元LDPC的过程并且输出所述码字,否则继续执行以上步骤而迭代地进行下一次q元LDPC解码直至迭代次数超过预定次数。2.根据权利要求1所述的方法,其特征在于,r等于6,q等于64。3.根据权利要求1所述的方法,其特征在于,Nm等于24。4.根据权利要求1所述的方法,其特征在于,包括初始化步骤,其包括:接收与q元LDPC编码生成的码字相关的初始序列,对于所述初始序列中的任一个初始向量以其中r个初始数据为一组进行接收,r个初始数据依次表示为decin(0)至decin(r

1),并且在每接收到一组数据时对循环计数器中的第一计数参数的值加一,所述第一计数参数的初始值为0,其于一个计数循环中在0至2
r

1之间循环计数,将0至2
r

1映射为二进制数bit(0)至bit(r

1)共r个bit,bit(0)为最低位;在所述循环计数器开始计数后,初始化的llr通过以下公式获得:其中,llr_init为初始化的llr;对于每一组中的r个初始数据,对应所述循环计数器在一个计数循环中的2
r
次计数,从而获得2
r
个初始化的llr;每完成一组中r个初始数据的计算而获得2
r
个初始化的llr时,对所述循环计数器中的第二计数参数的值加一,并且基于以下公式将所述计算结果保存于LJ_LLR_RAM存储器的相应地址addr,其通过以下公式获得:addr=cnt_2
r
[r

1:0]+code_num_cnt*2
r
,其中,cnt_2
r
为所述第一计数参数,code_num_cnt为所述第二计数参数。5.根据权利要求4所述的方法,其特征在于,所述步骤110包括,在第col+1轮运算中:
获取所述校验矩阵第col+1列非零上节点的Nm个c2v_code值和Nm个c2v_llr值以及非零下节点的Nm个c2v_code值和Nm个c2v_llr值,其中,col为大于或等于0并且小于n的整数;将第col+1列非零上节点的Nm个c2v_code值分别与所述校验矩阵第col+1列非零上节点的value值的逆元在伽罗华域上做乘法而生成第一临时索引tmpidx1[idxBit1],将第col+1列非零下节点的Nm个c2v_code值分别与所述校验矩阵第col+1列非零下节点的value值的逆元在伽罗华域上做乘法而生成第二临时索引tmpidx2[idxBit1],其中,idxBit1为大于或等于0且小于Nm的整数;根据以下公式以所述第一临时索引和所述第二临时索引作为索引而分别生成第一临时值tmpval1和第二临时值tmpval2:tmpval1[tmpidx1[idxBit1]]=c2v_llr[0][col*Nm+idxBit1],tmpval2[tmpidx2[idxBit1]]=c2v_llr[1][col*Nm+idxBit1],其中,c2v_llr[0][col*Nm+idxBit1]为将所有列非零上节点依次排序后其中第col+1列非零上节点对应的第col*Nm+idxBit1+1个llr值,c2v_llr[1][col*Nm+idxBit1]为将所有列非零下节点依次排序后其中第col+1列非零下节点对应的第col*Nm+idxBit1+1个llr值;将所述第一临时值tmpval1中的Nm*4个值与所述LJ_LLR_RAM存储器中第一索引处保存的各个值依次做加法而分别获得第一结果(llr_sum1),将所述第二临时值tmpval2中的Nm*4个值与所述LJ_LLR_RAM存储器中第一索引处保存的各个值依次做加法而分别获得第二结果(llr_sum2),所述第一索引为q*col+idxBit1_Q,idxBit1_Q为大于或等于0并且小于Nm*4的整数;将所述第一结果和所述第二结果各自从大到小排序,从而分别获得所述第一结果中的前Nm个并且将其标记为第一数值(llr_sum1_order)和第一序值(llr_inx1)、以及所述第二结果中的前Nm个并且将其标记为第二数值(llr_sum2_order)和第二序值(llr_inx2);将所述第一序值与第col+1列下value值的逆元在伽罗华域上做乘法而生成第一序值转置(llr_idx1_mul_inv),将所述第二序值与第col+1列上value值的逆元在伽罗华域上做乘法而生成第二序值转置(llr_idx2_mul_inv);将所述第一数值和对应的所述第一序值转置分别写入v2c_llr存储器和v2c_code存储器的第一地址处,以及将所述第二数值和对应的所述第二序值转置分别写入所述v2c_llr存储器和所述v2c_code存储器的所述第一地址处,从而获得第col+1列对应的所有v2c_llr值和所有v2c_code值,所述第一地址为:llr_code_v2c_addr=v2c_index[8:2]*Nm*4+v2c_index[1:0]*Nm+idxBit1,其中,llr_code_v2c_addr为所述第一地址,v2c_index为所述变量节点至所述校验节点的更新信息的地址索引,v2c_index[8:2]为v2c_index的高7位比特,v2c_index[1:0]为所述地址索引v2c_index的低2位比特而用于索引所述校验矩阵一行中的四个非零节点。6.根据权利要求5所述的方法,其特征在于,所述步骤110包括生成与各列分别对应的v2c_index,其中,基于以下步骤生成与第col+1列对应的地址索引v2c_index:判断H_idx_col_2d[H_idx_row[1][col]][num]是否等于col,若是,则使参数col_fixed_up等于num,其中,num为大于或等于0并且小于4的整数,H_idx_row[1][col]为第col+1列非零下节点的行号,H_idx_col_2d[H_idx_row[1][col]][num]为第H_idx_row[1]
[col]+1行中第num+1个非零节点的列号;判断H_idx_col_2d[H_idx_row[0][col]][num]是否等于col,若是,则使参数col_fixed_dn等于num,其中,num为大于或等于0并且小于4的整数,H_idx_row[0][col]为第col+1列非零上节点的行号,H_idx_col_2d[H_idx_row[0][col]][num]为第H_idx_row[0][col]+1行中第num+1个非零节点的列号;使:v2c_index[2*col]=H_idx_row[1][col]*4+col_fixed_up,以及v2c_index[2*col+1]=H_idx_row[0][col]*4+col_fixed_dn,其中,v2c_index[2*col]和v2c_index[2*col+1]分别为与第col+1列非零下节点和非零上节点对应的索引,H_idx_row[1][col]和H_idx_row[0][col]分别为第col+1列非零下节点和非零上节点的行号。7.根据权利要求5所述的方法,其特征在于,所述步骤110包括:使col自0依次取值到n

1,以执行n轮运算,从而获得与各列对应的所有v2c_llr值和所有v2c_code值。8.根据权利要求5所述的方法,其特征在于,所述步骤120包括,在第row+1轮运算中:获取所述校验矩阵第row+1行四个非零节点各自的Nm个v2c_code值和Nm个v2c_llr值,将与所述四个非零节点各自对应的v2c_code值分别存入code0存储器、code1存储器、code2存储器和code3存储器,以及将与所述四个非零节点各自对应的v2c_llr值分别存入llr0存储器、llr1存储器、llr2存储器和llr3存储器,其中,row为大于或等于0且小于k的整数;分别从所述code0存储器和llr0存储器中依次取出code0和llr0、从所述code1存储器和llr1存储器中依次取出code1和llr1、从所述code2存储器和llr2存储器中依次取出code2和llr2、以及从所述code3存储器和llr3存储器中依次取出code3和llr3;关于每次取出的code1、llr1、code2、llr2、code3、llr3、code4和llr4,将code0和llr0分别与code1和llr1进行cnu_add_basic计算而得到cnu01_code和cnu01_llr,将code2和llr2分别与code3和llr3进行cnu_add_basic计算而得到cnu23_code和cnu23_llr,将code2和llr2分别与cnu01_code和cnu01_llr进行cnu_add_basic计算而得到updata_code3和updata_llr3,将code3和llr3分别与cnu01_code和cnu01_llr进行cnu_add_basic计算而得到updata_code2和updata_llr2,将code0和llr0分别与cnu23_code和cnu23_llr进行cnu_add_basic计算而得到updata_code1和updata_llr1,以及将code1和llr1分别与cnu23_code和cnu23_llr进行cnu_add_basic计算而得到updata_code0和updata_llr0,其中,cnu01_code和cnu23_code为code中间结果,updata_code3、updata_code2、updata_code1和updata_code0为code最终结果,cnu01_llr和cnu23_llr为llr中间结果,updata_llr3、updata_llr2、updata_llr1和updata_llr0为llr最终结果;基于写入规则将所述code最终结果写入c2v_code存储器的第二地址处、并且将所述llr最终结果写入c2v_llr存储器的所述第二地址处,从而获得第row+1行对应的所有c2v_code值和所有c2v_llr值,所述第二地址为:c2v_index_idxBit_Nm*4=c2v_index[row*Nm+idxBit_Nm*4],其中,c2v_index_idxBit_Nm*4为所述第二地址,c2v_index为所述校验节点至所述变量节点的更新信息的地址索引,idxBit_Nm*4为大于或等于0并且小于Nm*4的整数。9.根据权利要求8所述的方法,其特征在于,所述写入规则包括:
如果c2v_index_idxBit_Nm*4[0]=1,则:c2v_code[1][row*Nm+idxBit_Nm*4]=c2v_index_idxBit_Nm*4[8:1]*Nm+idxBit_Nm*4mod(Nm

1),c2v_llr[1][row*Nm+idxBit_Nm*4]=c2v_index_idxBit_Nm*4[8:1]*Nm+idxBit_Nm*4mod(Nm

1),如果c2v_index_idxBit_Nm*4[0]=0,则:c2v_code[0][row*Nm+idxBit_Nm*4]=c2v_index_idxBit_Nm*4[8:1]*Nm+idxBit_Nm*4mod(Nm

1),c2v_llr[0][row*Nm+idxBit_Nm*4]=c2v_index_idxBit_Nm*4[8:1]*Nm+idxBit_Nm*4mod(Nm

1);其中,c2v_index_idxBit_Nm*4[8:1]为所述第二地址的高8位比特,c2v_index_idxBit_Nm*4[0]为所述第二地址的最低位比特而用于索引所述校验矩阵一列中的二个非零节点,c2v_code[1][row*Nm+idxBit_Nm*4]和c2v_llr[1][row*Nm+idxBit_Nm*4]分别为将所有行四个非零下节点依次排序后其中第row+1行对应的第row*Nm+idxBit_Nm*4+1个c2v_code值和c2v_llr值,c2v_code[0][row*Nm+idxBit_Nm*4]和c2v_llr[0][row*Nm+idxBit_Nm*4]分别为将所有行四个非零上节点依次排序后其中第row+1行对应的第row*Nm+idxBit_Nm*4+1个c2v_code值和c2v_llr值。10.根据权利要求8或9所述的方法,其特征在于,所述步骤120包括生成与各行分别对应的地址索引c2v_index,其中,基于以下步骤生成与第row+1行对应的地址索引c2v_index:判断H_idx_row[0][H_idx_col_2d[row][3]]是否等于row,若是,则使参数row_fixed_3point等于0,否则使参数row_fixed_3point等于1,其中,H_idx_col_2d[row][3]为第row+1行第4个非零节点的列号,H_idx_row[0][H_idx_col_2d[row][3]]为第[H_idx_col_2d[row][3]]+1列中上节点的行号;判断H_idx_row[0][H_idx_col_2d[row][2]]是否等于row,若是,则使参数row_fixed_2point等于0,否则使参数row_fixed_2point等于1,其中,H_idx_col_2d[row][2]为第row+1行第3个非零节点的列号,H_idx_row[0][H_idx_col_2d[row][2]]为第[H_idx_col_2d[row][2]]+1列中上节点的行号;判断H_idx_row[0][H_idx_col_2d[row][1]]是否等于row,若是,则使参数row_fixed_1point等于0,否则使参数row_fixed_1point等于1,其中,H_idx_col_2d[row][1]为第row+1行第2个非零节点的列号,H_idx_row[0][H_idx_col_2d[row][1]]为第[H_idx_col_2d[row][1]]+1列中上节点的行号;判断H_idx_row[0][H_idx_col_2d[row][0]]是否等于row,若是,则使参数row_fixed_0point等于0,否则使参数row_fixed_0point等于1,其中,H_idx_col_2d[row][0]为第row+1行第1个非零节点的列号,H_idx_row[0][H_idx_col_2d[row][0]]为第[H_idx_col_2d[row][0]]+1列中上节点的行号;使:c2v_index[4*row]=H_idx_col_2d[row][3]*2+row_fixed_3point,c2v_index[4*row+1]=H_idx_col_2d[row][2]*2+row_fixed_2point,
c2v_index[4*row+2]=H_idx_col_2d[row][1]*2+row_fixed_1point,c2v_index[4*row+3]=H_idx_col_2d[row][0]*2+row_fixed_0point,其中,c2v_index[4*row]、c2v_index[4*row+1]、c2v_index[4*row+2]和c2v_index[4*row+3]分别为与第row+1行四个非零节点对应的索引,H_idx_col_2d[row][3]、H_idx_col_2d[row][2]、H_idx_col_2d[row][1]和H_idx_col_2d[row][0]分别为与第row+1行四个非零节点对应的列号。11.根据权利要求8所述的方法,其特征在于,所述cnu_add_basic计算包括:获取节点a的v2c_code值a_code和v2c_llr值a_llr,并且获取节点b的v2c_code值b_code和v2c_llr值b_llr;基于所述节点a处Nm个值中的每一个值遍历节点b处的Nm个值,其中,关于所述节点a处Nm个值中的每一个值依次取所述节点b处的Nm个值而执行Nm轮初步计算,从而获得每轮中的最大llr值,并且将Nm*Nm轮所获得的最大llr值依次保存于temp_ram存储器中;将所述temp_ram存储器中保存的最大llr值从大到小排序而取前Nm个最大llr值,并且输出其对应的序;将所述序对应的llr值依次写入c_llr_tmp_ram存储器而将其作为所述llr最终结果,将所述序对应的code值依次写入c_code_tmp_ram存储器而将其作为所述code最终结果。12.根据权利要求11所述的方法,其特征在于,在节点a的第i+1次内节点b的第j+1轮的执行中,所述初步计算包括:tmp_idx=a_code[i]^b_code[j],tmp_val=a_llr[i]^b_llr[j],if(tmp_ram[tmp_idx]<tmp_val),tmp_ram[tmp_idx]=tmp_val,其中,i和j均为大于或等于0并且小于Nm的整数,tmp_idx为临时索引,tmp_val为临时值,a_code[i]为节点a的第i+1个code值,a_llr[i]为节点a的第i+1个llr值,b_code[j]为节点b的第j+1个code值,b_llr[j]为节点b的第j+1个llr值,tmp_ram[tmp_idx]为本轮已保存于所述temp_ram存储器中的临时值,tmp_ram[tmp_idx]的初始值为0。13.根据权利要求8所述的方法,其特征在于,所述步骤120包括:使row自0依次取值到k

1,以执行k轮运算,从而获得与各行对应的所有c2v_llr值和所有c2v_code值。14.根据权利要求8所述的方法,其特征在于,所述步骤130包括,在第col+1轮运算中:获取所述校验矩阵第col+1列非零上节点的Nm个c2v_code值和Nm个c2v_llr值以及非零下节点的Nm个c2v_code值和Nm个c2v_llr值;将第col+1列非零上节点的Nm个c2v_code值分别与所述校验矩阵第col+1列非零上节点的value值的逆元在伽罗华域上做乘法而生成第三临时索引tmpidx3[idxBit2],将第col+1列非零下节点的Nm个c2v_code值分别与所述校验矩阵第col+1列非零下节点的value值的逆元在伽罗华域上做乘法而生成第四临时索引tmpidx4[idxBit2],其中,idxBit2为大于或等于0且小于Nm的整数;根据以下公式以所述第三临时索引和所述第四临时索引作为索引而分别生成第三临时值tmpval3和第四临时值tmpval4:tmpval3[tmpidx3[idxBit2]]=c2v_llr[0][col*Nm+idxBit2],
tmpval4[tmpidx4[idxBit2]]=c2v_llr[1][col*Nm+idxBit2],其中,c2v_llr[0][col*Nm+idxBit2]为将所有列非零上节点依次排序后其中第col+1列非零上节点对应的第col*Nm+idxBit2+1个llr值,c2v_llr[1][col*Nm+idxBit2]为将所有列非零下节点依次排序后其中第col+1列非零下节点对应的第col*Nm+idxBit2+1个llr值;将所述第三临时值与所述LJ_LLR_RAM存储器中第二索引处保存的各个值分别做加法、以及将所述第四临时值与所述LJ_LLR_RAM存储器中第二索引处保存的各个值分别做加法,从而获得2q个相加结果,其中,所述第二索引为q*col+idxBit2_Q2,idxBit2_Q2为大于或等于0且小于q的整数;将所述2q个相加结果中的最大相加结果所对应的码字确定为第col+1列的码字(cj[col]值);其中,c2v_llr[0][col*Nm+idxBit2]为将所有列非零上节点依次排序后其中第col+1列非零上节点对应的第col*Nm+idxBit2+1个llr值,c2v_llr[1][col*Nm+idxBit2]为将所有列非零下节点依次排序后其中第col+1列非零下节点对应的第col*Nm+idxBit2+1个llr值。15.一种解码q元LDPC的电路,其特征在于,包括:第一运算模块,其适于迭代地执行运算,在其一次运算的过程中,基于校验矩阵的n列而执行n轮运算,在所述n轮运算的每轮运算中获取所述校验矩阵中相应列非零上节点的Nm个c2v_code值和Nm个c2v_llr值以及非零下节点的Nm个c2v_code值和Nm个c2v_llr值、并且进行计算而获得该...

【专利技术属性】
技术研发人员:顾明飞杨小勇汪鑫
申请(专利权)人:展讯半导体成都有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1