The invention discloses a LDPC coding method and a device thereof. The invention discloses a matrix vector multiplication method, including the matrix M circulant matrix and the matrix: the first step: initialize the global register; second steps: S vector shift and the specified number of global register contents of the differences or, and XOR results stored in the global register; third steps: storing the global value of the register. Through the technical scheme of the invention, the calculation process is optimized matrix vector multiplication and matrix vector multiplication by reusing intermediate results in the process of reducing the number of executed matrix vector multiplication in the process of instruction, so as to accelerate the execution speed of vector and matrix multiplication.
【技术实现步骤摘要】
LDPC编码方法及其装置
本专利技术涉及一种针对矩阵与向量乘运算的低密度奇偶校验码(LowDensityParityCheckCode,LDPC)编码器及其方法,特别地,涉及用于优化LDPC编码过程的矩阵与向量乘法单元
技术介绍
LDPC码广泛应用于高速无线通信系统的信道编码,并将在高性能固态存储系统中应用。在《Efficientencodingoflow-densityparity-checkcodes》([J].IEEETransInformationTheory,2001,47(2):638–656)中提出了RU编码算法,将校验矩阵变换为准下三角矩阵,利用Gauss法求解方程以完成编码。而在《在线可编程QC-LDPC码高速编码器结构》(清华大学学报(自然科学版)2009年第49卷第7期1025-1018页)提出了支持可变参数的准循环低密度奇偶校验码编码器结构。
技术实现思路
现有的LDPC编码技术从结构上看,功能模块和控制单元较多,较为复杂,软硬件功能模块定义不清,各个功能模块的利用率不高,编码的吞吐率不高。而且不够灵活,不能适用于结构不同的准循环校验矩阵。本专利技术简化了LDPC编码器的结构,将繁琐的控制流简化为指令的控制,将矩阵求逆等复杂运算改为线下软件工作,提高了各个功能部件的运行效率,提高吞吐率,可以适用于不同结构和码率的准循环校验矩阵的编码。本专利技术的一个目的在于高效地实现用于LDPC编码的矩阵与向量乘电路。将计算过程在硬件与可编程微码指令之间合理分配。本专利技术的又一个目的在于优化矩阵与向量乘的计算过程,通过重用矩阵与向量乘过程中的中间结果 ...
【技术保护点】
一种矩阵与向量乘运算方法,所述矩阵M为循环移位单位矩阵的和矩阵,包括:第一步骤(S10):初始化全局寄存器;第二步骤(S20):将向量S移位指定位数并与全局寄存器的内容相异或,并将异或结果存储在所述全局寄存器中;第三步骤(S30):存储所述全局寄存器中的值。
【技术特征摘要】
1.一种矩阵与向量乘运算方法,所述矩阵M为循环移位单位矩阵的和矩阵,包括:第一步骤(S10):初始化全局寄存器;第二步骤(S20):将向量S移位指定位数并与全局寄存器的内容相异或,并将异或结果存储在所述全局寄存器中;第三步骤(S30):存储所述全局寄存器中的值。2.根据权利要求1所述的矩阵与向量乘运算方法,其中,当所述矩阵M为多个循环移位单位矩阵的和矩阵时,重复执行第二步骤(S20)。3.根据权利要求1-2所述的矩阵与向量乘运算方法,进一步包括:第四步骤(S12):从数据存储器取得向量S。4.根据权利要求3所述的矩阵与向量乘运算方法,进一步包括:第五步骤(S14):将第四步骤(S12)中取得的向量S加载到向量寄存器。5.根据权利要求1、3或4所述的矩阵与向量乘运算方法,其中,所述矩阵M=I1+I2+...Im+…+In,其中Im是循环移位单位矩阵,并且从单位矩阵I循环移位dm位得到循环移位单位矩阵Im,其中,1≤m≤n;在第二步骤(S20)中,对于构成矩阵M的n个循环移位单位矩阵I1,I2,...Im,…In的每一个循环移位单位矩阵Im,执行下述操作:使向量S移位dm位,将移位结果与全局寄存器的值异或,并将异或结果存入全局寄存器。6.根据权利要求3所述的矩阵与向量乘运算方法,其中,所述矩阵M=I1+I2+...Im+…+In,其中I1、Im是循环移位单位矩阵,并且从单位矩阵I移位d1位得到I1,从I1*S循环移位dm'位得到循环移位单位矩阵Im,其中,2≤m≤n;第二步骤(S20)包括:使向量S移位d1位,将移位结果与全局寄存器的值异或得到特定值,并存储到全局寄存器;将全局寄存器的特定值存储到数据存储器;对于构成矩阵M的n-1个循环移位单位矩阵I2,I3,...Im,…,In中的每一个循环移位单位矩阵Im,其中2≤m≤n,执行下述操作:从数据存储器取得所述特定值,使所述特定值移位dm'位,将移位结果与全局寄存器的值异或,并将异或结果存入全局寄存器。7.根据权利要求6所述的方法,其中构成矩阵M的n个循环移位单位矩阵{I1,I2,…In}是排序的,使得最小。8.根据权利要求3所述的矩阵与向量乘运算方法,其中,所述矩阵M=K1+K2+...Km+…+Kn,其中K1、Km是两个循环移位单位矩阵的和矩阵,从K1循环移位dm位得到矩阵Km,从单位矩阵I循环移位dI1位得到循环移位单位矩阵I1,从单位矩阵I循环移位dI2得到循环移位单位矩阵I2,dI1与dI2是连续的自然数,以及K1=I1+I2,其中,2≤m≤n;第二步骤(S20)包括:使向量S移位dI1位,将移位结果与全局寄存器的值异或并存储到全局寄存器;使向量S移位dI2位,将移位结果与全局寄存器的值异或得到特定值,并存储到全局寄存器;将全局寄存器的...
【专利技术属性】
技术研发人员:孙明浩,
申请(专利权)人:北京忆芯科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。