CN102820890A - 短码长多进制赋权重复累加码的编码器装置及方法 - Google Patents
短码长多进制赋权重复累加码的编码器装置及方法 Download PDFInfo
- Publication number
- CN102820890A CN102820890A CN201210142412XA CN201210142412A CN102820890A CN 102820890 A CN102820890 A CN 102820890A CN 201210142412X A CN201210142412X A CN 201210142412XA CN 201210142412 A CN201210142412 A CN 201210142412A CN 102820890 A CN102820890 A CN 102820890A
- Authority
- CN
- China
- Prior art keywords
- output
- connects
- multiplier
- unit
- accumulator
- 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
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
一种短码长多进制赋权重复累加码的编码器装置:分别与控制电路相连接的输入信息符号缓存单元、编码运算单元和输出编码符号缓存单元,控制电路有依次连接的输入控制计数器、主控计数器和输出控制计数器,主控计数器输出的计数信号a通过计数比较器连接逻辑与门,主控计数器输出的门信号g分别连接逻辑与门和输出编码符号缓存单元,逻辑与门的输出分别连接输入信息符号缓存单元和编码运算单元,输出控制计数器的输出连接输出编码符号缓存单元;编码运算单元包括有依次连接的赋权重复累加运算单元、赋权累加单元和选择器,选择器还直接连接该编码运算单元的信号输入端。本发明的复杂度和编码时延均与码长呈线性关系,实现方式简单,便于在通信系统中应用。
Description
技术领域
本发明涉及一种编码器装置。特别是涉及一种低编码复杂度和存储单元需求的短码长多进制赋权重复累加码的编码器装置及方法。
背景技术
在现代数字信号传输与存储系统中,由于传输信道噪声或存储媒介的物理损伤等,常会造成数字信号的传输或存储的错误,因此,为保证数字信号传输或存储的可靠性,差错控制编码技术已成为一项标准技术。
低密度奇偶校验(Low-Density Parity-Check,LDPC)码是一种性能优越的差错控制编码技术,最早由Gallager于1962年提出,但是由于计算机技术与微电子技术等硬件技术的限制,在很长一段时间里LDPC码并没有得到重视和推广。直到1996年,D.MacKay和R.Neal重新发现LDPC码并证明其具有良好的纠错性能,LDPC码才受到越来越多的关注,并且随着集成电路技术的发展,利用超大规模集成电路实现LDPC码的编码器与译码器已不存在困难。
LDPC码是一类定义在稀疏矩阵H上的线性分组码。H是LDPC码的校验矩阵,对于任何一个合法码字c,都满足校验方程H·cT=0。这样,可以利用校验矩阵对LDPC码进行编码。LDPC码的译码主要采用软判决译码算法,软判决译码算法可以通过基于置信度传播(BeliefPropagation,BP)算法的迭代译码来实现,并且可以获得良好的误比特率性能。LDPC码的最大优势是:在码长很长时,能够获得逼近理论极限的性能;当采用迭代译码算法时,其译码复杂度较低,并且能够实现并行译码,非常适合当前高速的数据传输与存储应用领域。因此,LDPC码已经成为一种非常具有应用价值的纠错编码技术,在很多通信标准和通信系统中得到了应用,例如第二代数字卫星广播DVB-S2标准和无线城域网IEEE 802.16e标准等。
在LDPC码的发展过程中,主要有两种提高LDPC码性能的思路。一种方法是采用密度进化的方法,通过优化非规则的变量节点和校验节点的节点度分布,提高LDPC码的译码门限。但是这种方法仅适用于码长非常长的情况,且很难应用于其它类型的LDPC码,例如多进制LDPC码的优化设计。另一种方法是采用定义在高阶伽罗华域GF(q)(q>2)上的多进制LDPC码。定义在高阶伽罗华域GF(q)上的多进制LDPC码一般可以采用准循环或者代数方法来设计。
在中短码长条件下,定义在高阶伽罗华域GF(q)上的多进制LDPC码与二进制LDPC码相比可获得更低的译码门限。定义在高阶伽罗华域GF(q)上的多进制LDPC码的校验矩阵比二进制LDPC码的校验矩阵更加稀疏,具有更大的围长。这种稀疏性结构有利于避免校验矩阵二部图中短环的出现,可以减弱停止集对收敛性能的影响,使多进制LDPC码可以在较低的误码平台和快速的收敛性能之间取得较好的折衷。此外,针对定义在超稀疏图上的多进制LDPC码的优化工作已取得了很多进展,研究人员提出了针对多进制LDPC码的超稀疏图优化方法,并进一步提出了该类多进制LDPC码译码门限与误码平台的优化方法,设计出的高阶域上的多进制LDPC码的性能超越了性能优化的非规则二进制LDPC码。与二进制LDPC码相比,多进制LDPC码更适合应用于采用高阶调制方法的高速率通信系统。
虽然多进制LDPC码具有较好的纠错性能,但是多进制LDPC码的编译码复杂度较高,其硬件实现成为制约多进制LDPC码的发展与应用的瓶颈问题。
在译码方面,多进制LDPC码采用基于符号软信息的迭代译码算法。由于多进制LDPC码的符号为高阶伽罗华域GF(q)中的元素,因此多进制LDPC码的译码算法的复杂度不仅与码长和迭代次数有关,并且与高阶伽罗华域GF(q)的阶数也有密切的关系。这使得多进制LDPC码的译码算法的复杂度高于二进制LDPC码。为降低多进制LDPC码译码算法的复杂度,研究人员先后提出了各种简化的译码算法,包括基于快速傅里叶变换的置信度传播译码算法、最小和译码算法和扩展最小和译码算法等,目前各种优化的译码算法已经接近实用的程度。
在编码方面,由于多进制LDPC码的符号为高阶伽罗华域GF(q)中的元素,因此多进制LDPC码编码过程中所采用的运算均为定义在高阶伽罗华域GF(q)上的加法和乘法运算,复杂度较高,这使得多进制LDPC码的编码复杂度高于二进制LDPC码。此外,多进制LDPC码编码过程中需要存储多进制非零元素作为乘法器系数,因此编码器需要的存储资源也高于相应的二进制LDPC码。
发明内容
本发明所要解决的技术问题是,提供一种编码复杂度较低、编码时延较小的短码长多进制赋权重复累加码的编码器装置及方法。
本发明所采用的技术方案是:一种短码长多进制赋权重复累加码的编码器装置,包括:控制电路,分别与控制电路相连接的输入信息符号缓存单元、编码运算单元和输出编码符号缓存单元,所述的控制电路包括有依次连接的输入控制计数器、主控计数器和输出控制计数器,所述主控计数器输出的计数信号a通过计数比较器连接逻辑与门,所述的主控计数器输出的门信号g分别连接逻辑与门和输出编码符号缓存单元,所述的逻辑与门的输出分别连接输入信息符号缓存单元和编码运算单元,所述的输出控制计数器的输出连接输出编码符号缓存单元;所述的编码运算单元包括有依次连接的赋权重复累加运算单元、赋权累加单元和选择器,所述的选择器还直接连接该编码运算单元的信号输入端;其中,所述的输入控制计数器的输入端接收信息符号输入使能信号中的控制信号,所述输入信息符号缓存单元还分别连接信息符号输入使能信号和输入信息符号,所述的输出控制计数器的输出至编码符号输出使能端,所述的输出编码符号缓存单元的输出至输出编码符号端。
所述的赋权重复累加运算单元包括有分别连接输入信号的第一乘法器和第二乘法器,所述的第一乘法器和第二乘法器之间连接多进制权重系数存储阵列,所述的第一乘法器的输出连接第一累加器,所述的第二乘法器的输出连接第二累加器,所述的第一累加器和第二累加器还分别连接存储器阵列,所述存储器阵列还分别连接数据输出单元和非零元素位置存储阵列,所述的数据输出单元的输出构成该赋权重复累加运算单元的输出端,所述的存储器阵列是一组双口存储器阵列,存储器阵列的数据位宽为q比特,深度为M。
所述的赋权重复累加运算单元包括有分别连接输入信号的第一乘法器和第二乘法器,所述的第一乘法器和第二乘法器之间连接多进制权重系数存储阵列,所述的第一乘法器的输出连接第一累加器,所述的第二乘法器的输出连接第二累加器,所述的第一累加器还连接第一存储器,所述的第二累加器还连接第二存储器,所述的第一存储器和第二存储器之间连接非零元素位置存储阵列,所述的第一存储器和第二存储器的输出均连接数据选择输出单元,所述的数据选择输出单元的输出构成该赋权重复累加运算单元的输出端,所述的第一存储器和第二存储器是单口存储器,每组存储器的数据位宽为q比特,深度为M/2。
所述的赋权重复累加运算单元包括有连接输入信号的选通网络和构成输出端的顺序输出单元,所述的选通网络内部包括一个非零元素位置存储阵列,所述的选通网络的输出端与顺序输出单元的输入端之间连接有M路结构相同的数据支路,每一条数据支路均包括有依次相连的乘法器、累加器和寄存器,所述乘法器的输入端连接选通网络的输出端,所述寄存器的输出端分别连接累加器和顺序输出单元的输入端。
所述的赋权累加单元包括有依次连接的累加器、前向路径乘法器和寄存器,所述的寄存器的输出端构成该赋权累加单元的输出端,所述的累加器的输入端连接输入信号,所述的寄存器的输出端还通过一个反馈路径乘法器连接累加器,所述的反馈路径乘法器的输入端还连接存储器,所述的前向路径乘法器的输入端还连接存储器。
所述的赋权累加单元包括有输入端连接输入信号的累加器,所述累加器的输出连接寄存器,所述寄存器的输出端通过一个反馈路径乘法器连接累加器,所述的寄存器的输出端还构成该赋权累加单元的输出端,所述的反馈路径乘法器的输入端还连接存储器。
所述的赋权累加单元包括有输入端连接输入信号的累加器,所述累加器的输出连接寄存器,所述寄存器的输出端通过一个反馈路径乘法器连接累加器,所述的寄存器的输出端还构成该赋权累加单元的输出端,所述的反馈路径乘法器的系数设为常数b0。
所述的赋权累加单元包括有输入端连接输入信号的累加器,所述累加器的输出连接寄存器,所述寄存器的输出端分别连接累加器以及构成该赋权累加单元的输出端。
本发明的短码长多进制赋权重复累加码的编码器装置及方法,编码运算单元的校验符号支路由WRA运算单元和WA单元组成。其中,WRA运算单元可采用基于赋权重复运算电路与存储器阵列的结构和基于赋权重复运算电路与寄存器阵列的结构等两种方式实现。WA单元可设计为双乘法器WA单元、单乘法器WA单元、定系数单乘法器WA单元和简单累加单元四种形式。本发明的复杂度和编码时延均与码长呈线性关系,实现方式简单,便于在通信系统中应用。
附图说明
图1是本发明的短码长多进制赋权重复累加码的编码器装置的构成示意图;
图2是基于赋权重复运算电路与双口存储器阵列结构的WRA运算单元构成示意图;
图3是基于赋权重复运算电路与两组单口存储器阵列结构的WRA运算单元构成示意图;
图4是基于赋权重复运算电路与寄存器阵列结构的WRA运算单元构成示意图;
图5是双乘法器WA单元构成示意图;
图6是单乘法器WA单元构成示意图;
图7是定系数单乘法器WA单元构成示意图;
图8是简单WA单元构成示意图。
图中,
1:控制电路 2:输入信息符号缓存单元
3:编码运算单元 4:输出编码符号缓存单元
11:输入控制计数器 12:主控计数器
13:输出控制计数器 14:计数比较器
15:逻辑与门 31:赋权重复累加运算单元
32:赋权累加单元 33:选择器
具体实施方式
下面结合实施例和附图对本发明的短码长多进制赋权重复累加码的编码器装置做出详细说明。
本发明的短码长多进制赋权重复累加码的编码器装置采用现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或超大规模集成电路(Vary Large Scale Integration,VLSI)实现。本发明提出的编码器装置在编码过程中所涉及的多进制符号代表GF(2q)域中的元素,因此,编码器装置中的加法器和乘法器的功能为实现GF(2q)域中的元素加法和GF(2q)域中的元素乘法。
如图1所示,本发明的短码长多进制赋权重复累加码的编码器装置,包括:控制电路1,分别与控制电路1相连接的输入信息符号缓存单元2、编码运算单元3和输出编码符号缓存单元4,所述的控制电路1包括有依次连接的输入控制计数器11、主控计数器12和输出控制计数器13,所述主控计数器12输出的计数信号a通过计数比较器14连接逻辑与门15,所述的主控计数器12输出的门信号g分别连接逻辑与门15和输出编码符号缓存单元4,所述的逻辑与门15的输出分别连接输入信息符号缓存单元2和编码运算单元3,所述的输出控制计数器13的输出连接输出编码符号缓存单元4;所述的编码运算单元3包括有依次连接的赋权重复累加(Weighted Repeat-Accumulate,WRA)运算单元31、赋权累加(Weighted Accumulate,WA)单元32和选择器33,所述的选择器33还直接连接该编码运算单元3的信号输入端;其中,所述的输入控制计数器11的输入端接收信息符号输入使能信号A中的控制信号,所述输入信息符号缓存单元2还分别连接信息符号输入使能信号A和输入信息符号B,所述的输出控制计数器13的输出至编码符号输出使能端C,所述的输出编码符号缓存单元4的输出至输出编码符号端D。
在控制电路模块内部,输入控制计数器的计数使能信号与控制电路模块的输入控制信号相连,进一步与编码器的信息符号输入使能信号相连。本发明的编码器启动后,控制电路模块处于信息符号缓存状态。在该状态下,输入控制计数器在本发明的编码器的信息符号输入使能信号有效的时间段内,根据系统时钟信号进行计数。信息符号输入使能信号在本发明的编码器内部还与输入信息符号缓存单元的输入使能信号相连。在信息符号输入使能信号有效时,输入信息符号缓存单元在每个系统时钟周期内接收并存储一个信息符号。当输入控制计数器的计数值达到N-M时,表明本发明的编码器的输入信息符号缓存单元已经接收并存储了N-M个信息符号。这时,输入控制计数器将自身的计数值清零并向主控计数器发送计数启动脉冲信号,使得控制电路模块由信息符号缓存状态转换为编码缓存状态。
主控计数器在接收到计数启动脉冲信号后启动计数周期并根据系统时钟信号进行计数。在主控计数器的计数周期内,主控计数器输出的门信号g保持为高电平状态,主控计数器的计数信号a将计数器的计数值输出至计数比较器。主控计数器输出的门信号g与控制电路模块的输出缓存使能信号相连,并且与计数比较器的输出信号共同作为逻辑与门的输入信号。逻辑与门的输出信号与控制电路模块的编码运算使能信号相连。在计数信号a的计数值小于N-M时,计数比较器的输出信号保持为高电平;计数信号a的计数值大于等于N-M时,计数比较器的输出信号为低电平。这样,在主控计数器的计数周期内,控制电路模块的输出缓存使能信号始终保持为高电平,使得本发明的编码器的输出编码符号缓存单元的输入使能信号有效。在主控计数器的计数周期内,当主控计数器的计数值小于N-M时,控制电路模块的编码运算使能信号为高电平状态,使得输入信息符号缓存单元的输出使能信号和编码运算单元的编码使能信号有效;当主控计数器的计数值大于等于N-M时,控制电路模块的编码运算使能信号为低电平状态。在主控计数器启动计数并经过N个系统时钟周期后,计数值达到计数器的计数模值。这时主控计数器将自身的计数值清零并将输出的门信号g转换为低电平状态,同时向输出控制计数器发送计数启动脉冲信号,使得控制电路模块由编码缓存状态转换至编码符号输出状态。
输出控制计数器在接收到计数启动脉冲信号后启动计数周期并根据系统时钟信号进行计数。在输出控制计数器的计数周期内,输出控制计数器保持向控制电路模块的输出控制信号端输出高电平信号,使得输出编码符号缓存单元的输出使能信号和编码器的编码符号输出使能信号保持为高电平有效状态。在输出控制计数器启动计数并经过N个系统时钟周期后,计数值达到计数器的计数模值。这时输出控制计数器将自身的计数值清零并将输出信号转换为低电平信号,使得输出编码符号缓存单元的输出使能信号和编码器的编码符号输出使能信号转换至无效状态。控制电路模块由编码符号输出状态转换为信息符号缓存状态。
控制电路控制本发明的短码长多进制赋权重复累加码的编码器的整体时序,在一个编码周期中,控制电路控制输入信息符号缓存单元按顺序将存储的信息符号逐个发送至编码运算单元,编码运算单元完成编码后,控制电路控制输出编码符号缓存单元接收编码运算单元输出的编码码字,在一个编码周期结束后,控制电路控制输出编码符号缓存单元输出其存储的编码码字。
输入信息符号缓存单元存储编码器接收的长度为N-M的信息符号向量m,输出编码符号缓存单元存储由编码运算单元生成的长度为N的编码符号向量c。
编码运算单元由信息符号处理支路、校验符号处理支路和选择器组成,信息符号处理支路直接输出信息符号向量m,校验符号处理支路由赋权重复累加(WRA)运算单元和赋权累加(WA)单元组成,信息符号向量m经WRA运算单元生成编码中间向量s,编码中间向量s经WA单元生成校验符号向量p,选择器顺序输出信息符号向量m和校验符号向量p,生成编码码字c。
本发明的WRA运算单元可采用两种不同结构实现,一种是基于赋权重复运算电路与存储器阵列的结构,另外一种是基于赋权重复运算电路与寄存器阵列的结构。
基于赋权重复运算电路与存储器阵列结构的WRA运算单元中包括两路赋权重复运算电路和一个存储器阵列,赋权重复运算电路由一个乘法器和一个累加器组成,存储器阵列可采用两种方式实现,一种方式是采用一组双口随机存取存储器(Random Access Memory,RAM),双口RAM的数据位宽为q比特,深度为M,另一种方式是采用两组单口RAM,每组单口RAM的数据位宽为q比特,深度为M/2。
WRA运算单元接收到一个q比特符号后,将其同时发送至两路赋权重复运算电路,两路赋权重复运算电路首先采用乘法器对接收的符号进行赋权,然后将乘法器的运算结果输出至累加器,与从存储器阵列中读取的前一时刻数据进行累加,最后将累加器的累加结果存入存储器阵列中读取前一时刻数据的存储单元,覆盖累加器读取的数据。
两路赋权重复运算电路的乘法器系数存储于多进制权重系数存储阵列中,多进制权重系数存储阵列由两组深度为N-M的只读存储器(Read-Only Memory,ROM)组成,ROM中各存储单元的存储内容为GF(2q)域中的非零元素,在一个编码周期中,多进制权重系数存储阵列按存储顺序将两组ROM中各存储单元的数据分别输出至两路赋权重复运算电路的乘法器,每次乘法两组ROM各输出一个存储单元的数据。
两路赋权重复运算电路的前一时刻数据的读取地址存储于非零元素位置存储阵列中,非零元素位置存储阵列由两组深度为N-M的ROM组成,非零元素位置存储阵列中存储的地址值为[0,M-1]区间内的整数值且M与N满足关系式(N-M)/M=k/(k+2),k=1,2,3,…,同一地址值存储于非零元素存储阵列的k个不同存储单元中,两组ROM中相同位置的存储单元不能存储相同的地址值,对于采用两组单口RAM方式的存储器阵列,非零元素位置存储阵列中的两组ROM需要分别存储偶数地址值和奇数地址值,在一个编码周期内,赋权重复运算电路读取前一时刻数据过程中,非零元素位置存储阵列按存储顺序输出各存储单元的地址值。
在一个编码周期中,WRA运算单元在接收并处理N-M个符号后,输出存储器阵列中的数据生成长度为M的编码中间向量s,对于采用一组双口RAM方式的存储器阵列,WRA运算单元采用数据输出单元顺序输出存储器阵列中的M个数据,对于采用两组单口RAM方式的存储器阵列,WRA运算单元采用数据选择输出单元轮流交替输出存储器阵列中两组单口RAM中的M个数据。
如图2所示,所述的赋权重复累加运算单元31是采用一组双口随机存取存储器(RandomAccess Memory,RAM),双口RAM的数据位宽为q比特,深度为M时,其结构是,包括有分别连接输入信号的第一乘法器311和第二乘法器312,所述的第一乘法器311和第二乘法器312之间连接多进制权重系数存储阵列318,所述的第一乘法器311的输出连接第一累加器313,所述的第二乘法器312的输出连接第二累加器314,所述的第一累加器313和第二累加器314还分别连接存储器阵列315,所述存储器阵列315还分别连接数据输出单元316和非零元素位置存储阵列317,所述的数据输出单元316的输出构成该赋权重复累加运算单元的输出端,所述的存储器阵列315是一组双口存储器阵列,存储器阵列的数据位宽为q比特,深度为M。
每个编码周期中,WRA运算单元接收N-M个信息符号进行编码,生成长度为M的编码中间向量s。在编码周期的初始阶段,WRA运算单元中存储器阵列的存储单元初始化为0值。对于每个接收到的q比特信息符号,WRA运算单元的编码操作分为以下三步。
第一步:赋权。
WRA运算单元将接收到的q比特信息符号同时发送至两路赋权重复运算电路。两路赋权重复运算电路接收的数据分别经乘法器与乘法器系数相乘,完成赋权操作。
两路赋权重复运算电路的乘法器系数存储于多进制权重系数存储阵列中。多进制权重系数存储阵列由两组深度为N-M的ROM组成,ROM中各存储单元的存储内容为GF(2q)域中的非零元素。在一个编码周期中,多进制权重系数存储阵列按存储顺序将两组ROM中各存储单元的数据分别输出至两路赋权重复运算电路的乘法器,每次乘法两组ROM各输出一个存储单元的数据。
第二步:重复累加。
各数据支路的累加器从存储器阵列读取前一时刻的数据,并将前一时刻的数据与乘法器运算结果相累加。
两路赋权重复运算电路的前一时刻数据的读取地址存储于非零元素位置存储阵列中。非零元素位置存储阵列由两组深度为N-M的ROM组成,非零元素位置存储阵列中存储的地址值为[0,M-1]区间内的整数值,且M与N满足关系式(N-M)/M=k/(k+2),k=1,2,3,…。同一地址值存储于非零元素存储阵列的k个不同存储单元中。两组ROM中相同位置的存储单元不能存储相同的地址值。在一个编码周期内,赋权重复运算电路读取前一时刻数据过程中,非零元素位置存储阵列按存储顺序输出各存储单元中的地址值。
第三步:存储。
两路数据支路将累加器的累加结果存入存储器阵列中输出前一时刻数据的存储单元,覆盖累加器读取的数据。
在一个编码周期中,WRA运算单元在接收并处理N-M个符号后,采用数据输出单元顺序输出存储器阵列中的M个数据,生成长度为M的编码中间向量s。
如图3所示,所述的赋权重复累加运算单元31是采用两组单口RAM,每组单口RAM的数据位宽为q比特,深度为M/2时,包括有分别连接输入信号的第一乘法器311和第二乘法器312,所述的第一乘法器311和第二乘法器312之间连接多进制权重系数存储阵列318,所述的第一乘法器311的输出连接第一累加器313,所述的第二乘法器312的输出连接第二累加器314,所述的第一累加器313还连接第一存储器319,所述的第二累加器314还连接第二存储器3110,所述的第一存储器319和第二存储器3110之间连接非零元素位置存储阵列317,所述的第一存储器319和第二存储器3110的输出均连接数据选择输出单元3111,所述的数据选择输出单元322的输出构成该赋权重复累加运算单元的输出端,所述的第一存储器319和第二存储器3110是单口存储器,每组存储器的数据位宽为q比特,深度为M/2。
对于基于赋权重复运算电路与单口RAM存储器阵列结构的WRA运算单元,非零元素位置存储阵列中的两组ROM需要分别存储偶数地址值和奇数地址值,在一个编码周期的前一时刻数据读取过程中,非零元素位置存储阵列按存储顺序将两组ROM中各存储单元中的地址值分别发送至存储器阵列中的两组单口RAM。在一个编码周期中,基于赋权重复运算电路与单口RAM存储器阵列结构的WRA运算单元在接收并处理N-M个符号后,采用数据选择输出单元交替输出存储器阵列中两组单口RAM中的M个数据,组成长度为M的编码中间向量s。
如图4所示,所述的赋权重复累加运算单元31包括有连接输入信号的选通网络3112和构成输出端的顺序输出单元3113,所述的选通网络3112内部包括一个非零元素位置存储阵列,所述的选通网络3112的输出端与顺序输出单元3113的输入端之间连接有M路结构相同的数据支路,每一条数据支路均包括有依次相连的乘法器31a、累加器31b和寄存器31d,所述乘法器31a的输入端连接选通网络3112的输出端,所述寄存器31d的输出端分别连接累加器31b和顺序输出单元3113的输入端。选通网络内部包括一个非零元素位置存储阵列,非零元素位置存储阵列的设计方法与基于赋权重复运算电路与存储器阵列结构的WRA运算单元中非零元素位置存储阵列的设计方法相同。
在编码周期的初始阶段,各条数据支路的寄存器初始化为0值。在一个编码周期中,WRA运算单元接收到第j个信息符号后将对其进行以下三步操作。
第一步:选通。
选通网络读取非零元素位置存储阵列中两组ROM的第j个存储单元存储的地址值,然后根据读取的地址值选通两路数据支路,并将接收的信息符号发送至被选通的两路数据支路。
第二步:赋权。
两路选通的数据支路接收的数据经赋权重复运算电路中的乘法器与乘法器系数相乘,完成赋权操作。
赋权重复运算电路中的乘法器系数存储于多进制权重系数存储阵列中。多进制权重系数存储阵列的设计方法与基于赋权重复运算电路与存储器阵列结构的WRA运算单元中多进制权重系数存储阵列的设计方法相同。在一个编码周期中,多进制权重系数存储阵列按存储顺序将两组ROM中各存储单元的数据分别输出至被选通的两路数据支路的乘法器,每次乘法两组ROM各输出一个存储单元的数据。
第三步:重复累加。
赋权重复运算电路中的乘法器运算结果输出至累加器,与寄存器中的原有数据累加并将累加结果存入寄存器中。
在一个编码周期中,赋权重复运算电路在接收并处理N-M个符号后,采用顺序输出单元按顺序选通输出M路数据支路寄存器中的数据生成长度为M的编码中间向量s。
WRA运算单元对接收的N-M个信息符号进行编码生成编码中间向量s后,将编码中间向量s输出至WA单元进行校验符号编码。
WA单元可采用双乘法器WA单元,也可进一步简化为单乘法器WA单元、定系数单乘法器WA单元或简单WA单元,具体实现中可从各种结构中选择一种结构。
双乘法器WA单元包括一个累加器,一个位宽为q比特的寄存器,一个前向路径乘法器,一个反馈路径乘法器以及前向路径与反馈路径乘法器系数存储器,前向路径乘法器系数(α0,α1,…,αM-1)和反馈路径乘法器系数(β1,β2,…,βM-1)均存储于相应的乘法器系数存储器中,前向路径乘法器系数存储器的深度为M,反馈路径乘法器系数存储器的深度为M-1,乘法器系数存储器中的存储内容为GF(2q)域中的非零元素。
在一个编码周期中,双乘法器WA单元每接收到一个q比特的符号,首先通过累加器将其与从寄存器读取并经过反馈路径乘法器赋权的前一时刻数据累加,然后将累加结果通过前向路径乘法器赋权后存入寄存器并作为校验符号输出,在一个编码周期中,前向路径乘法器系数存储器按存储顺序输出各存储单元的数据,每次乘法输出一个存储单元的数据;反馈路径乘法器系数存储器在WA单元接收到第二个符号时按顺序输出各存储单元的数据,每次乘法同样输出一个存储单元的数据。
如图5所示,所述的赋权累加单元32是双乘法器WA单元的基于赋权重复运算电路与寄存器阵列结构的WRA运算单元时,包括有依次连接的累加器321、前向路径乘法器322和位宽为q比特的寄存器323,所述的寄存器323的输出端构成该赋权累加单元32的输出端,所述的累加器321的输入端连接输入信号,所述的寄存器323的输出端还通过一个反馈路径乘法器324连接累加器321,所述的反馈路径乘法器324的输入端还连接存储器325,所述的前向路径乘法器322的输入端还连接存储器326。
每个编码周期中,WA单元接收由M个符号组成的编码中间向量s,经过赋权累加处理,生成长度为M的校验符号向量p。在编码周期的初始阶段,寄存器初始化为0值。
在一个编码周期中,双乘法器WA单元对每一个接收到的q比特符号进行的操作分为以下三步。
第一步:对前一时刻数据赋权。
双乘法器WA单元读取寄存器的前一时刻数据,并经反馈路径乘法器将寄存器的前一时刻数据与反馈路径乘法器系数相乘,完成对前一时刻数据的赋权操作。之后通过反馈路径将赋权的前一时刻数据输出至累加器。
反馈路径乘法器的系数存储于反馈路径乘法器系数存储器中。反馈路径乘法器系数存储器的深度为M-1,各存储单元的存储内容为GF(2q)域中的非零元素。在一个编码周期中,反馈路径乘法器系数存储器在WA单元接收到第二个符号时按顺序输出各存储单元的数据,每次乘法输出一个存储单元的数据。
第二步:累加。
累加器将WA单元接收的q比特符号与从反馈路径接收的赋权的前一时刻数据累加。累加运算完成后,将累加结果输出至前向路径乘法器。
第三步:赋权。
前向路径乘法器将累加器的运算结果与前向路径乘法器的系数相乘,得到校验符号,之后将校验符号存入寄存器并输出。
前向路径乘法器的系数存储于前向路径乘法器系数存储器中。前向路径乘法器系数存储器的深度为M,各存储单元的存储内容同样为GF(2q)域中的非零元素。在一个编码周期中,前向路径乘法器系数存储器按存储顺序输出各存储单元的数据,每次乘法输出一个存储单元的数据。
WA单元在每个编码周期输出M各编码符号,生成编码符号向量p。
双乘法器WA单元可去掉前向路径乘法器,简化为单乘法器WA单元,此时乘法器系数存储器需要存储的数据量为M-1。
如图6所示,所述的赋权累加单元32为单乘法器WA单元时,包括有输入端连接输入信号的累加器321,所述累加器321的输出连接寄存器323,所述寄存器323的输出端通过一个反馈路径乘法器324连接累加器321,所述的寄存器323的输出端还构成该赋权累加单元32的输出端,所述的反馈路径乘法器324的输入端还连接存储器325。
双乘法器WA单元在去掉前向路径乘法器后,进一步将反馈路径乘法器的系数设为常数,可简化为定系数单乘法器WA单元。
如图7所示,所述的赋权累加单元32是定系数单乘法器WA单元时,包括有输入端连接输入信号的累加器321,所述累加器321的输出连接寄存器323,所述寄存器323的输出端通过一个反馈路径乘法器324连接累加器321,所述的寄存器323的输出端还构成该赋权累加单元32的输出端,所述的反馈路径乘法器324的系数设为常数β0。
双乘法器WA单元也可同时去掉前向路径乘法器和反馈路径乘法器,简化为简单WA单元。
如图8所示,所述的赋权累加单元32是简单WA单元时,包括有输入端连接输入信号的累加器321,所述累加器321的输出连接寄存器323,所述寄存器323的输出端分别连接累加器321以及构成该赋权累加单元32的输出端。
具体实施例
本发明提出的编码器装置可采用现场可编程门阵列(Field Programmable Gate Array,FPGA)实现。说明书附图2中的双口随机存取存储器(Random Access Memory,RAM)模块和附图3中的RAM模块可采用FPGA芯片中集成的RAM模块实现。附图2和附图3中的多进制权重系数存储阵列和非零元素位置存储阵列,附图4中选通网络内部的非零元素位置存储阵列,以及附图5和附图6中的乘法器系数存储器均可采用FPGA芯片内部集成的只读存储器(Read-Only Memory,ROM)模块实现。
如果采用独立的RAM模块和ROM模块实现本专利提出的编码器装置,附图2中的双口RAM模块可采用CYPRESS公司的型号为CY7C0251E-15AXC的双端口RAM芯片实现,附图3中的RAM模块可采用CYPRESS公司的型号为CY7C1325G-133AXC的RAM芯片实现。附图2和附图3中的多进制权重系数存储阵列和非零元素位置存储阵列,附图4中选通网络内部的非零元素位置存储阵列,以及附图5和附图6中的乘法器系数存储器均可采用ATMEL公司的型号为AT28C256-15PC的ROM芯片实现。
本发明以定义在有限域GF(26)上的码长为120个符号,码率为1/3的多进制赋权重复累加码为例,介绍本专利设计的短码长多进制赋权重复累加码的编码器装置的实施效果。
本实施例中设计的短码长多进制赋权重复累加码的编码器装置中,WRA运算单元采用基于赋权重复运算电路与两组单口RAM阵列的结构,如附图3所示。WA单元为单乘法器WA单元,如附图6所示。
WRA运算单元中,存储器阵列中的两组单口RAM的深度为40,存储单元的数据位宽为6比特。多进制权重系数存储阵列由两组深度为40的ROM组成,两组ROM中各存储单元存储的GF(26)域非零元素如表1和表2所示。非零元素位置存储阵列由两组深度为40的ROM组成,两组ROM中各存储单元存储的地址值如表3和表4所示。WA单元中,寄存器的数据位宽为6比特。反馈路径乘法器系数存储器的深度为39,各存储单元存储的GF(26)域非零元素如表5所示。
本实施例中采用十进制数值表示GF(26)域的元素,十进制数值0对应GF(26)域的0元素,十进制数值i对应GF(26)域的非零元素αi-1,i=1,2,3,…,63。存储GF(26)域元素的存储单元中,各比特位的值为GF(26)域元素的多项式系数,例如以α6+α+1为本元多项式,非零元素α15的多项式为α3+α5,对应存储单元的存储内容为000101。
表1多进制权重系数存储阵列中ROM1存储的GF(26)域非零元素
表2多进制权重系数存储阵列中ROM2存储的GF(26)域非零元素
表3非零元素位置存储阵列中ROM1存储的地址值
表4非零元素位置存储阵列中ROM2存储的地址值
表5反馈路径乘法器系数存储器存储的GF(26)域非零元素
编码过程中,编码运算单元将长度为40个GF(26)域元素符号的信息符号向量m同时输入信息符号支路和校验符号支路的WRA运算单元。WRA运算单元经过41个时钟周期,生成长度为80个GF(26)域元素符号的编码中间向量s,并发送至WA单元。WA单元经过84个时钟周期,生成长度为80个GF(26)域元素符号的校验符号向量p。进一步,编码运算单元通过选择器顺序输出信息符号向量m和校验符号向量p,生成编码码字c。仿真验证了编码器逻辑正确。
本实施例设计的短码长多进制赋权重复累加码的编码器所采用的器件为Xilinx Virtex5XC5VLX110T,并使用Xilinx ISE10.1的综合器XST对设计的编码器进行综合。综合报告中显示WRA运算单元的逻辑资源使用情况如表6所示,WA单元的逻辑资源使用情况如表7所示,复杂度低。
表6WRA运算单元使用的逻辑资源数量
表7WA单元使用的逻辑资源数量
以上详细说明了本发明的具体实施方式,但本发明的保护范围并不局限于此,采用类似的多进制纠错码编码器装置设计方法,任何所属技术领域的技术人员,在不脱离本发明的精神和范围内,均可做些许更动与改进,但其均应属于本发明的权利要求的保护范围。因此,本发明的保护范围应该以权利要求书的保护范围为准。本发明针对数字通信差错控制编码领域,包括数字通信系统中的信道编码器的设计均可采用本发明的方法,若采用则均受本发明的权利要求约束。
Claims (8)
1.一种短码长多进制赋权重复累加码的编码器装置,其特征在于,包括:控制电路(1),分别与控制电路(1)相连接的输入信息符号缓存单元(2)、编码运算单元(3)和输出编码符号缓存单元(4),所述的控制电路(1)包括有依次连接的输入控制计数器(11)、主控计数器(12)和输出控制计数器(13),所述主控计数器(12)输出的计数信号a通过计数比较器(14)连接逻辑与门(15),所述的主控计数器(12)输出的门信号g分别连接逻辑与门(15)和输出编码符号缓存单元(4),所述的逻辑与门(15)的输出分别连接输入信息符号缓存单元(2)和编码运算单元(3),所述的输出控制计数器(13)的输出连接输出编码符号缓存单元(4);所述的编码运算单元(3)包括有依次连接的赋权重复累加运算单元(31)、赋权累加单元(32)和选择器(33),所述的选择器(33)还直接连接该编码运算单元(3)的信号输入端;其中,所述的输入控制计数器(11)的输入端接收信息符号输入使能信号(A)中的控制信号,所述输入信息符号缓存单元(2)还分别连接信息符号输入使能信号(A)和输入信息符号(B),所述的输出控制计数器(13)的输出至编码符号输出使能端(C),所述的输出编码符号缓存单元(4)的输出至输出编码符号端(D)。
2.根据权利要求1所述的短码长多进制赋权重复累加码的编码器装置,其特征在于,所述的赋权重复累加运算单元(31)包括有分别连接输入信号的第一乘法器(311)和第二乘法器(312),所述的第一乘法器(311)和第二乘法器(312)之间连接多进制权重系数存储阵列(318),所述的第一乘法器(311)的输出连接第一累加器(313),所述的第二乘法器(312)的输出连接第二累加器(314),所述的第一累加器(313)和第二累加器(314)还分别连接存储器阵列(315),所述存储器阵列(315)还分别连接数据输出单元(316)和非零元素位置存储阵列(317),所述的数据输出单元(316)的输出构成该赋权重复累加运算单元的输出端,所述的存储器阵列(315)是一组双口存储器阵列,存储器阵列的数据位宽为q比特,深度为M。
3.根据权利要求1所述的短码长多进制赋权重复累加码的编码器装置,其特征在于,所述的赋权重复累加运算单元(31)包括有分别连接输入信号的第一乘法器(311)和第二乘法器(312),所述的第一乘法器(311)和第二乘法器(312)之间连接多进制权重系数存储阵列(318),所述的第一乘法器(311)的输出连接第一累加器(313),所述的第二乘法器(312)的输出连接第二累加器(314),所述的第一累加器(313)还连接第一存储器(319),所述的第二累加器(314)还连接第二存储器(3110),所述的第一存储器(319)和第二存储器(3110)之间连接非零元素位置存储阵列(317),所述的第一存储器(319)和第二存储器(3110)的输出均连接数据选择输出单元(3111),所述的数据选择输出单元(322)的输出构成该赋权重复累加运算单元的输出端,所述的第一存储器(319)和第二存储器(3110)是单口存储器,每组存储器的数据位宽为q比特,深度为M/2。
4.根据权利要求1所述的短码长多进制赋权重复累加码的编码器装置,其特征在于,所述的赋权重复累加运算单元(31)包括有连接输入信号的选通网络(3112)和构成输出端的顺序输出单元(3113),所述的选通网络(3112)内部包括一个非零元素位置存储阵列,所述的选通网络(3112)的输出端与顺序输出单元(3113)的输入端之间连接有M路结构相同的数据支路,每一条数据支路均包括有依次相连的乘法器(31a)、累加器(31b)和寄存器(31d),所述乘法器(31a)的输入端连接选通网络(3112)的输出端,所述寄存器(31d)的输出端分别连接累加器(31b)和顺序输出单元(3113)的输入端。
5.根据权利要求1所述的短码长多进制赋权重复累加码的编码器装置,其特征在于,所述的赋权累加单元(32)包括有依次连接的累加器(321)、前向路径乘法器(322)和寄存器(323),所述的寄存器(323)的输出端构成该赋权累加单元(32)的输出端,所述的累加器(321)的输入端连接输入信号,所述的寄存器(323)的输出端还通过一个反馈路径乘法器(324)连接累加器(321),所述的反馈路径乘法器(324)的输入端还连接存储器(325),所述的前向路径乘法器(322)的输入端还连接存储器(326)。
6.根据权利要求1所述的短码长多进制赋权重复累加码的编码器装置,其特征在于,所述的赋权累加单元(32)包括有输入端连接输入信号的累加器(321),所述累加器(321)的输出连接寄存器(323),所述寄存器(323)的输出端通过一个反馈路径乘法器(324)连接累加器(321),所述的寄存器(323)的输出端还构成该赋权累加单元(32)的输出端,所述的反馈路径乘法器(324)的输入端还连接存储器(325)。
7.根据权利要求1所述的短码长多进制赋权重复累加码的编码器装置,其特征在于,所述的赋权累加单元(32)包括有输入端连接输入信号的累加器(321),所述累加器(321)的输出连接寄存器(323),所述寄存器(323)的输出端通过一个反馈路径乘法器(324)连接累加器(321),所述的寄存器(323)的输出端还构成该赋权累加单元(32)的输出端,所述的反馈路径乘法器(324)的系数设为常数β0。
8.根据权利要求1所述的短码长多进制赋权重复累加码的编码器装置,其特征在于,所述的赋权累加单元(32)包括有输入端连接输入信号的累加器(321),所述累加器(321)的输出连接寄存器(323),所述寄存器(323)的输出端分别连接累加器(321)以及构成该赋权累加单元(32)的输出端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210142412.XA CN102820890B (zh) | 2012-05-09 | 2012-05-09 | 短码长多进制赋权重复累加码的编码器装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210142412.XA CN102820890B (zh) | 2012-05-09 | 2012-05-09 | 短码长多进制赋权重复累加码的编码器装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102820890A true CN102820890A (zh) | 2012-12-12 |
CN102820890B CN102820890B (zh) | 2015-02-18 |
Family
ID=47304780
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210142412.XA Expired - Fee Related CN102820890B (zh) | 2012-05-09 | 2012-05-09 | 短码长多进制赋权重复累加码的编码器装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102820890B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102751994A (zh) * | 2012-06-28 | 2012-10-24 | 天津大学 | 一种基于两个有限群符号的短码长分组码译码器装置 |
CN108108150A (zh) * | 2017-12-19 | 2018-06-01 | 北京云知声信息技术有限公司 | 乘累加运算方法及装置 |
CN110213019A (zh) * | 2019-05-28 | 2019-09-06 | 湖北三江航天险峰电子信息有限公司 | 一种pcm信号编码系统及方法 |
CN111490770A (zh) * | 2020-04-15 | 2020-08-04 | 联合华芯电子有限公司 | 多进制符号逻辑与运算的实现电路及方法 |
CN113836481A (zh) * | 2020-06-24 | 2021-12-24 | 北京希姆计算科技有限公司 | 矩阵计算电路、方法、电子设备及计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6141788A (en) * | 1998-03-13 | 2000-10-31 | Lucent Technologies Inc. | Method and apparatus for forward error correction in packet networks |
CN1717871A (zh) * | 2002-10-05 | 2006-01-04 | 数字方敦股份有限公司 | 连锁反应码的系统编码和解码 |
-
2012
- 2012-05-09 CN CN201210142412.XA patent/CN102820890B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6141788A (en) * | 1998-03-13 | 2000-10-31 | Lucent Technologies Inc. | Method and apparatus for forward error correction in packet networks |
CN1717871A (zh) * | 2002-10-05 | 2006-01-04 | 数字方敦股份有限公司 | 连锁反应码的系统编码和解码 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102751994A (zh) * | 2012-06-28 | 2012-10-24 | 天津大学 | 一种基于两个有限群符号的短码长分组码译码器装置 |
CN102751994B (zh) * | 2012-06-28 | 2015-06-17 | 天津大学 | 一种基于两个有限群符号的短码长分组码译码器装置 |
CN108108150A (zh) * | 2017-12-19 | 2018-06-01 | 北京云知声信息技术有限公司 | 乘累加运算方法及装置 |
CN110213019A (zh) * | 2019-05-28 | 2019-09-06 | 湖北三江航天险峰电子信息有限公司 | 一种pcm信号编码系统及方法 |
CN111490770A (zh) * | 2020-04-15 | 2020-08-04 | 联合华芯电子有限公司 | 多进制符号逻辑与运算的实现电路及方法 |
CN113836481A (zh) * | 2020-06-24 | 2021-12-24 | 北京希姆计算科技有限公司 | 矩阵计算电路、方法、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102820890B (zh) | 2015-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100568755C (zh) | 用于编码和解码具有可变编码率的块低密度奇偶校验码的装置和方法 | |
Chen et al. | Memory system optimization for FPGA-based implementation of quasi-cyclic LDPC codes decoders | |
RU2391774C2 (ru) | Устройство декодирования и устройство приема | |
CN102075198B (zh) | 准循环低密度奇偶校验卷积码编译码系统及其编译码方法 | |
CN101499804B (zh) | 准循环低密度校验码的多码率译码器 | |
CN102870330B (zh) | 编码设备、纠错码配置方法及其程序 | |
CN102820890B (zh) | 短码长多进制赋权重复累加码的编码器装置及方法 | |
CN107786211B (zh) | 一种ira-qc-ldpc码的代数结构获取方法、编码方法和编码器 | |
KR20060061145A (ko) | 저밀도 패리티 검사 부호의 생성 방법 및 장치 | |
Theodoropoulos et al. | An efficient LDPC encoder architecture for space applications | |
CN106533452B (zh) | 一种多进制ldpc编码方法及编码器 | |
CN102932007A (zh) | 高度并行的深空通信中qc-ldpc编码器和编码方法 | |
CN103916134A (zh) | 低密度奇偶校验码的混叠译码方法及多核协同混叠译码器 | |
CN111464300A (zh) | 一种适用于连续变量量子密钥分发的高速后处理方法 | |
CN102868495B (zh) | 基于查找表的近地通信中ldpc串行编码器和编码方法 | |
US9037938B2 (en) | Hardware architecture and implementation of low power layered multi-level LDPC decoder | |
CN102412844A (zh) | 一种ira类ldpc码的译码方法及译码装置 | |
KR101206137B1 (ko) | 모바일 와이맥스용 ldpc 복호기 | |
CN111313912A (zh) | 一种ldpc码编码器及编码方法 | |
JP4645645B2 (ja) | 復号装置及び検査行列生成方法 | |
CN113300719B (zh) | 一种多进制非规则重复累加码并行编码装置及方法 | |
CN102932008A (zh) | 基于查找表的深空通信中qc-ldpc并行编码方法 | |
CN104796158A (zh) | 一种针对固定信息长度的ldpc编译码系统平台 | |
CN113285725A (zh) | 一种qc-ldpc编码方法及编码器 | |
Al Hariri et al. | A high throughput configurable parallel encoder architecture for Quasi-Cyclic Low-Density Parity-Check Codes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150218 |