# Patent

## Title
Sphere decoding method applied to multi-input multi-output (MIMO) channel

## Abstract

A sphere decoding method applied to a MIMO channel is provided. Multiple constellation points of an nth detection layer corresponding to a MIMO channel matrix are enumerated based on an enumeration rule, and at least one nth sub-set of the nth detection layer is defined. K constellation points are obtained from each of the at least one nth sub-set as preferred points, and Kn preferred points are selected from all the K preferred points of the at least one nth sub-set. K1 preferred points are transferred to a second detection layer from a first detection layer. K(T−1) preferred points are transferred to a Tth detection layer from a (T−1)th detection layer. An optimal solution is determined according to Kn preferred points of the nth detection layer. K and at least one of K1 to KT are determined by the The characteristic of the MIMO channel matrix.

## Background
This application claims the benefit of Taiwan application Serial No. 97136188, filed Sep. 19, 2008, the subject matter of which is incorporated herein by reference.
BACKGROUND OF THE INVENTION
1. Field of the Invention
The invention relates in general to a sphere decoding method applied to a multi-input multi-output (MIMO) channel, and more particularly to a sphere decoding method applied to a MIMO channel capable of reducing system complexity.
2. Description of the Related Art
With the development of the wireless communication technology, standards of wireless local area network have evolved from 802.11a/b/g standard for single-input single-output (SISO) mode into 802.11n standard for multi-input multi-output (MIMO) mode, so as to meet the requirement of higher speed data transmission. The MIMO technology utilizes multiple transmission antennas and reception antennas for respectively transmitting and receiving signals. As compared with the conventional SISO system, the MIMO system can provide multiple parallel data streams on the same frequency band at the same time, thereby increasing the data transmission amount by multiples.
The MIMO system has to effectively use an equivalent channel with orthogonal characteristics in space to transmit the multiple parallel data streams on the same frequency band. However, the equivalent channel with orthogonal characteristics in space decays to different extents depending on geometric arrangement and element characteristic of the transmission antennas and reception antennas and geometric and statistic features of the transmission paths. Therefore, signal detection becomes an important issue in the MIMO system design. In general, the complexity of a signal detection system is raised for reducing the error rate of signal reception.
In present signal detection methods, the maximum likelihood (ML) rule can provide optimal receiving performance, but increase the complexity of the signal detection system to a too-high extent, causing difficulties in hardware implementation. Therefore, a sphere decoding method is developed to simultaneously have a receiving performance close to that of the maximum likelihood rule and suitable system complexity. In the sphere decoding method, a K-Best breadth-first sphere decoding method is very suitable for hardware implementation because of its fixed throughput and fixed complexity.
The receiving performance of the K-Best sphere decoding method is determined by a value of K. If the value of K gets larger, the signal receiving performance becomes higher, but the system complexity is increased. If the value of K gets smaller, the system complexity is decreased, but the signal receiving performance becomes lower. Therefore, in the K-Best sphere decoding method, the value of K has to be determined to meet the requirements of system complexity and receiving performance. In addition, in the K-Best sphere decoding method, each detection layer includes M constellation points, wherein M is a positive integer. In the K-best sphere decoding method, each detection layer receives K preferred points from the previous detection layer, and K×M partial Euclidean distances have to be calculated and then sorted to obtain K preferred points of the present detection layer to transfer to the next detection layer.
If T signals are transmitted via the MIMO channel, the K-best sphere decoding method corresponds to T detection layer in the complex domain, wherein T is a positive integer. Thus, the K-best sphere decoding method has to calculate the partial Euclidean distances M+(T−2)×K×M+K times and perform a sorting operation once every detection layer. However, as for a high-order MIMO system, when the MIMO channel decays to a more serious extent or orthogonal characteristics are insufficient, the value of K has to be increased to enhance the receiving performance of the system. Consequently, the system complexity greatly increases by a multiple of (T−2)×M, thereby enlarging the area of the chip processor, increasing power consumption and reducing data processing amount.
SUMMARY OF THE INVENTION
The invention is directed to a sphere decoding method applied to a MIMO channel. Based on the Schnorr & Euchner (SE) enumeration rule, the corresponding preferred points can be obtained from a part of constellation points in each detection layer according to the corresponding signal to noise ratio (SNR) of each detection layer, thereby reducing the detection complexity of the sphere decoding method and maintaining the signal receiving performance of the system.
According to a first aspect of the present invention, a sphere decoding method applied to a MIMO channel is provided. Multiple constellation points of an nth detection layer corresponding to a MIMO channel matrix are enumerated based on an enumeration rule, and at least one nth sub-set of the nth detection layer is defined. K constellation points are obtained from each of the at least one nth sub-set as preferred points, and Kn preferred points are selected from all the K preferred points of the at least one nth sub-set. K1 preferred points are transferred to a second detection layer from a first detection layer. K2 preferred points are transferred to a third detection layer from the second detection layer. K(T−1) preferred points are transferred to a Tth detection layer from a (T−1)th detection layer. An optimal solution is determined according to Kn preferred points of the nth detection layer. K and at least one of K1 to KT are determined by the characteristic of the MIMO channel matrix.
The invention will become apparent from the following detailed description of the preferred but non-limiting embodiments. The following description is made with reference to the accompanying drawings.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a flow chart of a sphere decoding method applied to a MIMO channel according to a preferred embodiment of the invention.
FIG. 2 is a flow chart of a sphere decoding method applied to a MIMO channel according to a first embodiment of the invention
FIG. 3 shows a schematic illustration of constellation points of a detection layer of the sphere decoding method
FIG. 4 shows a schematic illustration of one example of the real-part candidate values and imaginary-part candidate values corresponding to the first detection layer according to the first embodiment of the invention.
FIG. 5 shows a schematic illustration of another example of the real-part candidate values and imaginary-part candidate values corresponding to the first detection layer according to the first embodiment of the invention
FIG. 6 shows a schematic illustration of one example of the real-part candidate values and imaginary-part candidate values corresponding to the second detection layer according to the first embodiment of the invention
FIG. 7 shows a schematic illustration of one example of the real-part candidate values and imaginary-part candidate values corresponding to the Tth detection layer according to the first embodiment of the invention
FIG. 8 is a flow chart of a sphere decoding method applied to a MIMO channel according to a second embodiment of the invention
FIG. 9 shows a schematic illustration of one example of preferred points P(1) corresponding to the second detection layer and the second constellation points according to the second embodiment of the invention
FIG. 10 shows a schematic illustration of another example of the preferred points P(1) corresponding to the second detection layer and second constellation points according to the second embodiment of the invention
FIG. 11 shows a schematic illustration of one example of the enumerated preferred points P(2) corresponding to the third detection layer and the third constellation points according to the second embodiment of the invention
FIG. 12 shows a schematic illustration of one example of the enumerated preferred points P(2T−1) corresponding to the 2Tth detection layer and the 2Tth constellation points according to the second embodiment of the invention.



