CN113300719B - 一种多进制非规则重复累加码并行编码装置及方法 - Google Patents
一种多进制非规则重复累加码并行编码装置及方法 Download PDFInfo
- Publication number
- CN113300719B CN113300719B CN202110558937.0A CN202110558937A CN113300719B CN 113300719 B CN113300719 B CN 113300719B CN 202110558937 A CN202110558937 A CN 202110558937A CN 113300719 B CN113300719 B CN 113300719B
- Authority
- CN
- China
- Prior art keywords
- accumulator
- output
- parallel
- multiplier
- input
- 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.)
- Active
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
-
- 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/29—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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
Landscapes
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明公开了一种多进制非规则重复累加码并行编码装置与方法,本发明为解决累加器结构的多进制非规则重复累加码串行编码器延迟较大的问题,利用校验矩阵中对应校验位部分的子矩阵具有双对角线特征,针对校验位的计算提出了并行累加方法,并采用并行累加器电路实现并行多路计算奇偶校验符号;进一步,对并行累加器电路进行了减速和割集重新定时,用来缩短电路的关键路径,从而提高编码器装置的吞吐量。与传统串行编码器相比,本发明提出的编码器装置的吞吐量得到了较大提高,使用较少的硬件资源,适用于吞吐量要求高,硬件实现复杂度要求低的系统中。
Description
技术领域
本发明属于数字通信差错数字编码领域,具体涉及一种多进制非规则重复累加码并行编码装置及方法。
背景技术
作为数字通信系统中的关键一环,信道编码的作用是保护信息在信道上传输时免受噪声、失真和干扰的影响,为系统的可靠性提供保障。低密度奇偶校验(Low-DensityParity-Check,LDPC)码作为目前提出的性能最逼近Shannon极限的信道编码方式,在纠错编码中发挥着重要的作用。1998年Davey和Mackay 的研究证明在码长较短或中等时,多进制低密度奇偶校验(Bon-Binary Low-Density Parity-Check,NB-LDPC)码的纠错能力明显优于二进制LDPC码,并且NB-LDPC码可以有效的对抗混合噪声和突发错误。
NB-LDPC在中短码长领域比二进制LDPC码有更多优势,具体表现在更高的编码增益和更好的抗突发错误能力,并且更适合用在频带利用率高的系统中。 NB-LDPC校验矩阵中的元素出自高阶域,一个符号相当于由多个比特组合而成。 NB-LDPC码的Tanner图比相对应的二进制LDPC码的Tanner图更稀疏,且小环存在的概率更低。而小环对码字性能的影响很大,因此NB-LDPC码相对而言纠错性能更好,取得的编码增益更高。二进制码在此方面表现较差,常常被设计和 BCH码或者RS码级联应用。在发生突发错误时,与二进制LDPC码产生的连续比特量级的错误相比,NB-LDPC码的错误发生在多元域符号量级,因此错误数较少。且译码过程中的置换操作可以起到类似于交织的作用,因此在突发干扰的系统中纠错能力也较好。NB-LDPC出自高阶域,因此通过与高阶调制或MIMO 系统的结合,能够使频带利用率和数据传输速率得到有效提高。
NB-LDPC码的校验矩阵是基于伽罗华域GF(q)的,因此其中的非零元素不再只是包含“1”元素,而是包含伽罗华域中的元素,因此在计算的时候比二进制的要复杂得多。例如,多元域的加法和乘法运算不同于二元域的运算,消耗的周期较多,而域的运算带来的资源和时间的消耗直接反映在每一次码元的运算当中,并且多进制译码算法比二进制的要复杂的多,导致多进制译码算法的资源消耗较大。因此,与二进制LDPC码相比,NB-LDPC码的实现的复杂度高很多,然而其性能较好、纠错能力强的优势也让NB-LDPC码很有研究的价值。
NB-LDPC码的编码算法可以通过二元LDPC码的编码算法推广得到,即为在高阶有限域将信息序列与生成矩阵相乘。使用高斯消元的方法由校验矩阵得到相应的生成矩阵,然而此方法计算的生成矩阵不再稀疏,在工程实现时消耗的硬件资源过多。Richardson提出了一种贪婪算法,将具有稀疏性的校验矩阵化成特殊结构来完成迭代编码,从而使得编码过程具有线性复杂度。基于准循环LDPC 码的生成矩阵的系统循环结构,使用简单移位寄存器可以完成编码电路的设计,这种编码方法只需将生成矩阵的准循环块中的第一行的数据存储在只读存储器 (Read-Only Memory,ROM)中,因此占用较少的存储资源,然而校验矩阵的准循环结构使得这种结构化编码方法的通用性较差。
D.Divsala等人在1998年提出了一种类似Turbo的码,称为重复累积(RepeatAccumulate,RA)码,它是一类特殊的LDPC码。这种码的编码器仅由重复器、交织器、组合器和累加器组成,编码简单,译码器可以采用LDPC码的高速并行译码算法,实现复杂度低。通过研究发现,基于稀疏图的RA码是一类可以逼近 Shannon限的好码,因此在数字通信系统中被广泛地应用。非规则重复累加 (Irregular Repeat Accumulate,IRA)码是RA码的一般化,在2000年由Jin、 Khandekar和McEliece引入,并且已被用于第二代卫星数字视频广播(Second-generation Digital Video Broadcasting over Satellite,DVB-S2)标准。
作为NB-LDPC码子类的多进制非规则重复累加(Non binary IRA,NB-IRA) 码,其校验矩阵中对应校验位的部分是双对角矩阵,因此可以使用具有rate-1累加器的串行编码器实现,其编码复杂度为线性。尽管NB-IRA码串行编码器提供了线性编码复杂度的优势,但是它生成一个奇偶校验位需要一个时钟周期,因此由累加过程的串行操作引起的串行NB-IRA编码器的延迟时间较长,特别是当码字长度较长和码率较低时,延迟会急剧增加,限制了整个编码系统的吞吐量。
提高编码器的并行度,设计部分并行的NB-IRA码编码器,是解决编码器吞吐量较低的有效方案。很多研究者致力于设计部分并行的NB-IRA编码器来提高其吞吐量。研究者提出了一种可显著提高IRA码编码器吞吐量的并行累加方法,其编码方法是将校验矩阵转换成块形式,并对校验矩阵的每一块使用部分并行处理,这样减少了IRA码编码所消耗的时钟周期的数量,但该编码器架构只针对二进制IRA码,并且未提供特定的编码器硬件实现。最近,又研究者将IRA并行累加方法推广到NB-IRA码,提出了一种结构化NB-IRA(S-NB-IRA)的部分并行编码器,其吞吐量线性地依赖于校验矩阵的子矩阵大小,并且需要校验矩阵 H的特定行-列排列,得到结构化的多进制IRA(S-NB-IRA)码。然而,除了并行累加器阵列电路之外,其编码器的架构还需要并行有限域乘法器和加法器来分别计算矢量和矩阵的乘法以及矢量之间的加法,这导致更多硬件资源的消耗。
发明人在实现本发明的过程中,发现现有NB-IRA编码技术中存在以下缺点和不足:
串行的NB-IRA编码器由于累加过程的串行操作导致整个编码器的吞吐量较低,现有的部分并行编码器的实现将校验矩阵转换成块形式,并对校验矩阵的每一块使用部分并行处理来减少NB-IRA编码的时钟周期数量,但也正是由于将校验矩阵的分块操作导致编码步骤较多,使NB-IRA码的编码延迟,实现需要许多有限域的乘法以及有限域的加法操作,导致消耗较多的硬件资源的使用量, NB-IRA编码器的吞吐量不高。
发明内容
本发明的目的在于针对上述现有技术中的不足,提供一种能够提高NB-IRA 编码器的吞吐量,并降低硬件资源的使用量的,多进制非规则重复累加码并行编码装置及方法。
为实现上述目的,本发明采用如下技术方案:
一种多进制非规则重复累加码并行编码装置,由控制电路1构成,所述控制电路1包括计数器11,所述计数器11输出的计数值连接所述四个比较器12、13、 14、15,所述比较器12输出的RAM工作使能连接RAM存储单元2,所述比较器13 输出的串并转换使能连接串并转换单元3,所述比较器14输出的编码工作使能连接累加器阵列单元4,所述比较器15输出的并串转换使能连接并串转换单元5。
所述RAM存储单元2的功能是接收M维的中间符号向量s并存储,RAM 存储单元2输出串行的位宽为w=L×log2q的符号向量s_serial;所述RAM存储单元2的输出连接串并转换单元3。
所述串并转换单元3的功能是将串行的中间符号向量s转换为L个并行的中间符号sLk,sLk+1,...,sLk+L-1,串并转换单元3的输出连接累加器阵列单元4。
所述累加器阵列单元4的功能是根据并行的中间符号sLk,sLk+1,...,sLk+L-1、双对角校验矩阵HP中主对角线的元素αLk,Lk,…,αLk+L-1,Lk+L-1和双对角校验矩阵 HP中次对角线的元素αLk,Lk-1,…,αLk+L-1,Lk+L-2计算L个并行的校验位符号 pLk,pLk+1,...,pLk+L-1,所述累加器阵列单元4的输出连接并串转换单元5。
所述并串转换单元5的功能是将并行的校验符号pLk,pLk+1,...,pLk+L-1转换为串行的校验符号向量p,其中Lk代表L×k,k=0,1,...,M0-1,M=N-K, M0=M/L,N为多进制非规则重复累积码的码字符号的长度,K为信息位的符号长度,L为电路的并行度,q为伽罗华域GF的阶数,双对角矩阵HP为多进制非规则重复累加码校验矩阵H=[HI HP]对应校验符号的部分。
本发明的另一项技术方案为:一种多进制非规则重复累加码并行编码方法,包括以下步骤:
(一)将由校验矩阵H=[HI HP]中对应信息位部分的子矩阵HI与信息向量m的转置相乘计算得到的中间符号向量s=HI·mT配置为M0组,即其中,校验矩阵中对应信息位部分的子矩阵HI的大小为 M×K,信息向量m的大小为1×K,M0=M/L,M=N-K,N为一个码字中的符号数,L为电路的并行度,即并行计算奇偶校验符号的个数;
向量sk(k=0,1,...,M0-1)和向量pk(k=0,1,...,M0-1)的形式分别为 sk=(sLk,sLk+1,sLk+2,...,sLk+L-1)和pk=(pLk,pLk+1,pLk+2,...,pLk+L-1),其中Lk代表L×k;
(二)使用向量sk和校验矩阵中对应校验位部分的子矩阵HP来计算向量 pk,其中,校验矩阵中对应校验位部分的子矩阵HP为双对角矩阵,其大小为 M×M;将子矩阵HP的主对角线上的元素和次对角线上的元素分为M/L组,分别为αLk,Lk,…,αLk+L-1,Lk+L-1和αLk,Lk-1,…,αLk+L-1,Lk+L-2,其中k=0,1,...,M0-1;
当k=0时,向量p0按照下式计算,
当1≤k≤M0-1时,向量pk按照下式计算,
向量pk(k=0,1,...,M0-1)的计算采用L路并行累加器阵列电路实现;
(三)将L路并行累加器阵列电路进行J倍减速,使用J个时延来代替并行累加器阵列电路中的1个时延,并且电路经J倍减速之后,在输入采样点后加入 J-1个空操作,来保证电路逻辑正确;
(四)将L路并行累加器阵列电路进行J倍减速之后的电路进行割集重定时,选择任意一个割集,将电路分为A和B两个部分,进一步,在该割集中所有由A至B的传输路径上增加1个时延,并将所有由B至A的传输路径上减少 1个时延,即完成一次割集重定时,若关键路径仍然需要缩短可再次进行割集重定时。
所述步骤(二)中使用向量sk和子矩阵HP来计算向量pk采用L路并行累加器阵列电路实现,其中并行累加器阵列电路包括L个累加器和一个log2 q位的寄存器D,其中q为伽罗华域GF的阶数,所述L个累加器中的每个累加器都包括两个乘法器和一个加法器;
在以下描述中k=0,1,...,M0-1,i=2,3,...,L-1;
校验符号pLk+L-1通过寄存器D的输出和元素αLk,Lk-1作为所述第一累加器的第一乘法器的输入,所述第一累加器的第一乘法器的输出和中间符号sLk作为所述第一累加器的第一加法器的输入,所述第一累加器的第一加法器的输出和元素作为所述第一累加器的第二乘法器的输入,所述第一累加器的第二乘法器的输出为校验符号pLk作为所述第二累加器的第一乘法器的输入;
校验符号pLk+i-2和元素αLk+i-1,Lk+i-2作为所述第i累加器的第一乘法器的输入,所述第i累加器的第一乘法器的输出和符号sLk+i-1作为输入连接所述第i累加器的第一加法器,所述第i累加器的第一加法器的输出和元素作为输入连接所述第i累加器的第二乘法器,所述第i累加器的第二乘法器的输出为校验符号pLk+i-1;
校验符号pLk+L-2和元素αLk+L-1,Lk+L-2作为输入连接所述第L累加器的第一乘法器,所述第L累加器的第一乘法器的输出和符号sLk+L-1作为输入连接所述第L累加器的第一加法器,所述第L累加器的第一加法器的输出和符号αLk+L-1,Lk+L-1作为输入连接所述第L累加器的第二乘法器,所述第L累加器的第二乘法器的输出为校验符号pLk+L-1并作为输入连接log2q位的寄存器D。
所述步骤(三)中将L路并行累加器阵列电路进行J倍减速,使用J个时延来代替电路中的1个时延所得到的电路与所述L路并行累加器阵列电路的不同之处在于,所述经L路并行累加器阵列电路有一个log2q位的寄存器D,所述L路并行累加器阵列电路经过J倍减速后的电路有J个log2q位的寄存器D。
所述步骤(四)中将L路并行累加器阵列电路进行J倍减速之后的电路进行割集重定时,选择任意一个割集,将电路分为A和B两个部分,进一步,在该割集中所有由A至B的传输路径上增加1个时延,并在所有由B至A的传输路径上减少1个时延得到的电路包括L个累加器和n=3L-2j+J-1个log2 q位的寄存器D,其中j=2,3,...,L-1,所述L个累加器中的每个累加器都包括两个乘法器和一个加法器;
校验符号pLk+L-1经过J-1个寄存器D的输出和元素αLk,Lk-1作为输入连接所述第一累加器的第一乘法器,所述第一累加器的第一乘法器的输出和符号sLk作为输入连接所述第一累加器的第一加法器,所述第一累加器的第一加法器的输出和元素作为输入连接所述第一累加器的第二乘法器,所述第一累加器的第二乘法器的输出连接所述第二累加器的第一乘法器,所述第一累加器的第二乘法器的输出经过一个寄存器D得到校验符号pLk;
校验符号pLk+j-2和元素αLk+j-1,Lk+j-2作为输入连接所述第j累加器的第一乘法器,所述第j累加器的第一乘法器的输出和符号sLk+j-1作为输入连接所述第j累加器的第一加法器,所述第j累加器的第一加法器的输出和符号作为输入连接所述第j累加器的第二乘法器,所述第j累加器的第二乘法器的输出通过一个寄存器D得到校验符号pLk+j-1;
校验符号pLk+j-1和元素αLk+j,Lk+j-1经过一个寄存器的输出作为输入连接所述第 j+1累加器的第一乘法器,所述第j+1累加器的第一乘法器的输出和符号sLk+j经过一个寄存器的输出作为输入连接所述第j+1累加器的第一加法器,所述第j+1 累加器的第一加法器的输出和元素经过一个寄存器的输出作为输入连接所述第j+1累加器的第二乘法器,所述第j+1累加器的第二乘法器的输出为校验符号pLk+j。
本发明的有益效果在于:本发明包括控制电路、RAM存储单元、串并转换单元、累加器阵列单元和并串转换单元,其中并行累加器阵列单元是将并行累加器阵列电路经过J倍减速和一次割集重定时操作后得到的,将串行累加器转换为并行的累加器阵列后电路的吞吐量提高了,并且本发明的编码器只需要对数据进行并串转换操作,不需要其它附加的计算,因此所需要的硬件资源较少,与现有的部分并行编码器相比,减少了NB-IRA码的编码延迟时间,极大的提高了 NB-IRA编码器的吞吐量,在并行累加器阵列电路上执行减速和割集重定时,减少了关键路径,并降低硬件资源的使用量,在FPGA平台上的仿真和验证结果表明,硬件资源较少,复杂度较低,达到的吞吐量约是串行编码器吞吐量的倍,即4倍之多。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施方式及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明提供的编码器装置的结构示意图;
图2是本发明提供的控制电路的结构示意图;
图3是本发明提供的RAM存储单元的结构示意图;
图4是本发明提供的串并转换单元的结构示意图;
图5是本发明提供的L路并行累加器阵列电路的结构示意图;
图6是本发明提供的L路并行累加器阵列电路经J倍减速后电路的结构示意图;
图7是本发明提供的L路并行累加器阵列电路经J倍减速和一次割集重定时后电路的结构示意图;
图8是本发明提供的并串转换单元的结构示意图;
其中,各标号对应信息如下:
1:控制电路;2:RAM存储单元;3:串并转换单元;4:累加器阵列单元; 5:并串转换单元;11:计数器;12:比较器;13:比较器;14:比较器;15:比较器;21:计数器;22:比较器;23:比较器;24:写地址生成器;25:读地址生成器;26:RAM存储器;31:1位计数器;32:选择器阵列;40:寄存器 D;41至40+L:累加器;51:1位计数器;52:并串转换。
具体实施方式
以下结合附图对本发明作进一步详细说明,但不作为对本发明的限定:
本发明实施例提供的多进制非规则重复累加码编码器装置采用现场可编程门阵列(Field Programmable Gate Array,FPGA)电路实现。
如图1-8所示,本发明一种多进制非规则重复累加码编码器装置及方法:
包括控制电路1以及分别与控制电路1相连接的RAM存储单元2、串并转换单元3、累加器阵列单元4和并串转换单元;电路的工作使能连接控制电路1,控制电路1的功能是产生RAM存储单元2、串并转换单元3、累加器阵列单元4、并串转换单元5的工作使能,控制电路1输出的RAM工作使能连接RAM存储单元2,控制电路1输出的串并转换使能连接串并转换单元3,控制电路1输出的编码工作使能连接累加器阵列单元4,控制电路1输出的并串转换使能连接并串转换单元5, RAM存储单元2的功能是接收M维的中间符号向量s并存储,RAM存储单元2输出串行的位宽为w=L×log2 q的符号向量s_serial,RAM存储单元2的输出连接串并转换单元3,串并转换单元3的功能是将串行的中间符号向量s转换为L个并行的中间符号sLk,sLk+1,...,sLk+L-1,串并转换单元3的输出连接累加器阵列单元4,累加器阵列单元4的功能是根据并行的中间符号sLk,sLk+1,...,sLk+L-1、双对角校验矩阵HP中主对角线的元素αLk,Lk,…,αLk+L-1,Lk+L-1和双对角校验矩阵HP中次对角线的元素αLk,Lk-1,…,αLk+L-1,Lk+L-2计算L个并行的校验位符号 pLk,pLk+1,…,pLk+L-1,累加器阵列单元4的输出连接并串转换单元5,并串转换单元5的功能是将并行的校验符号pLk,pLk+1,…,pLk+L-1转换为串行的校验符号向量p,其中Lk代表L×k,k=0,1,…,M0-1,M=N-K,M0=M/L,N为多进制非规则重复累积码的码字符号的长度,K为信息位的符号长度,L为电路的并行度,q为伽罗华域GF的阶数,双对角矩阵HP为多进制非规则重复累加码校验矩阵H=[HI HP]对应校验符号的部分。
优选的,控制单元1包括一个计数器11和四个比较器12、13、14、15,输入控制电路1的工作使能连接计数器11,计数器11输出的计数值连接所述四个比较器12、13、14、15,所述四个比较器12、13、14、15的输出分别为RAM 工作使能、串并转换使能、编码工作使能和并串转换使能,即控制电路1的输出。
优选的,RAM存储单元2包括:一个计数器21、两个比较器22和23、一个写地址生成器24、一个读地址生成器25和一个RAM存储器26,RAM工作使能作为计数器21的工作使能,计数器21输出的计数值分别连接比较器22和 23,比较器22输出的写使能连接写地址生成器24和RAM存储器26,比较器 23输出的读使能连接读地址生成器25和RAM存储器26,写地址生成器24输出的写地址连接RAM存储器26,读地址生成器25输出的读地址连接RAM存储器26,RAM存储器26输出符号向量s_serial,RAM存储器26的宽度为w,深度为M0。
优选的,串并转换单元3包括一个1位计数器31和一个选择器阵列32,选择器阵列32包括选择器321、322、…、320+L,串并转换使能连接1位计数器 31,1位计数器31的输出作为控制使能分别连接选择器阵列32的选择器321、 322、…、320+L,选择器阵列32中选择器320+i的输入为0和s_serial[ip-1:(i-1)p],选择器321、322、…、320+L的输出分别为符号sLk,sLk+1,…,sLk+L-1,其中 i=1,2,…,L,p=log2 q,。
优选的,累加器阵列单元4是将L路并行累加器阵列电路执行减速与一次重定时后得到的。
优选的,L路并行累加器阵列电路包括L个累加器41、42、…、40+L和一个log2 q位的寄存器40,累加器41、42、…、40+L均包括两个乘法器和一个加法器;
校验符号pLk+L-1通过寄存器D的输出和元素αLk+,Lk-1作为输入连接乘法器41a,乘法器41a的输出和符号sLk作为输入连接加法器41b,加法器41b的输出和元素作为输入连接乘法器41c,乘法器41c的输出连接乘法器42a;
校验符号pLk+i-2和元素αLk+i-1,Lk+i-2作为输入连接乘法器(40+i)a,乘法器(40+i)a的输出和符号sLk+i-1作为输入连接加法器(40+i)b,加法器(40+i)b的输出和元素作为输入连接乘法器(40+i)c;
校验符号pLk+L-2和元素αLk+L-1,Lk+L-2作为输入连接乘法器(40+L)a,乘法器 (40+L)a的输出和符号sLk+L-1作为输入连接加法器(40+L)b,加法器(40+L)b的输出和符号αLk+L-1,Lk+L-1作为输入连接乘法器(40+L)c,乘法器(40+L)c的输出作为输入连接log2 q位的寄存器40;其中i=2,3,…,L-1,αi1,i1(i1=1,2,…,M)和αi2,i2-1(i2=2,3,…,M)分别为双对角矩阵HP中的主对角线的元素和次对角线的元素。
优选的,L路并行累加器阵列电路经过J倍减速后的电路与L路并行累加器阵列电路的不同之处在于,L路并行累加器阵列电路中有一个log2 q位的寄存器 D,经J倍减速的电路中有J个log2 q位的寄存器D。
优选的,L路并行累加器阵列电路经J倍减速和一次割集重定时后得到的累加器阵列单元4包括累加器41、42、…、40+L和n=3L-2j+J-1个log2 q位的寄存器40,累加器41、42、…、40+L中均包括两个乘法器和一个加法器;
校验符号pLk+L-1经过J-1个寄存器40的输出和元素αLk,Lk-1作为输入连接乘法器41a,乘法器41a的输出和符号sLk作为输入连接加法器41b,加法器41b的输出和元素作为输入连接乘法器41c,乘法器41c的输出经过一个寄存器D 得到校验符号pLk,另外乘法器41c的输出还连接乘法器42a;
校验符号pLk+j-2和元素αLk+j-1,Lk+j-2作为输入连接乘法器(40+j)a,乘法器 (40+j)a的输出和符号sLk+j-1作为输入连接加法器(40+j)b,加法器(40+j)b的输出和符号作为输入连接乘法器(40+j)c,乘法器(40+j)c的输出通过一个寄存器D得到校验符号pLk+j-1;
元素αLk+j,Lk+j-1经过一个寄存器的输出和校验符号pLk+j-1作为输入连接乘法器 (40+j+1)a,乘法器(40+j+1)a的输出连接加法器(40+j+1)b,符号sLk+j经过一个寄存器的输出作为输入连接加法器(40+j+1)b,加法器(40+j+1)b的输出连接乘法器 (40+j+1)c,元素经过一个寄存器的输出作为输入连接乘法器(40+j+1)c, 乘法器(40+j+1)c的输出为校验符号pLk+j,其中j=2,3,...,L-1。
优选的,并串转换单元5包括一位计数器51和并串转换模块52,并串转换使能连接一位计数器51和并串转换模块52,一位计数器51输出校验位有效时能,校验符号pLk,pLk+1,…,pLk+L-1作为并串转换模块52的输入,并串转换模块52 输出串行的校验符号向量p。
本发明提出的编码器装置采用现场可编程门阵列FPGA实现。说明书附图3 中的RAM存储器采用FPGA芯片中的IP核实现。
本发明以定义在有限域GF(26)上的码长为N=120个符号,码率为1/3的多进制非规则重复累加码为例,令L=8,J=2,介绍本专利设计的多进制非规则重复累加码编码器装置的实施效果。
多进制非规则重复累加码的矩阵分为两个部分H=[HI HP],一个多进制非规则重复累加码码字表示为c=[m p],由校验方程H×cT=0得 s=HI·mT=HP·pT,则校验符号的计算为我们的方案是将的计算过程并行化,从而提高编码器的吞吐量。
首先使用MATLAB生成80个有限域GF(2p)(p=6)上的符号作为中间向量s,然后将中间向量s每L=8个为一组转化为二进制的形式存放在s.txt文件中,将s.txt 文件中的中间向量s存储在RAM存储器中,RAM的宽度为48,深度为10,RAM 存储器中的内容如表1所示。
表1 RAM存储器的地址及内容
在读使能的控制下,按照地址递增的顺序每隔一个时钟周期读出RAM存储器的一个地址中的内容给串并转换单元,将RAM存储器中的中间向量s完全读出共需要20个时钟周期。串并转换单元的功能是每两个时钟周期中,第一个时钟周期以8路并行输出符号向量s给累加器阵列,第二个时钟周期输出0给并行累加器阵列电路。
累加器阵列单元接收串并转换单元的8路并行的符号向量s并且利用矩阵HP中的系数来进行累加操作,每两个时钟周期输出一组8路有效的校验符号,累加器阵列中的乘法器的系数αi,i(i=1,2,…,M)为矩阵HP主对角线上的元素,系数αi,i-1(i=2,3,…,M)为矩阵HP次对角线上的元素。为了降低硬件实现的复杂度,我们将矩阵HP的主对角线上的元素设为全1,将次对角线上的元素奇数行设为α37,偶数行设为α22,矩阵HP如式(1)所示。因此一个累加器只包含一个乘法器和一个加法器,并且乘法器的系数是固定的,相对于通用的乘法器来说实现方式更简单。
并行累加器阵列单元经过20个时钟周期之后得到20组符号,每组8个符号,其中每两个时钟周期有一组有效的校验符号,并串转换单元的功能是将每组的8 个符号转为串行,指示哪一组符号为有效的校验符号,并将有效的校验符号串行输出。
本实施例设计的多进制非规则重复累加码编码器在Xilinx Virtex5 XC5VLX110T的FPGA平台上进行了实现,设计在不违反硬件的建立时间和保持时间的约束下所能达到的最大频率Fmax=236.2MHz。所设计的编码器可以达到 5664Mbps的吞吐量,并且生成奇偶校验符号所需的时钟周期数为串行编码器的 J/L=1/4。使用ISE对设计的编码器进行综合,综合报告中显示本发明所设计的编码器的综合资源使用情况如表2所示。
表2编码器综合资源使用情况
上述说明示出并描述了本发明的若干优选实施方式,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施方式的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接受的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。
在本发明的描述中,需要理解的是,术语“上”、“下”、“前”、“后”、“左”、“右”、水平”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
Claims (5)
1.一种多进制非规则重复累加码并行编码装置,由控制电路(1)构成,其特征在于:所述控制电路(1)包括计数器11,所述计数器11输出的计数值连接四个比较器12、13、14、15,比较器12输出的RAM工作使能连接RAM存储单元(2),比较器13输出的串并转换使能连接串并转换单元(3),比较器14输出的编码工作使能连接累加器阵列单元(4),比较器15输出的并串转换使能连接并串转换单元(5),
所述RAM存储单元(2)的功能是接收M维的中间符号向量s并存储,RAM存储单元(2)输出串行的位宽为w=L×log2q的符号向量s_serial;所述RAM存储单元(2)的输出连接串并转换单元(3);
所述串并转换单元(3)的功能是将串行的中间符号向量s转换为L个并行的中间符号sLk,sLk+1,...,sLk+L-1,串并转换单元(3)的输出连接累加器阵列单元(4);
所述累加器阵列单元(4)的功能是根据并行的中间符号sLk,sLk+1,...,sLk+L-1、双对角校验矩阵HP中主对角线的元素αLk,Lk,…,αLk+L-1,Lk+L-1和双对角校验矩阵HP中次对角线的元素αLk,Lk-1,…,αLk+L-1,Lk+L-2计算L个并行的校验位符号pLk,pLk+1,...,pLk+L-1,所述累加器阵列单元(4)的输出连接并串转换单元(5);
所述并串转换单元(5)的功能是将并行的校验符号pLk,pLk+1,...,pLk+L-1转换为串行的校验符号向量p,其中Lk代表L×k,k=0,1,...,M0-1,M=N-K,M0=M/L,N为多进制非规则重复累积码的码字符号的长度,K为信息位的符号长度,L为电路的并行度,q为伽罗华域GF的阶数,双对角矩阵HP为多进制非规则重复累加码校验矩阵H=[HI HP]对应校验符号的部分。
2.一种多进制非规则重复累加码并行编码方法,其特征在于,包括以下步骤:
(一)将由校验矩阵H=[HI HP]中对应信息位部分的子矩阵HI与信息向量m的转置相乘计算得到的中间符号向量s=HI·mT配置为M0组,即其中,校验矩阵中对应信息位部分的子矩阵HI的大小为M×K,信息向量m的大小为1×K,M0=M/L,M=N-K,N为一个码字中的符号数,L为电路的并行度,即并行计算奇偶校验符号的个数;
向量sk(k=0,1,...,M0-1)和向量pk(k=0,1,...,M0-1)的形式分别为sk=(sLk,sLk+1,sLk+2,...,sLk+L-1)和pk=(pLk,pLk+1,pLk+2,...,pLk+L-1),其中Lk代表L×k;
(二)使用向量sk和校验矩阵中对应校验位部分的子矩阵HP来计算向量pk,其中,校验矩阵中对应校验位部分的子矩阵HP为双对角矩阵,其大小为M×M;将子矩阵HP的主对角线上的元素和次对角线上的元素分为M/L组,分别为αLk,Lk,…,αLk+L-1,Lk+L-1和αLk,Lk-1,…,αLk+L-1,Lk+L-2,其中k=0,1,...,M0-1;
当k=0时,向量p0按照下式计算,
当1≤k≤M0-1时,向量pk按照下式计算,
向量pk(k=0,1,...,M0-1)的计算采用L路并行累加器阵列电路实现;
(三)将L路并行累加器阵列电路进行J倍减速,使用J个时延来代替并行累加器阵列电路中的1个时延,并且电路经J倍减速之后,在输入采样点后加入J-1个空操作,来保证电路逻辑正确;
(四)将L路并行累加器阵列电路进行J倍减速之后的电路进行割集重定时,选择任意一个割集,将电路分为A和B两个部分,进一步,在该割集中所有由A至B的传输路径上增加1个时延,并将所有由B至A的传输路径上减少1个时延,即完成一次割集重定时,若关键路径仍然需要缩短可再次进行割集重定时。
3.根据权利要求2所述的一种多进制非规则重复累加码并行编码方法,其特征在于,所述步骤(二)中使用向量sk和子矩阵HP来计算向量pk采用L路并行累加器阵列电路实现,其中并行累加器阵列电路包括L个累加器和一个log2 q位的寄存器D,其中q为伽罗华域GF的阶数,所述L个累加器中的每个累加器都包括两个乘法器和一个加法器;
在以下描述中k=0,1,...,M0-1,i=2,3,...,L-1;
校验符号pLk+L-1通过寄存器D的输出和元素αLk,Lk-1作为第一累加器的第一乘法器的输入,所述第一累加器的第一乘法器的输出和中间符号sLk作为第一累加器的第一加法器的输入,所述第一累加器的第一加法器的输出和元素作为第一累加器的第二乘法器的输入,所述第一累加器的第二乘法器的输出为校验符号pLk作为第二累加器的第一乘法器的输入;
校验符号pLk+i-2和元素αLk+i-1,Lk+i-2作为第i累加器的第一乘法器的输入,所述第i累加器的第一乘法器的输出和符号sLk+i-1作为输入连接第i累加器的第一加法器,所述第i累加器的第一加法器的输出和元素作为输入连接第i累加器的第二乘法器,所述第i累加器的第二乘法器的输出为校验符号pLk+i-1;
校验符号pLk+L-2和元素αLk+L-1,Lk+L-2作为输入连接第L累加器的第一乘法器,所述第L累加器的第一乘法器的输出和符号sLk+L-1作为输入连接第L累加器的第一加法器,所述第L累加器的第一加法器的输出和符号αLk+L-1,Lk+L-1作为输入连接第L累加器的第二乘法器,所述第L累加器的第二乘法器的输出为校验符号pLk+L-1并作为输入连接log2q位的寄存器D。
4.根据权利要求2所述的一种多进制非规则重复累加码并行编码方法,其特征在于,所述步骤(三)中将L路并行累加器阵列电路进行J倍减速,使用J个时延来代替电路中的1个时延所得到的电路与L路并行累加器阵列电路的不同之处在于,经L路并行累加器阵列电路有一个log2 q位的寄存器D,L路并行累加器阵列电路经J倍减速后的电路有J个log2 q位的寄存器D。
5.根据权利要求2所述的一种多进制非规则重复累加码并行编码方法,其特征在于,所述步骤(四)中将L路并行累加器阵列电路进行J倍减速之后的电路进行割集重定时,选择任意一个割集,将电路分为A和B两个部分,进一步,在该割集中所有由A至B的传输路径上增加1个时延,并在所有由B至A的传输路径上减少1个时延得到的电路包括L个累加器和n=3L-2j+J-1个log2q位的寄存器D,其中j=2,3,...,L-1,所述L个累加器中的每个累加器都包括两个乘法器和一个加法器;
校验符号pLk+L-1经过J-1个寄存器D的输出和元素αLk,Lk-1作为输入连接第一累加器的第一乘法器,所述第一累加器的第一乘法器的输出和符号sLk作为输入连接所述第一累加器的第一加法器,所述第一累加器的第一加法器的输出和元素作为输入连接第一累加器的第二乘法器,所述第一累加器的第二乘法器的输出连接第二累加器的第一乘法器,所述第一累加器的第二乘法器的输出经过一个寄存器D得到校验符号pLk;
校验符号pLk+j-2和元素αLk+j-1,Lk+j-2作为输入连接第j累加器的第一乘法器,所述第j累加器的第一乘法器的输出和符号sLk+j-1作为输入连接第j累加器的第一加法器,所述第j累加器的第一加法器的输出和符号作为输入连接第j累加器的第二乘法器,所述第j累加器的第二乘法器的输出通过一个寄存器D得到校验符号pLk+j-1;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110558937.0A CN113300719B (zh) | 2021-05-21 | 2021-05-21 | 一种多进制非规则重复累加码并行编码装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110558937.0A CN113300719B (zh) | 2021-05-21 | 2021-05-21 | 一种多进制非规则重复累加码并行编码装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113300719A CN113300719A (zh) | 2021-08-24 |
CN113300719B true CN113300719B (zh) | 2022-07-08 |
Family
ID=77323799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110558937.0A Active CN113300719B (zh) | 2021-05-21 | 2021-05-21 | 一种多进制非规则重复累加码并行编码装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113300719B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117555515B (zh) * | 2024-01-11 | 2024-04-02 | 成都市晶蓉微电子有限公司 | 一种用于平衡性能与面积的数字asic串并结合乘法器 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101521511A (zh) * | 2008-02-28 | 2009-09-02 | 重庆无线绿洲通信技术有限公司 | 多元非规则ra码的构造与编码方法 |
CN101521514B (zh) * | 2008-10-13 | 2012-01-18 | 重庆无线绿洲通信技术有限公司 | 结合重复累积码的多元编码调制方法及装置 |
CN102611465B (zh) * | 2012-04-07 | 2014-08-06 | 西安电子科技大学 | 结构化多元非规则重复累积码的编码器与编码方法 |
CN103259598A (zh) * | 2013-05-21 | 2013-08-21 | 桂林电子科技大学 | 基于ira码的ofdm光纤无线通信方法和系统 |
CN109347486B (zh) * | 2018-10-11 | 2021-07-20 | 西安电子科技大学 | 低复杂度高吞吐率的5g ldpc编码器和编码方法 |
CN109921823B (zh) * | 2019-03-04 | 2019-12-27 | 中国人民解放军军事科学院国防科技创新研究院 | 扩频信号伪码快速捕获装置及捕获方法 |
-
2021
- 2021-05-21 CN CN202110558937.0A patent/CN113300719B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113300719A (zh) | 2021-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7657816B2 (en) | Low-complexity hybrid LDPC code encoder | |
Zhang et al. | Joint (3, k)-regular LDPC code and decoder/encoder design | |
US7774689B2 (en) | Encoding and decoding methods and systems | |
US8205147B2 (en) | Structured de-interleaving scheme for product code decoders | |
US20090083604A1 (en) | Ldpc encoders, decoders, systems and methods | |
US20120240003A1 (en) | Method, Apparatus, Computer Program Product and Device Providing Semi-Parallel Low Density Parity Check Decoding Using a Block Structured Parity Check Matrix | |
Kim et al. | A novel partially parallel architecture for high-throughput LDPC decoder for DVB-S2 | |
US8281210B1 (en) | Optimized correction factor for low-power min-sum low density parity check decoder (LDPC) | |
Theodoropoulos et al. | An efficient LDPC encoder architecture for space applications | |
CN109802687A (zh) | 一种基于fpga的qc-ldpc码的高速码率兼容ldpc编码器 | |
KR20060106132A (ko) | 연접 ldgm 부호 부호화/복호화 방법 | |
Mondal et al. | Efficient coding architectures for Reed–Solomon and low-density parity-check decoders for magnetic and other data storage systems | |
CN113300719B (zh) | 一种多进制非规则重复累加码并行编码装置及方法 | |
Gao et al. | High-performance concatenation decoding of Reed–Solomon codes with SPC codes | |
Chen et al. | A hybrid coding scheme for the Gilbert-Elliott channel | |
CN102820890A (zh) | 短码长多进制赋权重复累加码的编码器装置及方法 | |
KR20180122255A (ko) | 통신 또는 방송 시스템에서 채널 부호화/복호화 방법 및 장치 | |
WO2011144161A1 (zh) | 前向纠错方法、装置及系统 | |
Tsatsaragkos et al. | A flexible layered LDPC decoder | |
US8875001B1 (en) | Circuitry for parallel decoding of data blocks | |
CN101141132A (zh) | 一种准循环低密度奇偶校验码编码器和校验位生成方法 | |
Piriou et al. | Efficient architecture for Reed Solomon block turbo code | |
Kakde et al. | FPGA implementation of decoder architectures for high throughput irregular LDPC codes | |
Zeineddine et al. | Construction and hardware-efficient decoding of raptor codes | |
Mahdy et al. | Design and implementation of parallel branches for concatenated BCH and LDPC coding on FPGA |
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 |