STMV starboard and starboard fuzzy suppression method and system
By using GPU accelerated computing and CUDA technology in the STMV beamforming algorithm, the existing algorithms are solved, and real-time detection and efficient suppression effects of STMV left and right fuzzy suppression are achieved.
Patent Information
- Application Number
- CN202411925903.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-25
- Publication Date
- 2025-04-08
- Estimated Expiration
- 2044-12-25
AI Technical Summary
The existing STMV beamforming algorithm has a large amount of calculation in high interference environments and cannot be run in real time, resulting in poor suppression of left and right fuzzy suppression.
By assigning the calculation tasks of the STMV beamforming algorithm to the GPU, and using CUDA to accelerate the calculation of the pseudo-inverse matrix of the covariance matrix, adjusting the regularization factor to improve numerical stability, generating beamforming weights, and real-time detection and suppression of pseudo-peaks.
It significantly improves the calculation speed and efficiency, realizes real-time detection of fuzzy suppression of left and right sides of STMV, enhances signal quality and suppression effect, reduces running time and effectively suppresses the occurrence of pseudo-peaks.
Smart Images

Figure CN119780890A_ABST
Abstract
Description
Technical Field
[0001] The invention relates to the field of lateral underwater sound, and in particular to a method and system for suppressing port and starboard fuzziness of a STMV. Background Art
[0002] In the field of underwater acoustic direction finding, there is often a problem of port and starboard ambiguity. In order to solve this problem, a common method is to use a linear array with a special structure. The dual linear array is a commonly used array structure in array signal processing, which is particularly suitable for the task of signal direction estimation and combined with beamforming to process the signals received by the sonar array. The basic idea of beamforming is to use multiple sensors (such as microphones, array sensors, etc.) to receive signals from different directions, and to enhance the signals from a specific direction by appropriately weighting and combining these signals, while suppressing noise or interference from other directions. Conventional beamforming (CBF) is relatively simple to implement and has low computational complexity, but the array gain is limited, the spatial resolution is low, and the ability to distinguish interference signals is poor. Steered minimum variance beamforming (STMV) can better improve signal quality in a high interference environment by minimizing the impact of interference and noise. However, STMV involves the calculation of the covariance matrix and the solution of the inverse matrix, which greatly increases the amount of signal processing computation. As a result, the broadband STMV algorithm based on conventional engineering implementation cannot be run in real time in the existing sonar detection system due to its large amount of computation. Summary of the invention
[0003] The technical problem to be solved by the present invention is to provide a method and system for starboard and port fuzzy suppression of STMV in view of the deficiencies in the prior art, so as to effectively suppress the occurrence of pseudo peaks and enhance the reliability of starboard and port fuzzy suppression.
[0004] In order to solve the above technical problems, the technical solution adopted by the present invention is: a method for suppressing the fuzziness of the port and starboard sides of an STMV, comprising the following steps:
[0005] S1, simulating the received signal in the target direction, generating the received data of a linear frequency modulation signal, and calculating the delay of each array element. By using the delay difference of different array elements, simulating the different time when the signal in the target direction arrives at each array element, the input signal is obtained;
[0006] S2, preprocess the input signal, calculate the covariance matrix of the input signal data through GPU acceleration and cuda, calculate the condition number of the covariance matrix, adjust the regularization factor according to the condition number of the covariance matrix, and use cuda and GPU acceleration to calculate the pseudo-inverse matrix of the covariance matrix;
[0007] S3, calculating the direction vector of each azimuth beamforming, and obtaining the weight in the beamforming algorithm by weighting the direction vector and combining the pseudo inverse matrix;
[0008] S4, weighting and combining the weight and the received signal to obtain a value of the azimuth spectrum;
[0009] S5. For a single-frequency signal, execute steps S2 to S4 once to calculate the beamforming and azimuth spectrum of the single-frequency signal. For a broadband signal, select the frequency band of the broadband signal through the frequency range, and perform frequency domain decomposition of the broadband signal through fast Fourier transform, select the signal of the specified frequency band, and repeat steps S2 to S4 for the signal of each frequency band to obtain the azimuth spectrum and beamforming signal of the corresponding frequency band, and accumulate the results of all frequency bands to obtain the azimuth spectrum result.
[0010] The present invention makes full use of the covariance matrix to obtain the correlation of the input signal in the spatial dimension, and through the inverse matrix operation, it can more effectively distinguish and suppress the interference signal and retain the desired signal; then it generates the beamforming weights for each azimuth angle to maximize the gain of the desired signal and minimize the noise and interference; finally, it combines the weights with the covariance matrix to calculate the signal energy in the target direction, draws the azimuth spectrum, clearly displays the signal strength in the target direction, and achieves the port and starboard fuzzy suppression effect. At the same time, the present invention improves the calculation speed and efficiency by assigning the calculation tasks of the STMV beamforming algorithm to the GPU.
[0011] The pseudo-inverse matrix expression is: + =VΣ + U H ; V is an N x N unitary matrix, U H is the conjugate transpose of U, which is an NxN unitary matrix, Σ + is the pseudo-inverse matrix of Σ, which is an N x N diagonal matrix, A + for (R x +λI), R x is the covariance matrix of the input signal, which is an N x N square matrix, where N is the number of array elements, X n is the nth column vector of the input signal matrix, Yes X n is the conjugate transpose of , λ is the regularization factor, and I is the N x N identity matrix.
[0012] In order to increase the numerical stability of the covariance matrix, the present invention introduces a regularization factor when calculating the pseudo-inverse to prevent the pseudo-inverse calculation from failing.
[0013] The determination process of the regularization factor λ includes:
[0014] When CR≤50, take λ=10-8 ; At this time, the signal quality is high. By taking the minimum value, the original structure of the signal can be retained to the greatest extent, ensuring the accuracy of the result. 5 When , λ=10; at this time, the signal matrix is ill-conditioned, so the regularization factor is increased to effectively suppress the numerical error caused by the ill-conditioned matrix and improve the robustness of the algorithm.
[0015] When 50 <CR<4×10 5 hour, At this time, an appropriate λ is selected according to the specific CR value, and a smooth transition is achieved through linear interpolation to achieve a dynamic balance between accuracy and robustness.
[0016] Among them, the condition number σ max is the covariance matrix R x The largest singular value after SVD decomposition, σ min is the covariance matrix R x The smallest singular value after SVD decomposition. The present invention designs multiple CUDA-based kernel functions to achieve real-time detection of port and starboard fuzzy suppression. The calculation formula of the weight W(:, k) of the kth azimuth is: is the pseudo-inverse matrix, A k H Represents the array flow matrix A k The conjugate transpose of , g is the directional vector; A k =[α k1 α k2 ], f represents the frequency of the signal, c represents the speed of wave propagation, array represents the position vector matrix of each array element in the array receiving data, j is the imaginary unit, θ k is the kth azimuth angle.
[0017] The calculation formula of the azimuth spectrum is: B(k)=W * (:, k) H ·R X ·W * (:, k); N is the number of array elements, X n is the nth column vector of the input signal matrix, Yes X n The conjugate transpose of , k represents the azimuth angle number, ranging from 1 to 361, W*(:, k) is the normalized vector of W(:, k), W(:, k) is the weight of the kth azimuth angle, W*(:, k) H It is the conjugate transpose of W*(:, k).
[0018] The present invention performs normalization processing on the weight vector to maintain numerical stability, thereby suppressing the occurrence of pseudo peaks.
[0019] Azimuth spectrum B final The calculation formula is: Where f0 is the starting frequency, f1 is the ending frequency, and B(f) is the azimuth spectrum at each frequency point.
[0020] As an inventive concept, the present invention also provides a STMV port and starboard fuzzy suppression system, comprising a memory, a processor and a computer program stored in the memory; the processor executes the computer program to implement the steps of the above method.
[0021] Compared with the prior art, the beneficial effects of the present invention are as follows: the present invention aims at the problem that the existing STMV beamforming algorithm has a slow operation speed on the C language platform and cannot meet the real-time requirements. By allocating the calculation tasks of the STMV beamforming algorithm to the GPU, the calculation speed and efficiency are improved, and multiple CUDA-based kernel functions are designed to achieve real-time detection of port and starboard fuzzy suppression. Stability processing is introduced. The condition number calculation is used to adjust the regularization factor to avoid numerical instability, normalize the beamforming weight vector, ensure the stability of the pseudo-inverse calculation and the beamforming weight vector, and thus suppress the appearance of pseudo-peaks. Experiments have shown that the present invention can perform real-time port and starboard fuzzy suppression processing for dual-line array data with a sampling rate of 5000HZ and 512 array elements on a platform with a CPU of i9-12900K, a GPU of RTX-4090, and a memory of 128G, and obtains an acceleration ratio of about 30 times, which greatly shortens the running time, effectively suppresses the appearance of pseudo-peaks, and enhances the reliability of port and starboard fuzzy suppression. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] Figure 1 This is the flow chart of the fuzzy suppression method for the port and starboard sides of STMV;
[0023] Figure 2 Design graphs for data processing and heterogeneous programming models;
[0024] Figure 3 Comparison of azimuth spectrum results without and with stability processing; (a) result without stability processing, (b) result with stability processing;
[0025] Figure 4 Comparison of the azimuth spectrum results of broadband signals calculated by CPU serial calculation and GPU parallel calculation; (a) CPU serial method running results, (b) CPU parallel method running results. DETAILED DESCRIPTION
[0026] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0027] Example 1
[0028] The embodiment of the present invention provides a CUDA-accelerated STMV starboard and port blur suppression method, comprising the following steps:
[0029] S1. Simulate the received signal in the target direction, generate the received data of a linear frequency modulation signal (wideband signal), and calculate the delay of each array element. Through the delay difference of different array elements, simulate the different times when the signal in the target direction arrives at each array element, and provide the input signal for subsequent beamforming, represented by X. The input signal is an array containing complex signals, and each complex number is represented by a real part and an imaginary part. Because the size of the input data is N x M x 2, N is the size of the data matrix (that is, the number of array elements), and M is the sampling frequency.
[0030] The phase of the FM signal is expressed as follows:
[0031]
[0032] Where f0 is the starting frequency, k0 is the modulation frequency, τ k is the delay of the kth array element.
[0033] S2. Preprocess the input signal, calculate the covariance matrix of the received signal data through GPU acceleration and cuda, and calculate the condition number of the covariance matrix. Specifically, perform singular value decomposition on the GPU by calling the cusolverDnZgesvd function, and calculate the ratio of the singular values (i.e., the condition number), then adjust the regularization factor sigma according to the covariance matrix condition number of the signal to adapt to different matrix condition numbers, and finally use cuda and GPU acceleration to calculate the pseudo-inverse of the covariance matrix.
[0034] (2.1) The covariance matrix is solved by the matrix multiplication kernel function. The formula for calculating the covariance matrix is as follows:
[0035]
[0036] Where X is the signal matrix generated in S1, X H is the conjugate transpose of X, N is the number of array elements, X nis the nth column vector of the signal matrix.
[0037] Without using a GPU, the complexity of calculating the covariance matrix is N x N x M, where N is the number of array elements and M is the sampling frequency. On a GPU, computing threads can be assigned to different loop levels to execute loops in parallel.
[0038] First, the input data on the CPU is copied to the GPU device memory. The two-dimensional index (i, k) of the thread is obtained through blockIdx and threadIdx as the row and column index of the covariance matrix. The data of each frequency point is traversed using a for loop to calculate the real and imaginary parts of the complex signal. These values and the CUDA kernel are used to calculate the covariance matrix. After the calculation is completed, the result is copied from the GPU device back to the host. On the GPU, if each (i, k) element is assigned to a thread, each thread only needs to perform N operations.
[0039] (2.2) Condition number solution is implemented by the condition number calculation kernal function. The condition number is usually used to measure the numerical stability of a matrix. A higher condition number indicates that the matrix is more unstable or more susceptible to numerical errors. Here, the condition number of a given matrix is calculated by singular value decomposition (SVD). SVD is a computationally intensive operation. When processing large-scale matrices, the calculation speed can be significantly improved through GPU acceleration. The zgesvd used on the CPU adopts the SVD algorithm in the LAPACK library. For an MxN complex matrix, the computational complexity of the SVD decomposition is NxNxN, while the cusolverDnZgesvd on the GPU uses the cuSOLVER library to perform SVD, which can significantly reduce the actual execution time.
[0040] First, allocate memory for the covariance matrix on the CUDA device, transfer it from the host memory to the GPU memory, and use cusolverDnZgesvd to perform singular value decomposition (SVD). The SVD decomposition formula is as follows:
[0041] R x =UΣV H
[0042] SVD converts the covariance matrix R x The matrix is decomposed into three parts: U∑V H , R x is an N x N square matrix, U is an N x N unitary matrix, V H is the conjugate transpose of V, which is an N x N unitary matrix, ∑ is an N x N diagonal matrix, and the elements on the diagonal are all non-negative real numbers σ i , called R x The singular values of .
[0043] SVD decomposes the matrix into three parts: U∑V H After the SVD calculation is completed, the condition number is obtained by calculating the ratio of the singular values. The formula is:
[0044]
[0045] Among them, σ max is the largest singular value, σ min is the smallest singular value.
[0046] (2.3) Then, the regularization factor λ is adjusted according to the covariance matrix condition number CR to adapt to different matrix condition numbers. The adjustment rule is as follows:
[0047] 1. When CR≤50, the numerical stability of the covariance matrix is better, and λ=10 -8 .
[0048] 2. When CR ≥ 4 × 10 5 When , the numerical stability of the covariance matrix is poor, so λ=10 is taken.
[0049] 3. When 50 <CR<4×10 5 When the regularization factor λ is 10 -8 The linear interpolation calculation between 1 and 10 is as follows:
[0050]
[0051] Since the covariance matrix R x Find the pseudo-inverse, if R x The condition number of is very high or close to singularity, which will lead to numerical instability or pseudo-inverse calculation failure. To solve this problem, the regularization term λ·I is introduced to stabilize the pseudo-inverse calculation, where is the identity matrix. The formula for calculating the pseudo-inverse matrix is as follows:
[0052]
[0053] where pinv(·) represents the pseudo-inverse of the matrix.
[0054] (2.4) The pseudo-inverse matrix is solved by the pseudo-inverse matrix calculation kernel function. The pseudo-inverse matrix is solved by performing singular value decomposition (SVD) through cusolverDnZgesvd, and (R x +λI) is decomposed into U∑V H , thereby obtaining the pseudo-inverse matrix of the input matrix, which is used to calculate the beamforming weight vector in step S3. The formula is:
[0055] A + =V∑ + U H
[0056] Among them, A + for (R x +λI), and then use Indicates that R x is an N x N square matrix, V is an NxN unitary matrix, U H is the conjugate transpose of U, which is an Nx N unitary matrix, and ∑ is an Nx N diagonal matrix, where all the elements on the diagonal are (R x +λI), ∑ + is the pseudo-inverse matrix of ∑.
[0057] S3. Loop through each azimuth angle, calculate the direction vector of each azimuth angle beamforming, and use the direction vector to weight and combine the pseudo-inverse matrix processed in step (2.4) to obtain the weight in the beamforming algorithm.
[0058] (3.1) First, a zero matrix W is defined to store the beamforming weights at each angle. According to the current angle k, the array flow vector α is generated. k1 and α k2 , v k1 is the main arrival direction of the wave, corresponding to θ k Angle, another arrival direction v k 2 corresponds to an angle of -θ k , expressed as:
[0059]
[0060] According to the arrival direction v k1 Calculate the array flow vector α k1 :
[0061]
[0062] According to the arrival direction v k2 Calculate the array flow vector α k2 :
[0063]
[0064] Combination α k1 and α k2 Construct array flow matrix A k :
[0065] A k =[α k1 α k2 ]
[0066] Then calculate the beamforming weight vector W(:, k):
[0067]
[0068] in, is the pseudo-inverse matrix of the covariance matrix, obtained by step (2.4), A k H Represents the array flow matrix A k The conjugate transpose of , k represents the k-th azimuth angle, and the value range is an integer from 1 to 361. W(:, k) represents the weight vector result of the k-th azimuth angle. g is a directional vector used to set the weight distribution. f represents the frequency of the signal, c represents the speed of wave propagation, array represents the position vector matrix of each array element in the array, and j is an imaginary unit.
[0069] Finally, the weight vector W is normalized. Normalization can maintain numerical stability and thus suppress the appearance of pseudo peaks. The formula is:
[0070]
[0071] Among them, norm(W(:,k)) is the l2 norm of the calculated vector W(:,k).
[0072] S4. Calculate the azimuth spectrum in a given direction through GPU acceleration and cuda, and weight and receive signal to get the value of the azimuth spectrum by weighting and combining. The azimuth spectrum is usually used for directional signal processing, especially in beamforming, where it is used to quantify and display signal energy in different directions. By calculating the azimuth spectrum in different directions, the azimuth of the target signal can be determined, and the best direction of the signal can be found in a multipath propagation or interference environment.
[0073] (4.1) Azimuth spectrum calculation is implemented by the azimuth spectrum calculation kernal function. When the azimuth spectrum is calculated without using GPU, the complexity of the entire calculation process is K x N x N, while the complexity of using GPU is NxN, where K is the number of azimuth angles and N is the number of array elements.
[0074] First, allocate device memory for the input weight matrix, received signal data, and output azimuth spectrum B, transfer them from the host memory to the GPU memory, then each thread calculates the azimuth spectrum corresponding to a direction and stores the calculation results. The formula for calculating the azimuth spectrum is:
[0075] B(k)=W * (:,k) H ·R X ·W * (:,k); where W * (:,k) H W * Conjugate transpose of (:,k).
[0076] S5. For a single-frequency signal, execute steps S2 to S4 once to calculate the beamforming and azimuth spectrum of the single-frequency signal.
[0077] S6. For wideband signals, select the frequency band of the signal through the frequency range, decompose the signal in the frequency domain through fast Fourier transform, select the signal of the specified frequency band, repeat steps S2 to S4 for the signal of each frequency band, obtain the azimuth spectrum and beamforming signal of the frequency band, accumulate the results of all frequency bands, and display the azimuth spectrum results.
[0078] (6.1) Conversion of time domain signal to frequency domain:
[0079] X fft =F(X)
[0080] Wherein, F(X) represents FFT transformation of X.
[0081] (6.2) STMV calculation of frequency domain signal: For each frequency point f, the azimuth spectrum is calculated based on the weight matrix and the frequency domain signal:
[0082] B(k)=W * (:,k) H ·R X ·W * (:,k)
[0083] ; (6.3) Final spectrum synthesis: After all frequency points are processed, the final azimuth spectrum is obtained:
[0084]
[0085] Where f0 is the starting frequency, f1 is the ending frequency, and B(f) is the azimuth spectrum at each frequency point.
[0086] Figure 2 This is the relationship between the CPU host device and the GPU device involved in the above implementation method when performing the STMV left and right fuzzy suppression calculation.
[0087] In order to verify the algorithm proposed in the embodiment of the present invention, a comparative experiment is performed based on the CPU serial implementation of the STMV left and right fuzzy suppression and the CUDA parallel implementation algorithm.
[0088] Experimental data: simulated data with the target direction at -45°, where the data sampling rate is 5000HZ, the starting frequency is 445HZ, the ending frequency is 450HZ, the receiving array is a dual-line array with 512 array elements, the array element spacing is half a wavelength, and the signal duration is 1 second. The total input size of the data is 5000x512x2.
[0089] Hardware requirements: CPU model i9-12900K, GPU model RTX-4090, memory 128G.
[0090] Experimental content 1: Based on the input experimental data, the algorithm is implemented without stability processing and after stability processing. The results are compared. Figure 3 shown.
[0091] Experimental content 2: Based on the input experimental data, the STMV left and right fuzzy suppression algorithms were implemented serially based on CPU and in parallel based on CUDA, and the operation time of each module in a single frequency band was counted in segments. The results are shown in Table 1.
[0092] Table 1 Comparison of the CPU-based serial implementation method and the CUDA-based parallel implementation method in a single frequency band
[0093]
[0094] Steps 1 and 5 are both executed on the CPU device.
[0095] Result analysis: refer to Figure 3 , under the same input signal conditions, a pseudo peak appears at 45° before stability processing, but after stability processing, the pseudo peak at 45° is suppressed. Figure 4 ,Under the same input signal conditions, the result graphs obtained by using the CPU serial method and the GPU parallel method are consistent. It can be seen that the target direction is at -45°, which is consistent with the experimental data direction.
[0096] Table 1 is a time comparison table of the CPU-based serial implementation method and the GPU-based parallel implementation method. It can be seen that the method proposed in the present invention reduces the operation time in a single frequency band from 60.346 seconds to 1.921 seconds, which can meet the real-time processing of the STMV left and right fuzzy suppression algorithm.
[0097] Example 2
[0098] Embodiment 2 of the present invention provides a system corresponding to the above-mentioned embodiment 1, including a memory, a processor and a computer program stored in the memory; the processor executes the computer program in the memory to implement the steps of the method in the above-mentioned embodiment 1.
[0099] In some implementations, the memory may be a high-speed random access memory (RAM), and may also include a non-volatile memory, such as at least one disk memory.
[0100] In some other implementations, the processor may be a central processing unit (CPU), a digital signal processor (DSP), or other general-purpose processors of various types, which are not limited herein.
[0101] Example 3
[0102] Embodiment 3 of the present invention provides a computer-readable storage medium corresponding to the above embodiment 1, on which a computer program / instruction is stored. When the computer program / instruction is executed by a processor, the steps of the method of the above embodiment 1 are implemented.
[0103] Computer readable storage media can be tangible devices that hold and store instructions used by instruction execution devices. Computer readable storage media can be, for example, but not limited to, electronic storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any combination thereof.
[0104] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can adopt the form of complete hardware embodiments, complete software embodiments, or embodiments in combination with software and hardware. Moreover, the present application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code. The scheme in the embodiments of the present application can be implemented in various computer languages, for example, object-oriented programming language Java and literal scripting language JavaScript, etc.
[0105] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0106] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1The steps for the functions specified in one or more boxes.
[0107] Although the preferred embodiments of the present application have been described, those skilled in the art may make other changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications falling within the scope of the present application.
[0108] Obviously, those skilled in the art can make various changes and modifications to the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is also intended to include these modifications and variations.
Claims
1. A method for suppressing fuzziness on both sides of a STMV, characterized in that: The following steps are involved: S1, simulating the received signal in the target direction, generating the received data of a linear frequency modulation signal, and calculating the delay of each array element. By using the delay difference of different array elements, simulating the different time when the signal in the target direction arrives at each array element, the input signal is obtained; S2, preprocess the input signal, calculate the covariance matrix of the input signal data through GPU acceleration and cuda, calculate the condition number of the covariance matrix, adjust the regularization factor according to the condition number of the covariance matrix, and use cuda and GPU acceleration to calculate the pseudo-inverse matrix of the covariance matrix; S3, calculating the direction vector of each azimuth beamforming, and obtaining the weight in the beamforming algorithm by weighting the direction vector and combining the pseudo inverse matrix; S4, weighting and combining the weight and the received signal to obtain a value of the azimuth spectrum; S5. For a single-frequency signal, execute steps S2 to S4 once to calculate the beamforming and azimuth spectrum of the single-frequency signal. For a broadband signal, select the frequency band of the broadband signal through the frequency range, and perform frequency domain decomposition of the broadband signal through fast Fourier transform, select the signal of the specified frequency band, and repeat steps S2 to S4 for the signal of each frequency band to obtain the azimuth spectrum and beamforming signal of the corresponding frequency band, and accumulate the results of all frequency bands to obtain the azimuth spectrum result.
2. The STMV starboard and port blur suppression method according to claim 1, characterized in that: In step S2, the pseudo inverse matrix expression is: + =VΣ+U H ; V is an N x N unitary matrix, U H is the conjugate transpose of U, which is an NxN unitary matrix, Σ + is the pseudo-inverse matrix of Σ, which is an N x N diagonal matrix, A + for (R x +λI), R x is the covariance matrix of the input signal, which is an N x N square matrix, where N is the number of array elements, X n is the nth column vector of the input signal matrix, Yes X n is the conjugate transpose of , λ is the regularization factor, and I is the N x N identity matrix.
3. The STMV port and starboard fuzzy suppression method according to claim 2, characterized in that: The determination process of the regularization factor λ includes: When CR≤50, take λ=10 -8 ; When CR≥4×10 5 When , take λ=10; When 50 <CR<4×10 5 hour, Among them, the condition number σ max is the covariance matrix R x The largest singular value after SVD decomposition, σ min is the covariance matrix R x The smallest singular value after SVD decomposition.
4. The STMV starboard and port blur suppression method according to claim 1, characterized in that: In step S3, the calculation formula of the weight W(:, k) of the kth azimuth is: is the pseudo-inverse matrix, A k H Represents the array flow matrix A k The conjugate transpose of , g is the directional vector; A k =[α k1 α k2 ], f represents the frequency of the signal, c represents the speed of wave propagation, array represents the position vector matrix of each array element in the array receiving data, j is the imaginary unit, θ k is the kth azimuth angle.
5. The STMV starboard and port blur suppression method according to claim 1, characterized in that: In step S4, the value calculation formula of the azimuth spectrum is: B(k)=W * (:,k) H ·R X ·W * (:,k); N is the number of array elements, X n is the nth column vector of the input signal matrix, Yes X n The conjugate transpose of , k represents the azimuth angle number, ranging from 1 to 361, W * (:, k) is the normalized vector of W(:, k), W(:, k) is the weight of the kth azimuth, W * (:,k) H W * Conjugate transpose of (:,k).
6. The STMV starboard and port blur suppression method according to claim 1, characterized in that: For broadband signals, the azimuth spectrum B final The calculation formula is: Where f0 is the starting frequency, f1 is the ending frequency, and B(f) is the azimuth spectrum at each frequency point.
7. A STMV port and starboard fuzzy suppression system, comprising a memory, a processor and a computer program stored in the memory; characterized in that: The processor executes the computer program to implement the steps of the method according to any one of claims 1 to 6.
Citation Information
Patent Citations
High-precision direction finding method used for linear array
CN101470187A
Twin-line array sonar port-and-starboard identification method and corresponding system
CN101666876A
Design method for high-gain array without port-starboard blur
CN110244286A
Adaptive focusing broadband beam forming method and system
CN113422630A
Self-adaptive broadband weighted beam forming method
CN114089320A