一种脉冲星信号消干扰装置、系统和方法与流程

文档序号:21087294发布日期:2020-06-12 16:58阅读:250来源:国知局
一种脉冲星信号消干扰装置、系统和方法与流程

本发明涉及脉冲星信号处理领域,尤其涉及一种脉冲星信号消干扰装置、系统和方法。



背景技术:

脉冲星是一种快速自转的中子星,20世纪天文学的四大发现之一。脉冲星具有非常高的密度和稳定的周期,它在绕自身旋转轴高速旋转的同时,电磁波沿磁极方向向外发射,当电磁波扫过地球时,地球上的射电望远镜会接收到周期性的脉冲信号。

脉冲星信号极其微弱,为了观测到清晰可见的脉冲轮廓需要使用高灵敏度的观测设备。由于射电望远镜灵敏度高、信号收集能力强,在接收到脉冲星信号的同时人类的通信活动和日常生活产生的干扰信号(radiofrequencyinterference,rfi)也被接收。这些rfi会降低观测数据质量甚至导致数据无效,将严重影响科学研究结果的准确性与有效性。rfi处理技术可以有效提高天文观测的灵敏度,提升观测系统的脉冲星识别和检测能力。近年来rfi环境走向越来越复杂的趋势,相关技术遇到极大挑战。现有的rfi处理技术具有如下缺陷:

(1)观测设备性能的提升迅速扩大了射电天文可观测天体信号的频率范围,随着观测带宽的不断增加,分辨率也越来越高,产生的数据量非常庞大,现有的rfi处理技术无法快速实时的处理海量脉冲星数据。例如,超宽带接收机、多波束接收机及paf接收机等世界前沿的观测设备产生的数据量非常巨大,通常是tb量级的,这种大数据的实时干扰消除对rfi处理算法和相关技术提出了前所未有的挑战。

(2)现有技术的复杂强干扰抑制性能较差,例如4g信号、tv信号等rfi经常跟脉冲星信号混到一起,比较难以处理,现有的rfi消除方法总是产生数据带宽的损失或部分脉冲星数据的丢失,降低脉冲星信号信噪比及观测设备灵敏度,无法给科学家提供高质量的脉冲星观测数据。

(3)现有的消干扰技术都是非在线处理方式,首先把脉冲星数据记录磁盘,一般采用fits或filterbank格式,然后读取数据消除rfi,最后进行数据的后处理。这样的rfi处理方法运算效率相对较低,耗费时间更长,无法满足高速实时的脉冲星搜索需求,并且系统功耗及造价迅速上升。

因此,研发高速、实时的rfi处理系统和方法对脉冲星搜寻、观测和科学研究至关重要。



技术实现要素:

(一)要解决的技术问题

本发明的主要目的在于提出一种脉冲星信号消干扰装置、系统和方法,以解决脉冲星信号消干扰过程中数据处理能力低、实时性差、成本高的问题。

(二)技术方案

为了达到上述目的,本发明第一方面实施例提供了一种脉冲星信号消干扰装置,该装置包括fpga模块、cpu模块和gpu模块,其中:

fpga模块,用于对脉冲星信号进行采样和预处理,将得到的脉冲星数字信号传输至cpu模块;

cpu模块,用于对接收自fpga模块的脉冲星数字信号进行存储和转发,将该脉冲星数字信号传输至gpu模块;

gpu模块,用于对接收自gpu模块的脉冲星数字信号进行滤波和数据后处理,消除脉冲星信号中的干扰信号。

上述方案中,fpga模块对脉冲星信号进行采样和预处理,包括:

fpga模块对脉冲星信号进行采样得到离散的脉冲星模拟信号,对该离散的脉冲星模拟信号进行预处理得到脉冲星数字信号,接着将该脉冲星数字信号以udp数据包形式传输至cpu模块。

上述方案中,cpu模块还包括cpu环形缓冲区,所述cpu环形缓冲区为一个固定尺寸、头尾相连的缓冲区,cpu环形缓冲区对接收自fpga模块的以udp数据包形式的脉冲星数字信号进行缓存。

