Detection method, device, equipment, and medium for multi-input multi-output system
By generating a code tree in a multi-input multi-output system and performing a breadth-first search to determine the surviving path, the problem of high hardware complexity in existing detection methods when improving performance is solved, and the effect of improving detection performance is achieved without increasing hardware resources.
Patent Information
- Application Number
- CN202310504688.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-05-06
- Publication Date
- 2025-09-09
- Estimated Expiration
- 2043-05-06
AI Technical Summary
While existing detection methods for multiple-input multiple-output systems improve detection performance, the hardware implementation complexity is too high, making it difficult to improve detection performance without increasing hardware resources.
This method reduces sorting complexity by generating a code tree and performing a breadth-first search on it to identify surviving paths. The specific steps include generating a code tree based on the channel estimation matrix and the received signal, calculating the path metric, and retaining a search breadth threshold of surviving paths until the bottom layer is exhausted.
It effectively reduces the sorting complexity of the detection algorithm and improves the detection performance. In particular, the performance improvement is more significant in the detection algorithm that needs to output soft information.
Smart Images

Figure CN116708093B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technology, and in particular to a detection method, apparatus, device, and medium for a multi-input multi-output system. Background Art
[0002] Detection schemes for Multiple-Input Multiple-Output (MIMO) systems can be divided into two categories: linear and nonlinear. The advantage of linear detection algorithms is their low complexity, but their disadvantage is that their performance is inferior to that of nonlinear detection. Nonlinear detection outperforms linear detection, but at the expense of higher complexity. Among nonlinear detection schemes, maximum likelihood estimation (MLE) offers superior performance, but due to its exhaustive search, its complexity increases exponentially with the number of antennas and constellation points, making its practical implementation difficult. A class of "tree search detection algorithms," based on MLE, transforms the search for a maximum likelihood solution into traversing a code tree.
[0003] In related technologies, when traversing a code tree and expanding to the next level, M paths must be selected from M*|Φ| expanded paths as surviving paths. In hardware implementation, the sorting network required is a "M*|Φ| select M" approach, which is very resource-intensive. Due to implementation complexity considerations, the value of M is generally limited. However, a small value of M can lead to reduced detection performance, especially for detection algorithms that require output of soft information, where the performance degradation is more severe.
[0004] Therefore, how to provide a detection method for a multi-input multi-output system that can improve detection performance and reduce detection complexity has become a technical problem that needs to be solved urgently. Summary of the Invention
[0005] The main purpose of the embodiments of the present application is to provide a detection method, device, equipment, and medium for a multi-input multi-output system, which can improve detection performance and reduce detection complexity.
[0006] To achieve the above objectives, a first aspect of an embodiment of the present application provides a detection method for a multi-input multi-output system, comprising:
[0007] Obtaining a processed signal according to the channel estimation matrix and the received signal;
[0008] generating a code tree based on the processed signal, the code tree comprising multiple layers of nodes, wherein the nodes of each layer correspond to elements of a symbol vector estimated from the processed signal, and except for a bottom layer, the nodes of each layer comprise a preset number of branches, and except for a root node, the nodes of each layer are connected to a parent node through the branches;
[0009] Searching the code tree to obtain a surviving path includes:
[0010] Determine the number of parent nodes in the current layer;
[0011] Determine the total number of branches in the current layer according to the number of parent nodes and the preset number;
[0012] If the number of parent nodes is less than the search breadth threshold, and if the total number of branches is less than or equal to the search breadth threshold, retain all branches and regard all branches as surviving paths;
[0013] If the number of parent nodes is less than the search breadth threshold, and if the total number of branches is greater than the search breadth threshold, calculate the path metrics of all branches, retain the search breadth threshold number of branches according to the sorting results of the path metrics, and obtain the search breadth threshold number of surviving paths;
[0014] If the number of parent nodes is equal to the search breadth threshold, for each parent node, retain a branch with the minimum distance increment value as a survivor path, and obtain the search breadth threshold survivor paths;
[0015] Recursively calculate the path metrics of the surviving paths, and use the number of surviving paths as the number of parent nodes of the next layer until the bottom layer is searched;
[0016] Merging the symbol vector elements on the surviving path to obtain an estimated symbol vector, and demapping the estimated symbol vector to obtain a decision bit sequence;
[0017] For each decision bit in the search breadth threshold number of decision bit sequences, a log likelihood ratio is calculated according to a minimum path metric value corresponding to the decision bit to obtain soft information.
[0018] In some embodiments, the recursively calculating the path metric of the surviving path includes:
[0019] Calculating a distance increment value of each survivor path according to the symbol vector elements and constellation points on the survivor path;
[0020] The path metric value is obtained according to the path metric value of the previous layer and the distance increment value of the surviving path.
[0021] In some embodiments, the minimum distance increment value is determined by:
[0022] Obtaining distance data in a complex form according to the symbol vector element of the node and the symbol vector element of the parent node;
[0023] Decomposing the distance data to obtain real distance data and imaginary distance data;
[0024] Obtaining the distance increment value according to the sum of the modulus of the real distance data and the modulus of the imaginary distance data;
[0025] The minimum distance increment value is determined according to the sorting result of the plurality of distance increment values.
[0026] In some embodiments, obtaining a processed signal based on the channel estimation matrix and the received signal includes:
[0027] Calculating the signal-to-noise ratio of each column element of the channel estimation matrix;
[0028] Determining the rearrangement order of each of the column elements according to the signal-to-noise ratio from small to large;
[0029] Rearranging the column elements sequentially according to the rearrangement order to obtain a rearranged channel matrix;
[0030] A processed signal is obtained according to the rearranged channel matrix and the received signal.
[0031] In some embodiments, the column elements include sub-elements, and calculating the signal-to-noise ratio of the column elements of the channel matrix includes:
[0032] Obtaining stream data in plural form according to the sub-elements;
[0033] Decomposing the stream data to obtain real stream data and imaginary stream data;
[0034] Obtaining a sub-signal-to-noise ratio corresponding to the sub-element according to the sum of the modulus of the real part stream data and the modulus of the imaginary part stream data;
[0035] The signal-to-noise ratio is obtained by summing the sub-signal-to-noise ratios corresponding to the sub-elements.
[0036] In some embodiments, obtaining a processed signal according to the rearranged channel matrix and the received signal includes:
[0037] performing orthogonal triangular decomposition on the rearranged channel matrix to obtain a unitary matrix;
[0038] A conjugate device matrix of the unitary matrix is determined, and the conjugate device matrix and the received signal are multiplied to obtain the processed signal.
[0039] In some embodiments, calculating the log-likelihood ratio for each decision bit in the search breadth threshold number of decision bit sequences according to the minimum path metric value corresponding to the decision bit to obtain soft information includes:
[0040] Obtain a first decision vector and a second decision vector; wherein the first decision vector includes a first vector element, the values of which are all zero, and the second decision vector includes a second vector element, the values of which are all zero;
[0041] For each decision bit in the search breadth threshold number of the decision bit sequences, if the value of the decision bit is a first value, assigning the minimum path metric value corresponding to the decision bit to the first vector element at the decision position; if the value of the decision bit is a second value, assigning the minimum path metric value corresponding to the decision bit to the second vector element at the decision position;
[0042] If the first decision vector still has a first vector element with a value of zero, the value of the first vector element is updated to a preset value; if the second decision vector still has a second vector element with a value of zero, the value of the second vector element is updated to the preset value;
[0043] The soft information is obtained according to a difference between the second decision vector and the first decision vector.
[0044] To achieve the above-mentioned objectives, a second aspect of an embodiment of the present application provides a detection device for a multi-input multi-output system, comprising:
[0045] a signal processing unit, configured to obtain a processed signal according to the channel estimation matrix and the received signal;
[0046] a code tree generating unit, configured to generate a code tree based on the processed signal, the code tree comprising multiple layers of nodes, wherein the nodes of each layer correspond to symbol vector elements estimated from the processed signal, and except for the bottom layer, the nodes of each layer comprise a preset number of branches, and except for a root node, the nodes of each layer are connected to a parent node via the branches;
[0047] A code tree search unit, configured to search the code tree, comprising:
[0048] Determine the number of parent nodes in the current layer;
[0049] Determine the total number of branches in the current layer according to the number of parent nodes and the preset number;
[0050] If the number of parent nodes is less than the search breadth threshold, and if the total number of branches is less than or equal to the search breadth threshold, retain all branches and regard all branches as surviving paths;
[0051] If the number of parent nodes is less than the search breadth threshold, and if the total number of branches is greater than the search breadth threshold, calculate the path metrics of all branches, retain the search breadth threshold number of branches according to the sorting results of the path metrics, and obtain the search breadth threshold number of surviving paths;
[0052] If the number of parent nodes is equal to the search breadth threshold, for each parent node, retain a branch with the minimum distance increment value as a survivor path, and obtain the search breadth threshold survivor paths;
[0053] Recursively calculate the path metrics of the surviving paths, and use the number of surviving paths as the number of parent nodes of the next layer until the bottom layer is searched;
[0054] a demapping unit, configured to combine the symbol vector elements on the surviving path to obtain an estimated symbol vector, and demap the estimated symbol vector to obtain a decision bit sequence;
[0055] The detection unit is configured to calculate a log-likelihood ratio for each decision bit in the search breadth threshold number of decision bit sequences according to a minimum path metric value corresponding to the decision bit, so as to obtain soft information.
[0056] To achieve the above-mentioned purpose, the third aspect of an embodiment of the present application proposes an electronic device, which includes a memory and a processor, and the memory stores a computer program, and when the processor executes the computer program, the method described in the first aspect is implemented.
[0057] To achieve the above-mentioned purpose, a fourth aspect of an embodiment of the present application proposes a storage medium, wherein the storage medium stores a computer program, and when the computer program is executed by a processor, the method described in the first aspect is implemented.
[0058] The present application proposes a method, apparatus, device, and medium for detecting a multiple-input multiple-output (MIMO) system. If the number of parent nodes is less than a search breadth threshold and the total number of branches is less than or equal to the search breadth threshold, all branches are retained and considered as survivor paths. If the number of parent nodes is less than the search breadth threshold and the total number of branches is greater than the search breadth threshold, the path metrics of all branches are calculated, and the search breadth threshold number of branches are retained based on the sorted path metrics, resulting in search breadth threshold number of survivor paths. If the number of parent nodes is equal to the search breadth threshold, for each parent node, a branch with the minimum distance increment is retained as a survivor path, resulting in search breadth threshold number of survivor paths. In this way, when traversing the code tree in a breadth-first manner, when the number of parent nodes is equal to the search breadth threshold, one survivor path is retained for each parent node, thereby reducing the sorting complexity in the QRM detection algorithm. BRIEF DESCRIPTION OF THE DRAWINGS
[0059] Figure 1 is a system architecture diagram of a detection method for a multi-input multi-output system according to an embodiment of the present application;
[0060] Figure 2 is a structural diagram of a multi-input multi-output system according to an embodiment of the present application;
[0061] Figure 3 This is a flow chart of a detection method for a multi-input multi-output system provided by an embodiment of the present application;
[0062] Figure 4 yes Figure 3 Flowchart of step 310 in FIG.
[0063] Figure 5 yes Figure 4 Flowchart of step 410 in FIG.
[0064] Figure 6 is a flowchart of an implementation of iterative search in an embodiment of the present application;
[0065] Figure 7 yes Figure 3 Flowchart of step 330 of calculating the minimum distance increment value;
[0066] Figure 8 This is a schematic diagram of the 16QAM constellation diagram;
[0067] Figure 9 This is a schematic diagram of the implementation process of searching the code tree;
[0068] Figure 10 This is a simulation performance comparison chart;
[0069] Figure 11 Here is another simulation performance comparison chart;
[0070] Figure 12 Here is another simulation performance comparison chart;
[0071] Figure 13 This is a block diagram of the module structure of a detection device for a multi-input multi-output system provided by an embodiment of the present application;
[0072] Figure 14 This is a schematic diagram of the hardware structure of an electronic device provided in one embodiment of the present application. DETAILED DESCRIPTION
[0073] In order to make the purpose, technical solutions and advantages of this application more clearly understood, the present application is further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain this application and are not intended to limit this application.
[0074] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by those skilled in the art to which this application pertains. The terms used herein are for the purpose of describing the embodiments of this application only and are not intended to limit this application.
[0075] Before further explaining the embodiments of the present application in detail, the nouns and terms involved in the embodiments of the present application are explained. The nouns and terms involved in the embodiments of the present application are subject to the following interpretations:
[0076] A Multiple-Input Multiple-Output (MIMO) system uses multiple transmit and receive antennas at the transmitter and receiver, respectively, allowing signals to be transmitted and received via these multiple antennas, thereby improving communication quality. It fully utilizes spatial resources, achieving multiple transmissions and multiple receptions through multiple antennas. This significantly increases system channel capacity without increasing spectrum resources or antenna transmit power, demonstrating significant advantages and being considered a core technology for next-generation mobile communications.
[0077] MIMO technology can be broadly categorized into two types: diversity MIMO and spatial multiplexing MIMO. Diversity MIMO utilizes multiple antennas to receive or transmit signals carrying the same information, thereby improving transmission reliability. In spatial multiplexing MIMO, multiple antennas simultaneously transmit multiple independent data streams, achieving higher transmission rates. The present embodiments primarily discuss spatial multiplexing MIMO technology.
[0078] Maximum likelihood estimation (MLE): An important and common method for finding estimates of quantities. Maximum likelihood methods explicitly use probabilistic models, with the goal of finding a phylogenetic tree that generates the observed data with high probability. MLE is a representative of a class of phylogenetic tree reconstruction methods based entirely on statistics.
[0079] Related technologies: A type of "tree search detection algorithm" based on maximum likelihood estimation converts the process of searching for the maximum likelihood solution into the process of traversing the code tree. However, when traversing the code tree, when expanding to the next layer, it is necessary to select M expanded paths from the M expanded paths to retain as surviving paths. When implementing in hardware, the sorting network that needs to be implemented is the "select M" method, which is very resource-intensive for hardware implementation. Due to implementation complexity considerations, the value of M should generally not be too large. However, a smaller value of M will lead to a decrease in detection performance, especially for detection algorithms that need to output soft information, where the performance degradation is more serious. Therefore, a technology that can ensure detection performance while reducing detection complexity is needed.
[0080] The detection method for a multiple-input multiple-output system provided in an embodiment of the present application uses spatial multiplexing MIMO technology to significantly increase the data rate without increasing the bandwidth and antenna transmission power, compared to the traditional SISO (Single-Input Single-Output) system. This technology is widely used in protocols such as WiFi (IEEE802.11 n / ac), LTE (Long-Term Evolution), and 5GNR (New Radio). In spatial multiplexing MIMO technology, the difficulty in implementation lies in the design of the detector in the receiver. The performance of linear detectors cannot meet the performance requirements of high-speed data transmission, and the implementation complexity of nonlinear detectors is too high.
[0081] One of the application scenarios targeted by this application is high-speed data transmission, which is usually achieved by using high-order modulation and multi-stream transmission. The purpose is to improve the detection performance of soft output without increasing the complexity of hardware implementation.
[0082] Figure 1 1 is a system architecture diagram for a multi-input multi-output system detection method according to an embodiment of the present disclosure, which includes a terminal 110, the Internet 120, a gateway 130, a server 140, and the like.
[0083] Terminal 110 is a device that receives a channel estimation matrix and a received signal, identifies a transmitted signal from the channel estimation matrix and the received signal, and performs corresponding processing. It includes various forms such as desktop computers, laptops, mobile phones, and dedicated terminals. As the embodiments of the present application are applied to scenarios such as the MIMO system for high-speed data transmission described above, it can be specifically embodied in the form of a receiver with an antenna, etc. Furthermore, it can be a single device or a collection of multiple devices. Terminal 110 can communicate with the Internet 120 in a wired or wireless manner to exchange data.
[0084] The server 140 refers to a computer system that can provide certain services to the terminal 110. Compared with ordinary terminals 110, the server 140 has higher requirements in terms of stability, security, performance, etc. The server 140 can be a high-performance computer in a network platform, a cluster of multiple high-performance computers, a portion of a high-performance computer (such as a virtual machine), a combination of portions of multiple high-performance computers (such as virtual machines), etc. In certain application scenarios (such as the MIMO system for high-speed data transmission mentioned above), the server 110 can provide relevant support to the terminal 110 after receiving the channel estimation matrix and the received signal (for example, after the server identifies the transmitted signal based on the channel estimation matrix and the received signal, the server returns the transmitted signal to the terminal 110, etc.).
[0085] Gateway 130, also known as a gateway or protocol converter, implements network interconnection at the transport layer and is a computer system or device that acts as a converter. It acts as a translator between two systems using different communication protocols, data formats, languages, or even completely different architectures. Gateways can also provide filtering and security functions. Messages sent from terminal 110 to server 140 are sent through gateway 130 to the corresponding server 140. Messages sent from server 140 to terminal 110 are also sent through gateway 130 to the corresponding terminal 110.
[0086] See also Figure 2 In the MIMO system shown in the figure, in the transmitter: data is converted into N after channel coding, QAM modulation, and layer mapping. t data streams. In each symbol period, the transmitted symbol vector is (equivalent to Figure 2 s), x i is the symbol in the QAM modulation constellation Φ. In the receiver: In each symbol period, N r The symbol vector received on the receiving antennas The detection of y is completed by Detector, and the soft information output by the detection is soft-decoded by SoftDecoder to obtain the estimated information bits.
[0087] The MIMO channel has a dimension of N r ×N t The frequency domain channel matrix H is represented by the element h in the matrix ij represents the complex channel gain from transmitting antenna j to receiving antenna i. The AWGN channel is represented by M R It is represented by the dimensional noise vector w. Figure 2 The equivalent complex baseband model of the MIMO system shown can be expressed as:
[0088] y=Hx+w formula (1)
[0089] The purpose of signal detection in a MIMO system receiver is to estimate the transmitted symbol vector y from the received symbol vector y. According to the maximum likelihood estimation criterion:
[0090]
[0091] It can be understood that by solving formula (2), the estimated transmitted symbol vector is obtained
[0092] exist Figure 2Based on the MIMO system shown, the detection method of the multiple-input multiple-output system of the present application is introduced in detail.
[0093] like Figure 3 As shown, a detection method for a multi-input multi-output system according to an embodiment of the present application may include:
[0094] Step 310: Obtain a processed signal according to the channel estimation matrix and the received signal;
[0095] Step 320: Generate a code tree based on the processed signal, where the code tree includes multiple layers of nodes, wherein the nodes of each layer correspond to symbol vector elements estimated from the processed signal, and except for the bottom layer, the nodes of each layer include a preset number of branches, and except for the root node, the nodes of each layer are connected to the parent node through the branches;
[0096] Step 330: Search the code tree to obtain a surviving path;
[0097] Step 340: Merge the symbol vector elements on the surviving path to obtain an estimated symbol vector, and demap the estimated symbol vector to obtain a decision bit sequence;
[0098] Step 350: For each decision bit in the search width threshold decision bit sequence, calculate the log likelihood ratio according to the minimum path metric value corresponding to the decision bit to obtain soft information.
[0099] Through steps 310 - 350 , the advantage of this embodiment is that when traversing the code tree in breadth-first order, when the number of parent nodes is equal to the search breadth threshold, each parent node retains a surviving path, thereby reducing the sorting complexity in the QRM detection algorithm.
[0100] More specifically, in the traditional QRM detection algorithm, when selecting the surviving path, it is necessary to select the first M paths with the smallest path metrics from all the extended paths (M*|O|) and retain them. In hardware implementation, generally, consider M*|O|=2 K The situation. Using the sorting network to achieve, for a scale of N = 2 K The sorting network uses N number of comparators for sorting compare for:
[0101]
[0102] In this embodiment, when selecting a surviving path, the branch with the smallest distance increment is selected from the |O| branches extended from each parent node and retained. In hardware implementation, the sorting scale is M "|O| select 1". For data of scale C = |O|, a tree comparator network is used to find the minimum value. The total number of comparators used is N. compare Ncompare =M×(C-1)=O(N). It can be seen that the sorting complexity in this embodiment is much smaller than that of the traditional QRM scheme. In addition, compared with the scheme that reduces the sorting complexity by lowering the search breadth threshold, this embodiment can reduce the bit error rate while reducing the sorting complexity.
[0103] Steps 310 - 350 are described in detail below.
[0104] In step 310, a processed signal is obtained according to the channel estimation matrix and the received signal.
[0105] Channel estimation refers to the process of estimating the model parameters of a hypothetical channel model from the received signal. If the channel is linear, then channel estimation is to estimate the system impulse response. The channel estimation matrix is the matrix obtained after estimating the model parameters of the channel model. For example, Figure 2 The channel parameters of the MIMO channel (MIMOChannel) shown are estimated to obtain the channel estimation matrix H.
[0106] The received signal is the signal sent by the transmitter, transmitted through the channel, and collected by the antenna. For example, Figure 2 The transmitter shown transmits the signal through the antenna After passing through the MIMO Channel, the received signal collected by the receiver through the antenna is
[0107] It can be understood that for a receiver, it is necessary to identify the transmitted signal from the received signal, and the received signal is obtained by superimposing the channel estimation matrix on the transmitted signal. Therefore, the influence of the channel in the received signal needs to be removed to obtain the processed signal in order to recover the transmitted signal.
[0108] In one embodiment, the effect of channel transmission in the received signal y is directly removed according to the channel estimation matrix H to obtain the processed signal y%. However, in actual implementation, it is found that the arrangement order of the column elements in the channel estimation matrix H affects the detection accuracy.
[0109] Therefore, refer to Figure 4 In another embodiment, step 310 includes:
[0110] Step 410: Calculate the signal-to-noise ratio of each column element of the channel estimation matrix;
[0111] Step 420: Determine the rearrangement order of each column element according to the signal-to-noise ratio from small to large, and rearrange the column elements in sequence according to the rearrangement order to obtain a rearranged channel matrix;
[0112] Step 430: Obtain a processed signal according to the rearranged channel matrix and the received signal.
[0113] In the specific implementation of this embodiment, the detection of 4-stream data is taken as an example to illustrate that the channel estimation matrix H can be expressed as: Where H is a 4x4 complex matrix, and H includes four column elements. The first column element is {H 11,i +j*H 11,q , H 21,i +j*H 21,q , H 31,i +j*H 31,q , H 41,i +j*H 41,q}. The second column element is {H 12,i +j*H 12,q , H 22,i +j*H 22,q , H 32,i +j*H 32,q , H 42,i +j*H 42,q}. The third column element is {H 13,i +j*H 13,q , H 23,i +j*H 23,q , H 33,i +j*H 33,q , H 43,i +j*H 43,q}. The fourth column element is {H 14,i +j*H 14,q , H 24,i +j*H 24,q , H 34,i +j*H 34,q , H 44,i +j*H 44,q}.
[0114] Assume that the signal-to-noise ratio of the first column element is calculated to be Hnorm1, the signal-to-noise ratio of the second column element is Hnorm2, the signal-to-noise ratio of the third column element is Hnorm3, and the signal-to-noise ratio of the fourth column element is Hnorm4. Hnorm1 is 4, Hnorm2 is 1, Hnorm3 is 8, and Hnorm4 is 2. Then, based on the signal-to-noise ratio from small to large, the rearrangement order of the second column element is determined to be 1, the rearrangement order of the fourth column element is 2, the rearrangement order of the first column element is 3, and the rearrangement order of the third column element is 4. The resulting rearranged channel matrix H1 can be expressed as:
[0115]
[0116] Then the processed signal is obtained according to the rearranged channel matrix H1 and the received signal y
[0117] The advantage of steps 410-430 is that the channel estimation matrix is rearranged in ascending order based on the signal-to-noise ratio, and then H1 obtained by rearranging H according to the signal-to-noise ratio is detected. In this way, column elements with higher signal-to-noise ratios can be detected first, error propagation can be avoided, and detection performance can be improved.
[0118] Next, the specific implementation of step 410 is described in detail.
[0119] In one embodiment, the signal-to-noise ratio of a column element is determined based on the sum of squares of the sub-elements in the column element. For example, the first column element is {H 11,i +j*H 11,q , H 21,i +j*H 21,q , H 31,i +j*H 31,q , H 41,i +j*H 41,q}, the sub-elements of this column element include four, namely H 11,i +j*H 11,q 、H 21,i +j*H 21,q 、H 31,i +j*H 31,q , and H 41,i +j*H 41,q .but Similar to the calculation formula of Hnorm1, the calculation formulas of Hnorm2, Hnorm3, and Hnorm4 are easy to understand and will not be repeated here.
[0120] Through the above calculation method, the signal-to-noise ratio of the column elements is represented by the sum of the squares of the sub-elements in the column elements, which reduces the calculation complexity while ensuring the accuracy.
[0121] In addition to the above calculation method, the embodiment of the present application also provides a calculation method that can further reduce the calculation complexity.
[0122] Reference Figure 5 In one embodiment, the column element includes sub-elements, and step 410 includes:
[0123] Step 510: Obtain stream data in plural form according to the sub-element;
[0124] Step 520: Decompose the stream data to obtain real part stream data and imaginary part stream data;
[0125] Step 530: Summing the modulus of the real part stream data and the modulus of the imaginary part stream data to obtain a sub-signal-to-noise ratio corresponding to the sub-element;
[0126] Step 540: Sum the sub-SNRs corresponding to the sub-elements to obtain the SNR.
[0127] Specifically, the first column element is {H 11,i +j*H 11,q , H 21,i +j*H 21,q , H 31,i +j*H 31,q , H 41,i +j*H 41,q}, for example, the first child element is H 11,i +j*H 11,q , so the complex form of the flow data can be expressed as H 11,i +j*H 11,q Then decompose the flow data to get the real part flow data as H 11,i , the imaginary part of the stream data is j*H 11,q . Then the sub-signal-to-noise ratio corresponding to the first sub-element is |H 11,i |+|H 11,q |. Then, the signal-to-noise ratio of the first column element is expressed as:
[0128] HnormLinear1=|H 11,i |+|H 11,q |+|H 21,i |+|H 21,q |+|H 31,i |+|H 31,q |+|H 41,i |+|H 41,q |.
[0129] Similar to the calculation formula for the signal-to-noise ratio of the first column element, the calculation formulas for the signal-to-noise ratio of the second column element, the signal-to-noise ratio of the third column element, and the signal-to-noise ratio of the fourth column element are easy to understand and will not be repeated here.
[0130] The advantage of this embodiment is that by calculating the signal-to-noise ratio by taking the modulo of the real and imaginary data streams and then summing them, this approximate processing does not affect detection performance and reduces computational complexity. In particular, compared to the calculation scheme of the above embodiment, this embodiment can eliminate the computational complexity and difficulty of first taking the square root and then the square root.
[0131] Next, the specific implementation of step 430 is described in detail.
[0132] In one embodiment, step 430 includes:
[0133] Perform orthogonal triangular decomposition on the rearranged channel matrix to obtain a unitary matrix;
[0134] A conjugate device matrix of the unitary matrix is determined, and the conjugate device matrix and the received signal are multiplied to obtain a processed signal.
[0135] Specifically, orthogonal triangular decomposition, also known as QR decomposition. The QR decomposition method is the most effective and widely used method for finding all eigenvalues of a general matrix. The general matrix first undergoes an orthogonal similarity transformation to become a Hessenberg matrix, and then the QR method is applied to find the eigenvalues and eigenvectors. It decomposes the matrix into a normal orthogonal matrix Q and an upper triangular matrix R, so it is called the QR decomposition method, which is related to the common symbol Q of this normal orthogonal matrix. If a real (complex) non-singular matrix A can be transformed into the product of an orthogonal (unitary) matrix Q and a real (complex) non-singular upper triangular matrix R, that is, A = QR, then it is called the QR decomposition of A.
[0136] In the specific implementation of this embodiment, the rearranged channel matrix H1 is subjected to QR decomposition to obtain a unitary matrix Q and an upper triangular matrix R, Q H Is the conjugate transposed matrix of the unitary matrix Q. Multiply the received signal y by Q on the left H get It can be expressed by the following formula:
[0137] H=QR Formula (3)
[0138]
[0139] The advantage of this embodiment is that the rearranged channel matrix is decomposed by orthogonal triangular decomposition, and the received signal is multiplied according to the unitary matrix obtained by the decomposition, which can ensure that the influence of the channel in the received signal is removed and reduce the computational complexity.
[0140] The above is a detailed description of step 310 , and step 320 will be described next.
[0141] In step 320, a code tree is generated based on the processed signal. The code tree includes multiple layers of nodes, wherein the nodes of each layer correspond to the symbol vector elements estimated from the processed signal. Except for the bottom layer, the nodes of each layer include a preset number of branches. Except for the root node, the nodes of each layer are connected to the parent node through branches.
[0142] Specifically, the code tree of this embodiment is typically a multi-branch tree. A code tree has all the characteristics of a tree structure, which often includes multiple nodes, including at least one leaf node and a root node, and typically also includes multiple intermediate nodes between the leaf nodes and the root node.
[0143] In one embodiment, the tree has a depth of 5 layers, with the root node located at layer 5 and the leaf nodes at layer 1. Except for the bottom layer (i.e., layer 1 where the leaf nodes are located), each node in the other layers includes a preset number of branches, where the preset number is specifically the size of the constellation point set |O|=16.
[0144] It should be noted that for MIMO systems, in order to improve the processing efficiency of detecting transmitted signals from received signals, all possible combinations of data symbols included in the transmitted signals can be mapped to a tree search model based on the received signals. Then, by solving the tree search model, the optimal path from the root node to the leaf node can be obtained, that is, the data symbols of the transmitted signal can be restored based on the estimated value on the optimal path.
[0145] In the present application, symbol vector elements are estimated based on the processed signal. The symbol vector elements on a branch node represent an estimated value of the transmitted signal, and all symbol vector elements on the path from the root node to the leaf nodes represent a possible combination of the transmitted signals. Since the code tree includes multiple paths from the root node to the leaf nodes, meaning there are multiple possible combinations, it is necessary to find the path with the optimal path metric to obtain soft information.
[0146] The above is a detailed description of step 320 , and step 330 will be described next.
[0147] In step 330, the code tree is searched to obtain a surviving path, including:
[0148] Determine the number of parent nodes in the current layer;
[0149] Determine the total number of branches in the current layer based on the number of parent nodes and the preset number;
[0150] If the number of parent nodes is less than the search breadth threshold, and if the total number of branches is less than or equal to the search breadth threshold, retain all branches and regard all branches as surviving paths;
[0151] If the number of parent nodes is less than the search breadth threshold, and if the total number of branches is greater than the search breadth threshold, calculate the path metrics of all branches, retain the search breadth threshold branches according to the sorting results of the path metrics, and obtain the search breadth threshold surviving paths;
[0152] If the number of parent nodes is equal to the search breadth threshold, for each parent node, retain a branch with the minimum distance increment value as the surviving path, and obtain the search breadth threshold surviving paths;
[0153] Recursively calculate the path metric of the surviving paths and use the number of surviving paths as the number of parent nodes in the next layer until the bottom layer is searched.
[0154] It should be noted that the recursive calculation of the path metric of the surviving path in step 330 includes:
[0155] The distance increment value of each surviving path is calculated based on the symbol vector elements and constellation points on the surviving path;
[0156] The path metric is obtained based on the path metric of the previous layer and the distance increment of the surviving path.
[0157] Specifically, refer to Figure 6 The specific process of the iterative search in step 330 is as follows:
[0158] 1) Initialize the variables related to code tree search: define the symbol vector elements (also called partial symbol vectors) as The corresponding partial path metric is PM (i) , path metric initial value Set to zero; distance increment The initial value of is set to infinity, and the initial value of the parent node number parentsNodeNum is set to 1.
[0159] 2) Recursively calculate the path metric, for i = N ss ,…,3,2,1 layer:
[0160] Calculate the total number of branches branchNum in this layer:
[0161] branchNum=parentsNodeNum*|O|,
[0162] Where |O| is the size of the constellation grid map set, and M is the search breadth threshold of the QRM detection algorithm.
[0163] Expand each surviving path on the constellation grid and calculate the distance increment DI (i) :
[0164]
[0165]
[0166] Update the partial path metric PM (i) :
[0167] PM (i) =PM (i+1) +DI (i) ,i=N ss ,N ss -1,...,1.
[0168] If the total number of branches (branchNum) at this layer exceeds M, path selection is required. The path selection method is to select the branch with the smallest distance increment (DI) from the |O| branches expanded from a parent node as the surviving path.
[0169] Update parentsNodeNum to the number of surviving paths, proceed to the next layer, and repeat step 2) until the bottom layer is searched.
[0170] Reference Figure 7 , the minimum distance increment value in step 330 is determined by:
[0171] Step 710: Obtain distance data in complex form according to the symbol vector element of the node and the symbol vector element of the parent node;
[0172] Step 720: Decompose the distance data to obtain real distance data and imaginary distance data;
[0173] Step 730: Obtain a distance increment value by summing the modulus of the real distance data and the modulus of the imaginary distance data;
[0174] Step 740: Determine the minimum distance increment value according to the sorting result of the multiple distance increment values.
[0175] In this embodiment, when calculating the distance increment value, an approximate algorithm of respectively finding the modulus of the real part and the virtual part is adopted, which not only reduces the computational complexity but also makes the soft information calculated thereby closer to the theoretical value.
[0176] It should be noted that in the QRM detection algorithm: when calculating the distance increment value, you can use the formula Calculate. Let X = X i +iX q , then |e(x (i) )| 2 =|X| 2 =X i 2 +X q 2 In this embodiment, when calculating the distance increment, according to the formula |e(x (i) )| 2 ≈|X i |+|X q| approximate calculation. The computational complexity of each distance increment is reduced from "two multipliers + 1 adder" to "1 adder". Take QRM detection using 256QAM modulation as an example: the number of distance increments that need to be calculated for each layer is 256. In the traditional solution, the required hardware resources are "512 multipliers + 256 adders"; while in this embodiment, the required hardware resources are "256 adders". It can be seen that this embodiment greatly reduces the hardware resources. In addition to reducing the computational complexity, the LLR calculated by the approximate algorithm is more compatible with the LDPC decoder that uses a simplified decoding algorithm. Simulation results show that when LDPC adopts the OMS (Offse Min-Sum) decoding algorithm, the use of the approximate algorithm to calculate the distance increment can improve the performance gain by about 3dB compared to the original formula for calculating the distance increment.
[0177] The above is a detailed description of step 330 , and steps 340 - 350 are described next.
[0178] In step 340, the symbol vector elements on the surviving paths are combined to obtain an estimated symbol vector, and the estimated symbol vector is demapped to obtain a decision bit sequence. In step 350, for each decision bit in the search width threshold decision bit sequence, the log-likelihood ratio is calculated based on the minimum path metric value corresponding to the decision bit to obtain soft information.
[0179] When step 350 is specifically implemented, step 350 specifically includes:
[0180] Obtain a first decision vector and a second decision vector; wherein the first decision vector includes a first vector element, the values of the first vector elements are all zero, and the second decision vector includes a second vector element, the values of the second vector elements are all zero;
[0181] For each decision bit in the search breadth threshold decision bit sequence, if the value of the decision bit is a first value, the minimum path metric value corresponding to the decision bit is assigned to the first vector element at the decision position; if the value of the decision bit is a second value, the minimum path metric value corresponding to the decision bit is assigned to the second vector element at the target position;
[0182] If the first decision vector still has a first vector element with a value of zero, then the value of the first vector element is updated to a preset value; if the second decision vector still has a second vector element with a value of zero, then the value of the second vector element is updated to a preset value;
[0183] Soft information is obtained according to the difference between the second decision vector and the first decision vector.
[0184] Specifically, after the code tree search is completed, all surviving paths are traversed as follows:
[0185] Demap the estimated symbol vector corresponding to the surviving path to obtain a decision bit sequence, which includes N ss *Q m decision bits;
[0186] For each decision bit, if the value of the decision bit is a first value (e.g., 0), the first vector element at that decision position is set to the minimum path metric value; if the value of the decision bit is a second value (e.g., 1), the second vector element at that decision position is set to the minimum path metric value. The decision position is determined by the position of the decision bit in the decision bit sequence.
[0187] In another embodiment, if the value of the decision bit is a first value (e.g., 0), when the corresponding minimum path metric value is less than a first metric threshold (cost0), the first vector element at the decision position and cost0 are both set to the path metric value. If the value of the decision bit is a second value (e.g., 1), when the corresponding minimum path metric value is less than a second metric threshold (cost1), the second vector element at the decision position and cost1 are both set to the path metric value. Compared with the previous approach, this further reduces the bit error rate.
[0188] After the search is completed, if there are still elements with a value of "zero" in the first decision vector (LLR0) and the second decision vector LLR1, a larger preset value (for example, 2) is used to replace them.
[0189] Calculate the soft information LLR: LLR=LLR1-LLR0. The LLRs may also be rearranged according to the rearrangement order in the above embodiment to restore to the original stream order.
[0190] The advantage of this embodiment is that it eliminates the possibility of "zero" elements in the first decision vector and the second decision vector, thereby further reducing the bit error rate.
[0191] Combine Figure 8 and Figure 9 , the embodiments of this application provide the following specific application examples.
[0192] Taking the 4T4R4S MIMO system using 16QAM modulation as an example, the iterative search process of the QRM64 algorithm is explained. The constellation diagram of 16QAM is as follows: Figure 8 As shown, the constellation point set is {S0,S1,S2,S3,S4,S5,S6,S7,S8,S9,S 10 ,S 11 ,S 12 ,S 13 ,S 14 ,S 15},in S0 is {0000}, S1 is {1000}, S2 is {0100}, S3 is {1100}, S4 is {0010}, S5 is {1010}, S6 is {0110}, S7 is {1110}, S8 is {0001}, S9 is {1001}, S 10 {0101}, S 11 For {1101}, S 12 {0011}, S 13 is {1011}, S 14 is {0111}, S 15 is {1111}.
[0193] In the transmitter: If the transmitted signal is a 16-bit coded bit stream {1101001010010100}, after constellation point mapping, the symbol vector S = [S (1) ,S (2) ,S (3) ,S (4) ]=[S 11 ,S4,S9,S2]. Convert it into S T Then, it is sent out from the four transmitting antennas. In the receiver, the data received by the four receiving antennas is y = [y1, y2, y3, y4] T , assuming that the channel matrix H is known. The soft output QRM detection algorithm needs to estimate 16 soft bit values based on y and H.
[0194] Reference Figure 9 , construct a code tree: the depth of the tree is 5 layers, the root node is located at the 5th layer, the leaf node is located at the 1st layer, and the number of branches of each node is the size of the constellation point set |O|=16, s i is the i-th level node of the tree. The specific process of searching the code tree is as follows:
[0195] 1) Since the node in the fifth layer is the root node and has no parent node, it enters the fourth layer.
[0196] 2) Calculate the partial path metrics of the 16 paths at layer 4:
[0197] The number of parent nodes in the 4th layer (parentsNodeNum) is 1, and the total number of branches in the 4th layer (branchNum) is 16 (parentsNodeNum*|O|=1*16=16). At this time, branchNum is less than or equal to the search breadth threshold M, so all branches in the 4th layer are retained as survival paths. The number of survival paths, survivalPathNum, is 16. Path increment in, The 16 possible values of the constellation points {S0, S1, ..., S 15 Substitute into s4 and calculate the 16 distance increments of the 4th layer Then update the path metrics of these 16 paths in: PM (5) =0.
[0198] 3) Calculate the partial path metrics of the 256 paths at layer 3:
[0199] The number of parent nodes (parentsNodeNum) at the third level is 16, and the total number of branches (branchNum) is 256. At this time, branchNum is greater than the search breadth threshold M, and the number of surviving paths (survivalPathNum) is M. Path increment in, Calculate from the parent node S0: First, substitute S0 into s4, and replace the 16 possible values of the constellation point {S0, S1, ..., S 15 Substituting into s3, we can get 16 distance increments extended from the parent node S0. Then update the path metrics of these 16 paths in: Then, the remaining 15 parent nodes are expanded in the same way, and finally the path metrics of 256 paths are obtained. Finally, the 256 paths are sorted according to their path metrics, and M paths with the smallest path metrics are retained as surviving paths, and all other paths are deleted.
[0200] 4) Calculate the partial path metrics of the M paths in layer 2:
[0201] The number of parent nodes in the second layer (parentsNodeNum) is M, the total number of branches (branchNum) is M*16, and the number of surviving paths (survivalPathNum) is M. Path increment in, From the parent node S 0,0 Start calculating in sequence: First, S 0,0 Substitute the second constellation point corresponding to the vector into s4, and replace S 0,0 Substitute the first constellation point corresponding to the vector into s3, and convert the 16 possible values of the constellation point {S0, S1, ..., S 15}Substitute into s2, and we can get the parent node S 0,0 Expanded 16 distance increments Then, from these 16 branches, select the one with the smallest distance increment and keep it, and delete the rest of the branches; then update the path metric of this surviving path. Then, the remaining parent nodes are expanded in the same way, and finally the path metrics of M surviving paths are obtained.
[0202] 5) Calculate the path metrics of the M paths in layer 1:
[0203] The number of parent nodes in the first layer (parentsNodeNum) is M, the total number of branches (branchNum) is M*16, and the number of surviving paths (survivalPathNum) is M. Path increment in, From the parent node S 0,0,0 Start calculating in sequence: First, S 0,0,0 Substitute the third constellation point corresponding to the vector into s4, and replace S 0,0,0 Substitute the second constellation point corresponding to the vector into s3, and replace S 0,0,0 Substitute the first constellation point corresponding to the vector into s2, and convert the 16 possible values of the constellation point {S0, S1, ..., S 15}Substitute into s1, and we can get the parent node S 0,0,0 Expanded 16 distance increments Then, from these 16 branches, select the one with the smallest distance increment and keep it, and delete the rest of the branches; then update the path metric of this surviving path. Then, the remaining parent nodes are expanded in the same way, and finally the path metrics of M surviving paths are obtained.
[0204] The above is the code tree search process. After the search is completed, steps 340-350 need to be performed, which specifically include:
[0205] 6) The signal vector S corresponding to the M surviving paths 0,0,0,0 Do demapping and get M decision bit sequences of length 16 {b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,b 10 ,b 11 ,b 12 ,b 13 ,b 14 ,b 15 For each decision bit b i , all b i = 0, the minimum value of the path metric is assigned to the first decision vector (LLR0); all b i =1, the minimum value of the path metric in the survivor path set is assigned to the second decision vector (LLR1).
[0206] 7) After repeating step 6) for all M paths, if there are still "zero" elements in LLR0 and LLR1, set their values to 2.
[0207] 8) Output soft information: LLR = LLR1 - LLR0.
[0208] Combining the above embodiments, Figure 10-12 A comparison chart of the detection performance of this embodiment is shown.
[0209] Reference Figure 10 , respectively, the performance simulation of the QRM using the original distance increment calculation method and the QRM using the simplified distance increment calculation method of steps 710-740 of this embodiment is carried out. Figure 10 As shown, the horizontal axis is the signal-to-noise ratio (SNR), and the vertical axis is the packet error rate (PER). DI Original 16QAM means "the distance increment is calculated using the original calculation method, and the modulation method is 16QAM." DI simplified 16QAM means "the distance increment is calculated using the simplified calculation method in steps 710-740, and the modulation method is 16QAM." The notations for 64QAM and 256QAM are similar. The SNR value corresponding to PER = 0.1 is usually used to measure detection performance. The lower the SNR value, the better the detection performance. Figure 10 It can be seen that after adopting the simplified calculation method, the detection performance is improved by 3 to 5dB.
[0210] Reference Figure 11 When performing QRM detection on 4T4R4S data, simulations were performed for three cases: the signal-to-noise ratio of the elements in column H was arranged in descending order (Hdescend), ascending order (Hascend), and no order (Horgiginal). Figure 11 As shown in the figure, the horizontal axis is the signal-to-noise ratio (SNR), and the vertical axis is the block error rate (BLER). MCS8 uses QPSK modulation, MCS12 uses 16QAM modulation, MCS17 uses 64QAM modulation, and MCS22 uses 256QAM modulation. It can be seen that under different modulation modes, the detection algorithm arranged in ascending order of SNR in column H (Hascend) performs best.
[0211] Reference Figure 12 When performing QRM detection on 4T4R4S data, two simulations were conducted: arranging the data in ascending order according to the traditional signal-to-noise ratio of the elements in column H (for example, the traditional signal-to-noise ratio is calculated by the 2-norm of the column elements) and arranging the data in ascending order according to the signal-to-noise ratio calculated in steps 510-540 of the embodiment of the present application. Figure 12As shown, although the rearrangement result based on the 2-norm may not be the same as the rearrangement result based on the signal-to-noise ratio calculated according to steps 510-540 in the embodiment of the present application, it does not affect the performance of the detection algorithm. However, the computational complexity of steps 510-540 is greatly reduced. In short, steps 510-540 can reduce computational complexity without affecting detection performance.
[0212] See also Figure 13 The embodiment of the present application also provides a detection device for a multi-input multi-output system, which can implement the above-mentioned detection method for a multi-input multi-output system. Figure 13 The module structure block diagram of the detection device of the multi-input multi-output system provided in the embodiment of the present application includes: a signal processing unit 1310, a code tree generation unit 1320, a code tree search unit 1330, a demapping unit 1340 and a detection unit 1350. Among them, the signal processing unit 1310 is used to obtain a processed signal according to the channel estimation matrix and the received signal; the code tree generation unit 1320 is used to generate a code tree based on the processed signal, and the code tree includes multiple layers of nodes, wherein the nodes of each layer correspond to the symbol vector elements obtained by the processed signal estimation, and except for the bottom layer, the nodes of each layer include a preset number of branches, and except for the root node, the nodes of each layer are connected to the parent node through the branches; the code tree search unit 1330 is used to search the code tree, including: determining the number of parent nodes of the current layer; determining the total number of branches of the current layer according to the number of parent nodes and the preset number; if the number of parent nodes is less than the search width threshold, and if the total number of branches is less than or equal to the search width threshold, retaining all branches and taking all branches as survivor paths; if the number of parent nodes is less than the search width threshold, and if the total number of branches is less than or equal to the search width threshold, If the amount is greater than the search breadth threshold, the path metrics of all branches are calculated, and the search breadth threshold branches are retained according to the sorting results of the path metrics to obtain the search breadth threshold survivor paths; if the number of parent nodes is equal to the search breadth threshold, for each parent node, a branch with a minimum distance increment value is retained as the survivor path to obtain the search breadth threshold survivor paths; the path metrics of the survivor paths are recursively calculated, and the number of survivor paths is used as the number of parent nodes of the next layer until the bottom layer is searched; a demapping unit 1340 is used to merge the symbol vector elements on the survivor path to obtain an estimated symbol vector, and demap the estimated symbol vector to obtain a decision bit sequence; a detection unit 1350 is used to calculate the log likelihood ratio of each decision bit in the search breadth threshold decision bit sequence according to the minimum path metric value corresponding to the decision bit to obtain soft information.
[0213] The detection device for a MIMO system in an embodiment of the present application is used to execute the detection method for a MIMO system in the above embodiment. The specific processing process is the same as that of the detection method for a MIMO system in the above embodiment, and will not be described in detail here.
[0214] The present application also provides an electronic device comprising: a memory, a processor, a program stored in the memory and executable on the processor, and a data bus for enabling communication between the processor and the memory. When the program is executed by the processor, the aforementioned multi-input multi-output system detection method is implemented. The electronic device can be any intelligent terminal, including a tablet computer and an in-vehicle computer.
[0215] See also Figure 14 , Figure 14 The hardware structure of an electronic device of another embodiment is illustrated. The electronic device includes: a processor 1410, which can be implemented using a general-purpose CPU (Central Processing Unit), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of the present application; a memory 1420, which can be implemented in the form of a read-only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM). The memory 1420 can store an operating system and other application programs. When the technical solutions provided in the embodiments of this specification are implemented through software or firmware, the relevant program codes are stored in the memory 1420 and are called by the processor 1410 to execute the detection method of the multi-input multi-output system of the embodiment of the present application; the input / output interface 1430 is used to implement information input and output; the communication interface 1440 is used to implement communication interaction between this device and other devices, and communication can be achieved through wired means (such as USB, network cable, etc.) or wireless means (such as mobile network, WIFI, Bluetooth, etc.); the bus 1450 transmits information between the various components of the device (such as the processor 1410, memory 1420, input / output interface 1430 and communication interface 1440); wherein the processor 1410, memory 1420, input / output interface 1430 and communication interface 1440 are connected to each other within the device through the bus 1450.
[0216] An embodiment of the present application also provides a storage medium, which is a computer-readable storage medium used for computer-readable storage. The storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to implement the above-mentioned detection method of the multi-input multi-output system.
[0217] The memory, as a non-transient computer-readable storage medium, can be used to store non-transient software programs and non-transient computer executable programs. In addition, the memory may include a high-speed random access memory and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some embodiments, the memory may optionally include a memory remotely arranged relative to the processor, and these remote memories may be connected to the processor via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0218] The embodiments described in the embodiments of this application are intended to more clearly illustrate the technical solutions of the embodiments of this application and do not constitute a limitation on the technical solutions provided by the embodiments of this application. Those skilled in the art will appreciate that with the evolution of technology and the emergence of new application scenarios, the technical solutions provided in the embodiments of this application are also applicable to similar technical problems.
[0219] It will be understood by those skilled in the art that Figure 3-7 The technical solutions shown in the figures do not constitute a limitation on the embodiments of the present application, and may include more or fewer steps than those shown in the figures, or a combination of certain steps, or different steps.
[0220] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, i.e., they may be located in one place or distributed across multiple network units. Some or all of the modules may be selected based on actual needs to achieve the objectives of this embodiment.
[0221] Those skilled in the art will appreciate that all or some of the steps in the methods, systems, and functional modules / units in the devices disclosed above may be implemented as software, firmware, hardware, or appropriate combinations thereof.
[0222] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely schematic. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0223] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.
[0224] In addition, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units.
[0225] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including multiple instructions for enabling an electronic device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store programs, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
[0226] The preferred embodiments of the present invention are described above with reference to the accompanying drawings, but are not intended to limit the scope of the present invention. Any modifications, equivalent substitutions, and improvements made by those skilled in the art without departing from the scope and essence of the present invention should be within the scope of the present invention.
Claims
1. A detection method for a multi-input multi-output system, characterized in that: include: Obtaining a processed signal according to the channel estimation matrix and the received signal; generating a code tree based on the processed signal, the code tree comprising multiple layers of nodes, wherein the nodes of each layer correspond to elements of a symbol vector estimated from the processed signal, and except for a bottom layer, the nodes of each layer comprise a preset number of branches, and except for a root node, the nodes of each layer are connected to a parent node through the branches; Searching the code tree to obtain a surviving path includes: Determine the number of parent nodes in the current layer Determine the total number of branches in the current layer according to the number of parent nodes and the preset number; If the number of parent nodes is less than the search breadth threshold, and if the total number of branches is less than or equal to the search breadth threshold, retain all branches and regard all branches as surviving paths; If the number of parent nodes is less than the search breadth threshold, and if the total number of branches is greater than the search breadth threshold, calculate the path metrics of all branches, retain the search breadth threshold number of branches according to the sorting results of the path metrics, and obtain the search breadth threshold number of surviving paths; If the number of parent nodes is equal to the search breadth threshold, for each parent node, retain a branch with the minimum distance increment value as a survivor path, and obtain the search breadth threshold survivor paths; Recursively calculate the path metrics of the surviving paths, and use the number of surviving paths as the number of parent nodes of the next layer until the bottom layer is searched; Merging the symbol vector elements on the surviving path to obtain an estimated symbol vector, and demapping the estimated symbol vector to obtain a decision bit sequence; For each decision bit in the search breadth threshold number of decision bit sequences, a log likelihood ratio is calculated according to a minimum path metric value corresponding to the decision bit to obtain soft information.
2. The method according to claim 1, characterized in that The recursive calculation of the path metric of the surviving path includes: Calculating a distance increment value of each survivor path according to the symbol vector elements and constellation points on the survivor path; The path metric value is obtained according to the path metric value of the previous layer and the distance increment value of the surviving path.
3. The method according to claim 1, characterized in that The minimum distance increment value is determined by: Obtaining distance data in a complex form according to the symbol vector element of the node and the symbol vector element of the parent node; Decomposing the distance data to obtain real distance data and imaginary distance data; Obtaining the distance increment value according to the sum of the modulus of the real distance data and the modulus of the imaginary distance data; The minimum distance increment value is determined according to the sorting result of the plurality of distance increment values.
4. The method according to any one of claims 1 to 3, characterized in that The step of obtaining a processed signal according to the channel estimation matrix and the received signal includes: Calculating the signal-to-noise ratio of each column element of the channel estimation matrix; Determining the rearrangement order of each of the column elements according to the signal-to-noise ratio from small to large; Rearranging the column elements sequentially according to the rearrangement order to obtain a rearranged channel matrix; A processed signal is obtained according to the rearranged channel matrix and the received signal.
5. The method according to claim 4, characterized in that The column elements include sub-elements, and calculating the signal-to-noise ratio of the column elements of the channel matrix includes: Obtaining stream data in plural form according to the sub-elements; Decomposing the stream data to obtain real stream data and imaginary stream data; Obtaining a sub-signal-to-noise ratio corresponding to the sub-element according to the sum of the modulus of the real part stream data and the modulus of the imaginary part stream data; The signal-to-noise ratio is obtained by summing the sub-signal-to-noise ratios corresponding to the sub-elements.
6. The method according to claim 4, characterized in that The processing step of obtaining a processed signal according to the rearranged channel matrix and the received signal includes: performing orthogonal triangular decomposition on the rearranged channel matrix to obtain a unitary matrix; A conjugate device matrix of the unitary matrix is determined, and the conjugate device matrix and the received signal are multiplied to obtain the processed signal.
7. The method according to any one of claims 1 to 3, characterized in that The step of calculating the log-likelihood ratio for each decision bit in the search breadth threshold number of decision bit sequences according to the minimum path metric value corresponding to the decision bit to obtain soft information includes: Obtain a first decision vector and a second decision vector; wherein the first decision vector includes a first vector element, the values of which are all zero, and the second decision vector includes a second vector element, the values of which are all zero; For each decision bit in the search breadth threshold number of the decision bit sequences, if the value of the decision bit is a first value, assigning the minimum path metric value corresponding to the decision bit to the first vector element at the decision position; if the value of the decision bit is a second value, assigning the minimum path metric value corresponding to the decision bit to the second vector element at the decision position; If the first decision vector still has a first vector element with a value of zero, the value of the first vector element is updated to a preset value; if the second decision vector still has a second vector element with a value of zero, the value of the second vector element is updated to the preset value; The soft information is obtained according to a difference between the second decision vector and the first decision vector.
8. A detection device for a multi-input multi-output system, characterized in that: include: a signal processing unit, configured to obtain a processed signal according to the channel estimation matrix and the received signal; a code tree generating unit, configured to generate a code tree based on the processed signal, the code tree comprising multiple layers of nodes, wherein the nodes of each layer correspond to symbol vector elements estimated from the processed signal, and except for the bottom layer, the nodes of each layer comprise a preset number of branches, and except for a root node, the nodes of each layer are connected to a parent node via the branches; A code tree search unit, configured to search the code tree, comprising: Determine the number of parent nodes in the current layer; Determine the total number of branches in the current layer according to the number of parent nodes and the preset number; If the number of parent nodes is less than the search breadth threshold, and if the total number of branches is less than or equal to the search breadth threshold, retain all branches and regard all branches as surviving paths; If the number of parent nodes is less than the search breadth threshold, and if the total number of branches is greater than the search breadth threshold, calculate the path metrics of all branches, retain the search breadth threshold number of branches according to the sorting results of the path metrics, and obtain the search breadth threshold number of surviving paths; If the number of parent nodes is equal to the search breadth threshold, for each parent node, retain a branch with the minimum distance increment value as a survivor path, and obtain the search breadth threshold survivor paths; Recursively calculate the path metrics of the surviving paths, and use the number of surviving paths as the number of parent nodes of the next layer until the bottom layer is searched; a demapping unit, configured to combine the symbol vector elements on the surviving path to obtain an estimated symbol vector, and demap the estimated symbol vector to obtain a decision bit sequence; The detection unit is configured to calculate a log-likelihood ratio for each decision bit in the search breadth threshold number of decision bit sequences according to a minimum path metric value corresponding to the decision bit, so as to obtain soft information.
9. An electronic device, characterized in that: The electronic device includes a memory and a processor, the memory stores a computer program, and the processor implements the method according to any one of claims 1 to 7 when executing the computer program.
10. A storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 7 is implemented.
Citation Information
Patent Citations
Multilevel cluster-based mimo detection method and mimo detector thereof
CN101667894A
Detection method and device for multiple input multiple output (MIMO) system
CN104901910A