Detection method, device, equipment, and medium for multi-input multi-output system

Through channel equalization and code tree search methods, the number of parent node extension branches is controlled. By using constellation diagram pre-selection and path metric value recursive calculation, the problem of high detection complexity of multi-input multi-output system is solved, achieving performance improvement and resource conservation.

CN116708094BActive Publication Date: 2025-09-09SHENZHEN HIGH CORE TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310508262.8
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

Technical Problem

While existing detection methods for multiple-input multiple-output systems improve detection performance, they also suffer from the problem of high detection complexity. Especially in nonlinear detection schemes, exhaustive search causes the complexity to increase exponentially with the number of antennas and constellation points, making it difficult to implement in practice.

Method used

An initial estimate is obtained through channel equalization, a code tree is generated and searched, the number of branches extended by the parent node at each layer is controlled, and the real and imaginary parts of the initial estimate are used to determine the preselected constellation point set on the constellation diagram. Combined with recursive calculation of the path metric value, the computing resource requirements are reduced.

Benefits of technology

Without affecting the detection performance, the detection complexity is reduced, computing resources are saved, and the detection performance is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116708094B_ABST
    Figure CN116708094B_ABST
Patent Text Reader

Abstract

The embodiments of the present application provide a detection method, apparatus, device, and medium for a multi-input multi-output system, and relate to the field of communication technology. The method includes: performing channel equalization on a received signal to obtain an initial estimate of a transmitted signal; searching a code tree to obtain a survivor path, including: determining a preselected constellation point set based on the real part of the initial estimate of the current layer and the imaginary part of the initial estimate of the current layer; determining the number of parent nodes of the current layer; if the number of parent nodes is equal to the search breadth threshold, for a first number of branches belonging to the same parent node, calculating a distance increment based on the symbol vector elements and the constellation points in the preselected constellation point set, retaining a branch with a minimum distance increment as a survivor path, and obtaining a search breadth threshold survivor path; performing demapping and calculating a log-likelihood ratio based on the survivor path, and finally obtaining soft information. The embodiments of the present application can reduce the complexity of detection.
Need to check novelty before this filing date? Find Prior Art

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 the related art, there is often a high complexity problem in traversing the code tree. For example, when expanding to the next layer, the number of branches expanded from each parent node is the size of the constellation diagram, which requires calculation. For another example, in a scheme for preselecting a constellation diagram, a candidate constellation point set is selected by calculating the Euclidean distance between the transmitted signal and the standard constellation points.

[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] Perform channel equalization on the received signal to obtain an initial estimate of the transmitted signal;

[0008] Obtaining a processed signal according to the channel estimation matrix and the received signal;

[0009] 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 symbol vector elements estimated from the processed signal, and except for a bottom layer, the nodes of each layer comprise a first number of branches, and except for a root node, the nodes of each layer are connected to a parent node through the branches;

[0010] Searching the code tree to obtain a surviving path includes:

[0011] Determining a second number of first constellation points on the real axis of the constellation diagram based on the real part of the initial estimated value of the current layer, determining a second number of second constellation points on the imaginary axis of the constellation diagram based on the imaginary part of the initial estimated value of the current layer, and obtaining a preselected constellation point set based on the second number of first constellation points and the second number of second constellation points; wherein the first number is the square of the second number;

[0012] Determine the number of parent nodes in the current layer;

[0013] If the number of parent nodes is less than a search breadth threshold, retain all branches and use all branches as surviving paths; wherein the search breadth threshold is the same as the first number;

[0014] If the number of parent nodes is equal to the search breadth threshold, for a first number of branches belonging to the same parent node, calculating distance increments according to the symbol vector elements and constellation points in the pre-selected constellation point set, retaining a branch with a minimum distance increment as a survivor path, and obtaining the search breadth threshold number of 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, calculating a log-likelihood ratio according to the minimum path metric value corresponding to the decision bit to obtain soft information includes:

[0019] Calculating a log-likelihood ratio according to a minimum path metric value corresponding to the decision bit to obtain soft information to be corrected;

[0020] determining an equivalent signal-to-noise ratio of each stream of data in the transmitted signal according to an intermediate calculation result obtained by performing channel equalization on the received signal;

[0021] The soft information to be corrected is corrected according to the equivalent signal-to-noise ratio to obtain the soft information.

[0022] In some embodiments, determining the equivalent signal-to-noise ratio of each stream of data in the transmitted signal based on performing channel equalization on the received signal includes:

[0023] According to the noise covariance R NN and the channel estimation matrix H to determine the channel equalization factor W MMSE :

[0024]

[0025] Let A = H H R NN -1 H+1, then iA=(H H R NN -1 H+I) -1 , W MMSE =iA*(H H R NN -1 ),

[0026] Save the intermediate calculation result iA, then the equivalent signal-to-noise ratio SINR of each stream data i :

