CN102183759A - 基于Linux集群的声纳实时信号处理实现方法 - Google Patents
基于Linux集群的声纳实时信号处理实现方法 Download PDFInfo
- Publication number
- CN102183759A CN102183759A CN2011100329903A CN201110032990A CN102183759A CN 102183759 A CN102183759 A CN 102183759A CN 2011100329903 A CN2011100329903 A CN 2011100329903A CN 201110032990 A CN201110032990 A CN 201110032990A CN 102183759 A CN102183759 A CN 102183759A
- Authority
- CN
- China
- Prior art keywords
- signal processing
- sonar
- core
- signal
- linux
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Measurement Of Velocity Or Position Using Acoustic Or Ultrasonic Waves (AREA)
Abstract
本发明涉及一种基于Linux集群的声纳实时信号处理实现方法,包括声纳基阵信号实时模拟器和声纳实时信号处理两部分。本发明将并行处理的设计思路引入声纳信号处理,将信号处理任务划分为各个独立的子任务,硬件资源的分配和数据链路由Linux集群自动完成,各个子任务自动分配运行在各个计算核心上,数据流、控制流均通过网络通讯方式自动实现,不需要人为干预。本发明有益的效果是:信号处理硬件平台采用Linux集群,造价低廉、易于构建,具有较好可扩展性,且计算能力强大。采用Linux操作系统,使得硬件与软件平台分离,信号处理编程在一个通用的开发环境中进行,简化了信号处理软件的难度。采用MPI消息传递库进行并行程序开发,充分发挥了集群的并行计算能力。
Description
技术领域
本发明属于集群并行计算机领域,声纳信号处理领域,主要是一种基于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集群中,可以同时运行和部署多部声纳信号处理,并且可以任意改变不同声纳运行的物理计算核心,具有极大的灵活性。
最后应说明,以上实例仅用以说明本发明的技术方案并且不限与此,而是在应用上可以延伸到其它的修改,变化,应用,并且认为所有这样的修改,变化,应用,实施实例都在本发明的精神和范围内。
Claims (2)
1.一种基于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非阻塞方式接收主控节点发来的命令。
2.根据权利要求1所述的基于Linux集群的声纳实时信号处理实现方法,其特征是:信号处理任务按两个层次进行子任务的划分:
(1)首先进行粗粒度的划分,对信号处理功能所需数据的相关性,按功能进行划分,使得不同子任务之间能够保持数据并行;
(2)根据不同的功能,根据计算量的不同,计算量大的对它按通道或波束进行进一步分割,计算量小的功能进行合并,使得每个计算核心上运行的程序符合其硬件计算能力要求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110032990 CN102183759B (zh) | 2011-01-25 | 2011-01-25 | 基于Linux集群的声纳实时信号处理实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110032990 CN102183759B (zh) | 2011-01-25 | 2011-01-25 | 基于Linux集群的声纳实时信号处理实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102183759A true CN102183759A (zh) | 2011-09-14 |
CN102183759B CN102183759B (zh) | 2013-05-01 |
Family
ID=44569959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110032990 Active CN102183759B (zh) | 2011-01-25 | 2011-01-25 | 基于Linux集群的声纳实时信号处理实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102183759B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102970245A (zh) * | 2012-11-21 | 2013-03-13 | 北京奇虎科技有限公司 | 数据传输方法及系统 |
CN102984084A (zh) * | 2012-11-21 | 2013-03-20 | 北京奇虎科技有限公司 | 计算机集群中节点间数据传输方法和系统 |
CN105391658A (zh) * | 2015-11-24 | 2016-03-09 | 无锡江南计算技术研究所 | 一种基于物理位置感知的集合通信方法 |
CN106681699A (zh) * | 2015-11-06 | 2017-05-17 | 中国电力科学研究院 | 大电网用在线分析计算的并行编程辅助系统及其调试方法 |
CN106842171A (zh) * | 2016-12-20 | 2017-06-13 | 中国船舶重工集团公司第七〇五研究所 | 一种基于任务自动分配的主被动水声阵列信号仿真并行计算方法 |
CN112632885A (zh) * | 2020-12-25 | 2021-04-09 | 山东产研鲲云人工智能研究院有限公司 | 软硬件联合验证系统及方法 |
CN114996077A (zh) * | 2022-08-08 | 2022-09-02 | 济南新语软件科技有限公司 | 一种多核并行仿真方法及实现多核并行仿真的平台架构 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040125700A1 (en) * | 2000-06-26 | 2004-07-01 | Bouyoucos John V. | Sonar system especially for shallow water application such as in littoral environments |
CN101210967A (zh) * | 2006-12-25 | 2008-07-02 | 柏建民 | 一种智能型声纳信号处理系统设计方法 |
CN101634708A (zh) * | 2009-07-13 | 2010-01-27 | 中国船舶重工集团公司第七一五研究所 | 一种主动声纳目标模拟器信号处理方法 |
-
2011
- 2011-01-25 CN CN 201110032990 patent/CN102183759B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040125700A1 (en) * | 2000-06-26 | 2004-07-01 | Bouyoucos John V. | Sonar system especially for shallow water application such as in littoral environments |
CN101210967A (zh) * | 2006-12-25 | 2008-07-02 | 柏建民 | 一种智能型声纳信号处理系统设计方法 |
CN101634708A (zh) * | 2009-07-13 | 2010-01-27 | 中国船舶重工集团公司第七一五研究所 | 一种主动声纳目标模拟器信号处理方法 |
Non-Patent Citations (2)
Title |
---|
孔强: "基于并行计算机的声呐数字信号处理系统", 《声学与电子工程》, no. 4, 31 December 2009 (2009-12-31), pages 48 - 49 * |
艾锐峰等: "声纳并行处理系统设计", 《湖南工程学院学报》, vol. 18, no. 4, 31 December 2008 (2008-12-31), pages 9 - 14 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102970245A (zh) * | 2012-11-21 | 2013-03-13 | 北京奇虎科技有限公司 | 数据传输方法及系统 |
CN102984084A (zh) * | 2012-11-21 | 2013-03-20 | 北京奇虎科技有限公司 | 计算机集群中节点间数据传输方法和系统 |
CN102984084B (zh) * | 2012-11-21 | 2016-06-29 | 北京奇虎科技有限公司 | 计算机集群中节点间数据传输方法和系统 |
CN102970245B (zh) * | 2012-11-21 | 2016-10-05 | 北京奇虎科技有限公司 | 数据传输方法及系统 |
CN106681699A (zh) * | 2015-11-06 | 2017-05-17 | 中国电力科学研究院 | 大电网用在线分析计算的并行编程辅助系统及其调试方法 |
CN105391658A (zh) * | 2015-11-24 | 2016-03-09 | 无锡江南计算技术研究所 | 一种基于物理位置感知的集合通信方法 |
CN105391658B (zh) * | 2015-11-24 | 2018-07-06 | 无锡江南计算技术研究所 | 一种基于物理位置感知的集合通信方法 |
CN106842171A (zh) * | 2016-12-20 | 2017-06-13 | 中国船舶重工集团公司第七〇五研究所 | 一种基于任务自动分配的主被动水声阵列信号仿真并行计算方法 |
CN106842171B (zh) * | 2016-12-20 | 2019-06-18 | 中国船舶重工集团公司第七一五研究所 | 一种基于任务自动分配的主被动水声阵列信号仿真并行计算方法 |
CN112632885A (zh) * | 2020-12-25 | 2021-04-09 | 山东产研鲲云人工智能研究院有限公司 | 软硬件联合验证系统及方法 |
CN114996077A (zh) * | 2022-08-08 | 2022-09-02 | 济南新语软件科技有限公司 | 一种多核并行仿真方法及实现多核并行仿真的平台架构 |
CN114996077B (zh) * | 2022-08-08 | 2022-11-01 | 济南新语软件科技有限公司 | 一种多核并行仿真方法及实现多核并行仿真的平台架构 |
Also Published As
Publication number | Publication date |
---|---|
CN102183759B (zh) | 2013-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102183759B (zh) | 基于Linux集群的声纳实时信号处理实现方法 | |
JP7044570B2 (ja) | 少なくとも1つの制御機器の少なくとも1つの制御機器機能をテストする方法 | |
CN101382968B (zh) | 一种先进综合式航空电子仿真系统及其仿真方法 | |
CN102385762B (zh) | 集成Modelica的三维视景仿真系统 | |
CN115879323B (zh) | 自动驾驶仿真测试方法、电子设备及计算机可读存储介质 | |
CN109884915A (zh) | 一种基于dds的嵌入式软件运行平台设计方法及其仿真平台 | |
US8768680B2 (en) | Simulator of multi-core system employing reconfigurable processor cores and method of simulating multi-core system employing reconfigurable processor cores | |
CN109711003A (zh) | 一种面向gpu芯片图形管线单元功能仿真方法及平台 | |
CN105956267B (zh) | 一种基于设备建模语言的嵌入式仿真串口及建模方法 | |
CN106842171B (zh) | 一种基于任务自动分配的主被动水声阵列信号仿真并行计算方法 | |
CN112035995A (zh) | 基于gpu计算技术的非结构网格潮汐潮流数值模拟方法 | |
CN105279007B (zh) | 多核处理器的模拟方法及装置 | |
CN109558226A (zh) | 一种基于核间中断的dsp多核并行计算调度方法 | |
CN101650436B (zh) | 一种嵌入式智能声探测系统 | |
CN112270083A (zh) | 一种多分辨建模与仿真方法及系统 | |
CN113190345A (zh) | 一种面向软件定义卫星的神经网络模型部署的方法以及装置 | |
EP4270189A1 (en) | Method of optimizing execution of a function on a control system and apparatus for the same | |
CN116679583A (zh) | 一种无人装备仿真试验导控系统 | |
CN103902767B (zh) | 基于QEMU和SystemC的多核仿真器 | |
George et al. | An Integrated Simulation Environment for Parallel and Distributed System Prototying | |
CN101957445B (zh) | 一种水声场信号实时产生器 | |
CN105677941A (zh) | 一种多通道目标和干扰模型仿真的方法及模拟器 | |
CN117725762B (zh) | 一种基于时域谱展开的水下瞬态声场仿真方法 | |
CN113469328B (zh) | 执行转数穿过的装置、板卡、方法及可读存储介质 | |
CN116776797A (zh) | 电力电子拓扑仿真系统、方法、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |