一种基于FPGA的动态频谱分析系统及方法与流程

文档序号:16201571发布日期:2018-12-08 06:39阅读:358来源:国知局
一种基于FPGA的动态频谱分析系统及方法与流程

本发明涉及动态频谱采集与分析系统,尤其涉及一种基于fpga的动态频谱分析系统及方法。

背景技术

无线电频谱是一种重要而有限的自然资源,属于国家所有,由国家来进行无线电频谱管理和分配。作为各种无线电技术应用的基础和前提,无线电频谱资源在构建信息社会、推动经济社会发展和国防建设中发挥着不可替代的作用。然而,随着我国无线电事业的迅猛发展,无线电技术和业务在各大领域得到广泛应用,例如移动通信、交通调度等方面,使得国民经济各行业和各领域对于频谱资源的需求不断增长;移动互联网、物联网等新一代信息技术的发展也对频谱资源提出了新的需求;国防建设的用频需求也在快速增长。为了保障无线通信产业的健康持续发展,迫切需要推动频谱资源的有效利用。

由于现如今普遍采用静态频谱管理体质,导致留给新系统、新业务的可用频谱资源非常少;并且,根据美国联邦通信委员会fcc研究表明,频谱的使用情况是动态变化的,大部分时段和空间的频谱利用率非常低,所以构建以认知无线电技术为核心的动态频谱管理体制,可以从根本上缓解频谱资源紧张的局面。

现有技术中,jialiangzhang等人在学术文章《openmili:a60ghzsoftwareradioplatformwithareconfigurablephased-arrayantenna》指出,利用可编程相控阵天线、ad-fmcdaq2-ebz模块(由ad9680、ad9523和电源管理组件等组成)、xilinx的kcu105fpga开发板和上位机进行60ghz的无线信号收发通信以及高精度的定位。该方案使用了ad模块、rf射频模块等,其仅针对高频段60ghz的信号收发和使用上,目的是实现对高频空白频段的利用。

此外,dingwavenano(代号un)是全球体积最小的sdr平台,专为无线通信系统科研和教学实验而开发的一款高性价比的便携式软件无线电平台。在硬件上,un将adi公司的ad9361综合射频捷变收发器与xilinxzynq-7020可编程系统级芯片相结合,提供频段70mhz到6ghz范围内的2×2mimo传输路径。主要应用于教学实验,进行无线通信系统验证、移动通信教学实验、无人机无线通信链路等。该方案侧重点为实验教学,主要用于高校无线通信系统的验证,由于其用于教学,只是小范围内进行无线信号的收发,让学生有更为切实的概念感受,并未对接收到的频谱信号的进行进一步的分析,所以重点在于信号的收发而非空白频段的分析和使用。



技术实现要素:

本发明要解决的技术问题在于,针对现有技术的不足,提供一种能够对空间内的实时频谱数据进行采集、分析,得出未被占用或者使用率低的频段,进而提高频谱的利用率,有助于缓解频谱资源紧张局面的动态频谱分析系统及方法。

为解决上述技术问题,本发明采用如下技术方案。

一种基于fpga的动态频谱分析系统,其包括有:一数据采集器,用于采集空间内多个频段的环境频谱数据;一fpga处理器,连接于数据采集器,所述fpga处理器内预设有环境噪声阈值,所述fpga处理器用于接收数据采集器输出的环境频谱数据,并分析每个频段的环境频谱数据是否小于环境噪声阈值:若是,则得出当前频段空闲;若否,则得出当前频段繁忙。

优选地,所述数据采集器为ad9361射频捷变收发器,所述fpga处理器包括zynq-7020型芯片。

优选地,所述fpga处理器与数据采集器通过spi接口建立连接,并且所述fpga处理器通过spi接口向数据采集器的寄存器配置控制信息,所述数据采集器根据所述控制信息而获取需要进行信号采集的多个频段。

