MIMO signal detection method and system, storage medium and electronic equipment

By utilizing channel state information and a reciprocal lookup table in a large-scale MIMO system, combined with the conjugate gradient method, the computational complexity of MIMO signal detection is reduced, and the efficiency and accuracy of signal detection are improved, thus solving the problem of low signal detection efficiency caused by high computational complexity.

CN121864259APending Publication Date: 2026-04-14PURPLE MOUNTAIN LAB
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-01-06
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

In large-scale MIMO scenarios, the high computational complexity during MIMO signal detection leads to low signal detection efficiency.

Method used

By determining the target index value based on channel state information, searching the target reciprocal lookup table, and combining the initial wireless signal and channel state information, the signal estimate of the transmitted signal is determined. The conjugate gradient method and reciprocal lookup table are used to reduce computational complexity and improve detection efficiency.

Benefits of technology

This reduces the computational complexity of MIMO signal detection, improves signal detection efficiency, and ensures the accuracy of signal estimation and detection results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121864259A_ABST
    Figure CN121864259A_ABST
Patent Text Reader

Abstract

The invention discloses an MIMO signal detection method and system, a storage medium and electronic equipment. The method comprises the following steps: receiving an initial wireless signal; a target index value is determined based on channel state information, and the channel state information is used for quantifying the influence degree of the wireless channel on the transmitted signal; based on the target index value, searching a target reciprocal lookup table to obtain a target reciprocal value of the target index value; and determining a signal estimation value of the transmission signal based on the target index value, the target reciprocal value, the initial wireless signal and the channel state information. According to the method and the device, the technical problem of low signal detection efficiency caused by high calculation complexity in the MIMO signal detection process in the prior art is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of wireless communication technology, and more specifically, to a MIMO signal detection method, system, storage medium, and electronic device. Background Technology

[0002] In large-scale MIMO (Multiple Input Multiple Output) scenarios, signal detection is required to remove interference from the received initial wireless signal and identify the original transmitted signal. Related technologies employ the Minimum Mean Square Error (MMSE) method for signal detection in large-scale MIMO scenarios. However, using the MMSE method requires inverting a high-dimensional matrix, which is computationally complex and requires significant computational resources, increasing the computational complexity of MIMO signal detection and reducing its efficiency. Furthermore, hardware implementation (e.g., FPGA and ASIC) increases hardware overhead. Therefore, related technologies suffer from low signal detection efficiency due to high computational complexity in MIMO signal detection.

[0003] There is currently no effective solution to the above problems. Summary of the Invention

[0004] This application provides a MIMO signal detection method, system, storage medium, and electronic device to at least solve the technical problem of low signal detection efficiency due to high computational complexity in the MIMO signal detection process in related technologies.

[0005] According to one aspect of the embodiments of this application, a MIMO signal detection method is provided, comprising: receiving an initial radio signal; determining a target index value based on channel state information, wherein the channel state information is used to quantify the degree of influence of the radio channel on the transmitted signal; searching a target reciprocal lookup table based on the target index value to obtain a target reciprocal value of the target index value; and determining a signal estimate of the transmitted signal based on the target index value, the target reciprocal value, the initial radio signal, and the channel state information.

[0006] According to another aspect of the embodiments of this application, a MIMO signal detection system is provided, including an initialization calculation unit, wherein the initialization calculation unit is used to execute any one of the MIMO signal detection methods.

[0007] According to another aspect of the embodiments of this application, a non-volatile storage medium is provided, which stores a plurality of instructions adapted for a MIMO signal detection method to be loaded by a processor and executed at any one of them.

[0008] According to another aspect of the embodiments of this application, an electronic device is provided, including: one or more processors and a memory, the memory being used to store one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors cause the one or more processors to implement any one of the MIMO signal detection methods.

[0009] According to another aspect of the embodiments of this application, a computer program product is provided, which, when executed on a data processing device, is adapted to perform the steps of a MIMO signal detection method.

[0010] In this embodiment, an initial wireless signal is received; a target index value is determined based on channel state information, where the channel state information is used to quantify the influence of the wireless channel on the transmitted signal; based on the target index value, a target reciprocal lookup table is searched to obtain the target reciprocal value of the target index value; and based on the target index value, the target reciprocal value, the initial wireless signal, and the channel state information, a signal estimate of the transmitted signal is determined. This achieves the goal of determining the signal estimate of the transmitted signal by using the target index value determined by the channel state information, searching the target reciprocal lookup table to obtain the target reciprocal value, and combining the initial wireless signal and the channel state information. This reduces the computational complexity in the MIMO signal detection process, thereby improving the efficiency of MIMO signal detection and solving the technical problem of low signal detection efficiency due to high computational complexity in related technologies. Attached Figure Description

[0011] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments of this application and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:

[0012] Figure 1 This is a flowchart of a MIMO signal detection method provided according to an embodiment of this application;

[0013] Figure 2 This is a schematic diagram of a MIMO signal detection system according to an embodiment of this application;

[0014] Figure 3 This is a flowchart of an optional conjugate gradient method provided according to an embodiment of this application;

[0015] Figure 4This is a schematic diagram of an optional conjugate gradient method hardware architecture provided according to an embodiment of this application;

[0016] Figure 5 This is a schematic diagram illustrating the working principle of an optional reciprocal lookup table provided according to an embodiment of this application. Detailed Implementation

[0017] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort should fall within the scope of protection of the present application.

[0018] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0019] For ease of description, the following explains some of the nouns or terms used in the embodiments of this application:

[0020] An ASIC (Application Specific Integrated Circuit) is an integrated circuit that is customized for a specific application or function. ASIC designs can be optimized for specific algorithms or tasks, thus achieving higher efficiency, lower power consumption, and smaller size when performing specific calculations.

[0021] Cholesky decomposition is a matrix decomposition technique primarily used for the decomposition of symmetric positive definite matrices.

[0022] The Jacobi iterative method is an iterative algorithm for solving systems of linear equations, primarily used for solving systems of linear equations involving large sparse matrices. It is based on the principle of decomposing a matrix into its diagonal and remaining parts for iterative solution.

[0023] Gauss-Seidel, also known as the Gauss-Seidel iterative method, is a numerical iterative algorithm for solving linear equation systems. It is mainly used to solve large sparse matrix equation systems, especially in communication fields such as large-scale MIMO signal detection. Its basic idea is to use the components of the currently known solution to improve the estimation of the next unknown component.

[0024] According to an embodiment of this application, a method embodiment for MIMO signal detection is provided. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.

[0025] Figure 1 This is a flowchart of a MIMO signal detection method according to an embodiment of this application, such as... Figure 1 As shown, the method includes the following steps:

[0026] Step S102: Receive the initial wireless signal;

[0027] It is understandable that the receiver captures the initial wireless signal. In a MIMO system, the receiver is usually equipped with multiple receiving antennas to capture signals transmitted from different transmitting antennas through the wireless channel.

[0028] Alternatively, the initial wireless signal can be represented as a vector, with the vector having the same dimension as the number of receiving antennas.

[0029] Step S104: Determine the target index value based on the channel state information, wherein the channel state information is used to quantify the degree of influence of the wireless channel on the transmitted signal;

[0030] In MIMO systems, channel state information quantifies the impact of the wireless channel on the transmitted signal, including factors such as channel gain, phase, multipath, and fading. Based on the target index value determined by the channel state information, the computational requirements for MIMO signal detection can be reduced, thus improving detection speed.

[0031] Optionally, before MIMO signal detection begins, channel state information and other relevant parameters of the wireless channel, such as noise variance and average energy of the transmitted signal, are acquired through measurement or feedback mechanisms. The aforementioned channel state information and average energy can be represented in matrix form. Based on this matrix representation of average energy and channel state information, combined with the noise variance, matrix A required for MIMO signal detection can be constructed. Matrix A can be determined as follows:

[0032]

[0033] in, It is Gaussian white noise. Channel state information is represented in matrix form. The average energy of the transmitted signal is represented in matrix form.

[0034] Alternatively, the conjugate gradient (CG) method can be used for MIMO signal detection to reduce the computational complexity. The CG method, due to its reliance on only matrix-vector multiplication and avoidance of explicit matrix inversion, is a computationally friendly and structurally flexible iterative solution method. The computational complexity of the CG method in each iteration is... Typically, convergence is achieved in only a finite number of iterations, reaching the preset accuracy requirements. The excellent numerical stability and asymptotic convergence characteristics of the CG method provide an adjustable balance between system complexity and performance, which is highly suitable for the demand for low-complexity, high-precision signal detection in large-scale MIMO scenarios.

[0035] Step S106: Based on the target index value, search the target reciprocal lookup table to obtain the target reciprocal value of the target index value;

[0036] It's understandable that the target index value is looked up in a pre-built target reciprocal lookup table to obtain the target reciprocal value. The target reciprocal lookup table stores a series of pre-calculated reciprocal values. By introducing the target reciprocal lookup table, division operations can be transformed into multiplication operations, reducing computational complexity and improving detection efficiency.

[0037] Optionally, division operations in the CG method are typically more complex and time-consuming than addition and multiplication operations. Furthermore, in hardware design, implementing a divider often requires complex logic circuits and higher latency. In contrast, obtaining the reciprocal by introducing a reciprocal lookup table can be completed instantaneously, requiring only simple address generation and data reading, thus significantly reducing computational complexity and improving MIMO signal detection efficiency.

[0038] In an optional embodiment, before searching the target reciprocal lookup table based on the target index value to obtain the target reciprocal value of the target index value, the method further includes: determining the first reciprocal values ​​corresponding to the multiple initial index values ​​respectively; classifying the multiple initial index values ​​based on a target threshold to obtain multiple first index values ​​and multiple second index values, wherein the first index values ​​are less than the target threshold, and the second index values ​​are greater than or equal to the target threshold; expanding the first reciprocal values ​​corresponding to the multiple second index values ​​according to a target multiple to obtain the second reciprocal values ​​corresponding to the multiple second index values ​​respectively; truncating the first reciprocal values ​​corresponding to the multiple first index values ​​and the second reciprocal values ​​corresponding to the multiple second index values ​​respectively based on a preset quantization bit width to obtain the third reciprocal values ​​corresponding to the multiple first index values ​​and the fourth reciprocal values ​​corresponding to the multiple second index values ​​respectively, wherein the preset quantization bit width is used to control the precision of the reciprocal values ​​stored in the target reciprocal lookup table; and determining the target reciprocal lookup table based on the third reciprocal values ​​corresponding to the multiple first index values ​​and the fourth reciprocal values ​​corresponding to the multiple second index values ​​respectively.

[0039] The target reciprocal lookup table can be constructed as follows: First, determine the first reciprocal values ​​corresponding to multiple initial index values. These initial index values ​​cover all possible values ​​within the expected input range during MIMO signal detection to ensure that the corresponding reciprocal values ​​can be found in actual calculations. Second, compare each of the initial index values ​​with a target threshold, thus dividing the initial index values ​​into multiple first index values ​​less than the target threshold and multiple second index values ​​greater than or equal to the target threshold. Then, expand the first reciprocal values ​​corresponding to the multiple second index values ​​by a target multiple to obtain the second reciprocal values ​​corresponding to the multiple second index values. Next, according to the preset quantization bit width of the target reciprocal lookup table, truncate the first reciprocal values ​​corresponding to the multiple initial index values ​​to obtain the third reciprocal values ​​corresponding to the multiple first index values. Simultaneously, according to the aforementioned preset quantization bit width, truncate the second reciprocal values ​​corresponding to the multiple second index values ​​to obtain the fourth reciprocal values ​​corresponding to the multiple second index values. Finally, determine the target reciprocal lookup table based on the third reciprocal values ​​corresponding to the multiple first index values ​​and the fourth reciprocal values ​​corresponding to the multiple second index values. By truncating the reciprocal value and expanding the first reciprocal value of the second index value that is greater than or equal to the target threshold, the bit width and depth of the target reciprocal lookup table can be effectively reduced, enabling the target reciprocal lookup table to provide results faster during the query process, thereby improving calculation speed and signal detection efficiency.

[0040] In one optional embodiment, determining a target reciprocal lookup table based on the third reciprocal values ​​corresponding to the plurality of first index values ​​and the fourth reciprocal values ​​corresponding to the plurality of second index values ​​includes: merging the same reciprocal values ​​among the third reciprocal values ​​corresponding to the plurality of first index values ​​and the fourth reciprocal values ​​corresponding to the plurality of second index values ​​to obtain the target reciprocal lookup table.

[0041] It is understandable that, in order to further reduce the depth of the target inverse lookup table, the same inverse values ​​among the third inverse values ​​corresponding to multiple first index values ​​and the fourth inverse values ​​corresponding to multiple second index values ​​are merged, so that multiple initial index values ​​with the same inverse value correspond to the same storage entry in the target inverse lookup table, thereby reducing the depth of the target inverse lookup table and improving the search efficiency of inverse values.

[0042] Optionally, two optimization schemes can be adopted for constructing the target reciprocal lookup table, optimizing both aspects to reduce the depth and bit width of the target reciprocal lookup table. The first optimization scheme is to merge identical reciprocal values ​​in the target reciprocal lookup table. For a positive number... (i.e., an index value in the target reciprocal lookup table), its reciprocal value It is an inverse proportional function existing in the first quadrant, when As it gradually increases, the corresponding The rate of decrease will gradually decrease, and because the preset quantization bit width of the target inverse lookup is limited, when When larger, with Since several adjacent numbers have the same reciprocal value, when designing a lookup table for the target reciprocal, several numbers with the same reciprocal value can be grouped together. Corresponding to a reciprocal value This reduces the depth of the target reciprocal lookup table.

[0043] The second optimization scheme is introduced below. When When the value is very large, the corresponding The value will be very small, and the preset quantization bit width is limited, so at this time... The quantization error will be relatively large. A solution is proposed to... Set a target threshold ,when Greater than or equal to At that time, give the corresponding expand Quantization is performed after multiplying the target value by a factor of (i.e., 100 times). This optimization method has two advantages: firstly, it can reduce the bit width; secondly, when... When the value is small, decrease slightly. The quantization bit width has a negligible impact on the precision of the target reciprocal lookup table, while when When the value is large, a shift strategy can be used to reduce the quantization width by n bits, thus achieving higher quantization precision with a lower bit width. The second method is to obtain the result by shifting and then quantizing. ,and When the value is small, the corresponding There is overlap, therefore it can be widened. The scope of the judgment, that is, to allow more Values ​​mapped to the same This further reduces the depth of the target reciprocal lookup table.

[0044] In an optional embodiment, before classifying multiple initial index values ​​based on a target threshold to obtain multiple first index values ​​and multiple second index values, the method further includes: determining multiple initial multiples based on the first reciprocal values ​​corresponding to the multiple initial index values ​​and a preset quantization bit width, wherein the multiple initial index values ​​correspond one-to-one with the multiple initial multiples; for any initial multiple among the multiple initial multiples, determining multiple initial depths corresponding to any initial multiple based on any initial multiple and multiple initial thresholds, wherein the multiple initial thresholds correspond one-to-one with the multiple initial depths; performing multiplication operations on the preset quantization bit width and the multiple initial depths respectively to obtain multiple first products corresponding to any initial multiple, wherein the multiple first products correspond one-to-one with the multiple initial depths; determining multiple first products corresponding to the multiple initial multiples by using the method of determining multiple first products corresponding to any initial multiple; and determining the initial multiple and initial threshold corresponding to the smallest first product among the multiple first products corresponding to the multiple initial multiples as the target multiple and the target threshold.

[0045] It is understandable that the target multiple and target threshold can be determined as follows: First, based on the preset quantization bit width and the first reciprocal values ​​corresponding to multiple initial index values, multiple initial multiples are determined. These initial multiples refer to the factors by which the first reciprocal value needs to be expanded to meet the preset quantization bit width requirements. Second, for any initial multiple, multiple initial depths are determined using simulation analysis based on multiple preset initial thresholds. That is, the initial depths are determined based on any initial multiple and initial threshold. Then, the preset quantization bit width is multiplied by each of the multiple initial depths to obtain multiple first products corresponding one-to-one with the multiple initial depths. These first products are used to evaluate the size of the target reciprocal lookup table under different initial threshold and initial multiple schemes. Using the above method, multiple first products corresponding to multiple initial multiples are obtained, and the initial multiple and initial threshold corresponding to the smallest product are determined as the target multiple and target threshold of the target reciprocal lookup table. The target multiple and target threshold determined by the above method can reduce the size of the target reciprocal lookup table while ensuring its accuracy, thereby improving the efficiency of finding the reciprocal value and thus improving the signal detection efficiency.

