一种基于扩展汉明码的二维乘积码编码装置及编码方法

文档序号:8284306阅读:569来源:国知局
一种基于扩展汉明码的二维乘积码编码装置及编码方法
【技术领域】
[0001]本发明涉及数字信号处理系统的设计与实现领域以及通信数据传输中的纠错编码技术领域,尤其涉及一种基于扩展汉明码的二维乘积码编码装置及编码方法。
【背景技术】
[0002]无线通信是把要发送的消息以某种形式进行处理,通过天线射频技术将要发送的信息可靠准确的发送给接收方。发送信息传输的可靠性、准确性一直是无线通信技术所追求的目标。纠错编码技术是为了提高无线通信系统传输可靠性、降低信道噪声的干扰而对原始发送信息进行一定数学运算的技术。纠错编码又称信道编码,在发射端根据一定的数学算法在发送的原始信息码元后加入一定量的校验码元,在接收端根据相应的解码算法利用校验码字实现对信息码字的错误发现及纠正,进而提高原始信息码元的传输准确性。在纠错编码技术中,待发送的码字为信息码字,经编码之后添加的码字为校验码字,又称冗余信息。纠错编码的目的为以最少的编码代价换取最高的纠错性能和编码增益以提高系统传输的有效性及可靠性。
[0003]乘积码是一种纠错性能优异的纠错编码。乘积码由Elias于1954年提出,它是香农信息理论提出后第一个在非零码率时可以实现无误码传输的纠错编码。由于当时的硬件水平限制了其应用。1998年Pyndiah等人在Chase算法的基础上提出了一种线性分组码的软输入软输出译码算法,并将其应用于乘积码译码中。其纠错性能优异,且算法复杂度低,为乘积码的广泛应用打下了坚实的理论基础。
[0004]乘积码以其出色的纠错性能和较低的编译码复杂度目前已在国内外吸引了众多研宄学者的眼球。美国、日本以及欧洲一些国家已经将乘积码技术应用在卫星通信上。美国的AHA、ALTERA, XINLNX等公司己经开发了可灵活编程的乘积码编译码芯片,国内还没有这方面的专用芯片。乘积码技术是当前数字通信中的重要技术,引起通信界的极大关注。
[0005]乘积码可以根据子码数目分为二维、三维及多维乘积码,在实际应用中以二维乘积码为主。乘积码在编码时,按照行列编码的方式进行。因此,乘积码编码器需要一个缓存专门用来存放原始信息和编码信息,最后再进行编码输出。乘积码根据其子码的种类不同,可以分为多种类型,如子码为RS码、LDPC码及扩展汉明码等,亦或是两种码子的合成。在硬件设计时,乘积码的编码延时是一个主要得技术难题。因此,提高编码效率降低编码延时同时降低硬件消耗是需要着重研宄的内容。
[0006]乘积码在编码上采用行列编码的方式,这意味着对于不同子码构成的二维乘积码,其编码要经过行列两个过程,其编码延时很大;同时,对于传统编码电路的硬件设计,在信息存储上采用读写存储器RAM进行数据信息的存储于读取,RAM分为双口和单口 RAM,双口的读写可以同时进行,但是一次只能读出一个地址位的信息,因此采用RAM存储的乘积码编码器具有很大延时。当存储量较大时,采用寄存器与RAM的硬件消耗是一样的因此可以在硬件设计中采用寄存器组来实现数据的存储与读取。其在吞吐率方面有很大优势。

【发明内容】