优选地,所述fpga处理器包括有:一fifo数据缓存模块,连接于数据采集器,所述fifo数据缓存模块用于对数据采集器输出的环境频谱数据进行缓存;一ddr2存储模块,连接于fifo数据缓存模块,所述ddr2存储模块用于当fifo数据缓存模块不空时,以先进先出方式将fifo数据缓存模块中缓存的环境频谱数据存储于该ddr2存储模块;一mfc处理模块,连接于ddr2存储模块,所述mfc处理模块用于通过fft算法将环境频谱数据由时域数据转换为频域数据,再利用cordic算法进行频谱分析后得出当前频段空闲或者繁忙;一vga显示模块,连接于mfc处理模块,所述vga显示模块用于显示当前频段的空闲或者繁忙状态。

优选地,所述mfc处理模块包括有:一中值滤波单元,连接于ddr2存储模块,所述中值滤波单元用于当mfc处理模块从ddr2存储模块中读取数据时,利用中值滤波算法滤除数据中的脉冲噪声;一fft变换单元,连接于中值滤波单元,所述fft变换单元用于根据fft算法将滤波后的数据由时域数据转换为频域数据;一复数求模单元,连接于fft变换单元,所述复数求模单元用于利用cordic算法对fft变换单元转换后的频域数据进行频谱分析。

一种基于fpga的动态频谱分析方法,该方法基于一系统实现,所述系统包括有一数据采集器及一fpga处理器,所述fpga处理器连接于数据采集器,所述fpga处理器内预设有环境噪声阈值,所述方法包括如下步骤:步骤s1,所述数据采集器采集空间内多个频段的环境频谱数据;步骤s2,所述fpga处理器接收数据采集器输出的环境频谱数据;步骤s3,所述fpga处理器分析每个频段的环境频谱数据是否小于环境噪声阈值:若是,则得出当前频段空闲;若否,则得出当前频段繁忙。

优选地,还包括控制信号写入步骤:所述fpga处理器通过spi接口向数据采集器的寄存器配置控制信息,所述数据采集器根据所述控制信息而获取需要进行信号采集的多个频段。

优选地,所述数据采集器以跳频的方式采集多个频段的环境频谱数据。

优选地,所述数据采集器的通信模式包括时分双工和频分双工,所述fpga处理器通过修改数据采集器的寄存器值来切换数据采集器的通信模式。

优选地,所述fpga处理器包括有依次连接的fifo数据缓存模块、ddr2存储模块、mfc处理模块和vga显示模块,所述步骤s3包括如下过程:步骤s30,所述fpga处理器接收环境频谱数据后,利用所述fifo数据缓存模块对数据采集器输出的环境频谱数据进行缓存;步骤s31,当fifo数据缓存模块不空时,所述ddr2存储模块以先进先出方式将fifo数据缓存模块中缓存的环境频谱数据存储于该ddr2存储模块;步骤s32,所述mfc处理模块通过fft算法将环境频谱数据由时域数据转换为频域数据,再利用cordic算法进行频谱分析后得出当前频段空闲或者繁忙;步骤s33,所述vga显示模块显示当前频段的空闲或者繁忙状态。

本发明公开的基于fpga的动态频谱分析系统中,先利用数据采集器采集多个频段的环境频谱数据,再由fpga处理器分析每个频段的环境频谱数据是否小于环境噪声阈值,进而分析得出当前频段空闲或繁忙。本发明通过对空间内的实时频谱数据进行采集、分析,得出未被占用或者使用率低的频段,进而提高频谱的利用率,有助于缓解频谱资源紧张的局面。此外,本发明充分利用了fpga简单易行的算法对信号进行处理,并根据环境噪声设置阈值,进而简单快速的判断频段的使用情况,有助于提高分析、处理速度。

附图说明

图1为本发明基于fpga的动态频谱分析系统的组成框图。

图2为fft变换单元的组成框图。

图3为复数求模单元的组成框图。

图4为数据采集器的时分双工和频分双工的使能状态示意图。

具体实施方式

下面结合附图和实施例对本发明作更加详细的描述。

本发明公开了一种基于fpga的动态频谱分析系统,请参照图1,其包括有:

一数据采集器1,用于采集空间内多个频段的环境频谱数据;

一fpga处理器2,连接于数据采集器1,所述fpga处理器2内预设有环境噪声阈值,所述fpga处理器2用于接收数据采集器1输出的环境频谱数据,并分析每个频段的环境频谱数据是否小于环境噪声阈值:

若是,则得出当前频段空闲;

若否,则得出当前频段繁忙。