DETAILED DESCRIPTION OF THE INVENTION
The invention is directed to a sphere decoding method applied to a MIMO channel. Based on the SE enumeration rule, the corresponding preferred points can be obtained respectively in the complex domain and the real domain from a part of constellation points in each detection layer according to the corresponding SNR of each detection layer, thereby reducing the detection complexity of the sphere decoding method and maintaining the signal receiving performance of the MIMO system.
FIG. 1 is a flow chart of a sphere decoding method applied to a MIMO channel according to a preferred embodiment of the invention.
Referring to FIG. 1, in step S100, multiple constellation points of an nth detection layer corresponding to a MIMO channel matrix are enumerated based on an enumeration rule, and at least one nth sub-set of the nth detection layer is defined. For example, the enumeration rule is an SE enumeration rule. The MIMO channel matrix corresponds to the first to the Tth detection layers, the nth detection layer and Kn respectively correspond to at least one of the second to the (T−1)th detection layers and K2 to K(T−1), Kn being a positive number. In step S110, K constellation points are obtained from each of the at least one nth sub-set as the preferred points, and Kn preferred points of the nth detection layer are selected from all the K preferred points of the at least one nth sub-set, wherein K is a positive integer, and Kn is less than or equal to a positive integer of a total number of all the K preferred points of the at least one nth sub-set. In step S120, K1 preferred points are transferred to the second detection layer from the first detection layer, K2 preferred points are transferred to the third detection layer from the second detection layer, . . . , K(T−1) preferred points are transferred to the Tth detection layer from the (T−1)th detection layer. In step S130, an optimal solution is determined according to the KT preferred points of the Tth detection layer, wherein at least one of K and K1 to KT are determined by the characteristic of the MIMO channel matrix. The characteristic of the MIMO channel matrix is the reliability of zero-forcing soft-output solutions of the MIMO channel matrix corresponding to the detection layers. The reliability of each detection layer is determined by a signal-to-noise ratio (SNR) of the detection layer.
Embodiments of the sphere decoding method, which are respectively applied in the complex domain and the real domain, are taken as examples for elaboration as follows. The enumeration rule can be the SE enumeration rule, for example, but it is not limited thereto. The triangular matrix corresponding to the channel matrix is exemplified to be an upper triangular matrix such that the reliability of the T detection layers decreases progressively i.e. K1≧K2≧ . . . ≧KT for illustration. However, the invention is not limited thereto. Kn is substantially determined by the characteristic of the MIMO channel matrix, that is, Kn is substantially determined by a SNR of the nth detection layer.
Embodiment One
The sphere decoding method applied to a MIMO channel of the embodiment is applied in the complex domain. The method includes the steps of, a. receiving T signals transmitted via a MIMO channel, wherein T is a positive integer and the MIMO channel is characterized by a channel matrix; b. generating a triangular matrix corresponding to the channel matrix, wherein the triangular matrix corresponds to a first detection layer to a Tth detection layer, the SNR corresponding to the jth detection layer is larger than or equal to the SNR corresponding to the (j+1)th detection layer, and j is a positive integer from 1 to (T−1); c. obtaining a first zero-forcing soft-output solution corresponding to the first detection layer and obtaining K1 preferred points P(1) of the first detection layer based on the SE enumeration rule; d. obtaining Kn−1 nth zero-forcing soft-output solutions corresponding to the nth detection layer according to Kn−1 preferred points P(n−1) of the (n−1)th detection layer, selecting multiple nth constellation points corresponding to the Kn−1 nth zero-forcing soft-output solutions based on the SE enumeration rule, and obtaining Kn preferred points P(n) of the nth detection layer according to partial Euclidean distances (PEDs) corresponding to the nth constellation points, wherein n is a positive integer from 2 to (T−1); and e. obtaining KT−1 Tth zero-forcing soft-output solutions corresponding to the Tth detection layer, obtaining KT preferred points P(T) of the Tth detection layer based on the SE enumeration rule, and obtaining an optimal solution corresponding to the T signals according to one of the KT preferred points P(T) corresponding to the least PED. K1, K2, . . . , and KT are positive integers and K1≧K2≧ . . . ≧KT.
Further detailed description is provided below. FIG. 2 is a flow chart of a sphere decoding method applied to a MIMO channel according to a first embodiment of the invention. Referring to FIG. 1, first, in step S200, T signals transmitted via a MIMO channel are received. The MIMO channel is characterized by a channel matrix. Preferably, R′ reception antennas are used to receive T signals transmitted by T transmitter antennas via the MIMO channel, wherein R′ is a positive integer. The channel matrix is an R′×T channel matrix H. The MIMO system represented in the time domain or the frequency domain can be defined as following:

r=Hx+n  (1)

wherein the R′×1 matrix r represents the signals received by the R′ reception antennas, the T×1 matrix x represents the signals transmitted by the T transmission antennas, and the R′×1 matrix n represents noise.

Next, in step S210, a Q-R decomposition is performed on the channel matrix H to generate a triangular matrix, and the triangular matrix corresponds to a first detection layer to a Tth detection layer. Preferably, the first detection layer to the Tth detection layer respectively correspond to rows of the triangular matrix having the most “0” elements, the secondly most “0” elements, the least “0” elements. By performing the above Q-R decomposition, it can be obtained:

H=QR 

wherein Q is an R′×T matrix and R is a T×T triangular matrix. The triangular matrix R is an upper triangular matrix for instance, but is not limited thereto. After the step S210, according to the equality formula (1), another equality formula of the MIMO system can be obtained as following:

y=QHr=Rx+QHn  (2)

wherein the matrix product of QH and Q is an unit matrix I. If the noise item QHn in the equality formula (2) is omitted, and the triangular matrix is an upper triangular matrix, the equality formula (2) can be expanded in a matrix form as followings:





  
    
      
        
          [
          
            
              
                
                  y
                  1
                
              
            
            
              
                
                  y
                  2
                
              
            
            
              
                
                  y
                  3
                
              
            
            
              
                ⋮
              
            
            
              
                
                  y
                  T
                
              
            
          
          ]
        
        =
        
          
            [
            
              
                
                  
                    r
                    11
                  
                
                
                  
                    
                      r
                      12
                      
                        (
                        r
                        )
                      
                    
                    +
                    
                      i
                      ·
                      
                        r
                        12
                        
                          (
                          i
                          )
                        
                      
                    
                  
                
                
                  
                    
                      r
                      13
                      
                        (
                        r
                        )
                      
                    
                    +
                    
                      i
                      ·
                      
                        r
                        13
                        
                          (
                          i
                          )
                        
                      
                    
                  
                
                
                  ...
                
                
                  
                    
                      r
                      
                        1
                        ⁢
                        
                          
                        
                        ⁢
                        T
                      
                      
                        (
                        r
                        )
                      
                    
                    +
                    
                      i
                      ·
                      
                        r
                        
                          1
                          ⁢
                          
                            
                          
                          ⁢
                          T
                        
                        
                          (
                          i
                          )
                        
                      
                    
                  
                
              
              
                
                  0
                
                
                  
                    r
                    22
                  
                
                
                  
                    
                      r
                      23
                      
                        (
                        r
                        )
                      
                    
                    +
                    
                      i
                      ·
                      
                        r
                        23
                        
                          (
                          i
                          )
                        
                      
                    
                  
                
                
                  ⋱
                
                
                  
                    
                      r
                      
                        2
                        ⁢
                        
                          
                        
                        ⁢
                        T
                      
                      
                        (
                        r
                        )
                      
                    
                    +
                    
                      i
                      ·
                      
                        r
                        
                          2
                          ⁢
                          
                            
                          
                          ⁢
                          T
                        
                        
                          (
                          i
                          )
                        
                      
                    
                  
                
              
              
                
                  0
                
                
                  0
                
                
                  
                    r
                    33
                  
                
                
                  ⋱
                
                
                  
                    
                      r
                      
                        3
                        ⁢
                        
                          
                        
                        ⁢
                        T
                      
                      
                        (
                        r
                        )
                      
                    
                    +
                    
                      i
                      ·
                      
                        r
                        
                          3
                          ⁢
                          
                            
                          
                          ⁢
                          T
                        
                        
                          (
                          i
                          )
                        
                      
                    
                  
                
              
              
                
                  ⋮
                
                
                  ⋮
                
                
                  ⋱
                
                
                  ⋱
                
                
                  ⋮
                
              
              
                
                  0
                
                
                  0
                
                
                  0
                
                
                  0
                
                
                  
                    r
                    TT
                  
                
              
            
            ]
          
          ⁡
          
            [
            
              
                
                  
                    x
                    1
                  
                
              
              
                
                  
                    x
                    2
                  
                
              
              
                
                  
                    x
                    3
                  
                
              
              
                
                  ⋮
                
              
              
                
                  
                    x
                    T
                  
                
              
            
            ]
          
        
      
    
    
      
        (
        3
        )
      
    
  