[0046] Step S108: Determine the signal estimate of the transmitted signal based on the target index value, the target reciprocal value, the initial wireless signal, and the channel state information.

[0047] It is understandable that the signal estimate of the transmitted signal is determined based on the target index value, the target reciprocal value, the initial radio signal, and the channel state information. This signal estimate can be represented in the form of a vector, and the dimension of the vector depends on the number of transmit antennas equipped at the transmitter in the MIMO system.

[0048] In one optional embodiment, determining the signal estimate of the transmitted signal based on the target index value, the target reciprocal value, the initial wireless signal, and channel state information includes: performing matched filtering on the initial wireless signal based on the channel state information to obtain a matched filtered signal of the initial wireless signal; obtaining a first calculation result based on the target reciprocal value and the matched filtered signal; and determining the signal estimate based on the target index value, the first calculation result, and the target threshold.

[0049] It is understandable that, in order to enhance signal strength and suppress noise interference, matched filtering is applied to the initial radio signal based on channel state information to obtain a matched-filtered signal. Next, based on the target reciprocal and the matched-filtered signal, a first calculation result is obtained. If the channel state information is represented in matrix form, then the target index and target reciprocal are also in matrix form. Simultaneously, the initial radio signal and the matched-filtered signal are represented in vector form. Therefore, the first calculation result is the matrix-vector product of the target reciprocal and the matched-filtered signal; that is, the first calculation result is represented in vector form. Based on the target index, the first calculation result, and the target threshold, the signal estimate of the transmitted signal is obtained. By introducing a reciprocal lookup table, division operations can be converted into multiplication operations, reducing the computational complexity in the MIMO signal detection process and improving signal detection efficiency.

[0050] Optionally, in the process of MIMO signal detection, the MMSE method transforms the detection problem into solving a system of linear equations x=A. -1 b, where A is an n×n symmetric positive definite complex matrix, and x is an n×1 unknown complex vector (i.e., the signal estimate of the transmitted signal represented in vector form). The CG method is one of the most effective methods for solving linear equation systems. To reduce the computational complexity of the MMSE method, the CG method is used to approximate the solution of the linear equation system. Based on the diagonal matrix D composed of the main diagonal elements of matrix A and the matched filter signal b, the signal estimate of the transmitted signal is obtained. This is to accelerate the convergence speed of the CG method. The signal detection process of the CG method is described below.

[0051] First, based on the channel state information H, for a known complex vector of n×1... The initial wireless signal (represented as a vector) undergoes matched filtering to obtain the matched-filtered signal b. The matched-filtered signal b can be determined as follows:

[0052]

[0053] Next, based on the matched filter signal b, the signal estimate of the transmitted signal is obtained.

[0054] Signal estimation The following methods can be used to determine this:

[0055]

[0056]

[0057] in, Let A be a diagonal matrix consisting of the main diagonal elements of matrix A, representing the target index value in matrix form. The target reciprocal is represented in matrix form.

[0058] In one optional embodiment, determining a signal estimate based on a target index value, a first calculation result, and a target threshold includes: comparing the target index value with a target threshold; if the target index value is less than the target threshold, truncating the first calculation result based on a preset quantization bit width to obtain a signal estimate; or, if the target index value is greater than or equal to the target threshold, reducing the first calculation result by a target multiple to obtain a second calculation result, and truncating the second calculation result based on a preset quantization bit width to obtain a signal estimate.

[0059] The process involves comparing the target index value with a target threshold. If the target index value is less than the target threshold, the first calculation result is truncated according to a preset quantization bit width, and the truncated value is used as the estimated signal value for the transmitted signal. Conversely, if the target index value is greater than or equal to the target threshold, the first calculation result is scaled down by a target factor to obtain a second calculation result. This second calculation result is then truncated according to a preset quantization bit width, and the truncated value is used as the estimated signal value for the transmitted signal. By scaling the obtained first calculation result based on the comparison between the target index value and the target threshold, the signal estimation error caused by the target reciprocal lookup table can be effectively compensated for, which helps to improve signal detection efficiency while ensuring the accuracy of the signal estimation value.

[0060] Optionally, after finding the reciprocal value using the target reciprocal lookup table obtained from the two optimization schemes described above, and performing subsequent multiplications to obtain the product, then using... and When comparing, Less than If the product is truncated according to the original quantization scheme, then the product is first shifted right by n bits (i.e., reduced in size). After multiplying by 100%, the truncation is performed according to the original quantification scheme.

[0061] Optionally, the target index value can be represented in the form of a diagonal matrix. If the target index value is represented in the form of a diagonal matrix, the multiple index values ​​on the diagonal of the diagonal matrix need to be compared with the target threshold respectively, and based on the comparison results, it is determined whether the values ​​of each dimension of the first calculation result represented in the form of a vector need to be reduced by the target multiple.

[0062] In an optional embodiment, after determining the signal estimate of the transmitted signal based on the target index value, the target reciprocal value, the initial wireless signal, and the channel state information, the method further includes: obtaining a fourth calculation result based on the signal estimate and a third calculation result, wherein the third calculation result is obtained based on the channel state information; obtaining an initial residual and an initial search direction based on the fourth calculation result, wherein the initial residual is used to quantify the residual error between the signal estimate and the ideal signal, and the initial search direction is used to guide the optimization direction of the signal estimate; obtaining a fifth calculation result based on the third calculation result and the initial search direction; obtaining an initial iteration step size based on the initial residual, the initial search direction, and the fifth calculation result; iteratively optimizing the signal estimate based on the initial iteration step size and the initial search direction to obtain an optimized signal estimate; and determining the optimized signal estimate as the target signal estimate of the transmitted signal when the iteration stopping condition is met.

[0063] It is understandable that, to further improve the accuracy of the signal estimate, iterative optimization is performed on the signal estimate. First, based on the channel state information, a third calculation result is obtained, and based on the third calculation result and the signal estimate, a fourth calculation result is calculated. Second, based on the fourth calculation result, the initial residual and initial search direction are obtained, and based on the third calculation result and the initial search direction, a fifth calculation result is obtained. Next, based on the initial residual, initial search direction, and fifth calculation result, the initial iteration step size for iterative optimization of the signal estimate is determined. Then, based on the initial iteration step size and initial search direction, the signal estimate is iteratively optimized to obtain the optimized signal estimate of the transmitted signal. Finally, it is determined whether the iteration stopping condition is met, such as reaching the maximum number of iterations, or whether the accuracy of the optimized signal estimate meets the preset accuracy requirement. If so, the optimized signal estimate is determined as the target signal estimate of the transmitted signal. By iteratively optimizing the signal estimate of the transmitted signal, the detection accuracy of the signal detection result can be improved.

[0064] Optionally, to further improve the accuracy of the signal estimate, the signal estimate is... Continue iterative optimization to obtain the optimized signal estimate. .

[0065] First, determine the initial residual and the initial search direction. Initial residual and initial search direction The following methods can be used to determine this:

[0066]

[0067]

[0068] Wherein, matrix A is the third calculation result represented in matrix form. This is the fourth calculation result.

[0069] Next, determine the initial iteration step size. . The following methods can be used to determine this:

[0070]

[0071] in, This is the fifth calculation result.

[0072] Optimize signal estimation The following methods can be used to determine this:

[0073]

[0074] In an optional embodiment, if the iteration stopping condition is not met, the method further includes: iteratively optimizing the initial residual based on the initial iteration step size, the third calculation result, and the initial search direction to obtain an updated residual; determining an update direction coefficient based on the initial residual and the updated residual, wherein the update direction coefficient is used to quantify the importance of the initial search direction; iteratively optimizing the initial search direction based on the update direction coefficient and the updated residual to obtain an updated search direction; iteratively optimizing the initial iteration step size based on the third calculation result, the updated residual, and the updated search direction to obtain an updated iteration step size; iteratively optimizing the optimized signal estimate based on the updated iteration step size and the updated search direction to obtain an updated optimized signal estimate; and iteratively optimizing the updated optimized signal estimate using an iterative optimization method until the iteration stopping condition is met, and determining the updated optimized signal estimate obtained from the last iteration optimization as the target signal estimate.

