A bow sonar demonstration device based on GPU parallel architecture
By integrating hardware-in-the-loop simulation and signal processing algorithm verification through a bow sonar demonstration device based on a GPU parallel architecture, the shortcomings of existing sonar demonstration devices in terms of signal authenticity, algorithm processing capabilities, training and teaching functions, and target and scene simulation are solved, enabling real-time construction of complex acoustic scenes and professional training.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SHENYANG LIAOHAI EQUIP
- Filing Date
- 2025-12-31
- Publication Date
- 2026-05-29
AI Technical Summary
Existing sonar demonstration devices are inadequate in terms of signal authenticity, algorithm processing capabilities, training and teaching functions, target and scenario simulation, and closed-loop testing, and cannot meet the training needs of professional trainees.
The bow sonar demonstration device, based on a GPU parallel architecture, integrates hardware-in-the-loop simulation, signal processing algorithm verification, and teaching demonstration functions. It utilizes the massive parallel computing capabilities provided by the GPU and combines vector hydrophone models, scalar hydrophone models, and submarine models to achieve real-time construction and simulation training of complex acoustic scenarios.
It enables real-time processing and analysis of sonar signals, provides three-dimensional dynamic visualization and real-time signal feedback, helps trainees understand the relationships between modules, stimulates their learning interest, and verifies new algorithms, thus meeting the needs of professional training.
Smart Images