[0027]

[0028] Among them, SINR i is the equivalent signal-to-noise ratio of the i-th stream data.

[0029] In some embodiments, calculating the log-likelihood ratio according to the minimum path metric value corresponding to the decision bit to obtain the soft information to be corrected includes:

[0030] 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;

[0031] 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 decision position;

[0032] 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;

[0033] The soft information to be corrected is obtained according to a difference between the second decision vector and the first decision vector.

[0034] In some embodiments, the recursively calculating the path metric of the surviving path includes:

[0035] Calculating a distance increment value of each survivor path according to the symbol vector elements on the survivor path and the constellation points in the constellation point set;

[0036] 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.

[0037] In some embodiments, obtaining a processed signal based on a channel estimation matrix and the received signal includes:

[0038] Performing orthogonal triangular decomposition on the channel estimation matrix to obtain a unitary matrix;

[0039] 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.

[0040] In some embodiments, performing orthogonal triangular decomposition on the channel estimation matrix to obtain a unitary matrix includes:

[0041] Calculating the signal-to-noise ratio of each column element of the channel estimation matrix;

[0042] Determining the rearrangement order of each of the column elements according to the signal-to-noise ratio from small to large;

[0043] Rearranging the column elements sequentially according to the rearrangement order to obtain a rearranged channel matrix;

[0044] Performing orthogonal triangular decomposition on the rearranged channel matrix to obtain the unitary matrix.

[0045] 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:

[0046] A channel equalization unit, configured to perform channel equalization on a received signal to obtain an initial estimate of a transmitted signal;

[0047] a signal processing unit, configured to obtain a processed signal based on a channel estimation matrix and the received signal;

[0048] 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 a bottom layer, the nodes of each layer comprise a first number of branches, and except for a root node, the nodes of each layer are connected to a parent node via the branches;

[0049] A code tree search unit is configured to search the code tree to obtain a surviving path, comprising:

[0050] Determining a second number of first constellation points on the real axis of the constellation diagram based on the real part of the initial estimated value of the current layer, determining a second number of second constellation points on the imaginary axis of the constellation diagram based on the imaginary part of the initial estimated value of the current layer, and obtaining a preselected constellation point set based on the second number of first constellation points and the second number of second constellation points; wherein the first number is the square of the second number;

[0051] Determine the number of parent nodes in the current layer;

[0052] If the number of parent nodes is less than a search breadth threshold, retain all branches and use all branches as surviving paths; wherein the search breadth threshold is the same as the first number;

[0053] If the number of parent nodes is equal to the search breadth threshold, for a first number of branches belonging to the same parent node, calculating distance increments according to the symbol vector elements and constellation points in the pre-selected constellation point set, retaining a branch with a minimum distance increment as a survivor path, and obtaining the search breadth threshold number of survivor paths;

[0054] 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;

[0055] 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;

[0056] 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.

[0057] 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. When the processor executes the computer program, the method described in the first aspect is implemented.

[0058] 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.

[0059] The detection method, apparatus, device, and medium for a multi-input multi-output system proposed in this application utilizes initial estimates obtained through channel equalization to preselect the constellation diagram for each layer, thereby reducing the required computational resources without compromising detection performance. By controlling the number of branches extending from each parent node through a second number, only branch metrics need to be calculated. By selecting an appropriate second number, the computational effort can be reduced without compromising detection performance. Furthermore, a constellation point set of the first number is obtained based on the distance between the real part of the initial estimate and the real part of a standard constellation point, as well as the distance between the imaginary part of the initial estimate and the imaginary part of the standard constellation point, thereby conserving the computational resources required to obtain the constellation point set. In summary, this application can reduce detection complexity and improve detection performance. BRIEF DESCRIPTION OF THE DRAWINGS

[0060] 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;

[0061] Figure 2 is a structural diagram of a multi-input multi-output system according to an embodiment of the present application;

[0062] 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;

[0063] Figure 4 yes Figure 3 Flowchart of step 320 in FIG.

[0064] Figure 5 yes Figure 4 Flowchart of step 410 in FIG.

[0065] Figure 6 is a schematic diagram of a code tree in an embodiment of the present application;

[0066] Figure 7 is a flowchart of an implementation of iterative search in an embodiment of the present application;

[0067] Figure 8 yes Figure 3 Flowchart of step 360 in FIG.

[0068] Figure 9 yes Figure 8 Flowchart of step 810 in FIG.

[0069] Figure 10This is a schematic diagram of the 16QAM constellation diagram;

[0070] Figure 11 This is a schematic diagram of the implementation process of searching the code tree;

[0071] Figure 12 This is a simulation performance comparison chart;

[0072] Figure 13 This is a computational complexity comparison chart;

[0073] Figure 14 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;

