基于cpu架构的大规模数字相关器及相关运算处理方法

文档序号:7551180阅读:554来源:国知局
专利名称:基于cpu架构的大规模数字相关器及相关运算处理方法
技术领域
本发明涉及数据通信领域,特别涉及基于CPU架构的大规模数字相关器及相关运算处理方法。
背景技术
数字相关器在通信信号处理中实质上是起到数字匹配滤波器的作用,它可对特定码序列进行相关处理,从而完成信号的解码,恢复出传送的信息。数字相关器与模拟相关器相比,其灵活性强、功耗低、易于集成,广泛应用于很多领域。二十世纪上半叶,结晶学家探讨了一种理论,可用间接方法获得图像。五十年代初,英国剑桥大学卡文迪许实验室的射电天文学家赖尔等人,把这种理论发展成射电天文中的综合孔径技术。我们知道,任何一幅图像都可以分解成许多亮度分布的正弦和余弦成分;反之,如果知道了这些正弦和余弦成分,就可以合成原来的图像。综合孔径望远镜就是利用这种原理工作的。1948年以后,赖尔把观测研究目标从太阳转向太阳系外广阔的空间,期望搜索更多的射电源。他针对双天线干涉仪只有一维分辨率,不能给出天体的图像这一缺点,提出用“孔径综合”技术来解决射电天文望远镜的高线,另一面可以移动,逐次放到“等效大天线”的各个位置,每放一个地方进行一次射电干涉测量。也可以由许多天线来实现,几面固定,几面移动,甚至全部都固定。各种间距取向的干涉仪测量资料通过数学方法可以求得天空射电亮度的二维分布。也就是得到了被观测天区的射电天图。由于衍射效应,光学望远镜的分辨本领受望远镜孔径的限制,分辨率近似等于工作波长与孔径D的比值。射电天文使用的无线电波波长比光学望远镜使用的要长I万倍至I亿倍,如要得到同样的分辨率,射电望远镜的天线孔径就要比光学望远镜的口径大同样的倍数。现在世界上最大的全可转射电望远镜的孔径也仅比最原始的光学望远镜的口径大几千倍,离上述要求甚远。另外,光学方法能够比较容易地成像;而对无线电方法来说,由于接收技术的关系,不能像照片底片那样一下子照出相片来,而必须把射电望远镜的方向束对所研究的天区一点一点地顺序扫描。综合孔径射电望远镜的优点是不需要制造口径特别大的天线,用两面或多面小天线进行多次观测达到大天线所具有的分辨率和灵敏度。综合孔径原理在1954年已由实验证实是正确的,但因要处理异常多的观测数据,计算量特别大,在50年代还没有储存容量足够大、计算速度足够高的计算机来完成资料的傅里叶变换。到了 60年代随着计算机的发展,综合孔径射电望远镜的发展才有了可能。在射电的综合孔径中,有几点是十分重要的:第一是精确的时间同步;第二是所接收的信号的完整传递,特别是信号的相位的传递;第三是傅里叶变换后的图象处理。时间同步需要一个标准的时间信号,同时需要补偿信号到达各个天线的时间差。同时接收信号以后也要根据天线的指向来不断地调整各个天线相对于目标的延迟线的长度,使得从目标同时发出的信号同时到达天线阵的相关器。信号的相关运算是多源信号处理中的一个重要课题,并被广泛应用于实际的生产和科研之中。作为这其中最重要的应用之一,它是综合孔径射电望远镜的工作原理的基石。通过将两个甚至更多的单碟望远镜分隔较远距离布设的方法是提高射电望远镜角分辨能力的最重要的措施。从单碟望远镜到具有多个天线的望远镜的演进,带来了多输入信号如何处理的问题。根据物理光学的原理,物平面上的电磁波复振幅分布和象平面上的电磁波复振幅分布构成一个傅里叶变换对。原则上只需要测量每个接收单元上信号的复振幅,并填充在点阵格点上,构成象平面上的复振幅分布图,然后进行一次傅里叶变换,就能够得到天空平面上的图像。近年来这种方法确实已经被人提出,并试图应用于实际,但这对仪器硬件的要求较高,在目前的技术条件下实现是有难度的。目前主流的成像方法是采用计算基于两两接收单元之间信号的复相关的方法。根据射电天文基础理论,两两节点上信号的复相关,在uv(以波长为单位的基线向量坐标)平面上的分布,和天空平面上的辐射强度(specific intensity)构成傅里叶变换对。实际操作中,综合孔径望远镜获得的直接数据实际上是构成望远镜的N个节点之间的N(N-l)/2对节点的复数相关量。即<UiU/>,(Ui和Uj分别代表第i和j天线上测量到的电压复振幅,符号〈> 代表数学期望,实践上是以一定时间段内的平均值代替)物理量代表节点i和节点j的信号的复相关,称之为可视度函数。因此目前的绝大部分综合孔径望远镜都是基于上述的复相关运算进行工作的。综合孔径成像的关键是复相关器。根据图像中最高空间分辨率的要求,有多少个(u,v)采样点,就需要作多少次复相关。尽管经过稀疏的天线阵列单元数不是很多,但是其交叉相关的数量将很大。在本专利实践中,80组天线交叉相关数将达到80*(80_1)/2。又比如对一个高分辨率的二维系统,其相关器的数量可达上万个。因此,对空间分辨率很高的综合孔径,限制其空间分辨率进一步提高的因素将从天线本身转化为相关器数量太多的矛盾。与此同时,大量的交叉相关也对系统通信产生了压力,这种频繁的通信过程必定产生大量的通信开销。这样,如何解决大量的交叉相关带来的相关器数量倍增的问题就是研究综合孔径成像必须解决的一个关键课题。其中一个可能的途径就是对每一个接收通道先进行量化,然后再在计算机中进行数字相关,称为数字相关器。目前国际上在数字相关器的研究领域大多数都是用硬件来实现的,本发明将试图采用通用的软件技术来实现数字相关器。因此需要设计一个合理的系统,系统各个软件模块相互合作,努力克服系统中的瓶颈,在保证复相关效率的同时也要保证其它模块的效率。现有技术中,基于固化的硬件数字电路或者现场可编程门阵列(FPGA)来实现数字化的数学相关运算。但由于仍然是基于专用的电子器件,而且设计一旦固定,可调整的余地就所剩无几,因此往往不具有很好的灵活性和可伸缩性。

