一种基于MaPU架构的快速并行卷积编译码方法、系统、设备及介质技术方案

技术编号:37478404 阅读:9 留言:0更新日期:2023-05-07 09:19
一种基于MaPU架构的快速并行卷积编码器和维特比译码器,包括以下步骤:步骤1,根据卷积编码生成多项式计算三张表,分别为conv_table1,conv_table2,state_trans_table;步骤2,对长为L的待编码二进制比特序列bit_seq进行映射,求出用于查找卷积结果表的索引,利用步骤1生成的conv_table1,conv_table2进行卷积编码,生成长为2

【技术实现步骤摘要】
一种基于MaPU架构的快速并行卷积编译码方法、系统、设备及介质


[0001]本专利技术属于无线通信
,具体涉及一种基于MaPU架构的快速并行卷积编译码方法、系统、设备及介质。

技术介绍

[0002]差错控制编码已经十分成熟的应用于信道编码技术之中,常用的编码技术有卷积码、RS码、Turbo码、伪随机序列扰码等。卷积编码是现代数字通信系统中常见的一种前向纠错码,最早由Elias等人于1955年提出。区别于常规的线性分组码,卷积码在编码过程中,充分利用了各码元之间的相关性,其编码输出的码字不仅与当前时刻的信息符号输入有关,还与之前输入的信息符号有关。Viterbi译码算法,又被称为最大后验概率方法,是卷积编码最佳的译码算法,在译码过程中,译码器不仅从当前时刻所收到的码组中提取译码信息,同时还利用之后若干时刻内所收到的码组来提取有关信息,进行译码判决。卷积码因其编码增益高、译码延迟小以及具有很强的纠正随机错误的能力而在移动通信、卫星通信、深空通信和数据压缩系统中得到广泛的应用。
[0003]卷积编码器可以由一个线性的、有限状态的移位寄存器来表示,通常使用(n,k,N)3个参数来描述:表示每个时刻编码器对输入的k个比特进行卷积编码,并且输出n个编码后的比特,N称为卷积码的约束长度,表示编码输出序列共受到N级(每级k比特)移位寄存器的约束。卷积编码器的电路结构可由卷积码的生成多项式来描述,以一种(2,1,3)卷积码为例,它受到3级移位寄存器的约束,它的两个生成多项式为G0(x)=1+x+x2和G1(x)=1+x2,G0(x)表示其编码器的第1,2,3级移位寄存器相连,而G1(x)表示编码器的第1,3级相连。
[0004]在任意编码时刻,当前时刻的卷积编码输出结果都会受到当前时刻及过往时刻信息序列的约束,通常采用串行电路设计的方式进行编码的硬件实现,但是该方法的编码效率较低,且电路结构与生成多项式一一对应,当多项式发生变化时,需重新设计电路连线,设计通用性较低。
[0005]维特比算法是一种基于网格图的译码算法,在对卷积码进行译码操作时,算法的关键步骤为ACS(Add

Compare

Select),即为加比选操作。对于一个(n,k,N)的卷积码而言,其网格图上的每个时刻都具有2
N
‑1个状态,随着时刻改变,会根据各个时刻的输入比特发生状态转移,形成转移路径。维特比译码算法是通过比较全部路径从而找出最优路径,作为译码依据。
[0006]最优路径是通过比较路径度量来选取的。对于一个(n,k,N)的卷积码,其某时刻的编码输出为[u1,u2,

,un],称作分支字。假设译码器在对应时刻受到的接收序列为[d1,d2,

,dn],定义分支度量g为二者间的汉明距离,其计算方法由下式给出:
[0007]g=(d1

u1)2+(d2

u2)2+...+(dn

un)2[0008]由于分支字与接收序列均为01比特,在硬件实现时,上式可利用异或器来进行,即:
[0009]g=d1^u1+d2^u2+...+dn^un
[0010]符号^表示异或操作。通过对一条路径上的分支度量g进行累加求和,即可得到该条路径的路径度量Zn,在任意译码时刻,通过比较到达同一状态的多条路径各自的路径度量Zn的大小,选择较小的作为幸存路径,就完成了一次ACS操作,同时需要输出每个译码时刻的幸存路径序列v_path,作为译码依据。
[0011]在译码过程中,每次ACS操作需要对多个状态求解分支字,在硬件实现时,分支字的求解模块与卷积编码模块一致,如采用并行求解方式,需同时使用多个编码器的运算结构,所需运算资源随约束长度N成指数增长,同时与编码类似,当生成多项式发生改变时,运算电路结构也需随之改变。此外,每个时刻幸存路径v_path的存储也需要消耗较多的存储空间。
[0012]申请号为CN201910477226.3的专利申请公开了“一种咬尾卷积编码处理方法、装置和通信设备”,其中,咬尾卷积编码处理方法包括:获取输入数据的待编码单元;所述待编码单元包括32个比特;根据寄存器初值变量和所述待编码单元进行编码初始化处理,得到输入字变量;分别根据各生成多项式系数映射的字变量以及所述输入字变量,对所述待编码单元的各比特进行咬尾卷积编码,得到所述待编码单元对应的编码数据;任一所述字变量均包括相应所述生成多项式系数映射的四个相同的字节变量。
[0013]该专利申请所提及的卷积编码方案的是通过生成多项式,逐个比特移位计算实现,属于串行实现卷积编码的结构,该方法编码效率较低,若要提升编码速度,需要并行采用多个相同的逻辑单元,将大量增加功耗,不易于硬件实现。且逻辑单元结构与生成多项式相关,一旦多项式发生变动,则需要重构逻辑单元,方案通用性较差。