上述方案中,gpu模块对接收自gpu模块的脉冲星数字信号进行滤波和数据后处理,消除脉冲星信号中的干扰信号,包括:

gpu模块对接收自cpu模块的脉冲星数字信号采用中值滤波算法进行滤波,消除脉冲星数字信号中的脉冲干扰,然后将滤波后的脉冲星数字信号传输至gpu环形缓冲区并缓存;

gpu模块读取gpu环形缓冲区数据进行数据后处理。

其中,gpu模块对接收自cpu模块的脉冲星数字信号采用中值滤波算法进行滤波,消除脉冲星数字信号中的脉冲干扰,然后将滤波后的脉冲星数字信号传输至gpu环形缓冲区并缓存的过程中,gpu模块对接收自cpu模块的脉冲星数字信号基于多线程并行计算实现中值滤波,线程数为:

线程数=samples×n

其中,n为滑动窗口长度,samples为采样点数。

其中,gpu模块读取gpu环形缓冲区数据进行数据后处理,包括:

gpu模块对gpu环形缓冲区数据进行消色散和折叠操作,得到消除干扰信号的脉冲星信号。

其中,gpu模块对接收自cpu模块的脉冲星数字信号采用中值滤波算法进行滤波,消除脉冲星数字信号中的脉冲干扰,然后将滤波后的脉冲星数字信号传输至gpu环形缓冲区并缓存的过程中,滤波后的数字信号被传输至gpu环形缓冲区前还包括:对滤波后的数字信号进行射频干扰消除,具体包括:

滤波后的数字信号基于快速傅里叶变换由基带信号分成多个窄带通道信号;

对窄带通道信号进行自适应快速傅里叶变换消除,然后将处理后的窄带通道信号通过逆快速傅里叶变换恢复原来的信号带宽。

其中,对滤波后的数字信号进行射频干扰消除采用cpu模块和gpu模块协同完成:

cpu模块,用于进行逻辑控制,启动gpu模块的kernel函数及cpu模块和gpu模块之间数据交换;

gpu模块,用于进行并行的数据处理,对滤波后的数字信号进行自适应快速傅里叶变换和逆快速傅里叶变换操作。

为了达到上述目的,本发明第二方面实施例提供了一种脉冲星信号消干扰系统,该系统包脉冲星信号消干扰装置和cuda,其中,

脉冲星信号消干扰装置,用于消除脉冲星信号中的干扰信号;

cuda,用于为gpu模块基于多线程并行计算提供并行计算架构。

为了达到上述目的,本发明第三方面实施例提供了一种脉冲星信号消干扰方法,应用于上述第一方面实施例所述的脉冲星信号消干扰装置,该方法包括:

fpga模块对脉冲星信号进行采样和预处理,得到脉冲星数字信号并传输至cpu模块;

cpu模块对接收的脉冲星数字信号进行存储和转发,将该脉冲星数字信号转发入gpu模块中;以及

模块对接收的脉冲星数字信号进行滤波和数据后处理,消除脉冲星信号中的干扰信号。

上述方案中,fpga模块对脉冲星信号进行采样和预处理,包括:

fpga模块对脉冲星信号进行采样得到离散的脉冲星模拟信号,对该离散的脉冲星模拟信号进行预处理得到脉冲星数字信号,接着将该脉冲星数字信号以udp数据包形式传输至cpu模块。

上述方案中,cpu模块对接收的数字信号进行存储和转发,包括:

模块中的cpu环形缓冲区对接收自fpga模块的以udp数据包形式的脉冲星数字信号进行缓存。

其中,gpu模块对接收的数字信号进行滤波和数据后处理包括:

gpu模块对接收自cpu模块的脉冲星数字信号采用中值滤波算法进行滤波,消除脉冲星数字信号中的脉冲干扰,然后将滤波后的脉冲星数字信号传输至gpu环形缓冲区并缓存;

gpu模块读取gpu环形缓冲区数据进行数据后处理。

(三)有益效果

