CN112732418A - 一种深水多波束并行计算方法 - Google Patents
一种深水多波束并行计算方法 Download PDFInfo
- Publication number
- CN112732418A CN112732418A CN202011280842.9A CN202011280842A CN112732418A CN 112732418 A CN112732418 A CN 112732418A CN 202011280842 A CN202011280842 A CN 202011280842A CN 112732418 A CN112732418 A CN 112732418A
- Authority
- CN
- China
- Prior art keywords
- parallel
- time
- processing
- parallel optimization
- optimization
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C13/00—Surveying specially adapted to open water, e.g. sea, lake, river or canal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Hydrology & Water Resources (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Measurement Of Velocity Or Position Using Acoustic Or Ultrasonic Waves (AREA)
Abstract
本发明公开了一种深水多波束并行计算方法,属于海洋测绘和计算机编程技术领域,一种深水多波束并行计算方法,包括如下步骤:S1、通过网络传输***,将换能器阵列接收的原始信号A/D数据传输到数字信号处理单元,在不同模式下此过程时间不等,从2s﹣20s对应的实时处理时间应该小于各距离的发射到接收时间;S2、进行一次正交解调的并行优化处理,基于通道数的循环并行优化;S3、进行二次正交解调的并行优化处理,按照数据输入通道进行并行处理;S4、进行脉冲压缩的并行优化处理,首先生成本地FM信号,然后按照通道数进行并行优化处理。本发明实现了在高采样率和多通道下的实时数字信号处理技术,最大范围内调用CPU的性能。
Description
技术领域
本发明涉及海洋测绘和计算机编程技术领域,更具体地说,涉及一种深水多波束并行计算方法。
背景技术
海底地形测量是当前研究海洋、探测海底环境、获取海洋信息的重要学科,多波束测深技术作为单波束技术后的重大革新,已成为海底地形测量中用处极广的一种方法,其作业方式不同于传统单波束测深技术,改良了单波束***作业效率低,一次只能获得一个位于测量设备正下方的观测值的模式,多波束一次测量采样,每通道即可获得大量的数据点(典型128通道,每通道2560000个采样点),在高频的采样率下即可获得高分辨率的海底地形信息。
深水多波束测深技术是基于多波束测深***原理进行研发的海洋测深技术,同样是基于回声测深技术,但不同点在于发射换能器在同一ping内的工作方式由原来的同步多波束改为顺序多波束,单次发射一束波束具有更强的能量会聚,能够穿透更深的海水层,深水多波束测深技术作用距离长、单ping时间长的特点导致单ping内处理的数据量十分庞大,对于实时的信号处理单元有着巨大的挑战。
深水多波束的实时信号处理单元的主要工作即将发射端与接收端的数据由网络传输***传递到处理模块,通过多重数字信号处理方法对A/D数据进行处理,实时信号处理的时间至少需要压缩到深水波束双向旅行时之内,在深水模式下,波束发射到采集完成的时间约20秒,意味着在20秒内实时信号处理单元要完成数字信号处理的一系列任务,深水多波束在采样率为128kHz的模式下,如果仅靠有限的硬件条件处理,数字信号处理单元所需要的时间远远超出这一时间范围,所以要对数字信号处理的各个环节进行优化。
深水多波束的数据在单通道一次接收2560k水下点数据,且当前***支持128通道数据,对于同样的数字信号处理函数而言,多通道的多线程并行处理是一种十分适合的优化方法,能够有效提高数字信号处理单元数据处理实时性的问题,寻找能够满足深水多波束数字信号处理单元实时数据处理功能的优化方法,成为当前对于深水多波束研究的重点。
发明内容
1.要解决的技术问题
针对现有技术中存在的问题,本发明的目的在于提供一种深水多波束并行计算方法,它实现了在高采样率和多通道下的实时数字信号处理技术,最大范围内调用CPU的性能。
2.技术方案
为解决上述问题,本发明采用如下的技术方案:
一种深水多波束并行计算方法,包括如下步骤:
S1、通过网络传输***,将换能器阵列接收的原始信号A/D数据传输到数字信号处理单元,在不同模式下此过程时间不等,从2s﹣20s对应的实时处理时间应该小于各距离的发射到接收时间;
S2、进行一次正交解调的并行优化处理,基于通道数的循环并行优化;
S3、进行二次正交解调的并行优化处理,按照数据输入通道进行并行处理;
S4、进行脉冲压缩的并行优化处理,首先生成本地FM信号,然后按照通道数进行并行优化处理;
S5、进行相移波束形成的并行优化处理,分别对各条带的接收波束进行相移时域波束形成并行优化处理。
作为本发明的一种优选方案,所述步骤S2基于OpenMp的并行优化实现,其基于OpenMp的并行优化实现过程如下:
#pragma omp parallel
#pragma omp for schedule(dynamic)
for(int channel=0;channel<ChNum;channel++)
{
Demod1();
}
在循环体接收到并行指令后,弹出多线程执行任务,直至最后一个线程结束,最终完成并行。
作为本发明的一种优选方案,所述步骤S3基于OpenMp的二次正交解调并行优化实现,其基于OpenMp的二次正交解调并行优化的实现过程如下:
#pragma omp parallel
#pragma omp for schedule(dynamic)
for(int channel=0;channel<ChNum;channel++)
{
for(int pin=0;pin<pinNum;pin++)
{
Demod2();
}
}。
作为本发明的一种优选方案,在基于OpenMp的并行优化实现步骤S2的过程中以在基于OpenMp的二次正交解调并行优化实现步骤S3的过程中,其最佳的信号处理模块架构为并行模块之间的衔接。
作为本发明的一种优选方案,所述schedule(dynamic)为动态并行块分配;
若硬件物理核心支持n线程,循环体的循环数为m,为每个分配n/m+1的任务,此时用子句schedule(static,n/m+1)实现。
作为本发明的一种优选方案,在每次循环体并行之前,设置线程数目可使用函数:
omp_set_num_threads(Thread_Num);
其中,Thread_Num为线程数目,最佳线程分配方法为:线程数目是物理核心的2倍。
作为本发明的一种优选方案,所述步骤S3在64线程的服务器上运行基于OpenMp的二次正交解调并行优化过程。
3.有益效果
相比于现有技术,本发明的优点在于:
本发明实现了在高采样率和多通道下的实时数字信号处理技术,最大范围内调用CPU的性能,利用多核CPU分配多线程并行处理,缩短算法执行时间,实现了***的高实时解算。
附图说明
图1为本发明一种深水多波束并行计算方法的流程图;
图2为本发明一种深水多波束并行计算方法中并行处理模式图;
图3为本发明一种深水多波束并行计算方法中二次正交解调并行计算架构图
图4为本发明一种深水多波束并行计算方法第一模块执行效率对比图;
图5为本发明一种深水多波束并行计算方法第二模块执行效率对比图。
具体实施方式
下面将结合本发明实施例中的附图对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例:
请参阅图1,一种深水多波束并行计算方法,包括如下步骤:
S1、通过网络传输***,将换能器阵列接收的原始信号A/D数据传输到数字信号处理单元,在不同模式下此过程时间不等,从2s﹣20s对应的实时处理时间应该小于各距离的发射到接收时间;
S2、进行一次正交解调的并行优化处理,基于通道数的循环并行优化,基于OpenMp的并行优化实现过程如下:
#pragma omp parallel
#pragma omp for schedule(dynamic)
for(int channel=0;channel<ChNum;channel++)
{
Demod1();
}
请参阅图2,在循环体接收到并行指令后会弹出多线程来执行任务,等到最后一个线程结束后完成并行;
S3、进行二次正交解调的并行优化处理,按照数据输入通道进行并行处理,请参阅图3,基于OpenMp的二次正交解调并行优化实现过程如下:
#pragma omp parallel
#pragma omp for schedule(dynamic)
for(int channel=0;channel<ChNum;channel++)
{
for(int pin=0;pin<pinNum;pin++)
{
Demod2();
}
}
对于嵌套循环的并行处理,将并行优化放在最***的循环上效果最佳,考虑到线程开销的影响,多次开启线程会造成很大程度的资源使用;
其中,使用OpenMp进行并行优化要基于本程序与硬件设施的要求,最佳的信号处理模块架构为分别按照通道进行相互独立的计算,然而实际上的波束形成不能按照通道独立的方式进行并行处理,因此转化为并行模块之间的衔接;
其中,请参阅图3,OpenMp的子句schedule(dynamic)代表动态并行块分配,若硬件物理核心支持n线程,循环体的循环数为m,原则上为每个分配n/m+1的任务,此时用子句schedule(static,n/m+1)来实现,此种情况只适用于处理器稳定且每次循环任务量大致相等的情况,为了更加贴合实际的计算规律,这里采用dynamic的分配模式,在并行处理时并行时间是从执行并行体开始,直到最后一个线程任务结束,会遭遇到线程阻塞问题,此问题无法避免,在static模式下会造成时间浪费,由于单个Task的计算时间并不稳定,所以最佳分配方式即当前线程处理完成上个Task后选择就近的Task执行,计算快的线程会增加计算量,大大优化了并行处理的处理速度;
其中,在每次循环体并行之前,设置线程数目可使用函数:
omp_set_num_threads(Thread_Num);
其中,Thread_Num为线程数目,最佳线程分配方案为线程数目是物理核心的2倍,若超出计算机规定最大线程数目,即使显示能够分配更多的线程,也会造成伪并行的现象;
其中,请参照图4和图5,在64线程的服务器上运行OpenMp并行优化的二次正交解调和脉冲压缩处理过程,串行所需时间约在240秒,并行所需时间为6.3秒左右,效率提升约是3810%,并行优化提升效率与Thread_Num的大小线性相关,但是在超多线程的情况下,线程开销成为占用处理时间较长的部分,在处理过程中,需要多次试验找到一种最佳线程数目的方式进行并行处理;
其中,并行处理技术是建立在各循环相对独立的基础上,对于独立性并不强的循环体而言,增加线程数目的方案反而会造成线程之间相互等待,总处理时间会延长;
其中,并行处理技术若出现在一个循环体内前面改变的参数在后面会继续使用,就要将其保护起来,可以采用private、firstprivate子句将参数设为各循环私有变量,或使用copy子句将该参数复制到各循环内,同时private相当于给参数上锁,在一定程度上会降低并行效率;
S4、进行脉冲压缩的并行优化处理,首先生成本地FM信号,然后按照通道数进行并行优化处理;
S5、进行相移波束形成的并行优化处理,分别对各条带的接收波束进行相移时域波束形成并行优化处理。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其改进构思加以等同替换或改变,都应涵盖在本发明的保护范围内。
Claims (7)
1.一种深水多波束并行计算方法,其特征在于,包括如下步骤:
S1、通过网络传输***,将换能器阵列接收的原始信号A/D数据传输到数字信号处理单元,在不同模式下此过程时间不等,从2s﹣20s对应的实时处理时间应该小于各距离的发射到接收时间;
S2、进行一次正交解调的并行优化处理,基于通道数的循环并行优化;
S3、进行二次正交解调的并行优化处理,按照数据输入通道进行并行处理;
S4、进行脉冲压缩的并行优化处理,首先生成本地FM信号,然后按照通道数进行并行优化处理;
S5、进行相移波束形成的并行优化处理,分别对各条带的接收波束进行相移时域波束形成并行优化处理。
2.根据权利要求1所述的一种深水多波束并行计算方法,其特征在于,所述步骤S2基于OpenMp的并行优化实现,其基于OpenMp的并行优化实现过程如下:
#pragma omp parallel
#pragma omp for schedule(dynamic)
for(int channel=0;channel<ChNum;channel++)
{
Demod1();
}
在循环体接收到并行指令后,弹出多线程执行任务,直至最后一个线程结束,最终完成并行。
3.根据权利要求1所述的一种深水多波束并行计算方法,其特征在于,所述步骤S3基于OpenMp的二次正交解调并行优化实现,其基于OpenMp的二次正交解调并行优化的实现过程如下:
#pragma omp parallel
#pragma omp for schedule(dynamic)
for(int channel=0;channel<ChNum;channel++)
{
for(int pin=0;pin<pinNum;pin++)
{
Demod2();
}
}。
4.根据权利要求3所述的一种深水多波束并行计算方法,其特征在于,其中,在基于OpenMp的并行优化实现步骤S2的过程中以在基于OpenMp的二次正交解调并行优化实现步骤S3的过程中,其最佳的信号处理模块架构为并行模块之间的衔接。
5.根据权利要求3所述的一种深水多波束并行计算方法,其特征在于,其中,所述schedule(dynamic)为动态并行块分配;
若硬件物理核心支持n线程,循环体的循环数为m,为每个分配n/m+1的任务,此时用子句schedule(static,n/m+1)实现。
6.根据权利要求3所述的一种深水多波束并行计算方法,其特征在于,其中,在每次循环体并行之前,设置线程数目可使用函数:
omp_set_num_threads(Thread_Num);
其中,Thread_Num为线程数目,最佳线程分配方法为:线程数目是物理核心的2倍。
7.根据权利要求3所述的一种深水多波束并行计算方法,其特征在于,其中,所述步骤S3在64线程的服务器上运行基于OpenMp的二次正交解调并行优化过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011280842.9A CN112732418A (zh) | 2020-11-16 | 2020-11-16 | 一种深水多波束并行计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011280842.9A CN112732418A (zh) | 2020-11-16 | 2020-11-16 | 一种深水多波束并行计算方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112732418A true CN112732418A (zh) | 2021-04-30 |
Family
ID=75597526
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011280842.9A Pending CN112732418A (zh) | 2020-11-16 | 2020-11-16 | 一种深水多波束并行计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112732418A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113504989A (zh) * | 2021-07-08 | 2021-10-15 | 山东科技大学 | 一种近底多波束正交解调处理的多核并行处理方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101912277A (zh) * | 2010-08-06 | 2010-12-15 | 深圳市蓝韵实业有限公司 | 一种基于流水线设计的实时数字正交解调的方法与装置 |
CN102768358A (zh) * | 2011-05-05 | 2012-11-07 | 中国科学院声学研究所 | 一种基于fpga的水下实时成像方法及*** |
US20130279293A1 (en) * | 2012-04-19 | 2013-10-24 | Cggveritas Services Sa | Vectorization of fast fourier transform for elastic wave propogation for use in seismic underwater exploration of geographical areas of interest |
CN106814360A (zh) * | 2015-11-30 | 2017-06-09 | 江苏中海达海洋信息技术有限公司 | 一种基于线性调频信号的多波束测深*** |
CN107064944A (zh) * | 2017-03-17 | 2017-08-18 | 浙江星天海洋科学技术有限公司 | 基于跳频信号的高速多波束测深***及其测深方法 |
CN110146852A (zh) * | 2019-06-21 | 2019-08-20 | 电子科技大学 | 一种基于gpu加速的雷达接收机正交解调实现方法 |
CN111177988A (zh) * | 2019-12-31 | 2020-05-19 | 上海船舶电子设备研究所(中国船舶重工集团公司第七二六研究所) | 基于fpga实现的智能多波束形成*** |
-
2020
- 2020-11-16 CN CN202011280842.9A patent/CN112732418A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101912277A (zh) * | 2010-08-06 | 2010-12-15 | 深圳市蓝韵实业有限公司 | 一种基于流水线设计的实时数字正交解调的方法与装置 |
CN102768358A (zh) * | 2011-05-05 | 2012-11-07 | 中国科学院声学研究所 | 一种基于fpga的水下实时成像方法及*** |
US20130279293A1 (en) * | 2012-04-19 | 2013-10-24 | Cggveritas Services Sa | Vectorization of fast fourier transform for elastic wave propogation for use in seismic underwater exploration of geographical areas of interest |
CN106814360A (zh) * | 2015-11-30 | 2017-06-09 | 江苏中海达海洋信息技术有限公司 | 一种基于线性调频信号的多波束测深*** |
CN107064944A (zh) * | 2017-03-17 | 2017-08-18 | 浙江星天海洋科学技术有限公司 | 基于跳频信号的高速多波束测深***及其测深方法 |
CN110146852A (zh) * | 2019-06-21 | 2019-08-20 | 电子科技大学 | 一种基于gpu加速的雷达接收机正交解调实现方法 |
CN111177988A (zh) * | 2019-12-31 | 2020-05-19 | 上海船舶电子设备研究所(中国船舶重工集团公司第七二六研究所) | 基于fpga实现的智能多波束形成*** |
Non-Patent Citations (2)
Title |
---|
XIAODONG LIU等: "The Design of 3D Forward-looking Sonar and Data Processing Method", 《IEEE CONFERENCE PUBLICATION》 * |
柴鹏: "主动声呐水下探测实时并行仿真***", 《中国优秀硕士论文全文数据库 工程科技Ⅱ辑》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113504989A (zh) * | 2021-07-08 | 2021-10-15 | 山东科技大学 | 一种近底多波束正交解调处理的多核并行处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112526451B (zh) | 基于麦克风阵列成像的压缩波束形成及*** | |
CN106199579A (zh) | 分布式mimo雷达目标跟踪精度联合资源优化方法 | |
CN106776455B (zh) | 一种单机多gpu通信的方法及装置 | |
CN106714301B (zh) | 一种无线定位网络中的载波优化方法 | |
CN112986944B (zh) | 一种基于cuda异构并行加速的雷达mti和mtd实现方法 | |
CN105445792A (zh) | 一种叠前多次波逆时偏移地震数据处理方法及*** | |
CN113671478B (zh) | 基于多核cpu的高速机动目标识别数据处理方法 | |
Shi et al. | A DAG model of synchronous stochastic gradient descent in distributed deep learning | |
CN112732418A (zh) | 一种深水多波束并行计算方法 | |
CN114697978B (zh) | 一种智能反射面辅助的上行移动边缘计算方法及*** | |
Sun et al. | Bounding completion times of jobs with arbitrary release times and variable execution times | |
US20030055956A1 (en) | Method, apparatus, and program for measuring server performance using multiple clients | |
CN106908754A (zh) | L型声矢量传感器阵列esprit解相干参数估计方法 | |
Kunz et al. | Expanding the event horizon in parallelized network simulations | |
CN103728616A (zh) | 基于fpga的isar成像并行包络对齐方法 | |
CN113567919A (zh) | 一种通信信号的时频差参数联合估计gpu实现方法 | |
Chu et al. | Dynamic kernel fusion for bulk non-contiguous data transfer on GPU clusters | |
CN111337896A (zh) | 一种实现动目标检测加速的方法 | |
CN105372644A (zh) | 一种基于动态重修正的自适应波束形成方法及*** | |
KR101217492B1 (ko) | 병렬 처리를 이용한 음원 위치 추정 장치 및 방법 | |
Gopalakrishnan et al. | Sharp thresholds for scheduling recurring tasks with distance constraints | |
Korsgaard et al. | Schedulability analysis of malleable tasks with arbitrary parallel structure | |
Xiao et al. | Parallel implementation for three-dimensional acoustic field computation in a penetrable wedge by image source method | |
Zhu et al. | Parallel optimization of underwater acoustic models: A survey | |
Krishnamoorthy et al. | Task scheduling with and without communication delays: A unified approach |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210430 |
|
RJ01 | Rejection of invention patent application after publication |