wherein yp and rpg are given, p is a positive integer from 1 to T, and q is a positive integer from 1 to T. This embodiment finds the optimal solution of x1 to xT by using the values of given yp and ypq.

In the equality formula (3), the equation yT=rTTxT corresponding to xT is defined as the first detection layer, the equations corresponding to xT−1, . . . , x2 are subsequently defined as the second to (T−1)th detection layers, the equation y1=r1TxT+ . . . +r11x1 corresponding to x1 is defined as the Tth detection layer, wherein each detection layer includes M constellation points and M is a positive integer.
FIG. 3 shows a schematic illustration of constellation points of a detection layer of the sphere decoding method. Referring to FIG. 3, each detection layer is exemplified to include 64 constellation points (symbolized by hollow dots) for illustration, but is not limited thereto. The K-Best sphere decoding method generates Kn preferred points corresponding to the nth detection layer, wherein n is a positive integer from 1 to T and Kn is less than M.
Then, in step S220, a first zero-forcing soft-output solution corresponding to the value xT of the first detection layer is obtained and K1 preferred points P(1) of the first detection layer are obtained based on the SE enumeration rule. Corresponding to the first detection layer, the equation yT=rTTxT is solved to obtain the first zero-forcing soft-output solution yT/rTT of xT, and the first zero-forcing soft-output solution yT/rTT of xT could be represented by floating-point numbers for its real part and imaginary part, such as the point Z(1.4, 2.3) in FIG. 3. In the following steps, K1 constellation points near the point Z are obtained to be K1 preferred points.
The above SE enumeration rule subsequently enumerates integers near a target value in an ascending order according to a one-dimensional distance (a distance along the real axis or the imaginary axis) from the target value. Example is made by taking the real part of Z point, i.e., 1.4, for illustration. Based on the SE enumeration rule, the sequentially enumerated are real parts 1, 3, −1, 5, −3, 7, −5, . . . , which are integers and have near to far distances from the target value along the real axis. Because the SE enumeration rule can be implemented with simple algorithm, the system computational complexity can be reduced efficiently. In the coordinates of FIG. 3, the real axis and the imaginary axis respectively represent the amplitudes of two orthogonal carriers modulated by the quadrature amplitude modulation (QAM) of the MIMO system.
The step S220 substantially enumerates multiple constellation points of the first detection layer based on the SE enumeration rule and defines a first sub-set of the first detection layer. A candidate range of the constellation points of the first sub-set is determined by a real-part candidate range M1 and an imaginary-part candidate range M2. In the step S220, M1 real-part candidate values and M2 imaginary-part candidate values according to the first zero-forcing soft-output solution of xT are obtained based on the SE enumeration rule. M1 and M2 are both positive integers and less than or equal to √{square root over (M)}, and the product of M1 and M2 is larger than or equal to K1. Then, let the values of the first constellation points corresponding to the M1 real-part candidate values and M2 imaginary-part candidate values to be xT for respectively substituting for rTTxT, and the obtained results are defined to be y′T. As a result, the PED corresponding to each first constellation point is a square root of the corresponding (y′T−yT)2. The K1 preferred points P(1) of the first detection layer can be obtained from the first constellation points, wherein any of the PEDs corresponding to the K1 preferred points P(1) is less than the PED corresponding to any of other first constellation points. Therefore, the K1 preferred points P(1) of the first detection layer can be obtained without having to substantially calculate the PEDs up to M times, thereby reducing the system complexity.
Then, in step S230, K(n−1) nth zero-forcing soft-output solutions of xT−n+1 corresponding to the nth detection layer are obtained according to K(n−1) preferred points P(n−1) of the (n−1)th detection layer, multiple nth constellation points corresponding to K(n−1) nth zero-forcing soft-output solutions are selected based on the SE enumeration rule, and Kn preferred points P(n) of the nth detection layer are obtained according to the PEDs corresponding to the nth constellation points, wherein n is a positive integer from 2 to (T−1).
The step S230 substantially enumerates multiple constellation points of the nth detection layer by using the SE enumeration rule and defines multiple nth sub-sets of the nth detection layer. In the step S230, when n is 2, the equation yT−1=r(T−1)TxT+r(T−1)(T−1)xT−1 is solved to obtain the K1 second zero-forcing soft-output solutions of xT−1 corresponding to the second detection layer according to the K1 preferred points P(1), and M1 real-part candidate values and M2 imaginary-part candidate values corresponding to each of the K1 second zero-forcing soft-output solutions of xT−1 are obtained based on the SE enumeration rule. Each second zero-forcing soft-output solution corresponds to one M1 value and one M2 value. The M1 values and M2 values corresponding to the second zero-forcing soft-output solutions can be the same or different. K1 second sub-sets corresponding to the K1 second zero-forcing soft-output solutions of xT−1 can be respectively obtained from the constellation points corresponding to the real-part candidate values and imaginary-part candidate values. K second constellation points are selected from each of the K1 second sub-sets, wherein the value of K corresponding to each second sub-set may be the same or different. Due to the advantage of using the SE enumeration rule, the values of K corresponding to the K1 second sub-sets can be enumerated in a descending order.
Afterwards, the values of the second constellation points are set to be xT−1, the second constellation point and the corresponding preferred points P(1) are substituted into r(T−1)TxT+r(T−1)(T−1)XT−1, and the obtained results are defined to be y′T−1. Therefore, the PED corresponding to each second constellation point corresponds to a square root of the corresponding (y′T−yT)2+(y′T−1−yT−1)2. K2 preferred points P(2) of the second detection layer are obtained from the second constellation points and transferred to the third detection layer. Any of the PEDs corresponding to the K2 preferred points P(2) is less than the PED corresponding to any of the other second constellation points.
If n is less than or equal to (T−2), the value of n is added by 1. Consequently, yT−n+1=r(T−n+1)TxT+ . . . +r(T−n+1)(T−n+1)xT−n+1 is solved to obtain K(n−1) nth zero-forcing soft-output solutions of xT−n+1 according to K(n−1) preferred points P(n−1) of the (n−1)th detection layer, and the nth zero-forcing soft-output solutions of each xT−n+1 correspond to an nth sub-set based on the SE enumeration rule. That is, the nth zero-forcing soft-output solutions of each xT−n+1 correspond to M1 real-part candidate values and M2 imaginary-part candidate values. Each nth zero-forcing soft-output solution corresponds to one value of M1 and one value of M2. Corresponding to each nth zero-forcing soft-output solution of xT−n+1, K, M1 and M2 may be different. In practice, at least one of K, M1 and M2 is determined by the characteristic of the MIMO channel matrix. Preferably, the K(n−1) nth sub-sets corresponding to K(n−1) nth zero-forcing soft-output solutions of xT−n+1 of the nth detection layer correspond to different values of K according to the corresponding PEDs.
Kn preferred points P(n) of the nth detection layer are obtained from multiple constellation points corresponding to the real-part candidate values and imaginary-part candidate values, wherein the PED corresponding to each nth constellation points is a square root of the corresponding (y′T−yT)2+(y′T−1−yT−1)2+ . . . +(y′T−n+1−yT−n+1)2. Any of the PEDs corresponding to the Kn preferred points P(n) is less than the PED corresponding to any of the other nth constellation points. Therefore, the Kn preferred points P(n) of the nth detection layer can be obtained without having to substantially calculate the PEDs up to K(n−1)×M times, thereby reducing the system complexity.
Next, in step S240, the equation y1=r1TxT+ . . . +r11x1 is solved to obtain K(T−1) Tth zero-forcing soft-output solutions of x1 corresponding to the Tth detection layer according to K(T−1) preferred points P(T−1) of the (T−1)th detection layer, KT preferred points P(T) of the Tth detection layer are obtained based on the SE enumeration rule, and the optimal solution, i.e. the optimal solution to the matrix x, corresponding to the T signals is obtained according to one of the KT preferred points P(T) corresponding to the least PED. The PED corresponding to each of the KT preferred points P(T) is a square root of the corresponding (y′T−yT)2+(y′T−1−yT−1)2+ . . . +(y′1−y1)2. Consequently, the KT preferred points P(T) of the Tth detection layer can be obtained without having to substantially calculate the PEDs up to M times, thereby decreasing the system complexity.
In the following description, M=64, K=10 and K1=10 are exemplified for illustration, but the invention is not limited thereto. In the embodiment, the 10 preferred points P(1) of the first detection layer can be obtained by many methods. A weight enumeration rule and a geometric enumeration rule are taken for example. FIG. 4 shows a schematic illustration of one example of the real-part candidate values and imaginary-part candidate values corresponding to the first detection layer according to the first embodiment of the invention. Referring to FIG. 4, for example, M1 is 5, M2 is 4, but the invention is not limited thereto. In FIG. 4, 5 real-part candidate values and 4 imaginary-part candidate values for the first zero-forcing soft-output solution of xT can be obtained based on the SE enumeration rule, and the 10 preferred points P(1) of the first detection layer are obtained from the first constellation points corresponding to the 5 real-part candidate values and 4 imaginary-part candidate values by the weight enumeration rule. When the first zero-forcing soft-output solution of xT is the point Z(1.4, 2.3) of FIG. 2, the 5 real-part candidate values are respectively 5 real-part values, such as 1, 3, −1, 5 and −3, closest to the real-part value 1.4 of the point Z along the real axis. The 4 imaginary-part candidate values are respectively 4 imaginary-part values, such as 3, 1, 5 and −1, closest to the imaginary-part value 2.3 of the point Z along the imaginary axis.
In terms of the weight enumeration rule, the 10 preferred points P(1) corresponding to the first zero-forcing soft-output solution of xT are included in the first constellation points corresponding to the N1th real-part candidate value and the N2th imaginary-part candidate value. That is, for a union set {1≦N1≦M1,1≦N2≦M2}, if N1N2≦K1 is satisfied, the K1 preferred points are included in the first sub-set formed by the union set {N1,N2}, wherein N1 and N2 are both positive integers. In FIG. 4, the union set {N1,N2} is the shadow area, and the 10 preferred points P(1) are included in the 15 first constellation points in the shadow area. Any of the PEDs corresponding to the 10 preferred points P(1) is less than the PED corresponding to any of the other first constellation points.
For example, the first constellation points included in the area 402 of FIG. 4 are a collection of those having a multiplication of N1 and N2 less than or equal to 5×2 (=10). The first constellation points included in the area 404 are a collection of those having a multiplication of N1 and N2 less than or equal to 3×3 (=9). The first constellation points included in the area 406 are a collection of those having a multiplication of N1 and N2 less than or equal to 2×4 (=8). The shadow area corresponds to a union of the areas 402, 404 and 406 and is the first sub-set.
Besides, the 10 preferred points P(1) of the first detection layer can also be obtained from multiple constellation points near the first zero-forcing soft-output solution of xT by the geometric enumeration rule. FIG. 5 shows a schematic illustration of another example of the real-part candidate values and imaginary-part candidate values corresponding to the first detection layer according to the first embodiment of the invention. Referring to FIG. 5, M1 and M2 are respectively exemplified to be 5 and 3 for illustration, but are not limited thereto. In FIG. 5, the 10 preferred points P(1) of the first detection layer are obtained from the 15 first constellation points corresponding to 5 real-part candidate values and 3 imaginary-part candidate values by using the geometric enumeration rule. That is, the 10 preferred points P(1) are included in the 15 first constellation points of the shadow area. Respectively let xT to be the 15 constellation points, solutions to rTTxT are obtained and the obtained results are defined to be y′T. Then, the 10 first constellation points with the least PEDs (square roots of (y′T−yT)2) of the 15 first constellation points are selected to be the preferred points P(1). The 10 preferred points P(1) of the first detection layer are supposed to be A1, B1, . . . , and J1.
The 10 preferred points P(1) are transferred to the second detection layer, and respectively correspond to 10 second sub-sets (shadow areas 601 ̃610). FIG. 6 shows a schematic illustration of one example of the real-part candidate values and imaginary-part candidate values corresponding to the second detection layer according to the first embodiment of the invention. K2 is exemplified to be 9 in FIG. 6, but not limited thereto. In FIG. 6, the 10 preferred points P(1) i.e. A1, B1, . . . , and J1, are received from the first detection layer. Respectively let xT to be A1, B1, . . . , and J1 to be substituted into yT−1=r(T−1)TxT+r(T−1)(T−1)xT−1 to obtain 10 second zero-forcing soft-output solutions of xT−1 of the second detection layer. Then, M1 real-part candidate values and M2 imaginary-part candidate values corresponding to each of the 10 second zero-forcing soft-output solutions of xT−1 are obtained based on the SE enumeration rule.
In FIG. 6, after obtaining the second zero-forcing soft-output solutions of xT−1 according to the preferred point A1 of the first detection layer, M1=6 real-part candidate values and M2=5 imaginary-part candidate values are obtained based on the SE enumeration rule for instance. Next, suppose K is equal to 12, for example, 21 second constellation points of the second sub-set (the shadow area 601) are obtained from the 6 real-part candidate values and 5 imaginary-part candidate values by using the weight enumeration rule. Afterwards, K=12 second constellation points having the least PEDs are selected from the 21 second constellation points. The 12 second constellation points are supposed to be A1_1, A1_2, . . . , and A1_12. Take A1_1 as an example, the method of obtaining the PED of A1_1 is as following. First, xT is set to be A1 and xT−1 is set to be A1_1 to substitute into r(T−1)TxT+r(T−1)(T−1)xT−1, and the obtained result is defined to be y′T−1. Then, a square root of (y′T−yT)2+(y′T−1−yT−1)2, the PED of A1_1, is calculated by using the value y′T (=rTTxT) corresponding to xT=A1.
Likewise, after obtaining the second zero-forcing soft-output solution of xT−1 according to the preferred point B1 of the first detection layer, M1=5 real-part candidate values and M2=4 imaginary-part candidate values are obtained based on the SE enumeration rule. Suppose K is equal to 10, preferred points corresponding to B1 can be obtained, such as B1_1, B1_2, . . . , and B1_10. Likewise, after obtaining the second zero-forcing soft-output solution of XT−1 according to the preferred point J1 of the first detection layer, M1=2 real-part candidate values, M2=3 imaginary-part candidate values are obtained based on the SE enumeration rule, and K=6 preferred points, such as J1_1, J1_2, . . . , and J1_6 are obtained.
Following that, K2 (=9) second constellation points having smaller PEDs are selected from the (12+10+ . . . +6) second constellation points (i.e. A1_1 to A1_12, B1_1 to B1_10, . . . , J1_1 to J1_6) to be K2 (=9) preferred points P(2) of the second detection layer, and the 9 preferred points P(2) are respectively set as A2, B2, . . . , and I2. Then, the 9 preferred points P(2) are transferred to the third detection layer. Any of the PEDs corresponding to the 9 preferred points P(2) is less than the PED corresponding to any of the other second constellation points.
When n is less than or equal to (T−2), the value of n is added by 1. Consequently, corresponding to the nth detection layer, K(n−1) preferred points P(n−1) of the (n−1)th detection layer, i.e. A(n−1), B(n−1), . . . , are received and K(n−1) nth zero-forcing soft-output solutions of xT−n+1 corresponding to the nth detection layer are obtained. Multiple nth constellation points corresponding to the K(n−1) nth zero-forcing soft-output solutions are selected based on the SE enumeration rule, and the Kn preferred points P(n) of the nth detection layer are obtained according to the PEDs corresponding to the nth constellation points. The K(T−1) preferred points P(T−1) of the (T−1)th detection layer are transferred to the Tth detection layer. For example, K(T−1) is equal to 6.
FIG. 7 shows a schematic illustration of one example of the real-part candidate values and imaginary-part candidate values corresponding to the Tth detection layer according to the first embodiment of the invention. Referring to FIG. 7, the 6 preferred points P(T−1) of the (T−1)th detection layer are received and substituted into y1=r1TxT+ . . . +r11x1 to obtain 6 Tth zero-forcing soft-output solution of x1 corresponding to the Tth detection layer. As shown by the shadow area of FIG. 7, 1 real-part candidate value and 1 imaginary-part candidate value corresponding to each of the 6 Tth zero-forcing soft-output solution of x1 are obtained based on the SE enumeration rule. The real-part candidate values and imaginary-part candidate values correspond to 6 Tth constellation points, which are 6 preferred points P(T) of the Tth detection layer. The preferred point of the 6 preferred points P(T) corresponding to the least PED is the optimal solution corresponding to the T signals.
In the sphere decoding method applied to a MIMO channel disclosed in the first embodiment of the invention, an optimal solution of T signals can be obtained by merely calculating the PEDs of a portion of constellation points according to the SNR of each detection layer based on the SE enumeration rule in the complex domain, without having to calculate the PEDs of all the constellation points, thereby greatly reducing detection complexity of the sphere decoding method and the calculation time. Therefore, the values of the T signals outputted by T transmission antennas of a transmitting end can be quickly solved according to the R reception signals received by R reception antennas of a receiving end. Therefore, the receiving end using the sphere decoding method applied to a MIMO channel of the embodiment can have advantages of high-performance signal transmission and decoding and reducing system hardware complexity and chip area. Besides, the system can determine the values of M1, M2, K and Kn based on the characteristic of the MIMO channel, such that the system has the lowest packet error rate or bit error rate to maintain a brilliant signal receiving performance of the system.
Embodiment Two
The sphere decoding method applied to a MIMO channel of the embodiment is applied in the real domain and includes the steps of, a. receiving T signals transmitted via the MIMO channel, wherein T is a positive integer and the MIMO channel is characterized by a channel matrix; b. expanding the channel matrix in a real form and generating a corresponding triangular matrix, wherein the triangular matrix corresponds to a first detection layer to a 2Tth detection layer, each detection layer includes √{square root over (M)} constellation points, √{square root over (M)} is a positive integer, the SNR corresponding to the jth detection layer is larger than or equal to that of the (j+1)th detection layer, and j is a positive integer from 1 to (2T−1); c. obtaining a first zero-forcing soft-output solution corresponding to the first detection layer, and obtaining K1 preferred points P(1) of the first detection layer based on the SE enumeration rule, wherein K1 is less than or equal to √{square root over (M)}; d. obtaining K1 second zero-forcing soft-output solutions corresponding to a second detection layer according to the K1 preferred points P(1) of the first detection layer, selecting multiple second constellation points corresponding to the K1 second zero-forcing soft-output solutions based on the SE enumeration rule, and obtaining K2 preferred points P(2) of the second detection layer according to PEDs corresponding to the second constellation points; e. obtaining K(n−1) nth zero-forcing soft-output solutions corresponding to an nth detection layer according to K(n−1) preferred points P(n−1) of the (n−1)th detection layer, selecting multiple nth constellation points corresponding to the K(n−1) n-th zero-forcing soft-output solutions based on the SE enumeration rule, and obtaining Kn preferred points P(n) of the nth detection layer according to the PEDs corresponding to the nth constellation points, wherein n is a positive integer from 3 to (2T−1), and f. obtaining K(2T−1) 2T-th zero-forcing soft-output solutions corresponding to the 2T-th detection layer according to the K(2T−1) preferred points P(2T−1) of the (2T−1)-th detection layer, obtaining K2T preferred points P(2T) of the 2Tth detection layer based on the SE enumeration rule, and obtaining an optimal solution corresponding to the T signals according to one of the K2T preferred points P(2T) corresponding to the least PED, wherein K1, K2, . . . , and K2T are positive integers and K1≧K2≧ . . . ≧K2T.
Further detailed description is provided below. FIG. 8 is a flow chart of a sphere decoding method applied to a MIMO channel according to a second embodiment of the invention. Referring to FIG. 8, first, in step S800, T signals transmitted via a MIMO channel are received. The MIMO channel is characterized by a channel matrix. Preferably, R′ reception antennas are used to receive T signals transmitted by T transmitter antennas via the MIMO channel, wherein R′ is a positive integer. The channel matrix is an R′×T channel matrix H. The MIMO system represented in the time domain or the frequency domain can be defined as the equality formula (1):

