多路天体射电频谱信号的多通道数据相关处理系统转让专利

申请号 : CN201310373157.4

文献号 : CN103425624B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 任晨光黄默曲春辉聂海峰

申请人 : 中国科学院电子学研究所

摘要 :

本发明公开了一种多通道数据相关处理运算系统,其包括:一个单元互联模块,为整个系统中的各个模块提供支撑和互联;多个相关处理模块,用于实现相关处理的核心运算;一个时钟模块,其为相关处理模块提供同源的时钟;一个控制模块,用于控制相关处理模块的运算;以及多个电源模块,用于为各个模块提供稳定的电源。本发明公开的上述系统具有可扩展性,随着相关处理路数和通道数的增加,而仅需增加相关处理模块即可。另外本发明采用高速串行接口,根据本发明所采用的方法,将相关出的大量数据实时传输出去。

权利要求 :

1.一种多通道数据相关处理运算系统,其包括:

一个单元互联模块,为整个系统中的各个模块提供支撑和互联;

多个相关处理模块,用于实现相关处理的核心运算;

一个时钟模块,其为相关处理模块提供同源的时钟;

一个控制模块,用于控制相关处理模块的运算;以及

多个电源模块,用于为各个模块提供稳定的电源;

其中,所述单元互联模块包括:支撑各个模块的多个插槽和为该多个插槽提供互联关系的PCB板卡,其中,所述多个插槽焊接于PCB板卡之上,安装在插槽之上的各个模块通过PCB板卡进行互联;

其中,每个相关处理模块中设有4个可编程芯片,其用于进行相关处理运算,每个可编程芯片专门用于一个通道数据的相关处理;每个相关处理模块用于同时进行4个通道数据的相关处理;在数据的进入过程中,采用时钟上升沿和下降沿都采集数据并将其拼接的方式,在将数据输出的过程中,采用多级缓存的方式,将位宽大的数据转换为位宽较少的数据格式,根据预定的协议将数据传输出去,以减少占用的数据接口;其中预先将每路数据中的实部和虚部进行二进制量化,并建立记录实部或虚部对应二进制的相应运算结果的表格,并以实部和虚部对应二进制为索引将所述表格存储在ROM中,在相关运算时直接以实部和虚部对应二进制为地址访问所述ROM得到相应的运算结果。

2.如权利要求1所述的多通道数据相关处理运算系统,其特征在于,所述单元互联模块上的插槽个数可扩展,以满足系统的不同需求。

3.如权利要求1所述的多通道数据相关处理运算系统,其特征在于,相关处理模块的数目可扩展,相关的通道数增多时,相关处理模块的数目也增多。

4.如权利要求1所述的多通道数据相关处理运算系统,其特征在于,所述相关处理模块具有多个高速串行差分接口,用于数据传输。

5.如权利要求1所述的多通道数据相关处理运算系统,其特征在于,所述时钟模块用于为相关处理模块提供同频同相的时钟。

6.如权利要求1所述的多通道数据相关处理运算系统,其特征在于,其中电源模块的数目为1~3个,当相关处理模块的数目在4个以下时,电源模块的数目为1个,当相关处理模块的数目大于4个时,电源模块的数目为2个或更多个。

说明书 :

多路天体射电频谱信号的多通道数据相关处理系统

技术领域

[0001] 本发明涉及用于对多路天体射电频谱信号进行相关运算处理的系统,更明确的说,本发明涉及对接收到的多个天线所采集到的天体射电频谱信号进行相关运算,并将运算结果输出的系统。

背景技术

[0002] 在射频范围内,根据干涉原理,采用综合孔径技术对天体射电频谱进行观测分析,已逐渐成为现代天文观测中对天体进行观测的重要手段,在这种观测的方法中,需要多面天线组成天线阵,其中,对多面(例如64面,或100面)天线接收到的多路数据进行相关处理运算,得到复可见函数,再通过傅里叶反变换,得到源的亮度分布,也就是等于进行了成像观测。
[0003] 相关处理系统是用于完成来自各个天线的信号的互相关运算的系统,复相关运算的单元数为M×N×(N-1)/2,其中N为天线数,M为通道数。虽然,各路信号的相关运算是数字信号处理中常见的技术,相关算法虽然比较简单,但是如果要同时的实现大规模的多个通道的多路信号的互相关运算,并且将运算结果通过有限的接口设备传输出去,是不容易实现的。并且,随着相关处理积分时间的提高,对系统的运算能力和数据传输能力也会有更高的要求。
[0004] 为了实现大规模的多通道的多路信号相关处理,目前经常用到的方法是采用非常高端的芯片,虽然这种高端的芯片的逻辑资源丰富,工作速率高,但是如果采用这种芯片的话无疑会带来成本大幅上涨的压力,另外,随着同时进行信号相关处理的通道数的增多,这种高端芯片也会不能满足需求,而那时,就要寻求更高端的芯片,这样,就会陷入相关处理规模与芯片更新的相互制约的境地。且若用一个芯片来同时处理多个通道的多路数据的相关处理,设计带有这种芯片的PCB板卡也是非常复杂的。

