首页> 中国专利> 基于Linux集群的声纳实时信号处理实现方法

基于Linux集群的声纳实时信号处理实现方法

摘要

本发明涉及一种基于Linux集群的声纳实时信号处理实现方法,包括声纳基阵信号实时模拟器和声纳实时信号处理两部分。本发明将并行处理的设计思路引入声纳信号处理,将信号处理任务划分为各个独立的子任务,硬件资源的分配和数据链路由Linux集群自动完成,各个子任务自动分配运行在各个计算核心上,数据流、控制流均通过网络通讯方式自动实现,不需要人为干预。本发明有益的效果是:信号处理硬件平台采用Linux集群,造价低廉、易于构建,具有较好可扩展性,且计算能力强大。采用Linux操作系统,使得硬件与软件平台分离,信号处理编程在一个通用的开发环境中进行,简化了信号处理软件的难度。采用MPI消息传递库进行并行程序开发,充分发挥了集群的并行计算能力。

著录项

  • 公开/公告号CN102183759A

    专利类型发明专利

  • 公开/公告日2011-09-14

    原文格式PDF

  • 申请/专利号CN201110032990.3

  • 发明设计人 孔强;文明;彭玲;刘辉涛;

    申请日2011-01-25

  • 分类号G01S7/539;G06F9/46;

  • 代理机构杭州九洲专利事务所有限公司;

  • 代理人陈继亮

  • 地址 310012 浙江省杭州市西湖区华星路96号

  • 入库时间 2023-12-18 03:26:04

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-05-01

    授权

    授权

  • 2011-11-02

    实质审查的生效 IPC(主分类):G01S7/539 申请日:20110125

    实质审查的生效

  • 2011-09-14

    公开

    公开

说明书

技术领域

本发明属于集群并行计算机领域,声纳信号处理领域,主要是一种基于Linux集群的声纳实时信号处理实现方法。

背景技术

声纳数字信号处理主要完成波束形成、数字滤波、频谱分析等数字信号处理功能,是现代数字式声纳的重要组成部分。目前,声纳信号处理系统主要在专用的信号处理机上实现,需要专用的信号处理芯片和数据传输硬件支持,板间和芯片间通讯的拓扑结构是固定的,随着声纳信号处理越来越复杂,信号处理机在计算和数据规模激增的情况下往往被总线和板间数据传输瓶颈限制计算能力的提高。

随着声纳系统不断的朝着网络化、集成化和高性能的方向发展,对硬件资源的重新分配,软件的重新构建提出了更高的要求,随着计算机并行处理技术的不断完善,特别是分布式并行处理技术的成熟,为我们提供了一种有效的技术手段。

发明内容

本以明的目的正是为了克服上述技术的不足,而提供一种基于Linux集群的声纳实时信号处理实现方法,基于Linux集群平台提出了一种实现声纳实时信号处理的方法,以满足水声装备网络化、集成化和软件重构的体制需求。

本发明解决其技术问题采用的技术方案:这种基于Linux集群的声纳实时信号处理实现方法,包括如下步骤:

(1)、声纳基阵信号实时模拟

在Linux集群上进行基阵信号模拟实时计算,根据不同阵形和阵元数自动分配计算核心数量,实时产生基阵数字信号,通过网络发送给信号处理部分进行处理,包括以下步骤:

步骤1:设置运行参数,包括态势参数、目标源参数、目标注入参数和环境参数;

步骤2:根据传入的目标态势计算各目标相对本声纳的距离方位,根据目标源信号参数计算目标源信号,根据环境参数计算传播损失和环境噪声;

步骤3:根据声纳方程计算出基阵参考信号;

步骤4:设基阵阵元数为N,标号为0~(N-1),而所需集群的计算核心数量为np,向Linux集群申请np个空闲计算核心,核心物理位置由Linux集群随机分配,内部统一视为0到np号核心,将基阵参考信号广播到这np个计算核心上,每个计算核心自行按时延计算N/np个基元输出信号;

步骤5:在0号计算核心上收集所有基元输出信号,发送给信号处理部分,根据航向/航速计算出下一步目标和本声纳的位置,即新的态势信息,转步骤3;

