一种基于FPGA的无缝采集及实时频谱监测的实现方法
技术领域
本发明属于无线电监测技术领域,尤其涉及一种基于FPGA的无缝采集及实时频谱监测的实现方法。
背景技术
无线电监测需要监测无线环境中的频谱,以侦测已知和未知的信号,这些信号可能是间歇性的、持续时间较短,这就需要对短期内偶然出现的信号进行监测。
监测系统需要快速捕获、识别并尽可能定位远距离的非合作信号。因此我们需要一种低成本方案,可以在一定区域密集布置,形成网格化的监测。尽量靠近覆盖区域内发射机前端的接收机应该具备成本低、功耗低、体积小、适应复杂环境的特点,并可以满足基本监测功能要求,所完成的任务有别于传统的分析仪,其中的中频处理部分是提供后续分析数据和实现实时监测的关键。
现有产品中频处理部分基本采用纯模拟中频方案或基于FPGA+DSP的数字中频处理方案,其共同的缺点是体积功耗较大,实时性差,无时间信息,不适合小型化的频谱监测设备的要求。具体表现在:
成本高、体积大、不适应复杂环境:一些能满足实时频谱分析的仪器则采用FPGA和DSP来完成实时监测,FPGA进行抽取滤波,DSP进行快速傅立叶变换计算,这样的仪器体积大,成本较高,不合适在无人值守室外放置。。
带宽小和实时性差:一些体积较小、成本较低的仪器采用嵌入式CPU来实现快速傅立叶变换计算,远低于FPGA计算的速度。对于一些带宽较大、采样率较高的数据,嵌入式CPU则无能为力。CPU只能处理一些带宽较窄、采样率较低的信号,通常用在来实现分辨率较小测量情况下提高扫描速度的频谱分析仪中。
不灵活:一些固定点数的快速傅立叶变换计算在FPGA里面实现,因此只能通过改变采样率,来监测不同分辨率的信号,这样为了获得较高频率分辨率信号只能牺牲信号的时间分辨率。
无时间信息,对采集到的数据没有添加时间信息,不便于后续对这些数据的分析和处理。
发明内容
本发明的目的就是针对现有无线电监测所产品由于中频处理方案的不同存在成本高、体积大、不适应复杂环境、灵活性低的不足,根据小型化的无线电监测特点采用一片低成本的FPGA来实现数字中频的处理,提出了一种基于FPGA的无缝采集及实时频谱监测的实现方法。
本发明采用如下技术方案:
一种基于FPGA的无缝采集及实时频谱监测的实现方法,包括:
步骤1:中频数据经过带通的抗混叠滤波器滤波、A/D采样,通过低压差分信号传给FPGA;
步骤2:FPGA根据GPS模块提供的秒脉冲和125MHz的时钟为所述中频数据打上精确地时间戳;
步骤3:所述中频数据经过数字下变频之后,变成正交的I/Q两路信号,所述I/Q数据经过低通抽取滤波器的抽取和滤波,得到可变带宽、可变采样率的I/Q数据;
步骤4:所述步骤3得到的I/Q数据存储在第三代双倍数据率同步动态随机存取存储器中,或者经可变点的快速傅立叶变换得到频谱数据后再送到第三代双倍数据率同步动态随机存取存储器中。
优选地,所述GPS提供的秒脉冲和125MHz的时钟为所述中频数据打上精度为8ns的时间戳。
优选地,所述低通抽取滤波器由5级积分梳状滤波器滤波器、4级半带滤波器、1级有限冲激响应滤波器组成。
优选地,所述FPGA实现可变点的快速傅立叶变换的时间小于数据采集的时间。
优选地,在所述第三代双倍数据率同步动态随机存取存储器存储前采用一级先入先出存储器进行数据暂存和位宽转换实现跨时钟域的数据转换;在所述第三代双倍数据率同步动态随机存取存储器读取后采用两级先入先出存储器进行位宽转换和数据存储满足与CPU的数据交换。
优选地,所述积分梳状滤波器可以实现8-2048倍的抽取,四级半带滤波器实现2-16倍的抽取,有限冲激响应滤波器在用于对通带的补偿和增加对阻带的衰减的同时还能实现2倍抽取。
优选地,在所述FPGA里面实现可变点的快速傅立叶变换,然后利用坐标旋转数字计算算法得到了各个频率点的幅度信息。
本发明具有以下有益效果:
1、FPGA能够利用GPS提供的信号为数据打上精确的时间戳,便于后续对数据进行分析、处理、应用;
2、FPGA实现了抽取滤波和快速傅立叶变换计算,在节约成本、减小体积的同时,还能满足无线电实时监测的需求。
3、可变采样率和可变点快速傅立叶变换,可以灵活的调整采样率或者快速傅立叶变换点数满足对不同分辨率带宽信号的监测。
4、在FPGA里面实现快速傅立叶变换的计算速度远高于嵌入式CPU的速度,可以满足大带宽数据的实时计算。
附图说明
图1为基于FPGA实现无缝采集和实时监测的结构示意图;
图2为抽取滤波器的组成结构示意图;
图3为快速傅立叶变换实现的结构示意图。
具体实施方式
下面结合附图和具体实施例对本发明的具体实施方式做进一步说明:
专用名词介绍:
FPGA:现场可编程门阵列,DSP:数字信号处理器。
如图1所示,一种基于FPGA的无缝采集及实时频谱监测的实现方法,包括:
中频数据经过带通的抗混叠滤波器滤波、A/D采样,通过低压差分信号传给FPGA,并在FPGA内部实现100Ω的阻抗匹配,有效提高中频信号的信噪比。
A/D的采样速率应满足带通采样定理,采样速率应大于等于中频信号带宽的两倍:fs>=2B,并且满足fs=(4f0)/(2n+1),其中fs为采样速率、B为中频信号的带宽、f0为中频频率。
所述中频数据经过数字下变频之后,将数字中频下变频到零中频(基带信号),得到正交的I/Q数据,以方便后续的基带信号处理。
数字下变频(DDC)主要由正交变换和低通抽取滤波器组成,中频数据与数控振荡器产生的两路正交的本振信号相乘,形成与原信号相位相同和正交的两路信号,经过低通滤波得后到零中频信号(基带信号)。经A/D采样后中频信号可表示为:f[n]=A(n)cos[ω0nTS+φ0](其中ω0=2πf0/fs)与数控振荡器(NCO)产生的cos(ω0nTS)、sin(ω0nTS)分别混频得到 然后经过低通滤波去掉高频部分得到 为了得到零中频信号,数控振荡器产生与中频信号频率相同、初相为零的正交数字本振信号。低通滤波器由积分梳状滤波器、半带滤波器、有限冲激响应滤波器组成。
为满足不同带宽的测试需求,所述I/Q数据经过低通抽取滤波器的抽取和滤波,降低信号的采样频率和改变信号的带宽,实现了20MHz数字中频可变带宽可变速率I/Q数据。
所述最终得到的I/Q数据为了满足不同测量条件的需求,可以存储在第三代双倍数据率同步动态随机存取存储器中,或者经可变点的快速傅立叶变换得到频谱数据后送到第三代双倍数据率同步动态随机存取存储器中。嵌入式CPU的速度约为20MB/s,考虑到操作系统的其它占用,嵌入式CPU的读取速度更低,以此速度来配合I/Q数据(28MHz乘以64bit,约为224MB/s)和频谱数据(28MHz乘以32bit,约为112MB/s,重叠模式下为224MB/s)远不能满足要求,同时网络的传输速度有很大的不确定性,因此必须将得到的数据缓存起来,这里采用第三代双倍数据率同步动态随机存取存储器,然后再由CPU读取。
所述GPS提供的秒脉冲和125MHz的时钟为所述中频数据打上精度为8ns的时间戳。
如图2所示,所述低通抽取滤波器由5级积分梳状滤波器,4级半带滤波器、1级有限冲激响应滤波器组成,单级积分梳状滤波器第一旁瓣电平相对于主瓣电平差值几乎是固定的13.46dB,显然这么小的阻带衰减是不能够满足滤波需求,因此对积分梳状滤波器进行级联,采用5级积分梳状滤波器级联,旁瓣衰减降为67.3dB,增加积分梳状滤波器的级联数目虽解决了旁瓣衰减的问题,但是通带内的衰减也明显增加,需要对信号的增益进行调整。半带滤波器组采用4级级联组成,每一级半带滤波器可实现2倍抽取,有限冲激响应滤波器用于对通带的补偿和增加对阻带的衰减同时还可以实现2倍抽取。具体的滤波方案为:实现2倍抽取时,采用有限冲激响应滤波器;实现4倍抽取时,采用第一级的半带滤波器和有限冲激响应滤波器;实现8倍抽取时,采用第一、二级的半带滤波器和有限冲激响应滤波器;实现16倍抽取时,采用第一、二、三级的半带滤波器和有限冲激响应滤波器;实现32倍抽取时,采用全部的半带滤波器和有限冲激响应滤波器;实现64倍抽取时,采用积分梳状滤波器、第一、二级半带滤波器和有限冲激响应滤波器;实现128倍抽取时,采用积分梳状、第一、二、三级半带滤波器和有限冲激响应滤波器;实现大于等于1256倍抽取时,采用积分梳状滤波器、全部半带滤波器和有限冲激响应滤波器,通过调整积分梳状的抽取倍数来改变整体的抽取倍数。
所述FPGA实现可变点的快速傅立叶变换的时间小于数据采集的时间。
在所述第三代双倍数据率同步动态随机存取存储器存储前采用一级先入先出存储器进行数据暂存和位宽转换实现跨时钟域的数据转换;在所述第三代双倍数据率同步动态随机存取存储器读取后采用两级先入先出存储器进行位宽转换和数据存储满足与嵌入式CPU的数据交换。
所述积分梳状滤波器可以实现8-2048倍的抽取,四级半带滤波器实现2-16倍的抽取,限冲激响应滤波器在用于对通带的补偿和增加对阻带的衰减的同时还能实现2倍抽取。
如图3所示,在所述FPGA里面实现可变点的快速傅立叶变换,然后利用坐标旋转数字计算算法得到了各个频率点的幅度信息。经过抽取滤波的后数据经快速傅立叶变换得到频谱数据,为了满足无缝采集和实时性的监测,快速傅立叶变换所需要的时间须小于采集到所要参与快速傅立叶变换的数据的时间。在20MHz带宽条件下,采样速率达到了56MHz,经过有限冲激响应抽取、滤波之后采样率变为28MHz,快速傅立叶变换采用XILINX提供的Fast FourierTransform IP CORE,实现8点到16384点基于2N可变点的快速傅立叶变换,200MHz时钟频率计算16384点需要246.625us,低于采集数据所要的时间585.14us,其他点数也同样满足这个条件,当采样速率低于28MHz,更能够满足这个条件,这样就在无缝采集的情况下能够实时进行快速傅立叶变换从而实现无缝的监测。数据在做快速傅立叶变换之前添加一级FIFO实现跨采样与快速傅里叶变换处理时钟域的数据交换,快速傅立叶变换需要对数据进行加窗处理,这里采用Gausstop、hann、Flattop三种可选的窗,窗函数可以改变频谱泄露的情况,但是需要对数据做重叠处理来补偿边缘处对数据的衰减,本发明采用50%数据的重叠的处理。根据点数的不同,对快速傅立叶变换输出数据进行截断,使用双口RAM将快速傅立叶变换输出的数据倒序拼接后存储,然后利用Cordic算法算出幅度信息。整个过程是一个流水化的过程,在保证快速傅立叶变换运算速度的情况下,采集与监测过程可以实时连续的进行。
当然,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。