Figure CN122116730A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of underwater target detection simulation technology, and in particular to a bow sonar demonstration device based on a GPU parallel architecture. Background Technology
[0002] Existing sonar demonstration or testing devices suffer from the following main problems:
[0003] (1) Insufficient signal authenticity: Most teaching devices use pre-recorded or simply generated acoustic signals, which cannot simulate the complex and ever-changing real marine acoustic environment.
[0004] (2) Weak algorithm processing capability: It relies on the CPU for signal processing, making it difficult to process large-scale hydrophone array data in real time and unable to implement advanced beamforming, target analysis and other algorithms.
[0005] (3) Lack of training and teaching functions: Trainees lack systematic training and intuitive understanding mechanisms, which cannot meet the training needs of professional trainees.
[0006] (4) Limited target and scenario: It lacks a highly dynamic and physically accurate target model, making it impossible to simulate real underwater combat, target tracking and other scenarios.
[0007] (5) Lack of closed-loop testing: It is impossible to integrate the signals collected by the real hydrophone with the virtual acoustic environment, making it difficult to verify the sensors and algorithms. Summary of the Invention
[0008] This disclosure provides a bow sonar demonstration device based on a GPU parallel architecture. This device is a comprehensive platform integrating hardware-in-the-loop simulation, signal processing algorithm verification, and educational demonstration. It integrates GPU real-time computing, hydrophone array signal construction and processing, submarine sonar modeling, and simulation training functions. This device is capable of implementation and is particularly suitable for this purpose.
[0009] The bow sonar demonstration device based on a GPU parallel architecture disclosed herein mainly includes: a hardware system, a software system, and a demonstration model, wherein:
[0010] The hardware system is used to complete the teaching task of simulating sonar operation. The GPU is used as a signal processor to provide large-scale parallel computing capabilities and ensure the real-time construction of complex acoustic scenes.
[0011] The software system, including signal processing software and display and control software, is used for teaching demonstrations simulating basic sonar functions, including noise warning, tracking, listening, and feature analysis.
[0012] The demonstration models include one or more of the following: vector hydrophone model, scalar hydrophone model, acoustic array model, and submarine model.
[0013] Furthermore, the hardware system includes:
[0014] (1) Simulate independent station cabinet
[0015] Used to deploy the corresponding sonar software and complete the teaching task of simulating sonar operation;
[0016] (2) GPU computing platform
[0017] As the computing core of the entire system, it is responsible for running the sonar signal processing software and constructing and playing the array element domain data; it is equipped with a high-performance GPU as a signal processor, providing large-scale parallel computing capabilities to ensure the real-time construction of complex acoustic scenes;
[0018] (3) Control and display unit
[0019] It is used to provide a human-machine interface to realize system control and data visualization; including: upper display and control processing unit, lower display and control processing unit, touch display and control unit, and several sonar display and control units; among them, a thin client high-performance PC is used, which is interconnected with the GPU workstation to be responsible for task scheduling, data visualization, and running display and control software.
[0020] Furthermore, the signal processing software in the software system runs on a GPU computing platform and uses CUDA for parallel acceleration to realize real-time processing and analysis of sonar signals, including: analog signal construction, analog array data information reading and parsing, frequency domain conventional beamforming, single-beam listening, multi-target tracking, and target feature analysis, among one or more of these.
[0021] Furthermore, the signal processing software consists of 6 CPU threads, each executing a different task; the software data flow is divided into array data stream and control command stream; apart from the array data receiving task thread and the control command receiving task thread, the rest are signal processing task threads.
[0022] The array data stream is received by the array element receiving task thread and transmitted between various signal processing task threads through a mutex lock. The rhythm of all signal processing task threads is controlled by the array data stream; the final processing result is transmitted to the display controller.
[0023] The control command stream is received by the control command receiving task thread and passed to each signal processing task thread as global variables to change the various parameters of the signal processing.
[0024] The signal processing software uses a CPU+GPU heterogeneous parallel architecture, with Ubuntu as the operating system and CUDA as the development environment.
[0025] Furthermore, the GPU parallel architecture is as follows:
[0026] The signal processing software adopts a three-level parallel architecture of multithreading-stream-kernel, which corresponds to parallelism at the task level, inter-kernel level, and data level, respectively.
[0027] The first layer is data-level parallelism on the GPU, that is, CUDA kernel parallelism on the GPU. This layer achieves parallel computation between data by allocating GPU threads to one or more sets of data that need to be processed.
[0028] The second layer is inter-core parallelism on the GPU, also known as streaming, which uses CUDA's implicit or explicit streaming concurrency techniques to achieve parallelism of multiple CUDA cores.
[0029] The third layer is task-level parallelism on the CPU. Different CPU threads start and schedule GPU kernels to complete different GPU tasks, thus achieving parallelism of multiple tasks.
[0030] Furthermore, in the CUDA program architecture design, after the host receives data, it undergoes simple processing before entering the GPU. All subsequent calculations are performed on the GPU, and the results are returned to the host.
[0031] Furthermore, the method for constructing analog signals in the signal processing software includes:
[0032] The simulated sonar array element data is stored in local memory, and the data is replayed using the UDP protocol in a "local loopback" manner to simulate the sonar data reception process.
[0033] Furthermore, the data reading and parsing method in the signal processing software includes:
[0034] After receiving the analog array metadata information, a network receive buffer technology based on a circular queue and a Linux system nanometer-level clock fine oscillation control technology are used to ensure the continuity of data reading.
[0035] Then, the data is parsed according to the communication protocol;
[0036] The parsing process employs multicast network port isolation to ensure data accuracy and integrity.
[0037] Furthermore, the method for conventional beamforming in the frequency domain within the signal processing software includes:
[0038] The signals received by each hydrophone element are converted to the frequency domain by FFT, so that they are superimposed in phase in a given direction to achieve maximum output and realize broadband energy detection of noise targets.
[0039] Omnidirectional noise warning function is achieved based on multiple practical operating frequency bands.
[0040] Furthermore, the single-beam listening method in the signal processing software includes:
[0041] Based on the target azimuth required by the display and control command, the time domain is used to compensate for the delay superposition of the pair data to form a single pre-formed beam.
[0042] The sound is then sent to the sound filtering module for filtering, and the result is output to the sound card.
[0043] Among them, upsampling and downsampling techniques are used in combination with multiple low-pass and band-pass filters to ensure sound quality at a fixed low sampling frequency;
[0044] The cursor beam value indicates the location of the listening target and performs precise target measurement. Depending on the usage scenario, it completes digital filtering of the corresponding frequency band to achieve noise listening function.
[0045] Compared with the prior art, the beneficial effects of this disclosure are: (1) to realize the concretization and visualization of abstract concepts through three-dimensional dynamic visualization and real-time signal feedback;
[0046] (2) Help students develop "system-level" thinking, understand the interrelationships and influences between modules, rather than learning knowledge points in isolation;
[0047] (3) It can access the most primitive array element-level data, use MATLAB or Python to write its own beamforming, target detection or feature extraction algorithms, compare the results with the system's built-in algorithms, and gain a deeper understanding of the algorithm kernel;
[0048] (4) New signal processing algorithms can be verified and new target recognition features can be studied on this platform, stimulating learning interest and scientific research potential. Attached Figure Description
[0049] The above and other objects, features and advantages of this disclosure will become more apparent from the more detailed description of exemplary embodiments of this disclosure taken in conjunction with the accompanying drawings, in which the same reference numerals generally represent the same components.
[0050] Figure 1 This is a functional block diagram of the signal processing software.
[0051] Figure 2 This is a functional block diagram of the display and control software;
[0052] Figure 3 A schematic diagram of the target feature analysis interface;
[0053] Figure 4 This is a schematic diagram of the noise warning interface;
[0054] Figure 5 This is a schematic diagram of a sonar keyboard interface;
[0055] Figure 6 This is a block diagram illustrating the principle of a parallel architecture.
[0056] Figure 7 Here is a flowchart of frequency domain beamforming;
[0057] Figure 8 This is a flowchart of a single-beam listening procedure.
[0058] Figure 9 Flowchart for DEMON analysis;
[0059] Figure 10 LOFAR analysis flowchart;
[0060] Figure 11 The curves of three adjacent beams on the same coordinate system;
[0061] Figure 12 A flowchart for multi-target tracking;
[0062] Figure 13 A block diagram of the sonar demonstration system;
[0063] Figure 14 This is a block diagram illustrating the principle of a sonar demonstration system.
[0064] Figure 15 This is a software block diagram of a sonar demonstration system. Detailed Implementation
[0065] Preferred embodiments of the present disclosure will now be described in more detail with reference to the accompanying drawings. While preferred embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be implemented in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that the present disclosure will be thorough and complete, and will fully convey the scope of the present disclosure to those skilled in the art.
[0066] This disclosure provides a bow sonar demonstration device integrating GPU real-time computing, hydrophone array signal construction and processing, submarine sonar model, and simulation training functions. This device is a comprehensive platform integrating hardware-in-the-loop simulation, signal processing algorithm verification, and educational demonstration.
[0067] In one exemplary implementation, the system consists of three main parts: a hardware system, a software system, and a demonstration model.
[0068] 1. Hardware System
[0069] (1) Simulate independent station cabinet
[0070] The cabinet serves as a display and control platform, housing the upper and lower display and control processing units, touch display and control processing unit, GPU computing platform, mouse, keyboard, headset, network switch, power supply, and other electronic units, and providing them with power interfaces and cabling space. It is used for teaching tasks involving simulated sonar operation and can deploy corresponding sonar software.
[0071] (2) GPU computing platform
[0072] It is equipped with a high-performance GPU (NVIDIA-JETSON-AGX-ORIN) as the signal processor.
[0073] As the computational core of the entire system, it is responsible for running the sonar signal processing software and constructing and playing array element domain data.
[0074] It provides massively parallel computing capabilities to ensure the real-time construction of complex acoustic scenarios.
[0075] (3) Control and display unit
[0076] It is equipped with an upper display and control processing unit, a lower display and control processing unit, a touch display and control unit, and three sonar display and control units.
[0077] Thin clients are high-performance PCs that interconnect with GPU workstations, handling task scheduling, data visualization, and running display control software.
[0078] It provides a human-computer interaction interface to enable system control and data visualization.
[0079] 2. Software System
[0080] This equipment is primarily used for teaching demonstrations of basic sonar functions such as noise alerting, tracking, listening, and feature analysis. The software includes signal processing software and display / control software. The display / control software comprises three configuration items: an upper display / control software unit, a lower display / control software unit, and a sonar keyboard unit.
[0081] 2.1 Signal Processing Software
[0082] The signal processing software is the computational core of the system, primarily running on a GPU computing platform and employing CUDA for parallel acceleration. The software fully leverages the parallel computing capabilities of the GPU to achieve real-time processing and analysis of sonar signals, thereby improving data processing efficiency.
[0083] The specific functional block diagram of the signal processing software is as follows: Figure 1 As shown.
[0084] (1) Construction of analog signals
[0085] The simulated sonar array element data is stored in local memory, and the data is replayed using the UDP protocol in a "local loopback" manner to simulate the sonar data reception process.
[0086] (2) Data reading and parsing
[0087] The main function of the data reading and parsing module is to receive the analog array metadata information, quickly read the data through high-speed network data receiving technology, use network receiving buffer technology based on a circular queue and Linux system nanometer-level clock precision control technology to ensure the continuity of data reading, and then parse the data according to the communication protocol. During the parsing process, multicast network port isolation function is used to ensure the accuracy and integrity of the data.
[0088] (3) Frequency domain conventional beamforming
[0089] Frequency domain beamforming involves calculating the phase delay of signals from each hydrophone and compensating for their path differences. The signals received by each element are converted to the frequency domain using FFT, ensuring they are superimposed in phase in a given direction to achieve maximum output. This enables broadband energy detection of noise targets and provides omnidirectional noise warning functionality across multiple practical operating frequency bands.
[0090] (4) Single-beam hearing
[0091] The principle of single-beamforming is similar to that of frequency-domain multi-beamforming. Based on the target location required by the display and control commands, the pairwise data is compensated for delay and superimposed in the time domain to form a single pre-formed beam. This beam is then sent to the listening filter module for filtering, and the result is output to the sound card. Upsampling and downsampling techniques, combined with multiple low-pass and band-pass filters, ensure sound quality at a fixed low sampling frequency. The cursor beam value indicates the target location, and precise target measurement is performed. Depending on the usage scenario, digital filtering of the corresponding frequency band is completed to achieve noise listening functionality.
[0092] (5) Multi-target tracking
[0093] The multi-target tracking module primarily employs the maximum method to achieve this function. Utilizing the three-beam parabolic interpolation principle, it accurately determines the direction of the tracked target, enabling robust tracking and processing. This software module can currently track four targets simultaneously, offering both automatic and manual scanning modes, and providing real-time beam listening and tracking alerts. Combined with a dynamic waterfall display of the tracking history, the target's trajectory can be clearly observed, aiding in target motion situation assessment and utilization.
[0094] (6) Target feature analysis
[0095] The target feature analysis module mainly performs envelope spectrum analysis and line spectrum analysis on the cursor position or the tracked target, and extracts the target feature spectrum to facilitate the identification of similar targets in the future.
[0096] 2.2 Display and Control Software
[0097] The display and control software is responsible for the centralized display and human-computer interaction of the system. Implemented based on Qt5.9, it has a screen resolution of 1920*1080. Employing a comprehensive system display design, the software receives and processes data from various modules in real time via the system's gigabit network, unifying and displaying the data to achieve integrated display of functions such as noise alerts, multi-target tracking, and target feature analysis. The user interface is designed from a practical perspective, comprehensively displaying all related information.
[0098] The detailed functional block diagram of the display and control software is as follows: Figure 2 As shown.
[0099] (1) Upper display and control software unit
[0100] The target feature analysis interface runs on the upper display and control unit. A schematic diagram of the target feature analysis interface is shown below. Figure 3 As shown.
[0101] The main contents of the target feature analysis interface are as follows:
[0102] Area A: LOFAR parameter display: characteristic frequency, start frequency, cutoff frequency.
[0103] Area B: DEMON parameter display: characteristic frequency, start frequency, cutoff frequency.
[0104] Area C: LOFAR waveform diagram.
[0105] Section D: LOFAR timeline.
[0106] Area E: DEMON waveform diagram.
[0107] Section F: DEMON timeline.
[0108] (2) Lower display control software unit
[0109] The noise alarm interface runs on the lower display and control unit, and the interface diagram is shown below. Figure 4 As shown.
[0110] The main content of the noise warning interface is as follows:
[0111] Area A: Character information display of the tracked target: target number, tracking status, target hull angle, target bearing.
[0112] Area B: Platform information display: visual measurement frequency band, audio measurement frequency band, main vessel heading, speed, sea depth, diving depth, sound speed, longitude, latitude, video memory capacity bar, array element hard disk memory capacity bar, fault number.
[0113] Area C: Azimuth Amplitude Map.
[0114] Area D: Orientation history map.
[0115] (3) Sonar keyboard unit
[0116] The sonar keyboard operates on a touch display unit. A schematic diagram of the sonar keyboard interface is shown below. Figure 5 As shown.
[0117] The main contents of the sonar keyboard are as follows:
[0118] Primary function key area: Noise alarm.
[0119] Secondary function key area: Mode adjustment, target feature analysis.
[0120] Three-level function key area:
[0121] Noise Modes: Extended Selection, Visual Measurement Band, Visual Gain Reset, Visual Gain Monotonic, Visual Gain Unified Adjustment, Audio Measurement Band, Audio Measurement Tracking, Tracking Admission, Tracking Cancellation, Manual Tracking, Tracking Admission Exit, Tracking Cancellation Exit, Tracking Details, Target Parameter Clear, "↑", "↓", "←", "→", "《", "》", Algorithm Selection, Search Method, Accumulation Time, Main Array Gain, Background Equalization, Volume Control, Sound Velocity, Confirmation, Noise Sound Switch.
[0122] Target feature analysis: LOFAR & DEMON band selection, LOFAR gain adjustment, LOFAR start frequency, LOFAR cutoff frequency, LOFAR start, LOFAR stop, LOFAR "←", LOFAR "→", LODEMON gain adjustment, DEMON start frequency, DEMON cutoff frequency, DEMON start, DEMON stop, DEMON "←", DEMON "→", "↑", "↓".
[0123] 3. Demonstration Model
[0124] The demonstration model consists of a vector hydrophone model, a scalar hydrophone model, an acoustic array model, and a submarine model.
[0125] (1) Vector hydrophone model
[0126] The display model uses plexiglass instead of the existing hydrophone casing.
[0127] a) Main materials: Acrylic glass and stainless steel.
[0128] b) Ratio: 1:1.
[0129] c) External dimensions: φ120*240mm.
[0130] (2) Scalar hydrophone model
[0131] The demonstration model uses black engineering plastic instead of the existing scalar hydrophone assembly, and the structural support is made of stainless steel.
[0132] a) Main materials: engineering plastics and stainless steel.
[0133] b) Ratio: 1:1.
[0134] c) External dimensions: φ125*251mm.
[0135] (3) Acoustic array model
[0136] The acoustic array model is an inverted frustum array, which is fabricated using 3D printing.
[0137] a) Formation: Inverted truss formation.
[0138] b) Material: Photosensitive resin.
[0139] c) Dimensions: Maximum diameter of the upper circular surface is 500mm, maximum diameter of the lower circular surface is 400mm, and height is 500mm.
[0140] d) Number of hydrophone models mounted: 6.
[0141] e) Hydrophone model material: black ABS engineering plastic is used, and the bracket is made of photosensitive resin.
[0142] f) Hydrophone model dimensions: height 100mm, diameter 80mm, maximum height of a single unit after mounting bracket is 160mm.
[0143] (4) Submarine model
[0144] a) Model type: Half-section view model.
[0145] b) Main material: The bare model is made of resin with added metal ribs.
[0146] c) Ratio: 1:100.
[0147] d) Dimensions: 1500×438×439 (width×depth×height).
[0148] Parallel architecture design:
[0149] In this embodiment, a GPU signal processing parallel architecture was designed to implement the signal processing function of the sonar demonstration system.
[0150] The signal processing software consists of six CPU threads, each executing a different task. The software data flow is divided into array data stream and control command stream. Except for the array data receiving thread and the control command receiving thread, the rest are signal processing task threads.
[0151] The array data stream is received by the array element receiving task thread and transmitted between various signal processing task threads via a mutex lock. The rhythm of all signal processing task threads is controlled by the array data stream. The final processing result is transmitted to the display controller.
[0152] The control command stream is received by the control command receiving task thread and passed to each signal processing task thread as global variables to change various parameters of the signal processing.
[0153] The signal processing software uses a CPU+GPU heterogeneous parallel architecture, with Ubuntu as the operating system and CUDA as the development environment.
[0154] a. CPU parallel architecture
[0155] Synchronization and parallelism of multiple threads can be achieved using semaphore interlocks. This method ensures data transmission integrity while also achieving mutual exclusion of shared resources among threads.
[0156] Semaphore synchronization operation:
[0157] For the shared resource tmp, thread 1 needs to perform write operations and thread 2 needs to perform read operations. In order to ensure that "dirty data" does not occur during the operation and that the operations are performed alternately, a synchronization semaphore is needed for the shared resource.
[0158] Initialize sem1 and sem2, with sem1 initialized to 1 and sem2 initialized to 0. sem1 is responsible for write operation control, and sem2 is responsible for read operation control.
[0159] Thread 1 first performs a write operation, with sem1 initialized to 1, indicating that a write operation is possible. After the write operation is completed, the value of sem1 is decremented by 1, closing the write operation, and the value of sem2 is incremented by 1, opening the read operation.
[0160] Thread 2 performs a read operation, and the value of sem2 is 1, indicating that the read operation can be performed. After the read operation is completed, the value of sem2 is decremented by 1, the read operation is closed, and the value of sem1 is incremented by 1, the write operation is enabled.
[0161] Based on the initial values, the above operations can complete the alternating reading and writing process while ensuring the correctness of the shared resources.
[0162] b. GPU parallel architecture
[0163] The signal processing software adopts a three-level parallel architecture of multithreading, streaming, and kernel, corresponding to task-level, inter-kernel-level, and data-level parallelism, respectively.
[0164] The first layer is data-level parallelism on the GPU, that is, CUDA kernel parallelism on the GPU. This layer achieves this by allocating GPU threads (<<<block,thread> >>) Given one or more sets of data to be processed, implement parallel operations between the data.
[0165] The second layer is inter-core parallelism on the GPU, also known as streams. It achieves parallelism of multiple CUDA kernels by using implicit or explicit stream concurrency techniques in CUDA.
[0166] The third layer is task-level parallelism on the CPU. Different CPU threads start and schedule GPU kernels to complete different GPU tasks, thus achieving parallelism of multiple tasks.
[0167] Parallel design generally needs to follow these rules:
[0168] Under the same performance metrics, use signal processing algorithms that are easier to parallelize;
[0169] Use thread-local storage as much as possible to reduce the use of global variables;
[0170] Fewer global variables mean less correlation between different threads and modules, resulting in a higher degree of modularity in the overall program.
[0171] Make the most of existing parallel library functions;
[0172] Reasonable decomposition of signal processing algorithms;
[0173] Parallelize unrelated computational tasks;
[0174] Synchronize the relevant computational tasks;
[0175] Plan for scalability in advance;
[0176] That is, ensuring high modularity and performance during the decomposition of signal processing algorithms;
[0177] Considering that the amount of parallel tasks in each part should not be too large, and to facilitate portability between different platforms.
[0178] The principle block diagram of the parallel structure is as follows: Figure 6 As shown.
[0179] c. Data transmission design
[0180] In CUDA programming, data transfer is involved between host and host, host and GPU, and GPU and GPU. The data transfer speed within the GPU is sufficient for underwater acoustic signal processing. However, due to limitations of the PCIe bus and the GPU itself, data transfer between the host and GPU has always been a bottleneck for GPU performance, especially the relatively slow rate of data transfer from the GPU back to the host.
[0181] Based on these characteristics of GPU data transmission, in the CUDA program architecture design, after the host receives data, it undergoes simple processing before entering the GPU. All subsequent calculations are completed on the GPU, and the results are returned to the host.
[0182] d. Memory allocation design
[0183] In CUDA programming, memory allocation and deallocation are more time-consuming operations than data transfer. Therefore, in the architecture design, the thread body should avoid memory allocation and deallocation during operation, and these operations should be completed during the initialization process.
[0184] Algorithm design for each part:
[0185] 1) Noise warning GPU parallel algorithm
[0186] The signal processing software is deployed on the GPU computing platform. It sends, receives, and parses the analog data according to the communication protocol, and forwards the parsed analog data to the frequency domain beamforming module on the GPU computing platform through a network switch.
[0187] The beamforming results are sent to the corresponding time accumulation module for primary and secondary accumulation calculations. Finally, the accumulation results are sent to the display and control system, which observes the target's direction and trajectory. The specific process is as follows: Figure 7 As shown.
[0188] After completing the configuration of the Linux system environment and CUDA development environment for the GPU computing platform, as well as the design of the signal processing software architecture under the Linux system, the signal synchronization problem was solved, the synchronous alternating parallel technology of multi-threading was broken through, and the correctness of the results of the key functional modules of signal processing was verified.
[0189] The GPU computing platform locates the sampling point packet header according to the communication protocol, integrates the sampling points, and then parses them.
[0190] Based on the speed of sound, multiple kernels are designed on a GPU computing platform to complete an omnidirectional frequency domain horizontal beamforming algorithm with a single-layer channel in the horizontal direction.
[0191] The calculation results of the omnidirectional beam are received, and the kernel parallel computing on the GPU computing platform is designed to accumulate the frequency points of different frequency bands of the omnidirectional beam once, and then sent to the display and control software via the network.
[0192] The system receives the accumulated data results once, designs multiple kernels on the GPU computing platform to complete the secondary accumulation, and sends the data to the display control software via the network.
[0193] 2) Noise-hearing GPU parallel algorithm
[0194] The principle of single beamforming algorithm is similar to that of frequency domain beamforming algorithm. Based on the target orientation required by the display and control command, the matrix data is compensated for and superimposed in the time domain to form a single pre-formed beam. Then, it is sent to the listening filter module for filtering, and the result is sent to the sound card output.
[0195] The single-beam listening function can achieve single-beam formation for the listening cursor and four tracked targets, complete manual listening azimuth; automatic listening and tracking of a single target, with the display azimuth cursor indicating the listening target's azimuth; display of spectral values on the display as the terminal display device; and provide input data for the signal feature analysis module.
[0196] The received time-domain matrix metadata is upsampled, that is, zeros are padded between each sampling point to obtain the sampling point data.
[0197] The upsampled array data is filtered across the entire frequency band, and the signal across the entire frequency band is preserved by using filter low-pass filter 1.
[0198] The upsampled data is stitched together based on the maximum number of time delay points calculated within the sound velocity range of 1450m / s to 1550m / s for time delay compensation superposition calculation.
[0199] The time-domain single-beam node forms a beam delay, covering a 360° azimuth.
[0200] The number of delay points for each type of beam is calculated based on the upsampling sampling frequency.
[0201] The data obtained by splicing each data stream is multiplied by the rotation factor of the corresponding beam type to finally form a floating-point number of data for one beam.
[0202] The data after single-beamforming is downsampled to restore the original number of sampling points, and then input into modules such as signal feature analysis for calculation.
[0203] The downsampled single-beamforming result data is selected according to the display and control button command to select the current listening test frequency band, and the listening filter is completed through filter 2. After adjusting the volume, it is sent to the display and control terminal.
[0204] The specific single-beam listening process is as follows: Figure 8 As shown:
[0205] Multiple kernels were designed on a GPU computing platform to complete a time-domain beamforming algorithm.
[0206] The delay is calculated based on the speed of sound information. The system receives the listening cursor and the listening beamforming data, and designs multiple kernels on a GPU computing platform to complete the listening beamforming algorithm for the direction of the listening cursor.
[0207] Calculate the FIR filter coefficients based on the listening test frequency band. Receive the listening beamforming data, design multiple kernels on the GPU computing platform, and complete the sound listening algorithm corresponding to the listening test frequency band.
[0208] The sonar demonstration system employs a GPU computing platform with computing power tens or even hundreds of times greater than the floating-point computing power of the signal processing board as its signal processing environment. It utilizes analog data for time-domain beamforming, auditory beamforming, auditory filtering, and network audio data output. Combined with other display and control functions based on the GPU environment, such as dynamic target trajectory display, touch keyboard, and sound card, it achieves overall parameter control and completes the auditory testing functions of the entire project. This allows the sonar system to improve detection performance while maintaining the required signal processing speed.
[0209] 3) GPU parallel algorithm for target feature analysis
[0210] ①DEMON Analysis
[0211] The time-domain beamforming data of four targets received from noise hearing at a fixed rhythm is updated to the tail. DC reduction, bandpass filtering, detection, downsampling, and point FFT are used to perform DEMON spectrum analysis on the target in three frequency bands. The target characteristics are sent to the display and control in real time.
[0212] The specific DEMON analysis process is as follows: Figure 9 As shown.
[0213] Based on the parsing of the array data synchronization signal, multiple kernels were designed on the GPU computing platform to complete the DEMON analysis.
[0214] ②LOFAR analysis
[0215] The time-domain beamforming data of four targets are received from noise hearing at a fixed rhythm. After data accumulation, the data is updated to the end of the data. Then, FFT is performed to perform LOFAR spectrum analysis of four frequency bands on the target and the target characteristics are sent to the display and control in real time.
[0216] The specific LOFAR analysis process is as follows: Figure 10 As shown:
[0217] Based on the array data parsing synchronization signal, multiple kernels are designed on the GPU computing platform to complete the LOFAR analysis function.
[0218] The sonar demonstration system uses a GPU computing platform with computing power tens or even hundreds of times higher than the floating-point computing power of the signal processing board as the signal processing environment. It uses analog array data to detect and extract the continuously distributed broadband noise spectrum and narrowband line spectrum components at several discrete frequencies of the beamforming. It employs precise LOFAR analysis and DEMON analysis techniques and utilizes the GPU signal processing platform for functional design to achieve the goals of improving target detection capabilities, reducing false alarm rates, and rapid classification and recognition under low signal-to-noise ratio.
[0219] 4) Multi-target tracking GPU parallel algorithm
[0220] The tracking system enables the tracking and untracking of multiple targets, transmitting the precise location of each target to the display and control system in real time. The tracking system's information originates from frequency domain beamforming data.
[0221] Accurate direction finding is a prerequisite for real-time tracking. Accurate direction finding is calculated by the accurate direction finding formula based on the accumulated values of three adjacent beams over time. Assuming that the beam number sent to the tracking by the display and control is j, then its three adjacent beams are j-1, j, and j+1. The maximum value is found within the range of these three beams, and then parabolic interpolation is performed at the maximum value.
[0222] Taking a circular array as an example, the hydrophone elements on the circular array are evenly arranged. Each beam without detection (or squaring) is generated sequentially by a beamformer. These beams are like coming out of a "mold" in sequence, so they have good consistency. After detection (or squaring) and accumulation, they become multi-beams with fixed spatial orientation.
[0223] like Figure 11 As shown, three adjacent beams y are simultaneously given in the same rectangular coordinate orientation. i-1 y i y i+1 The shapes near the main lobes of these beams are approximated as symmetrical parabolas, and each beam has the same mathematical expression for its pointing direction, denoted as...
[0224] (Equation 1)
[0225] In the formula, y is the beam response function, θ is the angle of deviation from the beam pointing direction, c and d are constants related to the actual target signal and noise background, and α is the azimuth interval between two adjacent beams.
[0226] If the target's azimuth is located at a distance of Δβ from beam i, the three beams y i-1 yi y i+1 The responses to this target are R. i-1 R i R i+1 Substituting these three response values into Equation 1, we obtain the simultaneous equations.
[0227] Formula 2
[0228] Formula 3
[0229] Formula 4
[0230] Solving the above system of equations, we get
[0231] Formula 5
[0232] Note that Equation 5 applies only to R. i-1 R i R i+1 It is only meaningful if they are all within the monotonically decreasing region of the main lobe of the beam.
[0233] Find the maxima within the three-beam range, and then perform parabolic interpolation at the maxima. This establishes a formula for accurate direction finding using the response values of three adjacent beams. The actual azimuth of the target is then determined.
[0234] Formula 6
[0235] In the formula, i is the beam number, and the azimuth of beam 0 is set to 0°.
[0236] Direction finding is the foundation of automatic tracking. The target acquisition operation selects the initial azimuth for direction finding, thus determining the three adjacent beams needed for accurate target azimuth measurement. Then, by judging Δβ and... The size of the beams is used to adjust the number of the three beams participating in the calculation to the left or right, and the beams are automatically tracked to maintain the azimuth of the moving target.
[0237] It should be noted that the beam value calculated by the participatory 5-azimuth method is the beam value after detection (or squaring) and accumulation. Since the beam guidance range is affected by the signal-to-noise ratio, the beam accumulation time needs to meet the azimuth change rate requirements for tracking in order to ensure continuous and reliable tracking of multiple targets.
[0238] The specific multi-target tracking process is as follows: Figure 12 As shown:
[0239] After completing the configuration of the Linux system environment and CUDA development environment for the GPU computing platform, as well as the design of the signal processing software architecture under the Linux system, the signal synchronization problem was solved, the breakthrough of multi-threaded synchronous alternating parallel technology was achieved, the correctness of the results of key functional modules of signal processing was verified, and the tracking and undoing functions were tested.
[0240] The target's trajectory displayed in the tracking area shows that the tracking function is normal. The tracked target displays the target number, tracking trajectory, and tracking details.
[0241] Based on the tracking and admission function test, multiple targets were tracked and untracked by sending commands via keyboard operation. It was observed that the target numbers disappeared in the first and second accumulation zones of the noise mode, and the trajectory in the process zone no longer updated the target trajectory.
[0242] The multi-target tracking technology employs the maximum parabolic interpolation method to solve the multi-target tracking problem. This method is applicable to circular (cylindrical) array digital multibeam sonar. It selects three adjacent beams required for tracking calculation from the beamforming output, accumulates the corresponding detection accumulation time, and adjusts the calculation beam sequence after determining the offset angle, thus completing the multi-target tracking process. Simultaneously, the multi-target tracking scheme is engineered based on a GPU signal processing platform, optimizing the algorithm and multi-threading design as much as possible. It easily meets the tracking accuracy requirements without changing the original data transmission structure and solves the problems of complexity and long platform computation time of traditional tracking algorithms, ensuring the effective multi-target tracking performance of the sonar system under different sea conditions.
[0243] This embodiment uses three-dimensional dynamic visualization and real-time signal feedback to concretize and visualize abstract concepts. For example, in beamforming, a sonar target can be seen in real time on the noise warning interface as the operating parameters are adjusted. This allows for an intuitive understanding of acoustic concepts such as the main lobe and side lobes, as well as the impact of different sonar parameters on various sonar indicators.
[0244] The above technical solutions are merely exemplary embodiments of the present invention. For those skilled in the art, based on the application methods and principles disclosed in the present invention, it is easy to make various types of improvements or modifications, and not limited to the methods described in the specific embodiments of the present invention. Therefore, the methods described above are merely preferred and not restrictive.
Claims
1. A bow sonar demonstration device based on a GPU parallel architecture, characterized by, include: Hardware system, software system, and demonstration model, among which: The hardware system is used to complete the teaching task of simulating sonar operation. The GPU is used as a signal processor to provide large-scale parallel computing capabilities and ensure the real-time construction of complex acoustic scenes. The software system, including signal processing software and display and control software, is used for teaching demonstrations simulating basic sonar functions, including noise warning, tracking, listening, and feature analysis. The demonstration models include one or more of the following: vector hydrophone model, scalar hydrophone model, acoustic array model, and submarine model.
2. The apparatus according to claim 1, characterized in that, The hardware system includes: (1) Simulate independent station cabinet Used to deploy the corresponding sonar software and complete the teaching task of simulating sonar operation; (2) GPU computing platform As the computing core of the entire system, it is responsible for running the sonar signal processing software and constructing and playing the array element domain data; it is equipped with a high-performance GPU as a signal processor, providing large-scale parallel computing capabilities to ensure the real-time construction of complex acoustic scenes; (3) Control and display unit It is used to provide a human-machine interface to realize system control and data visualization; including: upper display and control processing unit, lower display and control processing unit, touch display and control unit, and several sonar display and control units; among them, a thin client high-performance PC is used, which is interconnected with the GPU workstation to be responsible for task scheduling, data visualization, and running display and control software.
3. The apparatus according to claim 1, characterized in that, The signal processing software in the software system runs on a GPU computing platform and uses CUDA for parallel acceleration. It is used to realize real-time processing and analysis of sonar signals, including: analog signal construction, analog array data information reading and parsing, frequency domain conventional beamforming, single-beam listening, multi-target tracking, and target feature analysis, among one or more of these.
4. The apparatus according to claim 3, characterized in that, The signal processing software consists of 6 CPU threads, each executing a different task; the software data flow is divided into array data stream and control command stream; apart from the array data receiving task thread and the control command receiving task thread, the rest are signal processing task threads. The array data stream is received by the array element receiving task thread and transmitted between various signal processing task threads through a mutex lock. The rhythm of all signal processing task threads is controlled by the array data stream; the final processing result is transmitted to the display controller. The control command stream is received by the control command receiving task thread and passed to each signal processing task thread as global variables to change the various parameters of the signal processing. The signal processing software uses a CPU+GPU heterogeneous parallel architecture, with Ubuntu as the operating system and CUDA as the development environment.
5. The apparatus according to claim 4, characterized in that, The GPU parallel architecture is as follows: The signal processing software adopts a three-level parallel architecture of multithreading-stream-kernel, which corresponds to parallelism at the task level, inter-kernel level, and data level, respectively. The first layer is data-level parallelism on the GPU, that is, CUDA kernel parallelism on the GPU. This layer achieves parallel computation between data by allocating GPU threads to one or more sets of data that need to be processed. The second layer is inter-core parallelism on the GPU, also known as streaming, which uses CUDA's implicit or explicit streaming concurrency techniques to achieve parallelism of multiple CUDA cores. The third layer is task-level parallelism on the CPU. Different CPU threads start and schedule GPU kernels to complete different GPU tasks, thus achieving parallelism of multiple tasks.
6. The apparatus according to claim 4, characterized in that, In the CUDA program architecture design, after the host receives data, it undergoes simple processing before entering the GPU. All subsequent calculations are performed on the GPU, and the results are returned to the host.
7. The apparatus according to claim 3, characterized in that, The method for constructing analog signals in the signal processing software includes: The simulated sonar array element data is stored in local memory, and the data is replayed using the UDP protocol in a "local loopback" manner to simulate the sonar data reception process.
8. The apparatus according to claim 3, characterized in that, The data reading and parsing methods in the signal processing software include: After receiving the analog array metadata information, a network receive buffer technology based on a circular queue and a Linux system nanometer-level clock fine oscillation control technology are used to ensure the continuity of data reading. Then, the data is parsed according to the communication protocol; The parsing process employs multicast network port isolation to ensure data accuracy and integrity.
9. The apparatus according to claim 3, characterized in that, The method for conventional beamforming in the frequency domain of the signal processing software includes: The signals received by each hydrophone element are converted to the frequency domain by FFT, so that they are superimposed in phase in a given direction to achieve maximum output and realize broadband energy detection of noise targets. Omnidirectional noise warning function is achieved based on multiple practical operating frequency bands.
10. The apparatus according to claim 3, characterized in that, The single-beam listening method in the signal processing software includes: Based on the target azimuth required by the display and control command, the time domain is used to compensate for the delay superposition of the pair data to form a single pre-formed beam. The sound is then sent to the sound filtering module for filtering, and the result is output to the sound card. Among them, upsampling and downsampling techniques are used in combination with multiple low-pass and band-pass filters to ensure sound quality at a fixed low sampling frequency; The cursor beam value indicates the location of the listening target and performs precise target measurement. Depending on the usage scenario, it completes digital filtering of the corresponding frequency band to achieve noise listening function.