(2)、声纳实时信号处理:

根据声纳信号处理的不同功能的特点,将信号处理任务分割成合理的子任务,将它们分配给集群上的不同计算核心进行并行处理,上述所有子任务及主控计算核心均以单独的进程方式运行在Linux集群上,进程之间的数据和命令传递均采用MPI消息传递的方式,保证其同步性,从而实现多进程独立并行计算;包括以下步骤:

步骤1:在Linux集群上并行启动所需要的M个进程,每个进程运行在一个空闲的计算核心上。进程0为主进程,即主控计算核心;

步骤2:主控计算核启动双线程,主线程等待接收信号处理结果,并进行组织后,使用UDP协议发送至模拟显控台进行显示;子线程采用阻塞UDP接收方式等待接收显控台发来的控制命令,主控节点根据命令码选择发送给相关的信号处理节点,采用的方式为MPI标准发送方式;

步骤3:信号处理相关计算核使用广播方式接收基阵数据,并进行相应信号处理后,使用MPI发送结果至主控节点;另外在信号处理过程中,采用MPI非阻塞方式接收主控节点发来的命令。

所述的信号处理任务按两个层次进行子任务的划分:

(1)首先进行粗粒度的划分,对信号处理功能所需数据的相关性,按功能进行划分,使得不同子任务之间能够保持数据并行;

(2)根据不同的功能,根据计算量的不同,计算量大的对它按通道或波束进行进一步分割,计算量小的功能进行合并,使得每个计算核心上运行的程序符合其硬件计算能力要求。

本发明有益的效果是:

(1)信号处理硬件平台采用Linux集群,造价低廉、易于构建,具有较好可扩展性,且计算能力强大。

(2)采用Linux操作系统,使得硬件与软件平台分离,信号处理编程在一个通用的开发环境中进行,简化了信号处理软件的难度。

(3)采用MPI消息传递库进行并行程序开发,充分发挥了集群的并行计算能力。

附图说明

图1:Linux集群系统体系结构

图2:实时基阵信号模拟器软件框图

图3:信号处理软件顶层结构图

图4:主控计算核框图

图5:信号处理软件实施方案。

具体实施方式

下面结合附图和实施例对本发明作进一步说明:

本发明提出了一种基于Linux集群的声纳实时信号处理方法,以Linux集群作为信号处理的硬件平台。系统体系结构如图1所示。

本发明将并行处理的设计思路引入声纳信号处理。将信号处理任务划分为各个独立的子任务,硬件资源的分配和数据链路由Linux集群自动完成,各个子任务自动分配运行在各个计算核心上,数据流、控制流均通过网络通讯方式自动实现,不需要人为干预。实现了不依赖于硬件的声纳信号处理任务,极大地提高了软件开发的灵活性和可重构性。

本发明使用的Linux集群采用了分布式共享内存结构的集群群高性能计算机(图2),计算核间通过高性能网络进行连接。它是一种造价低廉、易于构建,具有较好可扩展性的并行机体系结构。集群中任意两个计算核间均可以通过网络互相通讯,当需要扩展计算能力时,只需将新增的计算计算核通过网络交换机接入即可,对计算核本身没有特殊的要求。

本发明包括声纳基阵信号实时模拟器和声纳实时信号处理两部分。

(1)声纳基阵信号实时模拟器

本发明在Linux集群上进行信号模拟计算,根据不同阵形和阵元数自动分配计算核心数量。在PC机上进行参数设置,将目标辐射噪声、环境噪声、传播损失、目标及本艇的运动特征等多种因素引入声纳信号模拟器的仿真,可以根据目标特性产生相应的源信号,根据环境特性产生相应的环境噪声和传播损失,同时能接入交战系统和注入实际基阵录音的数据。

我们在Linux集群上进行基阵信号模拟实时计算,根据不同阵形和阵元数自动分配计算核心数量,实时产生基阵数字信号,通过网络发送给信号处理部分进行处理。包括以下步骤:

a)平台运动