[0075] It is understandable that if the iteration stopping condition is not met, the optimized signal estimate will be further iteratively optimized in the following way to continue improving its accuracy. First, based on the initial iteration step size, the third calculation result, and the initial search direction, the initial residual is iteratively optimized to obtain an updated residual. This updated residual is used to quantify the remaining error between the optimized signal estimate and the ideal signal. Then, based on the initial residual and the updated residual, the update direction coefficient is determined, and based on the update direction coefficient and the updated residual, the initial search direction is iteratively optimized to obtain an updated search direction. This updated search direction is used to guide the optimization direction of the optimized signal estimate. Next, based on the third calculation result, the updated residual, and the updated search direction, the initial iteration step size is iteratively optimized to obtain an updated iteration step size. Based on the updated iteration step size and the updated search direction, the optimized signal estimate is iteratively optimized to obtain an updated optimized signal estimate. The process involves determining whether the iteration stopping condition is met. If it is, the iteration optimization stops, and the updated optimized signal estimate is determined as the target signal estimate for the transmitted signal. If not, the iteration optimization continues using the same method until the iteration stopping condition is met. The updated optimized signal estimate obtained from the last iteration is then determined as the target signal estimate for the transmitted signal. Through this process, the optimal balance between signal detection accuracy and real-time performance can be found by flexibly adjusting the iteration stopping condition.

[0076] Alternatively, if the iteration stopping condition is not met, the optimized signal estimate can be continued in the following manner. Perform iterative optimization.

[0077] First, regarding the initial residuals Perform iterative optimization to obtain the updated residual. :

[0078]

[0079] Where k (k=0,1,2,…) is the iteration number, when k=0, The initial iteration step size is k > 0. The update step size for the k-th iteration is 'update'; when k=0, For the initial residual, when k>0, Let be the update residual for the k-th iteration.

[0080] Determine the update direction coefficient . The following methods can be used to determine this:

[0081]

[0082] For the initial search direction Iterative optimization is performed to obtain an updated search direction. :

[0083]

[0084] Where, when k=0, As the initial search direction, when k > 0, This represents the update search direction for the k-th iteration.

[0085] Next, the initial iteration step size is... Optimize to obtain the update iteration step size :

[0086]

[0087] Finally, the optimized signal estimate is... Perform iterative optimization to obtain updated optimized signal estimates. :

[0088]

[0089] The above iterative process is used to optimize the signal estimate. Perform iterative optimization until the iteration stopping condition is met, for example, by obtaining an updated optimized signal estimate. It meets the preset accuracy requirements or reaches the maximum number of iterations.

[0090] Through the above steps S102 to S108, the goal of determining the target index value based on the channel state information, searching the target reciprocal lookup table to obtain the target reciprocal value, and combining the initial wireless signal and channel state information to determine the signal estimate of the transmitted signal can be achieved. This reduces the computational complexity in the MIMO signal detection process, thereby improving the efficiency of MIMO signal detection and solving the technical problem of low signal detection efficiency caused by high computational complexity in the MIMO signal detection process in related technologies.

[0091] It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions, and although a logical order is shown in the flowchart, in some cases the steps shown or described may be executed in a different order than that shown here.

[0092] This application also provides a MIMO signal detection system, which will be described below.

[0093] Figure 2This is a schematic diagram of a MIMO signal detection system according to an embodiment of this application, such as... Figure 2 As shown, the system includes an initialization calculation unit 202, a first calculation unit 204, a multiplication and addition calculation unit 206, and a vector inner product and division calculation unit 208. The system will be described below.

[0094] The initialization calculation unit 202 is used to execute any one of the MIMO signal detection methods.

[0095] It is understood that a MIMO signal detection system includes an initialization calculation unit. This unit, based on a target index value, uses a target reciprocal lookup table to obtain the target reciprocal value and combines it with the received matched-filtered signal to obtain a first calculation result. The target index value is compared with a target threshold. If the target index value is less than the target threshold, the first calculation result is truncated according to a preset quantization bit width, and the truncated value is determined as the signal estimate of the transmitted signal. Conversely, if the target index value is greater than or equal to the target threshold, the first calculation result is scaled down by a target factor to obtain a second calculation result. This second calculation result is then truncated according to a preset quantization bit width, and the truncated value is determined as the signal estimate of the transmitted signal. By introducing a reciprocal lookup table, division operations can be converted into multiplication operations, reducing the computational complexity in the MIMO signal detection process and improving signal detection efficiency. Simultaneously, by scaling the obtained first calculation result according to the comparison between the target index value and the target threshold, the signal estimation error caused by the target reciprocal lookup table can be effectively compensated for, which helps to improve signal detection efficiency while ensuring the accuracy of the signal estimation value.

[0096] Optionally, the initialization calculation unit is used to complete the initialization process of the CG method. The initialization calculation unit includes a reciprocal lookup table (i.e., the target reciprocal lookup table), a multiplier, and an adder. It can be used to perform most of the calculations in the initialization operation of the CG method, such as performing calculations based on the input matched filter signal b, represented as a vector. The calculation process, and the calculation based on the input symmetric positive definite complex matrix A (i.e., the third calculation result). The calculation process.

[0097] As an optional embodiment, the system further includes: a first calculation unit 204, a multiply-accumulate calculation unit 206, and a vector inner product and division calculation unit 208. The first calculation unit is used to obtain a fourth calculation result based on the signal estimate and a third calculation result, and to obtain a fifth calculation result based on the third calculation result and an initial search direction. The third calculation result is obtained based on channel state information, and the initial search direction is obtained by the initialization calculation unit based on the fourth calculation result. The initial search direction is used to guide the optimization direction of the signal estimate. The vector inner product and division calculation unit is used to obtain an initial iteration step size based on the initial residual, the initial search direction, and the fifth calculation result. The initial residual is obtained by the initialization calculation unit based on the fourth calculation result and is used to quantify the residual error between the signal estimate and the ideal signal. The multiply-accumulate calculation unit is used to iteratively optimize the signal estimate based on the initial iteration step size and the initial search direction to obtain an optimized signal estimate.

[0098] It is understandable that, to further improve the accuracy of the signal estimate, iterative optimization is performed to obtain an optimized signal estimate. First, using the first calculation unit, a fourth calculation result is obtained based on the signal estimate and the third calculation result. Simultaneously, a fifth calculation result is obtained based on the third calculation result and the initial search direction, where the initial search direction is obtained by the initialization calculation unit based on the fourth calculation result. Then, using the vector dot product and division calculation unit, an initial iteration step size is obtained based on the initial residual, the initial search direction, and the fifth calculation result, where the initial residual is obtained by the initialization calculation unit based on the fourth calculation result. Finally, using the multiply-accumulate calculation unit, the signal estimate is iteratively optimized based on the initial iteration step size and the initial search direction to obtain the optimized signal estimate. By iteratively optimizing the transmitted signal estimate, the detection accuracy of the signal detection result can be improved.

[0099] Optionally, the multiply-add unit includes a multiplier and an adder. The multiply-add unit is used to calculate the scalar multiplication and vector addition in the k-th iteration of the CG method, i.e., it is used to calculate... , and When performing multiplication and addition operations, 32 multipliers and 32 adders can be instantiated separately, with a two-stage pipeline. The first stage performs scalar multiplication, and the second stage performs vector addition. When instantiating the adder, a single-bit input is reserved. When the input is 0, the addition operation is performed; when the input is 1, the two's complement of the second addend is taken and then added together to perform the subtraction operation.

[0100] Optionally, the vector dot product and division calculation unit includes a multiplier, an adder tree, and a reciprocal lookup table. The vector dot product and division calculation unit is used to calculate the dot product in the k-th iteration of the CG method. and Within the vector dot product and division calculation unit, 33 multipliers, 1 addition tree 1, and 1 inverse lookup table can be instantiated. Among them, 32 multipliers are used for vector multiplication when calculating the vector dot product, addition tree 1 is used to accumulate multipliers, and the inverse lookup table and the remaining 1 multiplier are used to replace the division operation.

[0101] As an optional embodiment, the first calculation unit includes: a shared multiplication unit and a matrix-vector product calculation unit, wherein the shared multiplication unit is used to obtain a second product based on the signal estimate and the third calculation result, and to obtain a third product based on the third calculation result and the initial search direction; the matrix-vector product calculation unit is used to obtain a fourth calculation result based on the second product, and to obtain a fifth calculation result based on the third product.

[0102] It can be understood that the first calculation unit includes a shared multiplication unit and a matrix-vector product calculation unit, which jointly calculate the fourth and fifth calculation results. The shared multiplication unit performs multiplication operations, including obtaining the second product based on the signal estimate and the third calculation result, and obtaining the third product based on the third calculation result and the initial search direction. The second and third products are then transmitted to the matrix-vector product calculation unit, which sums the second and third products respectively to obtain the fourth and fifth calculation results. To avoid potential timing conflicts between different calculation processes, the shared multiplication unit and the matrix-vector product calculation unit are time-division multiplexed, thereby reducing system hardware overhead, saving hardware resources, and ensuring signal detection efficiency.

[0103] Optionally, to reduce hardware overhead, computation latency, and hardware area, a shared multiplication unit can be instantiated to perform some multiplication operations during the initialization and iterative optimization processes of the CG method. For example, based on the input symmetric positive definite complex matrix A, it can calculate the multiplication operations during the initialization process. The results, and the iterative optimization process The result.

[0104] Optionally, in the process of calculating the symmetric positive definite complex matrix A, the following steps are performed: At that time, a large number of multipliers are also needed, and The computation of the matrix-vector product in the CG method iterative optimization process is isolated from each other in time. Therefore, input / output interfaces can be reserved for the shared multiplication unit, and the matrix can be... The data is accessed to this unit for enhanced multiplexing, further improving hardware utilization. The symmetric positive definite complex matrix is ​​calculated from the previous stage. until finally obtained In fact, it completes the MMSE method in large-scale MIMO signal detection. If other detection algorithms are cascaded after it, and the algorithm also needs to perform a large number of multiplication operations at a certain time, the multiplier and multiplicand can be input into the shared multiplication unit for calculation, and the product can be retrieved after it is obtained.

[0105] Optionally, the matrix-vector product calculation unit includes two types of addition trees, totaling 32 addition trees. Assume A is a 16×16 symmetric positive definite complex matrix. x 'b' is a 16×1 signal estimate, and 'b' is a 16×1 matched-filtered signal. The matrix-vector product calculation unit is used to calculate the product of a matrix and a vector, for example... In this calculation, the first step is to use a shared multiplication unit to calculate all multiplication operations, obtaining the second product. The second step uses the addition tree of the matrix-vector product calculation unit to sum the multiplications to obtain the fourth calculation result. During the summation operation in the second step, for all 1024 products obtained in the first step, 32 addition trees are needed to sum these multiplications into a 16×1 complex vector. The imaginary part is obtained by summing the corresponding 32 imaginary multiplications using the first type of addition tree. Similarly, the real part is obtained by subtracting the sum of the odd-numbered terms in the corresponding product from the sum of the even-numbered terms using the second type of addition tree. To optimize timing, the addition tree is designed as a two-stage pipeline. The first stage adds / subtracts every four addends, and the second stage sums the eight addends obtained in the first stage to obtain the fourth calculation result.

[0106] In a MIMO signal detection system provided in this application embodiment, the initialization calculation unit 202 achieves the purpose of determining the target index value based on the channel state information, searching the target reciprocal lookup table to obtain the target reciprocal value, and combining the initial wireless signal and channel state information to determine the signal estimate of the transmitted signal. This achieves the technical effect of improving the efficiency of MIMO signal detection, and solves the technical problem of low signal detection efficiency caused by high computational complexity in the MIMO signal detection process in related technologies.

[0107] Based on the above embodiments and optional embodiments, this application proposes an optional MIMO signal detection method and an optional MIMO signal detection system implementation method to improve the efficiency of MIMO signal detection.

[0108] In large-scale MIMO signal detection, traditional linear detection methods (such as ZF (Zero Forcing) and MMSE (Minimum Mean Square Error)) require inverting matrices with dimensions of tens of times, resulting in computational complexity reaching [insert value here]. For real-time communication systems, computational complexity is both time-consuming and energy-intensive, making it difficult to meet the requirements of high throughput and low latency. Therefore, the low-complexity conjugate gradient method is introduced. The CG method, due to its reliance on only matrix-vector multiplication and avoidance of explicit matrix inversion, becomes a computationally friendly and structurally flexible iterative solution method. The computational complexity of the CG method in each iteration is O(log n). Typically, convergence is achieved in only a finite number of iterations, reaching the preset accuracy requirements. The excellent numerical stability and asymptotic convergence characteristics of the CG method provide an adjustable balance between system complexity and performance, which is highly suitable for the demand for low-complexity, high-precision signal detection in large-scale MIMO scenarios.

[0109] From an ASIC implementation perspective, the Cole-Giles (CG) method has significant advantages over other signal detection methods. Compared to direct inversion methods such as Cholesky decomposition, the CG method eliminates the need for triangular matrix decomposition and back-substitution operations, significantly reducing resource consumption and control logic complexity on ASIC chips. Furthermore, compared to Neumann Series Approximation (NSA), the CG method exhibits higher robustness to the condition number of the matrix during iteration and allows for flexible adjustment of the iteration count to control signal detection accuracy, avoiding the error accumulation problem caused by poor series convergence in NSA. In addition, the CG method is naturally suited for pipelined design; its core operations are dense matrix-vector multiplication and vector inner product, facilitating the construction of high-throughput data paths in ASICs and reducing memory access pressure. In contrast, classic iterative methods such as Jacobi or Gauss-Seidel have high requirements for matrix structure and strong data dependencies, making them unsuitable for parallel computing and difficult to achieve high utilization in ASICs. Therefore, thanks to its low complexity, structural friendliness, and hardware mapping efficiency, the CG method has become the preferred solution for signal detection in large-scale MIMO scenarios adapted to ASIC implementation.

[0110] Although the Cobb-Groblind (CG) method has gained widespread attention and application in large-scale MIMO signal detection due to its advantages such as avoiding explicit matrix inversion, low computational complexity, and strong numerical stability, and is considered suitable for deployment in high-performance communication chips such as ASICs, a series of problems still exist in the actual hardware implementation. First, the main computational load of the CG method comes from multiple matrix-vector multiplications, requiring multiplication of high-dimensional matrices and vectors in each iteration. For matrices and vectors with large dimensions, large-scale parallel multiply-accumulate arrays are needed to meet real-time requirements, significantly increasing chip area and power consumption. Second, the CG method involves dynamic update operations of multiple parameters, such as the iteration step size and direction coefficients. The calculation of these parameters depends on the division operation between vector inner product results. In ASIC implementation, the high hardware complexity of the division operation increases the design difficulty of the ASIC, becoming one of the main bottlenecks limiting the performance of the CG method. Therefore, although the CG method theoretically possesses good performance and scalability, balancing computational accuracy, resource utilization, and hardware area remains a key technical problem when applying the CG method to practical communication chips in actual ASIC implementations.

[0111] In large-scale MIMO signal detection, solving linear equations is unavoidable, but the matrix inversion process involves a large amount of computation, resulting in high computational complexity. To reduce computational complexity, based on the above embodiments, a high-throughput, low-complexity hardware architecture, system, and control method based on the conjugate gradient method is proposed. The proposed architecture is designed and implemented from the aspects of hardware architecture, computing units, and data flow control. Regarding the computing units, the computational operations in the CG method are classified into four categories: matrix-vector product, vector inner product, multiplication-addition, and division, and the hardware design is based accordingly. In the division calculation, a reciprocal lookup table and multipliers are used to replace the division operation, and an optimized construction scheme for the reciprocal lookup table is proposed, reducing the bit width and depth of the reciprocal lookup table without significant loss of accuracy. In terms of hardware architecture, the above computing units are time-division multiplexed to minimize hardware overhead, and input / output interfaces are reserved to enhance the scalability and versatility of the hardware architecture. In terms of data flow control, the smoothness of data processing and timing accuracy during the CG method iteration are ensured by coordinating the operation sequence and data transfer between various computing units. Using a 65nm semiconductor manufacturing process, the above architecture can support operating frequencies up to 500 MHz.

