Arrival angle signal estimation method, electronic device, program product and storage medium
By introducing mobile inverted bottleneck convolution and dimensional attention mechanisms in the arrival angle signal estimation model, the problem of reducing the arrival angle estimation accuracy of multi-source signal under low signal-to-noise ratio is solved, and high-precision and robust signal estimation are achieved.
Patent Information
- Application Number
- CN202411638751.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-16
- Publication Date
- 2025-03-11
AI Technical Summary
Under low signal-to-noise ratio conditions, the arrival angle estimation accuracy of multi-source signals is easily reduced, and the prior art is difficult to effectively solve this problem.
The arrival angle signal estimation model based on the moving inverted bottleneck convolution and dimensional attention mechanism is adopted. By obtaining the arrival angle signal and determining its covariance matrix, the pre-trained model is used to estimate, which improves the accuracy and robustness of the estimation.
The accuracy of multi-source signal arrival angle estimation under low signal-to-noise ratio conditions is significantly improved, the degree of lightweight and robustness of the model is enhanced, and the problem of reducing angle estimation accuracy of multi-source signals under low signal-to-noise ratio is solved.
Smart Images

Figure CN119598159A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of signal processing technology, and in particular to an arrival angle signal estimation method, electronic equipment, program product and storage medium. Background Art
[0002] In indoor positioning, the angle of arrival (AoA) is an important parameter for determining spatial coordinates. Estimating multi-source AoA under low signal-to-noise ratio (SNR) is challenging due to the bias of the channel model and the uncertainty of the environment. Although model-based algorithms perform well under high SNR, they find it difficult to maintain high accuracy under such conditions. Some neural network designs have achieved good performance in angle estimation, such as CNN and ViT, but there is still the problem of reduced accuracy of angle estimation of multi-source signals under low SNR.
[0003] To address the above-mentioned problems, no effective solution has been proposed yet. Summary of the invention
[0004] The embodiments of the present invention provide an arrival angle signal estimation method, electronic device, program product and storage medium to at least solve the technical problem of reduced accuracy of angle estimation of multi-source signals under low signal-to-noise ratio.
[0005] According to one aspect of an embodiment of the present invention, a method for estimating an angle of arrival signal is provided, including: acquiring an angle of arrival signal; determining a covariance matrix corresponding to the angle of arrival signal based on the angle of arrival signal; estimating the angle of arrival signal using a pre-trained angle of arrival signal estimation model to obtain an angle of arrival, wherein the input of the angle of arrival signal estimation model is the covariance matrix, and the angle of arrival signal estimation model is constructed based on a moving inverted bottleneck convolution and a size attention mechanism.
[0006] Optionally, determining a covariance matrix corresponding to the angle of arrival signal according to the angle of arrival signal includes: determining an expression for the angle of arrival signal according to preset parameters and the angle of arrival signal, wherein the preset parameters include a preset number of array elements and a preset unit array element spacing; and determining a covariance matrix corresponding to the angle of arrival signal according to the angle of arrival signal expression.
[0007] Optionally, an arrival angle signal expression is determined according to preset parameters and the arrival angle signal, including: constructing a uniform linear array steering flow matrix according to a preset number of array elements and a preset unit array element spacing; determining an arrival angle signal vector according to the arrival angle signal; and determining an arrival angle signal expression according to the uniform linear array steering flow matrix, the arrival angle signal vector and Gaussian white noise representation.
[0008] Optionally, the angle of arrival signal estimation model includes a first convolution layer, multiple moving inverted bottleneck convolution units, a size attention unit and a classifier. The pre-trained angle of arrival signal estimation model is used to estimate the angle of arrival signal to obtain the angle of arrival, including: using the first convolution layer to extract features from the covariance matrix to obtain a first processing result; using multiple moving inverted bottleneck convolution units to expand the number of feature channels corresponding to the first processing result and performing deep convolution on the expanded result to obtain a deep convolution result, determining the weights corresponding to the feature channels in the deep convolution result to obtain multiple second processing results; using the size attention unit to determine the weights of the multiple second processing results to obtain a third processing result; using the classifier to obtain multiple angle estimation probabilities based on the third processing result, wherein the multiple angle estimation probabilities are used to determine the angle of arrival.
[0009] Optionally, determining the angle of arrival includes: sorting multiple angle estimation probabilities to obtain a sorting result; selecting a preset number of angle estimation probabilities from the sorting result from large to small, and determining the angle corresponding to the preset number of angle estimation probabilities as the angle of arrival.
[0010] Optionally, the moving inverted bottleneck convolution unit includes a second convolution layer, a deep convolution layer, a compression and excitation layer, and a third convolution layer. The moving inverted bottleneck convolution unit is used to expand the number of feature channels corresponding to the first processing result and perform deep convolution on the expanded result to obtain a deep convolution result, and the weights corresponding to the feature channels in the deep convolution result are determined to obtain a second processing result, including: performing feature extraction on the first processing result using the second convolution layer to obtain a first sub-result; performing deep convolution on the first sub-result using the deep convolution layer to obtain a second sub-result; processing the second sub-result using the compression and excitation layer to obtain a third sub-result, wherein the compression and excitation layer is used to weight the feature channels corresponding to the second sub-result; and performing feature extraction on the third sub-result using the third convolution layer to obtain the second processing result.
[0011] Optionally, the size attention unit includes a pooling layer, a fully connected layer and a first preset activation function, and the size attention unit is used to determine the weights of multiple second processing results to obtain a third processing result, including: interpolating and merging feature channels on the second processing results, and using the pooling layer to pool the second processing results after the difference and channel merging to obtain a fourth sub-result; using the fully connected layer to perform feature integration and feature conversion on the fourth sub-result to obtain a fifth sub-result; and using the first preset activation function to activate the fifth sub-result to obtain the third processing result.
[0012] Optionally, the classifier includes a two-dimensional convolution layer, a batch normalization layer, a third preset activation function, a fully connected layer and a second preset activation function, and the classifier is used to obtain multiple angle estimation probabilities based on the third processing result, including: using a two-dimensional convolution layer to extract features of the third processing result to obtain a sixth sub-result; using a batch normalization layer to normalize the sixth sub-result and perform a linear transformation on the normalized sixth sub-result to obtain a seventh sub-result; using the third preset activation function to activate the seventh sub-result to obtain an eighth sub-result; using a fully connected layer to reduce the dimension of the eighth sub-result and determine the length of the one-dimensional data after the dimension reduction to obtain a ninth sub-result; using the second preset activation function to determine multiple angle estimation probabilities based on the ninth sub-result.
[0013] Optionally, the training of the arrival angle signal estimation model includes: obtaining a training signal; constructing a training covariance matrix based on the training signal; determining training data based on the training covariance matrix using the actual arrival angle corresponding to the training signal; and training a preset model to be trained using a preset training algorithm based on the training data to obtain the arrival angle signal estimation model.
[0014] Optionally, the preset training algorithm is a stochastic gradient descent optimizer, and according to the training data, the preset model to be trained is trained using the stochastic gradient descent optimizer to obtain an arrival angle signal estimation model, including: according to a preset ratio, dividing the training data into a training set and a verification set; based on the training set, the preset model to be trained is trained using the stochastic gradient descent optimizer to obtain a trained preset model to be trained; based on the verification set, the trained preset model to be trained is verified to obtain a verification result; according to the verification result, the parameters of the trained preset model to be trained are adjusted to obtain an arrival angle estimation model.
[0015] According to another aspect of an embodiment of the present invention, there is further provided an electronic device, comprising: a memory storing an executable program; and a processor for running the program, wherein the method for estimating an angle of arrival signal in any one of the above items is executed when the program is running.
[0016] According to another aspect of an embodiment of the present invention, a computer program product is provided, including a computer program, and when the computer program is executed by a processor, the arrival angle signal estimation method in any one of the above items is implemented.
[0017] According to another aspect of an embodiment of the present invention, a computer-readable storage medium is also provided, the computer-readable storage medium including a stored executable program, wherein when the executable program is running, the device where the computer-readable storage medium is located is controlled to execute any of the above-mentioned methods for estimating angle of arrival signals.
[0018] In an embodiment of the present invention, an arrival angle signal is obtained; based on the arrival angle signal, a covariance matrix corresponding to the arrival angle signal is determined; and using a pre-trained arrival angle signal estimation model, the arrival angle signal is estimated to obtain an arrival angle, wherein the input of the arrival angle signal estimation model is a covariance matrix, and the arrival angle signal estimation model is constructed based on a moving inverted bottleneck convolution and a size attention mechanism. By combining the moving inverted bottleneck convolution and the size attention mechanism, the present invention not only effectively reduces the amount of computation and the amount of parameters of the neural network, improves the lightweight degree of the model, but also significantly enhances the robustness and accuracy of the model in the arrival angle estimation task. In particular, when processing multi-source signals under low signal-to-noise ratio, the algorithm can more accurately capture signal features and achieve high-precision arrival angle estimation, thereby solving the technical problem of reduced accuracy of angle estimation of multi-source signals under low signal-to-noise ratio. BRIEF DESCRIPTION OF THE DRAWINGS
[0019] The drawings described herein are used to provide a further understanding of the present invention and constitute a part of this application. The exemplary embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute an improper limitation of the present invention. In the drawings:
[0020] Figure 1 is a flow chart of a method for estimating an angle of arrival signal according to one embodiment of the present invention;
[0021] Figure 2 is a network structure diagram of an arrival angle signal estimation model according to one embodiment of the present invention;
[0022] Figure 3 is a structural diagram of a size attention unit in an arrival angle signal estimation model according to one embodiment of the present invention;
[0023] Figure 4 is a curve diagram comparing the mean square error of the estimation method provided by the present invention and the estimation method in the prior art with the change of the signal-to-noise ratio;
[0024] Figure 5 is a curve diagram comparing the mean square error of the estimation method provided by the present invention and the estimation method in the prior art with the number of snapshots;
[0025] Figure 6 is a comparison curve diagram of mean square error of the estimation method provided by the present invention and the estimation method in the prior art as a function of interval angle;
[0026] Figure 7 is a structural block diagram of an arrival angle signal estimation system according to one embodiment of the present invention. DETAILED DESCRIPTION
[0027] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme 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 only 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 should fall within the scope of protection of the present invention.
[0028] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0029] According to an embodiment of the present invention, an embodiment of an arrival angle signal estimation method is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system containing at least one set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0030] The method embodiment can also be executed in an electronic device including a memory and a processor, a similar control device or a cloud. Taking an electronic device as an example, the electronic device may include one or more processors and a memory for storing data. Optionally, the electronic device may also include a communication device and a display device for communication functions. It can be understood by those of ordinary skill in the art that the above structural description is only illustrative and does not limit the structure of the above electronic device. For example, the electronic device may also include more or fewer components than the above structural description, or have a configuration different from the above structural description.
[0031] The processor may include one or more processing units. For example, the processor may include a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processing (DSP) chip, a microcontroller unit (MCU), a programmable logic device (field-programmable gate array, FPGA), a neural network processor (neural-network processing unit, NPU), a tensor processing unit (tensor processing unit, TPU), an artificial intelligence (artificial intelligence, AI) type processor, and other processing devices. Among them, different processing units can be independent components or integrated in one or more processors. In some instances, the electronic device may also include one or more processors.
[0032] The memory can be used to store computer programs, such as storing a computer program corresponding to the arrival angle signal estimation method in the embodiment of the present invention. The processor implements the above-mentioned arrival angle signal estimation method by running the computer program stored in the memory. The memory may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory may further include a memory remotely arranged relative to the processor, and these remote memories may be connected to the electronic device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0033] The communication device is used to receive or send data via a network. The specific example of the above network may include a wireless network provided by a communication provider of the mobile terminal. In one example, the communication device includes a network adapter (network interface controller, NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the communication device can be a radio frequency (radio frequency, RF) module, which is used to communicate with the Internet wirelessly. In some embodiments of the present solution, the communication device is used to connect to mobile devices such as mobile phones and tablets, and instructions can be sent to electronic devices through the mobile device.
[0034] The display device may be a touch screen type liquid crystal display (LCD) and a touch display (also referred to as a "touch screen" or "touch display screen"). The liquid crystal display may enable a user to interact with a user interface of the electronic device. In some embodiments, the electronic device has a graphical user interface (GUI), and a user may interact with the GUI by touching a finger release and / or gestures on a touch-sensitive surface, and executable instructions for executing the above-mentioned human-computer interaction functions are configured / stored in a computer program product or a readable storage medium executable by one or more processors.
[0035] Figure 1 is a flow chart of a method for estimating an angle of arrival signal according to one embodiment of the present invention. Figure 1 As shown, the method comprises the following steps:
[0036] Step S101, obtaining an angle of arrival signal.
[0037] Specifically, when estimating the angle of arrival signal, the angle of arrival signal needs to be acquired first.
[0038] It should be noted that the arrival angle signal can be used to estimate the arrival angle to determine the location of the signal source, and is applied to wireless positioning, radar detection and sonar detection.
[0039] Step S102: determining a covariance matrix corresponding to the angle of arrival signal according to the angle of arrival signal.
[0040] Specifically, after the arrival angle signal is acquired, a covariance calculation is performed on the arrival angle signal, and the arrival angle signal is converted into a corresponding covariance matrix.
[0041] Exemplarily, the preset matrix conversion algorithm is a uniform linear array.
[0042] It should be noted that for the array output signal such as the arrival angle signal, the covariance matrix is obtained by calculating the covariance of the arrival angle signal, which can be specifically decomposed into the array flow matrix, the signal covariance matrix, and the noise covariance matrix.
[0043] Step S103, using a pre-trained arrival angle signal estimation model, the arrival angle signal is estimated to obtain the arrival angle, wherein the input of the arrival angle signal estimation model is a covariance matrix, and the arrival angle signal estimation model is constructed based on a moving inverted bottleneck convolution and a size attention mechanism.
[0044] Specifically, after constructing the covariance matrix corresponding to the angle of arrival signal, the covariance matrix is input into the pre-trained angle of arrival signal estimation model. After the angle of arrival signal estimation model predicts the covariance matrix, it can output the angle of arrival corresponding to the angle of arrival signal.
[0045] It should be noted that the arrival angle estimation model constructed based on the mobile inverted bottleneck convolution and size attention mechanism can not only effectively reduce the computational complexity and parameter amount of the neural network, but also make the arrival angle signal estimation results more accurate.
[0046] It should be noted that mobile inverted bottleneck convolution (MBConv) has better feature extraction capabilities than ordinary convolution, and uses deep convolution to reduce network parameters. It is a commonly used module for lightweight neural networks. The present invention proposes a neural network arrival angle estimation algorithm that combines MBConv and size attention mechanism. The size attention mechanism is used to effectively combine the feature information extracted by different MBConv layers, and the estimation performance of the network is maximized without adjusting the number of network layers.
[0047] In an embodiment of the present invention, an arrival angle signal is obtained; based on the arrival angle signal, a covariance matrix corresponding to the arrival angle signal is determined; and using a pre-trained arrival angle signal estimation model, the arrival angle signal is estimated to obtain an arrival angle, wherein the input of the arrival angle signal estimation model is a covariance matrix, and the arrival angle signal estimation model is constructed based on a moving inverted bottleneck convolution and a size attention mechanism. By combining the moving inverted bottleneck convolution and the size attention mechanism, the present invention not only effectively reduces the amount of computation and the amount of parameters of the neural network, improves the lightweight degree of the model, but also significantly enhances the robustness and accuracy of the model in the arrival angle estimation task. In particular, when processing multi-source signals under low signal-to-noise ratio, the algorithm can more accurately capture signal features and achieve high-precision arrival angle estimation, thereby solving the technical problem of reduced accuracy of angle estimation of multi-source signals under low signal-to-noise ratio.
[0048] Optionally, in step S102, a preset matrix conversion algorithm is used to determine a covariance matrix corresponding to the angle of arrival signal, including the following steps: determining an angle of arrival signal expression based on preset parameters and the angle of arrival signal, wherein the preset parameters include a preset number of array elements and a preset unit array element spacing; and determining a covariance matrix corresponding to the angle of arrival signal based on the angle of arrival signal expression.
[0049] For example, consider a uniform linear array of N elements (preset number of elements), set the unit element spacing (preset unit element spacing) to d, and assume that there are K far-field narrowband incoherent signals, i.e., arrival angle signals, with an incident angle of θ k ,k=1,...,K, the arrival angle signal expression is expressed as:
[0050] y(t)=A(θ)s(t)+e(t),t=1,…,T
[0051] Where A(θ) is the uniform linear array guide flow matrix; s(t) = [s1(t),…,s k (t)] T , where s k (t) is the vector of the received signal of the kth target at the tth snapshot, that is, the arrival angle signal vector; e(t) represents independent and identically distributed zero-mean additive white Gaussian noise.
[0052] After obtaining the arrival angle signal expression, the covariance matrix is defined as follows according to the arrival angle signal expression:
[0053]
[0054] Among them, R s represents the signal covariance matrix, represents the noise power, R s In the case of incoherent targets, it is a diagonal matrix, I N Represents the N×N identity matrix.
[0055] Furthermore, the covariance matrix can be approximately replaced by:
[0056]
[0057] Optionally, an arrival angle signal expression is determined according to preset parameters and the arrival angle signal, including: constructing a uniform linear array steering flow matrix according to a preset number of array elements and a preset unit array element spacing; determining an arrival angle signal vector according to the arrival angle signal; and determining an arrival angle signal expression according to the uniform linear array steering flow matrix, the arrival angle signal vector and Gaussian white noise representation.
[0058] For example, the preset number of array elements is N, the preset unit array element spacing is d, and there are K far-field narrowband incoherent signals with an arrival angle of θ k , k=1,...,K, determine the uniform linear array guide flow matrix as:
[0059]
[0060] Among them, the vector represents the array steering vector, λ=c / f is the wavelength at the carrier frequency f, c represents the speed of light; and T represents the snapshot number.
[0061] Optional, see Figure 2The angle of arrival signal estimation model includes a first convolution layer, multiple moving inverted bottleneck convolution units, a size attention unit and a classifier. The angle of arrival signal is estimated by using the pre-trained angle of arrival signal estimation model to obtain the angle of arrival, including: using the first convolution layer to extract features from the covariance matrix to obtain a first processing result; using multiple moving inverted bottleneck convolution units to expand the number of feature channels corresponding to the first processing result and performing deep convolution on the expanded result to obtain a deep convolution result, determining the weights corresponding to the feature channels in the deep convolution result, and obtaining multiple second processing results; using the size attention unit to determine the weights of the multiple second processing results to obtain a third processing result; using the classifier to obtain multiple angle estimation probabilities based on the third processing result, wherein the multiple angle estimation probabilities are used to determine the angle of arrival.
[0062] Specifically, the first convolutional layer is the first processing stage of the model, which is used to extract features from the covariance matrix. The covariance matrix is a statistical tool that describes the correlation between signals from different sensors and is often used in array signal processing. The role of the first convolutional layer is to convert the high-dimensional information of the covariance matrix into a more easily processable feature representation, which contains important information about the original signal.
[0063] Exemplarily, the covariance matrix of the signal is used as the input X of the arrival angle signal estimation model, where the third dimension of X, i.e., the channel dimension, represents the real part, imaginary part, and phase of the covariance matrix, i.e., X :,:,1 =Re{R y}, X :,:,2 =Im{R y}, X :,:,3 =∠{R y}; Considering the operation of the model as a nonlinear function, the model can be expressed as:
[0064] f(X)=z
[0065] Among them, z represents the output of the neural network.
[0066] The first convolutional layer of the model consists of a convolutional layer, including a 2D convolutional layer, a batch normalization layer, and a SiLU activation layer, expressed as:
[0067] f1(X)=f SiLU .f BN (f conv (X)) /
[0068] where f conv represents a two-dimensional convolution operation, f BN represents the batch normalization operation,
[0069] The mobile inverted bottleneck convolution unit (MBConv) is an efficient convolutional network structure. It first increases the number of channels (dimensionality increase) through 1x1 convolution, that is, expands the number of feature channels corresponding to the first processing result, then performs depthwise separable convolution (depthwise convolution), and then reduces the number of channels (dimensionality reduction) through 1x1 convolution. The weights corresponding to each feature channel in the depthwise convolution result can be further learned through compression and excitation layers. The mobile inverted bottleneck convolution unit is used to process the output of the first convolution layer, further extract and process features, and enhance the expressiveness of features through depthwise convolution and feature channel weighting.
[0070] It should be noted that the number of the second processing results is less than or equal to the number of mobile inverted bottleneck convolution units. When the weight corresponding to each mobile inverted bottleneck convolution unit needs to be determined, the number of the second processing results is equal to the number of mobile inverted bottleneck convolution units. If the model operation amount, that is, efficiency, is considered, when some mobile inverted bottleneck convolution units are selected and their weights are determined, the number of the second processing results is less than the number of mobile inverted bottleneck convolution units.
[0071] The size attention unit is an attention mechanism that enhances feature representation by determining the weights of multiple second processing results, focusing on important features based on weight data and suppressing unimportant features. The size attention unit is used to process the output of MBConv to further improve the model's ability to recognize key features through feature enhancement.
[0072] The classifier is the last part of the network, which maps the features extracted and processed by the previous layers to specific categories and obtains multiple angle estimation probabilities. The classifier can contain a fully connected layer and a softmax function, which outputs the probability distribution of each category, allowing the model to predict the most likely (i.e., the most probable) angle of arrival based on multiple angle estimation probabilities.
[0073] Optionally, determining the angle of arrival includes: sorting multiple angle estimation probabilities to obtain a sorting result; selecting a preset number of angle estimation probabilities from the sorting result from large to small, and determining the angle corresponding to the preset number of angle estimation probabilities as the angle of arrival.
[0074] Specifically, the model generates an estimated probability for each possible angle, which indicates the possibility that the model considers each angle to be the correct arrival angle. Then, these angle estimation probabilities are sorted, usually in order from large to small, that is, the highest probability value is at the front. After the sorting is completed, the preset number of angle estimation probabilities with the highest probability are selected from the sorting results. This preset number is determined according to the actual application requirements. Finally, the angles corresponding to the selected multiple angle estimation probabilities are determined as the arrival angles.
[0075] Optionally, the moving inverted bottleneck convolution unit includes a second convolution layer, a deep convolution layer, a compression and excitation layer, and a third convolution layer. The moving inverted bottleneck convolution unit is used to expand the number of feature channels corresponding to the first processing result and perform deep convolution on the expanded result to obtain a deep convolution result, and the weights corresponding to the feature channels in the deep convolution result are determined to obtain a second processing result, including: performing feature extraction on the first processing result using the second convolution layer to obtain a first sub-result; performing deep convolution on the first sub-result using the deep convolution layer to obtain a second sub-result; processing the second sub-result using the compression and excitation layer to obtain a third sub-result, wherein the compression and excitation layer is used to weight the feature channels corresponding to the second sub-result; and performing feature extraction on the third sub-result using the third convolution layer to obtain the second processing result.
[0076] For example, after the first convolutional layer, there are L MBConv layers, each of which includes a second convolutional layer, a depthwise convolutional layer, a squeeze-excitation layer, and a third convolutional layer. Finally, a shortcut operation is added. The lth MBConv layer, that is, the 1+lth layer of the network is expressed as
[0077] f 1+l (X) = f BN (f conv (f SE (f SiLU (f BN (f DPConv (f SiLU .f BN (f conv (x)) / ))+),)+x
[0078] where f DPConv represents the depth convolution, f SE represents Squeeze-Excitation, l=1,...,L.
[0079] Specifically, the second convolution layer expands the number of feature channels corresponding to the first processing result, the deep convolution layer performs deep convolution on the expanded result to obtain a deep convolution result, and the compression and excitation layer determines the weights corresponding to the feature channels in the deep convolution result (i.e., weights the feature channels).
[0080] It should be noted that the shortcut operation usually refers to adding a shortcut (or "skip connection") between the layers of the neural network so that information can be passed directly from one layer to another, rather than just through forward propagation. This operation can help the network train and generalize better because it can avoid the gradient disappearance or explosion problem and increase the network's representation ability.
[0081] Optionally, the size attention unit includes a pooling layer, a fully connected layer and a first preset activation function, and the size attention unit is used to determine the weights of multiple second processing results to obtain a third processing result, including: interpolating and merging feature channels on the second processing results, and using the pooling layer to pool the second processing results after the difference and channel merging to obtain a fourth sub-result; using the fully connected layer to perform feature integration and feature conversion on the fourth sub-result to obtain a fifth sub-result; and using the first preset activation function to activate the fifth sub-result to obtain the third processing result.
[0082] For example, refer to Figure 3 , after L MBConv layers, the size attention module follows, the outputs of different MBConv layers are adjusted to the same size through interpolation and dimension upscaling, and merged in the channel dimension to obtain features with more channels, and then pass through a pooling layer, a fully connected layer and a sigmoid activation function (the first preset activation function) to obtain weights of different sizes, that is, the outputs of different MBConv layers, and finally add these outputs according to the weights, expressed as
[0083] f 2+L (X) = f interp&cat .f 1+1 (X),…,f 1+L (...f 1+1 (X)) /
[0084] ×f sigmoid (f linear (f pool (f interp&cat .f 1+1 (x),…,f 1+L (...f 1+1 (x)) / ))+#(7)
[0085] where f interp&cat represents the interpolation and merging operations, f pool represents pooling, f linear Represents a linear layer, i.e., a fully connected layer.
[0086] Specifically, the interpolation process described above may be performed using a preset interpolation algorithm.
[0087] Exemplarily, the preset interpolation algorithm may be nearest neighbor interpolation (Nearest Neighbor Interpolation), bilinear interpolation (Bilinear Interpolation), or bicubic interpolation (Bicubic Interpolation).
[0088] It should be noted that the fully connected layer integrates features through linear combination. For each feature vector input, the fully connected layer multiplies it by a set of weights and then adds a bias term. This process can be regarded as a weighted sum of features, where the weights are learned during the model training process. The fully connected layer can achieve dimensionality reduction or dimensionality increase by adjusting the number of neurons to achieve feature conversion.
[0089] Optionally, the classifier includes a two-dimensional convolution layer, a batch normalization layer, a third preset activation function, a fully connected layer and a second preset activation function, and the classifier is used to obtain multiple angle estimation probabilities based on the third processing result, including: using a two-dimensional convolution layer to extract features of the third processing result to obtain a sixth sub-result; using a batch normalization layer to normalize the sixth sub-result and perform a linear transformation on the normalized sixth sub-result to obtain a seventh sub-result; using the third preset activation function to activate the seventh sub-result to obtain an eighth sub-result; using a fully connected layer to reduce the dimension of the eighth sub-result and determine the length of the one-dimensional data after the dimension reduction to obtain a ninth sub-result; using the second preset activation function to determine multiple angle estimation probabilities based on the ninth sub-result.
[0090] Exemplarily, the classifier is represented by a two-dimensional convolutional layer, a batch normalization layer, a second preset activation function (SiLU activation function), a fully connected layer, and a first preset activation function:
[0091] f 3+L (x) = f sigmoid (f linear (f SiLU .f BN (f conv (x)) / ))
[0092] Among them, f conv represents a two-dimensional convolutional layer, f BN represents the batch normalization layer, f SiLU Represents the second preset activation function, f linear represents the fully connected layer, f sigmoid Represents the first preset activation function.
[0093] It can be understood that the fully connected layer converts the two-dimensional data into one-dimensional data, and its length is determined by the preset number of angles. The sigmoid function outputs the one-dimensional data as a value between 0 and 1, which is regarded as the estimated probability of different angles. Exemplarily, K maximum values are selected and their corresponding angles are used as the final estimated arrival angle.
[0094] Optionally, the training of the arrival angle signal estimation model includes: obtaining a training signal; constructing a training covariance matrix based on the training signal; determining training data based on the training covariance matrix using the actual arrival angle corresponding to the training signal; and training a preset model to be trained using a preset training algorithm based on the training data to obtain the arrival angle signal estimation model.
[0095] Specifically, when training the model, obtaining the training signal is the first step in the training process, and it is necessary to collect or generate signal data for training the model. These signal data can be actually measured signals or signals generated by simulation. They contain signal characteristics from different sources and arrival angle information related to these signals. After obtaining the training signals, a training covariance matrix is constructed from these signals. The covariance matrix is used to describe the statistical correlation of signals between different sensors or array elements. In AoA estimation, the covariance matrix can capture the spatial characteristics of the signal, which is crucial for determining the direction of the signal.
[0096] Using the training covariance matrix and the corresponding true angle of arrival, the dataset used for training can be determined. This dataset contains pairs of input (covariance matrix) and output (angle of arrival). These datasets are used to teach the model how to extract features from the covariance matrix and accurately predict the angle of arrival.
[0097] After obtaining the training data, the model can be trained using a preset training algorithm. The training algorithm can be a deep learning algorithm, such as a convolutional neural network (CNN), or other machine learning algorithms. These algorithms iteratively optimize the parameters of the model so that the model can minimize the difference between the predicted angle of arrival and the actual angle of arrival.
[0098] After training, the resulting model is able to predict new covariance matrices and thus estimate the angle of arrival of the signal. This model can be used for practical signal processing tasks such as positioning and navigation in radar, sonar, or wireless communications.
[0099] Optionally, the preset training algorithm is a stochastic gradient descent optimizer, and according to the training data, the preset model to be trained is trained using the stochastic gradient descent optimizer to obtain an arrival angle signal estimation model, including: according to a preset ratio, dividing the training data into a training set and a verification set; based on the training set, the preset model to be trained is trained using the stochastic gradient descent optimizer to obtain a trained preset model to be trained; based on the verification set, the trained preset model to be trained is verified to obtain a verification result; according to the verification result, the parameters of the trained preset model to be trained are adjusted to obtain an arrival angle estimation model.
[0100] Specifically, stochastic gradient descent is an optimization algorithm used to minimize the loss function in machine learning. It reduces the prediction error by iteratively adjusting the parameters of the model.
[0101] In order to evaluate the generalization ability of the model, the training data is divided into two parts according to a certain ratio (preset ratio): training set and validation set. The training set is used to train the model, while the validation set is used to evaluate the performance of the model during the training process.
[0102] Using the data on the training set, the parameters of the model are updated through the stochastic gradient descent optimizer, which includes calculating the gradient of the loss function with respect to the parameters and updating the parameters along the direction of gradient descent to minimize the loss function.
[0103] During the training process, the validation set is used to evaluate the performance of the model. This helps monitor whether the model is overfitting (i.e., performing well on the training set, but performing poorly on unseen data) or underfitting (i.e., performing poorly on the training set).
[0104] Based on the performance results on the validation set, the parameters of the model can be adjusted. This can include adjusting the learning rate, adding regularization terms, changing the network structure, or adjusting other hyperparameters. These adjustments are intended to improve the generalization ability of the model so that it can perform well on new, unseen data.
[0105] After training and parameter tuning, the resulting model can be used to estimate the angle of arrival of the signal. The angle of arrival signal estimation model learns how to extract features from the covariance matrix and accurately predict the angle of arrival of the signal.
[0106] Exemplarily, in the training data, if the preset ratio is 9:1, 90% of the training data is used as a training set and 10% is used as a validation set. The model is trained with 200 iterations in a batch size of 32 and a stochastic gradient descent optimizer with a learning rate of 0.1.
[0107] It can be understood that the angle estimation algorithm in the model is regarded as a multi-label classification task. The estimated angle range is set with a resolution of ρ in the interval [-Φ, Φ], that is, Φ / ρ×2+1 label categories. The output of the neural network is a one-dimensional vector of the same size. K maximum values are selected according to the number of sources, and the corresponding angle label is the final angle estimate of the model.
[0108] Based on the description of the above embodiment, for example, for the algorithm proposed in the present invention, in simulation, the number of sources K=2 and the number of array elements N=16 are selected. Φ=60° and ρ=1° are selected in the angle label, and 121 label categories are obtained. For each pair of angles and different signal-to-noise ratios, the true covariance matrix is selected. In order to increase the generalization of the network and simplify the training process, 5 signal-to-noise ratios of {-20, -15, -10, -5, 0} dB are selected, and a total of 36,300 sets of training data are generated.
[0109] Based on the above data, we first test the estimation performance of the network at different signal-to-noise ratio levels, set the angles θ1 = 10.11° and θ2 = 13.03°, generate the sample covariance matrix at different signal-to-noise ratios with 1000 snapshots, and calculate the RMSE using the Monte Carlo method 1000 times, as shown in the figure. Figure 4 It can be seen that under low signal-to-noise ratio, the network performance of the present invention is slightly better than CNN and ViT, and significantly better than the model-based MUSIC algorithm. Then the estimation performance of the network under different snapshot numbers is tested, SNR = -10dB, angles θ1 = 9.58°, θ2 = 13.18° are set under different snapshot numbers, and RMSE is calculated by the 1000-time Monte Carlo method. Figure 5 The results show that the network performance of the present invention is significantly better than CNN, ViT and MUSIC under a small number of snapshots, such as 100, 200 and 500, showing its robustness under a small number of snapshots. Finally, the estimation performance of the network under different angle intervals is tested, taking SNR = -10dB, the number of snapshots is 500, and the angle is set The RMSE is calculated by using the Monte Carlo method 1000 times, such as Figure 6 ,It can be seen that when the angle interval is small, the neural network method can identify the angle information compared with the subspace method, and the estimation accuracy of the proposed network is better than that of CNN, but when the angle interval is large, the accuracy of the neural network method cannot compete with the MUSIC method.
[0110] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course can also be implemented by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present invention is essentially or the part that contributes to the prior art can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), including a number of instructions for a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods described in each embodiment of the present invention.
[0111] In the embodiment of the present invention, an arrival angle signal estimation system is also provided, which is used to implement the above-mentioned embodiment and preferred implementation mode, and the descriptions that have been made will not be repeated. As used below, the term "module" can implement a combination of software and / or hardware of a predetermined function. Although the device described in the following embodiments is preferably implemented in software, the implementation of hardware, or a combination of software and hardware is also possible and conceivable.
[0112] Figure 7 FIG. 2 is a block diagram of an arrival angle signal estimation system 200 according to one embodiment of the present invention. Figure 7 As shown, the system includes: an acquisition module 201, used to acquire an angle of arrival signal; a determination module 202, used to determine a covariance matrix corresponding to the angle of arrival signal according to the angle of arrival signal; an estimation module 203, used to estimate the angle of arrival signal using a pre-trained angle of arrival signal estimation model to obtain an angle of arrival, wherein the input of the angle of arrival signal estimation model is the covariance matrix, and the angle of arrival signal estimation model is constructed based on a moving inverted bottleneck convolution and a size attention mechanism.
[0113] An embodiment of the present invention further provides an electronic device, comprising: a memory storing an executable program; and a processor for running the program, wherein the method for estimating an angle of arrival signal described in any of the above embodiments is executed when the program is running.
[0114] Optionally, in this embodiment, the processor in the above electronic device may be configured to run an executable computer program to perform the following steps:
[0115] Step S101, obtaining an angle of arrival signal.
[0116] Step S102: determining a covariance matrix corresponding to the angle of arrival signal according to the angle of arrival signal.
[0117] Step S103, using a pre-trained arrival angle signal estimation model, the arrival angle signal is estimated to obtain the arrival angle, wherein the input of the arrival angle signal estimation model is a covariance matrix, and the arrival angle signal estimation model is constructed based on a moving inverted bottleneck convolution and a size attention mechanism.
[0118] Optionally, the processor in the above-mentioned electronic device can be configured to run an executable computer program to perform the following steps: determine an arrival angle signal expression based on preset parameters and the arrival angle signal, wherein the preset parameters include a preset number of array elements and a preset unit array element spacing; and determine a covariance matrix corresponding to the arrival angle signal based on the arrival angle signal expression.
[0119] Optionally, the processor in the above-mentioned electronic device can be configured to run an executable computer program to perform the following steps: construct a uniform linear array steering flow matrix based on a preset number of array elements and a preset unit array element spacing; determine an arrival angle signal vector based on the arrival angle signal; determine an arrival angle signal expression based on the uniform linear array steering flow matrix, the arrival angle signal vector and Gaussian white noise representation.
[0120] Optionally, the arrival angle signal estimation model includes a first convolution layer, multiple moving inverted bottleneck convolution units, a size attention unit and a classifier. The processor in the above electronic device can be configured to run an executable computer program to perform the following steps: using the first convolution layer to extract features from the covariance matrix to obtain a first processing result; using multiple moving inverted bottleneck convolution units to expand the number of feature channels corresponding to the first processing result and perform deep convolution on the expanded result to obtain a deep convolution result, determining the weights corresponding to the feature channels in the deep convolution result, and obtaining multiple second processing results; using the size attention unit to determine the weights of the multiple second processing results to obtain a third processing result; using the classifier to obtain multiple angle estimation probabilities based on the third processing result, wherein the multiple angle estimation probabilities are used to determine the arrival angle.
[0121] Optionally, the processor in the above-mentioned electronic device can be configured to run an executable computer program to perform the following steps: sorting multiple angle estimation probabilities to obtain a sorting result; selecting a preset number of angle estimation probabilities from the sorting result from large to small, and determining the angle corresponding to the preset number of angle estimation probabilities as the arrival angle.
[0122] Optionally, the mobile inverted bottleneck convolution unit includes a second convolution layer, a deep convolution layer, a compression and excitation layer, and a third convolution layer. The processor in the above electronic device can be configured to run an executable computer program to perform the following steps: using the second convolution layer to extract features from the first processing result to obtain a first sub-result; using the deep convolution layer to perform deep convolution on the first sub-result to obtain a second sub-result; using the compression and excitation layer to process the second sub-result to obtain a third sub-result, wherein the compression and excitation layer is used to weight the feature channels corresponding to the second sub-result; using the third convolution layer to extract features from the third sub-result to obtain a second processing result.
[0123] Optionally, the size attention unit includes a pooling layer, a fully connected layer and a first preset activation function, and the processor in the above electronic device can be configured to run an executable computer program to perform the following steps: interpolate and merge feature channels on the second processing result, and use the pooling layer to pool the second processing result after the difference and channel merging to obtain a fourth sub-result; use the fully connected layer to integrate and transform features on the fourth sub-result to obtain a fifth sub-result; and use the first preset activation function to activate the fifth sub-result to obtain a third processing result.
[0124] Optionally, the classifier includes a two-dimensional convolution layer, a batch normalization layer, a third preset activation function, a fully connected layer and a second preset activation function, and the processor in the above electronic device can be configured to run an executable computer program to perform the following steps: using the two-dimensional convolution layer to extract features of the third processing result to obtain a sixth sub-result; using the batch normalization layer to normalize the sixth sub-result and perform a linear transformation on the normalized sixth sub-result to obtain a seventh sub-result; using the third preset activation function to activate the seventh sub-result to obtain an eighth sub-result; using the fully connected layer to reduce the dimension of the eighth sub-result and determine the length of the one-dimensional data after the dimension reduction to obtain a ninth sub-result; using the second preset activation function to determine multiple angle estimation probabilities based on the ninth sub-result.
[0125] Optionally, the processor in the above-mentioned electronic device can be configured to run an executable computer program to perform the following steps: obtain a training signal; construct a training covariance matrix based on the training signal; determine the training data based on the training covariance matrix using the actual arrival angle corresponding to the training signal; and train the preset model to be trained using a preset training algorithm based on the training data to obtain an arrival angle signal estimation model.
[0126] Optionally, the preset training algorithm is a stochastic gradient descent optimizer. According to the training data, the processor in the above electronic device can be configured to run an executable computer program to perform the following steps: according to a preset ratio, the training data is divided into a training set and a verification set; based on the training set, the preset model to be trained is trained using a stochastic gradient descent optimizer to obtain a trained preset model to be trained; based on the verification set, the trained preset model to be trained is verified to obtain a verification result; according to the verification result, the parameters of the trained preset model to be trained are adjusted to obtain an arrival angle estimation model.
[0127] An embodiment of the present invention further provides a computer-readable storage medium, which includes a stored executable program, wherein when the executable program runs, the device where the computer-readable storage medium is located is controlled to execute the arrival angle signal estimation method described in any of the above embodiments.
[0128] Optionally, in this embodiment, the above executable program may be configured to store an executable program for performing the following steps:
[0129] Step S101, obtaining an angle of arrival signal.
[0130] Step S102: determining a covariance matrix corresponding to the angle of arrival signal according to the angle of arrival signal.
[0131] Step S103, using a pre-trained arrival angle signal estimation model, the arrival angle signal is estimated to obtain the arrival angle, wherein the input of the arrival angle signal estimation model is a covariance matrix, and the arrival angle signal estimation model is constructed based on a moving inverted bottleneck convolution and a size attention mechanism.
[0132] Optionally, the above-mentioned executable program can be configured to store an executable program for performing the following steps: determining an arrival angle signal expression based on preset parameters and an arrival angle signal, wherein the preset parameters include a preset number of array elements and a preset unit array element spacing; and determining a covariance matrix corresponding to the arrival angle signal based on the arrival angle signal expression.
[0133] Optionally, the above-mentioned executable program can be configured to store an executable program for executing the following steps: constructing a uniform linear array steering flow matrix based on a preset number of array elements and a preset unit array element spacing; determining an arrival angle signal vector based on the arrival angle signal; determining an arrival angle signal expression based on the uniform linear array steering flow matrix, the arrival angle signal vector and Gaussian white noise representation.
[0134] Optionally, the arrival angle signal estimation model includes a first convolution layer, multiple moving inverted bottleneck convolution units, a size attention unit and a classifier, and the above-mentioned executable program can be configured to store an executable program for executing the following steps: using the first convolution layer to extract features from the covariance matrix to obtain a first processing result; using multiple moving inverted bottleneck convolution units to expand the number of feature channels corresponding to the first processing result and performing deep convolution on the expanded result to obtain a deep convolution result, determining the weights corresponding to the feature channels in the deep convolution result, and obtaining multiple second processing results; using the size attention unit to determine the weights of the multiple second processing results to obtain a third processing result; using the classifier to obtain multiple angle estimation probabilities based on the third processing result, wherein the multiple angle estimation probabilities are used to determine the arrival angle.
[0135] Optionally, the above-mentioned executable program can be configured to store an executable program for executing the following steps: sorting multiple angle estimation probabilities to obtain a sorting result; selecting a preset number of angle estimation probabilities from the sorting result from large to small, and determining the angle corresponding to the preset number of angle estimation probabilities as the arrival angle.
[0136] Optionally, the mobile inverted bottleneck convolution unit includes a second convolution layer, a deep convolution layer, a compression and excitation layer, and a third convolution layer, and the above-mentioned executable program can be set to store an executable program for executing the following steps: using the second convolution layer to extract features of the first processing result to obtain a first sub-result; using the deep convolution layer to perform deep convolution on the first sub-result to obtain a second sub-result; using the compression and excitation layer to process the second sub-result to obtain a third sub-result, wherein the compression and excitation layer is used to weight the feature channels corresponding to the second sub-result; using the third convolution layer to extract features from the third sub-result to obtain a second processing result.
[0137] Optionally, the size attention unit includes a pooling layer, a fully connected layer and a first preset activation function, and the above-mentioned executable program can be configured to store an executable program for executing the following steps: interpolating and merging feature channels on the second processing result, pooling the second processing result after the difference and channel merging using the pooling layer to obtain a fourth sub-result; performing feature integration and feature conversion on the fourth sub-result using the fully connected layer to obtain a fifth sub-result; and activating the fifth sub-result using the first preset activation function to obtain a third processing result.
[0138] Optionally, the classifier includes a two-dimensional convolution layer, a batch normalization layer, a third preset activation function, a fully connected layer and a second preset activation function, and the above-mentioned executable program can be configured to store an executable program for executing the following steps: using a two-dimensional convolution layer to extract features of the third processing result to obtain a sixth sub-result; using a batch normalization layer to normalize the sixth sub-result and perform a linear transformation on the normalized sixth sub-result to obtain a seventh sub-result; using the third preset activation function to activate the seventh sub-result to obtain an eighth sub-result; using a fully connected layer to reduce the dimension of the eighth sub-result and determine the length of the one-dimensional data after the dimension reduction to obtain a ninth sub-result; using the second preset activation function to determine multiple angle estimation probabilities based on the ninth sub-result.
[0139] Optionally, the above-mentioned executable program can be configured to store an executable program for performing the following steps: obtaining a training signal; constructing a training covariance matrix based on the training signal; determining training data based on the training covariance matrix using the actual arrival angle corresponding to the training signal; and training a preset model to be trained using a preset training algorithm based on the training data to obtain an arrival angle signal estimation model.
[0140] Optionally, the preset training algorithm is a stochastic gradient descent optimizer. According to the training data, the above-mentioned executable program can be set to store an executable program for performing the following steps: dividing the training data into a training set and a verification set according to a preset ratio; based on the training set, using the stochastic gradient descent optimizer to train the preset model to be trained to obtain a trained preset model to be trained; based on the verification set, verifying the trained preset model to be trained to obtain a verification result; according to the verification result, adjusting the parameters of the trained preset model to be trained to obtain an arrival angle estimation model.
[0141] An embodiment of the present invention further provides a computer program product, including a computer program, and when the computer program is executed by a processor, the method for estimating an angle of arrival signal described in any of the above embodiments is implemented.
[0142] Optionally, in this embodiment, the above computer program implements the following steps when executed by a processor:
[0143] Step S101, obtaining an angle of arrival signal.
[0144] Step S102: determining a covariance matrix corresponding to the angle of arrival signal according to the angle of arrival signal.
[0145] Step S103, using a pre-trained arrival angle signal estimation model, the arrival angle signal is estimated to obtain the arrival angle, wherein the input of the arrival angle signal estimation model is a covariance matrix, and the arrival angle signal estimation model is constructed based on a moving inverted bottleneck convolution and a size attention mechanism.
[0146] Optionally, the above-mentioned computer program implements the following steps when executed by the processor: determining an arrival angle signal expression based on preset parameters and the arrival angle signal, wherein the preset parameters include a preset number of array elements and a preset unit array element spacing; and determining a covariance matrix corresponding to the arrival angle signal based on the arrival angle signal expression.
[0147] Optionally, the above-mentioned computer program implements the following steps when executed by a processor: constructing a uniform linear array steering flow matrix based on a preset number of array elements and a preset unit array element spacing; determining an arrival angle signal vector based on the arrival angle signal; determining an arrival angle signal expression based on the uniform linear array steering flow matrix, the arrival angle signal vector and Gaussian white noise representation.
[0148] Optionally, the arrival angle signal estimation model includes a first convolution layer, multiple moving inverted bottleneck convolution units, a size attention unit and a classifier. The above computer program implements the following steps when executed by the processor: using the first convolution layer to extract features from the covariance matrix to obtain a first processing result; using multiple moving inverted bottleneck convolution units to expand the number of feature channels corresponding to the first processing result and performing deep convolution on the expanded result to obtain a deep convolution result, determining the weights corresponding to the feature channels in the deep convolution result, and obtaining multiple second processing results; using the size attention unit to determine the weights of the multiple second processing results to obtain a third processing result; using the classifier to obtain multiple angle estimation probabilities based on the third processing result, wherein the multiple angle estimation probabilities are used to determine the arrival angle.
[0149] Optionally, the above-mentioned computer program implements the following steps when executed by the processor: sorting multiple angle estimation probabilities to obtain a sorting result; selecting a preset number of angle estimation probabilities from the sorting result from large to small, and determining the angle corresponding to the preset number of angle estimation probabilities as the arrival angle.
[0150] Optionally, the moving inverted bottleneck convolution unit includes a second convolution layer, a deep convolution layer, a compression and excitation layer, and a third convolution layer. The above computer program implements the following steps when executed by the processor: using the second convolution layer to extract features from the first processing result to obtain a first sub-result; using the deep convolution layer to perform deep convolution on the first sub-result to obtain a second sub-result; using the compression and excitation layer to process the second sub-result to obtain a third sub-result, wherein the compression and excitation layer is used to weight the feature channels corresponding to the second sub-result; using the third convolution layer to extract features from the third sub-result to obtain a second processing result.
[0151] Optionally, the size attention unit includes a pooling layer, a fully connected layer and a first preset activation function. The above computer program implements the following steps when executed by the processor: interpolate and merge feature channels on the second processing result, use the pooling layer to pool the second processing result after the difference and channel merging, and obtain a fourth sub-result; use the fully connected layer to integrate and transform features of the fourth sub-result to obtain a fifth sub-result; use the first preset activation function to activate the fifth sub-result to obtain a third processing result.
[0152] Optionally, the classifier includes a two-dimensional convolution layer, a batch normalization layer, a third preset activation function, a fully connected layer and a second preset activation function. The above computer program implements the following steps when executed by the processor: using the two-dimensional convolution layer to extract features of the third processing result to obtain a sixth sub-result; using the batch normalization layer to normalize the sixth sub-result and perform a linear transformation on the normalized sixth sub-result to obtain a seventh sub-result; using the third preset activation function to activate the seventh sub-result to obtain an eighth sub-result; using the fully connected layer to reduce the dimension of the eighth sub-result and determine the length of the one-dimensional data after the dimension reduction to obtain a ninth sub-result; using the second preset activation function to determine multiple angle estimation probabilities based on the ninth sub-result.
[0153] Optionally, the above-mentioned computer program implements the following steps when executed by the processor: obtaining a training signal; constructing a training covariance matrix based on the training signal; determining training data based on the training covariance matrix using the actual arrival angle corresponding to the training signal; and training a preset model to be trained using a preset training algorithm based on the training data to obtain an arrival angle signal estimation model.
[0154] Optionally, the preset training algorithm is a stochastic gradient descent optimizer. According to the training data, the above-mentioned computer program implements the following steps when executed by the processor: according to a preset ratio, the training data is divided into a training set and a verification set; based on the training set, the preset model to be trained is trained using the stochastic gradient descent optimizer to obtain a trained preset model to be trained; based on the verification set, the trained preset model to be trained is verified to obtain a verification result; according to the verification result, the parameters of the trained preset model to be trained are adjusted to obtain an arrival angle estimation model.
[0155] Optionally, the specific examples in this embodiment may refer to the examples described in the above embodiments and optional implementation modes, and this embodiment will not be described in detail here.
[0156] In the above embodiments of the present invention, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0157] In some embodiments provided in the present application, it should be understood that the disclosed technical content can be implemented in other ways. Among them, the device embodiments described above are only schematic. For example, the division of units can be a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of units or modules, which can be electrical or other forms.
[0158] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed over multiple units. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.
[0159] In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0160] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, server or network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: U disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), mobile hard disk, magnetic disk or optical disk and other media that can store program codes.
[0161] The above is only a preferred embodiment of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principle of the present invention. These improvements and modifications should also be regarded as the scope of protection of the present invention.
Claims
1. A method for estimating an angle of arrival signal, characterized in that: include: Get the arrival angle signal; Determining a covariance matrix corresponding to the angle of arrival signal according to the angle of arrival signal; The angle of arrival signal is estimated by using a pre-trained angle of arrival signal estimation model to obtain the angle of arrival, wherein the input of the angle of arrival signal estimation model is the covariance matrix, and the angle of arrival signal estimation model is constructed based on a moving inverted bottleneck convolution and a size attention mechanism.
2. The arrival angle signal estimation method according to claim 1, characterized in that: The step of determining a covariance matrix corresponding to the angle of arrival signal according to the angle of arrival signal comprises: Determine an angle of arrival signal expression according to preset parameters and the angle of arrival signal, wherein the preset parameters include a preset number of array elements and a preset unit array element spacing; According to the arrival angle signal expression, a covariance matrix corresponding to the arrival angle signal is determined.
3. The arrival angle signal estimation method according to claim 2, characterized in that: The step of determining the angle of arrival signal expression according to the preset parameters and the angle of arrival signal comprises: Constructing a uniform linear array guide flow matrix according to the preset number of array elements and the preset unit array element spacing; Determining an angle of arrival signal vector according to the angle of arrival signal; The angle of arrival signal expression is determined based on the uniform linear array steering flow pattern matrix, the angle of arrival signal vector and Gaussian white noise representation.
4. The arrival angle signal estimation method according to claim 1, characterized in that: The arrival angle signal estimation model includes a first convolution layer, a plurality of mobile inverted bottleneck convolution units, a size attention unit and a classifier. The arrival angle signal is estimated by using the pre-trained arrival angle signal estimation model to obtain the arrival angle, including: Using the first convolutional layer to perform feature extraction on the covariance matrix to obtain a first processing result; Using the multiple moving inverted bottleneck convolution units to expand the number of feature channels corresponding to the first processing result and perform deep convolution on the expanded result to obtain a deep convolution result, determine the weights corresponding to the feature channels in the deep convolution result, and obtain multiple second processing results; Determining weights of the plurality of second processing results using the size attention unit to obtain a third processing result; The classifier is used to obtain a plurality of angle estimation probabilities based on the third processing result, wherein the plurality of angle estimation probabilities are used to determine the arrival angle.
5. The arrival angle signal estimation method according to claim 4, characterized in that: The determination of the angle of arrival includes: Sorting the multiple angle estimation probabilities to obtain a sorting result; A preset number of angle estimation probabilities are selected from the sorting results from large to small, and the angles corresponding to the preset number of angle estimation probabilities are determined as the arrival angles.
6. The arrival angle signal estimation method according to claim 4, characterized in that: The moving inverted bottleneck convolution unit includes a second convolution layer, a depth convolution layer, a compression and excitation layer, and a third convolution layer. The moving inverted bottleneck convolution unit is used to expand the number of feature channels corresponding to the first processing result and perform depth convolution on the expanded result to obtain a depth convolution result, and the weights corresponding to the feature channels in the depth convolution result are determined to obtain a second processing result, including: Using the second convolutional layer to perform feature extraction on the first processing result to obtain a first sub-result; Performing a depth convolution on the first sub-result using the depth convolution layer to obtain a second sub-result; Processing the second sub-result using the compression and excitation layer to obtain a third sub-result, wherein the compression and excitation layer is used to weight the feature channels corresponding to the second sub-result; The third convolutional layer is used to perform feature extraction on the third sub-result to obtain the second processing result.
7. The arrival angle signal estimation method according to claim 4, characterized in that: The size attention unit includes a pooling layer, a fully connected layer and a first preset activation function, and the weights of the plurality of second processing results are determined by using the size attention unit to obtain a third processing result, including: Interpolate and merge feature channels on the second processing result, and use the pooling layer to perform pooling on the second processing result after the difference and channel merging to obtain a fourth sub-result; Using the fully connected layer to perform feature integration and feature conversion on the fourth sub-result to obtain a fifth sub-result; The fifth sub-result is activated by using the first preset activation function to obtain the third processing result.
8. The arrival angle signal estimation method according to claim 4, characterized in that: The classifier includes a two-dimensional convolution layer, a batch normalization layer, a third preset activation function, a fully connected layer, and a second preset activation function, and the method of using the classifier to obtain multiple angle estimation probabilities based on the third processing result includes: Using the two-dimensional convolution layer to perform feature extraction on the third processing result to obtain a sixth sub-result; Normalizing the sixth sub-result using the batch normalization layer and performing a linear transformation on the normalized sixth sub-result to obtain a seventh sub-result; Activating the seventh sub-result using the third preset activation function to obtain an eighth sub-result; Using the fully connected layer to reduce the dimension of the eighth sub-result and determine the length of the one-dimensional data after the dimension reduction, to obtain a ninth sub-result; The second preset activation function is used to determine multiple angle estimation probabilities according to the ninth sub-result.
9. The arrival angle signal estimation method according to claim 1, characterized in that: The training of the arrival angle signal estimation model includes: Obtain training signals; Constructing a training covariance matrix according to the training signal; Determine training data using the true angle of arrival corresponding to the training signal according to the training covariance matrix; According to the training data, a preset model to be trained is trained using a preset training algorithm to obtain the arrival angle signal estimation model.
10. The arrival angle signal estimation method according to claim 1, characterized in that: The preset training algorithm is a stochastic gradient descent optimizer, and the method of training the preset to-be-trained model using the stochastic gradient descent optimizer according to the training data to obtain the arrival angle signal estimation model includes: Dividing the training data into a training set and a validation set according to a preset ratio; Based on the training set, the preset model to be trained is trained using a stochastic gradient descent optimizer to obtain a trained preset model to be trained; Based on the verification set, verifying the trained preset model to be trained to obtain a verification result; According to the verification result, parameters of the trained preset model to be trained are adjusted to obtain the arrival angle estimation model.
11. An electronic device, characterized in that: include: A memory storing an executable program; A processor, configured to run the program, wherein the program executes the method according to any one of claims 1 to 10 when running.
12. A computer program product, characterized in that It comprises a computer program which, when executed by a processor, implements the method according to any one of claims 1 to 10.
13. A computer-readable storage medium, characterized in that: The computer-readable storage medium includes a stored executable program, wherein when the executable program is executed, the device where the storage medium is located is controlled to execute the method according to any one of claims 1 to 10.