高性能维特比在卫星导航接收机中FPGA实现
一种Viterbi译码器的FPGA实现

砍4
吞吐率要求。 译码器的硬件实现可以 采用串行或者并行方式。 串行方式可以 通过对硬件单元的复用降 低电 路设计门数, 适合于K值较大的 情况, 但降低了数据的吞吐量。 同样基于数据吞吐率的 要求, 在 译码器的实现中,采用了全并行方式。 电 2 C 单元、 路主要由3 个A S 全局路径比 较和回溯逻辑组成。一个A S C 单元由4 个加法器、
元。对于约束长度K 7 译码,总计需3 个蝶形单元。 =的 2 对于译码码元的输出, 根据编码方采取的 策略, 有两种不同的 方式: 1 编码端采用固定长度的数据块。 、 在每一个数据块的尾部增加 K个 0 迫使每块数据输出 , 后的编码器状态复原为全0 。在译码端, 选择最终状态为全 0 的路径作为最佳路径,沿该路径行 进记录的信息位为输出的 译码信息. 这种方法实现起来有一定的简化, 不需要最终的 6 4条路径 的比 较。 但是, 编码效率降低了。 2 编码端信息流是连续的。 、 在译码端经过一段码流后 ( 一般为L (-0 K , = - ) 可以认为 51 ) 后 续的 码流与L 位以前的 码流相关性很弱, 选择最小路径度量值的记录信息作为输出。 考虑到要求较高的编码效率,我们在设计中采用了第二种方式. 在译码器的 输出处理上, 有两种方式: 回溯法和寄存器交换法。 溯法在输入码流达到一定 回
度量的最大值和最小值; K时约束长度。当K 7 三位软判决时, =, 路径度量的范围为0 2 -4. 因此,设计中路径度量值用 6 位二进制表示。为了保证各状态的路径度量值不溢出,需要对 路径度量值做归一化处理。
全局路径比 较器需要从2, 态路径 值中 最小 K个状 - 度量 选出 结果。 设计中 采用了比 器阵 较
条。
3 Vt b译码器的结构 . e i ir
高输出频率GPS接收机FPGA优化设计

欢迎网上投稿 《电子技术应用》2011年第37卷第7期当前,以FPGA +DSP 为硬件平台实现的软件接收机,由于参数设置灵活、可验证新的导航算法而备受重视。
伴随着新算法的日益复杂和对接收机要求的不断提高,对系统的速度提出了更高的要求[1-2]。
比较GNSS 接收机不同解决方案的处理能力与灵活性[3],将更多的任务交给FPGA 处理以减少DSP 的负担、提高系统速度。
本文采用FPGA 完成GPS 的基带处理,保留了软件接收机参数的灵活性;节省了DSP 资源,增加了定位结果的输出率;在FPGA 硬件资源允许下,通道个数可以任意扩展。
1基带处理FPGA 实现方案如图1所示,GPS 信号经天线、射频下变频至中频,进入FPGA 。
载波环路和码环路对中频信号进行解扩,得到数据比特流。
同步电路对数据流进行同步,输出伪距等相关信息。
系统启动时,卫星号分配模块和多普勒限定模块接收DSP 发送的配置方案。
时钟发生器模块用于产生时钟脉冲。
1.1数控振荡器设计载波发生器按照输入值产生不同频率的同相I 、正交Q 两路正弦信号。
码发生器除了产生不同频率的C/A 码外,还具有对码相位进行移位的操作。
为减少资源使用,只采用每次延迟一个码片的操作。
延迟移位可减少捕获到多径信号的危险。
高输出频率GPS 接收机FPGA 优化设计李英飞,丁继成,赵琳(哈尔滨工程大学自动化学院,黑龙江哈尔滨150001)摘要:为使DSP 芯片有充裕的资源和时间用于复杂的导航计算、输出高频率的解算结果,通过资源优化,只采用FPGA 逻辑电路实现了GPS 信号的捕获、跟踪、帧同步、卫星自动搜索、伪距信息生成等基带处理功能,并整理了电文、历书、伪距信息、多普勒频移的格式,以方便传输。
实验表明,本方案可行有效,定位频率可达100Hz 。
关键词:相干积分;滤波器调整;帧同步;伪距生成中图分类号:TN965.5文献标识码:B文章编号:0258-7998(2011)07-0026-03Optimization of FPGA-based on high-output frequency GPS receiverLi Yingfei ,Ding Jicheng ,Zhao Lin(College of Automation,Harbin Engineering University,Harbin 150001,China)Abstract :In order that the DSP chip could calculate user position in real time,a real -time GPS module of baseband pro -cessing has been implemented on a FPGA,using only logical units.The module implements signal acquisition,track,frame syn -chronization,satellites auto search and so on.In addition to meeting the demands of the transmission signal to DSP,a auxiliary module is designed for organizing massive messages.Experimental results show that the positioning output frequency more than 100Hz.Key words :coherent integration ;filter adjustment ;frame synchronization ;pseudo generation图1FPGA 基带处理模块总方框图26《电子技术应用》2011年第37卷第7期表1环路参数对比锁相环ω2n T sa 2ωωn ω2n T s a 2ω12锁频环延迟锁定环41/432241/411/321/2561/1024图2不同参数的环路状态(a)第一组参数正交Q 支路积分值锁相环滤波器输入/△°正交Q 支路积分值锁相环滤波器输入/△°(b)第二组参数1.2环路滤波器参数调整考虑到FPGA 除法运算的舍入误差和射频芯片带宽的影响,环路参数的调整工作按以下步骤进行。
GMSK信号的维特比算法与FPGA实现

GMSK信号的维特比算法与FPGA实现康超;陈丽婷;陈建斌【摘要】GMSK信号与FSK信号相比具有更高的频带利用率,在遥测通信领域得到了广泛应用.因GMSK的基带信号经过高斯滤波整形,相当于加入了码间干扰导致接收灵敏度下降.采用基于最佳似然准则(MLSE)的维特比(Viterbi)算法实现GMSK信号的解调.针对所需匹配滤波器消耗过多FPGA硬件资源问题提出了优化方法,将匹配滤波器数量从256个降至64个.针对路径度量LS值发散导致FPGA无法实现问题进行了分析并提出了解决方法,使LS收敛在460附近.实测结果表明,FPGA实现后充分发挥了Viterbi算法的最佳译码性能,接收灵敏度与未采用多符号检测技术(MSD)的FSK信号相比提升了3 dB.【期刊名称】《无线电工程》【年(卷),期】2018(048)007【总页数】5页(P541-545)【关键词】最佳似然准则;维特比;GMSK;FSK;FPGA【作者】康超;陈丽婷;陈建斌【作者单位】上海航天电子技术研究所, 上海 201109;上海航天电子技术研究所, 上海 201109;上海航天电子技术研究所, 上海 201109【正文语种】中文【中图分类】TN9110 引言GMSK信号[1]的调制指数为0.5,相位连续,可以理解为一种特殊的FSK信号。
GMSK的基带信号经高斯滤波后提高了频带利用率但同时也引入了码间干扰。
本文采用通用数字环+Viterbi算法完成GMSK信号的相干解调。
文献[2-4]指出,存在码间干扰时使用最佳似然准则(MLSE)可以达到最佳译码性能,通常选择用Viterbi算法[5]实现GMSK信号解调来提升接收灵敏度。
Viterbi算法对载波环的相位误差要求较高,本文通过Matlab仿真得出相位误差要求控制在6°。
文献[6-8]分析了GMSK相干解调载波同步的方法和性能,文献[9]的通用数字环是一种适于数字化处理的低运算量锁相环,性能可以满足Viterbi算法的要求。
UWB中Viterbi译码器的FPGA设计与实现

