一种基于FPGA实现的高效多普勒滤波器组的制作方法

文档序号:16661290发布日期:2019-01-18 22:58阅读:351来源:国知局
一种基于FPGA实现的高效多普勒滤波器组的制作方法

本发明属于雷达技术领域,涉及多普勒滤波器组的fpga硬件平台高效实现,具体为一种基于fpga实现的高效多普勒滤波器组。



背景技术:

雷达信号处理系统是雷达系统的重要组成部分,随着雷达技术和微电子技术的飞速发展,雷达信号处理正向着通用化、系统化和模块化的方向发展;fpga因灵活性强、处理速度快、可靠性强等优点在雷达信号处理系统中被广泛应用。

动目标检测技术是雷达信号处理系统中的关键技术之一,基本原理是应用电磁波的多普勒效应;多普勒效应指当发射源和接收者之间有相对径向运动时,接收到的信号频率将发生变化,即多普勒频移。多普勒滤波器组是动目标检测技术中的核心部分,现有的实现方式通常有两种:一种是fir横向数字滤波器,这种滤波器运算量大,所以需要对乘法器资源进行复用,结构复杂,实现困难,且当所需滤波器数量增多时,硬件电路的面积增大,进而产生较大的功耗;另一种是fft滤波器组实现方式,这种方式相对fir数字滤波器方式在运算量上显著减少,但传统fft实现方式为串行结构,该串行结构只调用一个存储模块用于存储相参信号,控制一个地址控制字按照慢时域寻址方式将信号依次取出,之后fft的计算也为串行fft,结构简单,但数据处理所用时间长,影响了雷达侦察处理的实时性。



技术实现要素:

本发明的目的在于针对上述问题,提出了一种基于fpga实现的高效多普勒滤波器组;本发明将传统结构中调用的存储模块合理拆分成n块,每块存储模块的深度为原来的1/n,然后通过正确引入地址控制模块,同时控制n个地址控制字,将数据以n倍的速率读出,后续fft处理通过串/并混合fft结构实现,进而实现多普勒滤波器组的高效并行结构;在硬件存储资源的消耗和传统串行结构一致的情况下,将多普勒滤波器组计算时间缩短了n倍,显著提高了多普勒滤波器组处理效率,高效完成了多普勒滤波器组的功能,满足了雷达侦察实时性要求。

为实现上述目的,本发明采用的技术方案为:

一种基于fpga实现的高效多普勒滤波器组,包括存储模块、串并混和fft模块、模值计算模块、最大值地址寻址模块及地址控制模块;其特征在于,所述存储模块由n个ram核构成,n满足:t为正整数、m为脉冲相参累积数,脉冲雷达信号以指针式存储方式存入n个ram核中;所述地址控制模块控制存储模块中n个ram核并行读取,由所述串并混和fft模块对读取数据进行fft变换后,再由所述模值计算模块及最大值地址寻址模块计算得到读取数据中的模值最大值所在的位置,作为输出。

进一步的,所述地址控制模块控制存储模块中n个ram核并行读取的具体过程为:每个ram核中,按照地址位顺序依次读取数据,所述地址位顺序由如下步骤确定:

步骤a.初始化更新参数addr_int=0;

步骤b.设定地址位addr:addr=addr_int、地址位以脉冲长度l为增量依次增加至addr=(t-1)l+addr_int时,更新地址位addr:addr=addr_int+1;

步骤c.若更新后地址位addr=l、则读取结束,否则、进入步骤d;

步骤d.更新addr_int:addr_int=addr_int+1,并跳至步骤b。

进一步的,所述串并混和fft模块的计算表达式为:

式中,n=m/t,dft[·]表示傅里叶变换。

进一步的,所述脉冲相参累积数m为2的幂次方。

本发明的有益效果在于:

本发明提供了一种基于fpga实现的高效多普勒滤波器组;该滤波器组结构以多普勒滤波器组fft实现方法为基础,搭载fpga硬件平台,将传统的一个存储模块等分成n个小存储模块,采用指针式储存方法将相参累积信号进行存储后,再合理引入地址位控制模块控制上述n个小存储块同时进行读操作,将传统多普勒滤波器组串行读取方式转成并行读取方式,并结合了串/并混合fft结构,完成了多普勒滤波器组高效并行结构的实现。在存储资源使用不变的情况下,将实现多普勒滤波器组的时间缩短了n倍,同时采用串/并混合fft结构,也一定程度上减少了乘法器的使用。综上所述,本发明在多普勒滤波器组工程实现背景下,基于提高整个信号处理的实时性、节约硬件资源的思想,通过引入新的存取方式,并结合串/并混合fft结构实现方法,高效实现了多普勒滤波器组的功能。

附图说明

图1基于fft多普勒滤波器组传统实现结构图。

图2为本发明的fpga实现结构图。

图3本发明的fft实现结构图。

图4为本发明的fft蝶形结构图。

图5为本发明matlab仿真结果图。

图6为本发明fpga实现结果图。

具体实施方式

下面结合附图和实施例对本发明作进一步详细的说明。

本发明提出一种多普勒滤波器组的fpga高效实现结构,其结构原理如图2所示;本实施例中主要是基于fpga硬件平台实现,在vivado2015.2平台和matlabr2010b平台上已得到联合验证;具体过程包括以下步骤:

步骤1.将接收机接收到的中频回波信号通过相干检波器后进行高速采样,然后通过杂波滤波器及下变频等一系列处理后的信号输入到多普勒滤波器组,即图2中的x(n);

步骤2.将x(n)以指针式存储方式存入n个ram核中,即在第一个ram核存储完毕后,再把接下来的信号存入第二个ram核,以此类推,直到最后一个ram核存储完毕后,进行步骤3;

步骤3.并行控制ram核读取地址,假设每个脉冲的长度为l个点,一共相参累积了m个脉冲信号;为了便于后续fft的处理,m选取为2的幂次方,一共调用n个ram核,n的选取保证m与n的比值为一个正整数t(即为每个ram核存储的脉冲相参累积数),则每个ram核的深度为lt;所有ram核的初始地址位为addr=0,地址位以l为增量依次增加,当地址位增加到addr=(t-1)l-1时,完成第一次读取;将地址位重置为addr=1,地址位以l为增量依次增加,当地址位增加到addr=(t-1)l时,完成第二次读取;将地址位重置为addr=2,地址位以l为增量依次增加,当地址位增加到addr=(t-1)l+1时,完成第三次读取;以此类推,当最后一次地址位重置为addr=l-1,地址位以l为增量依次增加,地址位增加到addr=tl-1时,完成最后一次读取;

每完成一次读取,实际上读出m个数据,分t个时钟完成,每个时钟读出n个数据;该高效结构通过将传统的一个存储块等划分成n个小存储块,合理引入地址位控制模块控制上述n个小存储块同时进行读操作,将传统多普勒滤波器组串行读取方式转成并行读取方式;结合后续的串/并混合fft实现方式,实现了多普勒滤波器组的高效并行结构,将传统多普勒滤波器组计算时间缩短了n倍,进而提高了信号处理的实时性;

步骤4.当数据开始正常读取后,需要对m点数据进行fft计算,由于m点数据的读取需要t个时钟;为了提高效率,节省资源,采用串/并混合fft结构,其计算表达式:

式中,n=m/t,dft[·]表示傅里叶变换;

由上式可知,一个m点fft可以分成t点fft再加上后面n点蝶形运算单元实现,该n点蝶形单元采用基-2进行搭建实现;在每个时钟改变蝶形单元的旋转因子,从而对蝶形结构进行复用,减少硬件资源消耗,在t个时钟内完成m点的fft运算,与读取的速率保持一致;如图4所示为n=8时的蝶形结构示意图,其中0≤r≤t-1,当n等于其它值时,可按照此结构进行类推;

步骤5.将步骤4中计算出来的fft值进行求模运算,以每一次读取完成的数据为周期,即m个点,找出每m个点中的最大值所在的位置并记录;

步骤6.将步骤5最后得到的串行数据用于脉冲多普勒频率fd的计算,最后的串行数据共l个点,通过判断连续相等的值是否超过信号长度的一半来确定是否记录这段连续相等的值;若是,假设记录下的值为y,雷达的脉冲重复频率为prf,则y=fdm/prf+1,y即代表信号将从第y个滤波器输出;y必须是1~m之间的整数,最后计算出的y应四舍五入取整,最后通过y的值反推出多普勒频率fd的值,由多普勒滤波器组原理可知,fd是一个范围,当相参累积的pri个数越多时,fd的值越精确。

