A covariance matrix inversion method and apparatus based on beat sample updates
By using a method for inverting the covariance matrix through image-by-image updates, the numerical stability problem of covariance matrix inversion in array antenna beamforming is solved, thereby improving the stability and resource efficiency of FPGA and simplifying hardware design.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- NANJING HOUDE XINGKONG INFORMATION TECH CO LTD
- Filing Date
- 2026-03-05
- Publication Date
- 2026-06-05
AI Technical Summary
In FPGA-implemented array antenna beamforming, the numerical stability of the covariance matrix inversion operation is poor, which is limited by the sensitivity problem of matrix inversion with a finite number of snapshots.
A method for inverting the covariance matrix based on step-by-step sample updates is adopted. By performing multiplication and addition operations on the step-by-step sample vectors using the initialized corrected identity matrix, direct matrix inversion is avoided. The calculation is performed using the recursive relationship of covariance matrix estimation.
It improves the stability of FPGA implementation, reduces computational complexity and resource consumption, simplifies hardware implementation, and shows no significant difference in spatial spectrum estimation results.
Smart Images

Figure CN122153228A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of array signal processing, and specifically to a method and apparatus for inverting the covariance matrix based on frame-by-frame sample updates. Background Technology
[0002] Array antennas are widely used in modern wireless communication systems. Utilizing the spatial dimension of the array antenna, receivers can effectively suppress interference using beamforming technology. In principle, beamforming technology primarily relies on spatial filtering based on the spatial directional differences between signal sources. Beamforming algorithms optimize beam directivity, and in FPGA implementations, complex multiply-accumulate modules are used to adjust weights, resulting in improved main beam gain and interference direction nulls.
[0003] A key step in beamforming technology is inverting the covariance matrix of the received signal. The general approach involves two steps: first, estimating the covariance matrix of the array signal with a specified number of frames; and second, inverting the estimated covariance matrix. Since the covariance matrix estimated with a finite number of frames is a Hermitian matrix, in engineering practice, it can generally be inverted by decomposing it using LDL and then inverting it in blocks. However, the fixed-point implementation in FPGA shows that the matrix inversion operation is quite sensitive to finite word length effects and exhibits poor numerical stability.
[0004] To address this, this invention proposes a method and apparatus for covariance matrix inversion based on frame-by-frame sample updates by exploring the recursive relationship in estimating the number of snapshots using the covariance matrix. This method eliminates the need for matrix inversion operations; it obtains the covariance matrix through multiplication and addition operations on the frame-by-frame sample vectors using an initialized corrected identity matrix. This approach is easy to implement in engineering, and its FPGA implementation demonstrates high stability. Summary of the Invention
[0005] This invention proposes a method for inverting the covariance matrix based on step-by-step sample updates. This method does not require matrix inversion and has high computational stability.
[0006] A method for inverting the covariance matrix based on image-by-image sample updates includes the following steps:
[0007] Step S1: Initialize the inverse covariance matrix , in For non-negative parameters that are much greater than 1, The spatial dimension of the received array signal;
[0008] Step S2: The received array signal vector at the next snapshot time k=k+1 Calculating the projection vector based on matrix-vector multiplication. and its amplitude adjustment form And the inverse covariance matrix of the snapshot time k ,here Optional parameters for approximating 1; for ease of FPGA implementation, the parameters are... Select as , in For positive integers much greater than 1, under this choice Directly using the first-order approximation form ,so, Multiplication with any real number can be efficiently achieved using shift-add;
[0009] Step S3: Repeat step S2 until the required number of snapshots for covariance matrix estimation has been processed. Output the snapshot moment. ;
[0010] Step S4: At the final snapshot time k= For the output Make corrections, that is When the parameter ,in If the integer is a positive integer much greater than 1, then the correction is applied directly. .
[0011] Beneficial effects: This invention utilizes the recursive relationship of estimating a finite number of snapshots using the covariance matrix, and proposes a method for inverting the covariance matrix based on snapshot-by-sampling updates. This method does not require matrix inversion operations; it obtains the inversion matrix by performing multiplication and addition operations on the snapshot-by-sampling vectors using an initialized corrected identity matrix. It is easy to implement in engineering, and the stability of FPGA implementation is strong. Attached Figure Description
[0012] Figure 1 This is a flowchart of a method for inverting the covariance matrix based on step-by-step sample updates according to the present invention in Example 1;
[0013] Figure 2 This is a diagram showing the spatial spectrum estimation results obtained by inverting the method in Example 1.
[0014] Figure 3 This is a diagram showing the spatial spectrum estimation results obtained by directly inverting the values in Example 1.
[0015] Figure 4 This is a comparison chart of the spatial spectrum estimation calculated by direct inversion in Example 1 and the method described in this paper.
[0016] Figure 5 This is a flowchart illustrating the modular implementation of the present invention in Example 1. Detailed Implementation
[0017] To make the objectives, technical solutions, and advantages of this invention clearer, the technical solutions of this invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, embodiments of this invention, and should not be construed as limiting the invention. Based on the embodiments of this invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this invention. In the description of this invention, it should be understood that the terminology used is for descriptive purposes only and should not be construed as indicating or implying relative importance.
[0018] Example: This example provides a method for inverting the covariance matrix based on frame-by-frame sample updates. Taking an array antenna with 16 elements as an example, the specified number of frames for covariance matrix estimation is... Other parameters take the value of , Received array signal sample vector For size The column vector, through The received array signal sample vector within Calculate covariance matrix estimation The inverse of the covariance matrix estimate can be directly calculated as follows: ;
[0019] like Figure 1 As shown, the method for updating and inverting the covariance matrix of a continuous multi-frame array signal in this example includes the following steps:
[0020] Step S1: Given an initial snapshot time k=0, initialize the parameters: Initialize the inverse covariance matrix ,
[0021] Step S2: The received array signal vector at the next snapshot time k=k+1 Calculating the projection vector based on matrix-vector multiplication. and its amplitude adjustment form And the inverse covariance matrix of the snapshot time k ,here ,thus Multiplying by any number can be efficiently achieved by shifting and adding;
[0022] Step S3: Repeat step S2 until the required number of snapshots for covariance matrix estimation has been processed. Output the snapshot moment. .
[0023] Step S4: At the final snapshot time k= For the output Make corrections. .
[0024] Simulation Verification: Consider a uniform linear array of 16 elements with a spacing of 0.5 wavelengths. Three signal sources propagate to the array at far-field azimuths of 3 degrees, -30 degrees, and 60 degrees. The first azimuth direction represents the useful signal, while the other two directions represent interference signals. In this experiment, both the useful and interference signals are broadband complex Gaussian signals. The input signal-to-noise ratio at the array receiver is 10 dB, the interference-to-signal ratio is 40 dB, and the background noise is white noise. The simulation verifies the total number of snapshots. The covariance matrix can be estimated by direct inversion. Specifically, it is expressed as follows:
[0025] ;
[0026] By setting the parameters in the example and running the covariance matrix inversion method based on image-by-image sample updates, the inverse of the covariance matrix can be calculated. If we measure the magnitude of the error using matrix power, then we can obtain the relative error as follows:
[0027] ;
[0028] In specific beamforming algorithms, this error causes no observable difference in beamforming performance.
[0029] Taking the impact of different inversion methods on spatial spectrum estimation as an example, the covariance matrix of the array data is inverted using both direct inversion and the inversion method of this patent, with the total number of snapshots set as... Then spatial spectrum estimation Specifically, it is expressed as follows:
[0030] ;
[0031] in This represents the direction vector.
[0032] The inverse covariance matrix estimation device described in this embodiment can be implemented through hardware logic circuits. Its architecture mainly includes three core processing modules: a data acquisition module, an inverse covariance update module, and an inverse covariance final correction module.
[0033] The data acquisition module is used for system initialization and reading input signals. First, this module stores the inverse covariance matrix in the FPGA's internal memory. It is initialized to a preset large numerical diagonal matrix. Subsequently, the module reads the input array signal vectors sequentially. And then transmit it to the next level of processing.
[0034] The inverse covariance update module is the core computing unit of this device, configured to execute the first... The matrix is updated iteratively in each iteration. This module integrates a parallel multiply-accumulate array unit, a division logic unit, and a shift-add logic unit.
[0035] First, the inverse covariance matrix from the previous time step is read using the parallel multiply-accumulate array unit. and the current array signal vector Perform matrix-vector multiplication to obtain the intermediate projection vector. Secondly, based on projection vectors The parallel multiply-accumulate array unit is reused to calculate the scalar denominator. The magnitude correction vector is obtained by performing a vector-scalar division operation through the division logic unit. Subsequently, the module constructs the matrix update term by configuring multiple multipliers to compute the vector outer product. The product of the outer product and the inverse covariance matrix is calculated again using the parallel multiply-accumulate array unit. Finally, based on approximate relationships This module uses a shift-add logic unit instead of a general multiplier to perform shift-accumulation operations on the updated matrix data, thereby obtaining the inverse covariance matrix at the current time step. This design avoids a large number of multiplications, significantly reducing DSP resource consumption.
[0036] The inverse covariance update module also includes iteration control logic to determine the current iteration number. Has the preset number of snapshots been reached? If satisfied Then Feedback is sent to the input for the next iteration calculation; otherwise, the next module is triggered.
[0037] The inverse covariance final correction module is used to correct the matrix after the iteration is complete. This module receives the matrix after the iteration is finished and executes... If the number of quick shots For powers of 2, this module achieves fast scaling through left-shift logic circuitry; if For powers other than 2, the matrix elements are uniformly scaled using a scalar multiplier to output the final inverse covariance matrix. .
[0038] Compared to traditional architectures based on inverting the sampled covariance matrix, this embodiment abandons the computationally complex matrix decomposition and back-substitution of trigonometric equations. The update module consists only of basic arithmetic logic units, specifically including a complex multiplier, an adder, and a single scalar divider. By avoiding direct inversion of high-order matrices, the stability of the FPGA implementation is significantly improved, and the limitation of FPGA implementation bit width is reduced. Furthermore, this method can employ a streaming data processing mechanism; unlike traditional block processing methods that require a full-shot data buffer, this method does not need to completely buffer the observation vectors for all sampling times in on-chip memory.
[0039] Appendix Figure 2 , Figure 3 and Figure 4 These are the spatial spectrum estimation results from different inversion methods. Figure 2 This is a graph showing the spatial spectrum estimation results obtained by inverting the calculation using this method. Figure 3 This is a diagram showing the spatial spectrum estimation results obtained through direct inversion calculation. Figure 4 The figure shows a comparison between the spatial spectrum estimation calculated by direct inversion and that calculated by this method. The comparison shows that there is no significant difference in the spatial spectrum results of the two methods. Figure 5 A flowchart illustrating the modular implementation of inverting the covariance matrix based on image-by-image sample updates.
[0040] The device embodiments described above are merely illustrative, and those skilled in the art can understand and implement them without any creative effort.
[0041] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A method for inverting the covariance matrix based on image-by-image sample updates, characterized in that, include: Step S1: Initialize the inverse covariance matrix , in For non-negative parameters greater than 1, The spatial dimension of the received array signal; Step S2: The received array signal vector at the next snapshot time k=k+1 Calculating the projection vector based on matrix-vector multiplication. and its amplitude adjustment form And the inverse covariance matrix of the snapshot time k ; Step S3: Repeat step S2 until the required number of snapshots for covariance matrix estimation has been processed. Output the snapshot moment. ; Step S4: At the final snapshot time k= For the output Make corrections. .
2. The method for inverting the covariance matrix based on image-by-image sample updates as described in claim 1, characterized in that, Parameters of step S2 Select as , in If it is a positive integer greater than 1, under this selection The following first-order approximation form is adopted. , making This can be achieved quickly by shifting and adding.
3. The method for inverting the covariance matrix based on step-by-step sample updates as described in claim 2, characterized in that, In step S3, the parameters are repeated when step S2 is performed. Set as , in If it is a positive integer greater than 1, under this selection .
4. The method for inverting the covariance matrix based on step-by-step sample updates as described in claim 3, characterized in that, In step S4, at the final snapshot time k= For the output Make corrections: .
5. A device for inverting the covariance matrix based on image-by-image sample updates, characterized in that, include: Data acquisition module: used to acquire the received signal vector of the array frame by frame. ; Inverse covariance update module: based on the frame-by-frame array received signal vector Execute inverse covariance from arrive One step of the update; Inverse covariance final correction module: for the final snapshot time k= Inverse covariance of output After making corrections, the final required inverse covariance matrix is obtained.