上述动态频谱分析系统中,先利用数据采集器1采集多个频段的环境频谱数据,再由fpga处理器2分析每个频段的环境频谱数据是否小于环境噪声阈值,进而分析得出当前频段空闲或繁忙。本发明通过对空间内的实时频谱数据进行采集、分析,得出未被占用或者使用率低的频段,进而提高频谱的利用率,有助于缓解频谱资源紧张的局面。此外,本发明充分利用了fpga简单易行的算法对信号进行处理,并根据环境噪声设置阈值,进而简单快速的判断频段的使用情况,有助于提高分析、处理速度。

本实施例中,所述fpga处理器2内预设有环境噪声阈值,该环境噪声阈值是用户根据当前环境情况自行设定的,设定过程中,用户可以使用任意一种无线频谱接收设备,例如:使用ad9361射频捷变收发器连接pc机,检测并记录1个小时或更长时间的环境频谱情况,取该检测时间段内环境频谱的平均值,即可视为当前环境噪声阈值。

具体地,所述数据采集器1用于采集空间内从70mhz到6ghz中多个频段的环境频谱数据。

本实施例中,所述数据采集器1为ad9361射频捷变收发器,所述fpga处理器2包括zynq-7020型芯片。本实施例充分发挥了ad9361的功能,其采用调频技术完成频段内的扫频,为动态频谱分析创造条件。本发明优先使用adi公司的ad9361和xilinxzynq7020,但是在本发明的其他实施例中,所述数据采集器1还可以选用adi公司的其他同等通能的芯片,例如ad9364。

作为一种优选方式,所述fpga处理器2与数据采集器1通过spi接口建立连接,并且所述fpga处理器2通过spi接口向数据采集器1的寄存器配置控制信息,所述数据采集器1根据所述控制信息而获取需要进行信号采集的多个频段。

具体的通信设置包括:ad9361与fpga的接口分为数据接口和控制接口,芯片之间的数据交互通过12bit的dac/adc接口传输,支持6路差分(lvds)信号和12路单端(cmos)信号,i、q单路最大采样速率可达61.44mhz;fpga对ad9361的控制信息通过spi的控制接口进行传输,完成对射频前端寄存器的配置,控制ad9361接收频谱信号的中心频率、带宽、采样率、采样宽度等信息的改变,例如接收无线信号的中心频率从70mhz到6ghz,在低频部分以50mhz可改的步长进行跳转,直到1ghz,开始以500mhz(可更改)步长进行跳转,这样采集环境中18个中心频率不同的无线信号强度,通过这样一个跳频的扫频过程,获取环境频谱数据。

关于fpga部分,结合图1和图2所示,所述fpga处理器2包括有:一fifo数据缓存模块20、一ddr2存储模块21、一mfc处理模块22及一vga显示模块23,其中:

所述fifo数据缓存模块20连接于数据采集器1,所述fifo数据缓存模块20用于对数据采集器1输出的环境频谱数据进行缓存;

所述ddr2存储模块21连接于fifo数据缓存模块20,所述ddr2存储模块21用于当fifo数据缓存模块20不空时,以先进先出方式将fifo数据缓存模块20中缓存的环境频谱数据存储于该ddr2存储模块21;

所述mfc处理模块22连接于ddr2存储模块21,所述mfc处理模块22用于通过fft算法将环境频谱数据由时域数据转换为频域数据,再利用cordic算法进行频谱分析后得出当前频段空闲或者繁忙;

所述vga显示模块23连接于mfc处理模块22,所述vga显示模块用于显示当前频段的空闲或者繁忙状态。

上述fpga处理器中,异步fifo作为数据缓存被广泛应用于高速实时数据采集、不同时钟域之间的高性能数据传输以及多机处理等系统中,而xilnx的fifoip核为fifo的使用提供了便捷的方式。天线收集的无线频谱信号,ad9361集成了射频前段,以及adc和dac,所以可以自己在接收信号之后完成射频和中频处理,然后输出零中频的数据流。通过fifo作为数据缓存,调用fifoip核,配置20bits宽度,4096深度,可同时读写模式,将从ad9361送来的20bits数据(i、q两路各10bits)写入fifo。sdram控制模块在fifo不空的状态下,从fifo中读入数据然后写入ddr2sdram,完成对采集数据的存储。

