本发明涉及一种应用于通信领域中的信道编码方法及其装置,具体涉及一种基于汉明码并行tpc编码方法及其装置。
背景技术:
随着通信技术的发展,通信距离越来越长,在传输信号的过程中存在噪声,衰落。多径干扰等会造成信号的严重失真,在一定程度上可以通过前向差错控制保证误码率在允许范围内,提升传输效率。
turbo乘积码(tpc,turboproductcode)具有接近香农极限的译码性能和高速译码的并行结构,近年来在无线通信中得到广泛应用。
技术实现要素:
本发明所要解决的技术问题是难以将不同宽度的tpc编码,将其变换为并行编码,目的在于提供一种基于汉明码并行tpc编码方法及其装置,解决了利用fpga内部资源来提高tpc编码处理速度,可将不同宽度的tpc编码将其变换为并行编码,极大的在系统时钟不变下通过并行编码完成,时间缩短、速度提高的问题。
本发明通过下述技术方案实现:
一种基于汉明码并行tpc编码方法及其装置,其特征在于,装置包括:根据编码数据大小选择编码机构、计算存数机构;根据编码前数据和编码后数据计算输入、输出时钟。
本发明的工作原理为:获取系统的数据流,数据流大小为k2,计算数据输出时钟;根据数据流大小,计算数据编码器的生成矩阵以及存数机构大小;将数据按行读出经过多个编码器同时编码完成并行编码,其编码方式采用tpc编码;数据经过编码器编码时,按照单比特编码单比特输出;编码结束后将数据按照合适的时钟输出。
进一步地,根据编码数据流大小,采用n个并行的编码器,实现并行编码的方法,其中编码器又分为行编码器和列编码器。
进一步地,根据编码数据流大小选择行编码或者列编码的生成矩阵,并且编码器的输入输出皆为一比特输入输出。经过编码器生成的数据一共n位,n取2的整数次幂,输出格式为k个数据原码位,n-k个监督马元,其关系为2n-k=n。
进一步地,根据不同数据流大小,会使得数据在存数机构中存数的方式不一样。其中存数机构又包含三个存数机构分为存数机构a1、存数机构a2、存数机构a3。
进一步地,将原数据按照列存放。这样存放的目的是为了完成多个行编码器同时编码。提升编码速度。
进一步地,行编码数据继续按列存放,与存数机构a1不同是,这里数据存放的行要多n-k行
进一步地,将编码数据整合到一起,加入数据帧头调整输出顺序。
本发明与现有技术相比,具有如下的优点和有益效果:
1、本发明一种基于汉明码并行tpc编码方法及其装置,任意一种数据流输入,其编码次数只有两次,对于不同数据流都会消耗相同的时间;
2、本发明一种基于汉明码并行tpc编码方法及其装置,相比于传统串行tpc编码来说,时间上的消耗也降低了很多;
3、本发明一种基于汉明码并行tpc编码方法及其装置,利用fpga内部资源来提高tpc编码处理速度,可将不同宽度的tpc编码将其变换为并行编码,极大的在系统时钟不变下通过并行编码完成。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成
本技术:
的一部分,并不构成对本发明实施例的限定。在附图中:
图1为本发明的实施的一种tpc并行编码系统流程图;
图2为本发明的实施的一种tpc并行编码系统框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
实施例1
如图1-2所示,本发明一种基于汉明码并行tpc编码方法及其装置,本发明的具体实现方式为:对原始数据data以一定的时钟存入异步fifo1,然后通过高时钟读出到ram1,准备行编码;对ram1的读出数据进行行编码,并存入ram2;将ram2读出的数据进行列编码,并存入ram3;ram3里面存入的数据已经完成了tpc编码,最后加上合适的帧头一同加入到fifo2,以高时钟写入,匹配时钟读出。
实施例2
基于实施例1,如图1-2所示,本发明一种基于汉明码并行tpc编码方法及其装置,本发明的具体实现方式为:取决于外部模块输入,其数据输入时钟将决定编码数据fifo2输出时钟。然后读出以一定顺序读出到ram1,待编码。具体顺序将以子码为扩展汉明码(n+1,k,δ)的二维矩阵为例,则一次性输入fifo1数据量为k2,记ai,j(i,j=1,2...k)。存入ram1格式为
实施例3
基于上述实施例,如图1-2所示,本发明一种基于汉明码并行tpc编码方法及其装置,本发明的具体实现方式为:将ram1按行读出数据到编码器编码,编码器的输入输出都是单比特;按照系统码(原数据,校验码,奇偶校验码)可实现单比特输入输出,行编码结束存入到ram2,其格式为
实施例4
基于上述实施例,如图1-2所示,本发明一种基于汉明码并行tpc编码方法及其装置,本发明的具体实现方式为:将ram2的输出按行读出继续到编码器进行列编码存入到ram3;此时数据量为(n+1)2。
实施例5
基于上述实施例,如图1-2所示,本发明一种基于汉明码并行tpc编码方法及其装置,本发明的具体实现方式为:将ram3数据输出到fifo前加入数据帧头,然后按照合适时钟读出,其输出时钟取决数据大小。
其中行编码和列编码中的编码器设计思想来自于汉明码编码思想,hamming模块以1比特输入,将前k个比特数据存入到寄存器单元,待第k个数据输入完毕,通过生成矩阵生成监督马元,在整个编码器中,可输入输出同时进行,数据相差几个时钟周期即可满足设计要求,具体设计时延按系统要求确定,原则上越小越好。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
1.一种基于汉明码并行tpc编码方法及其装置,其特征在于,装置包括:根据编码数据大小选择编码机构、计算存数机构;根据编码前数据和编码后数据计算输入、输出时钟。
2.根据权利要求1所述的一种基于汉明码并行tpc编码方法及其装置,其特征在于,根据编码数据流大小,采用n个并行的编码器,编码器包括行编码器、列编码器。
3.根据权利要求2所述的一种基于汉明码并行tpc编码方法及其装置,其特征在于,根据编码数据流大小选择行编码或者列编码生成矩阵,编码器的输入输出皆为一比特输入输出,经过编码器生成的数据一共n位,n取2的整数次幂,输出格式为k个数据原码位,n-k个监督马元,其关系为2n-k=n。
4.根据权利要求1所述的一种基于汉明码并行tpc编码方法及其装置,其特征在于,根据不同数据流大小,使数据在存数机构中,以不同的方式进行存数,其中存数机构包括至少三个存数机构,存数机构a1、存数机构a2、存数机构a3。
5.根据权利要求4所述的一种基于汉明码并行tpc编码方法及其装置,其特征在于,将存数机构a1的原数据按照列存放。
6.根据权利要求4所述的一种基于汉明码并行tpc编码方法及其装置,其特征在于,将存数机构a2的行编码数据按列存放,与存数机构a1不同点,数据存放的行要多n-k行。
7.根据权利要求4所述的一种基于汉明码并行tpc编码方法及其装置,其特征在于,存数机构a3将编码数据整合到一起,加入数据帧头调整输出顺序。