[0074] Figure 15 This is a schematic diagram of the hardware structure of an electronic device provided in one embodiment of the present application. DETAILED DESCRIPTION

[0075] In order to make the purpose, technical solutions and advantages of this application more clear, the following further describes this application in detail 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.

[0076] 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.

[0077] 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:

[0078] 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.

[0079] 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.

[0080] 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.

[0081] In related technologies, traversing the code tree often presents a high level of complexity. For example, when expanding to the next level, the number of branches extended from each parent node is equal to the size of the constellation, requiring the calculation of branch metrics. For another example, in constellation preselection schemes, candidate constellation points are selected by calculating the Euclidean distance between the transmitted signal and the standard constellation points.

[0082] 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.

[0083] 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.

[0084] 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.

[0085] 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.

[0086] 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.

[0087] 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.).

[0088] 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.

[0089] 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.

[0090] 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 noise vector w of dimension. Figure 2 The equivalent complex baseband model of the MIMO system shown can be expressed as:

[0091] y=Hx+w formula (1)

[0092] 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:

[0093]

[0094] It can be understood that by solving formula (2), the estimated transmitted symbol vector is obtained

[0095] exist Figure 2 Based on the MIMO system shown, the detection method of the multiple-input multiple-output system of the present application is introduced in detail.

[0096] 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:

[0097] Step 310: Perform channel equalization on the received signal to obtain an initial estimate of the transmitted signal;

[0098] Step 320: Obtain a processed signal according to the channel estimation matrix and the received signal;

[0099] Step 330: 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 first number of branches, and except for the root node, the nodes of each layer are connected to the parent node through branches;

[0100] Step 340: Search the code tree to obtain a surviving path, including:

[0101] Determining a second number of first constellation points on the real axis of the constellation diagram based on the real part of the initial estimate value of the current layer, determining a second number of second constellation points on the imaginary axis of the constellation diagram based on the imaginary part of the initial estimate value of the current layer, and obtaining a preselected constellation point set based on the second number of first constellation points and the second number of second constellation points; wherein the first number is the square of the second number;

[0102] Determine the number of parent nodes in the current layer;

[0103] If the number of parent nodes is less than the search breadth threshold, retain all branches and regard all branches as surviving paths; wherein the search breadth threshold is the same as the first number;

[0104] If the number of parent nodes is equal to the search breadth threshold, for the first number of branches belonging to the same parent node, calculate distance increments based on the symbol vector elements and the constellation points in the pre-selected constellation point set, retain the branch with the minimum distance increment as the survivor path, and obtain the search breadth threshold number of survivor paths;

[0105] Recursively calculate the path metrics 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;

[0106] Step 350: 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;

[0107] Step 360: 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.

[0108] Through steps 310-360, the benefits of this embodiment include, but are not limited to, preselecting the constellation diagram of each layer by using the initial estimate value obtained by channel equalization, reducing the required computing resources without affecting the detection performance. The second number (N) controls the number of branches extended from each parent node, and only M·N needs to be calculated. 2 By selecting a suitable value of N, the computational complexity can be reduced without affecting detection performance. A candidate set of size N on the real axis is selected based on the distance between the real part of the initial estimate and the real part of the standard constellation point. A candidate set of size N on the imaginary axis is selected based on the distance between the imaginary part of the initial estimate and the imaginary part of the standard constellation point. The candidate sets on the real and imaginary axes are then combined to obtain a constellation point set of size M (M=NxN), thereby conserving computational resources for obtaining the constellation point set.

[0109] Steps 310 - 360 are described in detail below.

[0110] In step 310, channel equalization is performed on the received signal to obtain an initial estimate of the transmitted signal.

[0111] 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

[0112] Channel equalization is a fading mitigation measure used to improve the transmission performance of communication systems in fading channels. It primarily aims to eliminate or mitigate the inter-symbol interference (ISI) problem caused by multipath delay in broadband communications. Common linear detection channel equalization methods include zero-breaking equalization (ZF) and minimum mean square error (MMSE).

[0113] After performing channel equalization on the received signal in step 310, an initial estimated value x% of the transmitted signal can be obtained.

[0114] In one embodiment, step 310 specifically includes:

[0115] Determine a channel equalization factor based on a channel estimation matrix and a noise covariance matrix;

[0116] An initial estimate of the transmitted signal is obtained based on the channel equalization factor and the received signal thread.

[0117] Specifically, first calculate the channel equalization factor W MMSE , and then multiply the received signal y by the channel equalization factor W MMSE This reverses the effect of the channel on the transmitted signal. The calculation process can be expressed as follows:

[0118]

[0119]

[0120] Among them, H is the channel estimation matrix, R NN -1 is the inverse matrix of the noise covariance, and I is the identity matrix.

[0121] 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 2The channel parameters of the MIMO channel (MIMOChannel) shown are estimated to obtain the channel estimation matrix H.