发明内容

[0005] 本发明为解决现有技术中存在的上述问题,实现大规模的相关处理运算,采用多个处理芯片相互协作的方法,且根据相关处理算法的规律,合理利用芯片的资源。
[0006] 为此,本发明公开了一种多通道数据相关处理运算系统,其包括:
[0007] 一个单元互联模块,为整个系统中的各个模块提供支撑和互联;
[0008] 多个相关处理模块,用于实现相关处理的核心运算;
[0009] 一个时钟模块,其为相关处理模块提供同源的时钟;
[0010] 一个控制模块,用于控制相关处理模块的运算;以及
[0011] 多个电源模块,用于为各个模块提供稳定的电源。
[0012] 其中,所述单元互联模块包括:支撑各个模块的多个插槽和为该多个插槽提供互联关系的PCB板卡,所述多个插槽焊接于PCB板卡之上,安装在插槽之上的各个模块通过PCB板卡进行互联。
[0013] 其中,所述单元互联模块上的插槽个数可扩展,以满足系统的不同需求。
[0014] 其中,相关处理模块的数目可扩展,相关的通道数增多时,相关处理模块的数目也增多。
[0015] 其中,每个相关处理模块中设有4个可编程芯片,其用于进行相关处理运算,每个可编程芯片专门用于一个通道数据的相关处理。
[0016] 其中,每个相关处理模块用于同时进行4个通道数据的相关处理;在数据的进入过程中,采用时钟上升沿和下降沿都采集数据并将其拼接的方式,在将数据输出的过程中,采用多级缓存的方式,将位宽大的数据转换为位宽较少的数据格式,根据一定的协议将数据传输出去,以减少占用的数据接口。
[0017] 其中,预先将每路数据中的实部和虚部进行二进制量化,并建立记录实部或虚部对应二进制的相应运算结果的表格,并以实部和虚部对应二进制为索引将所述表格存储在ROM中,在相关运算时直接以实部和虚部对应二进制为地址访问所述ROM得到相应的运算结果。
[0018] 其中,所述相关处理模块具有多个高速串行差分接口,用于数据传输。
[0019] 其中,所述时钟模块用于为相关处理模块提供同频同相的时钟。
[0020] 其中,电源模块的数目为1~3个,当相关处理模块的数目在4个以下时,电源模块的数目为1个,当相关处理模块的数目大于4个时,电源模块的数目为2个或更多个。
[0021] 本发明公开的上述系统具有可扩展性,随着相关处理路数和通道数的增加,而仅需增加相关处理模块即可。另外本发明采用高速串行接口,根据本发明所采用的方法,将相关出的大量数据实时传输出去。
[0022] 本发明在一个相关处理模块中采用多个芯片的处理方式,而每个芯片专门针对1个通道的相关处理,这样,在减少了成本的同时,使设计更加简便,且更有利于系统的扩展。
[0023] 本发明在相关处理算法中,采用访问ROM中提前存储的计算值的方法来替代乘法器的方法,使运算的处理时间减少,并且减少了所占用的芯片中乘法器的数目。

附图说明

[0024] 图1是本发明中多路天体射电频谱信号的多通道数据互相关处理系统结构图。
[0025] 图2是本发明优选实施例中相关处理模块的结构示意图。
[0026] 图3是本发明优选实施例中一个芯片所接收来自64个天线的数据的示意图。
[0027] 图4是本发明中数据两级缓存输出示意图。

具体实施方式