1、本发明提供的脉冲星信号消干扰装置采用fpga模块进行采样及预处理,采用并行处理能力强的gpu模块,对gpu模块传入的数字信号进行滤波和数据后处理,充分发挥了fpga和gpu计算平台的优势,同时在cpu模块中设计共享内存环形缓冲区,实现了异构平台的高速数据传输和处理,优化cpu、gpu和fpga平台的多任务分配,提高了rfi消除算法的灵活性及可扩展性,使得本发明提出的脉冲星信号消干扰装置具有强大的数据处理能力,通过在线处理方式,直接对基带数据进行rfi消除,为数据后处理提供可靠的脉冲星数据。

2、本发明提供的脉冲星信号消干扰装置采用gpu模块作为数据处理的核心,实现了多线程任务分配、管理及通信,高效利用gpu模块的全局内存、共享内存、常量内存及寄存器,提高了gpu资源利用率,进而减少了计算时间;实现了多任务并行处理,大幅提升了脉冲星信号rfi处理计算性能,提高了处理速度,达到了海量数据的实时rfi处理需求,同时减少了数据存储量,降低了系统成本,有效解决比较复杂的脉冲星信号rfi处理问题,rfi消除过程中不会导致信号带宽损失或脉冲星数据的丢失,很大提高脉冲星信号信噪比及脉冲星检测能力。

附图说明

图1为本发明实施例提供的脉冲星信号消干扰装置总体结构示意图;

图2为本发明实施例提供的脉冲星信号消干扰装置中gpu模块进行中值滤波并行计算的线程块和线程的布局示意图;

图3为本发明实施例提供的脉冲星信号消干扰装置中自适应滤波器的cuda实现流程图;

图4为本发明实施例提供的脉冲星信号消干扰装置中进行rfi消除之前的频谱图;

图5为本发明实施例提供的脉冲星信号消干扰装置中进行rfi消除之后的频谱图;

图6为本发明实施例提供的脉冲星信号消干扰装置中多通道信号的rfi处理前的示意图;

图7为本发明实施例提供的脉冲星信号消干扰装置中多通道信号的rfi处理后的示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。

本发明的第一方面实施例提供一种脉冲星信号消干扰装置,如图1所示,图1为本发明实施例提供的脉冲星信号消干扰装置总体结构示意图,该装置包括fpga模块、cpu模块和gpu模块,其中:

fpga模块,用于对脉冲星信号进行采样和预处理,将得到的脉冲星数字信号传输至cpu模块;

cpu模块,用于对接收自fpga模块的脉冲星数字信号进行存储和转发,将该脉冲星数字信号传输至gpu模块;

gpu模块,用于对接收自gpu模块的脉冲星数字信号进行滤波和数据后处理,消除脉冲星信号中的干扰信号。

具体的,fpga模块对脉冲星信号进行采样得到离散的脉冲星模拟信号,对该离散的脉冲星模拟信号进行预处理得到脉冲星数字信号,接着将该脉冲星数字信号以udp数据包形式传输至cpu模块。

本发明提供的脉冲星信号消干扰装置fpga模块采用了美国加州大学伯克利casper的roach2硬件平台,其核心处理器是xilinxvirtexx系列fpga芯片与a/d采样板采用z-dok连接方式,配备双通道、8bit、最高采样速率5ghz的采样板。该平台还有8个10gbe的万兆以太网模块,采用10gbe网卡模块与万兆以太网交换机进行连接,可以实现数据的高速实时传输。fpga开发的软件环境使用了xilinx/systemgenerator和matlab/simulink,采用casper提供的信号处理开发库进行设计,通过图形化编程方式,降低了fpga开发难度,高效实现fpga设计。roach2主要负责射电模拟信号的数字化、udp数据包的生成和传输,通过10gbe的万兆以太网模块将数据传输到计算服务器。

cpu和gpu分别使用了intelxeone5-1620cpu及nvidia新一代gforce系列titanvgpu,软件环境采用最新的cuda和linux系统进行设计。当处理并行任务的时候,gpu不需要大的缓存及繁琐的流程控制操作,所有的线程执行相同的cuda代码,从而获得更高的计算效率。