技术实现思路

[0014]为了克服上述现有技术的不足,本专利技术的目的在于提供一种基于MaPU架构的快速并行卷积编译码方法、系统、设备及介质,通过采用并行查表方法完成卷积过程,节省了编译码过程中的运算单元的开销;采用对应的并行维特比译码方案,在进行维特比译码时,根据状态转移特性,优化译码状态v_path存储,极大程度节省了存储单元的开销,解决了硬件卷积处理效率慢,占用资源大等问题,该方法具有编译码处理并行度高,硬件资源开销小,代码通用性强的特点。
[0015]一种基于MaPU架构的快速并行卷积编译码方法,包括以下步骤:
[0016]步骤1,根据卷积编码生成多项式计算三张表,分别为conv_table1,conv_table2,state_trans_table;
[0017]步骤2,对长为L的待编码二进制比特序列bit_seq进行映射,求出用于查找卷积结果表的索引,利用步骤1生成的conv_table1,conv_table2进行卷积编码,生成长为2
×
L的待译码序列R;
[0018]步骤3,利用步骤1生成的state_trans_table对长为2
×
L的待译码序列R进行维特比译码。
[0019]所述步骤1具体方法为:
[0020]步骤1.1,从生成多项式中提取生成序列记为ConvCodeGenPoly,用于表项运算;
[0021]步骤1.2,生成一个大小为2
N
‑1×
2的卷积结果表conv_table1,该表中储存了卷积
结果中前N

1位的结果;
[0022]步骤1.3,生成一个大小为2
N
×
2的卷积结果表conv_table2,该表中存储了卷积结果中N位及之后的结果;
[0023]步骤1.4,生成一个大小为2
N
‑1×2×
2的状态转移表state_trans_table,state_trans_table(x,y,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于MaPU架构的快速并行卷积编译码方法,其特征在于:包括以下步骤:步骤1,根据卷积编码生成多项式计算三张表,分别为conv_table1,conv_table2,state_trans_table;步骤2,对长为L的待编码二进制比特序列bit_seq进行映射,求出用于查找卷积结果表的索引,利用步骤1生成的conv_table1,conv_table2进行卷积编码,生成长为2
×
L的待译码序列R;步骤3,利用步骤1生成的state_trans_table对长为2
×
L的待译码序列R进行维特比译码。2.根据权利要求1所述的一种基于MaPU架构的快速并行卷积编译码方法,其特征在于:所述步骤1具体方法为:步骤1.1,从生成多项式中提取生成序列记为ConvCodeGenPoly,用于表项运算;步骤1.2,生成一个大小为2
N
‑1×
2的卷积结果表conv_table1,该表中储存了卷积结果中前N

1位的结果;步骤1.3,生成一个大小为2
N
×
2的卷积结果表conv_table2,该表中存储了卷积结果中N位及之后的结果;步骤1.4,生成一个大小为2
N
‑1×2×
2的状态转移表state_trans_table,state_trans_table(x,y,z)表示第z个生成多项式在移位寄存器处于状态x,输入为比特为(y

1)时对应的分支字。3.根据权利要求1所述的一种基于MaPU架构的快速并行卷积编译码方法,其特征在于:所述步骤2具体方法为:步骤2.1,将bit_seq的前N

1位所对应的十进制值保存为索引conv_findex,对bit_seq的每连续N位映射为一个索引,共得到L

N+1个值保存为序列conv_sindex;步骤2.2,利用conv_findex去检索卷积结果表conv_table1,得到卷积结果的前N

1位;利用conv_sindex去检索卷积结果表conv_table2,求出L

N+1个结果,得到卷积结果的第N位到第L位,生成长为L的待译码序列R,重复步骤2.1

步骤2.2,最终生成长为2
×
L的待译码序列R。4.根据权利要求3所述的一种基于MaPU架构的快速并行卷积编译码方法,其特征在于:所述步骤2.2中的L≥N。5.根据权利要求1所述的一种基于MaPU架构的快速并行卷积编译码方法,其特征在于:所述步骤3的处理过程包括:步骤3.1,求解t1~t
N
时刻路径度量Zn;步骤3.2,求解t
N+1
~t
L+1
时刻的ACS过程;步骤3.3,逆向译码过程。6.根据权利要求5所述的一种基于MaPU架构的快速并行卷积编译码方法,其特征在于:所述步骤3.1、步骤3.2以及步骤3.3的具体方法为:步骤3.1,首先求解t1~t
N
时刻路径度量Zn,以获得全部2
N
‑1个状态的路径度量,求解过程为:初始化t1时刻的Zn为长2
N
‑1的全零向量,在时刻t
i
(i=2,3,...,N)时,首先对上一时刻输出的Zn进行交织,按照状态转移方向,将来向状态的Zn值交织到去向状态的位置上,得到Zn_in作为当前时刻的路径度量输入,当输入比特为“0”,状态i会转移到状态i/2,即称i为来向状态,i/2为去向状态,则有Zn_in(i/2)=Zn(i),有关状态转移的除法均为下取整,同时利用全部来向状态的索引Ind去检...

【专利技术属性】
技术研发人员:刘毅王靓凌邵刘智嘉
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1