r=Hx+n 

wherein the R′×1 matrix r represents the signals received by the R′ reception antennas, the T×1 matrix x represents the signals transmitted by the T transmission antennas, and the R′×1 matrix n represents noise.

Next, in step S810, the channel matrix H is expanded in a real form and a Q-R decomposition is performed on the channel matrix H expanded in the real form to generate a triangular matrix, wherein the triangular matrix corresponds to a first detection layer to a 2Tth detection layer. Preferably, the first detection layer to the 2Tth detection layer respectively correspond to rows of the triangular matrix having the most “0” elements, the secondly most “0” elements, . . . , the least “0” elements. In the step S810, the equality formula (1) of the MIMO system can be substantially transferred as following:




  
    
      
        
          
            
              r
              R
            
            ⁢
            
              H
              R
            
            ⁢
            
              x
              R
            
          
          +
          
            n
            R
          
        
        ⁢
        
          

        
        ⁢
        wherein
        ⁢
        
          

        
        ⁢
        
          
            
              r
              R
            
            =
            
              
              
                
                  
                    
                      Re
                      ⁡
                      
                        (
                        r
                        )
                      
                    
                  
                
                
                  
                    
                      Im
                      ⁡
                      
                        (
                        r
                        )
                      
                    
                  
                
              
              
            
          
          ,
          
            
              x
              R
            
            =
            
              
              
                
                  
                    
                      Re
                      ⁡
                      
                        (
                        x
                        )
                      
                    
                  
                
                
                  
                    
                      Im
                      ⁡
                      
                        (
                        x
                        )
                      
                    
                  
                
              
              
            
          
          ,
          
            
              n
              R
            
            =
            
              
              
                
                  
                    
                      Re
                      ⁡
                      
                        (
                        n
                        )
                      
                    
                  
                
                
                  
                    
                      Im
                      ⁡
                      
                        (
                        n
                        )
                      
                    
                  
                
              
              
            
          
          ,
          and
        
      
    
    
      
        (
        4
        )
      
    
  
  
    
      
        
          H
          R
        
        =
        
          [
          
            
              
                
                  Re
                  ⁡
                  
                    (
                    H
                    )
                  
                
              
              
                
                  -
                  
                    Im
                    ⁡
                    
                      (
                      H
                      )
                    
                  
                
              
            
            
              
                
                  Im
                  ⁡
                  
                    (
                    H
                    )
                  
                
              
              
                
                  Re
                  ⁡
                  
                    (
                    H
                    )
                  
                
              
            
          
          ]
        
      
    
    
      
        
      
    
  