cpu模块,用于对接收自fpga模块的脉冲星数字信号进行存储和转发,将该脉冲星数字信号传输至gpu模块。cpu模块还包括cpu高速环形缓冲区,cpu环形缓冲区为一个固定尺寸、头尾相连的缓冲区,cpu环形缓冲区对接收自fpga模块的以udp数据包形式的脉冲星数字信号进行缓存。fpga发送的数据是基带数据,没做过任何处理,所以数据量比较大,不能直接送到gpu中进行处理。首先在cpu内存中开辟一段缓冲区,作为数据的暂时存储,然后把数据流传输到缓冲区。在数据被不断缓存的过程中,按照先进先出的顺序,数据在内存中直接复制到gpu的显存中进行处理。

设计环形缓冲区实现数据先进先出,在避免数据移动的同时大幅提高数据访问及处理速度。缓冲区技术关键在于设计一套先进先出缓冲区管理算法,环形缓冲区是一种数据结构,用于表示一个固定尺寸、头尾相连的缓冲区,适合缓存数据流。环形缓冲区的一个有效特性是:当一个数据元素被处理后,其余数据元素不需要移动其存储位置。相反,一个非圆形缓冲区在用掉一个数据元素后,其余数据元素需要向前搬移。本发明通过实现环形缓冲区,有效提高了异构平台上的数据交换。

gpu模块对接收自gpu模块的脉冲星数字信号进行滤波和数据后处理,消除脉冲星信号中的干扰信号,包括:

gpu模块对接收自cpu模块的脉冲星数字信号采用中值滤波算法进行滤波,消除脉冲星数字信号中的脉冲干扰,然后将滤波后的脉冲星数字信号传输至gpu环形缓冲区并缓存;

gpu模块读取gpu环形缓冲区数据进行数据后处理。

gpu模块中首先实现中值滤波器,消除射电信号中的脉冲干扰,然后选择使用rfi减去方法。如果选择rfi减去,实现快速傅里叶变换(fastfouriertransform,fft)变换,将基带信号分成多个窄带通道,在每个窄带通道上进行自适应rfi消除,然后将处理结果通过ifft恢复原来的数据带宽,并把数据写入到gpu中开辟的gpu环形缓冲区。如果不选择rfi减去,将数据直接写入gpu环形缓冲区。rfi处理完成之后,gpu线程读取gpu环形缓冲区数据进行数据后处理,例如脉冲星消色散处理、折叠等。

本发明中cpu模块和gpu模块协同完成rfi消除任务,cpu模块负责逻辑控制操作,例如系统初始化,启动gpu模块的kernel函数及cpu模块和gpu模块之间数据交换等,gpu模块则负责高度并行的数据处理任务,例如对滤波后的数字信号进行中值滤波、fft计算、自适应滤波、ifft及数据后处理。gpu模块不能直接与系统内存进行通信,而是gpu模块直接与速度比内存更快的显存进行数据交换,系统内存和显存之间通过pci-e总线进行数据交互。

gpu模块中实现的rfi处理方法中,把计算量大的任务部分映射到gpu模块的多线程进行处理。由于中值滤波器、自适应滤波器、fft及ifft计算量很大,把这个部分的计算任务放到gpu模块中并行处理。gpu模块的使用,减少了计算机系统对cpu模块性能的依赖,大大提高了整个系统的数据处理性能。

中值滤波能够有效消除射电信号中的脉冲噪声干扰,在很大程度上保留了信号的边缘平滑信息。本发明的rfi抑制方法中,结合nvidiagpu和cuda并行计算架构,设计并实现了基于gpu的并行中值滤波算法。gpu模块设计中确定中值滤波的线程数非常关键,一维中值滤波算法中使用的总线程可表示为:

线程数=samples×n(1)

式中n为窗口长度,samples为采样点数。gpu每个线程块的最大线程数量为1024。

式中blockdim代表每个线程块的宽度,n值为滑动窗口长度。

根据启用的总线程数量,可以确定gpu线程的布局。参与中值滤波并行计算的线程块和线程的布局结果如图2所示。

