CN107682121B - 一种编码方法及装置 - Google Patents

一种编码方法及装置 Download PDF

Info

Publication number
CN107682121B
CN107682121B CN201710959414.0A CN201710959414A CN107682121B CN 107682121 B CN107682121 B CN 107682121B CN 201710959414 A CN201710959414 A CN 201710959414A CN 107682121 B CN107682121 B CN 107682121B
Authority
CN
China
Prior art keywords
coding
length
bit data
determining
register
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
Application number
CN201710959414.0A
Other languages
English (en)
Other versions
CN107682121A (zh
Inventor
刘丽华
管武
梁利平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Microelectronics of CAS
Original Assignee
Institute of Microelectronics of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Microelectronics of CAS filed Critical Institute of Microelectronics of CAS
Priority to CN201710959414.0A priority Critical patent/CN107682121B/zh
Publication of CN107682121A publication Critical patent/CN107682121A/zh
Application granted granted Critical
Publication of CN107682121B publication Critical patent/CN107682121B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明实施例提供了一种编码方法及装置,方法包括:接收比特数据;将比特数据串行写入寄存器组中;基于预设的基准长度,依次并行读取寄存器组的比特数据,形成各组比特数据;将所述各组比特数据输出至预先建立的寄存器中;利用预设长度的全并行FFT结构对寄存器中的各组比特数据进行编码,获取第一级编码结果;基于所需的编码长度,确定编码级数及多路选择器的时钟周期;基于编码级数及时钟周期,利用所述全并行FFT结构对所述第一级编码结果进行编码,获取相应码长的编码结果;如此,可以根据所需的编码长度,确定编码级数及多路选择器的时钟周期进行编码,这样就可以实现多种码长的编码,并通过多级编码,实现高速编码。

Description

一种编码方法及装置
技术领域
本发明属于信道编码技术领域,尤其涉及一种编码方法及装置。
背景技术
信道编码是一种可以提高传输信息准确度的方法,具有很大的实用价值。自香农提出信道容量的概念以后,中外学者一直以来都在致力于寻找可以达到香农极限的编码方式。
现有技术中,一般通过半并行结构进行编码,但是这种编码方式只能应用于单种码长的编码,不能支持多种码长的编码,导致编码效率低。
发明内容
针对现有技术存在的问题,本发明实施例提供了一种编码方法及装置,用于解决现有技术中在进行信道编码时,编码方式只能进行单种码长的编码,不能支持多种码长的编码,导致编码效率降低的技术问题。
本发明实施例提供一种编码方法,所述方法包括:
接收比特数据;
将比特数据串行写入寄存器组中;
基于预设的所述基准长度,依次并行读取所述寄存器组的比特数据,形成各组比特数据;
将所述各组比特数据输出至预先建立的寄存器中;
利用预设长度的全并行FFT结构对所述寄存器中的各组比特数据进行编码,获取第一级编码结果;
基于所需的编码长度,确定编码级数及各多路选择器的时钟周期;
基于编码级数及各多路选择器的时钟周期,利用所述全并行FFT结构对所述第一级编码结果进行编码,获取相应码长的编码结果。
上述方案中,所述接收预设长度的比特数据后,还包括:
按照预设的排序规则,对所述比特数据的数据标识进行重新排序;
基于重新排序后的所述数据标识确定对应的比特数据的顺序。
上述方案中,所述将比特数据串行写入寄存器组中之前,还包括:对所述寄存器组的地址进行反转。
上述方案中,所述利用预设长度的全并行FFT结构对所述寄存器中的各组比特数据进行编码,包括:
利用公式
Figure BDA0001434859190000021
对所述各组比特数据进行编码;其中,所述
Figure BDA0001434859190000022
表示第一级编码结果;所述N为所需编码的长度;所述
Figure BDA0001434859190000023
表示重新排序后的各组比特数据;所述
Figure BDA0001434859190000024
表示矩阵F的4级克罗内克积。
上述方案中,所述基于所需的编码长度,确定多路选择器的时钟周期,包括:
在所述编码长度小于或等于256bit的情况下,以所述基准长度为基准,确定所述编码长度与所述基准长度之间的第一商值;
基于所述第一商值确定所述多路选择器的时钟周期。
上述方案中,所述基于所需的编码长度,确定各多路选择器的时钟周期,还包括:
在所述编码长度大于256bit小于4096bit的情况下,以预设的单位数据长度为基准,确定所述编码长度与所述单位数据长度之间的第二商值;
基于所述第二商值确定所述多路选择器的时钟周期;其中,
所述单位数据的长度为256bit。
上述方案中于,所述预设的基准长度为16bit。
本发明实施例还提供一种编码装置,所述装置包括:
接收单元,用于接收比特数据;
写入单元,用于将比特数据串行写入寄存器组中;
读取单元,用于基于预设的基准长度,依次并行读取所述寄存器组的比特数据,形成各组比特数据;
输出单元,用于将所述各组比特数据输出至预先建立的寄存器中;
第一编码单元,用于利用预设长度的全并行FFT结构对所述寄存器中的各组比特数据进行编码,获取第一级编码结果;
确定单元,用于基于所需的编码长度,确定编码级数及各多路选择器的时钟周期;
第二编码单元,用于基于编码级数及各多路选择器的时钟周期,利用所述全并行FFT结构对所述第一级编码结果进行编码,获取相应码长的编码结果。
上述方案中,所述第一编码单元具体用于:
利用公式
Figure BDA0001434859190000031
对所述各组比特数据进行编码;其中,所述
Figure BDA0001434859190000032
表示第一级编码结果;所述N为所需编码的长度;所述
Figure BDA0001434859190000033
表示重新排序后的各组比特数据;所述
Figure BDA0001434859190000034
表示矩阵F的4级克罗内克积。
上述方案中,所述第二编码单元具体用于:在所述编码长度小于或等于256bit的情况下,以所述基准长度为基准,确定所述编码长度与所述基准长度之间的第一商值;
基于所述第一商值确定所述多路选择器的时钟周期。
本发明实施例提供了一种编码方法及装置,所述方法包括:接收比特数据;将比特数据串行写入寄存器组中;基于预设的基准长度,依次并行读取所述寄存器组的比特数据,形成各组比特数据;将所述各组比特数据输出至预先建立的寄存器中;利用预设长度的全并行FFT结构对所述寄存器中的各组比特数据进行编码,获取第一级编码结果;基于所需的编码长度,确定编码级数及各多路选择器的时钟周期;基于编码级数及各多路选择器的时钟周期,利用所述全并行FFT结构对所述第一级编码结果进行编码,获取相应码长的编码结果;如此,可以根据所需的编码长度,确定编码级数及多路选择器的时钟周期进行编码,这样就可以实现多种码长的编码,并通过多级编码,实现高速编码,提高了编码效率。
附图说明
图1为本发明实施例一提供的编码方法流程示意图;
图2为本发明实施例一提供的对比特数据进行重新排序的结构示意图;
图3为本发明实施例一提供的串行写入和并行读出的寄存器组结构示意图;
图4为本发明实施例二提供的编码装置的结构示意图。
具体实施方式
为了解决现有技术中在进行信道编码时,编码方式只能进行单种码长的编码,不能支持多种码长的编码,导致编码效率降低的技术问题,本发明实施例提供了一种编码方法及装置,所述方法包括:接收比特数据;将比特数据串行写入寄存器组中;基于预设的基准长度,依次并行读取所述寄存器组的比特数据,形成各组比特数据;将所述各组比特数据输出至预先建立的寄存器中;利用预设长度的全并行FFT结构对所述寄存器中的各组比特数据进行编码,获取第一级编码结果;基于所需的编码长度,确定编码级数及各多路选择器的时钟周期;基于编码级数及各多路选择器的时钟周期,利用所述全并行FFT结构对所述第一级编码结果进行编码,获取相应码长的编码结果。
下面通过附图及具体实施例对本发明的技术方案做进一步的详细说明。
实施例一
本实施例提供一种编码方法,如图1所示,所述方法包括:
S101,接收比特数据;
本实施例中,在编码时,接收比特数据;在接收比特数据时是按照预设的基准长度分组接收的,本实施例是半并行编码的,因此基准长度为16bit。即每次接收16bit数据。其中,每个比特数据都对应一个数据标识。
接收到数据后,因为本实施例的码属于极化码,而极化码属于线性分组码的范畴,因此它的编码可以用生成矩阵来描述。
所述矩阵GN可参见公式(1):
Figure BDA0001434859190000051
所述BN表示比特下标反转矩阵,
Figure BDA0001434859190000052
表示矩阵F的克罗内克积,
Figure BDA0001434859190000053
因为,BN表示比特下标反转矩阵,因此需要输入的比特数据进行重新排序,具体地,按照预设的排序规则,对所述比特数据的数据标识进行重新排序;基于重新排序后的所述数据标识确定对应的比特数据的顺序。所述排序规则包括:对所述数据标识的下标对应的二进制数进行反转。
比如,输入的16bit数据为:0001 0010 0011 0100;那么各个比特数据对应的数据标识分别可以为:u0,u1,u2,u3,u4,u5,u6,u7,u8,u9,u10,u11,u12,u13,u14,u15
那么各个数据标识的下标可以确定出,以u0为例,0对应的二进制数0000;对0000进行反转后,还是0000,那么反转后的数据标识依然为u0,该标识对应的比特数据为0。那么第一位比特数据依然是0,记为v0
以u1为例,0对应的二进制数0001;对0001进行反转后,是1000,那么反转后的数据标识应该为u8,该标识对应的比特数据为0。那么第二位比特数据也是0,记为v1
其他数据标识的排序如上述相同,故而不再赘述,排序后的数据标识可参见图2,这样就可以根据重新排序后的数据标识对比特数据进行重新排序了。
S102,将比特数据串行写入对应的寄存器组中;
对比特数据进行重新排序后,参考图3,将排序后的比特数据写入对应的寄存器组中。所述寄存器组至少包括一个,比如可以为RAM0~RAM15中任意一个;各个寄存器组构成一个寄存器矩阵。
所述寄存器组的容量为256bit,可以为一个16行16列的存储矩阵;若所需编码的长度小于或等于256bit时,只需使用一个寄存器组就可以;若所需编码的长度大于256bit时,寄存器组的个数需要根据具体的编码长度来确定。
在将比特数据串行写入寄存器组中时,是逐列写入的,比如所需编码的长度为64bit,那么在寄存器组中就有16行4列数据。
这里,所述将比特数据串行写入对应的寄存器组中之前,还包括:对所述寄存器组的地址进行反转。比如,寄存器组的地址为01,那么在写数据之前需要将地址反转为10。
S103,基于预设的基准长度,依次并行读取所述寄存器组中的比特数据,形成各组比特数据;
将比特数据写入寄存器组后,基于预设的基准长度,依次逐行读取所述寄存器组中的比特数据,形成各组比特数据。并将所述各组比特数据输出至预先建立的寄存器中;所述寄存器为临时寄存器。
比如寄存器组中有64bit数据,也就是16行4列比特数据;那么寄存器组在读取数据时,以基准长度为参照,一个时钟周期内需要读取基准长度的数据。比如基准长度为16bit时,一个时钟周期内需要读取四行比特数据,总共读取4次,形成4组比特数据,每组比特数据的长度都是16bit。
S104,利用预设长度的全并行FFT结构对所述寄存器中的各组比特数据进行编码,获取第一级编码结果;
本步骤中,获取到各组比特数据后,利用预设长度的全并行FFT结构对所述寄存器中的各组比特数据进行编码,获取第一级编码结果。
具体地,利用第一编码公式对所述各组比特数据进行编码,实现如下:
Figure BDA0001434859190000061
所述
Figure BDA0001434859190000062
表示第一级编码结果;所述N为所需编码的长度;所述
Figure BDA0001434859190000063
表示重新排序后的各组比特数据;所述
Figure BDA0001434859190000066
Figure BDA0001434859190000064
的分块矩阵,所述
Figure BDA0001434859190000065
表示矩阵F的4级克罗内克积。
那么以64bit编码为例,利用第一编码公式对所述各组比特数据进行编码,具体实现如下:
Figure BDA0001434859190000071
公式(3)中,所述
Figure BDA0001434859190000072
表示第一级编码结果;所述
Figure BDA0001434859190000073
表示重新排序后的(并行下标反转后的)各组比特数据;所述
Figure BDA0001434859190000074
即所述[V1 V2 V3 V4]·为
Figure BDA0001434859190000075
的分块矩阵。所述
Figure BDA0001434859190000076
的定义如公式(4)所示:
Figure BDA0001434859190000077
所述
Figure BDA0001434859190000078
可以由公式(5)得出:
Figure BDA0001434859190000079
在公式(5)中,所述
Figure BDA00014348591900000710
为输入的比特数据,所述B64为比特反转矩阵。
然后根据矩阵
Figure BDA00014348591900000711
将各组比特数据与矩阵的每一列先进行列与运算,再将每列的与结构(与门)累加在一起,即得到相应的编码结果xi,i=1,2,…,16,整个运算完全是比特运算,复杂度小。
S105,基于所需的编码长度,确定编码级数及各多路选择器的时钟周期;基于编码级数及各多路选择器的时钟周期,利用所述全并行FFT结构对所述第一级编码结果进行编码,获取相应码长的编码结果。
本步骤中,当获取到第一级编码结果后,判断所需编码的长度,在所述编码长度小于或等于256bit的情况下,确定只需两级编码。
并以所述基准长度为基准,确定所述编码长度与所述基准长度之间的第一商值;基于所述第一商值确定所述多路选择器的时钟周期。
再基于所述时钟周期,利用所述全并行FFT结构对所述第一级编码结果进行多路编码,获取第二级编码结果。
比如,当需要编码的长度为64bit时,以所述基准长度为基准(即将第一级编码结果中的每16bit看作一个计算单元),那么所述编码长度与所述基准长度之间的第一商值就为4,因此确定出的时钟周期也为4,即进行四次运算,再利用所述全并行FFT结构进行编码,获取第二级编码结果。
以64bit编码为例,在进行二级编码时可以利用公式(6)实现:
Figure BDA0001434859190000081
公式(6)中,所述X1、X2、X3、X4均为码长为16bit的输出,
Figure BDA0001434859190000082
为第二级编码结果;所述[X′1 X′2 X′3 X′4]为
Figure BDA0001434859190000083
的分块矩阵,可以由公式(7)实现;
Figure BDA0001434859190000084
为矩阵F的2级克罗内克积,可以由公式(8)实现:
Figure BDA0001434859190000085
Figure BDA0001434859190000086
在进行编码时,每个时钟周期输入的计算单元与
Figure BDA0001434859190000087
中的每一行先进行与运算,再将所有计算单元的与结构累加在一起,即得到第二级编码结果。
而在所述编码长度大于256小于等于4096bit的情况下,还需进行第三级编码,具体地,以预设的单位数据长度为基准,确定所述编码长度与所述单位数据长度之间的第二商值;基于所述第二商值确定所述多路选择器的时钟周期;其中,所述单位数据的长度为256bit。
比如,当需要编码的长度为512bit时,以预设的单位数据长度(即将第二级编码结果中的每256bit看作一个计算单元),那么所述编码长度与所述单位数据长度之间的第二商值就为2,因此确定出的时钟周期也为2,即进行两次运算,再利用所述全并行FFT结构对这2个计算单元进行编码,获取第三级编码结果。
在进行编码时,以512bit长度为例,具体是需要进行三级编码,那么第一级编码可以利用公式(9)实现:
Figure BDA0001434859190000091
其中,Vi,Xi′均为16比特,i=1,2,…,32;所述
Figure BDA0001434859190000092
为第一级编码结果。
然后以第一级编码结果为输入,进行第二级编码,可以利用公式(10)和公式(11)实现:
Figure BDA0001434859190000093
[X″1......X″32]→[X1″′ X2″′] (11)
所述[X1″′ X2″′]为第二级编码结果。Xi′,Xi″为16bit,i=1,2,…,32;X1″′,X2″′为256bit。
然后以第二级编结果为输入,进行第三级编码,可以利用公式(12)实现:
Figure BDA0001434859190000094
这里,X1、X2均为码长为256bit的输出。
Figure BDA0001434859190000095
为第三级编码结果;
然后再以基准长度并行输出编码结果,输出完成后,编码结束。
这里,在整个三级编码中,最多使用十六个256bit输入的与结构和异或结构就可以实现所需长度的编码,降低了资源占用。
实施例二
相应于实施例一,本实施例还提供一种编码装置,如图4所示,所述装置包括:接收单元41、写入单元42、读取单元43、输出单元44、第一编码单元45、确定单元46及第二编码单元47;其中,
在编码时,接收单元41用于接收比特数据;在接收比特数据时是按照预设的基准长度分组接收的,本实施例是半并行编码的,因此基准长度为16bit。即每次接收16bit数据。其中,每个比特数据都对应一个数据标识。
接收到数据后,因为本实施例的码属于极化码,而极化码属于线性分组码的范畴,因此它的编码可以用生成矩阵来描述。
所述矩阵GN可参见公式(1):
Figure BDA0001434859190000101
所述BN表示比特下标反转矩阵,
Figure BDA0001434859190000102
表示矩阵F的克罗内克积,
Figure BDA0001434859190000103
因为,BN表示比特下标反转矩阵,因此需要输入的比特数据进行重新排序,具体地,按照预设的排序规则,对所述比特数据的数据标识进行重新排序;基于重新排序后的所述数据标识确定对应的比特数据的顺序。所述排序规则包括:对所述数据标识的下标对应的二进制数进行反转。
比如,输入的16bit数据为:0001 0010 0011 0100;那么各个比特数据对应的数据标识分别可以为:u0,u1,u2,u3,u4,u5,u6,u7,u8,u9,u10,u11,u12,u13,u14,u15
那么各个数据标识的下标可以确定出,以u0为例,0对应的二进制数0000;对0000进行反转后,还是0000,那么反转后的数据标识依然为u0,该标识对应的比特数据为0。那么第一位比特数据依然是0,记为v0
以u1为例,0对应的二进制数0001;对0001进行反转后,是1000,那么反转后的数据标识应该为u8,该标识对应的比特数据为0。那么第二位比特数据也是0,记为v1
其他数据标识的排序如相同,故而不再赘述,排序后的数据标识可参见图2,这样就可以根据重新排序后的数据标识对比特数据进行重新排序了。
对比特数据进行重新排序后,参考图3,写入单元42,用于将比特数据串行写入对应的寄存器组中;所述寄存器组至少包括一个。比如可以为RAM0~RAM15中任意一个;各个寄存器组构成一个寄存器矩阵。
所述寄存器组的容量为256bit,可以为一个16行16列的存储矩阵;若所需编码的长度小于或等于256bit时,只需使用一个寄存器组就可以;若所需编码的长度大于256bit时,寄存器组的个数需要根据具体的编码长度来确定。
在将比特数据串行写入寄存器组中时,是逐列写入的,比如所需编码的长度为64bit,那么在寄存器组中就有16行4列数据。
这里,所述将比特数据串行写入对应的寄存器组中之前,还包括:对所述寄存器组的地址进行反转。比如,寄存器组的地址为01,那么在写数据之前需要将地址反转为10。
将比特数据写入寄存器组后,读取单元43用于基于所述基准长度,依次并行读取所述寄存器组的比特数据,形成各组比特数据。
输出单元44,用于将所述各组比特数据输出至预先建立的寄存器中;所述寄存器为临时寄存器。
比如寄存器组中有64bit数据,也就是16行4列比特数据;那么寄存器组在读取数据时,以基准长度为参照,一个时钟周期内需要读取基准长度的数据。比如基准长度为16bit时,一个时钟周期内需要读取四行比特数据,总共读取4次,形成4组比特数据,每组比特数据的长度都是16bit。
获取到各组比特数据后,第一编码单元45,用于利用预设长度的全并行FFT结构对所述寄存器中的各组比特数据进行编码,获取第一级编码结果;
具体地,利用第一编码公式对所述各组比特数据进行编码,实现如下:
Figure BDA0001434859190000111
所述
Figure BDA0001434859190000112
表示第一级编码结果;所述N为所需编码的长度;所述
Figure BDA0001434859190000113
表示重新排序后的各组比特数据;所述
Figure BDA00014348591900001112
Figure BDA0001434859190000114
的分块矩阵,所述
Figure BDA0001434859190000115
表示矩阵F的4级克罗内克积。
那么以64bit编码为例,利用第一编码公式对所述各组比特数据进行编码,实现如下:
Figure BDA0001434859190000116
公式(3)中,所述
Figure BDA0001434859190000117
表示第一级编码结果;所述
Figure BDA0001434859190000118
表示重新排序后的(并行下标反转后的)各组比特数据;所述
Figure BDA0001434859190000119
即所述[V1 V2 V3 V4]·为
Figure BDA00014348591900001110
的分块矩阵。所述
Figure BDA00014348591900001111
的定义如公式(4)所示:
Figure BDA0001434859190000121
所述
Figure BDA0001434859190000122
可以由公式(5)得出:
Figure BDA0001434859190000123
在公式(5)中,所述
Figure BDA0001434859190000124
为输入的比特数据,所述B64为比特反转矩阵。
然后根据矩阵
Figure BDA0001434859190000125
将各组比特数据与矩阵的每一列先进行列与运算,再将每列的与结构(与门)累加在一起,即得到相应的编码结果xi,i=1,2,…,16,整个运算完全是比特运算,复杂度小。
当获取到第一级编码结果后,确定单元46,用于判断所需的编码长度,基于所需的编码长度,确定编码级数及各多路选择器的时钟周期。在所述编码长度小于或等于256bit的情况下,确定只需两级编码。
第二编码单元47,用于基于编码级数及各多路选择器的时钟周期,利用所述全并行FFT结构对所述第一级编码结果进行编码,获取相应码长的编码结果。
比如,当需要编码的长度为64bit时,以所述基准长度为基准(即将第一级编码结果中的每16bit看作一个计算单元),那么所述编码长度与所述基准长度之间的第一商值就为4,因此确定出的时钟周期也为4,即进行四次运算,再利用所述全并行FFT结构进行编码,获取第二级编码结果。
以64bit编码为例,在进行二级编码时可以利用公式(6)实现:
Figure BDA0001434859190000131
公式(5)中,所述X1、X2、X3、X4均为码长为16bit的输出,
Figure BDA0001434859190000132
为第二级编码结果;所述[X′1 X′2 X′3 X′4]为
Figure BDA0001434859190000133
的分块矩阵,可以由公式(7)实现;
Figure BDA0001434859190000134
为矩阵F的2级克罗内克积,可以由公式(8)实现:
Figure BDA0001434859190000135
Figure BDA0001434859190000136
在进行编码时,每个时钟周期输入的计算单元与
Figure BDA0001434859190000137
中的每一行先进行与运算,再将所有计算单元的与结构累加在一起,即得到第二级编码结果。
而在所述编码长度大于256小于等于4096bit的情况下,还需进行第三级编码,具体地,以预设的单位数据长度为基准,确定所述编码长度与所述单位数据长度之间的第二商值;基于所述第二商值确定所述多路选择器的时钟周期;其中,所述单位数据的长度为256bit。
比如,当需要编码的长度为512bit时,以预设的单位数据长度(即将第二级编码结果中的每256bit看作一个计算单元),那么所述编码长度与所述单位数据长度之间的第二商值就为2,因此确定出的时钟周期也为2,即进行两次运算,再利用所述全并行FFT结构对这2个计算单元进行编码,获取第三级编码结果。
在进行编码时,以512bit长度为例,具体是需要进行三级编码,那么第一级编码可以利用公式(9)实现:
Figure BDA0001434859190000138
其中,Vi,Xi′均为16比特,i=1,2,…,32;所述
Figure BDA0001434859190000139
为第一级编码结果。
然后以第一级编码结果为输入,进行第二级编码,可以利用公式(10)和公式(11)实现:
Figure BDA00014348591900001310
[X″1......X″32]→[X1″′X2″′] (11)
所述[X1″′X2″′]为第二级编码结果。Xi′,Xi″为16bit,i=1,2,…,32;X1″′,X2″′为256bit。
然后以第二级编结果为输入,进行第三级编码,可以利用公式(12)实现:
Figure BDA0001434859190000141
这里,X1、X2均为码长为256bit的输出。
Figure BDA0001434859190000142
为第三级编码结果;
然后再以基准长度并行输出编码结果,输出完成后,编码结束。
这里,在整个三级编码中最多使用十六个256bit输入的与结构和异或结构就可以实现所需长度的编码,降低了资源占用。
本发明实施例提供的编码方法及装置能带来的有益效果至少是:
本发明实施例提供了一种编码方法及装置,所述方法包括:接收比特数据;将比特数据串行写入对应的寄存器组中;基于预设的基准长度,依次并行读取所述寄存器组的比特数据,形成各组比特数据;将所述各组比特数据输出至预先建立的寄存器中;利用预设长度的全并行FFT结构对所述寄存器中的各组比特数据进行编码,获取第一级编码结果;基于所需的编码长度,确定编码级数及各多路选择器的时钟周期;基于编码级数及各多路选择器的时钟周期,利用所述全并行FFT结构对所述第一级编码结果进行编码,获取相应码长的编码结果;如此,可以根据所需的编码长度,确定编码级数及多路选择器的时钟周期进行编码,这样就可以实现多种码长的编码,并通过多级编码,实现高速编码,提高了编码效率;并且整个三级编码中最多使用十六个以256bit输入的与结构和异或结构就可以实现所需长度的编码,降低了资源占用。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种编码方法,其特征在于,所述方法包括:
接收比特数据;
将所述比特数据串行写入寄存器组中;
基于预设的基准长度,依次并行读取所述寄存器组的所述比特数据,形成各组比特数据;
将所述各组比特数据输出至预先建立的寄存器中;
利用预设长度的全并行FFT结构对所述寄存器中的各组比特数据进行编码,获取第一级编码结果;
基于所需的编码长度,确定编码级数及各多路选择器的时钟周期;
基于编码级数及各多路选择器的时钟周期,利用所述全并行FFT结构对所述第一级编码结果进行编码,获取相应码长的编码结果;其中,
基于所需的编码长度,确定编码级数及各多路选择器的时钟周期,包括:
当所述编码长度小于或等于256bit时,确定所述编码级数为两级;并以所述基准长度为基准,确定所述编码长度与所述基准长度之间的第一商值;基于所述第一商值确定所述多路选择器的时钟周期;
当所述编码长度大于256bit且小于等于4096bit时,确定所述编码级数为三级;并以预设的单位数据长度为基准,确定所述编码长度与所述单位数据长度之间的第二商值;基于所述第二商值确定所述多路选择器的时钟周期;其中,所述单位数据的长度为256bit。
2.如权利要求1所述的方法,其特征在于,所述接收预设长度的比特数据后,还包括:
按照预设的排序规则,对所述比特数据的数据标识进行重新排序;
基于重新排序后的所述数据标识确定对应的比特数据的顺序。
3.如权利要求1所述的方法,其特征在于,所述将比特数据串行写入寄存器组中之前,还包括:对所述寄存器组的地址进行反转。
4.如权利要求1所述的方法,其特征在于,所述利用预设长度的全并行FFT结构对所述寄存器中的各组比特数据进行编码,包括:
利用公式
Figure FDA0002977230380000021
对所述各组比特数据进行编码;其中,所述
Figure FDA0002977230380000022
表示第一级编码结果;所述N为所需编码的长度;所述
Figure FDA0002977230380000023
表示重新排序后的各组比特数据;所述
Figure FDA0002977230380000024
表示矩阵F的4级克罗内克积。
5.如权利要求1所述的方法,其特征在于,所述预设的基准长度为16bit。
6.一种编码装置,其特征在于,所述装置包括:
接收单元,用于接收比特数据;
写入单元,用于将所述比特数据串行写入寄存器组中;
读取单元,用于基于预设的基准长度,依次并行读取所述寄存器组的所述比特数据,形成各组比特数据;
输出单元,用于将所述各组比特数据输出至预先建立的寄存器中;
第一编码单元,用于利用预设长度的全并行FFT结构对所述寄存器中的各组比特数据进行编码,获取第一级编码结果;
确定单元,用于基于所需的编码长度,确定编码级数及各多路选择器的时钟周期;
第二编码单元,用于基于编码级数及各多路选择器的时钟周期,利用所述全并行FFT结构对所述第一级编码结果进行编码,获取相应码长的编码结果;其中,当所述编码长度小于或等于256bit时,确定所述编码级数为两级;并以所述基准长度为基准,确定所述编码长度与所述基准长度之间的第一商值;基于所述第一商值确定所述多路选择器的时钟周期;
当所述编码长度大于256bit且小于等于4096bit时,确定所述编码级数为三级;并以预设的单位数据长度为基准,确定所述编码长度与所述单位数据长度之间的第二商值;基于所述第二商值确定所述多路选择器的时钟周期;其中,所述单位数据的长度为256bit。
7.如权利要求6所述的装置,其特征在于,所述第一编码单元具体用于:
利用公式
Figure FDA0002977230380000031
对所述各组比特数据进行编码;其中,所述
Figure FDA0002977230380000032
表示第一级编码结果;所述N为所需编码的长度;所述
Figure FDA0002977230380000033
表示重新排序后的各组比特数据;所述
Figure FDA0002977230380000034
表示矩阵F的4级克罗内克积。
CN201710959414.0A 2017-10-16 2017-10-16 一种编码方法及装置 Active CN107682121B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710959414.0A CN107682121B (zh) 2017-10-16 2017-10-16 一种编码方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710959414.0A CN107682121B (zh) 2017-10-16 2017-10-16 一种编码方法及装置

Publications (2)

Publication Number Publication Date
CN107682121A CN107682121A (zh) 2018-02-09
CN107682121B true CN107682121B (zh) 2021-04-27

Family

ID=61140990

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710959414.0A Active CN107682121B (zh) 2017-10-16 2017-10-16 一种编码方法及装置

Country Status (1)

Country Link
CN (1) CN107682121B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1589533A (zh) * 2001-09-20 2005-03-02 高通股份有限公司 对数据比特进行并行编码的方法和装置
CN103023618A (zh) * 2013-01-11 2013-04-03 北京邮电大学 一种任意码长的极化编码方法
CN106130656A (zh) * 2016-06-16 2016-11-16 上海交通大学 基于极化码的光ofdm信号编码调制与解调系统及方法
CN106253913A (zh) * 2016-07-29 2016-12-21 山东科技大学 极化码的块编码器及其编码方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8347186B1 (en) * 2012-04-19 2013-01-01 Polaran Yazilim Bilisim Danismanlik Ithalat Ihracat Sanayi Ticaret Limited Sirketi Method and system for error correction in transmitting data using low complexity systematic encoder

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1589533A (zh) * 2001-09-20 2005-03-02 高通股份有限公司 对数据比特进行并行编码的方法和装置
CN103023618A (zh) * 2013-01-11 2013-04-03 北京邮电大学 一种任意码长的极化编码方法
CN106130656A (zh) * 2016-06-16 2016-11-16 上海交通大学 基于极化码的光ofdm信号编码调制与解调系统及方法
CN106253913A (zh) * 2016-07-29 2016-12-21 山东科技大学 极化码的块编码器及其编码方法

Also Published As

Publication number Publication date
CN107682121A (zh) 2018-02-09

Similar Documents

Publication Publication Date Title
US10534839B2 (en) Method for matrix by vector multiplication for use in artificial neural network
CN101777924B (zh) 一种Turbo码译码方法和装置
KR20170041730A (ko) 코드 생성 방법, 코드 생성 장치, 및 컴퓨터 판독가능 저장 매체
CN102377437B (zh) 一种准循环低密度奇偶校验码编码方法和装置
KR102409615B1 (ko) 연상 메모리에서의 최소값-최대값 계산 방법
CN104038232A (zh) 基于二次异或运算的测试数据压缩与解压缩方法
WO2019076177A1 (zh) 基因测序数据压缩预处理、压缩、解压方法、系统及计算机可读介质
TW201931181A (zh) 用於基因定序資料的資料處理方法及系統
US20240022395A1 (en) Encryption processing device and encryption processing method
CN103401569A (zh) 一种(n,k,m)系统卷积码盲识别的方法
CN113741858A (zh) 存内乘加计算方法、装置、芯片和计算设备
CN104243095A (zh) 一种卷积码与线性分组码的码字类型盲识别方法
RU2006128528A (ru) Способ сжатия данных
CN107682121B (zh) 一种编码方法及装置
Arming et al. Data compression in hardware—the burrows-wheeler approach
CN103746704B (zh) 基于双游程交替编码的芯片测试数据传输方法
WO2024066561A1 (zh) 查找空闲存储的装置、方法及芯片
US7256715B1 (en) Data compression using dummy codes
CN113222129A (zh) 一种基于多级缓存循环利用的卷积运算处理单元及系统
CN109672524B (zh) 基于粗粒度可重构架构的sm3算法轮迭代系统及迭代方法
CN108062289B (zh) 快速傅里叶变换fft地址换序方法、信号处理方法及装置
US20220239315A1 (en) Semi-sorting compression with encoding and decoding tables
CN109753629B (zh) 多粒度并行fft计算装置
CN115865098A (zh) 基于Huffman编码的数据压缩方法
CN114780151A (zh) 一种基于归并排序算法实现可变规模数量的数据排序系统

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