更进一步的,具体仿真过程如下:

步骤1.将接收机接收到的中频回波信号通过相干检波器后进行高速采样,然后通过杂波滤波器及下变频等一系列处理后的信号输入到多普勒滤波器组,即图2中的x(n);

该方法用于仿真验证的参数设置如下:假设经过步骤1处理后的x(n)为单频脉冲信号其中n(t)为高斯白噪声;设置参数为:信噪比snr=5db、多普勒频移fd=20khz、脉冲宽度tp=0.25μs、脉冲重复频率pri=2.0us、脉冲累积个数m=128、fpga时钟频率fclk=200mhz、时钟周期tclk=5ns。即一个pri一共400点数据,其中第200到250个点信号数据,其余的350个点为白噪声;

步骤2.合理地将原来的大存储块分为n个小存储块,本仿真一共分为n=16个,配置好ram核所需要的深度,深度h=lm/n,即一共累积的pri的个数与每个pri点数的乘积后与n的比值;当信号x(n)到来时开始将其依次存入ram0到ram15,即ram0存满后,存入ram1,以此类推,直到ram15存满;

步骤3.并行控制ram核读取地址,所有ram核的初始地址位为addr=0,地址位以400为增量依次增加,当地址位增加到addr=(t-1)l-1=2799时,完成第一次读取;将地址位重置为addr=1,地址位以400为增量依次增加,当地址位增加到addr=(t-1)l=2800时,完成第二次读取;将地址位重置为addr=2,地址位以400为增量依次增加,当地址位增加到addr=(t-1)l+1=2801时,完成第三次读取;以此类推,当最后一次地址位重置为addr=l-1=399,地址位以400为增量依次增加,地址位增加到addr=tl-1=3199时,完成最后一次读取;每完成一次读取,实际上读出128个数据,分8个时钟完成,每个时钟读出16个数据;

步骤4.当数据按照地址控制方式正确读取后,输出n=16路并行数据;此16路并行数据首先通过8点fft的ip核进行输出,共需要16个8点fft的ip核进行计算,在8点fft的ip核计算输出后进入16点的基-2蝶形运算;每个时钟控制改变蝶形结构旋转因子,在8个时钟后可完成128点fft的运算,使得fft运算速率与数据读出速率一致,从而在提高整个结构效率的基础上使得硬件资源利用率最优;

步骤5.将步骤4计算出来的值求模值,由前面数据分析易得,每次fft计算后会有16个点,完成一次128点的fft实际上共需要8次;找出8次fft后的128个点取模后的最大值并记录其位置addr,其中addr为1到128的整数,在完成整个计算后,addr共有400个数据,通过判断addr中连续相等的值来计算多普勒频率,通过如图6所示的fpga实现后的结果观察,结果符合理论结果;

步骤6.将步骤1的x(n)作为输入信号写入fpga的测试文件中,分别按照上述要求写好地址控制模块、分级fft模块和调用相应ip核;在vivado2015.2平台上,给予200mhz的时钟信号,仿真测试得到计算结果;

步骤7.将步骤6用fpga实现方式计算出来的结果生成文本文件,在matlabr2010b平台上将文本文件的数据读出,再与matlab仿真结果对比;matlab仿真结果如图5所示,fpga实现结果如图6所示,两者结果相符。

由以上结果可知,本发明能够在fpga硬件平台上,通过合理的将大存储块分为16个小存储块,并正确引入地址控制模块及串/并混合fft实现结构,高效完成了多普勒滤波器组的功能;从存储完毕开始计算,传统结构完成处理一共需耗时51200个时钟,该结构共用时3200个时钟,实现了多普勒滤波器组的高效并行结构,在存储资源一致的情况下,将多普勒滤波器组的计算时间缩短了16倍,提高了信号处理的实时性,高效完成了多普勒滤波器组的功能。

以上所述,仅为本发明的具体实施方式,本说明书中所公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换;所公开的所有特征、或所有方法或过程中的步骤,除了互相排斥的特征或步骤以外,均可以任何方式组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1