[0122] It should be noted that when performing MIMO system detection, the channel estimation matrix H and the inverse matrix R of the noise covariance matrix NN -1 For example, a pilot signal can be inserted at the transmitting end, and the noise covariance matrix R can be estimated based on the pilot signal at the receiving end. NN And channel information such as channel estimation matrix H.

[0123] The above is a detailed description of step 310 , and step 320 will be described next.

[0124] In step 320, a processed signal is obtained according to the channel estimation matrix and the received signal.

[0125] For the receiver, the transmitted signal needs to be identified from the received signal. 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.

[0126] In one embodiment, the influence of channel transmission in the received signal y is directly removed according to the channel estimation matrix H to obtain the processed signal

[0127] In one embodiment, referring to Figure 4 , step 320 includes:

[0128] Step 410: Perform orthogonal triangular decomposition on the channel estimation matrix to obtain a unitary matrix;

[0129] Step 420: Determine the conjugate device matrix of the unitary matrix, and multiply the conjugate device matrix by the received signal to obtain a processed signal.

[0130] Specifically, the channel estimation matrix H is subjected to orthogonal triangular decomposition (also known as QR decomposition) to obtain the unitary matrix Q and the upper triangular matrix R. The received signal y is multiplied by Q on the left. H get It can be expressed by the following formula:

[0131] H=QR formula (5)

[0132]

[0133] in, Represents the processed signal.

[0134] It should be noted that orthogonal triangular decomposition is 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.

[0135] In another embodiment, the arrangement order of the column elements in the channel estimation matrix H may affect the detection accuracy.

[0136] Therefore, in one embodiment, referring to Figure 5 , step 410 includes:

[0137] Step 510: Calculate the signal-to-noise ratio of each column element of the channel estimation matrix;

[0138] Step 520: Determine the order of rearranging the elements of each column according to the signal-to-noise ratio from small to large.

[0139] Step 530: Rearrange the column elements in sequence according to the rearrangement order to obtain a rearranged channel matrix;

[0140] Step 540: Perform orthogonal triangular decomposition on the rearranged channel matrix to obtain a unitary matrix.

[0141] 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: H is a 4x4 complex matrix, which consists of 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 , H33,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}.

[0142] 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:

[0143]

[0144] Then the processed signal is obtained according to the rearranged channel matrix H1 and the received signal y

[0145] The advantage of steps 510-540 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.

[0146] 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.

[0147] 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.

[0148] 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.

[0149] In one embodiment, the column element includes sub-elements, and step 510 includes:

[0150] Get the stream data in plural form according to the sub-element;

[0151] Decompose the stream data to obtain real stream data and imaginary stream data;

[0152] The sub-signal-to-noise ratio corresponding to the sub-element is obtained by summing the modulus of the real part flow data and the modulus of the imaginary part flow data;

[0153] The signal-to-noise ratio is obtained by summing the sub-signal-to-noise ratios corresponding to the sub-elements.

[0154] 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, imaginary part stream data is j*H 11,q .

[0155] 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:

[0156] 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 |.

[0157] 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.

[0158] 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.

[0159] The above is a detailed description of step 320 , and step 330 will be described next.

[0160] In step 330, a code tree is generated based on the processed signal, where the code tree includes multiple layers of nodes, wherein the nodes of each layer correspond to the symbol vector elements estimated by the processed signal, except for the bottom layer, the nodes of each layer include a first number of branches, and except for the root node, the nodes of each layer are connected to the parent node through branches.

[0161] Specifically, the code tree of this embodiment is usually a multi-branch tree. The code tree has all the characteristics of a tree structure, and the tree structure often contains multiple nodes (such as Figure 6 The multiple nodes include at least one leaf node and one root node, and usually also include multiple intermediate nodes between the leaf nodes and the root node.

[0162] Continue to refer to Figure 6 In one embodiment, the tree has a depth of 5 layers, the root node is located at the 5th layer, and the leaf nodes are located at the 1st layer. Except for the bottom layer (that is, the 1st layer where the leaf nodes are located), each node in the other layers includes a first number of branches, and the first number is specifically the size of the constellation point set N*N ( Figure 6 The first number shown is 4, N=2).

[0163] It should be noted that for the MIMO system, in order to improve the processing efficiency of detecting the transmitted signal from the received signal, all possible combinations of data symbols included in the transmitted signal can be mapped to a tree search model based on the received signal. 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.

[0164] 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.

[0165] The above is a detailed description of step 330 , and step 340 will be described next.

[0166] In step 340, the code tree is searched to obtain a surviving path, including:

[0167] Determining a second number of first constellation points on the real axis of the constellation diagram according to the real part of the initial estimate value of the current layer, determining a second number of second constellation points on the imaginary axis of the constellation diagram according to the imaginary part of the initial estimate value of the current layer, and obtaining a preselected constellation point set according to the second number of first constellation points and the second number of second constellation points;

[0168] Determine the number of parent nodes in the current layer;

[0169] If the number of parent nodes is less than the search breadth threshold, retain all branches and regard all branches as surviving paths; wherein the search breadth threshold is the same as the first number;

[0170] If the number of parent nodes is equal to the search breadth threshold, for the first number of branches belonging to the same parent node, calculate distance increments based on the symbol vector elements and the constellation points in the pre-selected constellation point set, retain the branch with the minimum distance increment as the survivor path, and obtain the search breadth threshold number of survivor paths;

[0171] 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.

[0172] It should be noted that the recursive calculation of the path metric of the surviving path in step 340 includes:

[0173] The distance increment value of each surviving path is calculated based on the symbol vector elements on the surviving path and the constellation points in the constellation point set;

[0174] The path metric is obtained based on the path metric of the previous layer and the distance increment of the surviving path.

[0175] Specifically, refer to Figure 7 The specific process of the iterative search in step 330 is as follows:

[0176] 1) Initialize the variables related to code tree search: define the partial signal vector s (i) =[s i ,s i+1 ,...,s NSS ] T , and its 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 number of parent nodes parentsNodeNum is set to 1.