Besides, by performing the above Q-R decomposition, it can be obtained:

HR=QRRR 

wherein QR is a 2R′×2T matrix and RR is a 2T×2T triangular matrix. The triangular matrix RR is an upper triangular matrix for instance, but is not limited thereto. After the step S810, according to the equality formula (4), another equality formula of the MIMO system can be obtained as following:

yR=QRTrR=RRxR+QTnR  (5)

wherein the matrix product of QT and Q is an unit matrix I. If the noise item QTnR in the equality formula (5) is omitted, and the triangular matrix RR is an upper triangular matrix, the equality formula (5) can be expanded in a matrix form as followings:





  
    
      
        
          [
          
            
              
                
                  
                    y
                    1
                  
                  ~
                
              
            
            
              
                
                  
                    y
                    2
                  
                  ~
                
              
            
            
              
                
                  
                    y
                    3
                  
                  ~
                
              
            
            
              
                ⋮
              
            
            
              
                              
            
          
          ]
        
        =
        
          
            [
            
              
                
                  
                    
                      r
                      11
                    
                    ~
                  
                
                
                  
                    
                      r
                      12
                    
                    ~
                  
                
                
                  
                    
                      r
                      13
                    
                    ~
                  
                
                
                  ...
                
                
                                  
              
              
                
                  0
                
                
                  
                    
                      r
                      22
                    
                    ~
                  
                
                
                  
                    
                      r
                      23
                    
                    ~
                  
                
                
                  ⋱
                
                
                                  
              
              
                
                  0
                
                
                  0
                
                
                  
                    
                      r
                      33
                    
                    ~
                  
                
                
                  ⋱
                
                
                                  
              
              
                
                  ⋮
                
                
                  ⋮
                
                
                  ⋱
                
                
                  ⋱
                
                
                  ⋮
                
              
              
                
                  0
                
                
                  0
                
                
                  0
                
                
                  0
                
                
                                  
              
            
            ]
          
          ⁡
          
            [
            
              
                
                  
                    
                      x
                      1
                    
                    ~
                  
                
              
              
                
                  
                    
                      x
                      2
                    
                    ~
                  
                
              
              
                
                  
                    
                      x
                      3
                    
                    ~
                  
                
              
              
                
                  ⋮
                
              
              
                
                                  
              
            
            ]
          
        
      
    
    
      
        (
        6
        )
      
    
  