[0007]发明目的:为了解决现有技术中编码延时大的问题,本发明提供了一种基于扩展汉明码的二维乘积码编码装置及编码方法,通过采用寄存器组进行数据的存储与读取,同时根据乘积码的码字参数进行寄存器的大小及个数的设定,结合相应的时序调度算法,实现了行列编码同步进行,缩短了编码延时,提高了编码电路吞吐率。
[0008]技术方案:为实现上述目的,本发明提供的基于扩展汉明码的二维乘积码编码装置,包括:信息输入缓存模块、编码控制电路模块、编码信息存储电路模块和子码编码逻辑电路模块,所述信息输入缓存模块用于利用FIFO存储器将编码原始信息进行存储并输出编码数据流至所述编码信息存储电路模块,同时输出编码使能信号至所述编码控制电路模块;所述编码控制电路模块,用于在所述编码使能信号有效后启动电路内部的计数器,并在时钟周期内利用选择器控制信号和地址控制信号对所述编码信息存储电路模块进行控制,最终输出编码信息和编码输出使能信号;所述编码信息存储电路模块,用于在所述时钟周期内对所述编码数据流进行存储,然后根据所述选择器控制信号和所述地址控制信号利用所述子码编码逻辑电路模块进行子码编码,并将信息位数据流和校验位数据流输送至所述编码控制电路模块用于输出所述编码信息。
[0009]其中,根据扩展汉明码的编码规则,确定了寄存器的大小和个数,所述编码信息存储电路模块包括:所述编码信息存储电路模块包括:四个选择器、含有k个k位的信息位寄存器的信息位寄存器组、含有k个n-k位的行校验寄存器的行校验寄存器组、含有k个n-k位的列校验寄存器的列校验寄存器组、含有n-k个n-k位的双重校验寄存器的双重校验寄存器组,每个寄存器组的输入端都连接相应选择器的输出,其中η为所述编码信息子码长度,k为所述信息位数据的长度。
[0010]其中,根据编码信息的长度以及校验位的个数进行时序调度的计算,得出所述编码控制电路模块内部计数器的计数范围为I?n+2k。
[0011]其中,所述子码编码逻辑电路模块包括:
[0012]可重构行码编码运算电路,用于对所述编码信息存储电路模块存储的行信息数据流进行扩展汉明码编码,并将编码后的行校验数据流反馈给所述编码信息存储电路模块进行存储;
[0013]可重构列码编码运算电路,用于对所述编码信息存储电路模块存储的列信息数据流进行扩展汉明码编码,并将编码后的列校验数据流反馈给所述编码信息存储电路模块进行存储;
[0014]所述可重构列码编码运算电路和所述可重构行码编码运算电路采用相同的电路结构。
[0015]相应地,本发明还提供了一种基于扩展汉明码的二维乘积码编码方法,该方法包括以下步骤:
[0016](I)信息输入缓存模块利用FIFO存储器将编码原始信息进行存储并输出编码数据流至编码信息存储电路模块,同时输出编码使能信号至编码控制电路模块;
[0017](2)所述编码控制电路模块在所述编码使能信号有效后启动电路内部的计数器,并在时钟周期内利用选择器控制信号和地址控制信号对所述子码编码逻辑电路模块进行控制;
[0018](3)所述编码信息存储电路模块在所述时钟周期内对所述编码数据流进行存储,然后根据所述选择器控制信号和所述地址控制信号利用子码编码逻辑电路模块进行子码编码,并将所得到的校验位信息进行存储,以及将信息位数据流和校验位数据流输送至所述编码控制电路模块。
[0019](4)所述编码控制电路模块根据所述信息位数据流和所述校验位数据流得到完整的编码信息并进行输出,同时输出编码输出使能信号。
[0020]其中,所述编码控制电路模块内部计数器的计数范围为I?n+2k,其中η为所述编码信息长度,k为所述信息位数据的长度。
[0021]其中,所述编码信息存储电路模块包括:选择器、信息位寄存器组、行校验寄存器组、列校验寄存器组、双重校验寄存器组,每个寄存器组分别与对应的选择器连接,所述子码编码逻辑电路模块包括可重构行码编码运算电路和可重构列码编码运算电路,步骤(3)中所述编码信息存储电路模块在所述时钟周期内进行数据存储、子码编码和数据流的输送,包括以下步骤:
[0022]计数值为I?k:依次将所述编码数据流存入编码信息存储电路模块中的信息位寄存器组中,所述信息位寄存器组包含k个k位的信息位寄存器;
[0023]计数值为k+Ι?2*k:将信息位寄存器组中存储的数据作为行信息数据流依次送至所述可重构行码编码运算电路进行编码得到行校验位数据,并将所述行校验数据依次存储至行校验寄存器组中,所述行校验寄存器组包含k个n-k位的行校验寄存器;同时,将信息位寄存器组的比特数据从最高位到最低位依次取出,且信息位寄存器I的比特位为最高位,信息位寄存器k的相同比特位为最低位合并后作为列信息数据流依次送至所述可重构列码编码运算电路进行编码得到列校验位数据,并将所述列校验位数据依次存储至列校验寄存器组,所述列校验寄存器组包含k个n-k位的列校验寄存器;
[0024]计数值为2*k+l?n+k:每计数一次将所述列校验寄存器组的最高位至最低位作为行信息数据流送入所述重构行码编码运算电路,并将得到的行信息数据流依次存入双重校验寄存器组,所述双重校验寄存器组包含n-k个n-k位的双重校验寄存器;
[0025]同时,在此计数范围内,同步进行编码信息的输出,将信息位寄存器中存储的数据与对应的行校验寄存器中存储的数据,前者作为高位后者作为低位,合并为一个η比特的编码数据送至所述编码控制电路模块,所述编码控制电路模块输出编码信息,同时编码输出使能有效;
[0026]计数值为η+k+l?n+2*k:在计数范围η+k+l?2*k内,继续将所述编码信息存储电路模块中的编码信息输出;在计数范围2*k+
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1