[0177] 2) Recursively calculate the path metric, for i = N ss ,…,3,2,1 layer:

[0178] Calculate the pre-selected constellation lattice of the current layer i : Based on the initial estimate of the current layer The real part of the real axis (I axis) is found on the real axis (I axis) to be the nearest N points {I1, I2, ..., I N}; Based on the initial estimate of the current layer The imaginary part of the imaginary axis (Q axis) is found to have the nearest N points {Q1, Q2, ..., Q N Combine the I axis and the Q axis to get a constellation point set of size N*N, lattic i , the combination is {(I1, Q1), (I1, Q2), ..., (I1, Q N ), (I2, Q1), ..., (I2, Q N ),...,(I N ,Q1),...,(I N , Q N )}.

[0179] For each surviving path, the lattice diagram of the preselected constellation points is i ={S0, S1, ..., S |O|-1} and calculate the distance increment DI (i) .

[0180] Update the partial path metric PM (i) , PM (i) =PM (i+1) +DI (i) ,i=N ss ,N ss -1,...,1.

[0181] If the number of branches branchNum at this layer exceeds M, path selection is required. The path selection method is: select the branch with the smallest distance increment (DI) from the N*N branches expanded from a parent node as the surviving path.

[0182] Update parentsNodeNum to the number of surviving paths, proceed to the next layer, and repeat step 2) until the bottom layer is searched.

[0183] In one embodiment, the minimum distance increment value in step 340 is determined by:

[0184] Obtaining distance data in complex form according to the symbol vector elements of the node and the symbol vector elements of the parent node;

[0185] Decompose the distance data to obtain real distance data and imaginary distance data;

[0186] The distance increment value is obtained by summing the modulus of the real distance data and the modulus of the imaginary distance data;

[0187] The minimum distance increment value is determined according to the sorting result of the multiple distance increment values.

[0188] 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.

[0189] 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.

[0190] The above is a detailed description of step 340 , and steps 350 - 360 are described below.

[0191] In step 350, 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 360, 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.

[0192] Reference Figure 8 In one embodiment, step 360 specifically includes:

[0193] Step 810: Calculate the log-likelihood ratio according to the minimum path metric value corresponding to the decision bit to obtain the soft information to be corrected;

[0194] Step 820: Determine the equivalent signal-to-noise ratio of each stream of data in the transmitted signal based on the intermediate calculation result obtained by performing channel equalization on the received signal;

[0195] Step 830: Modify the soft information to be corrected according to the equivalent signal-to-noise ratio to obtain soft information.

[0196] Specifically, first obtain the soft information to be corrected LLRtmp in step 810, and then correct the equivalent signal-to-noise ratio SINR of each stream data as the weight factor SINR comp , multiplied by LLRtmp, we can get the final soft information LLR, as shown in the formula: LLR = SINR comp ·LLRtmp.

[0197] The advantage of this embodiment is that the SINR is calculated using the intermediate calculation result of the MMSE equalization process, and after compensating the SINR value, it is used as a correction factor for the detection soft output, thereby improving the detection performance.

[0198] In one embodiment, referring to Figure 9 , step 810 specifically includes:

[0199] Step 910: Obtain a first decision vector and a second decision vector; wherein the first decision vector includes first vector elements, and the values ​​of the first vector elements are all zero; the second decision vector includes second vector elements, and the values ​​of the second vector elements are all zero;

[0200] Step 920: If the value of the decision bit is the first value, assign 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 the second value, assign the minimum path metric value corresponding to the decision bit to the second vector element at the decision position;

[0201] Step 930: 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;

