System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于空间基础设施-航天器测控地面站-天线组阵链路标校,具体涉及一种基于国产dcu和循环缓冲区的pcal信号相位提取方法及系统。
技术介绍
1、如图1为pcal信号相位串行提取系统,pcal信号经过ad采集卡采集到计算机中,经过pcie总线传输到内存中,经过基带转换设备将采集到的pcal信号转换为自定义带宽的pcal信号,后输入到pcal信号cpu串行处理系统中,然后将提取的pcal信号相位从linux系统传输到windows系统中,最后在显控界面中显示提取的相位结果。上述方案存在以下缺陷:第一,该pcal信号相位串行提取系统采用cpu串行的相位提取算法,相位提取效率低;第二,基带转换设备与dcu处理模块处于不同的服务器节点,显控界面与相位提取系统处于两个计算机操作系统中,需要将linux系统中的相位数据利用xftp软件或网线传输到windows系统中的显控界面中对相位提取结果进行可视化,流程繁琐;第三,该系统不是实时系统,且不稳定,容易丢失数据包,不能自动化运行,时效性差。
2、天线组阵设备链路标校中的关键技术为pcal信号相位估计和链路时延补偿,pcal信号相位估计算法计算出相位差后,进而可以得到时延差,最后进行链路时延补偿,使得各天线信号的时延、相位对齐,进而相干累加,提高信号信噪比。因此,链路标校在利用pcal信号对设备链路进行标校时,准确、高效地提取pcal信号相位是最重要的。
技术实现思路
1、有鉴于此,本专利技术的目的是提供一种基于国产dcu和循环
2、一种pcal信号相位实时提取方法,在计算机内存中申请两个缓存区,定义为第一循环缓存区和第二循环缓存区;两个缓存区中划分出多个缓存模块,将每个缓存区内的缓存模块首尾相接,形成一个环形链;所述相位实时提取方法包括:
3、第一步,pcal信号经过ad采集卡采集到计算机中,并传输到计算机内存;
4、第二步,采集到计算机内存的pcal信号数据转换为自定义带宽的pcal信号,然后将转换完自定义带宽的pcal信号数据填入到第一循环缓冲区的未写入数据的数据缓存模块,当填满一个数据缓存模块后,继续填入环形链中下一个数据缓存模块,将设定数量的填满的数据缓存模块中的数据进行拼包为固定的大小;
5、第三步,对固定大小的拼包数据进行并行处理得到pcal信号相位数据;
6、第四步,将得到的pcal信号相位数据填入到第二循环缓冲区的未写入数据的数据缓存模块,当填满一个数据缓存模块后,继续填入环形链的下一个数据缓存模块,将填满的设定数量的数据缓存模块中的数据进行拼包为固定的大小,传输到dds中间件;
7、第五步,dds中间件中dds数据分发系统订阅主机内存发布的数据后,首先寻找帧同步头位置,找到帧同步头后以此为起止时刻,通过dds数据分发系统将拼包完毕的pcal信号相位数据发布出去,由后台windows显控界面平台订阅该数据并进行后续处理,得到频谱波形信息。
8、较佳的,所述第三步中,基于国产dcu的pcal信号相位并行提取算法结构,具体步骤包括:
9、步骤1:将pcal时域信号分为等量的多段,然后并发相同数量的stream对这几段pcal信号的实部和虚部进行多线程串并转换为复信号;
10、步骤2:在每一个深度计算单元工具流dtk stream内并发多个线程,同时对将多段pcal时域复信号进行累加求平均,提高信号信噪比;
11、步骤3:在每一个dtk stream内并发多个线程,同时对累加平均后的信号进行fft运算,得到该信号的傅里叶变换,并将零频分量移动到频谱中心;
12、步骤4:在每一个dtk stream内并发多个线程,对信号的傅里叶变换求反正切,得到信号的卷绕相位值;
13、步骤5:在每一个dtk stream内并发多个线程,对所有数据点同时获取卷绕信息,在得到所有点的卷绕信息之后,根据卷绕点的数量和位置将数据进行分组,然后利用多个线程同时对不同的分组赋予不同的补偿值,最后并发多个线程对所有点进行相位补偿最终得到pcal信号真实的相位值。
14、较佳的,所述步骤1中,多线程串并转换的方法包括:将累加时间t s的pcal信号数据等分为m段每段2n个数据进行累加平均,进行一次累加平均可读取数据点数为2nm,共需要读取m次;
15、其中,对于带宽为b hz,频率间隔为g hz的pcal复信号,其信号频点个数为:
16、
17、设置fft频率分辨率为δf,则fft点数n为:
18、
19、每次fft读取的字节数为:
20、nbytes=2×4n=8n
21、累加时间为t秒,则累加积分次数即数据分段数为:
22、
23、对于总大小为d byte信号数据文件,需要读取次数为
24、
25、将上述公式联立得:
26、
27、pcal信号分段累加平均后的信号表达式为
28、
29、较佳的,所述步骤3中进行fft运算的方法包括:
30、第一步,首先使用cudamollochost和cudamolloc函数分别为输入信号分配cpu和gpu内存;第二步,使用cudamemcpy函数将cpu内存数据拷贝到gpu内存;第三步,创建一个fft计划,并进行gpu输入数据的fft;第四步,使用cudamemcpy函数将gpu中fft完毕后的数据拷贝回cpu内存中;第五步,使用cudadestroy函数销毁fft计划。
31、较佳的,设置第一个循环缓冲区内的数据缓存模块个数为50,每个数据缓存块的大小为2mb;设置第二个循环缓冲区内的数据缓存模块个数为50,每个数据缓存块的大小为2kb。
32、一种pcal信号相位实时提取系统,包括第一循环缓冲区、第二循环缓冲区、基于国产dcu的pcal信号相位并行提取模块、两个dds中间件以及两个数据拼包模块;
33、所述第一循环缓冲区、第二循环缓冲区为在计算机内存中申请两个缓存空间;两个缓存区中划分出多个缓存模块,将每个缓存区内的缓存模块首尾相接,形成一个环形链;
34、pcal信号经过ad采集卡采集到计算机中,并传输到计算机内存;采集到计算机内存的pcal信号数据转换为自定义带宽的pcal信号,然后将转换完自定义带宽的pcal信号数据填入到第一循环缓冲区的未写入数据的数据缓存模块,当填满一个数据缓存模块后,继续填入环形链中下一个数据缓存模块;
35、第一数据拼包模块将设定数量的填满的数据缓存模块中的数据进行拼包为固定的大小,然后经第一dds中间件发布给基于国产dcu的pcal信号相位并行提取模块进行并行处理得到pcal信号相位数据;
36、所述第二循环缓冲区将得到的pcal信号相位数据填入到的未写入数据的数本文档来自技高网...
【技术保护点】
1.一种PCAL信号相位实时提取方法,其特征在于,在计算机内存中申请两个缓存区,定义为第一循环缓存区和第二循环缓存区;两个缓存区中划分出多个缓存模块,将每个缓存区内的缓存模块首尾相接,形成一个环形链;所述相位实时提取方法包括:
2.如权利要求1所述的一种PCAL信号相位实时提取方法,其特征在于,所述第三步中,基于国产DCU的PCAL信号相位并行提取算法结构,具体步骤包括:
3.如权利要求2所述的一种PCAL信号相位实时提取方法,其特征在于,所述步骤1中,多线程串并转换的方法包括:将累加时间t s的PCAL信号数据等分为m段每段2N个数据进行累加平均,进行一次累加平均可读取数据点数为2Nm,共需要读取M次;
4.如权利要求2所述的一种PCAL信号相位实时提取方法,其特征在于,所述步骤3中进行FFT运算的方法包括:
5.如权利要求1所述的一种PCAL信号相位实时提取方法,其特征在于,设置第一个循环缓冲区内的数据缓存模块个数为50,每个数据缓存块的大小为2MB;设置第二个循环缓冲区内的数据缓存模块个数为50,每个数据缓存块的大小为2kB。
6.一种PCAL信号相位实时提取系统,其特征在于,包括第一循环缓冲区、第二循环缓冲区、基于国产DCU的PCAL信号相位并行提取模块、两个DDS中间件以及两个数据拼包模块;
...【技术特征摘要】
1.一种pcal信号相位实时提取方法,其特征在于,在计算机内存中申请两个缓存区,定义为第一循环缓存区和第二循环缓存区;两个缓存区中划分出多个缓存模块,将每个缓存区内的缓存模块首尾相接,形成一个环形链;所述相位实时提取方法包括:
2.如权利要求1所述的一种pcal信号相位实时提取方法,其特征在于,所述第三步中,基于国产dcu的pcal信号相位并行提取算法结构,具体步骤包括:
3.如权利要求2所述的一种pcal信号相位实时提取方法,其特征在于,所述步骤1中,多线程串并转换的方法包括:将累加时间t s的pcal信号数据等分为m段每段2n个数据进行累加平均,进行一次累...
【专利技术属性】
技术研发人员:李雪健,焦义文,马宏,吴涛,刘杨,王育欣,宋雨珂,冯浩,陈其敏,安树森,
申请(专利权)人:中国人民解放军战略支援部队航天工程大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。