UWB中Viterbi译码器的FPGA设计与实现王朝刚;卢晓春【摘要】由于差错控制在超宽带室内导航系统中占据着十分重要的位置,并考虑到IEEE 802.15.3a标准采用卷积编码和Viterbi译码来进行差错控制,因此利用现场可编程门阵列(FPGA)设计实现了一种约束长度为7,译码深度为64的全并行Viterbi 译码器.本设计在Xilinx ISE 9.2环境下进行了综合,并采用Modelsim 6.0对整个设计进行了仿真.仿真结果表明,该设计能够满足超宽带系统的要求.【期刊名称】《时间频率学报》【年(卷),期】2009(032)001【总页数】7页(P63-69)【关键词】超宽带(UWB);加比选(ACS)模块;Viterbi译码器;现场可编程门阵列(FPGA)【作者】王朝刚;卢晓春【作者单位】中国科学院国家授时中心,西安,710600;中国科学院研究生院,北京,100039;中国科学院国家授时中心,西安,710600【正文语种】中文【中图分类】TN911.2近几年来,超宽带通信技术以其传输速率高、抗多径干扰能力强等优点引起了全球通信技术领域极大的重视。
将超宽带技术应用在室内定位系统中,能够使系统在标识大小、功耗、造价、精度、实时性、通信能力以及可扩充性能等方面得到大幅度提升。
因此,基于超宽带的室内定位系统具有非常广阔的前景,成为未来无线室内通信和家庭网络的首选。
超宽带系统的发射功率小,信息传输速率高,为了保证信息正确传输,差错控制在系统设计中显得尤为重要。
自1955年Elias提出卷积码方法,1967年Viterbi提出最大似然译码方法以来,Viterbi译码由于其易实现性而在现代通信系统中受到广泛应用。
在UWB(超宽带)系统中,IEEE802.15.3a标准规定了采用(2,1,7)的卷积编码器和Viterbi译码器来实现超宽带系统的差错控制[1]。
超宽带系统的带宽很宽,采样速率很高(IEEE802.15.3a标准中的最低数据速率为53.3 Mbps),因此要求译码器的速度很快,传统的串行Viterbi译码器就难以满足要求。
GMSK_多通道接收机的非相干解调算法及FPGA_实现