自适应消干扰系统是根据参考天线信号灵活实现滤波参数的自动调整,有效消除混入天文信号中的射电干扰。自适应滤波器只消除天文信号的rfi成分,不会导致脉冲星数据的丢失。为了提高消干扰算法的性能及充分利用gpu并行资源,对自适应滤波器进行了进一步优化,采用数据块处理方法,减少了算法的串行部分,实现了gpu多线程实时消干扰处理。

自适应滤波器的gpu实现流程如图3所示。

首先将天文数据和参考信号数据复制到gpu的全局内存,然后启动gpu的kernel函数分配多线程任务。

kernel将gpu线程在x轴方向一维布局,启用的线程数量等于计算自适应滤波增益的数据块长度。数据块长度越大gpu并行算法的并行度越高,数据处理速度越快。gpukernel的多个线程负责天文和参考信号的快速卷积、标准化参数、信号功率及滤波器响应计算等一系列操作,完成大量的复数乘除加减运算。

gpu并行代码部分由一个gpukernel函数和两个gpu内部函数组成。gpu线程一维布局,滤波器响应和标准化参数在gpu的共享内存中定义,在一个线程块里面的所有线程共享使用这两个变量。线程根据自己的id遍历整个数据,先将天文数据和参考数据写入到寄存器,再进行处理。gpu内部warp寄存器高速实现了复数的积分运算。fft及ifft的计算使用cuda并行计算架构cufft加速库。cufft是通用并行计算架构fft运算库,可以提升fft运算速度。通过cufft可以实现数据的灵活布局,高效处理fft变换。

本发明实验结果如图4、图5、图6及图7所示。图4和图5分别是rfi消除之前及rfi消除之后的频谱图,信号带宽为16mhz,rfi的频谱主要分布于0~11mhz,脉冲信号的带宽是宽带宽,在整个带宽中都有脉冲信号的频谱。图中可以看到,rfi处理之后完全消除0~11mhz之间的干扰信号。

图6和图7是脉冲星信号消干扰装置中多通道信号的rfi处理前后的示意图,x轴上数字表示采样索引,y轴表示幅度。对16mhz信号进行fft分成16个通道,每个通道的带宽为1mhz,自适应rfi滤波在每个窄带通道之内运行。rfi处理之后,在每个rfi通道上可以清楚的看到脉冲信号,信号信噪比很大提升,有效提高了脉冲星信号的识别和检测能力。

本发明的第二方面实施例提供一种脉冲星信号消干扰系统,该系统包括上述的脉冲星信号消干扰装置和cuda,其中,

脉冲星信号消干扰装置,用于消除脉冲星信号中的干扰信号;

cuda,用于为gpu模块基于多线程并行计算提供并行计算架构。

本发明的第三方面实施例提供一种脉冲星信号消干扰方法,应用于第一方面实施例提供的脉冲星信号消干扰装置,该方法包括:

fpga模块对脉冲星信号进行采样和预处理,得到脉冲星数字信号并传输至cpu模块;

cpu模块对接收的脉冲星数字信号进行存储和转发,将该脉冲星数字信号转发入gpu模块中;以及

模块对接收的脉冲星数字信号进行滤波和数据后处理,消除脉冲星信号中的干扰信号。

具体的,fpga模块对脉冲星信号进行采样和预处理,包括:

fpga模块对脉冲星信号进行采样得到离散的脉冲星模拟信号,对该离散的脉冲星模拟信号进行预处理得到脉冲星数字信号,接着将该脉冲星数字信号以udp数据包形式传输至cpu模块。

cpu模块对接收的数字信号进行存储和转发,包括:

模块中的cpu环形缓冲区对接收自fpga模块的以udp数据包形式的脉冲星数字信号进行缓存。

其中,gpu模块对接收的数字信号进行滤波和数据后处理包括:

gpu模块对接收自cpu模块的脉冲星数字信号采用中值滤波算法进行滤波,消除脉冲星数字信号中的脉冲干扰,然后将滤波后的脉冲星数字信号传输至gpu环形缓冲区并缓存;

gpu模块读取gpu环形缓冲区数据进行数据后处理。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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