[0112] In the process of MIMO signal detection, the MMSE method transforms the detection problem into solving a system of linear equations x=A. -1b, where A is an n×n symmetric positive definite complex matrix, and x is an n×1 unknown complex vector (i.e., the signal estimate of the transmitted signal represented in vector form). The CG method is one of the most effective methods for solving linear equation systems. To reduce the computational complexity of the MMSE method, the CG method is used to approximate the solution of the linear equation system. Based on the diagonal matrix D composed of the main diagonal elements of matrix A and the matched filter signal b, the signal estimate of the transmitted signal is obtained. This is to accelerate the convergence speed of the CG method. The signal detection process of the CG method is described below.

[0113] First, based on the channel state information H, for a known complex vector of n×1... The initial wireless signal (represented as a vector) undergoes matched filtering to obtain the matched filtered signal b. The matched filtered signal b is determined as follows:

[0114]

[0115] Next, the CG algorithm is initialized for the matched filter signal b. The initialization steps include:

[0116] Calculate the initial signal estimate :

[0117]

[0118]

[0119] in, Let A be a diagonal matrix consisting of the main diagonal elements of matrix A, representing the target index value in matrix form. The target reciprocal is represented in matrix form.

[0120] Calculate the initial residual :

[0121]

[0122] Set the initial search direction :

[0123]

[0124] Next, in order to further improve the initial signal estimate... The accuracy of Continue iterative optimization until the iteration stopping condition is met. The steps of iterative optimization include:

[0125] Iterative optimization of iteration step size :

[0126]

[0127] Where k (k=0,1,2,…) is the iteration number, when k=0, The initial iteration step size is k > 0. Let be the update iteration step size for the k-th iteration.

[0128] Iterative optimization of signal estimation :

[0129]

[0130] Where, when k=0, For the optimized signal estimate of the transmitted signal, when k>0, This is the updated optimized signal estimate for the (k+1)th iteration.

[0131] Iterative optimization of residuals :

[0132]

[0133] in, For the (k+1)th iteration update residual, when k=0, For the initial residual, when k>0, Let be the update residual for the k-th iteration.

[0134] Iterative optimization of direction coefficients :

[0135]

[0136] in, Let be the update direction coefficient for the k-th iteration.

[0137] Iterative optimization of search direction :

[0138]

[0139] in, This is the update search direction for the (k+1)th iteration. When k=0, As the initial search direction, when k > 0, This represents the update search direction for the k-th iteration.

[0140] The above iterative process is used to estimate the initial signal value. Perform iterative optimization until the iteration stopping condition is met, for example, by obtaining an updated optimized signal estimate. It meets the preset accuracy requirements or reaches the maximum number of iterations. Figure 3This is a flowchart of an optional conjugate gradient method provided according to an embodiment of this application. Figure 3 The paper demonstrates how to use the conjugate gradient method to obtain the optimized signal estimate for the (k+1)th iteration. The calculation process, and the data flow of intermediate calculation results obtained during the calculation process.

[0141] In large-scale MIMO signal detection, the symmetric positive definite complex matrix A is calculated from the preceding channel matrix H (i.e., the channel state information represented in matrix form).

[0142]

[0143] in, It is Gaussian white noise. The average energy of the transmitted signal is represented in matrix form.

[0144] The following describes the process of MIMO signal detection using the MMSE method. First, based on the average energy and channel state information represented in matrix form, and combined with the noise variance, matrix A (i.e., the third calculation result) required for MIMO signal detection can be constructed. Matrix A is determined as follows:

[0145]

[0146] Next, the initial wireless signal y is subjected to matched filtering using the channel state information H to obtain the matched filtered signal b. b is determined as follows:

[0147]

[0148] Finally, based on matrix A and the matched-filtered signal b, the signal estimate x is determined in the following way:

[0149]

[0150] The processes of MIMO signal detection using the MMSE and CG methods described above demonstrate that the MMSE method requires inverting matrix A. When matrix A has a high dimension, this involves numerous division operations, resulting in high computational complexity and requiring significant resources, thus increasing the complexity and reducing efficiency of MIMO signal detection. In contrast, while the CG method also involves inverting matrix D, D is a diagonal matrix composed of the diagonal elements of matrix A. Therefore, inverting matrix D involves fewer division operations, significantly reducing computational complexity. Furthermore, introducing a reciprocal lookup table can convert division into multiplication, further reducing computational complexity. The CG method can also improve the accuracy of signal detection results through continuous iterative optimization. Therefore, the CG method can improve signal detection efficiency without sacrificing accuracy by reducing computational complexity.

[0151] An optional MIMO signal detection system can be understood as a hardware architecture employing the conjugate gradient method based on large-scale MIMO signal detection, such as FPGA (Field-Programmable Gate Array) and ASIC, to implement the aforementioned initialization and iterative optimization process. The conjugate gradient method hardware architecture is described below in two parts: hardware architecture and computing unit.

[0152] To maximize hardware resource conservation and reduce hardware overhead, a hardware architecture that time-shares computing units is proposed. Specifically, for the same computational operation, only one set of computing units is instantiated, and by appropriately adjusting the computational flow of the CG method, the maximum utilization of hardware resources is achieved. Figure 4 This is a schematic diagram of an optional conjugate gradient method hardware architecture provided according to an embodiment of this application, such as... Figure 4 As shown, the hardware architecture of the conjugate gradient method includes an initialization computation unit, a shared multiplication unit, a matrix-vector product computation unit, a multiply-add computation unit, and a vector inner product and division computation unit. These computation units are time-division multiplexed, and the arrows indicate the direction of data transmission. The initialization computation unit is used to complete the initialization process described above, including a reciprocal lookup table (i.e., the target reciprocal lookup table), a multiplier, and an adder. The initialization computation unit performs most of the computations in the initialization operation, for example, based on the input matched filter signal b represented as a vector, it performs... The calculation process, and the calculation based on the input symmetric positive definite complex matrix A. The calculation process is described above. The matrix-vector product calculation unit, multiplication-addition calculation unit, and vector inner product and division calculation unit perform most of the calculations in the iterative optimization process. Specifically, the matrix-vector product calculation unit includes two types of addition trees, totaling 32 addition trees; the multiplication-addition calculation unit includes a multiplier and an adder; and the vector inner product and division calculation unit includes a multiplier, an addition tree, and a reciprocal lookup table. To reduce hardware overhead, computational latency, and hardware area, a shared multiplication unit is instantiated to perform some multiplication operations during the initialization and iterative optimization processes. For example, based on the input symmetric positive definite complex matrix A, it calculates the multiplication operations during the initialization process. The results, and the iterative optimization process The results show that the CG method converges when k=2 under a Rayleigh channel of size 16×128. With a data input interval of 64clk (meaning that 64 clock cycles are required to complete the calculation of the matched filter signal b under clock signal control), the above time-division multiplexed conjugate gradient method hardware architecture is timing-free. Table 1 shows the computational operations performed by each computational unit in the conjugate gradient method hardware architecture during initialization, as well as the data flow control strategy during the initialization computation process.

[0153] Table 1 shows the computational operations performed by each computational unit in the conjugate gradient method hardware architecture during initialization.

[0154]

[0155] Table 2 shows the computational operations performed by each computational unit in the conjugate gradient method hardware architecture during iterative optimization, as well as the data flow control strategy during the iterative optimization computation. As shown in Table 2, steps S1.1b and S1.2b are only executed when k=0; in other iterations, the cached data from the previous iteration can be used. This avoids redundant calculations. During the final iteration, only steps S1.1a, S1.2a, S1.3, S1.4, S1.5, S1.6, S3.1c, and S3.2c need to be calculated to obtain the result that satisfies the iteration stopping condition. This will end the loop.

[0156] Table 2 shows the computational operations performed by each computational unit in the conjugate gradient method hardware architecture during the iterative optimization process.

[0157]

[0158] Suppose A is a 16×16 symmetric positive definite complex matrix. x is a 16×1 signal estimate, b is a 16×1 matched filter signal, and the operations performed by each computational unit in the conjugate gradient method hardware architecture are explained one by one.

[0159] The matrix-vector product calculation unit is used to calculate the product of a matrix and a vector. In this calculation, the first step is to calculate all the multiplication operations, and the second step is to use an addition tree to sum the multiplications to obtain the result.