[0202] Step 940: Obtain the soft information to be corrected according to the difference between the second decision vector and the first decision vector.

[0203] Specifically, after the code tree search is completed, all surviving paths are traversed as follows:

[0204] Demap the estimated symbol vector corresponding to the surviving path to obtain a decision bit sequence, which includes N ss *Q m decision bits;

[0205] 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.

[0206] 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.

[0207] 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.

[0208] Calculate the soft information LLRtmp: LLRtmp=LLR1-LLR0. The LLRs may also be rearranged according to the rearrangement order in the above embodiment to restore to the original stream order.

[0209] 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.

[0210] In one embodiment, step 820 specifically includes:

[0211] According to the noise covariance R NN and the channel estimation matrix H to determine the channel equalization factor W MMSE :

[0212]

[0213] Let A = H H R NN -1 H+1, then iA=(H H R NN -1 H+I) -1 , W MMSE =iA*(H H R NN -1 ),

[0214] Save the intermediate calculation result iA, then the equivalent signal-to-noise ratio SINR of each stream data i :

[0215]

[0216] Among them, SINR i is the equivalent signal-to-noise ratio of the i-th stream data, iA is a square matrix, [iA] i,i Represents the diagonal of the matrix. It can be seen that only one "reciprocal" operation is needed to obtain SIINR. After compensating the SINR value according to the comp value, we can get: SINR comp =SINR+comp. For example, the comp value is 1.

[0217] Combine Figure 10 and Figure 11 , the embodiments of this application provide the following specific application examples.

[0218] 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 10 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}.

[0219] 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.

[0220] Reference Figure 11 , 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 grid map set M = N * N, s i is the i-th level node of the tree. The specific process of searching the code tree is as follows:

[0221] 1) There is no parent node in the 5th layer, so go to the 4th layer.

[0222] 2) Calculate the partial path metrics of the M surviving paths at layer 4:

[0223] The number of parent nodes (parentsNodeNum) at the 4th level is 1, the number of branches (branchNum) is M=4, and the number of survival paths (survivalPathNum) is M=4. Path increment in, The M possible values ​​of the constellation points in the lattic4 set {S0, S1, ..., S M-1 Substitute into s4 and calculate the M distance increments of the 4th layer Then update the path metrics of these M paths in: PM (5) =0.

[0224] 3) Calculate the partial path metrics of the M paths at layer 3:

[0225] The number of parent nodes (parentsNodeNum) and branches (branchNum) at the third level is M, and the number of surviving paths (surviv va l PathNum) is M. Path increment in, Calculate from the parent node S0: First, substitute S0 into s4, and replace the M possible values ​​of the constellation points in the lattic3 set {S0, S1, ..., S M-1 Substituting into s3, we can get the M distance increments extended from the parent node S0. Then, from these M branches, select the branch 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.

[0226] 4) Calculate the partial path metrics of the M paths in layer 2:

[0227] The number of parent nodes (parentsNodeNum) in the second layer is M, the number of branches (branchNum) is M, and the number of surviving paths (surviv va l PathNum) 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 replace the M possible values ​​of the constellation points in the lattic2 set {S0, S1, ..., S M-1}Substitute into s2, and we can get the parent node S 0,0The M distance increments obtained by expansion Then, from these M branches, select the branch 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.

[0228] 5) Calculate the path metrics of the M paths in layer 1:

[0229] The number of parent nodes (parentsNodeNum) in the first layer is M, the number of branches (branchNum) is M, and the number of surviving paths (surviv va l PathNum) 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 replace the M possible values ​​of the constellation points in the lattic1 set {S0, S1, ..., S M-1}Substitute into s1, and we can get the parent node S 0,0,0 The M distance increments obtained by expansion Then, from these M branches, select the branch 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.

[0230] 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 LLR0; all b i =1, the minimum value of the path metric in the survivor path set is assigned to LLR1.

[0231] 7) Perform demapping:

[0232] After repeating step 6 for all M paths, if there are still "zero" elements in the LLR0 vector and the LLR1 vector, set their value to 2.

[0233] 8) Output soft information:

[0234] Calculating LLRs tmp =LLR1-LLR0, the final soft information LLR, LLR=(SINR+1)·LLRtmp.

[0235] In summary of the above embodiments, the key points include:

[0236] (1) Through steps 310-360, the constellation diagram of each layer is pre-selected using the MMSE detection result, which reduces the computing resources in the QRM detection algorithm without affecting the detection performance.

[0237] (2) Through steps 810-830, the SI NR is calculated using the intermediate calculation results of the MMSE equalization process. After compensating the SI NR value, it is used as a correction factor for the QRM detection soft output, thereby improving the detection performance.

[0238] Next, combine Figure 12-13 A comparison of the detection performance of key point (1) and key point (2) is shown.

