A MIMO detection device and receiving equipment
By dividing the LRLSD algorithm into the LR module, MMSE-SIC module, and LSD module, the power consumption and area of the MIMO detection device are reduced, solving the problem of excessive power consumption and area in traditional MIMO detection technology, and achieving more efficient MIMO detection.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SPREADTRUM COMMUNICATION (SHANGHAI) CO LTD
- Filing Date
- 2026-03-13
- Publication Date
- 2026-06-02
AI Technical Summary
Traditional MIMO detection technology has high hardware design complexity, resulting in high power consumption and large area, making it difficult to meet the power consumption and area requirements of wireless communication technology.
A divide-and-conquer design is adopted, consisting of an LR module, an MMSE-SIC module, and an LSD module. The LRLSD algorithm is divided into each module to reduce the algorithm complexity. The LLL algorithm is used to decompose the channel matrix, thereby reducing power consumption and area.
While ensuring the accuracy of MIMO detection, the power consumption and area of the MIMO detection device have been reduced, adapting to the development needs of wireless communication technology.
Smart Images

Figure CN122137431A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of wireless communication technology, and in particular to a MIMO detection device and receiving equipment. Background Technology
[0002] In modern wireless communication technology, Multiple-Input Multiple-Output (MIMO) detection technology plays a crucial role. MIMO detection technology significantly improves the speed, capacity, and stability of wireless communication networks, enabling them to meet increasingly demanding data transmission requirements.
[0003] However, with the rapid development of wireless communication network standards, the requirements for MIMO detection technology are also constantly increasing. This has led to the chip carrying MIMO detection technology having to bear huge power consumption, and the increasing complexity of hardware design has also led to its area becoming larger and larger. Summary of the Invention
[0004] Therefore, it is necessary to provide a MIMO detection device and receiving equipment that can achieve accurate MIMO detection with a small area to address the above-mentioned technical problems.
[0005] In a first aspect, this application provides a MIMO detection device, including: an LR module, an MMSE-SIC module, and an LSD module;
[0006] The LR module is used to receive the first channel matrix from the noise whitening device and decompose the first channel matrix using the LLL algorithm to obtain the second channel matrix;
[0007] The MMSE-SIC module is used to determine the constellation coordinates of the transmitted data based on the second channel matrix and the received data from the noise whitening device; the transmitted data corresponds to the received data.
[0008] The LSD module is used to calculate, based on the constellation point coordinates, the first minimum Euclidean distance value when each bit in the transmitted data is a positive bit, and the second minimum Euclidean distance value when each bit in the transmitted data is an inverted bit, by calculating through tree search.
[0009] The LSD module is also used to determine the log-likelihood ratio of the transmitted data based on the first minimum Euclidean distance value and the second minimum Euclidean distance value.
[0010] Secondly, this application also provides a receiving device, including a noise whitening device and a MIMO detection device as described in any of the first aspects of this application;
[0011] A noise whitening device is used to send the first channel matrix to the MIMO detection device and receive data.
[0012] The aforementioned MIMO detection device and receiving equipment include an LR module, an MMSE-SIC module, and an LSD module. Based on this, the MIMO detection device provided in this application embodiment, through the idea of "divide and conquer," decouples the complex algorithm LRLSD (Lattice Reduction Least Sphere Decoding) into the LR module, MMSE-SIC module, and LSD module respectively through hierarchical segmentation and scheduling. This decomposes the design complexity of the LRLSD algorithm, reduces the high parallelism problem of the LRLSD algorithm, and thus, while ensuring the accuracy of MIMO detection, reduces the power consumption of the MIMO detection device, thereby reducing the size of the MIMO detection device. Attached Figure Description
[0013] To more clearly illustrate the technical solutions in the embodiments of this application or related technologies, the drawings used in the description of the embodiments of this application or related technologies will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0014] Figure 1 This is a schematic diagram of the structure of a receiving device;
[0015] Figure 2 This is a schematic diagram of the structure of a MIMO detection device provided in an embodiment of this application;
[0016] Figure 3 A flowchart illustrating the execution steps of an LSD module provided in an embodiment of this application;
[0017] Figure 4 This is a schematic diagram of another MIMO detection device provided in an embodiment of this application;
[0018] Figure 5 A schematic diagram of another MIMO detection device provided in the embodiments of this application;
[0019] Figure 6 This is a schematic diagram of the structure of an LSD module provided in an embodiment of this application;
[0020] Figure 7 A comparative schematic diagram illustrating an inverse bit calculation process provided for an embodiment of this application;
[0021] Figure 8 A comparative schematic diagram illustrating the power consumption optimization of a MIMO detection device provided in an embodiment of this application;
[0022] Figure 9 A comparative schematic diagram showing the power consumption optimization of another MIMO detection device provided in the embodiments of this application;
[0023] Figure 10 A comparative schematic diagram showing the area optimization of a MIMO detection device provided in an embodiment of this application;
[0024] Figure 11 This is a schematic diagram of a receiving device provided in an embodiment of this application. Detailed Implementation
[0025] To facilitate understanding of this application, a more complete description will be provided below with reference to the accompanying drawings, which illustrate embodiments of the present application. However, the present application can be implemented in many different forms and is not limited to the embodiments described herein. Rather, these embodiments are provided so that the disclosure of this application will be thorough and complete.
[0026] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the application.
[0027] It is understood that the terms "first," "second," etc., used herein may be used to describe various elements, but these elements are not limited by these terms. These terms are only used to distinguish one element from another. For example, without departing from the scope of this application, a first resistor may be referred to as a second resistor, and similarly, a second resistor may be referred to as a first resistor. Both the first resistor and the second resistor are resistors, but they are not the same resistor.
[0028] It is understood that the term "connection" in the following embodiments should be understood as "electrical connection," "communication connection," etc., if the connected circuits, modules, units, etc., have electrical signal or data transmission with each other.
[0029] It is understandable that "at least one" refers to one or more, and "multiple" refers to two or more. "At least a part of an element" refers to part or all of an element.
[0030] When used herein, the singular forms of “a,” “an,” and “the” may also include the plural forms unless the context clearly indicates otherwise. It should also be understood that the terms “comprising / including” or “having,” etc., specify the presence of the stated features, wholes, steps, operations, components, parts, or combinations thereof, but do not preclude the possibility of the presence or addition of one or more other features, wholes, steps, operations, components, parts, or combinations thereof. Meanwhile, the term “and / or” as used in this specification includes any and all combinations of the associated listed items.
[0031] As mentioned in the background section, MIMO detection plays a crucial role in modern wireless communication technology. Traditional MIMO detection is typically achieved using the conventional QR Decomposition with M-algorithm (QRM) algorithm, which involves performing a tree search to traverse the constellation coordinates corresponding to the transmitted data. In this process, different modulation schemes result in different modulation constellation diagrams. With the evolution of protocol standards, sixth-generation wireless communication technology now supports demodulation up to 1024QAM (Quadrature Amplitude Modulation), meaning the corresponding modulation constellation for 1024QAM modulation. Figure 1 There are a total of 1024 constellation coordinates.
[0032] Therefore, due to the processing speed and number of search points required by traditional MIMO detection technologies, the hardware design corresponding to the traditional QRM algorithm has a very high degree of parallelism. Furthermore, to fully utilize the processing speed buffer, the hardware for the QRM algorithm internally performs parallel and serial processing simultaneously as much as possible. This results in a single computation path requiring the serial calculation of multiple search points. During the search process, a circular search is performed around the hard-determined constellation coordinates, requiring the preservation of as much effective search space as possible. Moreover, the hardware performs serial search to calculate the Euclidean distance values of each constellation point. Based on this, in this search mode, the traditional QRM algorithm, due to the need to search a large number of constellation points, has a very high computational complexity for Euclidean distance values. This undoubtedly leads to very high power consumption in the hardware corresponding to traditional MIMO detection technologies, resulting in a correspondingly large hardware footprint.
[0033] like Figure 1As shown, in the receiving device 10 using traditional MIMO detection technology, the QRM algorithm is set in the QRM device 100. The QRM device 100 includes a QRM init module 102, a QRM ED (Euclidean Distance) module 104, and a QRM LLR (Log-Likelihood Ratio) module 106. The QRM init module 102 is used to receive the received data from the noise whitening device and the original channel matrix. The QRM ED module 104 is used to calculate the Euclidean distance values of the coordinates of each constellation point. The QRM LLR module 106 is used to output the log-likelihood ratio of the transmitted data determined by the QRM ED module 104 to the decoding device. It can be seen that the QRM ED module 104 is the core computing module of the traditional QRM device 100. The QRM ED module 104 has a large power consumption due to the need to process a large amount of calculation, which makes it difficult to reduce the area of the QRM ED module 104.
[0034] like Figure 1 As shown, the receiving device 10 may further include a minimum mean square error equalizer, a maximum ratio combining device, a soft demapping device, an LLR scaling device, and a decoding device. Thus, when high-precision MIMO detection is required, the QRM device obtains the received data and the original channel matrix from the noise whitening device to achieve high-precision MIMO detection. When low-precision MIMO detection is possible, the minimum mean square error equalizer and the maximum ratio combining device obtain the received data and the original channel matrix from the noise whitening device, respectively. The minimum mean square error equalizer calculates equalization weights based on the original channel matrix to equalize the received data and thus counteract signal interference from multiple antennas. The maximum ratio combining device calculates the weighting coefficients of each antenna using the original channel matrix to perform maximum ratio combining on the received data, improving the signal-to-noise ratio of the received data. The soft demapping device receives the output data from the minimum mean square error equalizer and the maximum ratio combining device to output the log-likelihood ratio of each bit in the transmitted data corresponding to the received data. The LLR scaling device scales the log-likelihood ratio of the transmitted data to ensure that the decoding device can better decode the transmitted data.
[0035] It should be noted that, in Figure 1 Among them, the QRM device, noise whitening device, minimum mean square error equalization device, maximum ratio merging device, soft demapping device, and LLR scaling device are devices related to MIMO detection technology.
[0036] It can be seen that using the traditional QRM algorithm for MIMO detection technology will result in the corresponding hardware, i.e., the QRM device, having a large power consumption and area. Obviously, this is difficult to meet the ever-increasing requirements of wireless communication technology in terms of power consumption and area.
[0037] Based on this, embodiments of this application provide a MIMO detection device 20. For example... Figure 2 As shown, a MIMO detection device 20 of one embodiment includes: an LR module 202, an MMSE-SIC module 204, and an LSD module 206;
[0038] LR module 202 is used to receive the first channel matrix from the noise whitening device and decompose the first channel matrix using the LLL algorithm to obtain the second channel matrix;
[0039] MMSE-SIC module 204 is used to determine the constellation coordinates of the transmitted data based on the second channel matrix and the received data from the noise whitening device; the transmitted data corresponds to the received data.
[0040] LSD module 206 is used to calculate, based on constellation point coordinates, the first minimum Euclidean distance value when each bit in the transmitted data is a positive bit, and the second minimum Euclidean distance value when each bit in the transmitted data is an inverted bit, by tree search calculation.
[0041] LSD module 206 is also used to determine the log-likelihood ratio of the transmitted data based on the first minimum Euclidean distance value and the second minimum Euclidean distance value.
[0042] Optionally, the MIMO detection device 20 can be in the form of a chip, or it can be in the form of a chip and disposed in the receiving device. As is easily understood, the transmitting device transmits data to the receiving device, and the receiving device receives data from the transmitting device.
[0043] Transmitted data refers to the data generated by the transmitting equipment through modulation and transmitted to the MIMO detection device 20.
[0044] Received data refers to the data obtained by the MIMO detection device 20 after the transmitted data has been processed by the noise whitening device. It is easy to understand that the transmitted data and received data are essentially the same in content; therefore, the transmitted data and received data correspond.
[0045] The two ends of the MMSE-SIC module 204 are connected to the LR module 202 and the LSD module 206, respectively.
[0046] LR stands for Lattice Reduction.
[0047] MMSE-SIC stands for Minimum Mean Square Error-Successive Interference Cancellation.
[0048] LSD stands for Least Sphere Decoding.
[0049] LLL stands for Lenstra-Lenstra-Lovász. In this embodiment, the LLL algorithm is a lattice basis reduction algorithm for the first channel matrix. By orthogonally optimizing and decomposing the first channel matrix in the original lattice domain space, it outputs a set of reduced second channel matrices with strong orthogonality. Thus, the MIMO detection device 20 can perform more accurate MIMO detection based on the second channel matrix.
[0050] A noise whitening device is a device used to transform the initial noise signal in transmitted data, converting it into a noise signal that statistically exhibits white noise. The noise whitening device can decompose and transform the covariance matrix of the initial noise signal and apply this decomposition and transformation to the channel matrix of the transmitted data, thereby outputting a first channel matrix. This allows subsequent MIMO detection processing to be performed in a white noise environment, thus reducing the computational complexity of the LRLSD algorithm.
[0051] The first channel matrix refers to the channel matrix output after noise whitening processing by the noise whitening device, and it is also the input channel matrix of the LR module 202.
[0052] The second channel matrix refers to the channel matrix that has stronger orthogonality than the first channel matrix after being processed by the LLL algorithm.
[0053] The constellation point coordinates hard decision point refers to the constellation point coordinates that the MMSE-SIC module 204 determines from the search space of the modulation constellation diagram based on the second channel matrix and the received data, and that are closest to the estimated values of the transmitted data. It can be understood as the hard decision result of the transmitted data.
[0054] A modulation constellation diagram is a set of coordinate points formed by mapping the amplitude and phase of transmitted data, presented as a digital modulated signal, onto the complex plane. Each constellation point in the modulation constellation diagram corresponds to a fixed sequence of binary bits; this is the standard representation of a digital modulated signal.
[0055] Optionally, the modulation constellation diagram that determines the hard-determined constellation point coordinates in this embodiment can support different modulation schemes, including QPSK (Quadrature Phase Shift Keying), 16QAM, 64QAM, 256QAM, 1024QAM, and 4096QAM. When the modulation constellation diagram supports 1024QAM modulation, it includes 1024 constellation point coordinates; when it supports 4096QAM modulation, it includes 4096 constellation point coordinates.
[0056] Tree search computation refers to a signal detection algorithm that, based on hard-determined constellation coordinates, searches for candidate combinations of transmitted data using a tree-like traversal approach to obtain the closest approximate combination. Easily understood, tree search computation corresponds to a tree structure, where the root node represents the starting point of the computation. Each level of the tree corresponds to a candidate combination of transmitted data on a transmitting antenna in the transmitting device. A path extending from the root node to a leaf node represents a complete candidate combination of transmitted data. Tree search computation can be understood as a search computation from higher to lower levels. Based on this, the Euclidean distance value corresponding to tree search computation can be understood as the cumulative Euclidean distance between the root node and a certain leaf node.
[0057] Optionally, a positive bit can refer to a bit that is 1, and a negative bit can refer to a bit that is 0.
[0058] The first minimum Euclidean distance value refers to the minimum Euclidean distance value among all candidate combinations of transmitted data obtained during the tree search calculation based on constellation point coordinates, provided that each bit of the transmitted data is a positive bit. The first minimum Euclidean distance value reflects the degree of matching between the transmitted data and the received data when each bit is a positive bit.
[0059] It is easy to understand that the first minimum Euclidean distance value corresponds to the transmitted data. Therefore, the number of bits corresponding to the first minimum Euclidean distance value is the same as the number of bits corresponding to the transmitted data. For example, if the MIMO detection device 20 supports 1024QAM modulation, the number of bits for both transmitted and received data is 10. Therefore, the first minimum Euclidean distance value includes the minimum Euclidean distance value corresponding to the case where each of the 10 bits is a positive bit. That is to say, the first minimum Euclidean distance value is defined individually for each bit in the transmitted data. The second minimum Euclidean distance value, as discussed below, is similar and will not be elaborated upon further.
[0060] The second minimum Euclidean distance value refers to the minimum Euclidean distance value among all candidate combinations of transmitted data obtained during the tree search calculation based on constellation point coordinates, provided that each bit of the transmitted data is an inverted bit. The second minimum Euclidean distance value reflects the degree of matching between the transmitted data and the received data when each bit is an inverted bit.
[0061] Since the first minimum Euclidean distance value and the second minimum Euclidean distance value are defined separately for each bit in the transmitted data, they can be understood as an array containing 10 minimum Euclidean distance values. The difference is that one array corresponds to the case where each bit is a positive bit, and the other corresponds to the case where each bit is a negative bit.
[0062] The log-likelihood ratio (LLR) is a parameter used to quantify the reliability of each bit in transmitted data by measuring the logarithm of the ratio between the relative probability that each bit in transmitted data is a positive bit and the relative probability that each bit is a negative bit.
[0063] The log-likelihood ratio corresponds to bits. Therefore, the log-likelihood ratio of the transmitted data includes the log-likelihood ratio of the number of bits included in the transmitted and received data. For example, if the transmitted data includes 10 bits, then the log-likelihood ratio of the transmitted data includes the log-likelihood ratio of 10 bits.
[0064] In short, the log-likelihood ratio of a bit = the probability that the bit is positive in the transmitted data minus the probability that the bit is negative in the transmitted data. Therefore, the larger the log-likelihood ratio of a bit, the greater the relative probability that the bit is positive; conversely, the smaller the log-likelihood ratio of a bit, the greater the relative probability that the bit is negative.
[0065] When all bits are positive, it means assuming each bit is positive in turn. For example, assuming a positive bit is 1 and the number of bits in the transmitted data is 10, then assuming the first bit is positive, the transmitted data can be hypothetically represented as 1XXXXXXXXX, assuming the second bit is positive, the transmitted data can be hypothetically represented as X1XXXXXXXX, and so on, where X may be a positive bit or a negative bit.
[0066] When each bit is an inverted bit, it means that each bit is assumed to be an inverted bit in turn. For example, assuming the inverted bit is 0, and assuming the number of bits of data to be transmitted is 10, then if the first bit is assumed to be an inverted bit, the transmitted data can be hypothetically represented as 0XXXXXXXXX, if the second bit is assumed to be an inverted bit, the transmitted data can be hypothetically represented as X0XXXXXXXX, and so on.
[0067] Optionally, after the LSD module 206 determines the log-likelihood ratio of the transmitted data, the MIMO detection device 20 can send the log-likelihood ratio of the transmitted data to the decoding device through the LSD module 206, so that the decoding device can determine the data performance of the transmitted data based on the log-likelihood ratio of the transmitted data.
[0068] For example, the decoding device may be a baseband receive processor (BRP).
[0069] As can be seen, in the MIMO detection device 20 provided in this application embodiment, the LR module 202 and the MMSE-SIC module 204 are essentially performing preprocessing actions to pre-acquire constellation point coordinate information in the original domain. That is to say, by determining the constellation point coordinate hard judgment points through the LR module 202 and the MMSE-SIC module 204, relatively accurate hard judgment point information can be obtained in advance. Based on this, the LSD module 206 can perform lightweight constellation point coordinate calculation in the satellite search space. Obviously, under the preprocessing actions of the LR module 202 and the MMSE-SIC module 204, the complexity of the tree search calculation of the LSD module 206 can be significantly reduced, thereby reducing the power consumption of the MIMO detection device 20.
[0070] The aforementioned MIMO detection device includes an LR module, an MMSE-SIC module, and an LSD module. Based on this, the MIMO detection device provided in this application embodiment, through the idea of "divide and conquer," decouples the complex algorithm LRLSD (Lattice Reduction Least Sphere Decoding) into the LR module, MMSE-SIC module, and LSD module respectively through hierarchical segmentation and scheduling. This decomposes the design complexity of the LRLSD algorithm, reduces the high parallelism problem of the LRLSD algorithm, and thus, while ensuring the accuracy of MIMO detection, reduces the power consumption of the MIMO detection device, thereby reducing the size of the MIMO detection device.
[0071] In one exemplary embodiment, such as Figure 3As shown, the LSD module is specifically used to perform the following steps:
[0072] Step 302: Based on the hard-determined constellation point coordinates, multiple first candidate constellation points for transmitting data are determined through tree search calculation;
[0073] Step 304: Determine the third minimum Euclidean distance value when each bit in the transmitted data corresponding to multiple first candidate constellation points is a positive bit;
[0074] Step 306: Select the first candidate constellation point with the smallest third minimum Euclidean distance value from multiple first candidate constellation points to obtain the first target constellation point;
[0075] Step 308: Determine the fourth minimum Euclidean distance value when each bit in the transmitted data corresponding to multiple first candidate constellation points is an inverted bit;
[0076] Step 310: Select the first candidate constellation point with the smallest fourth minimum Euclidean distance value from multiple first candidate constellation points to obtain the second target constellation point;
[0077] Step 312: Based on the first target constellation point, generate multiple second candidate constellation points through inverse bit calculation;
[0078] Step 314: Based on the first target constellation point and multiple second candidate constellation points, determine the first minimum Euclidean distance value when each bit in the transmitted data is a positive bit;
[0079] Step 316: Based on the second target constellation point and multiple second candidate constellation points, determine the second minimum Euclidean distance value when each bit in the transmitted data is an inverted bit.
[0080] Steps 304-306 and steps 308-310 can be executed in parallel. Yiyu understands that the LSD module is also used to execute step 318, which determines the log-likelihood ratio of the transmitted data based on the first minimum Euclidean distance value and the second minimum Euclidean distance value.
[0081] The first candidate constellation point refers to the multiple candidate constellation points with a high degree of matching with the received data, which are selected by the LSD module after traversing the search space of the modulation constellation map through tree search calculation based on the hard judgment of constellation point coordinates.
[0082] Optionally, the number of first candidate constellation points is determined by the computing power of the computing resources used for tree search calculations; that is, the higher the computing power of the computing resources, the greater the number of first candidate constellation points.
[0083] Optionally, if the MIMO detection device supports 1024QAM modulation, the number of first candidate constellation points can be 49, 45, 55, or other numbers.
[0084] Since the first candidate constellation point is mapped from the transmitted data, meaning there is a mapping relationship between the first candidate constellation point and the transmitted data, the transmitted data corresponding to the first candidate constellation point refers to the transmitted data represented by the first candidate constellation point.
[0085] The third and fourth minimum Euclidean distance values correspond one-to-one with the first candidate constellation points. That is, each first candidate constellation point corresponds to one third minimum Euclidean distance value and one fourth minimum Euclidean distance value. Based on this, the number of third minimum Euclidean distance values and the number of fourth minimum Euclidean distance values are the same as the number of first candidate constellation points.
[0086] For example, if the number of first candidate constellation points is 49, then the number of third minimum Euclidean distance values and fourth minimum Euclidean distance values are both 49.
[0087] The third minimum Euclidean distance value is the minimum Euclidean distance value used to measure the degree of matching between the received data and the first candidate constellation point when all bits are positive bits.
[0088] The fourth minimum Euclidean distance value is the minimum Euclidean distance value used to measure the degree of matching between the received data and the first candidate constellation point when each bit is an inverted bit.
[0089] Inverse bit calculation refers to the process of inverting the values of each bit in the first target constellation point, using the first target constellation point as the starting point for tree search calculation, and then re-performing the tree search calculation based on the inverted results of each bit to generate multiple second candidate constellation points. For example, inversion means that if a bit is 1, the inversion result is a bit of 0, and vice versa.
[0090] Since the second candidate constellation point is obtained by inverting the bits of the first target constellation point, and each bit of the first target constellation point needs to be inverted sequentially, the number of the second candidate constellation points is the same as the number of bits of the first target constellation point (or the first candidate constellation point).
[0091] Optionally, the number of first candidate constellation points can be greater than the number of second candidate constellation points.
[0092] The constellation point coordinate hard-determination point, the first candidate constellation point, and the second candidate constellation point each correspond to the same number of bits as the transmitted data. That is, when the number of bits transmitted data is 10, the number of bits for the constellation point coordinate hard-determination point, the first candidate constellation point, and the second candidate constellation point are all 10. Similarly, the third minimum Euclidean distance value and the fourth minimum Euclidean distance value can each be understood as an array containing 10 minimum Euclidean distance values.
[0093] Since each first candidate constellation point corresponds to a third minimum Euclidean distance value and a fourth minimum Euclidean distance value, the first target constellation point can be understood as the first candidate constellation point corresponding to the smallest third minimum Euclidean distance value among multiple first candidate constellation points; similarly, the second target constellation point can be understood as the first candidate constellation point corresponding to the smallest fourth minimum Euclidean distance value among multiple first candidate constellation points.
[0094] Based on the third minimum Euclidean distance value corresponding to the first target constellation point, and the minimum Euclidean distance values among multiple second candidate constellation points where each bit is a positive bit, the smallest Euclidean distance value is selected to determine the first minimum Euclidean distance value for the case where each bit in the transmitted data is a positive bit. It is easy to understand that in this case, the first minimum Euclidean distance value corresponding to the transmitted data could be either the third minimum Euclidean distance value corresponding to the first target constellation point or the minimum Euclidean distance value for the case where each bit in a certain second candidate constellation is a positive bit.
[0095] Based on the second target constellation point and multiple second candidate constellation points, and the minimum Euclidean distance value among the multiple second candidate constellation points where each bit is an inverted bit, the smallest Euclidean distance value is selected to determine the second minimum Euclidean distance value for the case where each bit in the transmitted data is an inverted bit. It is easy to understand that in this case, the second minimum Euclidean distance value corresponding to the transmitted data may be the fourth minimum Euclidean distance value corresponding to the second target constellation point, or it may be the minimum Euclidean distance value for the case where each bit in the second candidate constellation is an inverted bit.
[0096] For example, when the number of second candidate constellation points is 10, since the number of first target constellation points and the number of second target constellation points are both 1, the first minimum Euclidean distance value when each bit in the transmitted data is a positive bit is the minimum Euclidean distance value selected from 11 Euclidean distance values; similarly, the second minimum Euclidean distance value when each bit in the transmitted data is an inverted bit is also the minimum Euclidean distance value selected from 11 Euclidean distance values.
[0097] In this embodiment, based on the hard-determined constellation coordinates, multiple first candidate constellation points for transmitting data are determined through tree search calculation. After selecting the first target constellation point and the second target constellation point from the multiple first candidate constellation points, since it cannot be guaranteed that the third minimum Euclidean distance value and the fourth minimum Euclidean distance value corresponding to the first target constellation point and the second target constellation point have sufficient accuracy, multiple second candidate constellation points are further generated based on the first target constellation point through inverse bit calculation. Thus, after determining the minimum Euclidean distance value when each bit in each second candidate constellation point is a positive bit and the minimum Euclidean distance value when each bit is an inverse bit, the first minimum Euclidean distance value and the second minimum Euclidean distance value corresponding to the transmitted data are determined by combining the first target constellation point and the second target constellation point. Based on this, the accuracy of the determined first minimum Euclidean distance value and the second minimum Euclidean distance value can be significantly improved, thereby ensuring the accuracy of MIMO detection.
[0098] In one exemplary embodiment, such as Figure 4 As shown, when the MIMO detection device 20 supports the SU-MIMO working mode, the transmitted data includes first SU transmitted data and second SU transmitted data, and the received data includes first SU received data and second SU received data. The LSD module 206 includes a first LSD unit 2062 and a second LSD unit 2064. The first SU received data corresponds to the first SU transmitted data, and the second SU received data corresponds to the second SU transmitted data.
[0099] MMSE-SIC module 204 is specifically used to determine the coordinates of the first constellation point of the first SU transmitted data based on the second channel matrix and the first SU received data from the noise whitening device.
[0100] The MMSE-SIC module 204 is also specifically used to determine the coordinates of the second constellation point of the second SU transmitted data based on the second channel matrix and the second SU received data from the noise whitening device.
[0101] The first LSD unit 2062 is used to calculate, based on the hard-determined points of the first constellation point coordinates, the fifth minimum Euclidean distance value when each bit in the first SU transmitted data is a positive bit, and the sixth minimum Euclidean distance value when each bit in the first SU transmitted data is an inverted bit, by tree search calculation.
[0102] The second LSD unit 2064 is used to calculate, based on the hard-determined points of the second constellation point coordinates, the seventh minimum Euclidean distance value when each bit in the second SU transmitted data is a positive bit, and the eighth minimum Euclidean distance value when each bit in the second SU transmitted data is an inverted bit, by tree search calculation.
[0103] The first LSD unit 2062 is also used to determine the log-likelihood ratio of the first SU transmitted data based on the fifth minimum Euclidean distance value and the sixth minimum Euclidean distance value of the first SU transmitted data;
[0104] The second LSD unit 2064 is also used to determine the log-likelihood ratio of the second SU transmitted data based on the seventh minimum Euclidean distance value and the eighth minimum Euclidean distance value of the second SU transmitted data.
[0105] SU-MIMO stands for Single User Multiple-Input Multiple-Output. In SU-MIMO mode, all parallel data transmitted by a transmitting device through multiple antennas at the same time point serves only a single receiving device.
[0106] The first SU transmitted data and the second SU transmitted data refer to the data transmitted by the transmitting device to the MIMO detection device 20 through different transmitting antennas.
[0107] The first SU received data and the second SU received data refer to the data received by the MIMO detection device 20 from the transmitting device through different receiving antennas.
[0108] Since the first SU transmits data and the second SU transmits data to the MIMO detection device 20 through different antennas, the data content of the first SU transmits data and the second SU transmits data are different. Based on this, the hard-determined coordinates of the first constellation point and the hard-determined coordinates of the second constellation point are also different.
[0109] The fifth and sixth minimum Euclidean distance values correspond one-to-one with the hard-determined coordinates of the first constellation point. That is to say, each hard-determined coordinate of the first constellation point corresponds to a fifth minimum Euclidean distance value and a sixth minimum Euclidean distance value.
[0110] The fifth minimum Euclidean distance value reflects the degree of matching between the received data and the first constellation point coordinate hard-determination point when each bit is a positive bit.
[0111] The sixth minimum Euclidean distance value reflects the degree of matching between the received data and the first constellation point coordinate hard-determination point when each bit is an inverted bit.
[0112] The seventh and eighth minimum Euclidean distance values correspond one-to-one with the hard-determined coordinates of the second constellation point. That is to say, each hard-determined coordinate of the second constellation point corresponds to one seventh minimum Euclidean distance value and one eighth minimum Euclidean distance value.
[0113] The seventh minimum Euclidean distance value reflects the degree of matching between the received data and the data when each bit in the hard-determined point of the second constellation coordinates is a positive bit.
[0114] The eighth minimum Euclidean distance value reflects the degree of matching between the received data and the first constellation point coordinate hard-determination point when each bit is an inverted bit.
[0115] In this embodiment, when the MIMO detection device supports SU-MIMO operating mode, the LSD module includes a first LSD unit and a second LSD unit 2064. The first LSD unit and the second LSD unit are completely decoupled, that is, the first LSD unit and the second LSD unit do not need to make joint decisions and are completely independent. Therefore, unlike the traditional SU-MIMO operating mode where SU transmission data corresponding to different antennas need to be used by each other, the first LSD unit in this embodiment does not need to use data from the second LSD unit during operation, and the second LSD unit does not need to use data from the first LSD unit during operation. That is to say, the complete decoupling of the first SU transmission data and the second SU transmission data is achieved, thereby significantly reducing the power consumption of the MIMO detection device.
[0116] In an exemplary embodiment, the first LSD unit 2062 is specifically configured to: determine multiple third candidate constellation points for the first SU transmitted data by tree search calculation based on the hard-determined coordinates of the first constellation point; determine the ninth minimum Euclidean distance value corresponding to the multiple third candidate constellation points when each bit in the first SU transmitted data is a positive bit; select the third candidate constellation point with the smallest ninth minimum Euclidean distance value from the multiple third candidate constellation points to obtain the third target constellation point; determine the tenth minimum Euclidean distance value corresponding to the multiple third candidate constellation points when each bit in the first SU transmitted data is an inverted bit; select the third candidate constellation point with the smallest tenth minimum Euclidean distance value from the multiple third candidate constellation points to obtain the fourth target constellation point; generate multiple fourth candidate constellation points by inverted bit calculation based on the third target constellation point; determine the fifth minimum Euclidean distance value when each bit in the first SU transmitted data is a positive bit based on the third target constellation point and the multiple fourth candidate constellation points; and determine the sixth minimum Euclidean distance value when each bit in the first SU transmitted data is an inverted bit based on the fourth target constellation point and the multiple fourth candidate constellation points.
[0117] In an exemplary embodiment, the second LSD unit 2064 is specifically configured to: determine multiple fifth candidate constellation points for the second SU transmitted data through tree search calculation based on the hard-determined coordinates of the second constellation points; determine the eleventh minimum Euclidean distance value corresponding to the multiple fifth candidate constellation points when each bit in the second SU transmitted data is a positive bit; select the fifth candidate constellation point with the smallest eleventh minimum Euclidean distance value from the multiple fifth candidate constellation points to obtain the fifth target constellation point; determine the twelfth minimum Euclidean distance value corresponding to the multiple fifth candidate constellation points when each bit in the second SU transmitted data is an inverted bit; select the fifth candidate constellation point with the smallest twelfth minimum Euclidean distance value from the multiple fifth candidate constellation points to obtain the sixth target constellation point; generate multiple sixth candidate constellation points based on the fifth target constellation point through inverted bit calculation; determine the seventh minimum Euclidean distance value when each bit in the second SU transmitted data is a positive bit based on the fifth target constellation point and the multiple sixth candidate constellation points; and determine the eighth minimum Euclidean distance value when each bit in the second SU transmitted data is an inverted bit based on the sixth target constellation point and the multiple sixth candidate constellation points.
[0118] In addition to supporting SU-MIMO, MIMO detection devices can also support MU-MIMO. MU-MIMO stands for Multiple User Multiple-Input Multiple-Output. MU-MIMO mode refers to a mode in which a transmitting device can transmit data with multiple receiving devices at the same time.
[0119] At any given time point, the MIMO detection device can only support either SU-MIMO or MU-MIMO operating modes. Therefore, when transmitting data in MU-MIMO mode, the log-likelihood ratio of the transmitted data can be determined using only the first LSD unit or the second LSD unit. In this case, the log-likelihood ratio of MU-MIMO can be understood as being determined by the first minimum Euclidean distance value when all bits in the MU-MIMO transmitted data are positive bits, and the second minimum Euclidean distance value when all bits in the MU-MIMO transmitted data are negative bits.
[0120] As can be seen, the MIMO detection device provided in this application, by setting completely independent first LSD units and second LSD units, can simultaneously support SU-MIMO and MU-MIMO operating modes. Furthermore, it achieves complete decoupling of the SU-MIMO and MU-MIMO operating modes, ensuring that data between the two modes does not interfere with each other and does not need to be shared. Therefore, when transmitting data in SU-MIMO mode, both the first and second LSD units are invoked simultaneously; when transmitting data in MU-MIMO mode, only one of the first and second LSD units needs to be invoked. This significantly reduces the power consumption of the MIMO detection device, thereby reducing its area.
[0121] For example, such as Figure 5As shown, the LSD module may include an LSD Region1 unit, an LSD MP unit, an LSD Region2 unit, an LSD Region3 unit, a Min search1 unit, a Min search2 unit, a Compare unit, and an LLR calc unit. The LSD Region1 unit is used to determine multiple first candidate constellation points for transmitted data based on hard-determined constellation point coordinates through tree search calculation. It then determines the third minimum Euclidean distance value for each positive bit in the transmitted data corresponding to each of the multiple first candidate constellation points. From these multiple first candidate constellation points, it selects the first candidate constellation point with the smallest third minimum Euclidean distance value to obtain the first target constellation point. It also determines the fourth minimum Euclidean distance value for each inverted bit in the transmitted data corresponding to each of the multiple first candidate constellation points, and selects the first candidate constellation point with the smallest fourth minimum Euclidean distance value from these multiple first candidate constellation points to obtain the second target constellation point. The LSD Region1 unit sends the first target constellation point to both the LSD MP unit and the Min search1 unit, and sends the second target constellation point to the Min search2 unit through either the LSD Region2 unit or the LSD Region3 unit. The LSD MP unit generates multiple second candidate constellation points based on the first target constellation point by calculating the inverse bits, and sends these multiple second candidate constellation points to the Min search1 unit and the Min search2 unit respectively. The Min search1 unit works with the Compare unit to determine the first minimum Euclidean distance value when all bits in the transmitted data are positive bits, based on the first target constellation point and the multiple second candidate constellation points. The Min search2 unit works with the Compare unit to determine the second minimum Euclidean distance value when all bits in the transmitted data are inverted bits, based on the second target constellation point and the multiple second candidate constellation points. The LLR calc unit determines the log-likelihood ratio of the transmitted data based on the first minimum Euclidean distance value and the second minimum Euclidean distance value.
[0122] For example, such as Figure 6As shown, when the MIMO detection device supports SU-MIMO operating mode, the LSD module can be understood as including two user layers, namely User Layer 1 and User Layer 2. User Layer 1 corresponds to the data transmitted by the first SU, and User Layer 2 corresponds to the data transmitted by the second SU. The "LSDRegion1 ED Candidate Set 1" unit corresponding to User Layer 1 inputs multiple third candidate constellation points into User Layer 1. The "Pos bit ed*10bit 1bit:1ed" unit in User Layer 1 is used to determine the ninth minimum Euclidean distance value when each bit in the first SU transmitted data is a positive bit for the multiple third candidate constellation points. The "Pos bit ML point 10bit:s_re,s_im" unit in User Layer 1 is used to select the third candidate constellation point with the smallest ninth minimum Euclidean distance value from the multiple third candidate constellation points to obtain the third target constellation point. The "Neg bit ed*10bit" unit in User Layer 1... The "1bit:1ed" unit is used to determine the tenth minimum Euclidean distance value in the first SU transmitted data when each bit is an inverted bit, corresponding to multiple third candidate constellation points. The "MP calculation" unit in user layer 1 is used to generate multiple fourth candidate constellation points based on the third target constellation point by calculating the inverted bits. The "Ed candidate set 2 10bit 1bit:1ed" unit in user layer 1 is used to store multiple fourth candidate constellation points and distribute them to the "1v10ed Find posbit min" unit and the "1v10 ed Find negbit min" unit in user layer 1. The "1v10ed Find posbit min" unit in user layer 1 is used to determine the fifth minimum Euclidean distance value in the first SU transmitted data when each bit is a positive bit, based on the third target constellation point and multiple fourth candidate constellation points. The "1v10ed Find negbit" unit in user layer 1 is used to determine the fifth minimum Euclidean distance value in the first SU transmitted data when each bit is a positive bit, based on the third target constellation point and multiple fourth candidate constellation points. The "min" unit is used to determine the sixth minimum Euclidean distance value when each bit in the first SU transmitted data is an inverted bit, based on the fourth target constellation point and multiple fourth candidate constellation points. The "llr calc" unit in the user layer Layer1 is used to determine the log-likelihood ratio of the transmitted data based on the fifth minimum Euclidean distance value and the sixth minimum Euclidean distance value.
[0123] For example, such as Figure 6As shown, the "LSD Region1 ED Candidate Set 1" unit corresponding to User Layer 2 inputs multiple fifth candidate constellation points into User Layer 2. The "Pos bit ed*10bit 1bit:1ed" unit in User Layer 2 is used to determine the ninth minimum Euclidean distance value when each bit in the second SU transmitted data is a positive bit for the multiple fifth candidate constellation points. The "Pos bit ML point 10bit:s_re,s_im" unit in User Layer 2 is used to select the fifth candidate constellation point with the smallest ninth minimum Euclidean distance value from the multiple fifth candidate constellation points to obtain the fifth target constellation point. The "Neg bit ed*10bit 1bit:1ed" unit in User Layer 2 is used to determine the tenth minimum Euclidean distance value when each bit in the second SU transmitted data is an inverted bit for the multiple fifth candidate constellation points. The "MP calculation" unit in User Layer 2 is used to generate multiple sixth candidate constellation points based on the fifth target constellation point by calculating the inverted bits. The "Ed candidate set 3 10bit" unit in User Layer 2 is used to calculate the sixth candidate constellation point based on the fifth target constellation point. The "1bit:1ed" unit is used to store multiple sixth candidate constellation points, and distributes these points to the "1v10 ed Find posbit min" and "1v10 ed Find negbit min" units in the user layer 2. The "1v10 ed Find posbit min" unit in the user layer 2 is used to determine the seventh minimum Euclidean distance value when all bits in the second SU transmitted data are positive bits, based on the fifth target constellation point and the multiple sixth candidate constellation points. The "1v10 ed Find negbit min" unit in the user layer 2 is used to determine the eighth minimum Euclidean distance value when all bits in the second SU transmitted data are negative bits, based on the sixth target constellation point and the multiple sixth candidate constellation points. The "llr calc" unit in the user layer 2 is used to determine the log-likelihood ratio of the transmitted data based on the seventh minimum Euclidean distance value and the eighth minimum Euclidean distance value.
[0124] It can be seen that when the MIMO detection device can support the SU-MIMO working mode, the user layer 1 and user layer 2 of the LSD module are completely independent of each other and do not interfere with each other. The data used are completely different and not interchangeable. Based on this, the power consumption of the LSD module can be significantly reduced, thereby reducing the area of the MIMO detection device.
[0125] In an exemplary embodiment, the above-mentioned generation of multiple second candidate constellation points for transmitting data based on the first target constellation point through inverse bit calculation includes:
[0126] Instantiate M processing resources, where M is the ratio of the number of bits of data to be sent to 2;
[0127] Based on the first target constellation point, the first processing resources are used to perform inverse bit calculation on the first bit at the first time node, the first processing resources are used to perform inverse bit calculation on the second bit at the second time node, the first processing resources are used to continue to perform inverse bit calculation on the first bit at the third time node, and the first processing resources are used to continue to perform inverse bit calculation on the second bit at the fourth time node, so as to obtain multiple second constellation points for transmitting data.
[0128] Among them, the first processing resource is one of the M processing resources, the first bit and the second bit are consecutive bits in the first target constellation point; the first time node, the second time node, the third time node and the fourth time node are consecutive time nodes.
[0129] Where M is an integer, rounded up, representing the ratio of the number of bits of data to 2. For example, if the number of bits of data to be sent is 10, then M is 5.
[0130] A processing resource is the smallest computational unit capable of independently performing bit-inverse calculations on bits. In this embodiment, one processing resource can perform bit-inverse calculations on two bits.
[0131] Instantiating M processing resources can be understood as creating M parallel processing resources with the same processing performance.
[0132] Optionally, the first time node, the second time node, the third time node, and the fourth time node have the same length and can each correspond to two time periods.
[0133] In a straightforward manner, based on the same bit-inverse calculation process, the second processing resource can perform bit-inverse calculations on the third and fourth bits of the first target constellation point in the four time nodes following the fourth time node. Similarly, the second processing resource performs bit-inverse calculations on only half of the processing unit of the third or fourth bit in each time node. That is, the second processing resource needs two time nodes to process one bit.
[0134] In this embodiment, M processing resources are instantiated, and the number of processing resources is half the number of bits of the transmitted data. At the same time, one processing resource performs inverse bit calculation on half of the processing unit of one bit at a time node, and one processing resource performs inverse bit calculation on different bits in two consecutive adjacent time nodes. Thus, one processing resource can perform inverse bit calculation on two bits. Obviously, compared with the traditional inverse bit calculation process, where multiple processing resources process in parallel, resulting in one processing resource only being able to perform inverse bit calculation on one bit, this embodiment of the application can reduce the number of processing resources that need to be instantiated by halving by implementing serial multiplexing of M processing resources, thereby reducing the area of the MIMO detection device.
[0135] In an exemplary embodiment, the above-mentioned generation of multiple second candidate constellation points for transmitting data based on the first target constellation point through inverse bit calculation includes:
[0136] Instantiate N processing resources, where N is the ratio of the number of bits of data to be sent to 4;
[0137] Based on the first target constellation point, at the fifth time node, the first processing resources are used to perform the inverse bit calculation on the first bit. At the sixth time node, the first processing resources are used to continue performing the inverse bit calculation on the first bit and begin performing the inverse bit calculation on the second bit. At the seventh time node, the first processing resources are used to continue performing the inverse bit calculation on the first bit and the second bit and begin performing the inverse bit calculation on the third bit. At the eighth time node, the first processing resources are used to continue performing the inverse bit calculation on the first bit, the second bit, and the third bit and begin performing the inverse bit calculation on the fourth bit. At the ninth time node, the first processing resources are used to continue performing the inverse bit calculation on the first bit, the second bit, the third bit, and the fourth bit. At the tenth time node, the first processing resources are used to continue performing the inverse bit calculation on the second bit, the third bit, and the fourth bit. At the eleventh time node, the first processing resources are used to continue performing the inverse bit calculation on the third bit and the fourth bit. At the twelfth time node, the first processing resources are used to continue performing the inverse bit calculation on the fourth bit, thus obtaining multiple second constellation points for transmitting data.
[0138] Among them, the first processing resource is one of the N processing resources, the first bit, the second bit, the third bit and the fourth bit are consecutive bits in the first target constellation point, and the fifth time node, the sixth time node, the seventh time node, the eighth time node, the ninth time node, the tenth time node and the eleventh time node are consecutive time nodes.
[0139] N is an integer, rounded up, representing the ratio of the number of bits of data to 4. For example, if the number of bits of data to be sent is 10, then N is 3.
[0140] In this embodiment, one processing resource can perform bit-inverse calculations on four bits.
[0141] Instantiating N processing resources can be understood as creating N parallel processing resources with the same processing performance.
[0142] Optionally, the fifth, sixth, ..., eleventh, and twelfth time nodes have the same length and can each correspond to a time period.
[0143] In a straightforward manner, based on the same bit-inverse calculation process, the second processing resource can perform bit-inverse calculations on the fifth, sixth, seventh, and eighth bits of the first target constellation point in the eight time nodes following the twelfth time node, respectively. Similarly, the second processing resource performs bit-inverse calculations on only one-fifth of the processing units for different bits in each time node, meaning that the second processing resource needs five time nodes to process one bit.
[0144] In this embodiment, by instantiating N processing resources, and with each processing resource performing inverse bit calculation on only one-fifth of a processing unit of one bit at a time node, and each processing resource being able to perform inverse bit calculation on a processing unit of up to four bits at a time node, one processing resource can perform inverse bit calculation on four bits. Obviously, compared to the traditional inverse bit calculation process where multiple processing resources process in parallel, resulting in one processing resource only being able to perform inverse bit calculation on one bit, this embodiment of the application, by implementing serial multiplexing of N processing resources, can significantly reduce the number of processing resources that need to be instantiated, and thus, can significantly reduce the area of the MIMO detection device.
[0145] For example, a time node corresponding to a time period is called a CLK, such as Figure 7 As shown, Figure 7 (a) is the traditional bit inversion calculation process. The traditional bit inversion calculation requires one processing resource to perform bit inversion calculation on bit0 in 4 CLKs, and another 4 CLKs to perform bit inversion calculation on bit1. It can be seen that in this case, if the number of bits is 10, 10 processing resources are needed for bit inversion calculation. Figure 7(b) is an embodiment of this application in which M processing resources are instantiated, and M is the ratio of the number of bits of data to 2. In this case, after the first processing resource performs the inverse bit calculation on half of the processing unit of bit 0, it starts to perform the inverse bit calculation on half of the processing unit of bit 1, and then continues to perform the inverse bit calculation on the other half of the processing unit of bit 0, and then continues to perform the inverse bit calculation on the other half of the processing unit of bit 1. It can be seen that in this case, one processing resource can process 2 bits in 4 CLK. Based on this, if the number of bits is 10, only 5 processing resources are needed to perform the inverse bit calculation. Figure 7 (c) is the case in this application embodiment where N processing resources are instantiated, and N is the ratio of the number of bits of data to 4. In this case, for the first processing resource, a new bit inverse calculation will start after each CLK, that is, a processing resource can process 4 bits in 4 CLKs. Based on this, if the number of bits is 10, only 3 (10 / 4≈3) processing resources are needed to perform the bit inverse calculation. It can be seen that the number of processing resources in this case is further optimized.
[0146] It should be noted that, due to Figure 7 In (c), the number of bits that a processing resource can perform inverse bit calculations within 4 CLKs is greater than... Figure 7 In (b), the number of bits that a processing resource can perform inverse bit calculations within 4 CLKs is considered. The computational load within one CLK is relatively large; therefore, in Figure 7 In the case corresponding to (c), the inverse bit calculation of one bit takes 5 CLK to complete.
[0147] In one exemplary embodiment, the MMSE-SIC module is also used to store the second channel matrix;
[0148] The MMSE-SIC module is also used to determine the constellation coordinates of new transmitted data based on the second channel matrix and the new received data; the new received data corresponds to the new transmitted data.
[0149] The second channel matrix can be stored in the storage module of the MIMO detection device or in the storage device of the receiving device equipped with the MIMO detection device.
[0150] In this embodiment, the MMSE-SIC module is also used to store the second channel matrix. Thus, when the MIMO detection device receives new received data, it only needs to retrieve the second channel matrix determined by the first channel matrix received at the same time as the first received data to continuously determine the constellation coordinates of the new received data. Based on this, although the second channel matrix occupies a large space, only one second channel matrix needs to be stored throughout the process. Therefore, the power consumption of the MIMO detection device can be significantly reduced.
[0151] Because the MIMO detection device provided in this application decouples different processing contents of the LLLSD algorithm into different modules, for example, the processing content of decomposing the first channel matrix using the LLL algorithm is set in the LR module, in the process of the MIMO detection device processing the received data, since only one second channel matrix needs to be stored throughout the entire process, that is, the action of decomposing the first channel matrix using the LLL algorithm only needs to be processed on the first symbol used to process the received data during one communication connection between the transmitting device and the MIMO detection device. Subsequent symbols used to continue processing the received data do not need to be calculated and decomposed by the LLL algorithm again. Based on this, in the process of processing the subsequent symbols of the received data other than the first symbol, the LR module can be shut down through the clock gating design mechanism, that is, the LR module is avoided from repeatedly decomposing the first channel matrix using the LLL algorithm, which would cause excessive power consumption. Thus, the power consumption of the MIMO detection device can be further saved.
[0152] In other words, when the MMSE-SIC module is also used to store the second channel matrix, during a single communication connection between the transmitting device and the MIMO detection device, the LR module only needs to perform the step of "receiving the first channel matrix from the noise whitening device and decomposing the first channel matrix using the LLL algorithm to obtain the second channel matrix" once, without repeatedly obtaining the second channel matrix.
[0153] In one exemplary embodiment, the MIMO detection device further includes an LLR module;
[0154] The LLR module is used to send the log-likelihood ratio of the transmitted data to the decoding device so that the decoding device can decode the received data.
[0155] The decoding result obtained by the decoding device after decoding the received data can be used to judge the data performance of the received data.
[0156] In one exemplary embodiment, the number of bits for sending data, receiving data, and hard-determining constellation point coordinates is 10.
[0157] In one exemplary embodiment, the number of second candidate constellation points is 10.
[0158] In the MIMO detection device provided in this application embodiment, the number of bits for transmitting data, receiving data, constellation point coordinate hard determination points, and the number of second candidate constellation points are consistent.
[0159] When the number of bits for transmitting data, receiving data, constellation point coordinate hard determination points, and the number of second candidate constellation points are all 10, the modulation scheme corresponding to the MIMO detection device is 1024QAM.
[0160] It is easy to understand that since 4096 = 1024 × 2 × 2, when the modulation scheme corresponding to the MIMO detection device is 4096QAM, the number of bits for transmitting data, receiving data, hard-determined constellation coordinates, and the number of second candidate constellation points are all 12.
[0161] The number of bits for transmitting data, receiving data, hard-determined constellation coordinates, and the number of second candidate constellation points correspond to the modulation scheme supported by the modulation constellation diagram. Therefore, the number of bits for transmitting data, receiving data, hard-determined constellation coordinates, and the number of second candidate constellation points are different depending on the modulation scheme. That is, the number of bits and the number of second candidate constellation points can also be other values, such as 8 bits in the case of 256QAM modulation scheme and 12 bits in the case of 4096QAM modulation scheme. This application does not limit this.
[0162] While supporting the same 1024QAM modulation scheme, this paper compares the power consumption of a receiving device using MIMO detection technology employing the traditional QRM algorithm with that of a receiving device using MIMO detection technology employing the LRLSD algorithm provided in the embodiments of this application. Specifically, as follows... Figure 8 As shown, the vertical axis represents the module name, and the horizontal axis represents the power consumption (mW). Figure 8 (a) is a schematic diagram showing the power consumption of a receiving device using the traditional QRM algorithm, illustrating the power consumption of modules such as softemap0, mrc, mmse, qrm_llr_calc1, qrm_llr_calc0, qrm_init, min_search, qrm_ed_calc1, qrm_ed_calc0, and nw. Figure 8(b) is a schematic diagram of the power consumption of the receiving device corresponding to the embodiment of this application, showing the power consumption of modules such as u_lrlsd_mem_ctrl, mrc, mmse, u_lower_norm, u_upper_norm, u_qr2x3_111_region, u_1sd, u_mmsic, u_1r, and nw. Figure 8 As can be seen from (a), in the receiving device using the traditional QRM algorithm, the power consumption of each module is relatively high, with several modules even having a power consumption exceeding 70mW. Figure 8 As can be seen from (b), the power consumption of each module in the receiving device corresponding to the embodiments of this application is relatively small. Even the power consumption of the module with higher power consumption is only greater than 50mW. Furthermore, the power consumption of the MRC module, MMSE module, and NW module has been significantly reduced. Therefore, the MIMO detection device provided in the embodiments of this application can reduce the size of the MIMO detection device by reducing its power consumption while ensuring the accuracy of MIMO detection.
[0163] like Figure 9 As shown, the vertical axis represents power consumption (mW). The power consumption of the receiving device corresponding to the conventional solution is 471855.946 mW, the power consumption of the receiving device corresponding to the embodiment of this application is 352214.058 mW, the power consumption of the QRM device corresponding to the conventional solution is 444553.48 mW, and the power consumption of the MIMO detection device corresponding to the embodiment of this application is 325181 mW. Figure 10 As shown, the vertical axis represents the area after removing units. The area of the receiving device corresponding to the traditional scheme is 208.7, the area of the receiving device corresponding to the embodiment of this application is 118.12, the area of the QRM device corresponding to the traditional scheme is 198.457, and the area of the MIMO detection device corresponding to the embodiment of this application is 112.794. Combined with... Figure 8 , Figure 9 and Figure 10 It can be seen that, under the same specifications and scenarios, the MIMO detection device provided in this application embodiment has a power consumption optimization ratio of about 10% to 15% and an area optimization ratio of about 35% to 40% compared with the traditional QRM device. Obviously, the MIMO detection device provided in this application embodiment has the characteristics of higher performance, lower power consumption and smaller area compared with the traditional QRM device.
[0164] It is understood that the MIMO detection device described above can also take other forms, and is not limited to the forms mentioned in the above embodiments, as long as it can achieve the function of accurate MIMO detection with a small area.
[0165] In one exemplary embodiment, such as Figure 11 As shown, a receiving device 110 is also provided, including a noise whitening device and a MIMO detection device 20 as described in any of the MIMO detection device embodiments above;
[0166] The noise whitening device is used to send the first channel matrix to the MIMO detection device 20 and receive data.
[0167] Among them, receiving device 110 is a wireless receiving device.
[0168] like Figure 11 As shown, the receiving device 110, in addition to the noise whitening device and the MIMO detection device, may also include a minimum mean square error equalization device, a maximum ratio combining device, a soft demapping device, an LLR scaling device, and a decoding device. It can be seen that, compared to traditional receiving devices that use the QRM algorithm for MIMO detection, this embodiment replaces the QRM device in the traditional scheme with a MIMO detection device using the LRLSD algorithm. Based on this, the area of the entire receiving device 110 can be reduced by decreasing the area of the MIMO detection device.
[0169] The aforementioned MIMO detection device can be applied to wireless receiving devices with multiple receiving antennas, such as smartphones and other mobile terminals, and base station receivers.
[0170] In the description of this specification, references to terms such as "some embodiments," "other embodiments," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of this application. In this specification, the illustrative descriptions of the above terms do not necessarily refer to the same embodiments or examples.
[0171] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0172] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these modifications and improvements all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. A MIMO detection device, characterized in that, include: LR module, MMSE-SIC module and LSD module; The LR module is used to receive a first channel matrix from the noise whitening device and decompose the first channel matrix using the LLL algorithm to obtain a second channel matrix. The MMSE-SIC module is used to determine the constellation coordinates of the transmitted data based on the second channel matrix and the received data from the noise whitening device; the transmitted data corresponds to the received data. The LSD module is used to calculate, based on the constellation point coordinates, the first minimum Euclidean distance value when each bit in the transmitted data is a positive bit, and the second minimum Euclidean distance value when each bit in the transmitted data is an inverted bit, by tree search calculation. The LSD module is further configured to determine the log-likelihood ratio of the transmitted data based on the first minimum Euclidean distance value and the second minimum Euclidean distance value.
2. The apparatus according to claim 1, characterized in that, The LSD module is specifically used for: Based on the hard-determined constellation point coordinates, multiple first candidate constellation points for the transmitted data are determined through tree search calculation. Determine the third minimum Euclidean distance value when each bit in the transmitted data corresponding to multiple first candidate constellation points is a positive bit; From multiple first candidate constellation points, select the first candidate constellation point with the smallest third minimum Euclidean distance value to obtain the first target constellation point; Determine the fourth minimum Euclidean distance value when each bit in the transmitted data corresponding to multiple first candidate constellation points is an inverted bit; From multiple first candidate constellation points, select the first candidate constellation point with the smallest fourth minimum Euclidean distance value to obtain the second target constellation point; Based on the first target constellation point, multiple second candidate constellation points are generated through inverse bit calculation; Based on the first target constellation point and multiple second candidate constellation points, determine the first minimum Euclidean distance value when each bit in the transmitted data is a positive bit; Based on the second target constellation point and multiple second candidate constellation points, the second minimum Euclidean distance value is determined for each bit in the transmitted data as an inverted bit.
3. The apparatus according to claim 2, characterized in that, When the MIMO detection device supports SU-MIMO working mode, the transmitted data includes first SU transmitted data and second SU transmitted data, the received data includes first SU received data and second SU received data, the LSD module includes first LSD unit and second LSD unit, the first SU received data corresponds to the first SU transmitted data, and the second SU received data corresponds to the second SU transmitted data; The MMSE-SIC module is specifically used to determine the hard-determined coordinates of the first constellation point of the first SU transmitted data based on the second channel matrix and the first SU received data from the noise whitening device. The MMSE-SIC module is also specifically used to determine the hard-determined coordinates of the second constellation point of the second SU transmitted data based on the second channel matrix and the second SU received data from the noise whitening device. The first LSD unit is used to calculate, based on the hard-determined points of the first constellation point coordinates, the fifth minimum Euclidean distance value when each bit in the first SU transmitted data is a positive bit, and the sixth minimum Euclidean distance value when each bit in the first SU transmitted data is an inverted bit, by tree search calculation. The second LSD unit is used to calculate, based on the hard-determined points of the coordinates of the second constellation points, the seventh minimum Euclidean distance value when each bit in the second SU transmitted data is a positive bit, and the eighth minimum Euclidean distance value when each bit in the second SU transmitted data is an inverted bit, by tree search calculation. The first LSD unit is further configured to determine the log-likelihood ratio of the first SU transmitted data based on the fifth minimum Euclidean distance value and the sixth minimum Euclidean distance value; The second LSD unit is further configured to determine the log-likelihood ratio of the second SU transmitted data based on the seventh minimum Euclidean distance value and the eighth minimum Euclidean distance value.
4. The apparatus according to claim 2, characterized in that, The step of generating multiple second candidate constellation points for the transmitted data based on the first target constellation point through inverse bit calculation includes: Instantiate M processing resources, where M is the ratio of the number of bits of the transmitted data to 2; Based on the first target constellation point, the first processing resources are used to perform inverse bit calculation on the first bit at the first time node, the first processing resources are used to perform inverse bit calculation on the second bit at the second time node, the first processing resources are used to continue to perform inverse bit calculation on the first bit at the third time node, and the first processing resources are used to continue to perform inverse bit calculation on the second bit at the fourth time node, thereby obtaining multiple second constellation points of the transmitted data. Wherein, the first processing resource is one of the M processing resources, the first bit and the second bit are consecutive bits in the first target constellation point; the first time node, the second time node, the third time node and the fourth time node are consecutive time nodes.
5. The apparatus according to claim 2, characterized in that, The step of generating multiple second candidate constellation points for the transmitted data based on the first target constellation point through inverse bit calculation includes: Instantiate N processing resources, where N is the ratio of the number of bits of the transmitted data to 4; Based on the first target constellation point, at the fifth time node, the first processing resources are used to perform inverse bit calculation on the first bit; at the sixth time node, the first processing resources are used to continue performing inverse bit calculation on the first bit and begin performing inverse bit calculation on the second bit; at the seventh time node, the first processing resources are used to continue performing inverse bit calculation on the first bit and the second bit and begin performing inverse bit calculation on the third bit; at the eighth time node, the first processing resources are used to continue performing inverse bit calculation on the first bit, the second bit, and the third bit and begin performing inverse bit calculation on the fourth bit; at the ninth time node, the first processing resources are used to continue performing inverse bit calculation on the first bit, the second bit, the third bit, and the fourth bit; at the tenth time node, the first processing resources are used to continue performing inverse bit calculation on the second bit, the third bit, and the fourth bit; at the eleventh time node, the first processing resources are used to continue performing inverse bit calculation on the third bit and the fourth bit; at the twelfth time node, the first processing resources are used to continue performing inverse bit calculation on the fourth bit, thereby obtaining multiple second constellation points for the transmitted data; Wherein, the first processing resource is one of the N processing resources, the first bit, the second bit, the third bit and the fourth bit are consecutive bits in the first target constellation point, and the fifth time node, the sixth time node, the seventh time node, the eighth time node, the ninth time node, the tenth time node and the eleventh time node are consecutive time nodes.
6. The apparatus according to claim 1, characterized in that, The MMSE-SIC module is also used to store the second channel matrix; The MMSE-SIC module is further configured to determine the constellation coordinates of the new transmitted data based on the second channel matrix and the new received data; the new received data corresponds to the new transmitted data.
7. The apparatus according to claim 1, characterized in that, The MIMO detection device also includes an LLR module; The LLR module is used to send the log-likelihood ratio of the transmitted data to the decoding device, so that the decoding device can perform decoding processing on the received data.
8. The apparatus according to claim 1, characterized in that, The number of bits for the transmitted data, the received data, and the constellation point coordinate hard determination point is 10.
9. The apparatus according to claim 2, characterized in that, The number of the second candidate constellation points is 10.
10. A receiving device, characterized in that, Includes a noise whitening device and a MIMO detection device as described in any one of claims 1-9; The noise whitening device is used to send a first channel matrix to the MIMO detection device and receive data.