本实施例中,所述mfc处理模块22包括有:一中值滤波单元220、一fft变换单元221及一复数求模单元222,其中:

所述中值滤波单元220连接于ddr2存储模块21,所述中值滤波单元220用于当mfc处理模块22从ddr2存储模块21中读取数据时,利用中值滤波算法滤除数据中的脉冲噪声;

所述fft变换单元221连接于中值滤波单元220,所述fft变换单元221用于根据fft算法将滤波后的数据由时域数据转换为频域数据;

所述复数求模单元222连接于fft变换单元221,所述复数求模单元222用于利用cordic算法对fft变换单元221转换后的频域数据进行频谱分析。

上述mfc处理模块22中,从环境中采集的无线频谱强度的数据,经过ad9361的基础滤波之后,仍然存在很大的环境噪声,空缺值和不一致等等问题。从数据进行判断频段是否被使用,还需要对采集的数据进行进一步的处理,在此采用mfc模块处理数据,该mfc处理模块22主要用于实现中值滤波去噪、fft运算从时域到频域变换、cordic算法复数求模三个步骤。

其中,所述复数求模单元222利用cordic算法进行频谱分析的具体过程,参见期刊《电子测量技术》第39卷第11期,刊登日期为2016年11月,名称为“基于fpga的频谱分析系统研究与实现”的文章。

具体的处理过程中,首先,在中值滤波单元220中,数据从sdram读出,在fpga进行数据的处理。由于采集到的信号存在脉冲噪声,首先选择用简单和容易在fpga实现的中值滤波对脉冲噪声进行滤除,中值滤波是基于排序统计理论的一种能够有效抑制噪声的非线性信号处理技术,中值滤波的基本原理是把数字序列中的一点的值用该点的一个邻域中各点值的中值代替,让周围的值接近真实值,从而消除孤立的噪声点,在此运用中值滤波,可以滤除脉冲噪声,并且保护好信号的边缘,使之不被模糊。

本实施例采用两位中值滤波输出:

g(x,y)=med{f(x-k,y-l),(k,l∈w)};

其中,f(x,y),g(x,y)分别为原始信号和处理后信号,x,y为中心点,w为设定的领域,k为x轴的移动范围,l为y轴的移动范围。

此外,med为median的缩写,意为取集合的中值(即:对集合中的元素,按数值由大到小排序,排序在中间的值,就是该集合的中值),在一维情况中,比如{1,3,5,0,6},排序后成为{0,1,3,5,6},那么3就是这个集合的中值,即:med{1,3,5,0,6}=3。

在基础的噪声处理之后,运用fft运算结合cordic运算来进行频谱分析,fpga的实时性、并行性和灵活性等优点,可以用于fft和cordic等算法的硬件实现。

其次,fft变换单元221是基于32位定点数据格式的4096点fft运算模块,将时域信号转化为频域信号。请参照图2,该模块由该fft运算模块由位倒序寻址单元2210、系统控制单元2211、蝶形运算单元2212、旋转因子表2213和运行缓存2214组成。其中,位倒序寻址单元2210通过将地址翻转实现“按时抽取”要求;系统控制单元2211的状态转移,实现系统接收复位之后的4096点信号数据,等待运算使能信号进行运算;蝶形运算单元2212是fft算法的核心,读取ram和rom数据,执行一次复数乘法和两次复数加法,并将结果重新保存到ram,消耗8个时钟周期;旋转因子表2213是两块4096x32bit的rom,用于存放旋转因子;运行缓存2214是两块4096x32bit的ram,用于存放fft运算模块的中间结果。该fft变换单元221中,clk信号为fft运算模块的时钟信号;rst用于复位该模块;sampen表示采样启动;datain为实信号数据;dataen表示实信号数据稳定,使能fft运算模块接收该数据;compen表示运算启动,用于使能fft运算模块工作;re是输出频谱数据的实部,im是频谱数据的虚部;addr是频谱中频率点序号;en表示上述3个输出数据有效;start脉冲标记频谱输出启动。