[0160] In the first step of the multiplication process, a total of [number] multiplication operations are required. This involves 1024 multiplication operations. For such a large number of multiplication calculations, there are generally two options: one is to use fewer multipliers for pipelined operations, but this incurs significant computational latency; the other is to use more multipliers to perform all multiplication operations at once, which greatly reduces computational latency but incurs significant hardware overhead. To reduce computational latency, the second option is adopted, but these 1024 multipliers are instantiated separately as shared multiplication units. Based on the principle of time-sharing, multipliers are provided in a time-sharing manner for steps in the CG method that require a large number of multiplication calculations. This not only reduces computational latency but also reduces hardware overhead and improves hardware utilization through time-sharing.

[0161] In the process of calculating the symmetric positive definite complex matrix A, the calculation At that time, a large number of multipliers are also needed, and The computation of the matrix-vector product in the CG iterative optimization process is isolated from each other in time. Therefore, input / output interfaces can be reserved for the shared multiplication unit, and the matrix can be... The data is accessed to this unit for enhanced multiplexing, further improving hardware utilization. A symmetric positive definite complex matrix is ​​calculated from the previous stage. To get the final result In fact, it completes the MMSE algorithm in large-scale MIMO signal detection. If other detection algorithms are cascaded after it, and the algorithm also needs to perform a large number of multiplication operations at a certain time, its multiplier and multiplicand can be input into the shared multiplication unit for calculation, and then retrieved after the product is obtained.

[0162] In the second step of the multiplication and accumulation operation, for all 1024 products obtained in the first step, 32 addition trees are needed to accumulate these products into a 16×1 complex vector. The imaginary part is obtained by accumulating the corresponding 32 imaginary multiplications using the first type of addition tree. Similarly, the real part is obtained by subtracting the result of accumulating the odd-numbered terms in the corresponding product from the result of accumulating the even-numbered terms using the second type of addition tree. To optimize timing, the addition tree is designed as a two-stage pipeline. The first stage adds / subtracts every four addends, and the second stage accumulates the eight addends obtained in the first stage to obtain the matrix-vector product calculation result.

[0163] The multiply-add unit is used to calculate scalar multiplication and vector addition in the k-th iteration, i.e., it is used to calculate... , and During multiplication and addition operations, 32 multipliers and 32 adders are instantiated, with a two-stage pipeline. The first stage performs scalar multiplication, and the second stage performs vector addition. When instantiating an adder, a single-bit input is reserved. When the input is 0, addition is performed; when the input is 1, the two's complement of the second addend is taken before addition, thus performing subtraction.

[0164] The vector dot product and division calculation unit is used to calculate the vector dot product and division in the k-th iteration. and Within this computational unit, 33 multipliers, 1 addition tree 1, and 1 inverse lookup table are instantiated. Among them, 32 multipliers are used for vector multiplication when calculating the vector dot product, addition tree 1 is used to accumulate multipliers, and the inverse lookup table and the remaining 1 multiplier are used to replace the division operation.

[0165] Two optimization schemes are adopted for constructing the target reciprocal lookup table, focusing on two aspects to reduce the depth and bit width of the table. The first optimization scheme involves merging identical reciprocal values ​​in the target reciprocal lookup table. For a positive number... (i.e., an index value in the target reciprocal lookup table), its reciprocal value It is an inverse proportional function existing in the first quadrant, when As it gradually increases, the corresponding The rate of decrease will gradually decrease, and because the preset quantization bit width of the target inverse lookup is limited, when When larger, with Since several adjacent numbers have the same reciprocal value, when designing a lookup table for the target reciprocal, several numbers with the same reciprocal value can be grouped together. Corresponding to a reciprocal value This reduces the depth of the target reciprocal lookup table.

[0166] The second optimization scheme is introduced below. When When the value is very large, the corresponding The value will be very small, and the preset quantization bit width is limited, so at this time... The quantization error will be relatively large. A solution is proposed to... Set a target threshold ,when Greater than or equal to At that time, give the corresponding expand (i.e., the target multiple) is then quantized. When finding the reciprocal value using the target reciprocal lookup table obtained using this method, and performing subsequent multiplications, it is then... and When comparing, Less than If the product is truncated according to the original quantization scheme, then the product is first shifted right by n bits (i.e., reduced in size). After multiplying by 100%, the bits are truncated according to the original quantization scheme. This optimization method has two advantages: firstly, it can reduce the bit width; secondly, when... When the value is small, decrease slightly. The quantization bit width has a negligible impact on the precision of the target reciprocal lookup table, while when When the value is large, a shift strategy can be used to reduce the quantization width by n bits, thus achieving higher quantization precision with a lower bit width. The second method is to obtain the result by shifting and then quantizing. ,and When the value is small, the corresponding There is overlap, therefore it can be widened. The scope of the judgment, that is, to allow more Values ​​mapped to the same This further reduces the depth of the target reciprocal lookup table.

[0167] Taking a 14-bit unsigned binary number as an example, its decimal range is 0-16383. To minimize the quantization error of the signal estimation, the preset quantization bit width of the target reciprocal lookup table must be at least 19 bits, and the depth must be 16384. If the first optimization scheme is adopted, the bit width remains unchanged, but the depth is reduced to 1416; if the second optimization scheme is adopted, the bit width can be reduced to a minimum of 16 bits, and the depth can be reduced to 480.

[0168] Figure 5 This is a schematic diagram illustrating the working principle of an optional reciprocal lookup table according to an embodiment of this application, such as... Figure 5 As shown, where, Indicates the index value. Indicates the reciprocal value. Indicates the multiplier. Indicates product. When Less than At that time, directly reciprocal As the target reciprocal lookup table The reciprocal of . When Greater than or equal to At that time, reciprocal expand After doubling, we get and will As the target reciprocal lookup table The reciprocal of the value. When performing multiplication using a target reciprocal lookup table, when... Less than When that happens, the reciprocal value obtained directly from the target reciprocal lookup table will be used. , and multiplier Multiply to get the product That is the desired result. When Greater than or equal to When the time comes, the reciprocal value obtained from the target reciprocal lookup table will be retrieved. , and multiplier Multiply to get the product Then Shrink After multiplying by 1, we obtain the reduced product and use the reduced product as the desired result.

[0169] The initialization computation unit instantiated 16 target reciprocal lookup tables, 32 multipliers, and 32 adders. The 16 target reciprocal lookup tables are used to solve for the reciprocals of the real parts (imaginary parts are 0) of the main diagonal elements of a symmetric positive definite complex matrix A, thereby obtaining the matrix... 32 multipliers are used to calculate the initial signal estimate. 32 adders are used to perform... Subtraction operations in, at the same time, The matrix-vector product is calculated by the shared multiplication unit and the matrix-vector product calculation unit.

[0170] The above optional implementation methods achieve at least the following effects: by time-division multiplexing the computing units, hardware resources are effectively saved and hardware overhead is reduced; by using a reciprocal lookup table to replace division operations, computational complexity is reduced and signal detection efficiency is improved; by merging identical reciprocal values ​​and shifting strategies, the bit width and depth of the reciprocal lookup table are effectively reduced, thereby improving the computational efficiency and hardware utilization of the CG method.

[0171] This application provides a non-volatile storage medium storing a program that, when executed by a processor, implements a MIMO signal detection method.

[0172] This application provides an electronic device including a processor, a memory, and a program stored in the memory and executable on the processor. When the processor executes the program, it performs the following steps: receiving an initial wireless signal; determining a target index value based on channel state information, wherein the channel state information is used to quantify the influence of the wireless channel on the transmitted signal; searching a target reciprocal lookup table based on the target index value to obtain the target reciprocal value of the target index value; and determining a signal estimate of the transmitted signal based on the target index value, the target reciprocal value, the initial wireless signal, and the channel state information. The device described herein may be a server, a PC, etc.

[0173] This application also provides a computer program product, which, when executed on a data processing device, is suitable for executing an initialization program having the following method steps: receiving an initial wireless signal; determining a target index value based on channel state information, wherein the channel state information is used to quantify the degree of influence of the wireless channel on the transmitted signal; searching a target reciprocal lookup table based on the target index value to obtain the target reciprocal value of the target index value; and determining a signal estimate of the transmitted signal based on the target index value, the target reciprocal value, the initial wireless signal, and the channel state information.