发明内容
本发明为解决上述提到的问题而提出了一种基于CPU架构的大规模数字相关器,其包括:多个通用PC机节点,其根据接收到的外部数据进行相关运算;文件服务器,其用于将相关数据存储在磁盘阵列;磁盘阵列,其用于存储相关数据。其中,所述多个PC机节点包括采集卡和数字模拟转换器,其中所述采集卡用于从外部天线采集得到外部数据,所述模拟转换器用于将所采集得到的外部数据进行模拟-数字转换以得到相应的数字数据。其中,所述多个PC机节点之间通过网络连接,所述多个PC机节点之间通过网络将所述数字数据进行广播,每个节点都获得其它节点的数字数据;每个节点对自身获得的数字数据和从其它节点获得的数字数据进行相关运算。其中,每个节点对自身获得的数字数据和从其它节点获得的数字数据进行相关运算具体为每个节点对自身获得的数字数据和从其它节点获得的数字数据进行快速傅里叶变换,然后对所述快速傅里叶变换后的数据分成N组,将该N组数据组成N(N+1) /2对,对于其中每一对计算出其相关数据,其中N为所述PC机节点的数目。其中,所述多个PC机节点中进行相关运算的处理过程采用并行化处理。本发明还提出了一种一种基于CPU架构的大规模数字相关器的相关运算方法,所述数字相关器包括多个PC机节点,所述方法包括:步骤1、采集外部天线上的外部数据;步骤2、对所述外部数据进行模拟数字转换以得到数字数据;步骤3、在多个PC机节点中对所述数字数据进行相关运算。其中,所述步骤3具体包括:步骤31、每个PC机节点将所获得的数字数据进行广播,并获得其它全部节点所广播的数字数据;步骤32、每个PC机节点对于所获得的数字数据进行快速傅里叶变换;步骤33、每个PC机节点对快速傅里叶变换后的数据进行相关运算。其中,所述步骤33中,每个PC机节点将所述快速傅里叶变换后的数据分成N组,将该N组数据组成N(N+1) /2对,对于其中每一对计算出其相关数据,其中N为所述PC节点的数目。其中,所述多个PC机节点中进行相关运算的处理过程采用并行化处理。本发明采用通用的软件技术来实现数字相关器,解决了大量的交叉相关带来的相关器数量倍增的问题,使得效率大大提高。相对于较为传统的基于硬件实现的相关器,本发明具有高度的可伸缩性,即可以根据接收节点的数目进行自由的扩增和缩减,而不需要变动系统的基本结构。当节点数目增加时,只需要简单增加相应的采集和计算节点数目,将计算节点连接到高速网络交换机上即可,对已经存在于集群中的节点的连接方式不需要做任何改变。因此本发明可以应用于各种规模的实时信号相关计算的场合。除了扩增系统的灵活性之外,本发明的实现方法还容许通过对计算机性能的升级,大幅提高整体的计算效率。虽然既有的传统硬件相关方法也可以通过硬件升级来提高整体性能,但是考虑到本发明所采用的是通用电子计算机,能以更经济的方式获得性能的提升。最后,由于本发明完全采用了通用的设备,因此很容易为特定的问题快速构建一套信号相关器,而无须考虑定制所需要的时间和专门设备采购上耗费的时间。


