# Patent

## Title
Perturbed decoder, perturbed decoding method and apparatus in communication system using the same

## Abstract

A decoder adopted to receive a signal transmitted in a communication system, includes one or more of a module adopted to pre-process a received signal to reduce the effect of interference-plus-noise on the received signal before filtering the received signal, and a module adopted to post-process the result of filtering the received signal.

## Background
TECHNICAL FIELD
Apparatuses, methods and/or systems consistent with the following description relate to a decoder, decoding method and an apparatus in a communication system using the same, and more particularly, the description relates to a perturbed decoder, perturbed decoding method and an apparatus in a multiple-input multiple-output (MIMO) wireless system using the same.
BACKGROUND
MIMO wireless systems are known to provide considerable gains in data rates and diversity advantage over single antenna systems. Effective decoders are needed for multi-antenna systems that operate at these high data rates. Taking full advantage of the optimal performance in MIMO systems usually requires the use of a maximum-likelihood (ML) decoding. However, the complexity of the optimum ML decoder grows exponentially with the number of transmit antennas and the symbol constellation size. Accordingly, there has been a need for decoders that achieve a reasonable trade-off between complexity and performance.
Some of the decoders that tried to achieve this trade-off attempt to modify an initial estimate of a transmit symbol vector, for example in space-time chase decoding and list-sphere decoding. The space-time chasing decoding is described, e.g., in D. J. Love, S. Hosur, A. Batra and R. W. Heath, “Space-time chase decoding,” IEEE Trans. on Wireless Comm., 4(5):2035-2039, 2005 (Love et al.), and the list-sphere decoding is described, e.g., in B. Hochwald and S. T. Brink, “Achieving near-capacity on a multiple-antenna channel,” IEEE Trans. Comm., 51:389{399, March 2002 (Hochwald et al.) and in B. Hassibi and B. Hochwald, “High rate codes that are linear in space and time,” IEEE Transactions on Information Theory, 48(7):1804-1824, July 2002 (Hassibi et al.). These references are incorporated herein by reference in its entirety for all purposes. These decoders may be considered as performing some sort of post-processing on a filtered received symbol vector.
In space-time chase decoding in Love et al., it was shown that there is an improvement in performance of a zero-forcing (ZF) decoder with the addition of space-time chase decoding techniques. A list sphere decoder (LSD) in Hochwald et al. and/or Hassibi et al. attempts to search for the ML estimate by considering only transmit symbol vectors that are within a radius from a ZF estimate. The limitations and drawbacks of the LSD are based on the aspect that the performance is dependent on the search radius. Moreover, it may not be considered in a multiuser scenario.
Accordingly, there is a need for new decoders, decoding methods, and apparatuses and systems using the same.
SUMMARY
According to an aspect, there is provided a decoder which perturbs the result of filtering a received signal. The decoder may be referred to as, for example, a post-perturbed decoder. The decoder may be used in a single-user MIMO (SU-MIMO) scenario where a spatial diversity multiplexing (SDM) is used to transmit multiple streams to a single user. The decoder may be used in a multiple-user MIMO (MU-MIMO) scenario where a spatial diversity multiple access (SDMA) is used to transmit multiple streams to multiple users simultaneously. The decoder may improve the performance of linear decoders such as ZF and minimum mean square error (MMSE) decoders by perturbing the result of filtering the received signal. The decoder may create a list of possible transmit symbol vector candidates. With the list, a hard decision decoding may be performed on transmit symbol vectors or a soft decision decoding may be performed for transmitted bits. An outer channel code may be used for increased performance.
According to another aspect, there is provided a decoder which reduces the effects of interference-plus-noise at the decoder before decoding by pre-processing to reduce the effects of interference-plus-noise on a received signal before decoding. The decoder may be referred to as, for example, a pre-perturbed decoder. The decoder may reduce the effects of interference-plus-noise on transmitted symbols by perturbing a received signal before filtering the received signal using. The filtering may be by way of linear decoding. The decoder may be used in multi-antenna systems. With the decoder, a hard decision decoding may be performed on transmit symbol vectors or a soft decision decoding may be performed for transmitted bits. An outer channel code may be used for increased performance.
According to still another aspect, there is provided a decoder which pre-perturbs a received signal and post-perturbs an estimate from filtering the received signal. The decoder may be referred to as, for example, a dual-perturbed decoder. The decoder may be used in a SU-MIMO scenario where a SDM is used to transmit multiple streams to a single user. The decoder may be used in a MU-MIMO scenario where a SDMA is used to transmit multiple streams to multiple users simultaneously. The decoder may create a list of possible transmit symbol vector candidates. With the list, a hard decision decoding may be performed on transmit symbol vectors or a soft decision decoding may be performed for transmitted bits. An outer channel code may be used for increased performance.
According to still another aspect, there is provided a decoder adopted to receive a signal transmitted in a communication system, the decoder comprising a module adopted to provide perturbation vectors, and a module adopted to provide transmit symbol vector candidates by perturbing an estimate of a transmit symbol vector with the perturbation vectors.
The communication system may be a multiple-input multiple-output (MIMO) communication system.
The perturbation vectors may be randomly generated vectors that, on average, are contained within a sphere around the estimate.
The perturbation vectors may be individually added to the estimate and the result mapped to provide the transmit symbol vector candidates.
The decoder may further comprise a module adopted to provide the estimate of the transmit symbol vector by filtering a received vector.
The module adopted to provide the transmit symbol vector candidates may comprises a module adopted to provide transmit symbol vector estimates by individually adding the perturbation vectors to the estimate and a module adopted to provide the transmit symbol vector candidates by mapping the transmit symbol vector estimates to a constellation symbol.
The decoder may further comprise a module adopted to perform a hard decision decoding based on the transmit symbol vector candidates and/or a module adopted to perform a soft decision decoding for received bits based on the transmit symbol vector candidates. The decoder may be adopted to use an outer channel code.
The number of the transmit symbol vector candidates may be less than that of the perturbation vectors.
According to still another aspect, there is provided a decoder adopted to receive a signal transmitted in a communication system, the decoder comprising a module adopted to provide perturbation vectors, and a module adopted to provide processed received vectors by perturbing a received vector with the perturbation vectors.
The perturbation vectors may be randomly generated vectors having a statistical nature corresponding to interference-plus-noise on the received vector.
The perturbation vectors may be individually added to the received vector to provide the processed received vectors.
The decoder may further comprise a module adopted to provide transmit symbol vector estimates by filtering the processed received vectors. The decoder may further comprise a module adopted to provide transmit symbol vector candidates by mapping the transmit symbol vector estimates to a constellation symbol. The decoder may further comprise a module adopted to perform a hard decision decoding based on the transmit symbol vector candidates and/or a module adopted to perform a soft decision decoding for received bits based on the transmit symbol vector candidates.
The decoder may further comprise a module adopted to provide transmit symbol vector candidates by perturbing at least a subset of the transmit symbol vector estimates with post-perturbation vectors. The post-perturbation vectors may be randomly generated vectors that, on average, are contained within a sphere around a transmit symbol vector estimate.
The at least the subset of the transmit symbol vector estimates may be individually added to the post-perturbation vectors and the result mapped to provide the transmit symbol vector candidates.
The module adopted to provide the transmit symbol vector candidates may comprises a module adopted to provide post-transmit symbol vector estimates by individually adding the at least the subset of the transmit symbol vector estimates to the post-perturbation vectors and a module adopted to provide the transmit symbol vector candidates by mapping the post-transmit symbol vector estimates to a constellation symbol.
According to still another aspect, there is provided a decoder adopted to receive a signal transmitted in a multiple-input multiple-output (MIMO) communication system, the decoder comprising one or more of a module adopted to pre-process a received signal to reduce the effect of interference-plus-noise on the received signal before filtering the received signal, and a module adopted to post-process the result of filtering the received signal. The module adopted to post-process provides transmit symbol vector candidates by perturbing the result with perturbation vectors.
According to still another aspect, there is provided an apparatus for receiving and/or transmitting a signal in a communication system, the apparatus comprising a detector, and a decoder adopted to provide transmit symbol vector candidates by perturbing an estimate of a transmit symbol vector with perturbation vectors.
The perturbation vectors may be randomly generated vectors that, on average, are contained within a sphere around the estimate.
The perturbation vectors may be individually added to the estimate and the result mapped to provide the transmit symbol vector candidates.
The decoder may obtain the estimate of the transmit symbol vector provided by filtering a received vector.
According to still another aspect, there is provided an apparatus for receiving and/or transmitting a signal in a communication system, the apparatus comprising a detector, and a decoder adopted to provide processed received vectors by perturbing a received vector with perturbation vectors.
The perturbation vectors may be randomly generated vectors having a statistical nature corresponding to interference-plus-noise on the received vector.
The perturbation vectors may be individually added to the received vector to provide the processed received vectors.
The decoder may obtain transmit symbol vector estimates provided by filtering the processed received vectors.
The decoder may provide transmit symbol vector candidates by mapping the transmit symbol vector estimates to a constellation symbol.
The decoder may be adopted to provide transmit symbol vector candidates by perturbing at least a subset of the transmit symbol vector estimates with post-perturbation vectors. The post-perturbation vectors may be randomly generated vectors that, on average, are contained within a sphere around a transmit symbol vector estimate. The at least the subset of the transmit symbol vector estimates may be individually added to the post-perturbation vectors and the result mapped to provide the transmit symbol vector candidates.
According to still another aspect, there is provided an apparatus for receiving and/or transmitting a signal in a multiple-input multiple-output (MIMO) communication system, the apparatus comprising a detector, and a decoder comprising one or more of a module adopted to pre-process a received signal to reduce the effect of interference-plus-noise on the received signal before filtering the received signal, and a module adopted to post-process the result of filtering the received signal. The module adopted to post-process may provide transmit symbol vector candidates by perturbing the result with perturbation vectors.
According to still another aspect, there is provided a method for use in an apparatus adopted to receive a signal transmitted in a communication system, the method comprising generating perturbation vectors, and generating transmit symbol vector candidates by perturbing an estimate of a transmit symbol vector with the perturbation vectors.
The generating of the perturbation vectors may comprise randomly generating vectors that, on average, are contained within a sphere around the estimate.
The generating of the transmit symbol vector candidates may comprise individually adding the perturbation vectors to the estimate and mapping the result thereof.
The method may further comprise obtaining the estimate of the transmit symbol vector provided by filtering a received vector.
The generating of the transmit symbol vector candidates may comprises individually adding the perturbation vectors to the estimate to obtain transmit symbol vector estimates, and mapping the transmit symbol vector estimates to a constellation symbol to generate the transmit symbol vector candidates.
The method may further comprise performing a hard decision decoding based on the transmit symbol vector candidates.
The method may further comprise performing a soft decision decoding for received bits based on the transmit symbol vector candidates.
According to still another aspect, there is provided a method for use in an apparatus adopted to receive a signal transmitted in a communication system, the method comprising generating perturbation vectors, and generating processed received vectors by perturbing a received vector with the perturbation vectors.
The generating of perturbation vectors may comprise randomly generating vectors having a statistical nature corresponding to interference-plus-noise on the received vector.
The generating of the processed received vectors may comprise individually adding the perturbation vectors to the received vector.
The method may further comprise obtaining transmit symbol vector estimates provided by filtering the processed received vectors.
The method may further comprise generating transmit symbol vector candidates by mapping the transmit symbol vector estimates to a constellation symbol.
The method may further comprise generating transmit symbol vector candidates by perturbing at least a subset of the transmit symbol vector estimates with post-perturbation vectors. The post-perturbation vectors may be randomly generated vectors that, on average, are contained within a sphere around a transmit symbol vector estimate.
The generating of the transmit symbol vector candidates may comprise individually adding the at least the subset of the transmit symbol vector estimates to the post-perturbation vectors and mapping the result thereof.
The generating of the transmit symbol vector candidates may comprises generating post-transmit symbol vector estimates by individually adding the at least the subset of the transmit symbol vector estimates to the post-perturbation vectors, and generating the transmit symbol vector candidates by mapping the post-transmit symbol vector estimates to a constellation symbol.
According to still another aspect, there is provided a computer-readable storage medium storing a program for implementing a method for use in an apparatus adopted to receive a signal transmitted in a communication system, the method comprising generating perturbation vectors, and generating transmit symbol vector candidates by perturbing an estimate of a transmit symbol vector with the perturbation vectors.
According to still another aspect, there is provided a computer-readable storage medium storing a program for implementing a method for use in an apparatus adopted to receive a signal transmitted in a communication system, the method comprising generating perturbation vectors, and generating processed received vectors by perturbing a received vector with the perturbation vectors. The method may further comprise obtaining transmit symbol vector estimates provided by filtering the processed received vectors, and generating transmit symbol vector candidates by perturbing at least a subset of the transmit symbol vector estimates with post-perturbation vectors.
Other features will become apparent to those skilled in the art from the following detailed description, which, taken in conjunction with the attached drawings, discloses exemplary embodiments of the invention.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a configuration diagram illustrating an exemplary multiuser MIMO system utilizing a decoder and/or decoding method according to an exemplary embodiment.



Throughout the drawing and the detailed description, the same drawing reference numerals will be understood to refer to the same elements, features, and structures.
DETAILED DESCRIPTION
The following detailed description is provided to assist the reader in gaining a comprehensive understanding of the apparatuses, methods and systems described herein. Accordingly, various changes, modifications, and equivalents of the systems, apparatuses and methods described herein will be suggested to those of ordinary skill in the art. Also, descriptions of well-known functions and constructions are omitted to increase clarity and conciseness.
Decoders, apparatuses and/or methods consistent with the disclosures and teachings provided herein may be applied to a variety of known or to be known communication system including a MIMO communication system such as a MIMO wireless communication system and a MIMO wire line communication system, single-input multiple-output (SIMO) communication system, multiple-input single-output (MISO) communication system, cooperative MIMO system, and the like. As an illustration, and without limiting thereto, a MIMO wireless communication system may include a single-user MIMO wireless system and a multiple-user MIMO wireless system. As an illustration, and without limiting thereto, a MIMO wire line communication system may include a digital subscriber line (DSL) system such as a gigabit DSL system based on binder MIMO channels. The disclosures and teachings provided herein may also be applied to and/or adopted by various known and to be known standards and/or standard setting organizations including, and without limiting thereto, IEEE 802.x standards, worldwide interoperability for microwave access (WiMAX) broadband mobile standards, 3G mobile standards, mobile radio telephone standards such as 3GPP and 3GPP2 standards, long term evolution (LTE) standards, wireless broadband (WiBro) standards, wideband code division multiple access (WCDMA) standards, high-speed packet access plus (HSPA+) standards, and the like. Accordingly, a system/channel model described below is only exemplary. In it a multiple-user communication system is considered, which subsumes a single-user point-to-point MIMO channel.
FIG. 1 illustrates an exemplary MU-MIMO system 100 comprising a base station 110 and users 140. It is understood that a base station (or an access point) and a user may refer to a transmitter and a receiver, respectively, for downlink environments, whereas the base station and the user may refer to a receiver and a transmitter, respectively, for uplink environments. It is also understood that, while not illustrated in FIG. 1, a receiver/transmitter may comprise a detector to detect a signal transmitted in the MU-MIMO system 100, transmitter unit, receiver unit, and/or transceiver unit, as the cases may be, and a processor and/or decoder that carries out a decoding method and/or algorithm according to certain exemplary embodiments disclosed herein. As an illustration, and without limiting thereto, a receiver/transmitter may be a mobile/cellular phone, personal digital assistant (PDA), portable computer, portable media player (PMP), and the like, and as the cases may be, may be an access point (AP), base station, terminal, router, and the like. As an illustration, and without limiting thereto, a decoder may be implemented by hardware and/or software using known or to be known methods and comprise one or more modules adopted to carry out a decoding method and/or algorithm according to certain exemplary embodiments disclosed herein. It is understood and within one skilled in the art that, for example, operations carried out by several modules may be adopted to be carried out by one equivalent module and vice versa.
FIG. 1 shows both uplink and downlink transmissions. In downlink transmission, the base station 110 may transmit to multiple users 140 simultaneously. In uplink transmission, multiple users 140 may transmit simultaneously to the base station 110. Referring to FIG. 1, consider a downlink of a multiuser channel for which the base station 110 is equipped with NT transmit antennas which communicate with L users 140. User l, l=1, . . . , L, is equipped with NR1 receive antennas. A notation {NR1, NR2, . . . , NRL}×NT may be used to refer to such a channel. A received signal at user l may be modeled by the following input-output relation




  
    
      
        
          
            Y
            l
          
          =
          
          ⁢
          
            
              
                
                  
                    E
                    s
                  
                  
                    N
                    T
                  
                
              
              ⁢
              
                H
                l
                act
              
              ⁢
              
                W
                l
              
              ⁢
              
                S
                l
              
            
            +
            
              
                
                  ∑
                  
                    i
                    =
                    1
                  
                  L
                
                
                  i
                  ≠
                  l
                
              
              ⁢
              
                
                  H
                  l
                  act
                
                ⁢
                
                  W
                  i
                
                ⁢
                
                  S
                  i
                
              
            
            +
            
              V
              l
            
          
        
        ,
      
    
  
  
    
      
        =
        
        ⁢
        
          
            
              
                
                  E
                  s
                
                
                  N
                  T
                
              
            
            ⁢
            
              H
              l
            
            ⁢
            
              S
              _
            
          
          +
          
            
              V
              l
            
            .
          
        
      
    
  




Where L≦NT and Hl=HlactW is the effective channel matrix for user l. It is derived by the use of a unitary precoder matrix, W=[W1, . . . , WL], on the actual channel matrix for user l, Hlact. S=[S1T, . . . , SLT]T is the NT×1 symbol vector transmitted to users 140 from the base station 110, such that E{S}=0 and E{S*S}=NT. Let each element of S be drawn independently from a complex constellation C. Vl is additive white Gaussian noise CN(0,INRl). It may be assumed that user l has no knowledge of the channel matrix from the base station 110 to any other user.
Various precoder design techniques for W have been investigated. In a ZF precoding method in e.g., Q. H. Spencer, A. L. Swindledurst, and M. Haardt, “Zero-forcing methods for downlink spatial multiplexing in multiuser MIMO channels,” IEEE Trans. on Signal Processing, 52(2):461-471, February 2004, the reference of which is incorporated herein by reference in its entirety for all purposes, a block diagonalization (BD) algorithm is considered. With this approach, full transmitter channel side information (CSIT) for all users is assumed. The precoder for each user is selected so that it may fall within the null space of every other users channel matrix. In theory, all multi-user interference is eliminated for all users in the system, and the resulting channel is equivalent in performance to a point-to-point MIMO channel (i.e., single user).
In reality, it is difficult for a base station to have perfect CSIT due to the delayed and lossy characteristics of a feedback link. In this case, precoders Wl could be chosen as in e.g., D. J. Love, R. W. Heath, and T. Strohmer, “Grassmanian beamforming for multiple-input multiple-output wireless systems,” IEEE Trans. on Information Theory, 49(10):2735-2747, October 2003, the reference of which is incorporated herein by reference in its entirety for all purposes, from a finite set codebook, where the codebook is designed using a Grassmannian line packing. In addition, user scheduling and antenna selection may be used to obtain additional achievable throughput, as in e.g., S. J. Kim, H. Kim, C. S. Park, and K. B. Lee, “On the performance of multiuser MIMO systems in WCDMA/HSDPA: Beamforming, feedback and user diversity,” IEICE Trans. on Communications, E89-B(8):2161-2169, August 2006 and R. W. Heath, M. Airy, and A. J. Paulraj, “Multiuser diversity for MIMO wireless systems with linear receivers,” IEEE Communications Letters, 5(4):142-144, April 2001, the references of which are incorporated herein by reference in its entirety for all purposes. This is achieved by the use of a multiuser MIMO scheme that is called a per-user unitary beamforming and rate control (PU2RC). Here, the constraint placed on W may be such that W*W=INT.
Certain embodiment including decoders and decoding methods according to exemplary embodiments are further disclosed below.
Post-Perturbed Decoder and Decoding Method
A post-perturbed decoder according to an exemplary embodiment may be used for, for example, either a full feedback or a limited feedback. According to an aspect, the post-perturbed decoder, which may also be referred to as a post-perturbed sphere-like decoder, aims to achieve a performance edge over linear filters such as ZF and MMSE decoders in SU-MIMO systems and for uplink and down link transmissions in MU-MIMO systems. As taught herein, the complexity of the post-perturbed decoder is less than that of a ML decoder which requires an exhaustive search. A list of possible transmit symbol vector candidates provided by the post-perturbed decoder may be used for a hard decision using, for example, a minimum distance decoding. The list may also be used for a soft decision decoding for which the performance may be further improved by the use of an outer channel code. An exemplary method of generating the list is described below.
According to an aspect, the post-perturbed decoder attempts to find a ML estimate from an estimate of a transmit symbol vector. This is achieved by perturbing a transmit symbol vector estimate, that is, an estimate of a transmit symbol vector, with randomly generated vectors that, on average, are contained within a sphere around the estimate provided by a linear decoder. Linear decoders such as ZF and MMSE decoder may be used on a received vector to compute the transmit symbol vector estimate. The randomly generated vectors are individually added to this estimate and mapped to form a list of possible transmit symbol vector candidates. According to another aspect, based on the list, a minimum distance decoding may be performed as in the case of a ML or soft information on transmitted bits may be generated.
The decoder according to an exemplary embodiment generates K perturbation vectors and forms a set P={P0, P1, . . . , PK}, such that P0 is the all zeros vector. The perturbation vectors may be generated as random vectors with statistical nature such that on average they fit within a sphere around an estimate. For example, to fit within a sphere of radius √{square root over (EP)} around the estimate, the vectors may be generated as CN(0, EPINT).
For each user, a received vector Yl is processed by a linear filter to obtain an estimate of the transmit symbol vector, Zest.

Zest=GYl.

Where Gε{GZF, GMMSE} is either a ZF or MMSE decoding matrix. This estimate is individually added to the perturbation vectors to form a set Z={Z0, . . . , ZK}. Where,

Zk=Zest+Pk for k=0, . . . ,K. 

Each element in Z is mapped to the closest constellation symbol in C. This mapping creates a set of possible transmit symbol vector candidates, Ŝ={Ŝ0, Ŝ1, . . . , ŜK}, such that




  
    
      S
      ^
    
    k
  
  =
  
    
      map
      ⁢
      
        
      
      ⁢
      
        (
        
          Z
          k
        
        )
      
    
    =
    
      
        
          
            [
            
              
                
                  
                    map
                    ⁢
                    
                      
                    
                    ⁢
                    
                      (
                      
                        z
                        
                          k
                          ,
                          1
                        
                      
                      )
                    
                  
                
              
              
                
                  
                    map
                    ⁢
                    
                      
                    
                    ⁢
                    
                      (
                      
                        z
                        
                          k
                          ,
                          2
                        
                      
                      )
                    
                  
                
              
              
                
                  ⋮
                
              
              
                
                  
                    map
                    ⁢
                    
                      
                    
                    ⁢
                    
                      (
                      
                        z
                        
                          k
                          ,
                          
                            N
                            T
                          
                        
                      
                      )
                    
                  
                
              
            
            ]
          
          .
          
            

          
          ⁢
          Where
        
        ⁢
        
          
        
        ⁢
        
          map
          ⁡
          
            (
            z
            )
          
        
      
      =
      
        
          
            arg
            ⁢
            min
          
          
            s
            ∈
            C
          
        
        ⁢
        
          
            
              
              
                z
                -
                s
              
              
            
            2
          
          .
        
      
    
  




Some transmit symbol vector estimates, Zk, might map into the same transmit symbol vector candidates in Ŝ. Thus,

Ŝ={Ŝ0,Ŝ1, . . . ,ŜM}M≦K. 

This list of possible transmit symbol vector candidates may be used as a search space for a hard maximum likelihood decision. In this case, the output of the post-perturbed decoder, ŜlPPD may be calculated as





  
    
      S
      ^
    
    l
    PPD
  
  =
  
    
      
        arg
        ⁢
        
          
        
        ⁢
        min
      
      
        
          m
          =
          1
        
        ,
        
          
        
        ⁢
        ...
        ⁢
        
          
        
        ,
        M
      
    
    ⁢
    
      
        
          
          
            Y
            -
            
              
                
                  
                    E
                    s
                  
                  
                    N
                    T
                  
                
              
              ⁢
              
                H
                l
              
              ⁢
              
                
                  S
                  ^
                
                m
              
            
          
          
        
        2
      
      .
    
  




The list may also be used to provide soft information on bits that make up the transmitted symbol vector. Hence, a soft decision decoding may be performed on received bits. The performance of the decoder may be further improved by using it in concatenation with an “outer” channel code, e.g., a convolutional code, turbo code and the like. The soft information may computed as a log-likelihood ratio (LLR) which is given by




  
    LLR
    ⁡
    
      (
      
        bit
        i
      
      )
    
  
  =
  
    ln
    (
    
      
        
          ∑
          
            X
            ∈
            
              
                S
                ^
              
              
                i
                ,
                1
              
            
          
        
        ⁢
        
          
            
            
              
                Y
                l
              
              -
              
                
                  
                    
                      E
                      s
                    
                    
                      N
                      T
                    
                  
                
                ⁢
                
                  H
                  l
                
                ⁢
                X
              
            
            
          
          2
        
      
      
        
          ∑
          
            X
            ∈
            
              
                S
                ~
              
              
                i
                ,
                0
              
            
          
        
        ⁢
        
          
            
            
              
                Y
                l
              
              -
              
                
                  
                    
                      E
                      s
                    
                    
                      N
                      T
                    
                  
                
                ⁢
                
                  H
                  l
                
                ⁢
                X
              
            
            
          
          2
        
      
    
    )
  




Where {tilde over (S)}i,1 is the subset of Ŝ that contains symbol vectors that have a “1” in the ith bit position and {tilde over (S)}i,0 is the subset of Ŝ that contains symbol vectors that have a “0” in the ith bit position.

A post-perturbed decoder algorithm according to an exemplary embodiment is described below.
Obtain a transmit symbol vector estimate, Zest, by the use of a linear decoder.



  
    
      Z
      est
    
    =
    
      
        
          
            GY
            l
          
          .
          
            

          
          ⁢
          Where
        
        ⁢
        
          
        
        ⁢
        G
      
      ∈
      
        {
        
          
            G
            ZF
          
          ,
          
            G
            MMSE
          
        
        }
      
    
  




  and




  
    
      G
      ZF
    
    =
    
      
        
          
            (
            
              
                H
                l
                *
              
              ⁢
              
                H
                l
              
            
            )
          
          
            -
            1
          
        
        ⁢
        
          
            H
            l
            *
          
          .
          
            

          
          ⁢
          
            G
            MMSE
          
        
      
      =
      
        
          
            [
            
              
                
                  H
                  l
                  *
                
                ⁢
                
                  H
                  l
                
              
              +
              
                
                  
                    N
                    T
                  
                  
                    E
                    s
                  
                
                ⁢
                
                  I
                  
                    N
                    T
                  
                
              
            
            ]
          
          
            -
            1
          
        
        ⁢
        
          
            H
            l
            *
          
          .
        
      
    
  



Generate K random perturbation vectors, P={P0, P1, . . . , PK} such that P0 is the all zeros vector.
Create a set of transmit symbol vector estimates by perturbing Zest with the vectors in P.

Zk=Zest+Pk.

Generate a list Ŝ={Ŝ0,Ŝ1, . . . , ŜM}, such that Ŝm=map(Z) m=1, . . . , M≦K. Perform a maximum likelihood “hard” decoding or a “soft” decoding from the list Ŝ. The performance of the post-perturbed decoder may be dependent on the number of perturbation vectors, K, which in turn determines the size of the list of possible transmit symbol vector candidates. Each perturbation vector may not map in a one-to-one pattern to transmit symbol vectors. Some of the perturbations may map to the same unique transmit symbol vector. Accordingly, the size of the eventual list of transmit symbol vector candidates is usually less than the number of perturbation vectors used.

Pre-Perturbed Decoder and Decoding Method
A pre-perturbed decoder according to an exemplary embodiment may be used for, for example, either a full feedback or a limited feed-back. According to an aspect, statistics, e.g., mean and variance, of interference-plus-noise may be known at a receiver. And the pre-perturbed decoder attempts to mitigate the effect of interference-plus-noise on a transmitted signal vector at the receiver. This is achieved by perturbing a received signal with randomly generated vectors that have the same statistics as the unknown interference-plus-noise. According to another aspect, linear decoders such as ZF and MMSE decoders may used on the pre-processed perturbed vectors to compute the possible transmit symbol vector candidates. Accordingly, a minimum distance decoding may be performed as in the case of the ML or soft information on transmitted bits may be generated.
The decoder according to an exemplary embodiment generates K perturbation vectors and forms a set {tilde over (P)}={P0, . . . , PK}, such that P0 is the all zeros vector. The perturbation vectors may be generated as random vectors with the same statistical nature as the interference-plus-noise. For example, in a point-to-point MIMO system with a single user, the elements of {tilde over (P)} are CN(0, INT). However in the multiuser case, the elements of {tilde over (P)} are CN(0, σ2), where σ2 is the variance of the interference-plus-noise component.
A received vector Y is pre-processed by individually adding to it the perturbation vectors P0, . . . , PK and forming a set {tilde over (Y)}={Y0, . . . , YK}, that is, processed received vectors.

Yk=Y+Pk,k=0, . . . ,K. 

In this case, for example, ZF and MMSE linear receivers may be used for which



  
    
      G
      ZF
    
    =
    
      
        
          [
          
            
              H
              l
              *
            
            ⁢
            
              H
              l
            
          
          ]
        
        
          -
          1
        
      
      ⁢
      
        H
        l
        *
      
    
  




  and




  
    
      G
      MMSE
    
    =
    
      
        
          [
          
            
              
                H
                l
                *
              
              ⁢
              
                H
                l
              
            
            +
            
              
                
                  N
                  T
                
                
                  E
                  s
                
              
              ⁢
              
                I
                
                  N
                  T
                
              
            
          
          ]
        
        
          -
          1
        
      
      ⁢
      
        
          H
          l
          *
        
        .
      
    
  



For either choice of linear receiver, a set of transmit symbol vector estimates Zk=GYk, k=0, . . . , K, is formed. Where Gε{GZF, GMMSE}.

Each element in each symbol vector is mapped to the closest constellation symbol. This mapping creates a set of possible transmit symbol vector candidates, {tilde over (S)}.



  
    
      
        S
        ~
      
      k
    
    =
    
      
        map
        ⁡
        
          (
          
            Z
            k
          
          )
        
      
      =
      
        [
        
          
            
              
                map
                ⁡
                
                  (
                  
                    z
                    
                      k
                      ,
                      1
                    
                  
                  )
                
              
            
          
          
            
              
                map
                ⁡
                
                  (
                  
                    z
                    
                      k
                      ,
                      2
                    
                  
                  )
                
              
            
          
          
            
              ⋮
            
          
          
            
              
                map
                ⁡
                
                  (
                  
                    
                      z
                      k
                    
                    ,
                    
                      N
                      T
                    
                  
                  )
                
              
            
          
        
        ]
      
    
  




  
    
      Where
      ⁢
      
        
      
      ⁢
      
        map
        ⁡
        
          (
          z
          )
        
      
    
    =
    
      
        
          arg
          ⁢
          min
        
        
          s
          ∈
          C
        
      
      ⁢
      
        
          
            
            
              z
              -
              s
            
            
          
          2
        
        .
      
    
  



Some transmit symbol vector estimates, Zk, might map into the same transmit symbol vector candidates in {tilde over (S)}. Thus, {tilde over (S)}={{tilde over (S)}1, . . . , {tilde over (S)}M}, M≦K. This list of possible symbol vector candidates may be used as a search space for a hard maximum likelihood decision. In this case, the output of the pre-perturbed decoder, {tilde over (S)}PPD, may be calculated as




  
    
      S
      ^
    
    l
    PPD
  
  =
  
    
      
        arg
        ⁢
        
          
        
        ⁢
        min
      
      
        
          m
          =
          1
        
        ,
        
          
        
        ⁢
        ...
        ⁢
        
          
        
        ,
        M
      
    
    ⁢
    
      
        
          
          
            Y
            -
            
              
                
                  
                    E
                    S
                  
                  
                    N
                    T
                  
                
              
              ⁢
              
                H
                l
              
              ⁢
              
                
                  S
                  ~
                
                m
              
            
          
          
        
        2
      
      .
    
  




In a single-user scenario, the list may also be used to create soft information on bits that make up the transmitted symbol vector. Hence, a soft decision decoding may be performed on received bits. The performance of the decoder may be further improved by using it in concatenation with an “outer” channel code, e.g., a convolutional code, turbo code and the like. The soft information may be computed as a log-likelihood ratio (LLR) which is given by




  
    LLR
    ⁡
    
      (
      
        bit
        i
      
      )
    
  
  =
  
    
      ln
      (
      
        
          
            ∑
            
              X
              ∈
              
                
                  S
                  ~
                
                
                  i
                  ,
                  1
                
              
            
          
          ⁢
          
            
              
              
                
                  Y
                  l
                
                -
                
                  
                    H
                    l
                    act
                  
                  ⁢
                  X
                
              
              
            
            2
            2
          
        
        
          
            ∑
            
              X
              ∈
              
                
                  S
                  ~
                
                
                  i
                  ,
                  0
                
              
            
          
          ⁢
          
            
              
              
                
                  Y
                  l
                
                -
                
                  
                    H
                    l
                    act
                  
                  ⁢
                  X
                
              
              
            
            2
            2
          
        
      
      )
    
    .
  




Where {tilde over (S)}i,1 is the subset of {tilde over (S)} that contains symbol vectors that have a “1” in the ith bit position and {tilde over (S)}i,0 is the subset of {tilde over (S)} that contains symbol vectors that have a “0” in the ith bit position.

A pre-perturbed decoder algorithm according to an exemplary embodiment is described below.
Generate K random perturbation vectors, P1, . . . , PK.
Form a set {tilde over (P)}={P0, P1, . . . , PK} such that P0 is the all zeros vector.
Create a set of processed received vectors, {tilde over (Y)}={Y0, . . . , YK} by perturbing Y with the vectors in {tilde over (P)}. Where, Yk=Y+Pk. k+0, . . . , K.
Use a linear decoder on the vectors in {tilde over (Y)} to create a list of transmit symbol vector estimates, Zk. Zk=GYk. k=0, . . . , K. Where Gε{GZF, GMMSE}.
Generate a list {tilde over (S)}={{tilde over (S)}1, . . . , {tilde over (S)}M}, such that
{tilde over (S)}m=map(Z), m=1, . . . , M≦K. It is possible that some estimates will map to the same transmit symbol vector.
Perform a maximum likelihood (ML) decoding or a soft decoding over {tilde over (S)}.
The performance of the pre-perturbed decoder may be dependent on the number of perturbation vectors, K, which in turn determines the size of the list of possible transmit symbol vector candidates. Each perturbation vector may not map in a one-to-one pattern to transmit symbol vectors. Some of the perturbations may map to the same unique transmit symbol vector. Accordingly, the size of the eventual list of transmit symbol vector candidates is usually less than the number of perturbation vectors used.
Dual-Perturbed Decoder and Decoding Method
A dual-perturbed decoder according to an exemplary embodiment may be used for, for example, either a full feedback or a limited feedback. According to an aspect, the dual-perturbed decoder aims to achieve a performance edge over linear filters such as ZF and MMSE decoders in SU-MIMO systems and for uplink and down link transmissions in MU-MIMO systems. As taught herein, the complexity of the dual-perturbed decoder, which may also be referred to as a dual-perturbed sphere-like decoder, is less than that of a ML decoder which requires an exhaustive search. A list of possible transmit symbol vector candidates provided by the dual-perturbed decoder, may be used for a hard decision, for example, using a minimum distance decoding. The list may also be used for a soft decision decoding for which the performance may be further improved by the use of an outer channel code. An exemplary method of generating this list is described below.
According to an aspect, the dual-perturbed decoder attempts to find a ML estimate by a combination of pre-processing, and post-processing of estimates obtained by a linear decoder. Pre-processing may be achieved by perturbing a received signal to prevent interference and noise. Post-processing may be achieved by perturbing the estimates obtained from pre-processing with randomly generated vectors that, on average, are contained within a sphere around the estimate provided by a linear decoder.
A received signal vector may be processed by randomly generated pre-perturbation vectors. The result of each perturbation is fed into a linear decoder such as a ZF decoder or a MMSE decoder. These decoders may provide a transmit symbol vector estimate for each perturbation. The randomly generated post-perturbation vectors are individually added to these estimates and mapped to form a list of possible transmit symbol vector candidates. Accordingly, a minimum distance decoding may be performed as in the case of the ML or soft information on transmitted bits may be generated.
The decoder according to an exemplary embodiment generates K1 pre-perturbation vectors and forms a set P1={P1,0, P1,1, . . . , P1,K1}, such that P1,0 is the all zeros vector. P1,k1εCNRl is generated such that it has the same statistical characteristics as the interference-plus-noise. Post-perturbation vectors, P2={P2,0, P2,1, . . . , P2,K1}, are also generated as random vectors with statistical nature such that on average they fit within a sphere around a transmit symbol vector estimate. For example, to fit within a sphere of radius √{square root over (EP)} around the estimate, the vectors could be generated as CN(0, EpINT).
For each user, a received vector Yl, is pre-processed by individually perturbing by the vectors in P1. This forms a set Y={Y0, . . . , YK1} such that

Yk1=Yl+P1,k1.k1=0,2, . . . ,K1.

Each perturbed vector in Y is processed by a linear filter to obtain an estimate of the transmit symbol vector. This list of transmit symbol vector estimates Z is generated such that.

Z={Zk1:Zk1=GYk1}.

Where Gε{GZF, GMMSE} is either a ZF or MMSE decoding matrix. Each estimate in Z is individually added to the post-perturbation vectors, P2, to form the set {circumflex over (Z)}={{circumflex over (Z)}0, {circumflex over (Z)}1, . . . , {circumflex over (Z)}K2}, that is, post-transmit symbol vector estimates. Where,

{circumflex over (Z)}k2={{circumflex over (Z)}k1,k2:{circumflex over (Z)}k1,k2=Zk1+P2,k2} for k1=0, . . . ,K1 and k2=0, . . . , K2.

Each element in {circumflex over (Z)} is mapped to the closest constellation symbol in C. This mapping creates a set of possible transmit symbol vector candidates, Ŝ={Ŝ0, Ŝ1, . . . , ŜK}, such that




  
    
      S
      ^
    
    k
  
  =
  
    
      map
      ⁢
      
        
      
      ⁢
      
        (
        
          
            Z
            ^
          
          k
        
        )
      
    
    =
    
      
        
          
            [
            
              
                
                  
                    map
                    ⁢
                    
                      
                    
                    ⁢
                    
                      (
                      
                        
                          z
                          ^
                        
                        
                          k
                          ,
                          1
                        
                      
                      )
                    
                  
                
              
              
                
                  
                    map
                    ⁢
                    
                      
                    
                    ⁢
                    
                      (
                      
                        
                          z
                          ^
                        
                        
                          k
                          ,
                          2
                        
                      
                      )
                    
                  
                
              
              
                
                  ⋮
                
              
              
                
                  
                    map
                    ⁢
                    
                      
                    
                    ⁢
                    
                      (
                      
                        
                          z
                          ^
                        
                        
                          k
                          ,
                          
                            N
                            T
                          
                        
                      
                      )
                    
                  
                
              
            
            ]
          
          .
          
            

          
          ⁢
          Where
        
        ⁢
        
          
        
        ⁢
        
          map
          ⁡
          
            (
            z
            )
          
        
      
      =
      
        
          
            arg
            ⁢
            
              
            
            ⁢
            min
          
          
            s
            ∈
            C
          
        
        ⁢
        
          
            
              
              
                z
                -
                s
              
              
            
            2
          
          .
        
      
    
  




This list of possible symbol vector candidates may be used as a search space for a hard maximum likelihood decision. In this case, the output of the dual-perturbed decoder, ŜlDP, may be calculated as





  
    
      S
      ^
    
    l
    DP
  
  =
  
    
      
        arg
        ⁢
        
          
        
        ⁢
        min
      
      
        
          
            S
            ^
          
          m
        
        ∈
        
          S
          ^
        
      
    
    ⁢
    
      
        
          
          
            
              Y
              l
            
            -
            
              
                
                  
                    E
                    s
                  
                  
                    N
                    T
                  
                
              
              ⁢
              
                H
                l
              
              ⁢
              
                
                  S
                  ^
                
                m
              
            
          
          
        
        2
      
      .
    
  




The list may also be used to create soft information on bits that make up the transmitted symbol vector. Hence, a soft decision decoding may be performed on received bits. The performance of the decoder may be improved by using it in concatenation with an “outer” channel code, e.g., a convolutional code, turbo code and the like. The soft information may be computed as a log-likelihood ratio (LLR) which is given by




  
    LLR
    ⁡
    
      (
      
        bit
        i
      
      )
    
  
  =
  
    ln
    (
    
      
        
          ∑
          
            X
            ∈
            
              
                S
                ~
              
              
                i
                ,
                1
              
            
          
        
        ⁢
        
          
            
            
              
                Y
                l
              
              -
              
                
                  
                    
                      E
                      s
                    
                    
                      N
                      T
                    
                  
                
                ⁢
                
                  H
                  l
                
                ⁢
                X
              
            
            
          
          2
        
      
      
        
          ∑
          
            X
            ∈
            
              
                S
                ~
              
              
                i
                ,
                0
              
            
          
        
        ⁢
        
          
            
            
              
                Y
                l
              
              -
              
                
                  
                    
                      E
                      s
                    
                    
                      N
                      T
                    
                  
                
                ⁢
                
                  H
                  l
                
                ⁢
                X
              
            
            
          
          2
        
      
    
    )
  




Where {tilde over (S)}i,1 is the subset of Ŝ that contains symbol vectors that have a “1” in the ith bit position and {tilde over (S)}i,0 is the subset of Ŝ that contains symbol vectors that have a “0” in the ith bit position.

A dual-perturbed decoder algorithm according to an exemplary embodiment is described below.
Generate a set of pre-perturbed vectors, P1={P1,0, P1,1, . . . , P1,K1}.
Create a list Y={Y0, . . . , YK1} by pre-processing a received signal, Yl, such that

Yk1=Yl+P1,k1 for k1=0,1, . . . ,K1.

Obtain a transmit symbol vector estimate for each vector in Y by the use of a linear decoder. Let this list be



  
    
      Z
      _
    
    =
    
      
        
          
            {
            
              
                
                  Z
                  k
                
                ⁢
                
                  :
                
                ⁢
                
                  Z
                  k
                
              
              =
              
                GY
                k
              
            
            }
          
          .
          
            

          
          ⁢
          Where
        
        ⁢
        
          
        
        ⁢
        G
      
      ∈
      
        
          {
          
            
              G
              ZF
            
            ,
            
              G
              MMSE
            
          
          }
        
        ⁢
        
          
        
        ⁢
        and
      
    
  




  
    
      G
      ZF
    
    =
    
      
        
          
            [
            
              
                
                  (
                  
                    
                      H
                      l
                    
                    ⁢
                    
                      H
                      l
                      *
                    
                  
                  )
                
                
                  -
                  1
                
              
              ⁢
              
                H
                l
              
            
            ]
          
          *
        
        .
        
          

        
        ⁢
        
          G
          MMSE
        
      
      =
      
        
          
            [
            
              
                
                  (
                  
                    
                      
                        H
                        l
                      
                      ⁢
                      
                        H
                        l
                        *
                      
                    
                    +
                    
                      
                        
                          N
                          T
                        
                        
                          E
                          s
                        
                      
                      ⁢
                      
                        I
                        
                          N
                          
                            R
                            l
                          
                        
                      
                    
                  
                  )
                
                
                  -
                  1
                
              
              ⁢
              
                H
                l
              
            
            ]
          
          *
        
        .
      
    
  



Generate K2 random vectors, that is, post-perturbation vectors P2={P2,0, P2,1, . . . , P2,K2} such that P2,0 is the all zeros vector.
Create a set of transmit symbol vector estimates, that is, post-transmit symbol vector estimates, by perturbing Z with vectors in P2. This post-perturbed list {circumflex over (Z)}={{circumflex over (Z)}0, {circumflex over (Z)}1, . . . , {circumflex over (Z)}K2} is created such that

{circumflex over (Z)}k2={{circumflex over (Z)}k1,k2:{circumflex over (Z)}k1,k2=Zk1+P2,k2}.

Generate a list Ŝ={Ŝ0, Ŝ1, . . . , ŜM}, such that

Ŝm=map({circumflex over (Z)})m=1, . . . ,M≦K1K2.

Perform a maximum likelihood “hard” decoding or a “soft” decoding from the list Ŝ.
The performance of the dual-perturbed decoder may be dependent on the number of perturbation vectors, K1 and K2, which in turn determines the size of the list of possible transmit symbol vector candidates. Each perturbation vector may not map in a one-to-one pattern to transmit symbol vectors. Some of the perturbations may map to the same unique transmit symbol vector. Accordingly, the size of the eventual list of transmit symbol vector candidates is usually less than the number of perturbation vectors used.
Without a list constraint, the size of the dual-perturbed transmit symbol vector estimate list may grow as large as K1K2, which may sometimes be redundant since it may be as large as an exhaustive search. Accordingly, according to another aspect, the list size may be constrained after the pre-processing. This may be achieved by, for example, picking a subset with the most reliable estimates after the pre-processing. Post-perturbing may be provided with respect to the vectors in this subset. For example, 10 closest transmit symbol vector estimates may be chosen after a pre-perturbation, and post-perturbation may be performed on this subset.
The methods described herein including the post-perturbed, pre-perturbed, and dual-perturbed decoding method and the corresponding algorithms may be recorded, stored, or fixed in one or more computer-readable media that includes program instructions to be implemented by a computer to cause a processor to execute or perform the program instructions. The media may also include, alone or in combination with the program instructions, data files, data structures, and the like. Examples of computer-readable media include magnetic media, such as hard disks, floppy disks, and magnetic tape; optical media such as CD ROM disks and DVDs; magneto-optical media, such as optical disks; and hardware devices that are specially configured to store and perform program instructions, such as read-only memory (ROM), random access memory (RAM), flash memory, and the like. The media may also be a transmission medium such as optical or metallic lines, wave guides, and the like including a carrier wave transmitting signals specifying the program instructions, data structures, and the like. Examples of program instructions include both machine code, such as produced by a compiler, and files containing higher level code that may be executed by the computer using an interpreter. The described hardware devices may be configured to act as one or more software modules in order to perform the operations and methods described above.
According to certain embodiments described above, decoders are provided that may improve the performance of linear decoders such as ZF and MMSE decoders. According to an aspect, the complexity of the decoder is less than is typically required for an exhaustive search in a ML decoding. However, the performance of the decoders may generally be better than the performance of using only the linear decoders.
It is understood that the terminology used herein, for example, a transmit symbol vector and perturbed, may be different in other applications or when described by another one skilled in the art.
A number of exemplary embodiments have been described above. Nevertheless, it will be understood that various modifications may be made. For example, suitable results may be achieved if the described techniques are performed in a different order and/or if components in a described system, architecture, device, or circuit are combined in a different manner and/or replaced or supplemented by other components or their equivalents. Accordingly, other implementations are within the scope of the following claims.

## Claims

1. A decoder adopted to receive a signal transmitted in a communication system, the decoder comprising:
a module adopted to utilize a linear decoder to filter a received vector to provide an estimate of a transmit symbol vector;
a module adopted to provide randomly generated perturbation vectors, wherein the randomly generated perturbation vectors are contained within a sphere around the estimate; and
a module adopted to provide transmit symbol vector candidates by perturbing the estimate of the transmit symbol vector with the randomly generated perturbation vectors, wherein the module adopted to provide the transmit symbol vector candidates comprises:
a module adopted to provide transmit symbol vector estimates by individually adding the randomly generated perturbation vectors to the estimate; and
a module adopted to provide the transmit symbol vector candidates by mapping the transmit symbol vector estimates to a constellation symbol.

2. The decoder of claim 1, wherein the communication system is a multiple-input multiple-output (MIMO) communication system.

3. The decoder of claim 1, wherein the perturbation vectors are individually added to the estimate and the result mapped to provide the transmit symbol vector candidates.

4. The decoder of claim 1, further comprising a module adopted to perform a hard decision decoding based on the transmit symbol vector candidates.

5. The decoder of claim 1, further comprising a module adopted to perform a soft decision decoding for received bits based on the transmit symbol vector candidates.

6. The decoder of claim 1, wherein a number of the transmit symbol vector candidates is less than that of the perturbation vectors.

7. A decoder adopted to receive a signal transmitted in a communication system, the decoder comprising:
a module adopted to utilize a linear decoder to filter a processed received vector to provide transmit symbol vector estimates;
a module adopted to provide randomly generated perturbation vectors, wherein the randomly generated perturbation vectors are contained within a sphere around the estimates;
a module adopted to provide the processed received vectors by perturbing the received vector with the randomly generated perturbation vectors; and
a module adopted to provide transmit symbol vector candidates which comprises:
a module adopted to provide transmit symbol vector estimates by individually adding the randomly generated perturbation vectors to the estimate; and
a module adopted to provide the transmit symbol vector candidates by mapping the transmit symbol vector estimates to a constellation symbol.

8. The decoder of claim 7, further comprising a module adopted to provide transmit symbol vector candidates by perturbing at least a subset of the transmit symbol vector estimates with post-perturbation vectors.

9. A method for use in an apparatus adopted to receive a signal transmitted in a communication system, the method comprising:
generating perturbation vectors, randomly;
utilizing a linear decoder to filter a processed received vector to generate transmit symbol vector candidates estimates by individually adding the randomly generated perturbation vectors to the estimate, wherein the randomly generated perturbation vectors are contained within a sphere around the estimates;
providing transmit symbol candidates by perturbing at least a subset of the transmit symbol vector estimates with post-perturbation vectors and by mapping the transmit symbol vector candidate estimates to a constellation symbol; and
providing the processed received vectors by perturbing the received vector with the randomly generated perturbation vectors.

10. A method for use in an apparatus adopted to receive a signal transmitted in a communication system, the method comprising:
utilizing a linear decoder to filter a processed received vector to generate transmit symbol vector estimates;
generating perturbation vectors such that the perturbation vectors are randomly generated, wherein the randomly generated perturbation vectors are contained within a sphere around the estimates;
generating the processed received vectors by perturbing the received vector with the randomly generated perturbation vectors; and
generating transmit symbol vector candidates which comprises:
providing transmit symbol vector estimates by individually adding the randomly generated perturbation vectors to the estimate; and
providing the transmit symbol vector candidates by mapping the transmit symbol vector estimates to a constellation symbol.

11. The method of claim 10, wherein the generating of perturbation vectors comprises randomly generating vectors having a statistical nature corresponding to interference-plus-noise on the received vector.

12. The method of claim 10, wherein the generating of the processed received vectors comprises individually adding the perturbation vectors to the received vector.

13. The method of claim 10, further comprising obtaining transmit symbol vector estimates provided by filtering the processed received vectors.

14. The method of claim 13, further comprising generating transmit symbol vector candidates by mapping the transmit symbol vector estimates to a constellation symbol.

15. The method of claim 14, further comprising performing one of a hard decision decoding and a soft decision decoding for received bits, based on the transmit symbol vector candidates.

16. The method of claim 13, further comprising generating transmit symbol vector candidates by perturbing at least a subset of the transmit symbol vector estimates with post-perturbation vectors.

17. The method of claim 16, wherein the post-perturbation vectors are randomly generated vectors that, on average, are contained within a sphere around a transmit symbol vector estimate.

18. The method of claim 16, wherein the generating of the transmit symbol vector candidates comprises individually adding the at least the subset of the transmit symbol vector estimates to the post-perturbation vectors and mapping the result thereof.

19. The method of claim 16, wherein the generating of the transmit symbol vector candidates comprises:
generating post-transmit symbol vector estimates by individually adding the at least the subset of the transmit symbol vector estimates to the post-perturbation vectors; and
generating the transmit symbol vector candidates by mapping the post-transmit symbol vector estimates to a constellation symbol.

20. An apparatus for receiving and/or transmitting a signal in a multiple-input multiple-output (MIMO) communication system, the apparatus comprising:
a detector; and
a decoder comprising:
a module adopted to pre-process a received signal using a linear decoder to reduce the effect of interference-plus-noise on the received signal before filtering the received signal to provide transmit symbol vector estimates;
a module adopted to provide randomly generated perturbation vectors, wherein the randomly generated perturbation vectors are contained within a sphere around the estimates; and
a module adopted to post-process the result of filtering the received signal comprising:
a module adopted to provide transmit symbol vector candidates by perturbing the estimate of the transmit symbol vector with the randomly generated perturbation vectors, wherein the module adopted to provide the transmit symbol vector candidates comprises:
a module adopted to provide transmit symbol vector estimates by individually adding the randomly generated perturbation vectors to the estimate; and
a module adopted to provide the transmit symbol vector candidates by mapping the transmit symbol vector estimates to a constellation symbol.

21. The apparatus of claim 20, wherein the module adopted to post-process provides transmit symbol vector candidates by perturbing the result with perturbation vectors.

22. The decoder of claim 1, wherein the linear decoder is a ZF decoder or a MMSE decoder.

23. The decoder of claim 1, wherein one of the perturbation vectors is an all zeroes vector.