[0239] like Figure 12 As shown in the figure, the horizontal axis is the signal-to-noise ratio (SNR), and the vertical axis is the packet error rate (PER). The channel is the typical fading channel model EPA5 in LTE, using 4-transmit 4-receive 4-stream (4T4R4S) MIMO transmission, 64QAM modulation, and LDPC channel coding.

[0240] in, Figure 12 "MMSE" shown indicates that only MMSE testing was used.

[0241] Figure 12 The “QRM original” shown indicates that the QRM original algorithm (M=64) is adopted.

[0242] Figure 12 The “QRMopt i LaS i ze16 LLRsca l edBy SI NR” shown indicates that the key point (1) and key point (2) proposed in this embodiment are adopted, and the constellation grid size is 16 (N=4, M=16).

[0243] Figure 12The “QRMopt i LaS i ze16 LLRscaleBy PnMean” shown indicates that the key point (1) in this embodiment is adopted, but the key point (2) is not adopted, and the constellation grid size is 16 (N=4, M=16).

[0244] Figure 12 The “QRMopt i LaSi ze36 LLRscaleBy SI NR” shown indicates that the key point (1) and key point (2) proposed in this embodiment are adopted, and the constellation grid size is 36 (N=6, M=36).

[0245] Figure 12 The “QRMopt i LaSi ze16 LLRscaleBy PnMean” shown indicates that the key point (1) in this embodiment is adopted, but the key point (2) is not adopted, and the constellation grid size is 36 (N=6, M=36).

[0246] From the above simulation results, it can be seen that the detection method proposed in the embodiment of this application has better performance than MMSE, and as the size of the constellation grid increases, the performance will approach the original QRM algorithm. However, its complexity is greatly reduced compared to the original QRM algorithm. The computational complexity comparison of the original algorithm QRMorg (M=64) and the algorithm QRMopt i (LaSi ze=16) of this application is as follows: Figure 13 shown.

[0247] See also Figure 14 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 14This is a block diagram of the module structure of a detection device for a multiple-input multiple-output system provided in an embodiment of the present application. The device includes: a channel equalization unit 1410, a signal processing unit 1420, a code tree generation unit 1430, a code tree search unit 1440, a demapping unit 1450 and a detection unit 1460. Among them, the channel equalization unit 1410 is used to perform channel equalization on the received signal to obtain an initial estimated value of the transmitted signal; the signal processing unit 1420 is used to obtain a processed signal based on the channel estimation matrix and the received signal; the code tree generation unit 1430 is used to generate a code tree based on the processed signal, the code tree including multiple layers of nodes, wherein the nodes of each layer correspond to the symbol vector elements obtained by estimating the processed signal, except for the bottom layer, the nodes of each layer include a first number of branches, and except for the root node, the nodes of each layer are connected to the parent node through branches; the code tree search unit 1440 is used to search the code tree to obtain a surviving path, including: determining a second number of first constellation points on the real axis of the constellation diagram according to the real part of the initial estimated value of the current layer, determining a second number of second constellation points on the imaginary axis of the constellation diagram according to the imaginary part of the initial estimated value of the current layer, and obtaining a pre-selected constellation point set based on the second number of first constellation points and the second number of second constellation points; wherein the first number is the average of the second number. method; determining the number of parent nodes in the current layer; if the number of parent nodes is less than the search breadth threshold, retaining all branches and taking all branches as survivor paths; wherein the search breadth threshold is the same as the first number; if the number of parent nodes is equal to the search breadth threshold, for the first number of branches belonging to the same parent node, calculating distance increments based on symbol vector elements and constellation points in the pre-selected constellation point set, retaining a branch with a minimum distance increment as a survivor path, and obtaining a search breadth threshold number of survivor paths; recursively calculating path metrics of the survivor paths, and taking the number of survivor paths as the number of parent nodes in the next layer until the bottom layer is searched; a demapping unit 1450 is configured to merge the symbol vector elements on the survivor paths to obtain an estimated symbol vector, and demap the estimated symbol vector to obtain a decision bit sequence; a detection unit 1460 is configured to calculate a log likelihood ratio for each decision bit in the search breadth threshold number of decision bit sequences based on the minimum path metric value corresponding to the decision bit, to obtain soft information.

[0248] 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.

[0249] 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.

[0250] See also Figure 15 , Figure 15 The hardware structure of an electronic device of another embodiment is illustrated. The electronic device includes: a processor 1510, which can be implemented by 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 by the embodiments of the present application; a memory 1520, which can be implemented by a read-only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM). The memory 1520 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 1520 and are called by the processor 1510 to execute the detection method of the multi-input multi-output system of the embodiment of the present application; the input / output interface 1530 is used to implement information input and output; the communication interface 1540 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, WI FI, Bluetooth, etc.); the bus 1550 transmits information between the various components of the device (such as the processor 1510, memory 1520, input / output interface 1530 and communication interface 1540); wherein the processor 1510, memory 1520, input / output interface 1530 and communication interface 1540 are connected to each other within the device through the bus 1550.