wherein  and  are given, p is a positive integer from 1 to 2T, and q is a positive integer from 1 to 2T. This embodiment finds the optimal solution of {tilde over (x)}1 to  by using the values of given  and .

In the equality formula (6), the equation = corresponding to  is defined as the first detection layer, the equation =+ corresponding to  is defined as the second detection layer, the equations corresponding to , . . . , {tilde over (x)}{tilde over (x2)} are subsequently defined as the third to the (2T−1)-th detection layers, the equation {tilde over (y)}{tilde over (yt)}=+ . . . + corresponding to {tilde over (x)}{tilde over (x1)} is defined as the 2Tth detection layer, wherein each detection layer includes √{square root over (M)} constellation points and √{square root over (M)} is a positive integer. The K-Best sphere decoding method generates Kn preferred points corresponding to the nth detection layer, and Kn is less than √{square root over (M)}, n is equal to 1 to 2T.
Then, in step S820, a first zero-forcing soft-output solution corresponding to the value  of the first detection layer is obtained and K1 preferred points P(1) of the first detection layer are obtained based on the SE enumeration rule, wherein K1 is a positive integer and less than or equal to √{square root over (M)}. Corresponding to the first detection layer, the equation = is solved to obtain the first zero-forcing soft-output solution  of , and the first zero-forcing soft-output solution of  could be represented by floating-point numbers for its real part and imaginary part. The above SE enumeration rule enumerates K1 integers near the first zero-forcing soft-output solution of  in an ascending order according to a one-dimensional distance from the first zero-forcing soft-output solution of . The K1 integers are K1 preferred points P(1). Any of the PEDs corresponding to the K1 preferred points P(1) is less than the PED corresponding to any of the other first constellation points. The K1 preferred points P(1) of the first detection layer can be obtained without having to calculate the PEDs, thereby reducing the system complexity.
Then, in step S830, K1 second zero-forcing soft-output solutions of  corresponding to the second detection layer are obtained according to the K1 preferred points P(1) of the first detection layer, multiple second sub-set corresponding to the K1 second zero-forcing soft-output solutions are defined based on the SE enumeration rule. K second constellation points are selected from each of the K1 second sub-set, wherein the values of K corresponding to the second sub-sets may be the same or different. Then, K2 preferred points P(2) of the second detection layer are obtained according to the PEDs corresponding to the second constellation points.
In the step S830, =+ is solved to obtain the K1 second zero-forcing soft-output solutions of  corresponding to the second detection layer according to the K1 preferred points P(1) of the first detection layer, and K second constellation points for each of the K1 second zero-forcing soft-output solutions of  are obtained based on the SE enumeration rule.
Then, the second constellation points are set to be , the second constellation points and the corresponding preferred points P(1) are substituted into +, and the obtained results are defined to be . Therefore, the PED corresponding to each second constellation point corresponds to a square root of the corresponding −+−. K2 preferred points P(2) of the second detection layer are obtained from the second constellation points and transferred to the third detection layer. Any of the PEDs corresponding to the K2 preferred points P(2) is less than the PED corresponding to any of the other second constellation points.
Following that, in step S840, K(n−1) nth zero-forcing soft-output solutions of  corresponding to the nth detection layer are obtained according to K(n−1) preferred points P(n−1) of the (n−1)th detection layer, multiple nth constellation points corresponding to K(n−1) nth zero-forcing soft-output solutions are selected based on the SE enumeration rule, and Kn preferred points P(n) of the nth detection layer are obtained according to the PEDs corresponding to the nth constellation points, wherein n is a positive integer from 3 to (2T−1).
The step S840 substantially enumerates multiple constellation points of the nth detection layer based on the SE enumeration rule and defines multiple nth sub-sets of the nth detection layer. In the step S840, when n is 3, first, the K2 preferred points P(2) are enumerated in an order from small to large. The equation =++ is solved to obtain the K2 third zero-forcing soft-output solutions of  corresponding to the third detection layer according to the enumerated K2 preferred points P(2) of the second detection layer, and K2 third sub-sets for the K2 third zero-forcing soft-output solutions  are based on the SE enumeration rule. Each of the third sub-sets includes M1 third constellation points, Mi is less than or equal to √{square root over (M)}, and each of the Mi values can be equal to or different from each other.
Afterwards, the values of the third constellation points are set to be  and substituted into ++, and the obtained results are defined to be . Therefore, the PED corresponding to each third constellation point corresponds to a square root of the corresponding −+−+−. K3 preferred points P(3) of the third detection layer are obtained from the third constellation points and transferred to the fourth detection layer. Any of the PEDs corresponding to the K3 preferred points P(3) is less than the PED corresponding to any of the other third constellation points.
When n is less than or equal to (2T−2), the value of n is added by 1. Consequently, =+ . . . + is solved to obtain K(n−1) nth zero-forcing soft-output solutions of  corresponding to the nth detection layer according to K(n−1) preferred points P(n−1) of the (n−1)th detection layer, and the nth zero-forcing soft-output solutions of each  correspond to an nth sub-set based on the SE enumeration rule. That is, the nth zero-forcing soft-output solutions of each  correspond to Mi nth constellation points respectively, wherein each of the Mi values can be equal to or different from each other. The Kn preferred points P(n) of the nth detection layer are obtained from the nth constellation points. The PED corresponding to each nth constellation point is a square root of the corresponding −+−+ . . . +−. Any of the PEDs corresponding to the Kn preferred points P(n) is less than the PED corresponding to any of the other nth constellation points. Therefore, the Kn preferred points P(n) of the nth detection layer can be obtained without having to calculate the PEDs up to K(n−1)×M times, thereby reducing the system complexity.
Afterwards, in step S850, the equation {tilde over (y)}{tilde over (y1)}=+ . . . + is solved to obtain K(2T−1) 2Tth zero-forcing soft-output solutions of {tilde over (x)}{tilde over (x1)} corresponding to the 2Tth detection layer according to K(2T−1) preferred points P(2T−1) of the (2T−1)th detection layer, K2T preferred points P(2T) of the 2Tth detection layer are obtained based on the SE enumeration rule, and the optimal solution, i.e. the optimal solution to the matrix xR, corresponding to the T signals is obtained according to one of the K2T preferred points P(2T) corresponding to the feast PED. The PED corresponding to each of the K2T preferred points P(2T) is a square root of the corresponding −+−+ . . . +−. Consequently, the K2T preferred points P(2T) of the 2Tth detection layer can be obtained without having to substantially calculate the PEDs up to √{square root over (M)}×K(2T−1) times, thereby decreasing the system complexity.
In the following description, M=64, K1=5 and K2=10 are exemplified for illustration, but the invention is not limited thereto. Corresponding to the first zero-forcing soft-output solution of , the K1=5 preferred points P(1) of the first detection layer are obtained based on the SE enumeration rule without having to calculate the PEDs, and the 5 preferred points P(1) are transferred to the second detection layer. Any of the PED of the 5 preferred points P(1) is less than the PED of any of the other constellation points.
In the embodiment, the 10 preferred points P(2) of the second detection layer can be obtained by many methods. A weight enumeration rule and a geometric enumeration rule are taken for example. FIG. 9 shows a schematic illustration of one example of preferred points P(1) and the second constellation points corresponding to the second detection layer according to the second embodiment of the invention. Referring to FIG. 9, for the K1=5 second zero-forcing soft-output solution of , 5 second sub-sets are obtained along a single axis based on the SE enumeration rule, and M2 second constellation points are obtained from each of the second sub-sets. The 10 preferred points P(2) of the second detection layer are obtained from multiple second constellation points by the weight enumeration rule. Each of the second zero-forcing soft-output solutions correspond to one value of M2, and the M2 values corresponding to the second zero-forcing soft-output solutions may be the same or different. In FIG. 9, the values of M2 in the first to the fifth rows are exemplified to be respectively 4, 5, 3, 2 and 2 for illustration, but are not limited thereto.
Owing that RR is a real matrix, all elements in RR are real numbers. Therefore, the step of obtaining multiple constellation points along a single axis based on the SE enumeration rule implies obtaining the constellation points along one of the real axis and the imaginary axis based on the SE enumeration rule. In FIG. 9, each row of second constellation points corresponds to one preferred point P(1) and the PEDs of the preferred points P(1) corresponding to the rows from top to bottom are increasing progressively. That is, the second constellation points in the shadow area of the first row are the real-part or imaginary-part values of 4 second constellation points near the second zero-forcing soft-output solution obtained based on the preferred points P(1) having the least PED. The second constellation points in the shadow area of the second row are the real-part or imaginary-part values of 4 second constellation points near the second zero-forcing soft-output solution obtained based on the preferred points P(1) having the second smallest PED. The second constellation points in the shadow area of the other rows are obtained likewise.
In terms of the weight enumeration rule, the 10 preferred points P(2) corresponding to the second zero-forcing soft-output solution of  include the N2th second constellation counted from left to right in the N1th preferred point P(1) counted from top to bottom. That is, for a union set {1≦N1≦M1,1≦N2≦M2}, if N1N2≦K2 is satisfied, the K2 preferred points are included in the second sub-set formed by the union set {N1,N2}, wherein N1 and N2 are both positive integers. In FIG. 9, the union set {N1,N2} is the shadow area, and the 10 preferred points P(2) are included in the 15 second constellation points in the shadow area. Any of the PEDs corresponding to the 10 preferred points P(2) is less than the PED corresponding to any of the other second constellation points.
Besides, the 10 preferred points P(2) of the second detection layer can also be obtained from multiple constellation points near the second zero-forcing soft-output solution of  by the geometric enumeration rule. FIG. 10 shows a schematic illustration of another example of the preferred points P(1) and second constellation points corresponding to the second detection layer according to the second embodiment of the invention. Referring to FIG. 10, M2 is exemplified to be 3 for illustration, but is not limited thereto. In FIG. 10, the 10 preferred points P(2) of the second detection layer are obtained from the 15 second constellation points of the shadow area by using the geometric enumeration rule. The 10 preferred points P(2) are transferred to the third detection layer.
FIG. 11 shows a schematic illustration of one example of the enumerated preferred points P(2) and the third constellation points corresponding to the third detection layer according to the second embodiment of the invention. Referring to FIG. 11, the 10 preferred points P(2) are received from the second detection layer and enumerated according to the corresponding PEDs. Then, the enumerated 10 preferred points P(2) are substituted into =++ to obtain 10 third zero-forcing soft-output solutions {tilde over (x)}{tilde over (x2T−2)} corresponding to the third detection layer. Afterward, M3 third constellation points for each of the 10 third zero-forcing soft-output solutions of  are obtained based on the SE enumeration rule, wherein every M3 value corresponding to each of third zero-forcing soft-output solutions is different from or equal to each other.
In FIG. 11, 9 preferred points P(3) of the third detection layer are obtained from multiple third constellation points corresponding to the 10 third zero-forcing soft-output solutions of  by the weight enumeration rule, but the invention is not limited thereto. The 9 preferred points P(3) of the third detection layer can also be obtained by the geometric enumeration rule. In FIG. 11, the M3 nth constellation points corresponding to each third zero-forcing soft-output solution include the V2th third constellation point corresponding to the V1th preferred point P(2). That is, for the union set {1≦V1≦K3,1≦V2≦M3}, if V1V2≦K3 is satisfied, the K3 preferred points are included in the third sub-set formed by the union set {V1,V2}, wherein V1 and V2 are both positive integers. In FIG. 11, the union set {V1,V2} is the shadow area, and the 9 preferred points P(3) are included in 20 third constellation points in the shadow area. Any of the PEDs corresponding to the 9 preferred points P(3) is less than the PED corresponding to any of the other third constellation points.
For example, the third constellation points included in the area 1102 of FIG. 11 are a collection of those having a multiplication of V1 and V2 less than or equal to 10×1 (=10). The third constellation points included in the area 1104 are a collection of those having a multiplication of V1 and V2 less than or equal to 5×2 (=10). The third constellation points included in the area 1106 are a collection of those having a multiplication of V1 and V2 less than or equal to 3×3 (=9). The third constellation points included in the area 1108 are a collection of those having a multiplication of V1 and V2 less than or equal to 2×5 (=10). The shadow area corresponds to a union of the areas 1102,1104, 1106 and 1108 and is the third sub-set.
When n is less than or equal to (2T−2), the value of n is added by 1. Consequently, corresponding to the nth detection layer, K(n−1) preferred points P(n−1) of the (n−1)th detection layer are received and K(n−1) nth zero-forcing soft-output solutions of  corresponding to the nth detection layer are obtained. Multiple nth constellation points corresponding to the K(n−1) nth zero-forcing soft-output solutions are selected based on the SE enumeration rule, and the Kn preferred points P(n) of the nth detection layer are obtained according to the PEDs corresponding to the nth constellation points. The K(2T−1) preferred points P(2T−1) of the (2T−1)th detection layer are transferred to the 2Tth detection layer.
FIG. 12 shows a schematic illustration of one example of the enumerated preferred points P(2T−1) and the 2T-th constellation points corresponding to the 2T-th detection layer according to the second embodiment of the invention. Referring to FIG. 12, the 6 preferred points P(2T−1) of the (2T−1)th detection layer are received and substituted into {tilde over (y)}{tilde over (y1)}=+ . . . + to obtain 6 2Tth zero-forcing soft-output solution of {tilde over (x)}{tilde over (x1)} corresponding to the 2Tth detection layer. As shown by the shadow area of FIG. 12, 1 2Tth constellation point for each of the 6 2Tth zero-forcing soft-output solution of {tilde over (x)}{tilde over (x1)}, are obtained based on the SE enumeration rule. The 6 2Tth constellation points are the 6 preferred points P(2T) of the 2Tth detection layer. The preferred point of the 6 preferred points P(2T) corresponding to the least PED is the optimal solution corresponding to the T signals.
In the sphere decoding method applied to a MIMO channel disclosed in the second embodiment of the invention, an optimal solution of T signals can be obtained by merely calculating the PEDs of the corresponding number of constellation points based on the SE enumeration rule in the real domain, without having to calculate the PEDs of all the constellation points, thereby greatly reducing detection complexity of the sphere decoding method and the calculation time. Therefore, the values of the T signals outputted by T transmission antennas of a transmitting end can be quickly solved according to the R reception signals received by R reception antennas of a receiving end. Therefore, the receiving end using the sphere decoding method applied to a MIMO channel of the embodiment can have advantages of high-performance signal transmission and decoding and reducing system hardware complexity and chip area. Besides, the system can determine the values of K1 to K2T, K, and Mi based on the characteristic of the MIMO channel, such that the system has the lowest packet error rate or bit error rate to maintain a brilliant signal receiving performance of the system.
The sphere decoding method applied to a MIMO channel disclosed by the above embodiments of the invention can obtain K preferred points for each detection layer by calculating the PEDs corresponding to a part of constellation points of each detection layer respectively in the complex domain and the real domain based on the SE enumeration rule. Consequently, the detection complexity of the sphere decoding method and the calculation time can be greatly reduced and the signal receiving performance of the system can be maintained.
While the invention has been described by way of example and in terms of a preferred embodiment, it is to be understood that the invention is not limited thereto. On the contrary, it is intended to cover various modifications and similar arrangements and procedures, and the scope of the appended claims therefore should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements and procedures.