[0174] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0175] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0176] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0177] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0178] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0179] Memory may include non-persistent memory in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0180] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0181] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.

[0182] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0183] The above are merely embodiments of this application and are not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.

Claims

1. A method for detecting MIMO signals, characterized in that, include: Receive initial wireless signals; Based on channel state information, a target index value is determined, wherein the channel state information is used to quantify the degree of influence of the wireless channel on the transmitted signal; Based on the target index value, the target reciprocal lookup table is searched to obtain the target reciprocal value of the target index value; Based on the target index value, the target reciprocal value, the initial wireless signal, and the channel state information, the signal estimate of the transmitted signal is determined.

2. The method according to claim 1, characterized in that, Before searching the target reciprocal lookup table based on the target index value to obtain the target reciprocal value of the target index value, the method further includes: Determine the first inverse value corresponding to each of the multiple initial index values; Based on the target threshold, the multiple initial index values ​​are classified to obtain multiple first index values ​​and multiple second index values, wherein the first index values ​​are less than the target threshold, and the second index values ​​are greater than or equal to the target threshold. The first reciprocal values ​​corresponding to the multiple second index values ​​are multiplied by the target multiple to obtain the second reciprocal values ​​corresponding to the multiple second index values. Based on a preset quantization bit width, the first reciprocal values ​​corresponding to the multiple first index values ​​and the second reciprocal values ​​corresponding to the multiple second index values ​​are truncated to obtain the third reciprocal values ​​corresponding to the multiple first index values ​​and the fourth reciprocal values ​​corresponding to the multiple second index values. The preset quantization bit width is used to control the precision of the reciprocal values ​​stored in the target reciprocal lookup table. The target reciprocal lookup table is determined based on the third reciprocal values ​​corresponding to the plurality of first index values ​​and the fourth reciprocal values ​​corresponding to the plurality of second index values.

3. The method according to claim 2, characterized in that, The step of determining the target reciprocal lookup table based on the third reciprocal values ​​corresponding to the plurality of first index values ​​and the fourth reciprocal values ​​corresponding to the plurality of second index values ​​includes: The same reciprocal values ​​among the third reciprocal values ​​corresponding to the plurality of first index values ​​and the fourth reciprocal values ​​corresponding to the plurality of second index values ​​are merged to obtain the target reciprocal lookup table.

4. The method according to claim 2, characterized in that, Before classifying the plurality of initial index values ​​based on the target threshold to obtain a plurality of first index values ​​and a plurality of second index values, the method further includes: Based on the first inverse value corresponding to the plurality of initial index values ​​and the preset quantization bit width, a plurality of initial multiples are determined, wherein the plurality of initial index values ​​correspond one-to-one with the plurality of initial multiples; For any one of the plurality of initial multiples, based on the any one initial multiple and the plurality of initial thresholds, a plurality of initial depths corresponding to the any one initial multiple are determined, wherein the plurality of initial thresholds correspond one-to-one with the plurality of initial depths; The preset quantization bit width is multiplied by the plurality of initial depths respectively to obtain a plurality of first products corresponding to any initial multiple, wherein the plurality of first products correspond one-to-one with the plurality of initial depths; The method of determining multiple first products corresponding to any initial multiple is used to determine multiple first products corresponding to each of the multiple initial multiples; The initial multiple and the initial threshold corresponding to the smallest first product among the multiple initial multiples are determined as the target multiple and the target threshold.

5. The method according to claim 1, characterized in that, Determining the signal estimate of the transmitted signal based on the target index value, the target reciprocal value, the initial wireless signal, and the channel state information includes: Based on the channel state information, the initial wireless signal is subjected to matched filtering to obtain the matched filtered signal of the initial wireless signal; Based on the target reciprocal and the matched filter signal, a first calculation result is obtained; Based on the target index value, the first calculation result, and the target threshold, the signal estimate is determined.

6. The method according to claim 5, characterized in that, Determining the signal estimate based on the target index value, the first calculation result, and the target threshold includes: Compare the target index value with the target threshold. If the target index value is less than the target threshold, truncate the first calculation result based on a preset quantization bit width to obtain the signal estimate; or... If the target index value is greater than or equal to the target threshold, the first calculation result is reduced by the target multiple to obtain the second calculation result, and the second calculation result is truncated based on the preset quantization bit width to obtain the signal estimate.

7. The method according to any one of claims 1 to 6, characterized in that, After determining the signal estimate of the transmitted signal based on the target index value, the target reciprocal value, the initial wireless signal, and the channel state information, the method further includes: Based on the signal estimate and the third calculation result, a fourth calculation result is obtained, wherein the third calculation result is obtained based on the channel state information; Based on the fourth calculation result, an initial residual and an initial search direction are obtained, wherein the initial residual is used to quantify the residual error between the signal estimate and the ideal signal, and the initial search direction is used to guide the optimization direction of the signal estimate; Based on the third calculation result and the initial search direction, the fifth calculation result is obtained; Based on the initial residual, the initial search direction, and the fifth calculation result, the initial iteration step size is obtained; Based on the initial iteration step size and the initial search direction, the signal estimate is iteratively optimized to obtain an optimized signal estimate. If the iteration stopping condition is met, the optimized signal estimate is determined as the target signal estimate of the transmitted signal.

8. The method according to claim 7, characterized in that, If the iteration stopping condition is not met, the method further includes: Based on the initial iteration step size, the third calculation result, and the initial search direction, the initial residual is iteratively optimized to obtain the updated residual; Based on the initial residual and the updated residual, update direction coefficients are determined, wherein the update direction coefficients are used to quantify the importance of the initial search direction; Based on the update direction coefficient and the update residual, the initial search direction is iteratively optimized to obtain the updated search direction; Based on the third calculation result, the updated residual, and the updated search direction, the initial iteration step size is iteratively optimized to obtain the updated iteration step size; Based on the update iteration step size and the update search direction, the optimized signal estimate is iteratively optimized to obtain an updated optimized signal estimate. The updated optimized signal estimate is iteratively optimized until the iteration stopping condition is met, and the updated optimized signal estimate obtained from the last iteration is determined as the target signal estimate.

9. A MIMO signal detection system, characterized in that, It includes an initialization calculation unit, wherein the initialization calculation unit is used to execute the MIMO signal detection method according to any one of claims 1 to 6.

10. The system according to claim 9, characterized in that, The system further includes: a first calculation unit, a multiplication-addition calculation unit, and a vector inner product and division calculation unit, wherein, The first calculation unit is used to obtain a fourth calculation result based on the signal estimate and the third calculation result, and to obtain a fifth calculation result based on the third calculation result and the initial search direction. The third calculation result is obtained based on the channel state information, and the initial search direction is obtained by the initialization calculation unit based on the fourth calculation result. The initial search direction is used to guide the optimization direction of the signal estimate. The vector inner product and division calculation unit is used to obtain the initial iteration step size based on the initial residual, the initial search direction, and the fifth calculation result, wherein the initial residual is obtained by the initialization calculation unit based on the fourth calculation result, and the initial residual is used to quantify the residual error between the signal estimate and the ideal signal; The multiply-accumulate calculation unit is used to iteratively optimize the signal estimate based on the initial iteration step size and the initial search direction to obtain an optimized signal estimate.

11. The system according to claim 10, characterized in that, The first calculation unit includes: a shared multiplication unit and a matrix-vector product calculation unit, wherein, The shared multiplication unit is used to obtain a second product based on the signal estimate and the third calculation result, and to obtain a third product based on the third calculation result and the initial search direction; The matrix-vector product calculation unit is used to obtain the fourth calculation result based on the second product, and to obtain the fifth calculation result based on the third product.

12. A non-volatile storage medium, characterized in that, The non-volatile storage medium stores multiple instructions, which are adapted to be loaded by a processor and executed by the MIMO signal detection method according to any one of claims 1 to 8.

13. An electronic device, characterized in that, include: One or more processors and a memory, the memory being used to store one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors cause the one or more processors to implement the MIMO signal detection method according to any one of claims 1 to 8.

14. A computer program product comprising computer instructions, characterized in that, When the computer instructions are executed by the processor, they implement the MIMO signal detection method according to any one of claims 1 to 8.