此外,复数求模单元222是基于cordic算法的复数求模模块,请参照图3,该复数求模单元222包括系统内包含有控制模块2220、运算模块2221、比较模块2222和存储模块2223。其中,控制模块2220用于实现输入数据的读取,在迭代过程中对各个模块的控制,以及最后结果的数据输出;存储模块2223用于保存输入输出数据,以及迭代过程中的各个阶段的数据点;运算模块2221用于实现数值右移和数值加法等运算功能;比较模块2222用于实现对|y|>ε是否成立的判断,以确定迭代是否继续。在该复数求模单元222中,clk为模块工作的时钟信号;rst为模块的复位信号;rp和ip分别是输入复数的实部和虚部;inen表示输入数据有效脉冲,使能模块计算输入复数的模;av表示复数的模量;outen脉冲表示运算完毕,输出的数据有效。

上式|y|>ε中,y为复数求模模块的输出值,ε为设定复数求模算法时,y应该达到的数值标准。

在实际的实验过程中,环境中的背景噪声电平为-80db,故设置-100db为阈值。将每一个频段处理之后的数据与该阈值进行对比,如果高于此数值,表示该频段繁忙;如果低于此阈值,表示当前环境此频段无人使用,通过vga对频段繁忙与否进行实时显示。

在此基础上,本发明还公开了一种基于fpga的动态频谱分析方法,结合图1至图3所示,该方法基于一系统实现,所述系统包括有一数据采集器1及一fpga处理器2,所述fpga处理器2连接于数据采集器1,所述fpga处理器2内预设有环境噪声阈值,所述方法包括如下步骤:

步骤s1,所述数据采集器1采集空间内多个频段的环境频谱数据;

步骤s2,所述fpga处理器2接收数据采集器1输出的环境频谱数据;

步骤s3,所述fpga处理器2分析每个频段的环境频谱数据是否小于环境噪声阈值:

若是,则得出当前频段空闲;

若否,则得出当前频段繁忙。

在执行所述步骤s1之前或者执行过程中,还包括控制信号写入步骤:

所述fpga处理器2通过spi接口向数据采集器1的寄存器配置控制信息,所述数据采集器1根据所述控制信息而获取需要进行信号采集的多个频段。具体地,所述数据采集器1以跳频的方式采集多个频段的环境频谱数据。

本实施例中,所述数据采集器1的通信模式包括时分双工tdd和频分双工fdd,所述fpga处理器2通过修改数据采集器1的寄存器值来切换数据采集器1的通信模式。请参照图4,数据采集器1(即ad9361收发器)包含有使能状态机,允许状态的实时切换,此处也是通过spi接口实时更改寄存器值来实现状态的实时切换。系统支持fdd与tdd两种通信模式,可以通过修改寄存器0x013的值来实现两种模式的切换,当0x013值为0时,系统进入tdd模式,值为1时进入fdd模式。

关于具体的运算、分析过程,所述fpga处理器2包括有依次连接的fifo数据缓存模块20、ddr2存储模块21、mfc处理模块22和vga显示模块23,所述步骤s3包括如下过程:

步骤s30,所述fpga处理器2接收环境频谱数据后,利用所述fifo数据缓存模块20对数据采集器1输出的环境频谱数据进行缓存;

步骤s31,当fifo数据缓存模块20不空时,所述ddr2存储模块21以先进先出方式将fifo数据缓存模块20中缓存的环境频谱数据存储于该ddr2存储模块21;

步骤s32,所述mfc处理模块22通过fft算法将环境频谱数据由时域数据转换为频域数据,再利用cordic算法进行频谱分析后得出当前频段空闲或者繁忙;

步骤s33,所述vga显示模块显示当前频段的空闲或者繁忙状态。

本发明公开的基于fpga的动态频谱分析系统及方法,利用天线和adi的ad9361芯片采用动态扫频的方式,接收70mhz到6ghz的环境无线频谱信号,使用xilinx的zynq-7020进行数据的预处理,对采集的频谱数据存在噪声、空缺值、不一致等问题进行算法处理,提高数据的质量,进一步针对实时频谱使用情况进行分析,得出空白或者低使用率的频段提供给用户可以将其进行利用,通过这种动态频谱分析的方法,来提高频谱的利用率,缓解频谱资源紧张的问题。

以上所述只是本发明较佳的实施例,并不用于限制本发明,凡在本发明的技术范围内所做的修改、等同替换或者改进等,均应包含在本发明所保护的范围内。

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