## Claims

1. A sphere decoding method applied to a multi-input multi-output (MIMO) channel, comprising:
enumerating a plurality of constellation points of an nth detection layer corresponding to a MIMO channel matrix based on an enumeration rule, and defining at least one nth sub-set of the nth detection layer, wherein the MIMO channel matrix corresponds to a first detection layer to a Tth detection layer, the nth detection layer and Kn respectively correspond to at least one of a second detection layer to a (T−1)th detection layer and K2 to K(T−1), Kn being a positive integer;
obtaining K constellation points from each of the at least one nth sub-set as preferred points and selecting Kn preferred points of the nth detection layer from all the K preferred points of the at least one nth sub-set, wherein K is a positive integer, and Kn is less than or equal to a positive integer of a total number of all the K preferred points of the at least one nth sub-set;
transferring K1 preferred points to the second detection layer from the first detection layer, transferring K2 preferred points to a third detection layer from the second detection layer, . . . , transferring K(T−1) preferred points to the Tth detection layer from the (T−1)th detection layer; and
determining an optimal solution according to KT preferred points of the Tth detection layer, wherein at least one of K and K1 to KT is determined by the characteristic of the MIMO channel matrix, the method implemented by a processor on a chip to decode a signal provided over the MIMO channel.

2. The method according to claim 1, wherein the first, the second, . . . , and the Tth detection layers respectively correspond to rows of a triangular matrix having the most “0” elements, the secondly most “0” elements, . . . , the least “0” elements after performing a Q-R decomposition of the MIMO channel matrix, wherein K1≧K2≧ . . . ≧KT.