doi:10.3969/j.issn.1003-3114.2023.04.021引用格式:陈建斌,王刚,吴毅杰,等.GMSK 多通道接收机的非相干解调算法及FPGA 实现[J].无线电通信技术,2023,49(4):746-752.[CHEN Jianbin,WANG Gang,WU Yijie,et al.Non-coherent Demodulation Algorithm and FPGA Implement of GMSK Multi-channel Receiver [J].Radio Communications Technology,2023,49(4):746-752.]GMSK 多通道接收机的非相干解调算法及FPGA 实现陈建斌,王㊀刚,吴毅杰,王新玥(上海航天电子技术研究所,上海201109)摘㊀要:针对硬件资源受限的高斯最小频移键控(Gaussian Filtered Minimum Shift Keying,GMSK)信号多通道接收机,设计了一种硬件资源占用极少㊁译码性能良好的解调算法㊂对通用数字环路硬件资源进行优化,提出了一种改进算法,将环路捕获速度提升了5倍,引入一种位同步算法,该算法同步精度高㊁占用硬件资源少㊁采样率低㊁易于工程实现㊂并对2-bit 差分解调算法进行改进,完成差分解调模块设计㊂测试结果表明,改进后的差分解调算法比改进前译码性能提升了约2dB㊂该解调算法与理论值相比仅有0.6dB 的解调损耗,具有良好的解调性能,满足工程实际应用需求㊂关键词:高斯最小频移键控;通用数字环;位同步;2-bit 差分解调;FPGA 中图分类号:V556.1㊀㊀㊀文献标志码:A㊀㊀㊀开放科学(资源服务)标识码(OSID):文章编号:1003-3114(2023)04-0746-07Non-coherent Demodulation Algorithm and FPGA Implement ofGMSK Multi-channel ReceiverCHEN Jianbin,WANG Gang,WU Yijie,WANG Xinyue(Shanghai Aerospace Electronic Technology Institute,Shanghai 201109,China)Abstract :Aiming at the Gaussian Filtered Minimum Shift Keying(GMSK)signal multi-channel receiver with limited hardware re-sources,a demodulation algorithm with low hardware resource occupation and good decoding performance is designed.General digitalloop hardware resources are optimized,and an improved algorithm is proposed,which increases the loop capture speed by 5times and introduces a bit synchronization algorithm with high synchronization accuracy,less hardware resources,and low sampling rate.This ap-proach facilitates engineering implementation.And a 2-bit differential demodulation algorithm is improved to complete differential de-modulation module design.Test results show that the improved differential demodulation algorithm improves decoding performance by a-bout 2dB compared with the previous pared with the theoretical value,the demodulation algorithm has only a demodulation loss of 0.6dB,has good demodulation performance,and meets practical application requirements of engineering.Keywords :GMSK;universal digital loop;symbol synchronization;2-bit differential demodulation;FPGA收稿日期:2023-03-22基金项目:国家部委基金资助项目Foundation Item :Project Funded by National Ministries and Commis-sions of China0 引言GMSK 信号因其具有频带利用率高㊁恒包络特性好等优点被广泛应用到移动通信㊁航空数据链和遥测通信等领域[1-3]㊂GMSK 解调算法主要可以分为相干解调和非相干解调[4],相干解调想要获得优秀的解调性能主要通过数字环路+维特比等高复杂度算法来实现[5-6],其需要占用大量FPGA 硬件资源,并不适用于FPGA 硬件资源有限且需多通道(通道数ȡ32)处理解调数据的接收机等设备㊂因此,面对靶场遥测系统需多通道接收解调数据的需求,设计一种硬件资源占用少,误码性能好的解调方案就变得尤为重要㊂文献[7-9]指出,非相干解调方法中,在相同信噪比条件下,2-bit 差分解调性能优于1-bit 差分解调,且算法复杂度比相干解调低,资源占用少,易于工程实现,差分解调算法想要获得最佳解调性能的前提是获得准确的位同步信息[10-11]㊂文献[12]提出了一种基于维特比的差分相位解调方法,并通过仿真结果得出该方法解调性能优于1-bit 和2-bit 差分解调,但该方案算法复杂,且需要大量的乘法器,占用硬件资源较多,无法应用到多通道接收且硬件资源受限的设备中㊂基于上述情况,本文采用通用数字环+位同步+2-bit 差分解调实现GMSK 信号的非相干解调㊂通用数字环具有复杂度低㊁易于数字化等优点,在此基础上,提出了一种改进算法以提高数字环路的性能㊂引入一种位同步算法,该算法可以直接利用GMSK 信号的相位特征和波形特点提取位同步信号,通过低倍采样率就可以很好地完成位同步,同步精度高㊁硬件资源占用少㊂然后采用2-bit 差分解调算法实现GMSK 信号的解调;最后对设计完成的32通道解调模块进行FPGA 实现,提出资源优化方案,最大限度的节省硬件资源㊂整个解调模块具有硬件资源占用少,译码性能好等优点㊂最后对解调模块进行仿真和实测,给出GMSK 信号在10Mbit /s 码速率下的测试结果㊂1㊀GMSK 信号特性分析调制后的GMSK 信号可以表示为:s (t ,a )=A 0cos[ωc t +φ(t ,a )+φ0],(1)式中:A 0为信号包络幅度,ωc 为载波频率,φ0为初始相位,φ(t ,a )为相位信息,如下式表示:φ(t ,a )=πðn ia k q (t -kT ),t ɪ[nT ,(n +1)T ],(2)式中:a k 为+1或-1的码元序列,T 为码元周期,q (t )为脉冲相位函数,可通过高斯脉冲成形滤波器的脉冲响应g (t )的积分形式表示:q (t )=ʏtg (t )d τ,(3)g (t )=12T Q 2πB ln2t -T2()éëêêùûúú-Q 2πB ln2t +T 2()éëêêùûúú{},(4)Q (t )=12πʏɕte-τ22d τ㊂(5)式(4)中,B 为高斯滤波器的3dB 带宽,由于t的取值为(-ɕ,+ɕ),其具有物理不可实现性,因此在工程上需要对其进行截断近似处理成如下形式:g T (t )=g (t ),t ɪ[-NT ,NT ]0,其他{㊂(6)文献[13]通过仿真分析指出GMSK 信号的功率谱密度主要分布在-2.5T ~2.5T ,因此,本文将g (t )截取为5T 的长度,此时N =2㊂文献[14]指出BT 值越小,输出功率谱就越紧凑,但码间干扰就越严重㊂文献[15]计算得出了不同BT 值下的GMSK 信号的功率谱密度分布情况,当BT =0.5时,GMSK 信号有99.9%的能量集中在1.33R b ,R b 为信号的码速率㊂在不同BT 值下对2-bit 差分解调算法进行Matlab 仿真,得出误码率曲线如图1所示㊂通过对系统的解调性能和频带利用率进行综合考虑,选择当BT =0.5时的误码率作为理论值,并将其作为工程实现对比的依据㊂图1㊀不同BT 值的GMSK 误码率曲线Fig.1㊀GMSK bit error rate curves with different BT2㊀GMSK 差分解调系统2.1㊀数字环路原理与改进由于位同步算法需要GMSK 信号的相位特征和波形特点来提取位同步信息,所以在位同步前需要利用数字环路对GMSK 信号进行载波相位恢复,数字环路实现流程如图2所示㊂其主要由低通滤波器㊁鉴相器㊁环路滤波器和数控振荡器4部分组成[16-17]㊂环路工作过程如下:输入的GMSK 信号与数控振荡器的输出信号相乘,通过低通滤波器后的两个支路信号经符号函数后送到相乘器得到相位误差信号Δφ,通过调整环路滤波器系数对数控振荡器的频率控制字进行修正,通过闭环控制,完成环路锁定,完成信号的载波相位恢复㊂图2㊀数字环路实现流程Fig.2㊀Digital loop implementation process由图2可知Δφ为:Δφ=sgn(I )㊃sgn(I -Q )㊃sgn(Q )㊃sgn(I +Q ),(7)又因为:x y =1,x ,y 同号-1,x ,y 异号{,(8)可以推出:sgn(x y )=sgn(x ㊃y )㊂(9)因此式(7)可以表示为:Δφ=sgn(I ) sgn(I -Q ) sgn(Q ) sgn(I +Q )㊂(10)通过上述分析,虚线框中的3个乘法运算可以等效为3个异或非逻辑运算,将其应用到32通道接收机中可以节省96个乘法器,有效地优化了硬件资源的使用,达到节省硬件资源的目的㊂利用双线性变换,得到二阶数字环路滤波器的传递函数为:G (z )=C 1+C 2z -11-z -1,(11)C 1=2τ2+T s2τ1,㊀C 2=T s τ1㊂(12)数字环路滤波器结构如图3所示㊂由于采用双线性变换设计的数字环路滤波器其系数C 1和C 2存在较大误差,影响环路性能㊂为了解决这个问题,采用将整个数字化环路的传递函数与经双线性变换后模拟锁相环传递函数对应系数相等的方式,可以求得较为准确的环路滤波器系数C 1和C 2,其与固有振荡频率ωn 和阻尼系数ξ关系如下:C 1ʈ2ξωn T sK,㊀C 2ʈ(ωn T s )2K㊂(13)图3㊀数字环路滤波器结构Fig.3㊀Digital loop filter structure环路单边噪声带宽为B L =ωn8ξ(1+4ξ2),B L 越小,环路对噪声的滤除能力越强,但跟踪动态范围就会越小㊂在GMSK 信号的2-bit 差分解调中,为了平衡环路性能,通常取B L ɤ0.05R b 较为合适㊂为了最大程度抑制噪声和提高频偏捕获速度,本文对环路滤波器系数进行改进,分别加入调整因子ε1和ε2,如式(14)所示:C 1=2ε1ξωn T sK,㊀C 2=ε2(ωn T s )2K㊂(14)当环路捕获频偏和相位误差较大时,可以适当增大ε1,提高系统的快速性;反之可以减小ε2提高环路系统的稳定性㊂将所设计的数字环路进行Matlab 仿真,由图1可知,误码率优于9.5ˑ10-5时的信噪比为13.2dB㊂因此,仿真时令高斯噪声值E b /N 0=13dB,其余仿真条件为:阻尼系数ξ=0.707,环路总增益K =1.46ˑ10-9,B L =0.05R b ,ε1=ε2=1,载波环路频率曲线如图4所示㊂由图4可知,当载波频偏为-100kHz 时,环路捕获时间约为12.95ms,最大波动频差为8.38kHz;数字环路捕获时间过长,会严重影响系统的响应速度,甚至导致突发方式的通信系统无法工作的情况㊂图4㊀改进前载波环路频率曲线Fig.4㊀Carrier loop frequency curve beforeimprovement为了提高环路捕获速度,采用调整因子切换方法,即在环路系统初始时刻,频偏和相位误差较大时,自适应因子设为ε1=1.26㊁ε2=1.12,跟踪10ms 后完成粗捕获,此时调整因子切换为ε=1㊁ε2=0.84,改进后载波环路频率曲线如图5所示㊂由图可知,采用调整因子切换方法后的环路捕获速度比改进前提升约5倍,相位抖动也有一定程度的减小㊂频偏变化在最大频偏范围内的系统均可以使用该方法提高系统捕获速度㊂图5㊀改进后载波环路频率曲线Fig.5㊀Carrier loop frequency curve after improvement由上述分析可知,所设计的数字环路结构简单,在实现过程中不需要用到乘法器,具有捕获速度快,相位抖动小,硬件资源占用少等优点㊂2.2㊀位同步算法文献[18]指出,由于正余弦函数和在码元周期内的GMSK 基带波形信号在[n π/2,(n +1)π/2]均具有单调性,可以从GMSK 信号基带波形信号特征中提取出位同步信号㊂算法流程如图6所示㊂对位同步算法进行Matlab 仿真,每个码元的采样点数为5,并对位同步误差进行统计,位同步误差统计如表1所示㊂表1㊀位同步误差统计Tab.1㊀Bit synchronization error statistics预采样时间T s 位同步误差-2-1/5T /%0/%1/5T /%2/5T 5000 2.2295.26 2.520100000.6498.640.72020000.0299.940.04㊀㊀由表1可知,预采样统计时间越长,位同步算法定时精度越高,当经过2000T s 预采样时间计算后㊂输出的同步信号定时误差为零的概率为99.94%,满足2-bit 差分解调对位同步信息的精度要求㊂该位同步算法在实现过程中不需要使用乘法器,且只需要5倍采样率就可以准确输出位同步信息㊂具有算法复杂度低,同步精度高㊁硬件占用资源少等优点㊂非常适合在硬件资源受限的GMSK 解调系统使用㊂图6㊀位同步算法流程Fig.6㊀Bit synchronization algorithm flow2.3㊀2-bit 差分解调算法设计与改进本文设计的GMSK 信号32通道接收机解调性能要求:当E b /N 0=15dB 时,误码率优于9.5ˑ10-5㊂由于通道较多且相互独立,所以在选择解调算法过程中,要选择译码性能良好且占用硬件资源较少的解调算法㊂本文采用改进后2-bit 差分解调算法可以满足上述要求,其算法实现流程如图7所示㊂图7㊀改进后2-bit 差分解调算法实现流程Fig.7㊀Implementation process of the improved 2-bitdifferential demodulationalgorithm由图7可以看出,位同步模块为解调模块准确提供延迟2个码元周期的定时信号㊂I㊁Q 两路基带信号分别与延迟2个码元周期的信号相乘再相加,输出的信号为y (T s )㊂传统2-bit 差分解调算法通过判决门限γ直接对y (T s )进行抽样判决㊂当信噪比较低时,在抽样时刻的y (T s )易受到噪声干扰而发生误判,影响系统解调系能㊂为了提高码元判决准确度,改进后的2-bit 差分解调算法在判决前先对y (T s )进行一个码元周期的积分,即对每个码元周期内的K 个采样点进行波形叠加后再进行抽样判决可有效降低误码率,提高解调系统的译码性能㊂3㊀程序设计与仿真3.1㊀FPGA 设计根据前文所述的差分解调系统设计原理,对改进后的系统各模块进行Verilog 设计,FPGA 采用Xilinx 公司生产的K7系列XC7K160T 芯片㊂32通道GMSK 解调模块的顶层设计如图8所示㊂图8㊀32通道GMSK 解调模块的顶层设计Fig.8㊀Top-level design of 32-channel GMSK demodulation由图8可以看出,32通道相互独立,可同时完成32路GMSK 信号的解调㊂I㊁Q 两路数据先利用载波同步模块对其载波相位进行恢复,然后经位同步模块处理后,输出位同步脉冲,然后差分解调模块依靠准确的位同步脉冲进行解调,最终输出判决码元信息㊂由前文分析可知,载波同步和位同步模块在程序实现过程中无需使用乘法器;载波同步输出数据为23位,为减少查找表资源的使用,经过评估计算,保留小数点后4位可以保证输出精度,所以截取其高16位作为位同步模块的输入,截取后32通道共计可以节约14080个查找表资源㊂32个差分解调模块仅占用64个乘法器和32个加法器,在保证运算精度的情况下,所有寄存器采用最小位数设计,有效减少硬件资源的占用㊂将本文设计的差分解调模块与维特比解调模块的硬件占用情况进行对比,结果如表2所示㊂由表可知,维特比解调模块需占用大量硬件资源,其双通道情况下与文中32通道解调模块硬件资源占用量相当㊂单通道情况下,差分解调模块与后者占用的LUT㊁DSP48E 资源相比,分别节省了92.48%和98.46%㊂本文设计的解调模块占用硬件资源极少,为设计硬件资源有限的32通道接收机提供了工程实现基础㊂表2㊀硬件资源占用情况对比Tab.2㊀Comparison of hardware resource usage硬件资源类型差分解调模块(32通道)数量占总量/%维特比解调模块(2通道)数量占总量/%查找表(LUT)6074023.895279819.98寄存器(FF)330296.50314766.00DSP48E22414.5565042.203.2㊀FPGA 仿真仿真在Xilinx 的ISE14.7开发环境下进行,首先通过Matlab 程序产生GMSK 体制的I㊁Q 两路基带数据,然后转换为12bit 的量化数据作为解调模块的输入㊂仿真条件为:BT =0.5,位同步算法预采样统计时间为2000T s ,信号码速率为10Mbit /s,位同步每个码元的采样点数K =5,因此主时钟为50MHz㊂差分解调模块仿真结果如图9所示,可以看到,I㊁Q 两路基带数据通过载波同步模块后,载波相位已经准确恢复,位同步模块通过对I㊁Q 两路数据进行位同步信息提取统计,在2000T s 预采样结束后,准确找到码元的起始时刻,并输出位同步脉冲㊂经过差分解调模块解调并进行积分法判决后准确输出解调数据㊂图9㊀差分解调模块仿真结果Fig.9㊀Simulation result of differential demodulation4㊀软件无线电平台试验将GMSK 解调模块在基于AD9361+FPGA 软件无线电平台上进行测试㊂GMSK 调制信号由RS 公司的SMBV100A 射频信号源产生,输入到测试板卡中;AD9361将射频信号搬移到零频,然后通过FPGA 对基带数据进行解调;最后输出的码元利用误码率统计软件与测试码本进行对比,通过计算误码率对系统解调性能进行评估㊂信号源输出的信号码速率为10Mbit /s,测试码本是帧头为EB90,长度为80Byte 的码元序列㊂软件无线电试验平台如图10所示㊂图10㊀AD9361+FPGA 软件无线电试验平台Fig.10㊀AD9361+FPGA software radio test platform将解调软件烧录到测试板卡中,通过在线逻辑分析仪(Chipscope)对解调模块的关键信号进行抓取,来验证其是否正常工作㊂差分解调模块测试结果如图11所示,当预采样统计时间结束时,解调模块依据位同步脉冲,获得码元的最佳采样时刻,差分解调后通过积分法判决输出解调数据㊂图11㊀差分解调模块测试结果Fig.11㊀Differential demodulation module test results对所设计的差分解调模块进行误码率测试,测试结果如图12所示㊂在误码率为9.5ˑ10-5(系统解调性能要求)时,改进后(采用积分法判决)算法比改进前(未采用积分法判决)解调性能提升约2dB㊂改进后的算法工程实现值与差分解调理论值仅有0.6dB 的损失,验证了本文算法的有效性㊂图12㊀GMSK 误码率测试曲线Fig.12㊀GMSK bit error rate test curve5㊀结束语在硬件资源受限的情况下,针对接收机需32通道进行GMSK 解调的工程应用需求,基于FPGA 设计实现了一种硬件资源占用极少,译码性能好的解调算法㊂通过对通用数字环路进行优化设计,有效减少硬件资源的使用,易于数字化㊂在此基础上,提出了一种改进算法,在环路滤波器系数中加入调整因子,采用调整因子切换的方法,将环路的捕获速度提升了5倍,有效减少系统相位抖动㊂引入的位同步算法只需5倍采样率就可以准确输出位同步信息,且具有同步精度高㊁易于工程实现等优点㊂通过对2-bit 差分解调算法进行改进,采用积分法进行抽样判决㊂试验结果表明,改进后的差分解调算法比改进前译码性能提升了约2dB㊂基于本文算法设计的解调模块误码率性能仅比理论值低0.6dB,解调性能良好,完全满足硬件资源受限的遥测系统32通道接收机的解调性能要求㊂参考文献[1]㊀顾圣明,陈丽婷,陈建斌.Gardner同步算法在高速GM-SK信号传输中的应用[J].无线电工程,2019,49(6):527-533.[2]㊀BODE P,LAMPE A,HELFENSTEIN bined GMSKand8PSK Modulator for GSM and EDGE[C]ʊInterna-tional Symposium on Circuits&Systems.Bargkak:IEEE,2003:1-3.[3]㊀张金荣,吴岭.GMSK+PN的遥测与测距互干扰抑制方法[J].系统工程与电子技术,2018,40(8):1708-1712.[4]㊀XIE Y Q,WANG H K,REN J J.A New Algorithm of De-modulation for GMSK Based in Software Radio[C]ʊCon-ference Proceedings of the Seventh International Confer-ence on Electronic Measurement&Instruments(ICEMI 2005).Taiyuan:ICEMI,2005:1896-1898. [5]㊀ZENG Z Q.Performance Analysis and Simulation of GM-SK Demodulation Based on Viterbi Algorithm[J].Journalof Chongqing University of Posts and Telecommunications(Natural Science),2008(2):132-138.[6]㊀SONG D,YAO R,MA H,et al.One-step Backtracking Al-gorithm Based on Viterbi Algorithm in GMSK Demodula-tion[C]ʊ2020IEEE International Conference on SignalProcessing,Communications and Computing(ICSPCC).Macau:IEEE,2020:1-5.[7]㊀熊于菽.GMSK调制解调技术研究[D].重庆:重庆大学,2008.[8]㊀杨树树,宋小刚.GMSK多比特联合差分解调性能分析与仿真[J].航天电子对抗,2016,32(4):44-46. [9]㊀吴团锋.基于2比特差分的GMSK信号解调算法[J].军事通信技术,2002,23(1):35-40.[10]赵秋明,龚金忠,陈秋良.基于软件无线电的GMSK调制解调位同步算法[J].电视技术,2013,37(9):146-148.[11]杜勇.数字调制解调技术的MATLAB与FPGA实现[M].北京:电子工业出版社,2014.[12]杨泽坤,晋东立,王杨.GMSK调制与非相干解调算法研究与仿真实现[J].无线电工程,2017,47(12):61-66.[13]LUI G L.Threshold Detection Performance of GMSK Sig-nal with BT=0.5[C]ʊIEEE Militey CommuncationsConference.Boston:IEEE,1998:515-519. [14]JIE W,SAULNIER G J.A Two-stage MSK-type Detectorfor Low-BT GMSK Signals[J].IEEE Transactions on Ve-hicular Technology,2003,52(4):1166-1173. [15]漆钢.小BT参数突发GMSK信号解调技术研究[D].绵阳:中国工程物理研究院,2013.[16]穆巍炜,王冲,唐然,等.一种自适应高动态GMSK信号相干解调算法[J].南开大学学报(自然科学版),2019,52(5):27-32.[17]孙会楠,邢彦辰.QPSK调制解调系统的设计与仿真[J].太原学院学报(自然科学版),2020,38(2):51-58.[18]陈丽婷,康超,顾圣明,等.GMSK信号的同步及相干解调算法[J].无线电工程,2021,51(5):346-351.作者简介:㊀㊀陈建斌㊀硕士,上海航天电子技术研究所工程师㊂主要研究方向:通信信号处理㊂㊀㊀王㊀刚㊀硕士,上海航天电子技术研究所助理工程师㊂主要研究方向:通信信号处理㊂㊀㊀吴毅杰㊀硕士,上海航天电子技术研究所高级工程师㊂主要研究方向:通信信号处理㊂㊀㊀王新玥㊀硕士,上海航天电子技术研究所助理工程师㊂主要研究方向:通信信号处理㊂。
高性能维特比在卫星导航接收机中FPGA实现

高性能维特比在卫星导航接收机中PPGA实现IO:卫星定位接收机中卷枳码译码即维特比译码器,在处理器中面临占有资源较多、处理时间过长等间题,为了减少业理器资漏的占用和提高处理速度,采用并fiUDtt选噪形单元的的方法,在fPW 平台上用硬件描述语言设廿一种髙性能维特比译码器,作为gps 12 频点和galileoe1顺点接收机的通用译码器,在gps和galileo接收机上运用,大大械少资源使用,提髙接收机的处理速度。
关鍵词:viterbi译码器;gps /galileo接收机;卷枳码;fpga引言在现代通信系统中,要使信号能舉更可靠地在信道中传输,往往需要在信道编码中采用纠錯码来降低信号受噪声的影响,以降低传输的俣码率。
卷枳码及其viterbi译码是常用的信道编码方案[1 3L卷枳码在gnss接收机中得到应用,其中约束长度k=7,码率为1/2的卷枳码已经成为商业卫星通信系貌中的标准编码方法。
在卫星定位系统中,gpsl2频点fl] galileoe1的电文均采用卷枳码编码,目前在定位接收机中用软件进行viterbi译码较多,为了提髙处理速度通用性,本文设廿一种基于fpga的通用高速viterbi澤码器,能作为gps I2 fD galileo e1的电文的译码器,大大减少资源使用,提髙接收机的处理速度和城少软件复杂度,从而节约处理器的资源。
1卷枳编码K viterbi算法基本原理卷枳码包含由k个寄存器组(毎组包括k个比特,k通常取1)构成的移位寄存器fUnf模2加法器,其中k是约束长度,编码器的输出由当前输入数据和寄存器组中的数据共同决定。
对T gps 12和galileoe1 为(2, 1, 7)卷枳码,其生成多项式为g=(171, 133),电路图如图1所示。
(2, 1, 7)卷枳码编码器由6个延时器(图1中的卜1模块,可用寄存器实现)和两个模20II法器组成,它的编码约束度为7,码率为1/2, fid输人端输人1b信息,聯出端输出2 b 编码信息,并分为上、下两路并行輪出[4]。
基于FPGA的新一代卫星导航信号接收算法研究与实现的开题报告
基于FPGA的新一代卫星导航信号接收算法研究与实现的开题报告一、选题背景及研究意义随着卫星导航技术的应用日益广泛,对高精度、高可靠性的导航信号接收算法的需求也越来越迫切。
传统导航信号接收算法的实现主要依赖于通用计算机平台,难以满足实时性、低功耗等特殊要求。
同时,卫星导航系统在信号升级、扩容与卫星密集等新的发展阶段出现,需要新的处理方式和技术支撑。
因此,基于FPGA的卫星导航信号接收算法成为了当前研究的热点之一,具有较高的研究价值和应用前景。
本课题拟在深入分析卫星导航信号技术基础上,针对其广泛应用的特殊性要求,通过FPGA的设计与实现,研究新一代基于FPGA的卫星导航信号接收算法,优化算法的实现效率、实时性、可靠性和适用性。
具体研究内容包括:1. 研究卫星导航信号的数学模型和物理特征,分析其发展趋势和应用需求。
2. 统计和分析卫星导航信号的主要特征,结合FPGA技术的优势和限制,选定相应的算法实现方案。
3. 研究FPGA设计技术和相关工具,实现卫星导航接收算法的硬件设计、测试和验证。
优化实现策略,提高算法执行效率、减小功耗和资源占用。
4. 验证卫星导航信号接收算法的实时性、稳定性和性能指标,以及与传统算法的比较分析。
二、研究内容和方法(一)研究内容1. 卫星导航信号的数学模型和物理特征的分析(1)GPS信号的帧结构、时序和路标结构分析(2)GPS信号的频域特征分析(3)GPS信号的包络和相位特征分析2. 基于FPGA的卫星导航信号接收算法的设计与实现(1)GPS信号的前端处理技术和方案设计(2)快速卷积算法及其FPGA实现技巧(3)实时信号搜索技术的设计和实现(4)卫星信号伪距测量技术及硬件实现3. 卫星导航信号接收算法硬件实现的优化和验证(1)FPGA硬件电路设计和仿真验证(2)算法执行效率的测试和优化(3)功耗和资源占用的优化和评估(4)软件和硬件系统的集成测试和性能验证(二)研究方法1. 分析卫星导航信号的数学模型和物理特征,采用理论分析和仿真模拟的方法2. 根据信号特点和FPGA的设计架构,构建系统的硬件实现和相应的测试方案,采用FPGA设计工具和仿真平台实现实验验证3. 针对实现情况和测试结果,进行算法的优化和改进,评估算法的性能三、预期成果本研究将基于FPGA的新一代卫星导航信号接收算法。
基于FPGA的卫星导航信号viterbi译码方法
DATA_OUT 即为译码后的结果 , 其速率是译码前 数据bit的1/2。
CLK C E DATA _IN0 DATA _IN1
D0_ 0 D1_ 0
D0_ 1 D1_ 1
D0_ 2 D1_ 2
ቤተ መጻሕፍቲ ባይዱ1.2 viterbi 译码
卷积编码的译码需要在一个预定的时间内 , 通过迭代算法选择各种可能的路径 , 以找到最佳 路径。通过把支路度量(局部距离)加到两个原状 态的最佳路径度量上 , 得到到达新状态 (J) 的两条 路径的度量值 , 从这两条路径的度量中选择一条 新状态(J)的路径和度量。Viterbi译码算法提供了 一种使数据-符号序列(格子路径)度量最小化的方 法。作为一种最大似然算法解码器,Viterbi译码算 法从接收序列中确定码序列 , 并使其和原发送序 列的匹配概率最高。 通常,Vit-erbi译码算法可分为 分支度量(局部距离)计算、状态度量更新和回溯跟 踪3个过程。 在卷积码译码中,Viterbi译码算法是纠错能力 很强的一种,已广泛应用于卫星通信系统。Viterbi 译码算法是一种最大似然译码算法。 Viterbi译码算法的步骤: 1) 根据接收码符号,计算出相应的分支量度 值; 2) 将进入某一状态的2条分支量度与其前面 的状态量度累加求和; 3) 比较到达同一状态的2条新的路径量度的 大小,选择最小者作为新的状态量度存储起来,并 记住与此路径(幸存路径)对应的信息码元; 4) 对所有的2m个状态都实施上述相加/比较 / 选择 (ACS) 运算; 路径量度最小的一条路径 ( 约为 以前码元长度的5倍)作为译码数据输出; 5) 将译码时刻向前延伸一步,重复以上步骤, 直至译码结束。
图1
(2,1,8)卷积码编码器基本结构
U ( D)G0 ( D ) 与时域运算 C1=u*g1 和 C0=u*g0 是等
从FPGA实现的角度对大约束度Viterbi译码器
从FPGA实现的角度对大约束度Viterbi译码器1 引言Viterbi译码算法是一种最大似然译码算法,目前广泛应用于各种数据传输系统,特别是卫星通信和移动通信系统中。
近年来随着FPGA技术的迅速发展,使得基于FPGA实现Viterbi译码的算法成为研究的热点。
由于Viterbi译码器的复杂性随约束长度k成指数增加,大约束度不但使Viterbi译码器硬件复杂度大为增加,同时也限制了译码速度。
而其中以加比选(Add Compareselect,ACS)运算为最主要的瓶颈,的递归运算使流水线结构的应用变得困难。
本文以(2,1,9)卷积码为例,用FPGA实现大约束度Viterbi译码器,其中ACS设计采用串并结合的方法来兼顾面积和速度,并用流水线结构来提高译码速度,对路径度量存储则采用同址存储方法,实现了在占用少量硬件资源的前提下,提高译码速度。
2 算法简述及系统结构分析Viterbi译码原理详见文献[1,2],下面仅作简要说明。
图1为(2,1,9)卷积码的2个状态之间的状态转移图。
根据输入路径的不同(图中实线表示输入为0,虚线表示输入为1),仅仅首位不同的两个状态可转移到仅仅末位不同的两个状态。
将所有状态的状态转移图按时间往前衍生,即可得到(2,1,9)卷积码的网格(Trellis)图。
Viterbi译码过程就是:根据接收序列,按照最大似然法则,分段地在网格图上计算寻找有最大度量的路径的过程。
一般来说,维特比泽码器主要有4个单元所组成,其结构框图如图2所示。
分支度量单元(BMU) 主要是计算分支度量值。
所谓分支度量值就是码字与接收码之间的距离。
加-比较-选择单元(ACSU) 主要是做路径度量值与分支度量值的叠加,并决定幸存路径度量值及决定位元(decision bit)。
路径度量存储单元(PMMU) 主要用来存储幸存路径度量值。
幸存路径存储单元(SMU) 主要用来存储决定位元。
如图2所示,接收序列先通过分支度量单元计算出各状态所有分支度量,然后经过ACS单元,将上一时刻的路径度量值与当前时刻的分支度量值作加-比较-选择等运算,计算出当前时刻的幸存路径和路径度量值,并找出决定位元(decision bit),把新的路径度量值存储到路径度量存储单元(PMMU),并把相应的幸存路径的决定位元(de-cision bit)存储到幸存路径存储单元(SMU),当译码到译码深度后,判决输出单元输出译码序列。
HDTV接收机中Viterbi译码器的FPGA实现
HDTV接收机中Viterbi译码器的FPGA实现高清晰度数字电视HDTV 技术是当今世界上最先进的图像压缩编码技术和数字通信技术的结合。
它代表一个国家的科技综合实力,蕴藏着巨大的市场潜力。
数字电视地面广播编码正交频分复用COFDM 传输系统以其较强的抗多径干扰性能、易于实现移动接收等优点在HDTV 的研究中占有很重要的地位。
而COFDM 系统中编、解码技术是影响系统性能的一个重要因素。
本文正是基于一种最大似然译码--Viterbi VB 译码算法思想,从FPGA 实现的角度探讨在COFDM 系统中内码(收缩卷积码)的解码。
1 设计算法简述在HDTV 地面广播COFDM 系统中,所用内码为收缩卷积码,除1/2 主码率外,还有2/3、3/4、5/6、7/8 码率的卷积编码。
在实际的传输信道中,噪声一般是加性高斯白噪声(AWGN),输入AWGN 信道的是二进制信号序列。
为了充分利用信道输出信号的信息,提高传输系统译码的可靠性,首先把信道的输出信号量化,将Q 电平量化序列输入Viterbi 译码器,因此本文采用的VB 译码算法为软判决译码算法。
1.1 主码率1/2 的卷积码编码目前,在国际卫星通信和很多通信系统中,(2,1,6)码是首选的使用VB 译码的标准卷积码。
由于该码能使误码率达到最小,且能克服相位误差,所以在HDTV 地面广播COFDM 传输系统中,内码采用(2,1,6)码,它的子生成元为(171,133),均为八进制。
对应的生成多项式G D=1+D+D2+D3+D6 1+D2+D3+D5+D6 df=10。
其编码器的实现框图如图1。
由于(2,1,6)码有64 个状态,为直观起见,采用列表的方法来表述它的篱笆图,如表1 所示。
1.2 收缩卷积码的实现为了实现多码率传输,在提高码率的情况下不致使译码器的复杂性增加,在本设计中对(2,1,6)码进行增信删余(Puncctured)。
如图1 所示,在经上述编码后,对输出码字中的特定位置予以删除。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
高性能维特比在卫星导航接收机中FPGA实现摘要:卫星定位接收机中卷积码译码即维特比译码器,在处理器中面临占有资源较多、处理时间过长等问题,为了减少处理器资源的占用和提高处理速度,采用并行加比选蝶形单元的的方法,在fpga平台上用硬件描述语言设计一种高性能维特比译码器,作为gps l2频点和galileo e1频点接收机的通用译码器,在gps和galileo接收机上运用,大大减少资源使用,提高接收机的处理速度。
关键词:viterbi译码器; gps /galileo接收机;卷积码; fpga 引言在现代通信系统中,要使信号能够更可靠地在信道中传输,往往需要在信道编码中采用纠错码来降低信号受噪声的影响,以降低传输的误码率。
卷积码及其viterbi译码是常用的信道编码方案[1 3]。
卷积码在gnss接收机中得到应用,其中约束长度k=7,码率为1/2 的卷积码已经成为商业卫星通信系统中的标准编码方法。
在卫星定位系统中,gps l2频点和galileo e1的电文均采用卷积码编码,目前在定位接收机中用软件进行viterbi译码较多,为了提高处理速度通用性,本文设计一种基于fpga的通用高速viterbi 译码器,能作为gps l2和galileo e1的电文的译码器,大大减少资源使用,提高接收机的处理速度和减少软件复杂度,从而节约处理器的资源。
1卷积编码及viterbi算法基本原理卷积码包含由k个寄存器组(每组包括k个比特,k通常取1)构成的移位寄存器和n个模2加法器,其中k是约束长度,编码器的输出由当前输入数据和寄存器组中的数据共同决定。
对于gps l2 和galileo e1均为(2,1,7)卷积码,其生成多项式为g=(171,133),电路图如图1所示。
(2,1,7) 卷积码编码器由6个延时器(图1中的q-1模块,可用寄存器实现)和两个模2加法器组成,它的编码约束度为7,码率为1/2,即输入端输入1 b信息,输出端输出2 b编码信息,并分为上、下两路并行输出[4]。
图1(171,133)卷积码生成电路对信号进行卷积编码后,通常采用viterbi算法(va)译码。
viterbi算法是对于卷积码的最大似然译码,即利用概率译码。
1967年viterbi第一个提出了这个算法,forney对这种算法及其性能做了可读强、见解深刻的描述[1]。
最大似然译码函数,就是在已知收到的信道输出序列,找到最有可能的传输序列,即通过网格图找出一条路径对应,要求路径输出的码序列具有对数最大值。
对于二进制对称信道来说,函数的最大化等价于在网格图中找到与接收序列之间有最小汉明距离的路径[5]。
viterbi算法是通过动态规划的方法找出网格图中具有最大度量的最大似然路径,即局部最优等效全局最优。
在每一步中,它将进入每一状态的所有路径进行比较,并存储具有最大度量值的路径,即幸存路径,步骤为[4]:(1)从时刻l=m开始,计算进入某一状态的单个路径的部分度量值,并存储每一状态的幸存路径及其度量值。
(2) l增加1,l=m+1,将进入某一状态的分支度量值与前一段时间的幸存度量值累加,然后计算进入该状态的所有最大度量的路径,决定并存储新的幸存路径及度量,并删除所有其他路径。
(3)若l<l+m,重复步骤(2),否则结束。
该算法主要包括两个工作:计算度量并比较,其决定幸存路径;另一个是记录幸存路径及其相关的度量值。
2基于硬件描述语言的viterbi算法viterbi算法一般采用回溯法和寄存器交换法。
为了减少控制的复杂度,本文采用回溯法,译码器由分支度量(bmu)、加比选(acs)蝶形运算、存储单元、回溯(tb)单元4个基本部分组成[6],见图2。
图2viterbi译码器基本结构利用二元卷积来说明va译码过程如图3所示。
图3(2,1,3) 卷积码生成电路图图4为用实线表示输入为0时走的分支,虚线表示输入为1走的分支,任意给定一个序列,在网格图中就有一个特定路径,图4中, u=(1011100),输出的编码为c= {11_10_00_01_10_01_11}。
图4二元(2,1,3)卷积码网格图2.1分支度量单元路径度量单元是计算实际接收到的码元与期望码元之间的差别。
g1与g1比较,g2与g2比较,若接收信号为0,期望值为0时,度量值为0,期望值为1时,度量值为1;若接收信号为1,期望值为0时,度量值为1,期望值为1时,度量值为0。
两个比较结果和作为最终度量结果输出。
按此规律计算当前状态下进入下一个状态的度量值。
2.2加比选蝶形单元加比选(acs)单元是完成幸存路径的延伸和判决向量的生成,计算过程包括度量值的累加、比较、选择路径操作[7]。
对(2,1,3)卷积码而言,共4个状态,组成2个蝶形运算单元;而(2,1,7)卷积码则64个状态,组成32个蝶形单元。
在k=7的卷积码中,有64个状态的路径,所以根据待译码的长度,适当增加累加值的位宽,防止度量值溢出。
2.3幸存路径存储单元幸存路径存储是用来存储每次蝶形运算完成单元后所选择的路径,存储单元的大小为译码深度乘以状态个数。
对每一个加比选过程的存储,实际就是对幸存路径的存储。
2.4回溯单元由va算法可知,在网格图上经过大约5倍的约束长度之后,所有幸存路径将汇聚到一起。
因此选择合适的回溯长度l,并从任一条路径开始(比如0状态)开始回溯,当回溯到l个节点时开始输出译码比特。
3gps l2和galileo e1接收机的高性能viterbi译码具体模块设计根据gps和galileo的接口文件,l2频点电文采用(2,1,7)卷积码的形式,码多项式为(171,133)o,且与galileo e1的卷积码格式相同, galileo采用分段卷积的形式,参与卷积的为每页中不包含同步头的部分,即120位进行卷积。
为了能同时作为gps 和galileo 的译码器,设计译码深度为120的译码器。
接收机的viterbi译码模块包括:地址译码模块、数据加载模块、viterbi译码模块、输出控制模块。
为了提高译码器的性能,viterbi 译码模块的加比选蝶形单元采用32个并行结构,提高运算速度。
图5gps/galileo接收机viterbi译码模块结构3.1地址译码及数据加载地址译码包括总线读写译码,由于viterbi模块作为一个独立模块,内部地址采用自己的译码设计。
深度为120的viterbi译码器,需要输入240个卷积码,对于总线32位cpu,需要8次写入完成数据输入。
最少需要8个地址单元,viterbi译码输出最少需要4个地址单元,译码状态中断输出,状态位清除,即整个译码器模块需要14个地址单元。
地址线需要4根即可。
地址译码电路采用组合逻辑设计。
译码状态中断输出、状态位清零采用不同时钟域同步。
数据加载模块是加载寄存器内数据,然后按照顺序,1次按2位串行输出。
3.2viterbi译码模块viterbi译码模块采用的译码深度为120的(171,133)o译码设计,译码器结构如图6所示,由译码控制单元、度量值计算单元、蝶形运算、幸存路径存储、回溯输出单元构成。
图6基于fpga的viterbi译码器结构(1)蝶形运算单元。
按照(2,1,7),多项式为(171,133)卷积码特点,基本蝶形单元分布见图7。
对于约束长度为7的卷积码,共计64个状态,形成32个基2的蝶形运算单元见图8。
图7蝶形单元分布示意图图8基二蝶形单元蝶形单元的输入信号为上次的度量和,与接收码本蝶形单元中理论输出码的码距度量,如图9所示。
图9蝶形运算单元网表输出信号为幸存路径、度量值和,选择输出为1,不选输出为0,如表1所示。
表1蝶形单元输入输出信号输入输出信号名称含义inputdin_a加比选后的值,与期望值的码距inputdin_b加比选后的值,与期望值的码距inputgama_a度量值的和inputgama_b度量值的和outputgama_outa,输出度量值的和outputgama_outb输出度量值的和output sela_1幸存路径选择outputselb_1幸存路径选择(2)幸存路径存储。
经过蝶形单元运算的输出,幸存路径,64个状态,幸存路径为64位,表示该状态有或无,每进行一次蝶形运算,存入一个64位路径信息,存储器的写入控制信号和地址信息由状态控制单元发出,存储空间为120×64 b。
(3)回溯及输出。
回溯过程即从地址最后向前一次读取幸存路径的值,得出译码电文。
如图10所示。
图10回溯及译码输出结构示意图(4)状态控制单元。
状态控制单元是对整个译码过程的控制,复位后,系统处在空状态,收到输入的待译数据后,进入加比选状态,按照数据流顺序进行加比选蝶形运算操作,进入到译码深度的长度的加比选后,转入译码回溯输出单元,从最后一个回溯到第一个时,即完成回溯,同时输出译码电文和译码完成中断,系统再次进入等待状态,如图11所示。
图11译码状态控制状态图4仿真及接收机测试结果gps/galileo接收机通用的viterbi译码器设计通过modelsim仿真,能够得出正确译码结果[89],编码后在240个码序列的228之前加入1位或2位错误码,均能正确纠错,得到正确的译码结果。
译码延时260个时钟周期。
最大译码数据吞吐率达240×(150×1 000 000/260)=138 mb/s。
如图12所示。
图12viterbi译码器仿真结果译码模块在altera stratix ⅱ系列ep2s180f1020i4 fpga平台上,利用quartus ⅱ8.0进行综合和时序分析,最大速度可以达到150 mhz,资源使用量为:aluts占用2 679,logic registers 占用1 465,与文献[4]相比,资源消耗大大减少。
如图13,图14所示。
图13viterbi译码器时序分析图5结语本文所述基于fpga的viterbi译码器用于gps/galile o接收机,能对gps l2和galileo的电文进行译码,纠错能力达到预期效果,fpga资源使用量较低,主时钟速度最大可达到150 mhz,译码处理延时达260个时钟周期,译码深度为120,最大译码数据吞吐率达138 mb/s,完全满足gps/galileo接收机电文接收译码速度要求。
图14viterbi译码器资源使用情况参考文献[1]傅民仓,冯立杰,李文波.基于fpga 的高速viterbi 译码器优化设计和实现[j].现代电子技术,2006,29(7):5254.[2]关红波.用于gps接收端的viterbi译码器的asic设计\[d\].成都:电子科技大学,2003.[3]蔡志龙,冯文江,杨洋.一种基于fpga的viterbi 译码器优化算法[j].现代电子技术,2008,31(17):105107.[4]邱磊,张岩.基于fpga 的高性能viterbi 译码器的设计[j].微电子学与计算机,2010,27(7):246249.[5]peterson r l, ziemer r e, borth d e.扩频通信导论[m].北京:电子工业出版社,2006.[6]韩可,邓中亮,施乐宁.(2,1,7)卷积码viterbi 译码器fpga实现方案[j].现代电子技术,2007,30(15):9096.[7]牛晨曦,张辉.一种基于fpga的viterbi 译码器[j].现代电子技术,2005,28(3):5657.[8]王连成.基于fpga的viterbi 译码器设计[j].电子元器件应用,2010,12(5):3940.[9]侯晓凡.(2,1,9)软判决viterbi 译码器的设计与fpga实现\[d\].北京:北京邮电大学,2008.[10]田耕,徐文波,张延伟,等.无线通信fpga设计[m].北京:电子工业出版社,2008.。