一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种多模列表维特比实现方法及译码器

2022-05-26 22:35:37 来源:中国专利 TAG:


1.本发明属于通信数字信号处理领域,具体涉及基于nb-iot系统和基于ble5.2系统的无线通信抗干扰、物理层信道纠错以及卷积码译码技术。


背景技术:

2.随着现代无线通信系统的发展,高速传输和高可靠性成为无线通信领域主要关注的两个方面,其中高可靠性尤为重要,主要体现为提高信号在传输过程中抵抗信道噪声、衰落、干扰等因素的能力。目前,前向纠错编码技术尤其是卷积编码是当前无线数字通信系统的一个重要组成部分,诸如4g lte、nb-iot、ieee 802.11、ble 5.2等系统都在信道纠错技术上引入卷积码以提升系统性能和抗干扰能力。
3.卷积码作为一种重要的信道纠错编码,其译码方式主要有三种:门限译码、序列译码以及维特比译码。其中,门限译码算法结构最简单,但性能最差;序列译码算法复杂度比门限译码稍高,性能也有所提升,但仍不满足目前主流无线通信系统的性能需求;维特比算法虽然硬件实现较为复杂,但其译码性能最强,因此维特比算法被广泛应用于各种通信系统。
4.目前在多模物联网系统信道译码方面,主要存在以下不足:缺乏兼容多模窄带系统的维特比译码器,由于不同约束深度和编码架构的维特比译码器可以通过模块复用节省资源,而使用多个系统专用译码器则会导致面积和功耗较大;传统维特比算法在低信噪比或干扰较大的信道环境下,还是会出现较大概率的误判。


技术实现要素:

5.为解决现有技术存在的上述问题,本发明提出了一种多模列表维特比译码器。
6.本发明的具体技术方案为:一种多模列表维特比译码器的实现方法,具体包括以下步骤:
7.s1、由接收比特和模式配置值进行软判决,计算得到当前时刻的分支度量值bm0和bm1;
8.s2、读取前一时刻的8个路径度量值,分别与步骤s1得到的分支度量值bm0和bm1相加,得到当前时刻的16个不同的路径度量值;
9.s3、根据时间参数对步骤s2得到的当前时刻的16个路径度量值进行自适应补偿;
10.s4、对补偿后的16个路径度量值做排序计算,选出最小的8个路径度量值作为8条幸存路径,同时计算得到所述8条幸存路径所对应的决策比特;
11.s5、根据计算得到的8条幸存路径的决策比特,进行回溯译码,得到8个不同的译码序列;
12.s6、对8个译码序列分别进行crc校验判决,将校验通过的序列作为最终译码结果并输出,若全部校验失败,则表示译码失败。
13.进一步的,步骤s1具体过程如下:
14.s11、根据模式配置值自适应选择编码架构,并生成对应的编码查找表,所述模式配置值具体为:0表示nb-iot模式,1表示ble模式;
15.s12、选择步骤s11生成的编码查找表中2种不同状态转移方向对应的2组编码值,并计算该编码值与接收比特的汉明距离,得到当前时刻2种不同状态转移方向的分支度量值bm0与bm1。
16.更进一步的,所述bm0和bm1具体为:
[0017][0018][0019]
其中,n表示卷积码编码输出码元长度,根据模式配置值进行设置(nb-iot模式下n为3,ble模式下n为2),input表示译码器的接收比特,dvalue0和dvalue1为两条转移路径在编码查找表中所对应的编码输出。
[0020]
进一步的,步骤s3所述的自适应补偿具体为:根据模式配置值计算得到补偿间隔,若当前时刻值为补偿间隔的整数倍,则将全部路径度量值减去一个权值。
[0021]
进一步的,步骤s5所述的回溯译码所使用的回溯深度与译码深度相同。
[0022]
进一步的,步骤s5具体过程为:
[0023]
s51、若当前时刻值为k的整数倍且大于k时,选择任意一个状态作为回溯起点,根据步骤s4中计算得到的决策比特向前计算回溯,经过长度为k的迭代后得到回溯终点及其对应的状态,其中,k为回溯深度;
[0024]
s52、将步骤s51中计算得到的回溯终点设置为译码起点,并根据此起点的初始状态和步骤s4中计算得到的决策比特向前进行计算译码,最终得到长度为k的译码序列。
[0025]
基于上述实现方法,本发明还提出了:一种多模列表维特比译码器,具体包括:分支度量计算单元、路径度量补偿单元、路径度量排序单元、回溯单元、模式选择寄存器及路径度量存储单元,其中,
[0026]
所述分支度量计算单元用于根据模式配置值自适应选择编码架构,生成对应的编码查找表,并对接收比特进行软判决,计算出这两条转移路径的分支度量值;
[0027]
所述路径度量补偿单元用于对路径度量值进行补偿;
[0028]
所述路径度量排序单元用于对补偿后的16个路径度量值进行排序处理,选出路径度量值较小的8条路径作为幸存路径,同时得到这8条幸存路径对应的决策比特;
[0029]
所述路径度量存储单元用于存储8条幸存路径所对应的路径度量值;
[0030]
所述回溯单元用于将所述路径度量排序单元输出的决策比特写入内存,再通过回溯译码的方式得到译码序列;
[0031]
所述模式选择寄存器用于存储模式配置值。
[0032]
本发明的有益效果:本发明的多模列表维特比译码器的实现方法及译码器,通过兼容nb-iot系统中的(3,1,7)咬尾卷积码和ble5.2系统中的(2,1,4)卷积码等两种模式,提高译码器的灵活性和适用性,并通过资源复用降低硬件面积与功耗;同时在物联网与窄带系统中引入列表维特比算法,通过记录8条候选幸存路径,并对其分别进行crc校验判决,从而获得比传统维特比算法更优的性能。
附图说明
[0033]
图1为本发明实施例的多模列表维特比译码的译码与校验流程示意图。
[0034]
图2为本发明实施例的多模列表维特比译码器的结构示意图。
[0035]
图3为本发明实施例的回溯单元中内存的架构设计图。
具体实施方式
[0036]
为便于本领域技术人员理解本发明的技术内容,下面结合附图对本发明内容进一步阐释。
[0037]
本实施例提供的一种多模列表维特比译码器的实现方法,具体包括以下步骤:
[0038]
s1、由接收比特和模式配置值进行软判决,计算得到当前时刻的分支度量值bm0和bm1;
[0039]
s2、读取前一时刻的8个路径度量值,分别与步骤s1得到的分支度量值bm0和bm1相加,得到当前时刻的16个不同的路径度量值;
[0040]
s3、根据时间参数对步骤s2得到的当前时刻的16个路径度量值进行自适应补偿;
[0041]
s4、对补偿后的16个路径度量值做排序计算,选出最小的8个路径度量值作为8条幸存路径,同时计算得到所述8条幸存路径所对应的决策比特;
[0042]
s5、根据计算得到的8条幸存路径的决策比特,进行回溯译码,得到8个不同的译码序列;
[0043]
s6、对8个译码序列分别进行crc校验判决,将校验通过的序列作为最终译码结果并输出,若全部校验失败,则表示译码失败。
[0044]
需要说明的是:列表维特比译码器中记录的幸存路径条数为用户可配置,将其设置为8是经过大量仿真后得到的译码性能和资源开销之间较为平衡的选择。
[0045]
如图1所示为列表维特比算法的译码与校验流程,列表维特比译码器根据接收比特并计算出8条幸存路径对应的译码序列,并依次对这8个译码序列做crc校验,若校验成功则停止迭代并输出译码结果;若译码失败则继续下一次迭代,直到完成全部8个译码序列的校验为止;若8个译码序列全部校验失败,则表示译码失败。
[0046]
其中,步骤s1具体过程如下:
[0047]
s11、根据模式配置值自适应选择编码架构,并生成对应的编码查找表,所述模式配置值具体为:0表示nb-iot模式,1表示ble模式;
[0048]
s12、选择步骤s11生成的编码查找表中2种不同状态转移方向对应的2组编码值,并计算该编码值与接收比特的汉明距离,得到当前时刻2种不同状态转移方向的分支度量值bm0与bm1。
[0049]
判决公式如下:
[0050][0051][0052]
其中,n表示卷积码编码输出码元长度,根据模式配置值进行设置(nb-iot模式下n为3,ble模式下n为2),input表示译码器的接收比特,dvalue0和dvalue1为两条转移路径在
编码查找表中所对应的编码输出。
[0053]
步骤s3所述的自适应补偿具体为:根据模式配置值计算得到补偿间隔,若当前时刻值为补偿间隔的整数倍,则将全部路径度量值减去一个权值。
[0054]
步骤s5所述的回溯译码所使用的回溯深度与译码深度,均可以为用户可配置,一般设为相同长度,此处假设回溯深度=译码深度=k。
[0055]
步骤s5具体过程为:
[0056]
s51、若当前时刻值为k的整数倍且大于k时,选择任意一个状态作为回溯起点,根据步骤s4中计算得到的决策比特向前计算回溯,经过长度为k的迭代后得到回溯终点及其对应的状态;
[0057]
s52、将步骤s51中计算得到的回溯终点设置为译码起点,并根据此起点的初始状态和步骤s4中计算得到的决策比特向前进行计算译码,最终得到长度为k的译码序列。
[0058]
基于上述实现方法,本实施例还提出了:一种多模列表维特比译码器,如图2所示,具体包括:分支度量计算单元、路径度量补偿单元、路径度量排序单元、回溯单元、模式选择寄存器及路径度量存储单元,其中,
[0059]
所述分支度量计算单元用于根据模式配置值自适应选择编码架构,生成对应的编码查找表,并对接收比特进行软判决,计算出这两条转移路径的分支度量值;
[0060]
所述路径度量补偿单元用于对路径度量值进行补偿;
[0061]
所述路径度量排序单元用于对补偿后的16个路径度量值进行排序处理,选出路径度量值较小的8条路径作为幸存路径,同时得到这8条幸存路径对应的决策比特;
[0062]
所述路径度量存储单元用于存储8条幸存路径所对应的路径度量值;
[0063]
所述回溯单元用于将所述路径度量排序单元输出的决策比特写入内存,再通过回溯译码的方式得到译码序列;
[0064]
所述模式选择寄存器用于存储模式配置值,为用户可配置,该值为0表示nb-iot模式,为1表示ble模式,且在系统工作时,该值可由上位机进行实时配置,用于选定系统的工作模式;其余各模块根据模式配置值进行相关参数和架构的配置。具体说明如下:
[0065]
当前时刻的任意一个状态均可由上一时刻的两种不同的状态转移而来,分支度量计算单元对接收比特进行软判决,并计算出这两条转移路径的分支度量值bm0和bm1。
[0066]
路径度量补偿单元对路径度量值进行补偿以避免错误,路径度量值的位宽设置为16bit,而实际上路径度量值全精度表示所需要的位宽为20bit,因此需要对路径度量值进行补偿以避免数据溢出。该单元会根据模式配置值计算出一个补偿间隔,每当时刻值为补偿间隔的整数倍时,会对所有路径度量值减去一个权值,补偿公式如下:
[0067][0068]
其中,pm’和pm分别为补偿后和补偿前的16条路径的路径度量值,pm
max
为所有路径中模值最大的路径度量值,floor表示向下取整。
[0069]
补偿后可将路径度量值控制在合适的大小范围以避免数据溢出,且不改变相互之间的相对大小关系,从而不影响译码决策。
[0070]
路径度量排序单元对补偿后的16个路径度量值进行排序处理,选出路径度量值较小的8条路径作为幸存路径,同时得到这8条幸存路径对应的决策比特,用于后续的回溯译
码。该单元使用比较排序算法,采用并行和串行混合的流水线结构,将输入的16个路径度量值分为3组,每次并行计算其中一组的数据,3组数据之间则按照串行顺序执行计算。排序单元每3个时钟周期输出一组排序结果,这在满足译码器吞吐率要求的前提下,降低了资源及功耗。
[0071]
回溯单元将路径度量排序单元输出的决策比特不断写入内存,再通过回溯译码的方式最终得到译码序列。回溯使用的内存架构设计使用k-pointer算法(k取值为2,表示同一时刻最多有两个读指针在工作),共使用4块同规格的双口sram实现。
[0072]
如图3给出了回溯单元中内存的架构设计,该架构设置了读、写两类不同指针,除了几个初始时刻外,同一时刻总是有一块sram执行写指针,两块sram执行读指针,还有一块sram处于空闲状态,即分别处于写入、回溯、译码和空闲状态。
[0073]
本发明的多模列表维特比译码器通过兼容nb-iot和ble两种模式的信道译码场景,提取其数字信号处理场景中流程和功能相似之处,通过在nb-iot(3,1,7)咬尾卷积码译码器的基础上仅增加了ble模式下的编码架构,并复用相关运算和存储资源,以增加少量逻辑资源开销的代价就实现了对ble5.2(2,1,4)卷积码译码器功能的支持。最终在smic 55nm工艺下,实现面积仅为0.118mm2,功耗为6.6mw,同时模块吞吐率达到8.64mbps,在降低了多模系统信道译码器的功耗和面积的前提下,完全满足两种系统的吞吐率要求。此外,本发明提供的列表维特比算法,通过记录最多8条幸存路径并分别做crc校验以提升译码性能,根据性能实测结果,以误帧率5%为标准,本发明的多模列表维特比译码器相比传统维特比译码器有0.5db左右的性能提升。
[0074]
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献