[0251] 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.

[0252] 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.

[0253] 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.

[0254] It will be understood by those skilled in the art that Figure 3-5 and Figure 7-9 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.

[0255] 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.

[0256] 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.

[0257] 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.

[0258] 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.

[0259] 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.

[0260] 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.

[0261] 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: Perform channel equalization on the received signal to obtain an initial estimate of the transmitted signal; 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 symbol vector elements estimated from the processed signal, and except for a bottom layer, the nodes of each layer comprise a first 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: Determining a second number of first constellation points on the real axis of the constellation diagram based on the real part of the initial estimated value of the current layer, determining a second number of second constellation points on the imaginary axis of the constellation diagram based on the imaginary part of the initial estimated value of the current layer, and obtaining a preselected constellation point set based on the second number of first constellation points and the second number of second constellation points; wherein the first number is the square of the second number; Determine the number of parent nodes in the current layer; If the number of parent nodes is less than a search breadth threshold, retain all branches and use all branches as surviving paths; wherein the search breadth threshold is the same as the first number; If the number of parent nodes is equal to the search breadth threshold, for a first number of branches belonging to the same parent node, calculating distance increments according to the symbol vector elements and constellation points in the pre-selected constellation point set, retaining a branch with a minimum distance increment as a survivor path, and obtaining the search breadth threshold number of 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 Calculating a log-likelihood ratio according to a minimum path metric value corresponding to the decision bit to obtain soft information includes: Calculating a log-likelihood ratio according to a minimum path metric value corresponding to the decision bit to obtain soft information to be corrected; determining an equivalent signal-to-noise ratio of each stream of data in the transmitted signal according to an intermediate calculation result obtained by performing channel equalization on the received signal; The soft information to be corrected is corrected according to the equivalent signal-to-noise ratio to obtain the soft information.

3. The method according to claim 2, characterized in that The determining, based on the channel equalization of the received signal, an equivalent signal-to-noise ratio of each stream of data in the transmitted signal, includes: According to the noise covariance R NN and the channel estimation matrix H to determine the channel equalization factor W MMSE : Let A = H H R NN -1 If H + 1, then iA = (H H R NN -1 H + I) -1 , W MMSE = iA * (H H R NN -1 ), Save the intermediate calculation result iA, then the equivalent signal-to-noise ratio SINR of each stream data i : Among them, SINR i is the equivalent signal-to-noise ratio of the i-th stream data.

4. The method according to claim 2, characterized in that The calculating the log-likelihood ratio according to the minimum path metric value corresponding to the decision bit to obtain the soft information to be corrected 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; 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 decision position; If the first decision vector still has a first vector element with a value of zero, updating the value of the first vector element to a preset value; if the second decision vector still has a second vector element with a value of zero, updating the value of the second vector element to the preset value; The soft information to be corrected is obtained according to a difference between the second decision vector and the first decision vector.

5. The method according to claim 1, wherein 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 on the survivor path and the constellation points in the constellation point set; 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.

6. The method according to claim 4, characterized in that The step of obtaining a processed signal according to the channel estimation matrix and the received signal includes: Performing orthogonal triangular decomposition on the channel estimation 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 claim 6, characterized in that The performing orthogonal triangular decomposition on the channel estimation matrix to obtain a unitary matrix 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; Performing orthogonal triangular decomposition on the rearranged channel matrix to obtain the unitary matrix.

8. A detection device for a multi-input multi-output system, characterized in that: include: A channel equalization unit, configured to perform channel equalization on a received signal to obtain an initial estimate of a transmitted signal; a signal processing unit, configured to obtain a processed signal based on a 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 a bottom layer, the nodes of each layer comprise a first 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 is configured to search the code tree to obtain a surviving path, comprising: Determining a second number of first constellation points on the real axis of the constellation diagram based on the real part of the initial estimated value of the current layer, determining a second number of second constellation points on the imaginary axis of the constellation diagram based on the imaginary part of the initial estimated value of the current layer, and obtaining a preselected constellation point set based on the second number of first constellation points and the second number of second constellation points; wherein the first number is the square of the second number; Determine the number of parent nodes in the current layer; If the number of parent nodes is less than a search breadth threshold, retain all branches and use all branches as surviving paths; wherein the search breadth threshold is the same as the first number; If the number of parent nodes is equal to the search breadth threshold, for a first number of branches belonging to the same parent node, calculating distance increments according to the symbol vector elements and constellation points in the pre-selected constellation point set, retaining a branch with a minimum distance increment as a survivor path, and obtaining the search breadth threshold number of 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

  • Iteration detection method for MIMO system

    CN101499840A

  • Detecting algorithm based on planisphere reduction in high order modulation MIMO system

    CN103986561A