可以根据任意设置的平台初始态势,计算各平台的当前态势,显示当前各平台的经纬度,并给出示意图,还可以接入交战系统,接收实时的目标态势。

b)平台辐射噪声

可根据设置的连续谱特性生成相应的连续谱源信号,并可叠加DEMON、LOFAR信号,DEMON、LOFAR信号的特性可以设置。

c)背景干扰

能根据不同的海况和航运状况生成相应的环境噪声,根据不同的航速生成相应的自噪声。

d)海洋声传播

可根据不同的衰减系数和吸收系数产生不同的传播损失,并可以接入海洋信道滤波器,与源信号卷积生成相应的基阵参考信号。

e)基阵空间采样

可以进行直线阵和圆阵两种基阵空间采样。

f)注音

可以进行源信号注音和全基阵注音。

实时基阵信号模拟器软件框图如图2,包括以下步骤:

步骤1:设置运行参数,包括态势参数、目标源参数、目标注入参数和环境参数等运行参数。

步骤2:根据传入的目标态势计算各目标相对本声纳的距离方位。根据目标源信号参数计算目标源信号,根据环境参数计算传播损失和环境噪声。

步骤3:根据声纳方程计算出基阵参考信号。

步骤4:设基阵阵元数为N(标号为0~(N-1)),而所需集群的计算核心数量为np,向Linux集群申请np个空闲计算核心,核心物理位置由Linux集群随机分配,内部统一视为0到np号核心,将基阵参考信号广播到这np个计算核心上,每个计算核心自行按时延计算N/np个基元输出信号。

步骤5:在0号计算核心上收集所有基元输出信号,发送给信号处理部分。根据航向/航速计算出下一步目标和本声纳的位置(即新的态势信息),转步骤3。

(2)声纳实时信号处理

本发明的信号处理软件采用主从式的编程方式,主控计算核心负责控制和与外部通讯功能,并且收集各个信号处理任务的结果进行汇总。根据声纳信号处理的不同功能的特点,将信号处理任务分割成合理的子任务,将它们分配给集群上的不同计算核心进行并行处理。上诉所有子任务及主控计算核心均以单独的进程方式运行在Linux集群上,进程之间的数据和命令传递均采用MPI消息传递的方式,以保证其同步性,从而实现多进程独立并行计算。

软件顶层结构图如图3。

包括以下步骤:

步骤1:在Linux集群上并行启动所需要的M个进程,每个进程运行在一个空闲的计算核心上。进程0为主进程,即主控计算核心。

步骤2:主控计算核启动双线程,主线程等待接收信号处理结果,并进行组织后,使用UDP协议发送至模拟显控台进行显示。子线程采用阻塞UDP接收方式等待接收显控台发来的控制命令,主控节点根据命令码选择发送给相关的信号处理节点,采用的方式为MPI标准发送方式。主控计算核框图如图4。

步骤3:信号处理相关计算核使用广播方式接收基阵数据,并进行相应信号处理后,使用MPI发送结果至主控节点。另外在信号处理过程中,采用MPI非阻塞方式接收主控节点发来的命令。

信号处理任务按两个层次进行子任务的划分:

1)首先进行粗粒度的划分,对信号处理功能所需数据的相关性,按功能进行划分,使得不同子任务之间能够保持数据并行。

2)根据不同的功能,根据计算量的不同,计算量大的对它按通道或波束进行进一步分割,计算量小的功能进行合并,使得每个计算核心上运行的程序符合其硬件计算能力要求。

信号处理软件实施方案如图5。

软件运行环境基于Linux操作系统和MPI消息传递库,软件运行时会自动寻找集群上空闲的计算核心,各个进程运行的物理核心由系统自动分配,无须人为指定,而且任意进程之间均可通过MPI网络进行数据交换和通讯。因此,在一个Linux集群中,可以同时运行和部署多部声纳信号处理,并且可以任意改变不同声纳运行的物理计算核心,具有极大的灵活性。

最后应说明,以上实例仅用以说明本发明的技术方案并且不限与此,而是在应用上可以延伸到其它的修改,变化,应用,并且认为所有这样的修改,变化,应用,实施实例都在本发明的精神和范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号