[0028] 为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明作进一步的详细说明。
[0029] 图1示出了本发明公开的一种多路天体射电频谱信号的多通道数据互相关处理系统。如图1所示,该系统包括单元互联模块,相关处理模块,控制模块,时钟模块和电源模块构成。其中,单元互联模块位于系统的最内侧,为整个系统中的各个模块提供支撑和互联;其上设有多个槽位,这些槽位除了为插入其中的各个模块提供物理支撑之外,还用于为各个模块提供高速互连的通道以及稳定的电源通道。
[0030] 进一步说明,所述单元互联模块包括:支撑各个模块的多个插槽和为该多个插槽提供互联关系的PCB板卡。在单元互联模块所设置的多个槽位,可供多个相关处理模块和电源模块插入其中,并且各个槽位焊接在PCB板卡之上,该PCB板卡使得各个槽位之间有互联关系,从而使插入各个槽位中的各个模块进行数据交互,本发明中的单元互联模块设计了17个槽位,在相关处理通道数增加的情况下,仅需将增加的相关处理模块插入空闲的槽位即可。
[0031] 控制模块用于控制多个相关处理模块,进一步说明,控制模块把系统控制参数以广播方式发送到各个模块,进而控制相关处理模块按照相同方式进行处理,并接收多个相关处理模块的复相关数据,并将复相关数据与系统控制参数一起打包成相关格式化数据帧,最后将格式化数据帧输出至相关处理模块。通过将不同的程序加载至该同步控制模块可使同步模块控制不同数目的相关处理模块,从而可比较方便的根据需要为该系统增加或减少相关处理模块。
[0032] 时钟模块提供系统时钟。用于为多个相关处理模块提供同频同相的时钟,从而为多个相关处理模块提供统一的时钟标准。为相关处理模块的运行提供可靠的时钟保障。
[0033] 电源模块用于为整个系统提供稳定的电源,随着相关处理模块的增加,电源模块可相应的增加,以满足系统的电源供给,同样的,若相关处理模块减少,电源模块可相应的减少,以减少系统的功耗。电源模块的数目不小于1个。电源模块的数目优选为1~3个,当相关处理模块的数目在4个以下时,电源模块的数目为1个,当相关处理模块的数目大于4个时,电源模块的数目为2个或更多个。用于为设置于单元互联模块之上的各个模块提供稳定的电源。
[0034] 另外如图1所示,图中未标注的插槽为可供扩展的插槽,这些插槽可根据相关通道数的增加,而将增加的相关处理模块插入其中。
[0035] 图2示出了本发明优选实施例中相关处理模块的结构示意图。该优选实施例中,所述系统接收16个通道的位宽为4bit(数据被量化为2bit的实部和2bit的虚部)的64路数据实现了对16个通道的数据进行相关处理运算,然后将相关处理的结果发送出去。如图2所示,在每个相关处理模块上设置的F1,F2,F3,F4为4个用于进行相关运算的可编程芯片(例如,Stratix IV,Virtex-5等系列的FPGA芯片),而每个可编程芯片专门针对一个通道的数据进行相关运算,这样每个相关处理模块就可同时实现4个通道的相关处理运算,且每个通道的运行是相互独立。
[0036] 进一步说明,如图2所示,CLK部接收来自时钟模块的时钟信号,CLOCKBUFFER部件用于将进入的时钟信号分为4个同频同相的时钟信号,并将该4个时钟信号输入可编程芯片F1~F4中,J0~J6为相关处理模块与外部进行通信的高速串行差分接口(例如VPX等),其中J0,J1,J2,J4,J5,J6用于接收来自外部的用于进行相关处理的数据或指令等信号,J3用于将相关处理完成的数据输出。
[0037] 下面以1个可编程芯片处理1个通道的64路数据的相关处理为例来说明相关处理的过程。
[0038] 整个数据相关处理的过程分为以下3个阶段:1.数据进入模块进行解析的预处理阶段;2.数据相关运算的处理阶段;3.完成相关运算后打包数据输出的后处理阶段。
[0039] 首先,在数据的进入过程中,为了用最少的接口数实现最多路数数据的传输,本发明采用以下的方式来减少接口的使用。
[0040] 对于每个通道的64路数据来说,每路数据为4bit(2bit的实部数据和2bit的虚部数据),需要每次处理的数据为64×4=256bit,本系统一共实现了16个通道的64路数据的相关运算256×16=4096bit,如果按照传统做法,将占用4096个数据总线,这对于现实中常见的进行数据通信的接插件来说,数目是巨大的,且如此多的数据总线结构在设计上也会更加复杂,针对这个问题,本发明采用以下的设计思路来减少所占用的数据总线的个数。
[0041] 本发明采用在时钟的上升沿和下降沿都采集数据的方法,分配32bit的数据总线位宽给每个所要进行相关处理的通道,即分配32bit的数据总线给对应于的可编程芯片,为了便于分析这种方法,将每4bit作为一个数据组,那么共有8个数据组,分别标注为IDAT0,IDAT1,IDAT2,IDAT3,IDAT4,IDAT5,IDAT6,IDAT7,这8个数据组的每个代表其中8路数据的实部和虚部。IDAT0代表第1路至第8路的8路数据的实部和虚部,IDAT1代表第9路至第16路的8路数据的实部和虚部,以此类推,IDAT7代表第57路至第64路的8路数据的实部和虚部。以IDAT0的处理为例,IDAT0代表第1路至第8路的8路数据的实部和虚部,每个数据的实部或虚部被量化为2bit,那么这8路数据的总的位宽为2×2×8=32bit,而IDATA0为4bit的输入,在芯片的处理中,采用在时钟的上升沿和下降沿都进行采集的DDIO模块(DDIO模块在时钟的上升沿采集4bit,时钟下降沿也采集4bit,这样拼接为8bit的数据),那么就将该4bit位宽的数据拼接为8bit的数据,为了精确的确定数据的起始位置,在此方法中引入固定的帧头,即检测到之前预定的帧头时才确定之后的数据为要处理的数据,再将这8bit的数据缓存入FIFO(先入先出存储器)中,在FIFO中进行存储,在FIFO的输入过程中,以每4个输入时钟为单位,即每输入4×8=32bit的数据为单位,其存储的形式为下面的形式:其中I_ch1代表在第一路的实部数据,Q_ch1代表第一路的虚部数据,I_ch2代表第二路的实部数据,Q_ch2代表第二路的虚部数据,依次类推,这样同一时刻进入的8路数据的实部和虚部在FIFO中存储,在需要读取时,从FIFO的读取端口同时读出这同一时刻的8路数据的实部和虚部,即32bit的数据。这样,IDAT0可产生8路数据的实部和虚部。
[0042]
[0043] 由此,IDAT0~IDAT7就可代表64路数据的实部和虚部。
[0044] 数据进入后,进行相关运算的处理,相关处理过程如下所述。
[0045] 以一路数据的相关处理为例,图3示出了根据本发明一个芯片所接收的来自64个天线的数据的示意图。如图3所示,R1_1代表来自第一个天线的一帧数据的第一个数据,R1_2代表来自第一个天线的一帧数据的第二个数据,R1_N代表来自第一个天线的一帧数据的最后一个数据,R2_N代表来自第二个天线的一帧数据的第一个数据,R64_1代表来自第64个天线的一帧数据的第一个数据,R64_N代表来自第64个天线的一帧数据的最后一个数据。接收来自每个天线的每帧的数据个数为N个。在每帧数据之后留有一定的保护时间间隔。
[0046] 公式(1)为相关处理的公式,E1为第一路数据, 为第二路数据的共轭值,在数字信号处理中,通常将一个信号分为实部和虚部两部分,其中I1为第一路数据的实部,Q1为第一路数据的虚部,I2为第二路数据的实部,Q2为第二路数据的虚部。根据公式1可将该积分过程分为复共轭相乘和累加平均的过程。下面先分析复共轭相乘的实现过程。
[0047]
[0048] 在本发明中,每路信号的实部和虚部都被量化为2bit的数据,这2bit数据分别为00,01,10,11。根据系统要求分别代表a,b,c,d四个值。那么对于实部I1I2+Q1Q2来说,可利用查表法得到实部值,对于四个确定的数I1,I2,Q1,Q2,仅需通过查表就可得出实部或虚部的值。以实部中I1I2为例,I1I2值的表如表1所示,同样对于Q1Q2也有类似的结论,这样,通过访问由I1,I2,Q1,Q2所建立的数值表,就确定了实部I1I2+Q1Q2的值,而不需要进行乘法和减法运算。
[0049]
[0050] 表1I1I2值表
[0051] 这样,本来需要两个乘法器和一个减法器(或加法器)才可得到结果的运算,可通过事先建立一个由I1,I2,Q1,Q2为索引的表格来得到实部或虚部的运算结果,例如,若I1,I2,Q1,Q2的值分别为a,a,a,a,那么I1I2+Q1Q2的值为2a2,I2Q1-I1Q2的值为0,将值2a2和0存储在ROM中地址为0的位置处,当I1,I2,Q1,Q2的值分别为a,a,a,a时,读取ROM的地址为0的位置即可得到I1I2+Q1Q2的值和I2Q1-I1Q2的值,若I1,I2,Q1,Q2的值分别为a,a,a,b,那么I1I2+Q1Q2的2 2 2 2
值为a+ab,I2Q1-I1Q2的值为a-ab,将值a+ab和a-ab存储在ROM中地址为1的位置处,当I1,I2,Q1,Q2的值分别为a,a,a,b时,读取ROM的地址为1的位置即可得到I1I2+Q1Q2的值和I2Q1-I1Q2的值,依次类推,若以I1,I2,Q1,Q2的值的情况数作为ROM存储器的地址,以I1I1+Q1Q2的值和I2Q1-I1Q2的值作为ROM存储器中所存储的数值,,则所需的地址数为256(44)所以,根据本发明的方法,建立一个ROM存储器,并将以I1,I2,Q1,Q2的值所确定的I1I2+Q1Q2的值和I2Q1-I1Q2的值按照上述方法所对应的地址存入这个ROM中,如下图所示,这样以I1,I2,Q1,Q2作为地址从该ROM存储器中读取的输出作为相关运算的对应的实部值和虚部值。
[0052]
[0053] 同样的原则也适用于每路信号的实部和虚部都被量化为更多位宽的情况(例如,被量化为1bit,或被量化为3bit,或被量化为4bit),虽然随着量化位宽的增加,所需要建立ROM需要的存储空间也会增大,在位宽不超过6bit的情况下,这所增大的空间对于诸如Stratix IV,Virtex-5等本领域的技术人员所经常采用的可编程芯片来说是可以满足的。
[0054] 根据本发明的方法,每个可编程芯片专门针对1个通道的64路数据的相关运算,若同时进行16个通道的64路数据的相关运算就需要16个可编程芯片,为了使设计简单易于操作,如图2所示,根据本发明的方法,需要4个相关处理模块,其中在每个相关处理模块上设有4个可编程芯片。这样,若要实现更多通道的相关运算,仅需增加相关处理模块即可。
[0055] 完成复共轭相乘运算并进行累加之后,共出现实部和虚部数据的个数为64×63÷2×2=4032个数据,将复共轭相乘运算并进行累加之后的数据量化为24bit,那么总共需所要传输的数据位数为4032×24=96768bit,若将如此多的数据同一时刻进行传输,无疑所需要的传输的总线是巨大的,且难以实现的。根据本发明的实施方案,将这些数据按照如下的方法进行传输。
[0056] 图4示出了本发明中数据两级缓存输出示意图。如图4所示,该方法采用两级FIFO存储器缓存的设计,第一级采用36个FIFO存储器,该36个FIFO存储器负责将数据进行位宽转换,将进入的1个24bit数据变为6个4bit数据输出,例如,若进入的24bit的数据为000110001001001110001101,则连续的6次输出分别为1101,1000,0011,1001,1000,0001。
如图4所示,其中,ResultI1为第一个天线与第二个天线相关的数据累加的结果的实部(记为第一个相关累加结果的实部),ResultQ1为第一个相关累加结果的虚部,ResultI2为第二个相关累加结果的实部,以此类推,ResultI_2016为最后一个(即,第2016个)相关累加结果的实部,Result_data_1....Result_data_36依次为36个FIFO的4bit输出。然后将这36个
4bit的数据进入第二级FIFO存储器FIFO_Out中,第二级的FIFO存储器将进入的36个4bit数据转换为8bit数据,最后将该8bit数据通过ALT_DDIO模块分解为在时钟上升沿输出该8bit数据的低4bit数据,而在时钟的下降沿输出该8bit数据的高4bit。
[0057] 这样,在完成一帧的数据相关处理运算之后,通过合理的利用每帧之间保护间隔的保护时间,仅需要4bit位宽的数据总线就可传输96768bit的数据。
[0058] 将数据处理完成,并且将数据转换为位宽比较少的数据格式后,通过图2中所示的高速差分接口J3将数据传输出去。
[0059] 其中电源模块的数目为1~3个,当相关处理模块的数目在4个以下时,电源模块的数目为1个,当相关处理模块的数目大于4个时,电源模块的数目为2个或更多个。用于为设置于单元互联模块之上的各个模块提供稳定的电源。
[0060] 以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。