图1是本发明的基于CPU架构的大规模数字相关器的系统框图;图2是本发明中基于CPU架构的大规模数字相关器的相关运算流程示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。如图1所示,本发明提出的相关器系统由一系列的通用PC机(PCworkstation)、文件服务器(file server)和磁盘阵列(disk array)组成,PC机之间、PC机与文件服务器之间由高速网络连接,文件服务器与磁盘阵列交互。高性能通用PC机节点采用市场上通用的个人电脑或者服务器,通过网络将它们组成一个集群;文件服务器用来做服务器将数据存储在磁盘阵列中;通用PC机上具有模拟数字转换器(A/D),由可输入外部时钟和外部触发信号的通用的商用采集卡实现。由于是通用电子器件,所以也可以大批量采购,不需要进行特别的定制。在本发明所应用的系统中,采集卡通过当前主流的PC1-E接口和节点的主板相连接,模拟信号转换为数字信号之后,通过直接内存访问(DMA)方式被从采集卡的缓冲区中转移到通用PC机节点的主内存中,其后被与之相关的程序所访问,并进行运算;通用PC机之间、PC机与文件服务器之间可以采用千兆以太网或者采用Infiniband网络(Infini_bandnetwork)进行通信,通用PC机和文件服务器分别具有Infiniband卡(IB_card)本发明所提出的数字相关器工作时,信号的采集、相关运算以及结果保存周而复始地循环进行。对于一个包含N个通用PC机节点的相关器计算机集群,在每一个处理循环中,信号的数据流动遵循以下的时序,如图2所示:模拟-数字转换:外部的模拟信号首先经过模拟电路的基本处理,送入每一个节点内安装的采集卡中。其中所述外部的模拟信号通常是从天线上采集得到的外部信号。模拟电路的设置决定了系统工作的总带宽、增益、频率响应等特性。模拟数字转换器在驱动程序的控制下,实时将量化完成的数字信号通过直接内存访问(DMA)送入计算机的主内存中;模拟信号到数字信号的转换是连续进行的,但是在后期处理中,根据不同的需求,一次傅里叶变换的数据长度L可以进行调整(但是一般为2的整数幂次)。需要注意,根据下述的数学推导,信号相关的结果实际上是一定时间内的平均,时间常数根据信号采集的要求进行调整。这里假定每一个循环中都采集N*C个长度为L的序列。从而每一次相关运算的时间分辨率为N*C*L/S,其中S为采样率,N为节点数目,C为每次相关运算之前积累的数据列的个数,可以根据需要进行调整。数据的广播:每个通用PC机节点的数字信号通过高速网络被广播到其它节点,从而各个节点上都获得一份其它全部节点的数据的副本;广播开始时,每个节点上都有N*C个长度为L的数据,这些数据被分成N份,然后依次被广播到包含本节点在内的全部节点中,广播完成之后,每个节点上都获得了全部N个节点,在同一个时间片断内,长度为OL的数据序列。它们的总长度为N*C*L。尽管广播前后,每个节点上的数据列长度均为N*C*L,但是广播之前,每个节点上仅有本节点上采集得到的数据,广播之后,每个节点将含有其他N-1个节点上每个长度为C*L的数据列。
傅里叶变换:每个节点对本机内存中的数字信号时间序列进行快速傅里叶变换(FFT);在这一步中,每一个节点对广播之后获得的N*C个长度为L的数据序列进行N*C次傅里叶变换,将时域数据被转换为频域数据。相关运算:傅里叶变换之后,每一个节点上都存储了 N*C份长度为L/2的频率域数据。这N*C份长度为L/2的数据可以分为N组,每一组有C个长度为L/2的数据。对于这N组,一共可以组成Ν(Ν+1)/2对。对于每一对,都根据下述数学推导,计算出相关数据。具体如下:光源在两个针孔P1, P2的相关函数定义为Γ\2(τ) =〈< (t) V2 (t+τ ) >这是由著名的杨氏干涉实验的所推出的,其中,V代表对比度,在Q这一点的光强度Iq =Ik1 |2Ι1+|1^|2Ι2+2Ι^[1^2Γ “(Ο],常数因子1^和1^2分别为两路光的振幅衰减因子,均可为复数,τ代表两组波从针孔到达Q的延迟,I1和I2分别代表两个针孔P1, P2处的光强。如果在P1, P2这两个位置放置两面天线,则相关函数也是相同的。对于复合波场U (P1, t) ,U (P2, t)的相关函数定义为:其中,交括号表示求时间平均,T代表周期,t时刻P1和P2点的光振动分别用解析信号U (P1, t)和U (p2, t)表示。本发明通过采用目前业已成熟的节点内运算方案,上述的时序中某些无相互依赖关系的步骤可以进行并行化处理。本发明所设计的数字相关器采用了以下的加速方案:节点内的流水化处理:在信号处理的循环中,当前时间片中采集数据的广播、上一轮循环广播的数据的相关运算、以及上一轮循环中所得到的结果的汇总存盘之间没有相互依赖关系,可以同时进行。节点内相关运算的并行化处理:相关运算涉及了大量数据的乘法和加法,可以分块同时进行,如果每个节点都配备了多核处理器,则可以将这一处理直接分配到多个CPU核心上同时运算。GPU加速方案:GPU特别适合于大量重复的简单运算,数字信号的相关运算符合这一特征。通过在PC机中安装GPU设备,代替CPU进行相关处理,可以显著提高运算速度。GPU通常通过PC1-E借口作为扩展卡的形式安装在每个通用PC机节点内。通过对相关运算部分的代码进行重新的编写,以GPU的编程语言(例如CUDA,OPENCL等)编译为GPU的机器码,运行于GPU中。最终的加速比可以达到2-3。以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种基于CPU架构的大规模数字相关器,其包括: 多个通用PC机节点,其根据接收到的外部数据进行相关运算; 文件服务器,其用于将相关数据存储在磁盘阵列; 磁盘阵列,其用于存储相关数据。
2.如权利要求1所述的基于CPU架构的大规模数字相关器,其特征在于,所述多个PC机节点包括采集卡和数字模拟转换器,其中所述采集卡用于从外部天线采集得到外部数据,所述模拟转换器用于将所采集得到的外部数据进行模拟-数字转换以得到相应的数字数据。
3.如权利要求2所述的基于CPU架构的大规模数字相关器,其特征在于,所述多个PC机节点之间通过网络连接,所述多个PC机节点之间通过网络将所述数字数据进行广播,每个节点都获得其它节点的数字数据;每个节点对自身获得的数字数据和从其它节点获得的数字数据进行相关运算。
4.如权利要求3所述的基于CPU架构的大规模数字相关器,其特征在于,每个节点对自身获得的数字数据和从其它节点获得的数字数据进行相关运算具体为:每个节点对自身获得的数字数据和从其它节点获得的数字数据进行快速傅里叶变换,然后对所述快速傅里叶变换后的数据分成N组,将该N组数据组成N(N+l)/2对,对于其中每一对计算出其相关数据,其中N为所述PC机节点的数目。
5.如权利要求1所述的基于CPU架构的大规模数字相关器,其特征在于,所述多个PC机节点中进行相关运算的处理过程采用并行化处理。
6.一种基于CPU架构的大规模数字相关器的相关运算方法,所述数字相关器包括多个PC机节点,所述方法包括: 步骤1、采集外部天线接收到的外部数据; 步骤2、对所述外部数据进行模拟数字转换以得到数字数据; 步骤3、在多个PC机节点中对所述数字数据进行相关运算。
7.如权利要求6所述的方法,其特征在于,所述步骤3具体包括: 步骤31、每个PC机节点将所获得的数字数据进行广播,并获得其它全部节点所广播的数字数据; 步骤32、每个PC机节点对于所获得的数字数据进行快速傅里叶变换; 步骤33、每个PC机节点对快速傅里叶变换后的数据进行相关运算。
8.如权利要求7所述的方法,其特征在于,所述步骤33中,每个PC机节点将所述快速傅里叶变换后的数据分成N组,将该N组数据组成N(N+l)/2对,对于其中每一对计算出其相关数据,其中N为所述PC节点的数目。
9.如权利要求1所述的方法,其特征在于,所述多个PC机节点中进行相关运算的处理过程采用并行化处理。
全文摘要
本发明公开了基于CPU架构的大规模数字相关器及相关运算处理方法,此种相关器具有很强的灵活性和可扩展性,主要是利用通用技术解决了大规模数字相关器的问题。本发明的实现是应用在综合孔径望远镜成像领域,80组天线交叉相关数将达到80*(80-1)/2。又比如对一个高分辨率的二维系统,其相关器的数量可达上万个。因此,对空间分辨率很高综合孔径,限制其空间分辨率进一步提高的因素将从天线本身转化为相关器数量太多的矛盾。与此同时,大量的交叉相关也对系统通信产生了压力,这种频繁的通信过程必定产生大量的通信开销。这样,如何解决大量的交叉相关带来的相关器数量倍增的问题就是研究综合孔径成像必须解决的一个关键课题。
文档编号H04L29/08GK103152383SQ20131002997
公开日2013年6月12日 申请日期2013年1月25日 优先权日2013年1月25日
发明者赵蒙, 李宽君, 顾俊骅 申请人:中国科学院国家天文台
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1