A method for correcting time-varying amplitude and phase errors of an array
A neural network-based method addresses the challenge of correcting rapid and time-varying phase errors in array antennas by preprocessing data and using an encoder-decoder structure to achieve precise array data correction, improving signal quality.
Patent Information
- Application Number
- CN202310340166.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-03-31
- Publication Date
- 2025-07-15
- Estimated Expiration
- 2043-03-31
AI Technical Summary
The existing array antenna correction methods cannot effectively handle the time-varying amplitude phase error caused by platform movement, especially in high-speed and highly mobility environments, which make the array error time-varying difficult to correct.
The deep neural network is used for array data processing, and the network structure composed of an encoder and a decoder is used to extract and compress data features, and the decoder is used to reconstruct data to minimize mean square error and realize the correction of the time-varying amplitude phase error in the array.
Effectively extract deep features of array data, realize real-time correction of time-varying amplitude phase error, and significantly improve the signal-to-noise ratio of the received signal.
Smart Images

Figure CN116415117B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to array error correction technology and machine learning algorithms, and particularly to a method for correcting time-varying amplitude and phase errors of an array. Background Art
[0002] In array signal processing technology, array antenna error correction is a key technology for enhancing signals and effectively extracting spatial information of signals in engineering applications by using the spatial characteristics of signals. Existing array antenna correction methods mainly include two categories: active correction methods relying on specific auxiliary signal sources set in space and self-correction methods that jointly estimate the azimuth and perturbation array parameters of spatial signal sources using optimization algorithms. However, with the trend of high speed and high mobility of the platforms carrying array antennas, the problem of time-varying amplitude and phase errors caused by frequent vibrations of the array due to platform movement has become prominent, leading to the difficulty of time-varying array errors. Since active correction methods have good correction performance for slowly changing array errors but cannot achieve real-time correction of array errors; self-correction methods can achieve online estimation, but due to the huge computational amount brought by high-dimensional and multi-mode non-linearity, they also cannot achieve precise correction of time-varying errors, and it is also difficult to apply to large array error scenarios. Therefore, existing methods have great limitations for correcting rapidly changing array errors. Summary of the Invention
[0003] In view of the problems existing in the prior art, the present invention proposes a method for correcting time-varying amplitude and phase errors of an array, which specifically includes the following steps:
[0004] The first step: Array data preprocessing
[0005] The array data in the ideal state is expressed as:
[0006]
[0007] Rewrite the above formula into a vector form:
[0008] X0(t) = A0S(t) + N0(t) (2)
[0009] In the formula, X0(t) is the M×1 dimensional snapshot vector of the array in the ideal state, x1(t), …, x M (t) are the signals received by the 1st to Mth array elements respectively, and M is the number of array elements in the array; N0(t) is the M×1 dimensional noise data vector of the array in the ideal state, n1(t), …, n M (t) are the noises received by the 1st to Mth array elements respectively; S(t) is the N×1 dimensional vector of the spatial signal, and N is the number of received signals, s1(t), …, s N (t) are the 1st to Nth incident signals respectively; $\omega$ is the frequency of the signal received by the array element, $c$ is the speed of light, $\lambda$ is the wavelength, $f$ is the frequency of the received signal, and $j$ is the imaginary unit; $A_0$ is the $M\times N$-dimensional manifold matrix of the ideal spatial array, that is, the steering vector matrix, where:
[0010] $A_0 = [a_1(\omega_0) \ a_2(\omega_0) \ \cdots \ a$ N (\omega_0)] \ (3)
[0011] Steering vector:
[0012]
[0013] In the formula, $\tau$ nm is the time delay of the $m$-th array element receiving the $n$-th incident signal, where the value ranges of $n$ and $m$ are $i = 1, 2, \cdots, N$ and $m = 1, 2, \cdots, M$;
[0014] The snapshot data vector of the spatially array antenna with perturbations is expressed as:
[0015] $X(t) = A(\theta, \rho)S(t) + N(t) \ (5)
[0016] In the formula, $X(t)$ is the $M\times1$ snapshot vector of the perturbed array, $N(t)$ is the $M\times1$ noise data vector of the perturbed array, and $S(t)$ is the $N\times1$ vector of the spatially incident signals; $A(\theta, \rho) = [a(\theta_1, \rho) \ a(\theta_2, \rho) \ \cdots \ a(\theta$ N , \rho])$ is the $M\times N$-dimensional perturbed array manifold matrix, and $a(\theta$ n , \rho)$ is the array steering vector corresponding to the $n$-th signal source, $\theta$ is the azimuth vector, and $\theta_1 \cdots \theta$ N are the azimuth angles of the first to $N$-th signal incidences respectively, and $\rho$ is the array parameter related to the steering vector;
[0017] Complex gain normalization processing of array elements:
[0018]
[0019] where $x$ m is the complex gain value of the $m$-th array element, $\min(x$ m ) is the minimum complex gain value of the $m$-th array element, and $\max(x$ m ) is the maximum complex gain value of the $m$-th array element;
[0020] Assuming that there is no amplitude-phase error in the array elements, each array element is a completely identical omnidirectional antenna, and when the complex gain of the first array element is normalized to 1, the array steering vector is expressed as follows:
[0021]
[0022]
[0023]
[0024]
[0025] In the formula, f0 is the frequency of the incident signal, τ m (θ n , ρ) is the time delay relative to the first element when the nth signal source arrives at the mth element; r m is the coordinate vector of the mth element, are the three-dimensional rectangular coordinates of the mth element respectively; v n is the azimuth vector of the nth signal source; is the elevation angle of the nth incident signal;
[0026] Array steering vector of amplitude-phase error independent of azimuth:
[0027]
[0028] In the formula, Γ2…Γ M are the amplitude-phase errors of the 2nd to Mth elements respectively, τ 2n …τ MN are the time delays of the 2nd to Mth elements respectively;
[0029] M×N dimensional manifold matrix of the perturbed spatial array:
[0030]
[0031] Γ = [1 Γ2…Γ M (13)
[0032] In the formula, is the array manifold matrix of the amplitude-phase error independent of azimuth, only containing the amplitude-phase error independent of azimuth; are the array steering vectors corresponding to the 1st to Nth signal sources respectively; Γ is the amplitude-phase error matrix of M elements. For simplicity, use A to simply represent A(θ, ρ) = [a(θ1, ρ) a(θ2, ρ)…a(θ N , ρ)];
[0033] The signal data containing amplitude-phase errors received by the spatial array can be expressed in the following vector form:
[0034]
[0035] The perturbed signal data containing amplitude-phase errors and the unperturbed signal data X0(t) without amplitude-phase errors are segmented, that is, the perturbed signal data The complex values of the undisturbed signal data X0(t) are respectively split into real and imaginary values. The obtained real and imaginary values are subjected to dimensionality transformation, from M×N dimensions to M×1×N×1 dimensions. The obtained real and imaginary values are stacked, and two sets of M×1×N×1 dimensional data are converted into a set of M×2×N×1 dimensional data, obtaining the undisturbed array data X0(t) and the disturbed array data after dimensionality transformation. And respectively on the undisturbed array data X0(t) and the disturbed array data after dimension transformation Add Gaussian white noise. The processed disturbed data and undisturbed data form the training set of the network, and randomly extract P% of the disturbed data as the test set of the network;
[0036] Step 2: Network parameter update and array data correction
[0037] The network consists of two parts: an encoder and a decoder. The encoder consists of three layers of neural networks, namely the input layer and two convolutional layers; the decoder consists of four layers of neural networks, namely three fully connected layers and an output layer, as follows;
[0038] (1) Array data feature extraction and compression
[0039] The encoder converts the input M×2×N×1 dimensional array data into M×2×N dimensional data through the input layer. In the two convolutional layers, the matrix inner product is calculated by multiplying the data matrix input to each layer of the network with the convolutional kernel matrix, and the result is subtracted from the corresponding node bias of each layer. At the same time, by padding zeros at the edge of each sample, it is ensured that the sample size remains unchanged after convolution. Set the convolutional kernel size kernel_size and the number of feature channels filters to Q and R respectively. Through the convolution operation, M×R dimensional and M×R dimensional features of the array data are extracted, and then the ReLU function is used for activation respectively to achieve deep feature extraction and compression of the array data. The expression of the ReLU function is:
[0040]
[0041] (2) Network parameter learning and data correction
[0042] The network parameter learning and data correction are completed by the decoding and minimizing mean square error process. The decoding process is implemented using a three-layer fully connected layer network. Set the number of nodes in the three-layer network, that is, the number of neurons. The activation functions of the first two layers are ReLU, and the activation function of the last layer is the hyperbolic tangent function. After decoding, the obtained N×2×M×1 dimensional reconstructed data is further transformed through data scaling to obtain N×M dimensional reconstructed data, and then the mean square error is calculated by minimizing it with the original undisturbed data, minimizing the difference between the reconstructed data and the undisturbed array data until the calculated mean square error reaches the minimum or the number of iterations of the network reaches the set maximum number of iterations, and then the final reconstructed data is output;
[0043] The specific process of network parameter learning and data correction is as follows:
[0044] Step1: Initialize the values of each hidden layer and output layer to a random value; where W l represents the weight matrix between the l-th hidden layer and the input layer, represents the node bias of the l-th encoding layer, and the subscript 1 represents the encoding layer, represents the node bias of the l-th decoding layer, and the subscript 2 represents the decoding layer;
[0045] Step2: Set the maximum number of iterations H of the algorithm and perform the operation:
[0046] (1) The first-layer input layer sets the network input a 1 as the signal x received by the m-th array element m corresponding tensor
[0047]
[0048] where a i,l represents the input of the i-th neuron in the l-th layer of the network, l represents the number of model layers, z i,l represents the output of the i-th neuron in the l-th layer of the network, σ(·) represents the activation function ReLU, and H represents the maximum number of iterations;
[0049] (2) The convolutional layers of the second and third layers perform forward propagation algorithm calculations:
[0050] (3) The output layer of the last layer performs activation using the hyperbolic tangent tanh function:
[0051]
[0052] where tanh is the hyperbolic tangent function, that is, the neuron activation function;
[0053] (4) Calculate the error δ of the output layer through the loss function Ci,l :
[0054]
[0055]
[0056] Among them, C is the loss function, is the i-th reconstructed received signal, i.e., the reconstructed sample, x i is the i-th received signal without perturbation, i.e., the input sample, σ′(·) is the derivative function of the activation function σ(·), δ i,l is the error of the i-th neuron in the output layer of the l-th layer, and k is the number of samples;
[0057] (5) The fully connected layers of the last 3 layers perform backpropagation algorithm calculations:
[0058] δ i,l = (W l ) T δ i,l ⊙ σ′(z i,l )
[0059] Among them, T represents the transpose operation of the matrix, and ⊙ is the Hadamard product;
[0060] (6) The convolutional layers of the 2nd and 3rd layers perform backpropagation algorithm calculations:
[0061] δ i,l = δ i,l * rot180(W l+1 ) ⊙ δ′(z i,l )
[0062] Among them, rot180 is to rotate the matrix by 180 degrees, which is completed by row symmetry transformation and column symmetry transformation;
[0063] (7) The convolutional layer and the fully connected layer perform forward propagation algorithm calculations:
[0064] (a) Update
[0065]
[0066] in the l-th layer of the convolutional layer
[0067] (b) Update
[0068]
[0069] (8) If all Wl The change values of b1 and b2 are both less than the stop iteration threshold ε. Among b1 and b2, b represents the node bias, and the subscripts 1 and 2 respectively indicate that the node bias belongs to the encoding layer and the decoding layer. Then, jump out of the iterative loop and execute Step 3;
[0070] Step3: Output the weight matrix W of each hidden layer and the input layer l and the node bias
[0071] For the input sample and the reconstructed sample The mean square error is:
[0072]
[0073] Where is the mean square error loss function, X is the set of input samples, is the set of reconstructed samples.
[0074] In a specific embodiment of the present invention, at the end of the first step, 30% of the perturbation data is randomly selected as the test set of the network.
[0075] In another specific embodiment of the present invention, in the second step, the convolution kernel size kernel_size is both (1, 4), and the number of feature channels filters are 64 and 32 respectively. The M×64-dimensional and M×32-dimensional features of the array data are extracted through convolution operations.
[0076] In yet another specific embodiment of the present invention, in the second step, the number of neurons are 512, 256, and 200 respectively.
[0077] In an embodiment of the present invention, in the second step, the gradient descent algorithm is used in the process of minimizing the mean square error; the backpropagation algorithm BP is used in the process of updating the network parameters.
[0078] In still another specific embodiment of the present invention, adaptive gradient descent is used for optimization, and the optimization objective is to minimize the loss function The number of training samples per batch is 32, the initial value of the learning rate is 0.001, and the number of iterations is selected as 50 times.
[0079] The method of the present invention has a good correction effect on the time-varying amplitude-phase error of the array antenna and always maintains a high level under various harsh conditions. The main reason is that the method of the present invention can effectively extract the deep features of the array data, compress the features, and utilize the reconstruction ability of the deep neural network to effectively correct the time-varying amplitude-phase error of the array under the dual drive of the ideal data and the time-varying perturbation data, significantly improving the signal-to-noise ratio of the received signal. Description of the Drawings
[0080] Figure 1 Shows the flow chart of the method of the present invention;
[0081] Figure 2 Shows the network structure of the present invention;
[0082] Figure 3 Shows the network training convergence graph from -5° to 5°, where Figure 3 (a) Shows the case of 100 snapshots, Figure 3 (b) Shows the case of 5000 snapshots;
[0083] Figure 4 Shows the amplitude-phase diagram of the network reconstruction data from -5° to 5°, where Figure 4 (a) Shows the amplitude-phase diagram of the calibration data array elements at 100 snapshots, Figure 4 (b) Shows the amplitude-phase diagram of the original data array elements at 100 snapshots, Figure 4 (c) Shows the amplitude-phase diagram of the perturbed data array elements at 100 snapshots; Figure 4 (d) Shows the amplitude-phase diagram of the calibration data array elements at 5000 snapshots, Figure 4 (e) Shows the amplitude-phase diagram of the original data array elements at 5000 snapshots, Figure 4 (f) Shows the amplitude-phase diagram of the perturbed data array elements at 5000 snapshots;
[0084] Figure 5 Shows the mean square error of the amplitude-phase of each channel at different snapshot numbers, where Figure 5 (a) Shows the mean square error of the amplitude, Figure 5 (b) Shows the mean square error of the amplitude;
[0085] Figure 6 Shows the MUSIC algorithm estimation diagram at -3° and 2° with 1000 snapshot numbers, where Figure 6 (a) Shows the MUSIC spectrum estimation of the calibration data, Figure 6 (b) Shows the MUSIC spectrum estimation of the perturbed data, Figure 6 (c) Shows the MUSIC spectrum estimation of the original data;
[0086] Figure 7 Shows the network training convergence graph at 0° and 40°, where Figure 7 (a) Shows the network training convergence graph at 0°, Figure 7 (b) Shows the network training convergence graph at 40°;
[0087] Figure 8 Shows the amplitude-phase diagram of the network reconstruction data at 0° and 40°, where Figure 8 (a) Shows the amplitude-phase diagram of the calibration data array elements of the network reconstruction data at 0°, Figure 8 (b) Shows the amplitude-phase diagram of the original data array elements of the network reconstruction data at 0°,Figure 8 (c) The perturbation data array amplitude-phase diagram showing the 0° network reconstruction data amplitude-phase diagram; Figure 8 (d) The calibrated data array amplitude-phase diagram showing the 40° network reconstruction data amplitude-phase diagram, Figure 8 (e) The original data array amplitude-phase diagram showing the 40° network reconstruction data amplitude-phase diagram, Figure 8 (f) The perturbation data array amplitude-phase diagram showing the 40° network reconstruction data amplitude-phase diagram;
[0088] Figure 9 Shows the algorithm calibration accuracy at different signal-to-noise ratios. Detailed implementation
[0089] The technical solutions and implementation processes of the present invention will be introduced in detail below with specific examples.
[0090] The method flow of the present invention is as Figure 1 shown.
[0091] First, through data preprocessing, the collected perturbation and non-perturbation array data are subjected to power normalization processing, and data segmentation, dimension reconstruction, and noise addition processing are performed to obtain the training set and test set of the network. Then, the encoder is used to denoise and extract and compress deep features from the data. Finally, the decoder and loss function are used to reconstruct the data and learn and update the network parameters to achieve effective calibration of the final array data.
[0092] The first step: Array data preprocessing
[0093] Under ideal conditions, each element in the array is isotropic and there are no factors such as channel inconsistency and mutual coupling. Therefore, the ideal state array data can be expressed as:
[0094]
[0095] Rewrite the above formula in vector form:
[0096] X0(t) = A0S(t) + N0(t) (2)
[0097] In the formula, X0(t) is the M×1 dimensional snapshot vector of the ideal state array, x1(t), …, x M (t) are the signals received by the first to Mth elements respectively, and M is the number of elements in the array; N0(t) is the M×1 dimensional noise data vector of the ideal state array, n1(t), …, n M (t) are the noises received by the first to Mth elements respectively; S(t) is the N×1 dimensional vector of the spatial signal, N is the number of received signals, and s1(t), …, s N (t) are the first to Nth incident signals respectively; $\omega_0$ is the frequency of the signal received by the array element, $c$ is the speed of light, $\lambda$ is the wavelength, $f$ is the frequency of the received signal, and $j$ is the imaginary unit; $A_0$ is the $M\times N$-dimensional manifold matrix (i.e., the steering vector matrix) of the spatial array, where:
[0098] $A_0 = [a_1(\omega_0) \ a_2(\omega_0) \ \cdots \ a$ N $(\omega_0)] \ (3)$
[0099] Steering vector:
[0100]
[0101] where $\tau$ nm is the time delay of the $m$-th array element receiving the $n$-th incident signal, where the value ranges of $n$ and $m$ are $i = 1, 2, \cdots, N$, $m = 1, 2, \cdots, M$.
[0102] According to the above content, by obtaining the time delay $\tau$ between array elements, the array manifold or steering vector of a certain spatial array can be obtained.
[0103] Considering that in practical applications, the array antenna is affected by vibrations, temperature, etc., there are often array errors such as channel amplitude-phase errors, array element position errors, and array element mutual coupling effects in the antenna array. Therefore, the snapshot data vector containing perturbations received by the spatial array antenna can be expressed as:
[0104] $X(t) = A(\theta, \rho)S(t) + N(t) \ (5)$
[0105] where $X(t)$ is the $M\times1$-dimensional snapshot vector of the perturbed array, $N(t)$ is the $M\times1$-dimensional noise data vector of the perturbed array, and $S(t)$ is the $N\times1$-dimensional vector of the spatial incident signal; $A(\theta, \rho) = [a(\theta_1, \rho) \ a(\theta_2, \rho) \ \cdots \ a(\theta$ N , $\rho)]$ is the $M\times N$-dimensional perturbed array manifold matrix (including various perturbation errors), and $a(\theta$ n , $\rho)$ is the array steering vector corresponding to the $n$-th signal source, $\theta$ is the azimuth vector, and $\theta_1 \cdots \theta$ N are the azimuth angles of the first to $N$-th signal incidences respectively, and $\rho$ is the array parameter related to the steering vector (amplitude-phase error, array element mutual coupling error, array element position error, etc.).
[0106] Normalization processing of array element complex gain:
[0107]
[0108] where $x$ m is the complex gain value of the $m$-th array element, $\min(x$ m ) is the minimum complex gain value of the $m$-th array element, and $\max(x$ m ) is the maximum complex gain value of the $m$-th array element.
[0109] Assume that there is no amplitude-phase error in the array elements, each array element is an identical omnidirectional antenna, and when the complex gain of the first array element is normalized to 1, the array steering vector is expressed as follows:
[0110]
[0111]
[0112]
[0113]
[0114] where f0 is the frequency of the incident signal, τ m (θ m , ρ) is the time delay of the nth signal source arriving at the mth array element relative to the first array element; r m is the coordinate vector of the mth array element, are the three-dimensional rectangular coordinates of the mth array element respectively; v n is the azimuth vector of the nth signal source; is the elevation angle of the nth incident signal.
[0115] Array steering vector with amplitude-phase error independent of azimuth:
[0116]
[0117] where Γ2…Γ M are the amplitude-phase errors of the 2nd to Mth array elements respectively, τ 2n …τ MN are the time delays of the 2nd to Mth array elements respectively.
[0118] M×N dimensional manifold matrix (steering vector matrix) of the perturbed spatial array:
[0119]
[0120] Γ = [1 Γ2…Γ M (13)
[0121] where, is the array manifold matrix with amplitude-phase error independent of azimuth (only containing amplitude-phase error independent of azimuth); are the array steering vectors corresponding to the 1st to Nth signal sources respectively; Γ is the amplitude-phase error matrix of M array elements. For simplicity, A is simplified to A(θ, ρ) = [a(θ1, ρ) a(θ2, ρ)…a(θ N , ρ)].
[0122] The signal data containing amplitude-phase error received by the spatial array can be expressed in the following vector form:
[0123]
[0124] The perturbation signal data containing amplitude-phase errors and the non-perturbation signal data X0(t) without amplitude-phase errors are subjected to data segmentation, that is, the perturbation signal data and the complex values of the non-perturbation signal data X0(t) are respectively segmented into real values and imaginary values, which can be implemented by using the real and imag functions in the numpy library of the Python tool library. The obtained real values and imaginary values are subjected to dimension transformation. By using the reshape function of the Keras library in the Python tool library, the dimension is transformed from M×N dimension to M×1×N×1 dimension. The obtained real values and imaginary values are stacked, which can be implemented by using the stack function in the numpy library of the Python tool library. The two groups of M×1×N×1 dimensional data are transformed into a group of M×2×N×1 dimensional data, and the non-perturbation array data X0(t) and the perturbation array data after dimension transformation are obtained And Gaussian white noise is added to the non-perturbation array data X0(t) and the perturbation array data after dimension transformation respectively The processed perturbation data and non-perturbation data form the training set of the network, and 30% of the perturbation data is randomly selected as the test set of the network
[0125] Step 2: Network parameter update and array data correction
[0126] The network of the method of the present invention consists of two parts: an encoder and a decoder. The encoder is composed of three layers of neural networks, namely an input layer and two convolutional layers; the decoder is composed of four layers of neural networks, namely three fully connected layers and an output layer, which are specifically as follows
[0127] (1) Array data feature extraction and compression
[0128] The encoder converts the input M×2×N×1 - dimensional array data into M×2×N - dimensional data through the input layer, and then passes through two convolutional layers. Through two - dimensional convolution conv2D, the convolution operation is performed in the same mode, that is, zero padding is performed on the edges of each sample during the convolution operation. The above steps can be carried out using the conv2D function in the Keras library of the Python programming toolkit. On the premise of ensuring sufficient feature extraction, it is ensured that the sample size remains unchanged after convolution. The convolution kernel size kernel_size is (1, 4) for both, and the number of feature channels filters is 64 and 32 respectively (the above parameter settings are the values with better effects obtained after specific experiments, and other values can also be set). Through the convolution operation, the M×64 - dimensional and M×32 - dimensional features of the array data are extracted. Then, the ReLU function is used for activation respectively to achieve the deep - feature extraction and compression of the array data. The ReLU activation setting can be carried out using the Dense function in the keras library of the Python toolkit. The ReLU activation function, which is the Rectified Linear Unit (ReLU) with piece - wise linearity, promotes the backpropagation of gradients and reduces the computational amount of the activation function. Moreover, the partial activation characteristic of the ReLU function is equivalent to imposing sparse regularization on the network, which can improve the robustness and generalization ability of the network to a certain extent. The expression of the ReLU function is:
[0129]
[0130] (2) Network parameter learning and data correction
[0131] The network parameter learning and data correction are completed by the decoding and minimizing mean square error processes. The decoding process is implemented using a three-layer fully connected layer network. The number of nodes (i.e., the number of neurons) in the designed three-layer network are 512, 256, and 200 respectively (the above parameter settings are the values with better effects obtained after specific experiments, and other values can also be set). The activation functions of the first two layers are ReLu, and the activation function of the last layer is the hyperbolic tangent (tanh) function. After decoding, the obtained N×2×M×1-dimensional reconstructed data is further subjected to data scale transformation to obtain N×M-dimensional reconstructed data (the data scale transformation can be implemented using the reshape function in the Keras library of the Python programming toolkit). Then, the mean square error calculation is performed with the original undisturbed data (this method is well-known to those skilled in the art), minimizing the difference between the reconstructed data and the undisturbed array data until the calculated mean square error reaches the minimum or the number of iterations of the network reaches the set maximum number of iterations, and then the final reconstructed data is output. Through the dual drive of the input disturbed data and undisturbed data, the network learns the deep laws of the undisturbed array data to achieve real-time correction of the disturbed array, in order to effectively utilize the potential features extracted from the encoding part and facilitate data reconstruction. Among them, the typical gradient descent algorithm (Gradientdescent) is used in the minimizing mean square error process, and the backpropagation algorithm (backpropagation, BP) is used in the network parameter update process. The methods for implementing gradient descent and backpropagation are known to those skilled in the art and will not be elaborated here.
[0132] Specific process of network parameter learning and data correction:
[0133] Step1: Initialize the values of each hidden layer and output layer to a random value; where W l represents the weight matrix between the l-th hidden layer and the input layer, represents the node bias of the l-th encoding layer, and the subscript 1 represents the encoding layer, represents the node bias of the l-th decoding layer, and the subscript 2 represents the decoding layer;
[0134] Step2: Set the maximum number of iterations H of the algorithm and perform the operation:
[0135] (1) The first-layer input layer sets the network input a 1 as the signal x m received by the m-th array element, and the corresponding tensor:
[0136]
[0137] where, a i,lrepresents the input of the \(i\)-th neuron in the \(l\)-th layer of the network, \(l\) represents the number of model layers, \(z\) i,l represents the output of the \(i\)-th neuron in the \(l\)-th layer of the network, \(\sigma(\cdot)\) represents the activation function ReLU, \(H\) represents the maximum number of iterations;
[0138] (2) The convolutional layers of the 2nd and 3rd layers perform forward propagation algorithm calculations:
[0139] (3) The output layer of the last layer performs activation with the tanh function: where, tanh is the neuron activation function, and the expression is:
[0140]
[0141] (4) Calculate the error \(\delta\) of the output layer through the loss function \(C\) i,l :
[0142]
[0143]
[0144] where, \(C\) is the loss function (mean square error), is the \(i\)-th reconstructed received signal (reconstructed sample), \(x\) i is the \(i\)-th undisturbed received signal (input sample), \(\sigma'(\cdot)\) is the derivative function of the activation function \(\sigma(\cdot)\), \(\delta\) i,l is the error of the \(i\)-th neuron in the output layer of the \(l\)-th layer, \(k\) is the number of samples;
[0145] (5) The fully connected layers of the last 3 layers perform backpropagation algorithm calculations: \(\delta\) i,l =(W l ) T \(\delta\) i,l \(\odot\sigma'(z i,l ) where, \(T\) represents the transpose operation of the matrix, \(\odot\) is the Hadamard product;
[0146] (6) The convolutional layers of the 2nd and 3rd layers perform backpropagation algorithm calculations:
[0147] \(\delta\) i,l =\(\delta\) i,l *\(rot180(W l+1 )\(\odot\delta'(z i,l )
[0148] where, \(rot180\) is to rotate the matrix by 180 degrees, which can be completed through row symmetry transformation and column symmetry transformation;
[0149] (7) The convolutional layers and fully connected layers perform forward propagation algorithm calculations:
[0150] (a) Update the l-th layer in the convolutional layer
[0151]
[0152] where α represents the learning rate, i.e., the weight for updating the parameters each time; the size of the convolutional kernel used in the convolutional layer is u×v;
[0153] (b) Update the l-th layer in the fully connected layer
[0154]
[0155] (8) If the change values of all W l , b1, and b2 are all less than the stop iteration threshold ε, then jump out of the iteration loop and execute Step 3;
[0156] Step3: Output the linear relationship coefficient matrix W l of each hidden layer and the input layer and the bias
[0157] For the input sample and the reconstructed sample the mean square error is:
[0158]
[0159] where is the mean square error loss function, X is the set of input samples, is the set of reconstructed samples.
[0160] The algorithm designed in the present invention for reconstructing the undisturbed array data is a regression task, so the mean square error (MSE) loss function is adopted. By minimizing the mean square error between the reconstructed data and the undisturbed data, high-precision correction of the array error is achieved.
[0161] Adaptive momentum (Adam) is used for optimization, and the optimization objective is to minimize the loss function The number of training samples per batch is 32, the initial value of the learning rate is 0.001, and the number of iterations is selected as 50 times. (The above parameter settings are the values with better effects obtained after specific experiments, and other values can also be set)
[0162] Example test
[0163] To verify the feasibility and robustness of the present invention in the correction of time-varying amplitude and phase errors of the array, computer simulation verification is carried out on a uniform array antenna with 100 array elements, and the simulation results are analyzed.
[0164] Test 1: Feasibility Test of Array Time-Varying Amplitude and Phase Error Correction Method
[0165] Assume that the array antenna is a uniform linear array with 100 array elements. In the incident wave range of -5° to 5°, the amplitude error of the array elements is a random error of -0.2 to 0.2 (the normal amplitude of the array elements is 1), and the phase error of the array elements is a random error of -5° to 5° (the normal phase of the array elements is 0). After network training at a signal-to-noise ratio of 10 dB during algorithm network training, data of incident waves from two directions of -3° and 2° with a signal-to-noise ratio of 10 dB are collected. At 100, 500, 1000, 2000, and 5000 snapshots, 2000 Monte Carlo experiments are carried out, and the test results are as Figure 3 shown.
[0166] From Figure 3 the test results, it can be seen that as the number of snapshots and the amount of data increase, the network training time increases slightly but still remains within 10 epochs, proving that the algorithm has high efficiency in processing data and can meet the requirements of real-time correction. At the same time, the correction effect of the network on the data gradually improves. The above test results prove the feasibility of the present invention in realizing array time-varying amplitude and phase error correction under a certain number of snapshots.
[0167] Test 2: Robustness Test of Array Time-Varying Amplitude and Phase Error Correction
[0168] To verify the robustness of the proposed method, considering the influence of Gaussian noise, the signal-to-noise ratio SNR varies from -20 dB to 20 dB at an interval of 10 dB, and 2000 Monte Carlo experiments are carried out. In this test, assume that the array antenna is a uniform linear array with 100 array elements, the number of snapshots is 100, at two incident wave directions of 0° and 40°, the amplitude error of the array elements is a random error of -0.2 to 0.2 (the array element amplitude is normalized), the phase error of the array elements is a random error of -5° to 5° (the initial phase is 0°), the signal-to-noise ratio during algorithm network training is 10 dB, and the signal-to-noise ratios of the collected data are 20 dB, 10 dB, 0 dB, -10 dB, and -20 dB respectively. 2000 Monte Carlo experiments are carried out respectively, and the test results are as Figure 4 shown.
[0169] From Figure 4 the test, it can be known that the method of the present invention can achieve good array time-varying amplitude and phase error correction functions under a wide range of signal-to-noise ratio conditions. In the present invention, compared with the number of array snapshots, the signal-to-noise ratio has a smaller influence on the array time-varying amplitude and phase error correction results. The above test results also prove the robustness of the present invention in array time-varying amplitude and phase error correction under different signal-to-noise ratio conditions.
Claims
1. An array time-varying amplitude and phase error correction method, characterized in that Specifically, it includes the following steps: The first step: Array data preprocessing The array data in the ideal state is expressed as: Rewrite the above formula into a vector form: X0(t) = A0S(t) + N0(t) (2) where \(X_0(t)\) is the \(M\times1\) snapshot vector of the ideal array, \(x_1(t),\cdots,x\) M (t) are the signals received by the 1st to \(M\)th array elements respectively, and \(M\) is the number of array elements; \(N_0(t)\) is the \(M\times1\) noise data vector of the ideal array, \(n_1(t),\cdots,n\) M (t) are the noises received by the 1st to \(M\)th array elements respectively; \(S(t)\) is the \(N\times1\) vector of the spatial signals, \(N\) is the number of received signals, \(s_1(t),\cdots,s\) N (t) are the 1st to \(N\)th incident signals respectively; \(\omega\) is the frequency of the signals received by the array elements, \(c\) is the speed of light, \(\lambda\) is the wavelength, \(f\) is the frequency of the received signals, and \(j\) is the imaginary unit; \(A_0\) is the \(M\times N\) manifold matrix of the ideal spatial array, i.e., the steering vector matrix, where: A0 = [a1(ω0) a2(ω0) … a N (ω0)] (3) Steering vector: where τ nm is the time delay for the m-th array element to receive the n-th incident signal, where the value ranges of n and m are i = 1, 2, …, N, m = 1, 2, …, M; The snapshot data vector containing perturbations received by the spatial array antenna is expressed as: X(t) = A(θ, ρ)S(t) + N(t) (5) where \(X(t)\) is an \(M\times1\) snapshot vector of the perturbation array, \(N(t)\) is an \(M\times1\) noise data vector of the perturbation array, and \(S(t)\) is an \(N\times1\) vector of the spatially incident signals; \(A(\theta,\rho)=[a(\theta_1,\rho)\ a(\theta_2,\rho)\ \cdots\ a(\theta N ,\rho])\) is an \(M\times N\) perturbation array manifold matrix, and \(a(\theta n ,\rho)\) is the array steering vector corresponding to the \(n\)th source, \(\theta\) is the azimuth vector, and \(\theta_1\cdots\theta N are the azimuth angles of incidence of the first to \(N\)th signals respectively, and \(\rho\) is an array parameter related to the steering vector; Complex gain normalization processing of array elements: where x m is the complex gain value of the m-th array element, min(x m ) is the minimum complex gain value of the m-th array element, max(x m ) is the maximum complex gain value of the m-th array element; Assume that there is no amplitude-phase error in the array elements, each array element is a completely identical omnidirectional antenna, and when the complex gain of the first array element is normalized to 1, the array steering vector is expressed as follows: where \(f_0\) is the frequency of the incident signal, and \(\tau\) m (\(\theta\) n , \(\rho\)) is the time delay of the \(n\)th signal source arriving at the \(m\)th array element relative to the first array element; \(\vec{r}\) m is the coordinate vector of the \(m\)th array element, which are the three-dimensional rectangular coordinates of the \(m\)th array element respectively; \(\vec{v}\) n is the azimuth vector of the \(n\)th signal source; is the elevation angle of the \(n\)th incident signal; Array steering vector with amplitude-phase error independent of azimuth: where Γ2…Γ M are the amplitude-phase errors of the 2nd to Mth array elements respectively, and τ 2n …τ MN are the time delays of the 2nd to Mth array elements respectively; M×N-dimensional manifold matrix of the perturbed spatial array: Γ = [1 Γ2 … Γ M (13) In the formula, is the array manifold matrix of amplitude-phase errors independent of azimuth, which only contains amplitude-phase errors independent of azimuth; are the array steering vectors corresponding to the 1st to Nth signal sources respectively; Γ is the amplitude-phase error matrix of M array elements. For simplicity, A is simplified to represent A(θ, ρ) = [a(θ1, ρ) a(θ2, ρ) … a(θ N , ρ)]; The signal data containing amplitude-phase error received by the spatial array can be expressed in the following vector form: The perturbation signal data containing amplitude-phase errors and the non-perturbation signal data X0(t) without amplitude-phase errors are subjected to data segmentation, that is, the perturbation signal data and the complex values of the non-perturbation signal data X0(t) are respectively segmented into real values and imaginary values. The obtained real values and imaginary values are subjected to dimensional transformation, which is transformed from M×N dimensions to M×1×N×1 dimensions. The obtained real values and imaginary values are stacked, and two groups of M×1×N×1 dimensional data are transformed into a group of M×2×N×1 dimensional data, obtaining the non-perturbation array data X0(t) and the perturbation array data after dimensional transformation And Gaussian white noise is added to the non-perturbation array data X0(t) and the perturbation array data after dimension conversion respectively The processed perturbation data and non-perturbation data form the training set of the network, and P% of the perturbation data is randomly selected as the test set of the network; The second step: Network parameter update and array data correction The network consists of an encoder and a decoder. The encoder consists of three layers of neural networks, namely the input layer and two convolutional layers; the decoder consists of four layers of neural networks, namely three fully connected layers and an output layer, specifically as follows; (1) Array data feature extraction and compression The encoder converts the input M×2×N×1-dimensional array data into M×2×N-dimensional data through the input layer. In the two convolutional layers, the matrix inner product is calculated by multiplying the data matrix input to each layer with the convolutional kernel matrix, and the result is subtracted from the corresponding node bias of each layer. At the same time, by padding zeros at the edge of each sample, it is ensured that the sample size remains unchanged after convolution. Set the convolutional kernel size kernel_size and the number of feature channels filters to Q and R respectively. Through the convolution operation, M×R-dimensional and M×R-dimensional features of the array data are extracted, and then the ReLU function is used for activation respectively to achieve deep feature extraction and compression of the array data. The expression of the ReLU function is: (2) Network parameter learning and data correction Network parameter learning and data correction are completed by the decoding and minimizing mean square error processes. The decoding process is implemented using a three-layer fully connected layer network. Set the number of nodes in the three-layer network, that is, the number of neurons. The activation functions of the first two layers are ReLU, and the activation function of the last layer is the hyperbolic tangent function; after decoding, the obtained N×2×M×1-dimensional reconstructed data is further transformed through data scale transformation to obtain N×M-dimensional reconstructed data, and then the mean square error is calculated by minimizing the difference between the reconstructed data and the original unperturbed data until the calculated mean square error reaches the minimum or the number of iterations of the network reaches the set maximum number of iterations, and then the final reconstructed data is output; The specific process of network parameter learning and data correction is as follows: Step1: Initialize the W of each hidden layer and the output layer l , , whose value is a random value; where W l represents the weight matrix of the l-th hidden layer and the input layer, represents the node bias of the l-th encoding layer, with the subscript 1 indicating the encoding layer, represents the node bias of the l-th decoding layer, with the subscript 2 indicating the decoding layer; Step2: Set the maximum number of iterations H of the algorithm and perform the operation: (1) The first - layer input layer sets the network input a 1 as the signal x received by the m - th array element m and its corresponding tensor Among them, a i,l represents the input of the \(i\)-th neuron in the \(l\)-th layer of the network, \(l\) represents the number of layers of the model, \(z i,l represents the output of the \(i\)-th neuron in the \(l\)-th layer of the network, \(\sigma(\cdot)\) represents the activation function ReLU, and \(H\) represents the maximum number of iterations; (2) The convolutional layers of the second and third layers perform forward propagation algorithm calculations: (3) The output layer of the last layer is activated by the hyperbolic tangent tanh function: Among them, tanh is the hyperbolic tangent function, that is, the neuron activation function; (4) Calculate the error δ of the output layer through the loss function C i,l : where \(C\) is the loss function, is the \(i\)-th reconstructed received signal, i.e., the reconstructed sample, \(x\) i is the \(i\)-th received signal without perturbation, i.e., the input sample, \(\sigma'(·)\) is the derivative function of the activation function \(\sigma(·)\), \(\delta\) i,l is the error of the \(i\)-th neuron in the output layer of the \(l\)-th layer, and \(k\) is the number of samples; (5) The backpropagation algorithm is calculated for the last three fully connected layers: δ i,l =(W l ) T δ i,l ⊙σ′(z i,l ) Among them, T represents the transpose operation of the matrix, and ⊙ is the Hadamard product; (6) The backpropagation algorithm is calculated for the second and third convolutional layers: δ i,l = δ i,l * rot180(W l+1 ) ⊙ δ′(z i,l ) Among them, rot180 is to rotate the matrix by 180 degrees, which is completed through row symmetry transformation and column symmetry transformation; (7) The convolutional layer and the fully connected layer perform forward propagation algorithm calculations: (a) Update \(W\) of the \(l\)-th layer in the convolutional layer l , Among them, α represents the learning rate, that is, the weight for updating parameters each time; the convolutional kernel size used in the convolutional layer is u×v; (b) Update \(W\) of the \(l\)th layer in the fully-connected layer l , (8) If the change values of all W l , b1, and b2 are all less than the stop iteration threshold ε, where in b1 and b2, b represents the node bias, and the subscripts 1 and 2 respectively indicate that the node bias belongs to the encoding layer and the decoding layer, then jump out of the iterative loop and execute step 3; Step 3: Output the weight matrix W of each hidden layer and the input layer l and the node bias For the input samples and the reconstructed samples the mean squared error is: Among them, is the mean square error loss function, X is the input sample set, is the reconstructed sample set.
2. The array time-varying amplitude and phase error correction method according to claim 1, wherein At the end of the first step, 30% of the perturbation data is randomly selected as the test set of the network.
3. The array time-varying amplitude and phase error correction method according to claim 1, characterized in that In the second step, the convolutional kernel sizes kernel_size are all (1, 4), and the number of feature channels filters are 64 and 32 respectively. The M×64-dimensional and M×32-dimensional features of the array data are extracted through convolutional operations.
4. The array time-varying amplitude and phase error correction method according to claim 1, characterized in that In the second step, the number of neurons is 512, 256, and 200 respectively.
5. The array time-varying amplitude and phase error correction method according to claim 1, wherein In the second step, the gradient descent algorithm is used in the process of minimizing the mean square error; the backpropagation algorithm BP is used in the process of updating network parameters.
6. The array time-varying amplitude and phase error correction method according to claim 1, characterized in that, Optimization is carried out using adaptive gradient descent, and the optimization objective is to minimize the loss function The number of training samples per batch is 32, the initial learning rate is 0.001, and the number of iterations is selected to be 50 times.
Citation Information
Patent Citations
Planar array amplitude-phase error correction method based on convex optimization and neural network
CN112630784A
Array gain and phase error calibration method based on neural network
CN114636965A