《基于fpga的通信信号处理的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
目录硕士论文6总结⋯⋯.............⋯⋯............⋯⋯.....⋯⋯...........⋯...⋯⋯.............⋯⋯............52致谢⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯。53参考文献⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.54VI 硕士论文基于FPGA的通信信号处理的设计与实现1绪论1.1研究背景与意义现代战争条件下,各国越来越重视弹道导弹的研制。至上世纪末,就有34个国家和地区装备了弹道导弹,仅我国临边就有10多个国家和地区拥有或者即将有用中程以上的弹道导弹,这严重威胁了我国的国家安全⋯。严峻的现实要求我们必须加强对导弹防御系统的研究。导弹防御体系是融合了传感器、指挥、控制、通信及拦截等系统的复杂体系。跟踪制导雷达则是其中的重要组成部分,它对来袭目标探测、跟踪、识别,对拦截导弹进行全程控制以达到摧毁来袭目标的目的。制导雷达性能的优劣很大程度上决定了导弹防御系统的成败。制导雷达将检测到的敌方目标的实时信息以实时通信的方式与自身发射用于摧毁敌方目标的导弹进行信息交换,通过指令控制,达到摧毁目标的目的。制导雷达工作步骤主要有以下三步t(1)根据回波信号获得敌方目标距离、速度、方位角、俯仰角信息(2)通过与自身发射的导弹实时通信获取导弹的实时信息(3)通过相关指令控制导弹飞行轨迹,最终摧毁敌方目标【2,3】。现代战争是一场高技术的电子战,通信已经成为其重要的组成部分。传统通信系统面临着复杂的电磁干扰环境和多样的电子对抗技术的巨大挑战。为了解决这一问题,扩频通信技术应运而生。所谓扩频通信即扩展频谱通信。扩频通信技术在发端采用扩频码调制,使信号所占的频带宽度远大于所传信息必须的带宽,在收端采用相同的扩频码进行相关解调来解扩以恢复所传信息数据【4J。扩频技术具有以下特点【5J:(1)抗干扰能力强将扩频通信系统的频谱展宽,同时调高处理增益,系统的抗干扰性能也会大大提升。扩频系统针对无论是单(多)频载波信号的干扰,还是伪随机调制信号的干扰,再或者是脉冲正弦信号的干扰,能通过提高输出信噪比从而抑制干扰。扩频技术在对抗敌方人为干扰方面有着突出的效果。由于信号的频带被展宽若干倍,那么就需要干扰的频带更宽。当总功率一定时,可以发现其干扰强度明显降低。另外,接收端的检测采用的是扩频序列自相关方式。那么,鉴于扩频码的自相关特性,只要检测不出正确的序列顺序,干扰就能被很好的抑制。扩频通信最突出的优点即抗干扰性能强。(2)保密性好由于信号的频带被扩展了若干倍,那么信号的功率谱密度就会很低。所以,采用含有扩频技术的系统,当信道噪声和热噪声影响时,可在很低的信号功率谱密度上通信。信号被噪声所掩饰,检测到信号的概率将会大大降低。所以,扩频信号具低截获特性,可以实现通信隐蔽。具有很好的保密性能是扩频通信技术另一大优点。(3)可进行多址通信1 1绪论硕士论文扩频通信系统中采用伪随机序列进行扩频。在实际的通信系统中,码分多址通信技术就是将不同的伪随机码分配给不同的用户作为地址码。(4)抗多径干扰无线电通信的短波、超短波、微波和光波受到大量各种类型的多径干扰的影响。在扩频通信中,可以通过排除干扰或者变害为利的方式解决这个问题。利用扩频序列的相关特性,在接收端可以从多径信号中提出和分离出最强的有用信号。随着电子对抗技术的发展,扩频技术由于突出的强干扰能力与保密特性被广泛的采纳运用。近年来,电子对抗、侦察和突防技术飞速发展,军事对抗中制导雷达系统的作用也越来越大。为了提高制导雷达系统的作战能力,现在对制导雷达要求能够在大的作战空域内同时制导多枚导弹、拦截多个目标,并且还对具备高保密性和干扰抑制性能等方面的能力有了更高的要求。制导雷达通信信号处理系统中,通信信号的发送、接收与信息的正确恢复问题至关重要。本课题就是对制导雷达系统中的通信信号处理在FPGA上的设计与实现问题进行研究。1.2制导雷达的发展历史与趋势鉴于制导雷达在军事对抗中越来越重要的地位,近年来很多国家都对其投入大量人力物力进行研究,这使得制导雷达的技术蓬勃发展。精确制导技术是制导雷达的关键技术。所以精确制导技术也是制导雷达研究的关键问题。精确制导技术是指利用自身获取目标区域的相关信息;探测、识别、跟踪目标;最后引导导弹飞向目标的制导技术I6|。近年来涌现出许多精确制导技术,包括:电视制导,红外制导,毫米波制导,光纤制导等。电视制导是指电视摄像机捕捉、识别、锁定目标,然后由弹上相关设备形成控制指令来引导导弹飞向目标的一种制导技术。电视制导采用了可见光反射的原理,利用目标反射的可见光不受电磁波的干扰的特点,所以电视制导方式具有高分辨率与高制导精度。但电视制导技术受限于天气情况,只有当白天和能见度较高时才能很好的使用,且易受到烟雾等干扰。电视制导技术有两种方式,一个是电视指令制导,另一个是电视寻的制导。电视指令制导依托的介质是电磁波。导弹上的摄像机将目标的情况通过电磁波方式传送给制导站或者载机上,制导站或者载机操控人员从多个目标中选取需要攻击的目标,同时生成制导指令发送给导弹,引导导弹飞向目标。电视寻的制导则是安置在导弹头部的摄像头根据所拍摄的目标信息,利用弹上的设备自动跟踪目标,并且引导导弹飞向目标。电视制导技术最早运用于二战时期,随着研究的深入及科学技术的发展,电视制导技术已经实用化,并且朝着复合、高精度、智能化的方向发展。红外制导利用了红外探测仪器,通过探测目标自身辐射产生的能量来捕获、跟踪目标。红外制导技术主要分为两大类:一类是红外非成像制导,另一类是红外成像制导。红外制导技术已经有了50多年的发展历程,并且也朝着智能化的方向发展。2 硕士论文基于FPGA的通信信号处理的设计与实现红外非成像制导主要是依靠红外探头来探测目标自身产生的辐射的能量来捕获、跟踪目标。所以,红外探测器是其中的核心。第一代红外探头采用的是不制冷的硫化铅。但此探头受限于天气等条件的影响,抗干扰能力比较弱。第二代采用了可以制冷的锑化铟原料,提高了抗干扰能力同时也提高了作用距离。但是仍然容易受到烟雾等影响,所以点源制导逐渐被成像制导所代替。红外成像制导起源于20世纪70年代,美国在此领域处于领先地位。红外成像制导也是利用了红外探测器探测目标自身辐射的能量,不同的是捕获的是目标的红外图像。其图像质量可与电视制导技术相媲美,即使在低能见度下也可以使用。红外成像制导技术既拥有较高的制导精度,作用距离远,又可以在低能见度下工作,所以成为了制导雷达研究的主要方向。红外成像制导的成像有两种方式,一是光机扫描成像,另一个是凝视成像。其中凝视红外焦平面成像寻的制导系统是最有发展的红外成像制导技术,国外在此方面正在加速发展【‘7’8]。国外的毫米波制导技术开始于20世纪70年代。近年来,随着信号处理技术、器件、工艺技术等发展,固体共形相控阵天线和毫米波集成电路技术等技术在实际工程中的应用为毫米波制导技术的发展打下了良好的基础。毫米波制导技术的关键是毫米波引导头的技术,而天线技术对毫米波引导头的影响至关重要。固体共形相控阵天线采用固态的器件充分的利用导弹的有限空间,使导引头的头罩和天线合二为一,使得复合探测技术更容易实现,是十分理想的弹载天线系统,得到了各国高度的重视。发送/接收技术也是毫米波制导技术的一项关键技术。毫米波发射系统的射频源主要来自三大类。第一类源的构成是真空器件:第二类源的构成是固体器件;第三类的构成是例如光导毫米波源的其他方式。回旋管在真空器件中的发展最为成熟。俄罗斯和美国都已经具备利用回旋器件构成的雷达和制导系统的能力。光纤制导是指导弹将拍摄到的目标信息通过光纤双向传输中的下行线传输给控制人员,控制人员对目标进行搜索、识别和捕获,同时生成控制指令通过光纤双向传输中的上行线传输给导弹,引导导弹飞向目标的制导技术。光纤制导技术由于其高的制导精度,强抗干扰能力,超视距精确打击能力等优势,近年来许多国家都在研究和发展这项技术。光纤图像精确制导技术是制导领域内的新型热门领域,目前我国在该领域的研究已经接近国际先进水平【9J。1.3论文结构安排本文主要研究制导雷达系统中的通信信号处理技术在FPGA中的设计与实现。本文首先阐述了通信系统设计,对通信流程及通信系统中关键问题进行分析;然后阐述了本文硬件部分的设计;最后将通信系统的软件设计部分在FPGA平台上实现,并与Matlab及Modelsim的仿真结果进行比对,验证正确性。论文章节安排如下:第二章:通信系统设计。本章首先描述7"N导雷达的系统结构,其次给出了雷达与3 1绪论硕士论文拦截导弹之间的通信流程图,最后讨论了系统中的扩频技术和同步问题。第三章:信号采集板与处理板的设计。本章节阐述了本文通信系统实现的平台。分别阐述了信号处理板和信号采集板在软件设计部分涉及的重要器件的芯片资料,并且给出了相应的原理图。第四章:通信系统软件设计与实现。这章是本文的重点。在基于FPGA的硬件板上利用ISE软件,运用VHDL语言分别设计了接收、发送模块以及信号采集与光纤传输模块的程序代码,并且给出了相应的仿真结果图。第五章:系统调试。对通信系统软件设计部分在信号处理板上进行调试,并且将调试结果与Matlab及Modelsim仿真结果进行比对,从而检验设计的正确性。给出系统的资源消耗并且提出优化意见。第六章:结束语。对全文的内容进行总结概括,指出本设计接下来需要考虑多普勒频移对通信信号的影响以及系统资源DSP48E利用率较高的问题,同时提出相应的解决方案。4 硕士论文基于FPGA的通信信号处理的设计与实现2通信系统设计2.1引言制导控制台从发射拦截导弹开始就必须立刻控制天线的方向,从而实现对拦截导弹的搜索与跟踪。制导雷达一旦搜索到拦截导弹,通信信号处理模块立即提取来自拦截导弹的方位速度等信息,依照获取的信息不断地调整制导雷达天线的角度,同时发送询问脉冲给拦截导弹,对拦截导弹应答脉冲进行处理获取相应信息,根据这些信息继续跟踪拦截导弹。正确的通信流程设计是实现制导雷达与拦截导弹间信息交换的关键。制导雷达对接收到的来自拦截导弹的信号进行解调和脉压提取码元信息,然后将信息传给后续数据处理。制导雷达对引导导弹方向指令信息进行编码(二进制编码)、加数据同步头、扩频处理和2DPSK调制等一系列处理后,最后通过前端射频装置将其发射出去。导弹上的设备在发射信号时也进行类似的处理。本设计受限于实验条件,其中射频发射部分改为光纤传输。因此,合理的设计制导雷达与拦截导弹间的通信流程是系统设计的重点。2.2制导雷达系统结构制导雷达的系统结构图如图2.1所示。制导雷达通过对敌方目标的回波信号和来自拦截导弹的通信信号进行处理获取他们的方位和运动信息,然后通过预先设定的处理方式生成制导指令。制导指令通过地面指令发射机发送,由拦截导弹的弹上装置接收。控制台通过发送的控制信号控制拦截导弹的飞行航迹。雷达与拦截导弹间的应答过程是制导雷达整个通信流程设计的关键。应答系统接收来自地面遥控发射机发送过来的导弹地址码,通过与预设的导弹地址码进行比对,从而实现导弹识别的目的。地面制导雷达接收机接收到来自拦截导弹的应答信号以后,处理出导弹的距离以及角偏差等信息,将相关信息通过计算机编码形成相应的指令码,经遥控发射机来发送微波指令码,导弹接收机接收到指令码,对指令码进行译码和数模转换处理,从而生成俯仰、偏航指令值,最后传送到稳定控制系统中,完成制导任务。制导雷达与拦截导弹间通过两条通信线路进行信息传递,分别为上行通信线路和下行通信线路。 2通信系统设计硕士论文图2.1制导雷达的系统结构图2.3雷达与导弹的通信流程与拦截导弹的实时通信中,雷达与导弹的应答流程设计至关重要。图2.2为制导雷达与自身发射导弹的通信流程图。首先,制导雷达在跟踪状态下向导弹发射询问脉冲,如果导弹确认接收到的是制导雷达发送的询问脉冲,则经过一段延时,制导雷达收到一个来自导弹的应答脉冲。当制导雷达在一定的时间范围内没有能够正确接收到导弹发送的应答脉冲,则需要重新调整搜索范围,在新的跟踪状态下再次发送询问脉冲,重复此过程,直至制导雷达接收到来自导弹的应答脉冲。当制导雷达确认接收到来自导弹的应答脉冲后,向导弹发送上行通信脉冲与通信请求脉冲。导弹通过2DPSK解调、脉压、恒虚警、恢复码字等一系处理获得来自制导雷达上行通信的信息。导弹一旦收到来自制导雷达的通信请求脉冲,则按照制导雷达的通信要求发送下行通信脉冲。制导雷达通过2DPSK解调、脉压、恒虚警、恢复码字等一系处理获得来自导弹的下行通信信息。至此,完成了一次完整的通信流程。6 硕士论文基于FPGA的通信信号处理的设计与实现图2.2雷达与导弹的通信流程图制导雷达与拦截导弹间的收发时序图如图2.3所示。首先,制导雷达发送询问脉冲,一定的延时后导弹接收到来自雷达的询问脉冲,对接收到的脉冲进行处理判定是否准备接收来自雷达的上行通信脉冲;当导弹确认接收到的是来自雷达的询问脉冲则回复应答脉冲,雷达在一定的延时后接收到这个脉冲,通过一定的处理后判定是否是来自导弹的应答脉冲,如果是则准备发送上行通信脉冲;雷达发送上行通信脉冲,一定延时后导弹接收到这个脉冲,它对此脉冲进行处理后得到原码;接着雷达继续发送通信请求脉冲,一定延时后导弹接收此脉冲,当导弹确认接收到的脉冲是来自导弹的通信请求脉冲后准备给雷达发送下行通信脉冲;导弹给雷达发送下行通信脉冲,一定延时后雷达接收到这个脉冲,通过对这个脉冲进行信号处理得到导弹的信息。这样就完成了一次雷达与导弹间的收发。7 2通信系统设计硕士论文雷询问脉冲上行通信脉冲通信请求脉冲询问脉冲i发送询问脉冲上行通信脉冲通信请求脉冲询问脉2.4扩频通信技术送上行通信脉冲图2.3雷达与拦截导弹间的收发时序图理得到原码2.4.1扩频通信原理扩频通信理论来源于信息论原理中的香农公式抗干扰理论【10】。在信息论中C=Wlog2(1+S/N),C为信道容量,形为信道宽度,S/N为信噪比。由香农公式可以得到,当C一定时,形传输带宽越宽,则对信噪比要求较低。由此可见,宽带系统具有良好的抗干扰性。因此,当受到干扰的信号信噪比低,不能保证通信质量时,可以对其采用宽带系统传输,以提高信道容量。扩频技术根据这一原理,将受到干扰的信号的频谱进行扩频后再传输,这就保证了信号即使在强干扰条件下仍然可以正常通信。2.4.2扩频通信技术分类扩频技术要求系统中传输的已调信号带宽B矿(发射扩频信号带宽)远大于调制信号带宽凰(信码速率),通常要求Bw/Bs>100。目前,扩频通信常见的扩频系统有:直接序列扩频(DSSS)系统、跳频扩频(FHSS)系统、跳时扩频系统、脉冲线性调频系统等。本文采用的是直接序列扩频(DSSS)系统。直接扩频序列扩频的原理是在发送端利用伪随机码序列对信号频谱进行扩展,而在接收端,用与扩频使用的伪随机码序列相同的伪码序列对扩频信号进行还原。2.4.3扩频码扩频通信中的扩频码,要求具有良好的伪随机性能和相关性。这关系到系统的抗多R弹导 硕士论文基于FPGA的通信信号处理的设计与实现径干扰的能力,关系到信息数据的保密和隐蔽,关系到捕获和同步系统的实现。理想的扩频码具有如下特性:(1)有尖锐的自相关特性;(2)有处处为零的互相关特性;(3)不同码元数平衡相等;(4)尽可能大的复杂度。常见的扩频码有m序列‘111,Walsh序列【121等。(1)m序列目前任何一种编码都不能同时满足扩频码的这些特性。所以,只能产生一种周期性的序列来近似这种理想的纯随机序列,所产生的这种序列称为伪随机码。伪随机码又称为伪随机序列,它具有类似白噪声的随机特性但是又能重复产生。伪随机序列特点:◆把伪随机序列中连续出现的0或1的子序列称为游程。连续的0或1的个数称为游程长度。伪随机序列中长度为1的游程约占游程总数的1/2,长度为2的游程约占游程总数的1/22,长度为3的游程约占游程总数的1/23,⋯⋯。在同长度的游程中0游程与1游程的数量大致相等。◆伪随机序列中每周期内0,l出现的次数近似相等。◆伪随机序列中具有双值自相关函数,即尺c/,=-11,Ⅳ乡≠=。Ommo。ddⅣNc2.·,m序列是一种伪随机序列,所以它的特点类似于伪随机序列的特点。m序列由反馈移位寄存器产生,一般线性反馈序列移位寄存器的原理方框图如图2.4所示。图2.4线性反馈移位寄存器原理方框图如图2.4所示,图中各级移存器的状态用a。表示,a庐O或1,n=整数。反馈线的连接状态用cn表示,cn-1表示此线接通;cn=O表示此线断开。不难推想,反馈线的连接状态不同,就可能改变此移存器输出序列的周期P,P最大时产生的就是m序列。m序列的均衡性,游程分布,自相关特性和功率谱密度等都近似于白噪声的特性,并且有规律,可以重复产生,所有特性符合扩频码要求。9 2通信系统设计硕士论文m序列自相关曲线图2.5m序列的自相关特性图m序列的自相关特性图如图2.5所示,从图中可以看出m序列具有尖锐的自相关特性。通过m序列自相关特性图可以看出峰值为31,旁瓣值在.1左右,峰值出现周期为31。由此可以看出m序列可以作为扩频码。本设计的扩频码采用m序列。(2)Walsh序列Walsh函数的定义多种多样,至今没有一个统一的定义。比较常用的定义方式是通过拉马赫(Radcmachcr)函数作为过渡,一般用R函数表示。它定义区间为[0,1],是一个正交函数组,当0≤t<1和k=0,1,2⋯,表达式为{n??’★n,州呱组础靠:o或1(2.2)1凤删:(一1)n㈡2【%赴一A)2’f七-U或l屹2’Walsh序列可以利用这用函数定义。利用哈达玛(Hadamard)矩阵的行(列)可以构成w砒sh序列。二阶的哈达玛矩阵为么:=(:二1],高阶的哈达玛矩阵可以由二阶的哈达玛矩阵推导所得,递推公式如下::P山1,N-m,m_(1,2,2A2N23⋯)(2.3)=ll,N=”,m=(1,,3⋯)(.3)IAN—ANJ。~7所以由二阶哈达玛矩阵可以推导任意阶的哈达玛矩阵。Walsh码就是由哈达玛矩阵的行或者列构成的。Walsh码是一种同步正交码,即在同步传输情况下,利用Walsh码作为地址码具有良好的自相关特性和处处为零的互相关特性。Walsh函数是由哈达玛矩阵利用递推关系产生的哈达玛矩阵是一个正交的方阵,它仅由“+1’’和“一1”构成。此外,Walsh码生成容易,且应用方便。因此,在扩频通信应用中是一种重要的扩频码。10 硕士论文基于FPGA的通信信号处理的设计与实现2.5系统的同步问题2.5.1同步原理在数字通信系统中,同步问题至关重要。在数字通信系统中,同步一般包含载波同步,码元同步,群同步等【131。载波同步又称为载波恢复,是指在接收设备中产生一个和接收信号的载波同频同相的本振,供解调器作相干解调时调用。实现载波同步有两种方式:一种是提取有辅助导频时的载频;另外一个是提取无辅助导频时的载频。无辅助导频时的载波提取方法多种多样,这里只简单的描述平方环法。以2DPSK信号为例,设此信号可以表示为s(t)=m(t)cos(wd+口)(2.4)其中,m(t)=±l。当re(t)取+1和.1的概率相等时,该信号的频谱中没有角频率W。的离散分量。将式(2.4)平方,得到1s2(t)=m2cos2(w4+p)=÷[1+cos2(wd+目)】(2.5)Z式(2.5)中已将m(t)=±1的关系代入。由式(2.5)可得平方后的接收信号包含2倍载频的频率分量。将此分量通过窄带滤波器滤波后再进行二分频,即得到所需载频。在实际应用中,为了改善滤波的性能,通常用锁相环代替窄带滤波器。这样构成的载频提取电路就称为平方环,其原理方框图如2.6所示。图2.6平方环原理框图码元同步又称为时钟同步。当接收数字信号时,为了在准确的时刻对接收到的码元进行判决,就必须知道接收码元的准确起止时刻。因此,需要获取接收码元起止时刻的信息,从此信息产生一个码元同步脉冲序列。码元同步可以分为两大类。第一类是外同步法,它需要在信号中加入含有码元定时信息的数据序列或者导频;第二类是自同步法,它可以直接从接收码元中提取码元定时信息。自同步法分为两种:开环码元同步法和闭环码元同步法,下面将描述开环码元同步法。开环码元同步法是一种非线性变换的同步方法,延迟相乘法可以完成此同步方法。延迟相乘法的原理框图如图2.7所示。通过延迟相乘的方式完成了非线性变换。 2通信系统设计硕士论文图2.7延迟相乘法原理框图群同又称帧同步。通常,接收端需要利用群同步码去划分接收的码元序列。群同步码的插入方式有两种,即集中插入法与分散插入法。集中插入法是指,将表示开始位置的群同步码组插入于一个码组的前面。分散插入法则是将一个特殊的周期性同步码元序列分散地插入到码组中去。两种方式的示意图如图2.8所示。I信息码组圜信息码组I圜信息码组圆信息码组lL————一一l厂——](a)集中插入法(b)分敢捕入法图2.8群同步码的插入方式2.5.2系统的同步设计对于一个数字扩频系统来说,同步问题至关重要。接收端解扩使用的m序列必须与发送端扩频使用的m序列速率和相位完全一致。同时,载波的相位和频率也需要一致。影响系统的同步性的因素有【14】:◆发送端和接收端的距离不定(延时问题)◆发送端和接收端的相位不同◆发送端和接收端的晶振不同在本课题中,采用的是一片FPGA既完成了数据的发送又完成了数据的接收处理,即发送和接收端采用了相同的晶振,所以避免了由于晶振不同引起的不同步。本设计发送端信号经过2DPSK调制,接收端2DPSK解调采用相位比较法,所以也没有考虑由于载波不同步引起的系统不同步问题。由于设计距离实际工程应用仍有一段距离,所以在本文中并没有考虑干扰对系统的影响,这将在今后的研究中加入对此问题的设计。因此,针对本系统同步问题主要集中在发送端和接收端的距离不定。本文的系统同步主要体现在捕获方面。在扩频通信系统中常用的捕获方式有:滑动滤波法和匹配滤波法。本文采用的是匹配滤波法。匹配滤波器采用的是并行结构。12 硕士论文基于FPGA的通信信号处理的设计与实现匹配滤波器的优缺点:◆优点:捕获目标速度快。使用此方法只需要几个扩频码周期就可以实现同步。◆缺点:对硬件的要求高。由于并行输入,匹配滤波器的阶数由用来扩频的m序列的个数和每个码元的采样点数共同决定。匹配滤波法的设计及实现将在第四章描述。2.6本章小结本章首先给出了制导雷达的系统结构图并且详细的描述了制导雷达系统的结构;其次,给出了制导雷达与拦截导弹间的通信流程图及收发时序图,对通信系统的过程和时序进行阐述;再次,对扩频技术进行了说明,着重讨论了扩频码的选取,分析了m序列的特点;最后,讨论了本系统中的同步问题,指出了本文同步问题的处理方式。本章节的设计为后续设计的实现提供了理论基础。 3信号采集板与处理板的设计硕士论文3.1引言本设计中硬件平台由信号采集板和信号处理板构成。信号采集板完成AD采样和光纤发送的工作。信号处理板完成信号的发送、光纤接收、处理接收信号的作用。本文硬件实物图如图3.1所示。信号采集板主要由XilinxVirtex.2ProXC2VP4.FG256FPGA、ADC、时钟芯片、电源芯片、光纤收发器SFP等组成。信号处理板主要由XilinxVirtex.5XC5VFX70TFPGA、时钟模块、电源模块、DAC、光纤收发器SFP等组成。由于涉及的芯片较多,所以本章主要介绍的是在本文中需要进行软件设计的芯片和器件。3.2信号采集板图3.1系统整体硬件实物图3.2.1功能描述信号采集板的主要功能是将接收到的模拟信号通过AD采样转换为数字信号,将采样得到数据通过光纤发送到信号处理板上。信号采集板的结构框图如图3.2,信号采集板包括控制器XilinxVirtex.2ProXC2VP4.FG256FPGA、可编程时钟芯片Si5338、5路14位ADCAD92442、两路光纤收发器SFP、时钟缓冲芯片ICS853310及电源芯片等。14 硕士论文基于FPGA的通信信号处理的设计与实现图3.2信号采集板结构框图3.2.2系统时钟设计信号采集板系统时钟设计框图如图3.3,FPGA的工作时钟可由信号采集板中的晶振提供。FPGA驱动可编程时钟芯片Si5338,同时通过12C配置Si5338,使得Si5338输出2路时钟。1路时钟作为FPGA的参考时钟,另1路时钟输出至时钟芯片ICS853310。时钟缓冲芯片ICS853310可以输出8路同步时钟,5路同步时钟可以给ADC提供采样时钟,1路时钟送至FPGA作为ADC采样数据的同步时钟。时钟图3.3信号采集板系统时钟设计框图3.2.3XC2VP4.FG256FPGA信号采集板中的FPGA使用是Xilinx公司生产的XC2VP4.FG256FPGA[15】。V'n'tex.2系列的FPGA为用户提供了大量可调用的P核和功能定制模块。V'trtex.2系列的FPGA使用灵活,口核配置更加完善,提高了可编程逻辑设计能力。XC2VP4.FG256内部具有丰富的资源,表3.1说明了该FPGA的资源概况。 3信号采集板与处理板的设计硕士论文表3.1XC2VP4.FG256FPGA的资源概况slice3.008可配置逻辑模块(CLB)MaxDistrRam(Kb)94Logiccells6,76818Kb28BlockRAM最大(Kb)50418·18bitMultipierBlock28PowerPc处理器模块lDCM4RocketlO收发模块4最大用户I/O6403.2.4ADC设计AD9244是一款14位模数转换芯片【16】。最高采样率为65MSPS。时钟可差分或者单端输入。AD9244的模块功能图如图3.4所示。AVDDREFTREFBoRV∞图3.4AD9244模块功能图通过AD9244对模拟信号进行采样,输出的数据位宽为14bit。为了后续处理方便,将14bit数据添力12bit数据头使得输出数据位宽变为16bit。本设计采用AD芯片的1通道,传输的数据位宽为16bit。光纤采用两通道对AD输出的数据传输,每通道传输的数据位宽为8bit。由于采样时钟和光纤传输时钟的不匹配,所以需要添加一个缓存用来对数据进行缓存。本设计采用由DPRAM构成的具有乒乓存储结构的缓存器来解决时钟不匹配的问题,从而完成数据缓存。数据缓存示意图如图3.5所示。16 硕士论文基于FPGA的通信信号处理的设计与实现16bit16bit/乓、≯H’11—一SFPlAOC删tl卜Dpram采样频率光纤速率图3.5数据缓存示意图3.2.5光纤通信设计本设计中利用RocketlO收发器硬核与加光纤收发器FiberxonSFP组合实现光纤传输。XilinxVirtex2Pro系列FPGA每通道的RocketlO串行工作速率为600Mb/s一3.125Gb/s。XilinxVirtex2Pro系列的RocketlO硬核包括PMA(PhysicalMediaARachment)和PCS(PhysicalCodingSublayer)两个层次[17】。PMA包括串并转换、发送接收缓冲器、时钟发生器、时钟恢复电路;PCS包括8B/10B编码/解码器和支持时钟纠正以及通道绑定的弹性缓冲器。XilinxV'Lrtex2ProRocketlO结构框图如图3.6所示。图3.6RockeflO收发器结构图如图3.6所示,RocketlO硬核端口包括差分接收发送端口,电压端口等。其中,TXP和TXN分别为差分发送的正负极性管脚,RXP和RXN分别为差分接收的正负极性管脚,V丌X和VTRX分别为发送和接收端电压输入管脚,A、,CCAUXTX、AVCCAUXRX分别为发送和接收模块的模拟电压输入脚、GNDA为模拟地输入管脚。通过对右侧管脚配置可以实现将从TXDATA并行输入的数据按照某种协议从TXP、TXN串行输出到FPGA外部或把RXP、RXN接收的串行数据转换为并行数据从RXDATA输入到FPGA 3信号采集板与处理板的设计硕士论文内部。因为RocketlO对电源和时钟有很高的要求,所以高稳定度的电源和高精度的时钟需要外部单独提供。本设计中使用Xilinx推荐的TexasInstruments线性电源TPS78601,同时使用滤波电路来提高电源的稳定度。RocketlO参考时钟由可编程时钟芯片Si5338提供。3.3信号处理板3.3.1功能描述信号处理板功能主要有两个:(1)发送经过扩频调制后的信号;(2)对接收到的信号进行解调、脉压、恒虚警等处理以恢复信息。本文的信号处理板硬件结构图如图3.7所示。信号处理板上的芯片包括XilinxXC5VFX70TFPGA、4路14位DAC5672、可编程时钟芯片Si5338、4路光纤收发器SFP等。图3.7信号处理板硬件结构图3.3.2系统时钟设计信号处理板系统时钟设计框图如图3.8。首先,从SMA接口接入大小为100M的外部时钟。其次,该时钟通过MAX961整形后进入可编程时钟芯片Si5338。由FPGA驱动可编程时钟芯片Si5338,通过12C配置Si5338,使得Si5338输出4路时钟。1路时钟作为RocketlO通道工作的参考时钟、1路时钟输出至ADCLK948、1路时钟输出至FPGA、1路时钟输出给PCIE。然后,输入至ADCLK948的时钟通过ADCLK948差分时钟驱动芯片产生同步时钟信号接入至SMA[18】。最后,通过SMA产生8路差分时钟送入AD9522.1芯片产生两路120M时钟。一路时钟接入FPGA作为本课题的系统时钟,另一路时钟接入DAC5672。 硕士论文基于FPGA的通信信号处理的设计与实现100MHz外部时钟输入MAX961时钟整形S15338产生120MHz的时钟ADCLK948差分时钟8路SMA差分时钟输出AD9522.5一分九时钟驱动3.3.3XC5VFX70TFPGADA5672时钟输入FPGA产生DA数据图3.8信号处理板系统时钟框图信号采集板中的FPGA采用Xilinx公司提供的XC5VFX70TFPGA[拶J。Virtex.5系列的FPGA提供了最新最强大的功能。该系列FPGA运用了第二代基于列的ASMBL工艺,包含了5种不同的型号(LXT、SXT、TXT及FXT),每个型号的FPGA都拥有独特特性,可以满足各类高级逻辑设计的要求。Vritex.5FPGA内置大量的P硬核模块,包括功能强大的36KbBlockRAM/FIFO、第二代25x18DSPSlice、ChipSyncTM源同步接口模块、时钟管理模块(DCM和PLL)等。这些功能提高了设计的效率与性能。基于以上优势,信号处理板中采用的就是Virtex.5系列的FPGAXC5VFX70T。XC5VFX70T内部具有大量的模块资源及接口资源,表3.2说明了该FPGA的资源概况。表3.2XC5VFX70TFPGA的资源概况阵列(行xN)160x38可配置逻辑模块(CLB)Virtex.5Slice11,200可配置逻辑模块(CLB)820DSP48ESlice12818Kb296BlockRAM36Kb148最大(Kb)5,328CMT6PowerPc处理器模块lPCIExpress端点模块3以太网MAC4G即N/A最大RocketlO收发器GTX16总I/Obank19最大用户I/O64019 3信号采集板与处理板的设计硕士论文3.3.4DACDAC5672是一款双通道,14位高速数模转换芯片㈣。最高工作频率达到200MHZ。DAC具备高动态性能,匹配补偿等特点,这些特点保证了DAC5672适用于I/Q基带通信或者IF通信。DAC5672芯片的功能模块图如图3.9所示。辅隔rrBWRTACI.KBCL飘IL他V:柏一*HI。mo’。zVKmne●卜—一l:XTlD—tL一一L⋯⋯J二一L一_』L——-L——————L————————————_J——————L——...j图3.9DAC5672芯片的功能模块图3.3.5光纤通信设计Virtex.5FPGARocketlOGTP的最高工作速率为3.125Gb/s[z11。Virtex.5FPGARocketlOGTP收发器包含独立的发射器和接收器,发射及接收器均包含PCS以及PMA模块。发射器接口接收并行数据,并行数据依次通过PCS以及PMA转换为高速串行数据。同样接收器接收高速串行数据,高速串行数据依次经PMA和PCS后转换为并行数据输入至FPGA。V'n'tex.5FPGARocketlOGTPDUAL结构框图如图3.10所示。每一个GTPDUAL由三部分构成:GTP0,共享资源,GTPl。其中,GTP0和GTPl收发器有各自的收发通道,其收发速率达到100Mb/s.3.25Gb/s,且收发信号的电平标准为CML。共享资源包括:复位控制,高速串行时钟,电源控制,复位控制和动态重配置等。如图3.10所示,左侧的接口为FPGA的实际管脚,RXP和RXN分别为差分接收的正负极性管脚,TXP和TXN分别为差分发送的正负极性管脚,AVCCAUXTX、AVCCAUXRX分别为发送和接收模块的模拟电压输入脚,AVCCPLL为PLL电平输入脚,ⅥTX和VTRX分别为发送和接收端的电压输入管脚,GNDA为模拟地输入管脚。右侧的接口为FPGA中可以配置的管脚,通过配置这些管脚实现将从TXDATA并行输入数据按照某种协议从TXP、TXN串行输出到FPGA外部或把RXP、RXN接收的串行数据转换为并行数据从RXDATA输入到FPGA内部。在V'trtex.5FPGA中,RocketlO传输的数据位宽可以为8bit或者16bit。本设计采用的是8bit传输方式,Vh'tex.5RocketlOGTP传输数据方式与Virtex.2FPGARocketlO传输数据方式不一样。对于16bit的传输数据,采用8bit方式发送,Virtex.2FPGARocketlO发送 硕士论文基于FPGA的通信信号处理的设计与实现数据是先发高8bit,后发低8bit。但是,对于16bit的传输数据,采用8bit方式接收,Virtex.5RoeketlOGTP接收数据是先接收低8bit,后接收高8bit。V'n-tex.5RoeketlOGTP与Virtex.2FPGARoeketlO的时钟配置方式也不相同。3.4本章小结图3.10GTPDUAL功能框图本章主要阐述了硬件实现平台。对信号采集板和信号处理板中涉及到的时钟配置问题及重要芯片与模块的功能结构图做了详细地描述,重点讨论了Rocketl0核的结构图并且对该核每个管脚的功能进行说明。本章为下一章节的软件设计进行铺垫。在下一章将着重介绍软件设计部分。21 4系统软件设计与实现硕士论文4.1引言在上一章节中着重介绍了本文的硬件设计。本章节中将重点阐述软件编程部分。软件设计主要分为两部分:信号的处理和信号的采集。本章节将给出每个部分的流程图、设计方法以及仿真图。仿真软件采用的是Modelsim6.5,程序设计软件采用的是ISEl3.2。4.2VHDL语言与ISE软件4.2.1VI[tDL语言VHDL主要用于描述数字系统的结构、行为、功能和接口【22’231。VHDL的语言形式、描述风格和句法近似于计算机高级程序语言,其语言中语句具有偏硬的特点,这是它区别与计算机高级程序语言的地方。VHDL语言的并行执行方式区别与一般程序语言的顺序执行方式。运用VHDL语言对数字系统进行设计,具有以下突出优点:◆系统硬件描述能力强,适用于大型项目与团队合作开发。◆强大的行为描述能力可以避开具体的底层器件结构的设计。◆设计具有独立性,设计者可以在既不明白硬件的结构,也不知晓设计的最终目标的情况下进行独立的设计。◆VHDL语言符合IEEE工业标准,编写的模块容易实现共享和复用。◆丰富的仿真语句和库函数,提高了系统的灵活性与通用性,随时可对设计进行仿真模拟,检验设计的可行性。◆程序可读性好,符合人类的思维习惯。一个完整的VHDL程序由库的调用、程序包的调用、实体说明和结构体描述4个部分组成。库和库中程序包的调用类似于高级程序语言的头文件,程序中函数集数据类型如std109le等都在库中的程序包中有定义,因此程序要用到这些函数集数据类型则必须调用库和库中的程序包。实体是VHDL程序的基本单元,用于说明设计系统的外部接口信息,相当于提供一个设计单元的公共信息。对于一个已经确定的系统,实体的描述是唯一的。结构体用于描述相应实体的行为、功能或电路结构,特别要注意的是结构体与实体不是一一对应的,一个实体可以对应多个结构体,但一个结构体只能对应一个实体。当一个实体有多个结构体与其对应,在仿真综合时,就需要对实体进行配置所需的结构体,在这种情况下,一个完整的VHDL程序就还应包括配置部分。 硕士论文基于FPGA的通信信号处理的设计与实现VHDL程序的基本构件包括库、实体、结构体、块、子程序(包括函数和过程)、程序包等。其中实体、结构体、库、程序包是一个完整的VHDL程序所必需的,块和子程序并不一定在每个VHDL程序中都出现。另外,在书本上,虽然所有的标示符都以大写的形式出现,事实上,ISE工具进行VHDL代码编辑时,一般对标示符不区分大小写,但对单引号和双引号中的字母是区分的。4.2.2ISE软件ISE是Xilinx为其FPGA开发提供的一个设计软件‘241。ISE软件可以完成设计流程的所有阶段。它是一个全面的、易于使用的独立解决方案。下面详细介绍ISE软件的使用流程,包括设计输入、综合、仿真、管脚配置、下载编程。其步骤如下:1.设计输入首先,打开“ProjectNavigator”后,选择“File”_“NewProject”,弹出新建工程对话框,填写工程名字和工程存放的位置。选择与硬件板上芯片型号相对应的器件。设置好仿真软件,将仿真软件与ISE关联。本设计中仿真软件采用的是Modelsim6.5。然后,在工程“Sourcefor”下在的空白处单击右键选择“NewSource”菜单,在弹出的对话框中选择VHDLModule,并且在右边的“Filename”中输入模块名称。完成设置后可以在模块中输入代码,完成设计输入。2.综合将编写的代码设为顶层文件,点击综合。所谓综合,是将具体行为和功能层表达的电路转化为低层次模块,即将VHDL代码描述的模型等转换为FPGA的基本结构相对应的网表文件。3.仿真点击“NewSource”,在弹出的对话框中选择“TestBenchWaveForm”,在右端的“Filename”中输入名字,即完成波形激励文件的生成。选择“simulation”选项,点击波形激励文件,调用Modelsim6.5进行仿真。4.管脚配置点击“NewSource”,在弹出的对话框中选择“ImplementationConstraintsFile”,在右端的“Filename”中输入名字,参照原理设计图,输入对应的管脚号完成管脚配置。5.下载程序管脚配置后,再进行一次编译,产生bit/mcs文件,ISE中将bit/mcs文件下载到Impact。下载完成后,看开发板上的显示是否与自己的想法一样,若有差异,回到程序中检查,并再度调试程序,直至得到正确的结果。 4系统软件设计与实现硕士论文4.3系统整体的软件设计通信系统整体软件设计框图如图4.1所示【2卯。本文主要完成了三部分内容。首先,信号处理板对待发送的信息进行编码扩频调制,再通过DA变成模拟信号发送。信号处理板通过AD对模拟信号进行采样,通过光纤传输采样信号。最后,信号采集板的光纤接收采样信号,再进行解调、解扩、判决等处理,恢复发送的信息。经过整合,按照功能将整体的软件设计分为两个部分进行设计:(1)雷达发送部分(信号处理板中实现)(2)导弹接收部分(信号采集板与信号处理板中实现)(a)雷达发送部分(b)导弹接收部分4.4信号发送与接收部分图4.1通信系统整体软件设计框图4.4.1信号处理板的时钟配置信号处理板中系统时钟需要通过芯片Si5338配置。具体各个部分的驱动时钟的配置如表4.1所示。表4.1Si5338输出时钟配置时钟通道时钟输出配置用途CL瑚200MHZ2.5VLⅧSFPGAPCIE参考时钟CLKl120MHz2.5VIⅣDSFPGA备用时钟CL怼200ⅣⅡ{z2.5VIⅣDSFPGARocketlO参考时钟CL邸120MHz2.5VLVDSFPGA参考时钟经Si5338配置后CLK3端口的输出时钟为FPGA提供了大小为120M的系统时钟。Si5338具体的配置界面如图4.2所示。完成上述设置后点击“ApplyValuestoDevice”选项。最后选择“SaveRegisterMapFile”选项,保存寄存器文件。 硕士论文基于FPGA的通信信号处理的设计与实现图4.2Si5338配置界面完成Si5338配置后,打开寄存器文件,将其中寄存器地址0(十进制)到251(十进制)的数据拷至文件5338reg.dat中,并加上软件复位的地址和数据:”246,02h”。依次运行filelO文件夹下的Textl.exe并llText2.exe,最后得到“adrregdataout.dat”文件,它即为ISE中需要使用的二进制文件。在FPGA的程序设计中,需要同时提供寄存器地址和寄存器值,即有254个8位位宽的数据需要操作。本文采用通过编写VHDL代码来读取寄存器文件的方式。将需要配置的数据存入数组(Array)中,然后通过读取file文件实现。关键语句如下:fileinfile:textisin”adreg_gx.txt”;typedataarrayisarray(0to79)ofstd_logicvector(7downto0);在进行时钟配置前先进行文件读取以及对数组赋值,完成后即可以通过12C总线对时钟芯片Si5338进行配置。4.4.2发送模块流程图发送模块流程框图如图4.3所示,具体流程如下:(1)对待发送的字符信息进行二进制编码(每个字符信息对应8位二进制码),并且添加数据同步头;(2)将二进制编码信息通过31位伪码进行扩频处理;(3)将扩频后的信息通过2DPSK调制;(4)30M载波调制;(5)通过DA发送模拟信号。 4系统软件设计与实现硕士论文通信号图4.3发送模块流程框图4.4.3发送模块设计与仿真发送模块设计主要完成了二进制编码、扩频、2DPSK调制与DAC发送。对发送信息进行二制编码可以运用VHDL语言里的语句直接转换。扩频码的选取原则第2.4.3节已经描述。两个相互正交的扩频码均采用的是31位m序列,该序列的每个码元时宽为0.25us。扩频处理关键代码如下:if(eodeadd(7-t)--’l’)thencode_spread<=codel;elsecode_spread<=code0;endif;为了便于了解2DPSK的调制特点,先对数字基带信号的绝对码和相对码的概念进行说明。绝对码是以基带信号码元的电平直接来表示数字信息。一般情况下1代表高电平,0代表低电平。相对码(差分码)则是用基带信号码元的电平相对前一码元的电平有无变化来表示数字信息,一般假设相对电平有跳变表示为1,无跳变表示为0。表4.2给出了一组二进制数字信息与它相对应的2DPSK信号的载波相位关系。表4.2二进制数字信息与对应2DPSK信号载波相位关系表数字信息(绝对码)101010石万2DPSK信号相位0O0万刀或0O02DPSK调制就是利用前后邻近码元的载波相位变化来传递数字信息的一种调制方式,所以又被称为相对相移键控调制【26’271。设相对载波相位值用相位偏移△矽表示(△矽为该码元初相与相邻的前一码元初相的载波相位的差),可以将这种数字信息与△痧的关系表示为26中一送一发一目1h|IJ一望删帧{|一呤^倒一一憎献一面i~囹肉垂H 硕士论文基于FPGA的通信信号处理的设计与实现髋万0二然01㈤,,I△痧=j数字信息通过公式(4.1)可知,2DPSK信号的相位由前后码元相对相位的差决定的。图4.4给出了2DPSK调制的原理框图。数字信号{a。)首先经过差分编码器,将绝对码转换为相对码{吃);然后与调制信号通过乘法器直接相乘后通过带通滤波器产生2DPSK信号。极性变换器是把单极性{吃)信号变成双极性信号,其中负电平对应{吃)中的1,正电平对应{包)中的0。PSK信号cos(woO图4.42DPSK调制的原理框图30M调制中频采用的是DDSIP核。通过设置频率控制字来设置频率。DAC同步数据的发送关键代码如下:if(rising_edge(clkl20m__not))thenDA0_DDS<=sendout+”10000000000000”:endif;发送模块仿真如图4.5所示,发送模块的放大仿真图如图4.6所示。图4.5发送模块仿真图 4系统软件设计与实现硕士论文图4.6发送模块仿真放大图如图4.5所示,发送的内容为数据同步头加信息,即“aabcef$”。其中a为数据同步头,abcdefg为发送的信息。由图4.5的信号ascii—code—test可见,发送信息完成T--进制编码。通过两种扩频码字code0和codel进行通信系统扩频,然后将扩频系统通过2DPSK调制,最后由30M中频调制后发送给DA。图4.5中信号sendout即为发送的数字信号,通过该图可见数字信号是周期发送的。放大图4.6中通过sendout信号可看出波形经过了相位调制,这与理论分析相符。4.4.4接收模块流程图接收模块流程框图如图4.7所示,具体流程如下:(1)接收来自光纤的数据(2)将接收到的数字信号通过带通滤波器进行滤波;(3)将带通滤波后的数字信号通过相干解调;(4)将解调后的信号进行解扩处理;(5)解扩后的信号经过判决最终恢复发送端发送的信息。图4.7接收模块流程框图4.4.5滤波器的设计与2DPSK信号的解调由4.5.2节图4.7所示,接收端首先对接收到的光纤数据进行带通滤波。带通滤波器的设计采用的是FPGA的FIR滤波器软核。带通滤波器滤波系数的设计可采用MATLAB的fdatool工具,具体的设计界面如图4.8所示。通过设计界面可以看到所设计的滤波器的阶数、滤波器的种类及所设计的滤波器的其它相关信息。通过图形化界面确定滤波器28 硕士论文基于FPGA的通信信号处理的设计与实现设计正确后,设置产生一个后缀名为.coe的文件,然后在FIRIP核界面的系数文件路径中选择该文件,这样就可以将滤波器的系数导入FPGA的FIRIP核中,对FIRIP核设置完毕后即可生成所需要的滤波器。低通滤波器的设计方法与此相似。FPGA的FIRIP核将在4.4.4节中给出设置界面图。口::er二燃-g,&i㈣垮sjm。n:吧d‘d。’j王竖』!;i}c:aT:“na’I.,IsTa’ge::~㈨WInd。LvHe临n匡:口昌陀彦pDXn斤;:]门m田争±r]_蘩ijoF]同田巨[㈣91⋯g讯。7[aone,一。~~图4.8带通滤波器设计界面发送端对信号进行了2DPSK调制,那么在接收端就需要对信号进行解调。本文2DPSK信号的解调方法采用的是相位比较法,这种方法不需要相干载波,延时信号输出就有着参考载波的作用。相位比较法的原理框图如图4.9所示【28]。图4.9相位比较法的原理框图当不考虑噪声,带通滤波器和延时器的输出表达式分别为R1(f)=cos(c00t+九)(4.2)R2(t)=cos[c00(t一瓦)+吮一1](4.3)式中丸为第咒个载波码元的初相,式中乃为码元宽度。将△≯=九.九一。带入,则乘法器输出为f照堕匿圃国圆圆 4系统软件设计与实现硕士论文低通滤波器输出为z(t)=Cos(%f+吮)cos[嘞O一瓦)+丸一1]=丢c。s(△丸+tOoTh)+12eOs(2%f一‰瓦+丸+丸一。)‘44’x(f):lC0s(△吮+COOK):三c。sc△丸,c。sc%乃,一三sinc△丸,sinc%瓦,‘45’通常令笠T=k(正整数),其中乃是载波的周期,COoK-.2,zT。.=2万尼,则上0础)=丢c。s△丸=l牟——212接收端与发送端产生的2DPSK信号“1变,0不变”的规则相对应,接收端抽样判决器的判决准则为:抽样值X>0,判为0;抽样值X<0,判为1。4.4.6解扩匹配滤波器被认为是输出信噪比最大的最佳线性滤波器[29,30】。它在扩频通信系统中有十分重要的地位。由匹配滤波器的性质可知,它可以理解为一个相关器。解扩的过程实际上就是相关过程,利用匹配滤波器的这一特点可以实现解扩处理。本文将扩频序列的逆序列作为匹配滤波器的系数,与输入的信号进行相乘再相加处理即可达到解扩的效果。图4.10中是用匹配滤波器进行解扩的原理框图,从图中可发现输入信号被延时0,T,2T,-.-,(Ⅳ一1)丁,经过延时的信号分别与系数CⅣ书CⅣ埘CⅣ书⋯,Co相乘,只有全部乘法器输出信号的相位完全相同时,加法器才有到最大值输出。即只有输入信号的扩频序列与本地参考扩频序列(即扩频序列)完全相同,这样加法器才会输出最大结果。30图4.10用匹配滤波器解扩的原理框图图4.11给出了FIR滤波器核的内部结构,x(n)是滤波器输入信号,口(0)⋯a(N一1)表、,64/LO厅=丸九△ 硕士论文基于FPGA的通信信号处理的设计与实现示滤波器系数,y(n)表示滤波器输出信号。y(n》图4.11FIR滤波器核的内部结构由图示结构得到滤波器的输出表达式上y(玎)=≥:a(n)x(n—k)(4.7)k=0该FIR滤波器阶数越高,滤波器的延时时间就越长,这一点在实际设计中需要考虑。本设计利用了两个正交的扩频码对系统进行扩频处理,采用的扩频码分别为:“000010010110011ll10001101110101”和“1111011010011000001110010001010”。本文采用FPGA的FIR滤波器软核来完成匹配滤波器解扩处理。通过CoreGenerator生成FIRIP核。匹配滤波器的滤波系数就是31位扩频伪码序列的反折码字。AD采样时钟24M,经过扩频调制后一个码元的时宽为0.25斗s,那么一个码元就被采样6次,扩频伪码序列的长度为31位,所以滤波器阶数实际为6"31=186阶。匹配滤波系数的生成方式参考4.4.3节。图4.12给出了ISE软件生成的脉压FIRIP核产生界面。4.4.7判决煦壁坠一一一一一⋯一一一⋯=!兰i舻渺Fillc明lpiIer-一咖嘲-ilN晰咖¨g“F7q啪蝌似阿刚-忡哪Stb“■■v:l矗fo口●:1..1Rher^r日h篱R_●■-■S-哺-叫8_:!生,‘O:s⋯I'曼i.+些j●●h:-^00●Hl●口c锄lpo愀l№舶童曼=,:=盐_j兰主i薹主i:薹。三笔=.三;=:!。!兰:i一;.二:立二兰一二。一⋯一I:●ter(Ⅺdba自惜s·¨s_m:葡i戳⋯习c一一m—“甄鋈蕊委鋈霾烫圈嚣墓透露氢霹互==!:!;三薹薹薹i互嚣。——n一:蓐、J_|_t函蛹鳓鳓i硒i蔷]医画函i]‘趸五i]哺_w西c-—&曲畦S●b:1~呻t1..攒h_·b-。fCaaebents(P盯·哟:3lnhfSmk☆∞F-竹1坤e:SingleRB培,!!n耗ch崎01狰B:油硒寮r*Ⅻpol∞Ⅻe☆m:rl‘,鼍脚.1一j&o㈣FHeⅧ{*f}}晰,i..jz盯。啉妇啪f’矗。■R*潦E、1..】■嘲r—Owners:1:翱_-,:1..H№m¨%m&¨咖s"*㈣s姐·_-畦:’曼!竺墅型!嗍~—霾坤城铀忡■哼Fr|呻柚q:·●轴攀:O.m.捌Ⅲ№aO吐R啊‘唧:120轴r●p:^m.囊舢●●n图4.12ISE软件下的FIRIP核产生界面判决处理是通信信号处理的一个不可或缺的部分,它在扩频通信系统中占有重要的地位【3l】,仿照图4.13所示可以构成判决器【32,33,34]。 4系统软件设计与实现硕士论文图4.13判决器模型如图4.13所示,判决器分别用Xi(i-1,⋯n),yi(i=1,⋯n)表示两侧参考单元。参考滑窗长度为2n,其中n为前沿和后沿参考滑窗设计的长度。X为前沿滑窗的局部估计值,Y为后沿滑窗的局部估计值。H1判决为1,H0判决为0。T为门限参数。D是检测单元中的检测统计量D(V)。判决器的设计可以采用均值选大(GO)或者均值选小(SO)方式进行设计。本设计中采用GO方式进行判决器的设计。通过上面的分析,可得到均值选大判决器的设计框图,如图4.14所示。图4.14判决器的设计框图均值选大判决器的设计分为三个模块,具体设计如下:1.加法减法器模块加法减法器模块有三个输入端口。新的参考窗包括了新输入的数据单元以及上一个参考窗除去最早进入的那个数据单元外的所有数据单元。所以,两个加法端口,一个端口输入的是新的数据单元,另一个则输入的是上一次累加结果的反馈。减法端口减去的是最早进入参考窗的那个数据单元。那么除了第一次计算参考窗的部分和时需要进行n次计算(n为参考窗的长度),以后每次都只需要进行一次加法运算。32 硕士论文基于FPGA的通信信号处理的设计与实现2.判决模块判决模块的功能是将测试单元与门限值比较。如果测试单元大于门限值则输出高电平,判决为1;若测试单元小于门限值则输出低电平,判决为0。判决模块有两个输入端口。一个输入的是门限值,另一个输入的是测试单元。门限值的设计需要进行计算。将得到的选大平均值乘以一个门限系数即可。在不同的情况下,门限系数的设置有所不同。一般门限系数设计为3—5。得到门限值后,便可将测试单元与门限值进行比较,得出判决结果。3.延时器模块延时器的设计是选大判决器设计中的关键。延时模块的设计采用的是基于FPGA中的IPCore:RAMbasedShiRRegister,它的设计界面如图4.15所示。此核可以方便的修改参数,通过控制输入地址从而控制延时的周期数。保护单元与参考窗设计的不同都会引起延时周期的不同。≯S㈣6xfg吵(。’’iRAM-basedShiftRegister。。。。¨一n气,。。t霎一⋯口幽4.15IPCore:RAM—basedShiftRegister设计界面本设计中的三种不同延时器设计都是基于延时模块设计而成。原理方式都相同,只是每个延时器模块的延时周期数不同。具体每个延时器周期数的设计如下所述。(1)L1延时器模块L1,它的作用是对输入数据单元进行延时,以保证在计算下个参考单元的部分和时,输入数据单元正好到达加法减法器模块的减法端口。所以,L1的长度设计为13.,n表示参考窗的长度。(2)L2延时器模块L2,它的主要功能是保证比较器两端口需要进行比较时数据能同时达比较器两端口。由于数据是串行输入的,这就造成了右侧参考窗的部分和比左侧参考窗的部分和先达到,为了它们保证同时达到,则需要对右侧参考窗的部分和进行延时。L2的设计需要考虑了参考窗的长度,保护单元的数目等因素。用数学公式表示,L2=n+L+1。 4系统软件设计与实现硕士论文其中n为参考窗的长度,L为保护单元的数目,1表示测试单元本身。(3)L3延时器模块L3,它的主要功能是保证比较器的输出与测试单元的输出在进行判决时能同时到达判决器的两端口。用数学公式表示,L3=L/2+l。其中L为保护单元的数目,1表示测试单元本身。均值选大判决器的仿真将结合接收部分的滤波、解调、解扩等处理在下一节给出仿真结果。4.4.8接收模块的仿真接收模块的流程如下:首先,接收模块接收来自发送端的信号;其次,对信号进行带通滤波;然后,对带通滤波后的信号进行相干解调;最后,对解调后的信号进行解扩和判决处理直至恢复发送端发送的信息。接收部分的仿真如图4.16所示。图4.16接收模块的仿真如图4.16所示,pressout信号表示的是解扩结果,cfarcode信号表示的是恢复码字的ASCII码信息。cfartarget信号表示判决的结果。cfartarget信号高电平判决为1,低电平判决为0。图4.16显示,cfarcode恢复码字的ASCII码信息就是4.3.2节仿真图中所显示的发送信息“aabcdefg”。按照发送端设计,一共发送了8个字符每个字符分别变为8位二进制码,理论上判决结果有64个高电平。cfartarget一共有64个高电平,符合理论分析的结果。综上述,接收端的软件设计正确。4.5信号采集与光纤传输部分4.4.1信号处理板的时钟配置信号采集板中的系统时钟由板子晶振通过Si5338芯片配置。具体各个部分的驱动时钟的配置方式如表4-3所示。这里只给出具体的配置参数,对Si5338芯片的配置方法不再34 硕士论文基于FPGA的通信信号处理的设计与实现赘述,具体配置方法同4.4.2节所述。表4.3Si5338输出时钟配置时钟通道时钟输出配置用途CLKO24N咀z2.5VIjVDSFPGA的AD采样时钟CLKl100MHz2.5VIjVDSRocketlO参考时钟CL怼24MHz2.5VI:VDSFPGA的同步数据时钟CLK3100MHZ2.5VLVDSFPGA的参考时钟4.5.2信号缓存信号采集板中AD芯片以24M采样时钟采样模拟信号,光纤通过200M发送8bit数据的速率将采集的数据发送给信号处理板处理。信号处理板中用于接收的RoeketlO核的工作时钟为200M,一次接收的数据宽度为8bit。信号处理板中进行信号处理的时钟采用48M。由于两块板子的时钟不匹配,所以需要将采样得到的数据进行缓存。在本设计中采用DPRAM对数据进行缓存。DPRAM的设计采用的是乒乓结构。在FPGA中开设一个数据深度为4096,数据宽度为16bit的DPRAM核。此DPRAM写时钟采用24M,读时钟采用100M。通过乒乓结构可以完成数据的实时存储。将一片DPRAM分为两个部分,当写地址写到2047时,读地址开始累加。由于读时钟速率高于写时钟,所以当读地址读到2047时停止,直至写地址到达4095时再次累加读地址。读地址一直读到4095再次暂停,至此完成一次整片DPRAM数据的读取。而后重复这个过程。关键VHDL设计程序代码如下:ifaddr—a—in(10downto0)=”11111111111”thenra_a<=⋯1;elsifaddraout(8downtoO)=”11111111111”thenrd_a<=’n’0;endif;乒乓结构的DPRAM仿真图如下图4.17所示。 4系统软件设计与实现硕士论文窿鬻蓊鬯籀釉iill函辫,鬻爨鬻斓l霎麓嘲瑚蛹麟鬃i翮l}鬻键龋蚓攀峨’萋嚣鬓潮l戮粼嘲孥嘲晦i麓辫蓊瓣彰.骥囊哆睁睁i攀萋鏊黧l鬻.糍唰臻囔蛳≥簿嚣嚣麟擎麓睁嘲蛔譬藜羹酽蠲灏嘲嘲隧缓蘩熏囊霪绥搴褰妻守繁豢蘸瓣攀瀵誊、一繁鬻鬻霪鬻撵图4.17乒乓结构的DPRAM仿真图如图4.17所示,读地址信号为addraout。当读地址为2047时,信号rda由高电平变为低电平表示这DPRAM中一半的数据读取完毕后DPRAM停止读功能,等到写地址写到4095时读信号rd—a再次被拉高,表示可以读取另一半DPRAM中的数据。测试数0-4095被写入DPRAM地址0-4095中。从图4.17中可以看出读地址信号addraout为2047时,读出数据信号data也为2047,由此证明缓存模块设计正确。4.5.3光纤收发与缓存信号采集板中采用Virtex.2FPGARocketlO硬核与光纤收发器FiberxonSFP组合实现数据的光纤发送,信号处理板中采用Virtex一5RocketlOGTP收发器与加光纤收发器FiberxonSFP组合实现数据的光纤接收。本节将分别介绍两种RocketlO核的基本设置和关键代码设计。(1)8B/10B编解码器Virtex.2FPGARocketlOI为置8B/10B编码器,它将8bit数据编码成10bit数据【35,36】。8B/10B编码器可以提供直流平衡以及包含丰富跳变沿的数据流,便于直流、交流耦合以及时钟恢复。8B/10B编码器接收9bit数据,包括8bit有效数据和lbitK-character控制信号。8B/10B编码共定义了256个数据以及12个控制字符,当K-character控制信号为高电平表示数据为K-character即无效数据;当K.character控制信号为低电平时,表示数据为有效数据。相对应,8B/10B解码器将10bit数据解码成定义的256个数据或者12个控制字符。光纤数据传输通过RocketlO部的8B/10B编解码器可以顺利的进行。(2)comma字符检测和对齐Virtex.2FPGARocketlO接收差分输入串行信号,时钟恢复电路从接收数据流中提取出时钟相位以及频率,恢复时钟20分频后在RXREFCLK管脚输出【37】。为了在接收数据流中提取出发送数据,需要将数据流按照发送的10bit方式组合,即需要实现数据流的36 硕士论文基于FPGA的通信信号处理的设计与实现对齐。Virtex.2FPGARocketlO通过在发送数据中插入预先定义的K-character来实现数据对齐功能,这种预先定义的K-character耳P称为comma字符。RocketlO在接收数据流中持续检测lObit字符,当检测到conlma字符后,数据自动对齐。(3)RocketlO参数配置Vkrtex.2FPGARocketlO通过添加口核来实现的,其中RocketlO有多种工作模式:Custom,Aurora,Ethernet等,需要根据不同需要选择不同的模式,Custom可配置的参数最多【38,39】。本设计采用的是Custom模式。由于RoeketlO对时钟精度要求高,所以接入的时钟不可以通过DCM进行分频。由于V2FPGARocketlO收发串行数据的时钟为参考信号的20倍频,发送数据的位宽不同,USRCLK与USRCLK2时钟的配置也不相同,具体时钟配置如表4.4。USRCLK和USRCLK2均包含发送与接收时钟。本设计中数据传输采用lbyte,所以2USRCLloUSRCLK2。表4.4Vmex.2ProRocketlOUSRCLKUSRCUQ配置数据位宽USRCLK\USRCLK2频率比1byte1:22byte1:14byte2:1Virtex.2FPGARocketlO通过状态机完成数据的发送,具体流程如图4.18所示。图4.18光纤发送流程图37 4系统软件设计与实现硕士论文在本设计中,预设comma字符为K28.5(aC)字符和K28.3(7C)字符。首先,对系统进行复位,进入状态S1,发送K28.5字符接着转移至状态S2,再次发送K28.5字符;其次,进入S3状态,发送K28.3字符,之后转移至S4状态;然后,在S4状态再次发送K28.5字符,同时判断DPRAM读使能否有效,有效进入S5状态,否则重新进入S4状态;最后,在S5状态发送采样数据,对发送的数据个数计数,当计数器计满64后重新回Ns]状态。光纤发送数据按照上面的状态机进行循环发送。本文光纤通信中的数据发送模型如图4.19所示。D0D1I)2∞txdata0D哇D1t.xdatal脯D2txdata2txnI)6D3txdata3D7D4txdata4t即D8嘶txdata5D9D6txdata6010D7gxdata7D11D12D13D14D15图4.19光纤发送模型本设计中DPRAM采用100M时钟读取数据位数为16bit。而光纤发送采用的是200M时钟发送8bit数据【401。关键代码设计如下:when”0000”=>mgtl_TXDATA<=data(15downto8);mgtl_TXCHARISK<=”0”;state—data<=”0001when”0001”=>mgtl_TXDATA<=data(7downtoO);mgtl一TXCHARISK<=”1”;cntchar<=ent_char+’1’;state_data<=”0000”:如关键代码所示,当state_data=”0000”,发送为数据的高8位;statedata=”0001”,发送为数据的低8位。这样发送率与数据缓存速率一致。V'n'tex.5RocketIOGTP中的设计与此相同。Virtex.2FPGA缓存与光纤发送的测试仿真如图4.20,4.21,4.22所示。如图4.20所示,当光纤发送的是有效数据的时,通过TXDATA—IN信号可以看出发送的是递增的有效数据,并且m醇-TXCHARISK信号一直为低电平。如图4.21所示,当光纤发送有效数据时,通过TXDATAIN信号可以得到当计数满64时发送的是comma码,其余发3R 送的是有效数据。m啦TXCHARISK信号在数据有效时一直为低电平;当发送了comma码时,mgt_TXCHARISK信号为高电平。如图4.22所示,当光纤发送的是无效数据的时,通过TXDATA—IN信号可以得到发送的是comma字符(28.5字符和28.3字符),并且m酶-TXCHARISK信号一直为高电平。■兰三三三三三三三三三三三三兰三兰三三三苎三耋三兰兰芝苎三兰篓塞三三兰三兰三三兰兰三兰三三兰苎三图4.20光纤发送有效数据仿真图盛瓢喇拥.暾l帅嘴'躲嘞嘲虫鹣伪蛐酬I【_0草习争l■岫l》,6缸岫吐争lCJr.Ju商争『l哦可lp,∞m珥憾03=】证轮是=脚竺:燮!型互Z:*,●■由l卜,li蛔■畦9,球d_“腿IWt球用稍nⅡ“n,,t__t3_tpnmnm馐茹翟强戚嚣133葛薯葛■为黛t∞陋砸班甄甄耍瑚露酒蕊而弱五两赢—可r1蕊丽瓦西虿i焉__________-_____--___-_-一-__。一·---一·______-__.___抽!i鏊l!型也。。一‘。。。’。。⋯墁引35:jm臻豫:。:奠函豆圃匮墨匠口[压珏珏珏殛卫船卫团圆回l厂—]图4.2l光纤在有效数据间插入comma码仿真图。c(捌跚嘶霉I憔粥㈣xo譬铷学翠葶?譬?⋯——·_--__-__·_-·__·__-__·__·___.-_.·-.-.-二--._-.__-__·_-二_.·__.__-._-__:__--_.-..-_-_.:_--_-__-._---j__-__-__.__.__i一滞[巫二]二=匾=]=二亟==3c二=歪=]二=互E=,瑚匕二二二二二二二二二二二二j匠二二二二二二二二二图4.22光纤空闲时发送comma码仿真图Vh'tex.5RocketlOGTP通过CoreGenerator生成D核,参数的配置要与Virtex.2FPGARocketlO的配置一致。通过控制P核来完成数据接收功能。在本设计中Virtex.539 4系统软件设计与实现硕士论文RocketlOGTP用来接收数据。若用位宽为16bit的数据进行光纤传输,Virtex.2RocketlO先发送数据高8bit,后发送数据低8bit;Virtex.5RocketlOGTP收发器先接收数据的低8bit,后接收数据的高8bit。为了保证传输数据的正确性,就需要在发送或者接收时进行附加处理。Virtex-5RocketlOGTP用户接口的并行数据收发时钟与V'trtex.2RocketlO类似,也各有两对。TXUSRCLK、RXUSRCLK以及TXUSRCLK2、RXUSRCLK2。RXUSRCLK是接收器PCS逻辑的内部时钟,RXUSRCLK2是GTP数据接收端的主同步时钟,根据接收数据位宽的不同,RXUSRCLK与RXUSRCLK2的设置不尽相同。由于本设计采用8bit传输,所以RXUSRCLK频率与RXUSRCLK2频率相同。Virtex.5RocketlOGTP的接收端设计同样也采用状态机,具体流程图如图4.23所示。系统每付图4.23光纤接收流程图首先对系统进行复位,进入状态S1,在comma接收标识符为高时,检测是否接收到K28.5字符,如果接收到接着转移至状态S2,否则返回S1;状态S2,在comma接收标识符为高时,再次检测是否接收到lQ8.5字符,如果接收到接着转移至状态S3,否则返回S1;状态S3,在Conma接收标识符为高时,再次检测是否接收到K28.3字符,如果接收到接着转移至状态S4,否则返回S1;状态S5,在comma接收标识符为低时,接收有效数40 硕士论文基于FPGA的通信信号处理的设计与实现据,当comma接收标识符为高,则返回S1。光纤接收数据按照上面的状态机进行循环接收。光纤接收的数据通过DPKAM进行缓存。DPKAM的设计参照上一节。DPRAM的写使能由RXCHARISK信号取反来控制。Vlrtex.2FPGARoeketlO端用来测试通信的数为一直递增的位宽为12bit数。通过将这个数先存入Virtex.2FPGA中的乒乓存储结构,然后用100M时钟读出数据,200M的时钟来传输8bit沏,U试数据,最后由Vlrtex.5FPGA光纤接收与缓存测试数据。V'trtex.5FPGA光纤接收与缓存的测试仿真如图4.23,4.24,4.25所示。dprexmeedecftrdptklfirdp■tlfir:J",htt_·n越:—舶Ht/llrt_il:JO},-妇^一¨t;_l'0rlaⅢlntZ_TOP/tileO_rxltt;l——』_叩_L————一∞'剖三三三圭三OOO重OO00000三三三图4.24光纤接收数据与缓存仿真图如图4.24所示,通过信号addrbout可以看出光纤接收数据完成了乒乓结构的缓存。DPRAM中的写信号由fifoen信号控制。如图4.25所示,当接收到无效数据时,通过tile0rxdata0信号可以得到接收的是comma字符(28.5字符和28.3字符),sendout信号可得经过缓存后读出的数据没有改变,表示无效数据没有进入缓存保存。,江,,躲藏硒.谗,fl“,o,!Ht.辫!.识I滓,r屯蕾I‘IR".¨●I-t¨I/ImtrtHit.t·-,Icmm蒯mr,】钿I-|·‘·tt·l·,,,妯f珏tlmt.ruraintqt/Imillfir/Iut_lKlZt_ttt.1'ldP/htt..mmaullD,l_t-l目嗽jnJ孵,o■-j-tl--tzKm.m。lel'ltd-bnt,l柚l—曩HjnJ",·糟l糟‘,I柚lJ鬣nT-‘缸J",tn一.nhl。.,h·tJ嘲孵J强皿,IiI柚Jl“,,图4.25光纤空闲时接收数据41 4系统软件设计与实现硕士论文如图4.26所示,当接收到有效数据时,信号sendout表示DPRAM的数据输出端。光纤接收有效数据,将有效数据存入DPRAM中进行缓存。通过信号sendout可以得出数据一直递增与光纤发送的数据相同。由此,可以验证光纤传输与数据缓存部分的设计正确。融tJD熙舅J洲矗玩4.内崃鲻曼l辩lI每曼Itftr_t,ek_tntj,1..1r·髑矗稍睡啊f.r螂—k畦_/Iutrmintfl/lml^fir,hnpHi¨h—-dl陆I,I_tl眦锹。I●Ⅳhtl-瑚-越J『l_t■匡B#珏,●|,d■li-n_t。搬0Ⅱl盱,‘抽dL·nI『l-',■皿l孵删雎-L·虹,IIlI■嚼mm,“l由眺t⋯/lut.IKIEl_t11.19ltild.nat...4.6本章小结图4.26光纤接收有效数据图本章主要介绍了系统中的软件设计部分。对信号处理板中信号的发送与接收;信号采集板中光纤的发送与缓存和信号处理板中光纤的接收与缓存部分的进行设计,给出了相应的原理图,同时给出了软件设计及相应的设计仿真图。本章为下一章节的硬件调试奠定了基础。42 硕士论文基于FPGA的通信信号处理的设计与实现5系统调试5.1引言前面一个章节讨论了信号采集与光纤传输模块和信号发送与接收模块的软件设计,并用Chipscope软件和Modelsim软件对各个模块进行了功能仿真,验证了各个模块的正确性。本章节将在信号处理板上对信号的发送与接收模块进行硬件调试,给出调试结果,并且将调试结果与Matlab仿真及Modelsim前仿结果进行对比,验证其正确性。5.2Matlab仿真实验5.2.1仿真参数设置本文中,用来扩频的扩频码采用31位伪码序列。发送端,设该扩频码序列code0为1,1,1,1,.1,1,l,.1,1,.1,.1,1,1,.1,.1,.1,.1,.1,1,1,1,.1,.1,1,.1,.1,.1,1,.1,1,一1,扩频码码元时宽为0.25I_ts,调制信号频率为30MHz。接收端ADC的采样率为24MHz,仿真时接收信号延时为0.41gs,噪声为高斯白噪声,信噪比为6dB。5.2.2发送端仿真待发送的信息是字符“I”,扩频前和扩频后码字信息如图5.1所示。从图5.1(a)可以得出发送的信息就是I的ASCII码所对应的8位二进制码,即“01001001”。扩频前每个码字的码元时宽为7.75us。图5.1(b)是扩频后波形。通过扩频后波形可以看出波形在时域被压缩,压缩的倍数就是扩频码的长度,这里倍数为31。10.8O.6n40.2釜o.0.2∞·4=0.6-0.8.110203040506001020∞405060时间舡时间,嶂(a)(b)图5.1扩频前与扩频后波形图5.2给出了序列扩频后经过2DPSK调制后,输出信号的时域波形图和频域波形图。43,∞¨"o舭“舶m一毯馨 5系统调试硕士学位论文扩频后的码元带宽是4MHz,调制信号频率为30MHz,从图5.2(b)可以看到频谱被搬移到了30MHz处,第一零点带宽为4MHz。tfh㈨.A▲▲^·。‘‘‘▲▲▲鼬,1213141b1b-40·0U·zU-qUUluZU且J4U3u时I目/US频率/MHz(a)(b)图5.2DPSK调制后的时域波形和频域波形图5.2.3接收端仿真图5.3给出了带通采样过后的频域波形图。从图5.3可以看出,经过AD采样(采样频率24MHz)后,接收信号的频谱中心频率从30MHz搬移到了6MHz。.8_6_4-20246810频率IMHz图5.3带通采样后信号频谱波形图图5.4(a)是低通滤波器输出信号时域波形图,图中可以看出滤波器输出信号有O.8us的延时,与上一章中讨论了滤波器有延时相符合。设计的低通滤波器的阶数为20,截止频率为4MHz。图5.4(b))是带通滤波器输出信号延时n后与带通滤波器输出信号相乘后经过低通滤波器输出信号的频域波形图。从图5.4中看出经过低通滤波器之后,信号能量主要汇集在4MHz频带内。蚴啪伽抛赵霉¨:宝¨ 硕士论文基于FPGA的通信信号处理的设计与实现U01U13ZUZ3JU一0七-4-ZUZ4b时间f∞频率M№(a)(b)图5.4低通滤波器输出信号时域和频域波形图图5.5给出了对相干解调后信号进行解扩处理的结果。匹配滤波法用的参考码字是31位m序列经过内插后的码字序列。从图中可以看出解扩的结果“01001001”正是字符I对应的ASCII码转换的8位二进制码。这与发送信息相同,可见成功的恢复了发送信息。5.3FPGA调试结果O1020304050时间』惦图5.5信号解扩处理结果将基于XC5VFX70TFPGA的信号处理板作为硬件调试平台,通过Chipscope仿真和示波器验证程序算法的正确性。5.3.1调试参数本次设计中,发送端待发送信息为字符为“I”,利用31位m序列作为扩频码进行扩频处理,m序列选择code0=“1111011010011000001110010001010”;调制信号频率为45¨o¨o世孽。叫端州Ii100i川讪舯惴1山小●Ⅲ⋯¨M川㈣州晰m蛳Y.㈣●Il-lji^ⅢI●●●●i二¨¨n_月jjj●I●仆越¨¨¨q.1lll●j镕i?I●础㈣W●m删∞加0∞魁孥 5系统调试硕士学位论文30M;接收端,AD采样率24M,接收模块处理时钟为48M。5.3.2发送端信号的仿真与调试结果图5.6给出了示波器对发送信号(sendout)的观察波形,图中该信号的相位发生了跳变。从图中可以看出发送信号(sendout)与matlab仿真图5.2(a)DPSK调制发送波形一致,从而验证了发送端设计的正确性。图5.6示波器对发送信号(sendout)的波形观察图5.3.3接收端信号的仿真与调试结果接收信号经过带通滤波器滤波的输出波形如图5.7所示,本图是由Modelsim软件进行的前仿结果。通过图5.7可以对示波器输出的结果进行对比验证。图5.7Modelsim对带通滤波的输出信号的前仿图图5.8所示的是示波器对带通滤波器输出信号的波形观察图。从图5.8可以看出通 硕士论文基于FPGA的通信信号处理的设计与实现过带通滤波器的信号不再光滑,但是仍然可以看出明显的相位跳变。图5.8通过与图5.7对比可以验证带通滤波器输出波形正确。图5.8示波器对带通滤波器输出信号的波形观察图由于信号在发送端经过了2DPSK调制,所以在接收端需要进行相干解调。具体的原理,流程及软件设计如前文所述。图5.9所示的是接收端经相干解调后输出信号的前仿图。图5.9接收端经相干解调后输出信号的前仿图图5.10所示的是示波器对接收端经相干解调后输出信号的波形观察图。接收端经过相干解调后的信号就是发送端将需要发送的信息经过二进制转换以及扩频后的信号。将图5.10与图5.9的前仿真结果图以及Matlab仿真图5.4(a)对比,可以得出此波形结果正确。47 5系统调试硕士学位论文图5.10示波器对相干解调后输出信号的波形观察图图5.11(a)是modelsim对整个系统的前仿图。从图5.11(a)得到判决信号(cfartarget)当高电平时判决为1,低电平时判决为O,图中显示了有8个高电平,与理论相符。恢复码字信号(cfarcode)显示的是经过判决后恢复的码字。可以看出恢复的码字是8位二进制码“01001001”9这与发送端发送的信息相同。由此可知,此接收端正确的恢复了发送端发送的信息。图5.11(b)所示的是chipscope对整个信号处理过程的仿真图,其中的判决结果及恢复码字均与图5.11(a)中对应信号一致,同样也验证了接收端设计的正确性。!ilt驰tVi.螂f妒“!¨1i!l幽j,藩口吕:X睦电之2i■}%参篓盆蔓gt·s奢耳j虱茸墨登.n昏睁融。匐啦eK龟每疋.jc誉苫!ftjj』≤·:j:。:i》:馁qq气q龟[1一;璧i48i:k寸。黼i孟lI蜥曲p融掩l潮嘟澍鞠礅图5.11(a)modelsim对整个系统的前仿图 硕士论文基于FPGA的通信信号处理的设计与实现国黼m.刚鼬删{㈣∞o㈣爝雌?i.I;|jj7.jji.:ii_:;_j.;:_Ijl:.誊__:_:___|i.j..;jiq‘目图5.11(b)chipscope对整个系统的仿真图字符“I”转换为8位二进制码为“01001001”。图5.12所示为示波器对接收端解扩输出的波形观察图。从图5.12中可以清晰地看到解扩后的结果,图中负脉冲表示‘0’;正脉冲表示‘1’。恢复的二进制码字为“01001001“这与发送端发送的的信息相同。图5.12与图5.11(a)中解扩结果也相同,由此可见解扩的结果正确,可知接收端的设计实现了恢复发送端码字的功能。图5.12所示为示波器对接收端解扩输出的波形观察图5.3.4资源消耗与优化建议对于一个FPGA设计来说,资源利用率是衡量设计是否合理的一项重要指标。从表5.1可以看到本设计的各项资源利用率。49
此文档下载收益归作者所有