3. The method according to claim 1, wherein the characteristic of the MIMO channel matrix is the reliability of zero-forcing soft-output solutions of the MIMO channel matrix corresponding to the detection layers.

4. The method according to claim 3, wherein the reliability of each detection layer is determined by a signal-to-noise ratio (SNR) of the detection layer.

5. The method according to claim 3, wherein if the reliability of an ath detection layer is larger than the reliability of a bth detection layer, Ka is larger than Kb, wherein the ath detection layer and the bth detection layer are two of the first detection layer to the Tth detection layer.

6. The method according to claim 1, wherein the enumeration rule is the Schnorr & Euchner (SE) enumeration rule.

7. The method according to claim 1, wherein in the step of obtaining K constellation points from each of the at least one nth sub-set as preferred points, K constellation points having a least partial Euclidean distances (PEDs) are selected from the at least one nth sub-set to be the preferred points.

8. The method according to claim 7, wherein the optimal solution is the preferred point having the least PED in the KT preferred points of the Tth detection layer.

9. A receiver configured to implement a sphere decoding method as applied to a multi-input multi-output (MIMO) channel, the receiver comprising:
multiple antennas to receive a signal provided over the MIMO channel;
a processor on a chip configured to decode the signal, the processor configured to:
enumerate a plurality of constellation points of an nth detection layer corresponding to a MIMO channel matrix based on an enumeration rule, and defining at least one nth sub-set of the nth detection layer, wherein the MIMO channel matrix corresponds to a first detection layer to a Tth detection layer, the nth detection layer and Kn respectively correspond to at least one of a second detection layer to a (T−1)th detection layer and K2 to K(T−1), Kn being a positive integer;
obtain K constellation points from each of the at least one nth sub-set as preferred points and selecting Kn preferred points of the nth detection layer from all the K preferred points of the at least one nth sub-set, wherein K is a positive integer, and Kn is less than or equal to a positive integer of a total number of all the K preferred points of the at least one nth sub-set;
transfer K1 preferred points to the second detection layer from the first detection layer, transferring K2 preferred points to a third detection layer from the second detection layer, . . . , transferring K(T−1) preferred points to the Tth detection layer from the (T−1)th detection layer; and
determine an optimal solution according to KT preferred points of the Tth detection layer, wherein at least one of K and K1 to KT is determined by the characteristic of the MIMO channel matrix.

10. The receiver according to claim 9, wherein the first, the second, . . . , and the Tth detection layers respectively correspond to rows of a triangular matrix having the most “0” elements, the secondly most “0” elements, . . . , the least “0” elements after performing a Q-R decomposition of the MIMO channel matrix, wherein K1≧K2≧ . . . ≧KT.

11. The receiver according to claim 9, wherein the characteristic of the MIMO channel matrix is the reliability of zero-forcing soft-output solutions of the MIMO channel matrix corresponding to the detection layers.

12. The receiver according to claim 11, wherein the reliability of each detection layer is determined by a signal-to-noise ratio (SNR) of the detection layer.

13. The receiver according to claim 11, wherein if the reliability of an ath detection layer is larger than the reliability of a bth detection layer, Ka is larger than Kb, wherein the ath detection layer and the bth detection layer are two of the first detection layer to the Tth detection layer.

14. The receiver according to claim 9, wherein the enumeration rule is the Schnorr & Euchner (SE) enumeration rule.

15. The receiver according to claim 9, wherein the processor is further configured to obtain K constellation points from each of the at least one nth sub-set as preferred points, K constellation points having a least partial Euclidean distances (PEDs) are selected from the at least one nth sub-set to be the preferred points.

16. The receiver according to claim 15, wherein the optimal solution is the preferred point having the least PED in the KT preferred points of the Tth detection layer.