# Patent

## Title
Communication signal decoding and soft demapping methods and systems

## Abstract

Symbol detection and soft dempapping methods and systems are provided. Individual subset symbol detection according to an embodiment of the invention involves identifying a search subset of a transmission symbol set for a transmission symbol. For each other transmission symbol in communication signals, multiple search subsets of the transmission symbol set are identified. The multiple search subsets include respective search subsets based on each transmission symbol in either the search subset for the first identified one of the transmission symbols or each of the multiple search subsets identified for a different one of the other transmission symbols. Symbol detection errors may be detected by identifying competing symbols and computing competing distances. Soft demapping may be provided by calculating soft decision results based on detected symbols and weighting the soft decision result.

## Background
FIELD OF THE INVENTION
This invention relates generally to communications and, in particular, to communication signal processing.
BACKGROUND
In communication systems in which information is encoded using transmission symbols from a transmission symbol set, such as Quadrature Amplitude Modulation (QAM) symbols or Quadrature Phase Shift Keying (QPSK) symbols from a QAM or QPSK constellation for instance, symbols in communication signals are detected and decoded at a receiver.
Although many transmission symbol detection techniques are known, these techniques are generally not feasible for communication systems in which multiple symbols are substantially concurrently received. Multiple Input Multiple Output (MIMO) communication systems represent one example of this type of communication system. The complexity of known techniques increases with both the size of a transmission symbol set and the number of symbols which are to be concurrently detected.
There are currently two kinds of MIMO decoding schemes, including Maximum Likelihood (ML) and Interference Cancellation (IC). ML decoders provide optimum performance, but ML decoder complexity increases exponentially with both the size of a transmission symbol set and the number of symbols which are to be concurrently detected. An IC decoder provides less satisfactory performance, but its complexity increases approximately linearly with both the size of a transmission symbol set and the number of symbols.
SUMMARY OF THE INVENTION
According to one broad aspect, the invention provides a method of processing communication signals which carry transmission symbols from a transmission symbol set. The method includes identifying a search subset of the transmission symbol set for one of the transmission symbols in the communication signals and identifying, for each other transmission symbol in the communication signals, multiple search subsets of the transmission symbol set. The multiple search subsets include respective search subsets based on each transmission symbol in either the search subset for the one of the transmission symbols or each of the multiple search subsets identified for a different one of the other transmission symbols.
In some embodiments, the operations of identifying a search subset and identifying multiple search subsets involve estimating the transmission symbols in the communication signals using a zero forcing (ZF) algorithm.
The one transmission symbol which is initially identified may be a transmission symbol which satisfies a selection criterion, such as an absolute signal to interference and noise ratio (SINR) criterion, a relative SINR criterion, an absolute signal to noise ratio (SNR) criterion, or a relative SNR criterion.
The method may also include adjusting a communication signal model for the one transmission symbol, and determining a characteristic of each of the transmission symbols in the communication signals other than the one transmission symbol based on the adjusted communication signal model. In this case, the operation of identifying multiple search subsets may include identifying multiple search subsets, for one of the other transmission symbols for which the determined characteristic satisfies a selection criterion, based on each transmission symbol in the search subset for the one of the transmission symbols.
The operation of identifying multiple search subsets may include iterating an operation of identifying multiple search subsets for each of the other transmission symbols. In any iteration, the multiple search subsets identified for a transmission symbol would include search subsets based on each transmission symbol in each of the multiple search subsets identified for a different transmission symbol in a preceding iteration.
Some embodiments of the invention also include an operation of extracting interference associated with a transmission symbol from the communication signals, and identifying a respective one of the multiple search subsets based on the communication signals from which the interference has been extracted.
In one implementation, the communication signals are associated with respective layers in a MIMO communication system, and the transmission symbols are Quadrature Amplitude Modulation (QAM) symbols or Quadrature Phase Shift Keying (QPSK) symbols.
A system for processing communication signals is also provided, and includes an input configured to receive communication signals which include transmission symbols from a transmission symbol set and a processor. The processor is configured to identify a search subset of the transmission symbol set for one of the transmission symbols in the communication signals, and to identify, for each other transmission symbol in the communication signals, multiple search subsets of the transmission symbol set. The multiple search subsets include respective search subsets based on each transmission symbol in either the search subset for the one of the transmission symbols or each of the multiple search subsets identified for a different one of the other transmission symbols. The processor may also be configured to perform the operations in a particular manner, and to perform further operations.
Further aspects of the invention provide a corresponding system and method at a communication signal transmitting side. Information is encoded using transmission symbols from a transmission symbol set, and communication signals including the transmission symbols are transmitted to a receiver. The transmission symbols are detected at the receiver by identifying a search subset of the transmission symbol set for one of the transmission symbols in the communication signals, and identifying, for each other transmission symbol in the communication signals, multiple search subsets of the transmission symbol set.
According to yet another aspect of the invention, a method of detecting transmission symbols from communication signals comprising transmission symbols from a transmission symbol set involves determining a detected symbol for a transmission symbol in the communication signals and a competing transmission symbol for the detected symbol from the transmission symbol set, determining a first distance between the detected symbol and another symbol detected from the communication signals and a second distance between the competing transmission symbol and a transmission symbol associated with the other detected symbol, and detecting an error in the detected symbol based on the first distance and the second distance.
The operation of determining a detected symbol and a competing transmission symbol for the detected symbol may include detecting a transmission symbol from the communication signals, such as by identifying a search subset of the transmission symbol set and selecting the detected symbol and the competing transmission symbol from the search subset.
In another embodiment, determining a detected symbol and a competing transmission symbol for the detected symbol includes determining multiple competing transmission symbols for the detected symbol. The multiple competing transmission symbols include transmission symbols other than the detected symbol in the search subset. In this case, determining a second distance includes determining respective second distances between each of the competing transmission symbols and the transmission symbol associated with the other detected symbol, and wherein detecting comprises detecting an error in the detected symbol based on the first distance and the respective second distances.
The other detected symbol may be a transmission symbol selected from one of a number of other search subsets of the transmission symbol set. The other search subsets may respectively corresponding to the detected symbol and the competing transmission symbols for the detected symbol, for example. The transmission symbol associated with the other detected symbol may actually include transmission symbols respectively selected from the other search subsets corresponding to the competing transmission symbols for the detected symbol. Determining a second distance may then include determining respective second distances between each of the competing transmission symbols for the detected symbol and the transmission symbol selected from the other search subset corresponding thereto. In this case, detecting may include detecting an error in the detected symbol based on the first distance and the respective second distances.
According to one embodiment, a competing transmission symbol for the other detected symbol is the transmission symbol associated with the other detected symbol comprises the competing transmission symbol for the other detected symbol. In another embodiment, the transmission symbol associated with the other detected symbol comprises the other detected symbol itself.
Where an error is detected, in response to the first distance exceeds the second distance for instance, an error processing operation ma be performed. Illustrative examples of an error processing operation include repeating a detecting operation, erasing the detected symbol, and erasing a portion of the detected symbol.
A related system for detecting transmission symbols from communication signals which include transmission symbols from a transmission symbol set, according to a still further aspect of the invention, includes an input and a processor. The processor is configured to determine a detected symbol for a transmission symbol in the communication signals and a competing transmission symbol for the detected symbol from the transmission symbol set, to determine a first distance between the detected symbol and another symbol detected from the communication signals and a second distance between the competing transmission symbol and a transmission symbol associated with the other detected symbol, and to detect an error in the detected symbol based on the first distance and the second distance. The processor may also be configured to perform these operations in a particular manner, and to perform other operations.
At a transmitter side, information is encoded using transmission symbols from a transmission symbol set, and communication signals which include the transmission symbols are transmitted to a receiver for symbol detection.
There is also provided a method of detecting transmission symbols in communication signals. Respective detected symbols are determined for multiple transmission symbols. Soft decision results are then determined for each detected symbol based on others of the detected symbols. A respective weight for each soft decision result is determined and applied to the corresponding soft decision result.
A related system for detecting transmission symbols from communication signals includes an input configured to receive the communication signals and a processor. The processor is configured to determine respective detected symbols for multiple transmission symbols, to determine a soft decision result for each detected symbol based on others of the detected symbols, to determine a respective weight for each soft decision result, and to apply the corresponding weight to the soft decision result.
Other aspects and features of embodiments of the present invention will become apparent to those ordinarily skilled in the art upon review of the following description of specific illustrative embodiments of the invention.



BRIEF DESCRIPTION OF THE DRAWINGS
Examples of embodiments of the invention will now be described in greater detail with reference to the accompanying drawings, in which:
FIG. 1 is a representation of a transmission symbol set and shared subsets for symbol detection;
FIG. 2 is a representation of a transmission symbol set and individual subsets for symbol detection according to an embodiment of the invention;
FIG. 3 is a flow diagram of a method according to an embodiment of the invention;
FIG. 4 is a block diagram of a communication system in which embodiments of the invention may be implemented;
FIGS. 5 and 6 are plots of example simulation results;
FIG. 7 is a flow diagram of a method according to a further embodiment of the invention; and
FIG. 8 is a plot of example simulation results.



DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
As described above, many transmission symbol detection schemes are not suitable for communication systems in which multiple symbols are received at substantially the same time. An M×N MIMO system with M receiving antennas and N transmitting antennas, for example, is defined by

{right arrow over (r)}F=H{right arrow over (s)}+{right arrow over (n)},  (1)

where

    
    
        {right arrow over (r)}=[r1 r2 . . . rM]T is a vector of received signals,
        {right arrow over (s)}=[s1 s2 . . . sN]T is a vector of transmitted signals which include transmission symbols,
        {right arrow over (n)}=[n1 n2 . . . nM]T is a noise vector with components drawn from wide-sense stationary processes with variance σ2, and
    
    






  H
  =
  
    [
    
      
        
          
            h
            11
          
        
        
          
            h
            12
          
        
        
          ...
        
        
          
            h
            
              1
              ⁢
              N
            
          
        
      
      
        
          
            h
            21
          
        
        
          
            h
            22
          
        
        
          ...
        
        
          
            h
            
              2
              ⁢
              N
            
          
        
      
      
        
          ⋮
        
        
          ⋮
        
        
          ⋱
        
        
          ⋮
        
      
      
        
          
            h
            
              M
              ⁢
              
                
              
              ⁢
              1
            
          
        
        
          
            h
            
              M
              ⁢
              
                
              
              ⁢
              2
            
          
        
        
          ...
        
        
          
            h
            MN
          
        
      
    
    ]
  




is a communication channel matrix.

A zero forcing (ZF) solution of Equation (1), to satisfy




  arg
  ⁢
  
    
  
  ⁢
  
    
      min
      
        {
        
          s
          _
        
        }
      
    
    ⁢
    
      
      
        
          r
          ⇀
        
        -
        
          H
          ⁢
          
            s
            ⇀
          
        
      
      
    
  




is given by





  
    
      
        
          
            
              
                
                  s
                  ⇀
                
                ~
              
              =
              
                
                  
                    (
                    
                      
                        H
                        ′
                      
                      ⁢
                      H
                    
                    )
                  
                  
                    -
                    1
                  
                
                ⁢
                
                  H
                  ′
                
                ⁢
                
                  r
                  ⇀
                
              
            
          
        
        
          
            
              
                =
                
                  
                    s
                    ⇀
                  
                  +
                  
                    
                      
                        (
                        
                          
                            H
                            ′
                          
                          ⁢
                          H
                        
                        )
                      
                      
                        -
                        1
                      
                    
                    ⁢
                    
                      H
                      ′
                    
                    ⁢
                    
                      n
                      ⇀
                    
                  
                
              
              ,
            
          
        
      
    
    
      
        (
        2
        )
      
    
  




where

H′ is a conjugate transpose of H, illustratively a Hermitian conjugation.

    
    
        Denoting

G=(H′H)−1H′,  (3)

with Gi being the ith row of Gi and gi=GiGi′, the estimated signals {tilde over (s)}i in {right arrow over ({tilde over (s)} are preferably normalized by gi.

    
    


It should be noted that the above weighting factor gi is not determined by only the ith column of H. In fact, all the channel matrix elements contribute to the weighting factor. This is because the reliability of a particular MIMO layer is not determined by only the corresponding column of H, but by the channel matrix condition as well. In the above example, there are N layers which correspond to the N columns of H and the N elements of Y.
A modified ZF algorithm which uses iterative interference cancellation has been proposed to mitigate the effects of interference in traditional ZF techniques, but when concatenated with widely used Turbo codes, for example, the advantage of this algorithm tends to diminish. This is because although Turbo codes are well suited for correcting random small value errors, they are vulnerable to strong burst errors. With this modified ZF algorithm, although the number of hard decision errors is reduced by iteratively cancelling interference, soft-detected values may be large when incorrect interference cancellation occurs, which can be difficult for Turbo codes to handle.
ML techniques are often used to detect transmission symbols in communication signals. In full search ML detection, an entire transmission symbol set is searched to determine a most likely transmission symbol. Thus, full search ML detection can be relatively complex and time consuming for larger order transmission symbol sets, particularly when multiple transmission symbols are received concurrently. Subset ML symbol detectors restrict the symbol detection search space to reduce detection complexity and search times.
There are currently two versions of shared subset ML detectors, including basic shared subset detectors and iterative shared subset detectors, both of which rely on ZF as a guide to locate the ML solution candidates. The basic objective of subset ML detection techniques is to reduce the size of symbol space to be searched.
The basic shared subset ML detector is the simplest from the algorithm point of view. The ZF solution from Equation (2) provides a guide for subset selection, and an ML search is carried out on signal combinations formed from these selected subsets. FIG. 1 is a representation of a transmission symbol set and shared subsets for symbol detection according to the basic shared subset technique.
In FIG. 1, a transmission symbol set is shown at 10 and 12, and includes a plurality of transmission symbols designated 14 and 16. Although shown and labelled separately in FIG. 1 for the purposes of more clearly illustrating search subsets for different symbols, it should be apparent that 10 and 12 represent the same transmission symbol set. The sixteen transmission symbols in the set 10, 12 may be QAM symbols in a 16-QAM constellation, for example.
The search subsets 18, 20 of the transmission symbol set 10, 12 are identified based on ZF solutions, labelled 22, 24. With reference to the above example of a MIMO system, the ZF solutions 22, 24 and search subsets 18, 20 may correspond to s1 and s2 in a 2×2 MIMO communication system. The premise for basic shared subset detection is that for a given ZF solution 22 for s1, the most likely ML solutions for s2 are in the subset 24, which includes candidate symbols generally referred to hereinafter as s2,1, s2,2, s2,3, s2,4. Similarly, for a given ZF solution 24 for s2, the most likely ML solutions for s1 are expected to be in the subset 18, which includes candidate symbols generally referred to hereinafter as s1,1, s1,2, s1,3, s1,4. These two subsets 18, 20 form sixteen combinations, and basic shared subset detectors operate on the assumption that the actual combination of transmitted symbols s1, s2 is one of them.
As those skilled in the art will appreciate, transmission symbols which are received at substantially the same time are not independent in interference dominated systems such as a MIMO system. The iterative shared subset selection ML detector is substantially similar to the basic shared subset detector, except that interference associated with a detected symbol is cancelled from received communication signals, and the interference-cancelled communication signals are then used to determine a ZF solution for a next symbol to be detected. The motivation for this type of detector is to provide for more reliable search subset identification for each symbol to be detected.
In FIG. 1, for example, if the ZF solution 22 is first used to identify the search subset 18, the search subset 18 is searched to determine a most likely symbol, the detected symbol is effectively assumed to be correct, and interference caused by that symbol is cancelled from received communication signals. The interference-cancelled communication signals are used to determine the ZF solution 24 and the search subset 20 is then identified. Iterative shared subset selection may reduce the number of symbol detection errors, but the problem of error propagation still exists.
Another problem with shared subset ML detectors is that the shared subsets might not be the optimal candidates for each symbol combination. With reference to FIG. 1, although s2,1, s2,2, s2,3, s2,4 in the subset 20 are the most likely candidates for s2 when s1 is within the subset 18, they are not necessarily the best candidates for each of s1,1, s1,2, s1,3, or s1,4, any of which could be actual ML solution. In other words, each s1,i|i=1,2,3,4 has its own corresponding most likely candidate set for s2, which can be quite different from s2,1, s2,2, s2,3, s2,4 in the subset 20. However, in shared subset selection ML detectors, all the symbols in the subset 18 share the same combination subset 20, and vice versa.
Individual subset selection ML detection as proposed herein is a more powerful subset ML decoder. In this type of detector, search subsets are identified for a symbol to be detected based on each candidate symbol in each search subset for another symbol. Each search subset is thus identified individually rather than sharing one common subset.
For each candidate symbol s1,1, s1,2, s1,3, s1,4 in the search subset 18 for s1, a respective corresponding search subset for s2 is identified. Each candidate symbol s1,1, s1,2, s1,3, s1,4 for s1 thus has four corresponding candidate symbols for s2, resulting in sixteen combinations. However, since interference between layers is not only in one “direction”, individual subsets for s1 may also be identified for candidates for s2. For example, from a subset of four symbols for s2 on the right, sixteen symbols could be identified for s1 on the left. With sixteen symbols on each side, the combined search space is composed of 16×16=256 points. For a 4×4 MIMO system, the number of search points may be 65,536.
It should be appreciated that there are also other ways to compose the search space, and hence the corresponding search space sizes can be different. If the search space is limited to sixteen points from left to right and sixteen from right to left, for instance, the combined search space would be 16+16=32. Another possible scheme involves identifying four candidate symbols for s1 for each of the sixteen candidate symbols for s2, giving 64 search points. Regardless of which technique is used, the basic idea is the same, i.e., both “directions” may be important. In the case of systems with more than two layers (e.g., 4×4 MIMO systems), the search space will be more complicated.
The advantage provided by individual search subset selection relative to shared subset detection techniques in terms of optimal symbol detection due to expanded search space thus comes at a cost of increased complexity. According to an aspect of the invention, the complexity of an individual subset selection detector is reduced by reducing the number of search points.
FIG. 2 is a representation of a transmission symbol set and individual subsets for symbol detection according to an embodiment of the invention. In FIG. 2, as in FIG. 1, a transmission symbol set is shown at 30 and 32, for detection of two symbols in received communication signals, and includes symbols 34 and 36. A search subset 38 for one transmission symbol is identified on the basis of a ZF solution, and respective search subsets 40, 42, 44, 46 are identified for the candidate symbols in the subset 38.
Embodiments of the invention may be implemented in conjunction with other sizes of transmission symbol sets and search subsets than those explicitly shown in FIG. 2. It should therefore be appreciated that the representation in FIG. 2, as well as the contents of the other drawings, are intended solely for illustrative purposes, and that the present invention is in no way limited to the particular example embodiments shown in the drawings and described herein.
Individual subset selection according to an embodiment of the invention is described in further detail below with reference to FIG. 3, which is a flow diagram of a method of processing communication signals comprising transmission symbols from a transmission symbol set. As described above, the communication signals and symbols may be associated with layers in a MIMO communication system.
The method of FIG. 3 includes identifying, at 50, a search subset of the transmission symbol set for use in detecting one of the transmission symbols in the communication signals. At 52, multiple search subsets of the transmission symbol set for use in detecting another of the transmission symbols in the communication signals are identified. The multiple search subsets include respective search subsets based on each transmission symbol in the search subset for the one of the transmission symbols. With reference to FIG. 2, the search subset 38 is identified at 50 and the search subsets 40, 42, 44, 46 are identified at 52. Identification of search subsets for each further symbol in the communication signals proceeds in a similar manner, but is based on each transmission symbol in each of the multiple search subsets identified for a different symbol.
The one transmission symbol for which the initial search subset is identified is preferably a transmission symbol which satisfies a selection criterion. According to a preferred embodiment, the selection criterion is a relative signal to interference and noise ratio (SINR) criterion. A symbol having the highest SINR is the symbol most likely to be detected correctly, and the initial search subset is thus preferably identified using a ZF solution for the highest SINR symbol. As the above weighting factor gi also provides an indication of SINR, gi may be used in determining for which symbol the initial search subset is to be identified.
It should be appreciated that other measures of SINR, or other selection criteria such as an absolute SINR criterion, an absolute signal to noise ratio (SNR) criterion, or a relative SNR criterion, may also be used in selecting a particular symbol for initial search subset identification at 50. Embodiments in which more than one selection criterion is used are also contemplated.
For each transmission symbol in the initial search subset, interference associated with that transmission symbol is preferably extracted from the communication signals, and a respective one of the multiple search subsets is identified based on the communication signals from which the interference has been extracted. Referring again to FIG. 2, for example, assuming that s1 has a higher SINR than s2 or satisfies some other criterion, then the search subset for each s1,i|i=1,2,3,4 can be identified by the following steps:

    
    
        subtract s1,i|i=1,2,3,4 from the received signal: {right arrow over (r)}|−s1,i={right arrow over (r)}−H1s1,i, where Hi denotes the ith row of H;
        calculate the new ZF solution: {tilde over (s)}2|−s1,i=H2′{right arrow over (r)}|−s1,i/∥H2′∥2; and
        use {tilde over (s)}2|−s1,i to identify the corresponding subset for s2.
    
    


Thus, corresponding subsets are no longer shared by all the candidate elements s1,i|i=1,2,3,4. This approach can be implemented in both directions, resulting in double sized constellation combinations.
Multiple search subsets are preferably identified for each symbol other than the symbol for which the initial search subset was identified at 50, resulting in an iterative process of ordered sequential subset identification (OSSI) at 52. Although a transmission symbol set is shown for only two symbols in FIG. 2, more than two symbols may be concurrently detected in higher order systems such as 4×4 MIMO systems for instance. The multiple search subsets identified for a transmission symbol in any iteration then includes respective search subsets based on each candidate symbol in each of the multiple search subsets identified for a different transmission symbol in a preceding iteration.
Selection of a symbol for each iteration may also be based on a selection criterion, preferably the same, criterion used for selection of a symbol for the initial search subset identification. In one embodiment, before each iteration, a communication signal model is adjusted for a transmission symbol for which subsets were identified in a previous iteration. A characteristic of each remaining transmission symbol for which search subsets have not yet been identified is determined based on the adjusted communication signal model and used in selecting the transmission symbol for a current iteration. The operations of determining a characteristic and applying the selection criterion may be omitted for a last remaining transmission symbol.
According to one embodiment, selection of a transmission symbol for a current iteration is based on a highest SINR, and the characteristic is the above factor g. Before each iteration, the communication channel model, as in Equation (1) above for instance, is adjusted by removing from the channel matrix H the columns for any symbols for which search subsets have already been identified. The symbol with the highest SINR is then selected for the current iteration, ZF solutions for that symbol are determined for each candidate symbol in the search subset or subsets identified in a preceding iteration, and search subsets for the symbol are identified based on the ZF solutions.
Search subsets identified for a symbol in each iteration may be shared for symbols identified in subsequent iterations to thereby reduce the total number of search points. For an N×N MIMO system using search subsets having four symbols, the total number of combinations is 4N, regardless of the order of the transmission symbol set. Thus, for a 2×2 and 4×4 MIMO systems with four-symbol search subsets, there are 16 and 256 search points, respectively. This is substantially less than the 256 and 65,536 search points for 2×2 and 4×4 MIMO systems using 16-QAM constellations and full ML detection or basic shared subsets, and the 4,096 and 16,777,216 search points for 2×2 and 4×4 MIMO systems using 64-QAM constellations and full ML detection or basic shared subsets.
FIG. 4 is a block diagram of a communication system in which embodiments of the invention may be implemented. The system of FIG. 4 provides an illustrative example of a 2×2 MIMO system in which a transmitter 54 and a receiver 56 each have 2 antennas, although the invention may also be applied to other dimensions of MIMO systems and other types of communication systems.
In the transmitter 54, an encoder 60, which may be implemented as shown in a processor 58 such as a digital signal processor or a multi-purpose processor which executes instructions for performing encoding operations, encodes information using transmission symbols in a transmission symbol set to generate communication signals including the symbols s1 and s2 and outputs the communication signals for transmission by respective antennas to the receiver 56.
The receiver 56 receives communication signals r1 and r2 via its antennas. A symbol detector 64, also implemented in a processor 62 in one embodiment, detects transmission symbols in the received signals and outputs detected symbols {tilde over (s)}1 and {tilde over (s)}2, which may be further processed by a decoder 66, and possibly other components or elements of the receiver 56, to recover the originally transmitted information. The soft demapped symbols {tilde over (s)}1 and {tilde over (s)}2 represent examples of one type of detected symbol which may be output from the detector 64. Embodiments of the invention may provide hard or soft decision symbol detection outputs.
The symbol detector 64 is configured to detect symbols in the received communication signals substantially as described above, by identifying a search subset of the transmission symbol set for use in detecting one of the transmission symbols in the communication signals, and identifying multiple search subsets of the transmission symbol set for use in detecting others of the transmission symbols in the communication signals.
Symbol detection in accordance with embodiments of the invention may be performed at a network element, illustratively a base station, in a communication network, or at a communication terminal operating within the network. Thus, either or both of network elements and communication terminals may include a transmitter 54 and/or a receiver 56 as shown in FIG. 4, depending upon whether the signal processing operations as disclosed herein are to be supported for uplink communications, downlink communications, or both. In a more general sense, communication equipment may incorporate a transmitter 54, a receiver 56, or both.
The following table presents example results which illustrate effects of an embodiment of the invention, for a 2×2 MIMO system defined by




  
    
      
        
          H
          =
          
            [
            
              
                
                  
                    
                      -
                      0.8114
                    
                    +
                    
                      0.6260
                      ⁢
                      i
                    
                  
                
                
                  
                    1.3858
                    -
                    
                      0.4860
                      ⁢
                      i
                    
                  
                
              
              
                
                  
                    
                      -
                      0.7904
                    
                    +
                    
                      0.3985
                      ⁢
                      i
                    
                  
                
                
                  
                    1.4681
                    -
                    
                      1.5021
                      ⁢
                      i
                    
                  
                
              
            
            ]
          
        
        ,
      
    
    
      
        (
        4
        )
      
    
  




with transmitted signals {right arrow over (s)}=[−3+3i−3−3i]T and received (corrupted) signals {right arrow over (r)}=[−3.2473-6.9577i−8.3363−4.1084i]T.












With Shared
With Individual


Subset Selection
Subset Selection












s1
s2
∥{right arrow over (r)} − H{right arrow over (s)}∥2
∥{right arrow over (r)} − H{right arrow over (s)}∥2
s1
s2















−3 + 1i
−3 − 3i
9.6788
4.0631
−3 + 3i
−3 − 3i


−1 + 1i
−3 − 3i
21.8849
9.6788
−3 + 1i
−3 − 3i


−3 − 1i
−3 − 3i
29.9652
16.2692
−1 + 3i
−3 − 3i


−1 − 1i
−3 − 3i
42.1713
21.8849
−1 + 1i
−3 − 3i


−3 + 1i
−3 − 1i
65.0262
33.9084
−3 + 3i
−3 − 1i


−1 + 1i
−3 − 1i
76.1994
65.0262
−3 + 1i
−3 − 1i


−3 − 1i
−3 − 1i
110.8145
45.0816
−1 + 3i
−3 − 1i


−1 − 1i
−3 − 1i
121.9878
76.1994
−1 + 1i
−3 − 1i


−3 + 1i
−1 − 3i
24.6442
8.1401
 1 + 3i
−1 − 3i


−1 + 1i
−1 − 3i
11.3483
12.7230
 1 + 1i
−1 − 3i


−3 − 1i
−1 − 3i
43.8977
6.7654
−1 + 3i
−1 − 3i


−1 − 1i
−1 − 3i
30.6018
11.3483
−1 + 1i
−1 − 3i


−3 + 1i
−1 − 1i
79.9916
35.9196
 1 + 3i
−1 − 1i


−1 + 1i
−1 − 1i
65.6628
66.0046
 1 + 1i
−1 − 1i


−3 − 1i
−1 − 1i
124.7471
35.5779
−1 + 3i
−1 − 1i


−1 − 1i
−1 − 1i
110.4183
65.6628
−1 + 1i
−1 − 1i









Since s2 has higher SNR in this example, it is more likely to be correctly detected. By searching the corresponding subset for each s2,i|i=1,2,3,4, we get the sixteen search points shown in the table.
It is interesting to note that for each search point, individual subset selection results in better results than the corresponding or nearest combination for shared subset selection. For example, ∥{right arrow over (r)}−H{right arrow over (s)}∥2 is 4.0631 vs. 9.6788 for the first listed search point, 33.9084 vs. 65.0262 for the fifth listed search point, 6.7654 vs. 11.3483 for the individual search subset point {right arrow over (s)}=[−1+3i−1−3i]T and the nearest shared search subset point {right arrow over (s)}=[−1+1i−1−3i]T, and 35.5779 vs. 65.6628 for the individual search subset point {right arrow over (s)}=[−1+3i−1−1i]T and the nearest shared search subset point {right arrow over (s)}=[−1+1i−1−1i]T. Most importantly, while individual subset selection correctly detected the transmitted symbols, shared subset failed.
The above steps can easily be extended to higher order MIMO systems. In a preferred embodiment, the selection of subsets is sequential, with layers of higher SINR, for example, having higher priority. With subset size being four, the total number of constellation combinations is 4N. Note that for higher order MIMO systems, shared subset ML detectors are impractical, as the chance that one subset can be shared by all the combinations in other layers, with each subset containing the ML solution, is very low. Thus, individually selected subset symbol detection as disclosed herein provides practical subset ML-based symbol detection for higher order MIMO, which is not feasible using traditional ML detection techniques.
FIGS. 5 and 6 are plots of example simulation results for embodiments of the invention and conventional symbol detection techniques. 2×4 full ML search symbol detection and 4×4 ZF have been shown in FIGS. 5 and 6 as comparative examples. It should be appreciated that the simulation conditions listed in FIGS. 5 and 6 are for illustrative purposes only. Other conditions and actual implementations may provide different results.
For FIG. 5, the simulation conditions are a 16 symbol QAM constellation, one-half code rate, vehicular A ideal channel, and receiver speed of 100 km/h. Individual subset detection, denoted “subset” in FIG. 5, may be compared full ML and ZF. For the case of full ML comparison, we have two configurations: 2×4 and 4×4. For the 2×4 configuration, individual subset detection provides comparable performance to full ML. For the 4×4 configuration, since full ML simulation is impractical, we compare the slope of the 4×4 individual subset curve to that of the 2×4 full ML case instead. Since these curves have similar slopes, it can be concluded that the individual subset ML decoder achieves the same level of diversity gain as the full ML decoder, which is the main advantage of an ML decoder over other non-ML decoders, but with a reduced number of search points.
A further advantage of individual subset detection becomes apparent from a comparison to the ZF performance curve for the 4×4 configuration).
Similarly, as shown in FIG. 6, 2×4 individual subset detection in accordance with embodiments of the invention provides comparable performance to full ML, and 4×4 individual subset detection provides the same level of diversity gain as the full ML decoder and better performance than ZF detection for a 64 symbol QAM constellation, two-thirds code rate, vehicular A ideal channel, and receiver speed of 100 km/h.
Soft demapping or detection of transmission symbols in a MIMO signal tends to be much more difficult than finding a MIMO hard decision solution. Whereas a MIMO hard decision may use a ZF solution as guidance, as described above, no such guidance is available for soft demapping.
In addition, transmission symbols may contain multiple bits. QAM symbols, for example, often contain 4 or 6 bits. As the complexity of one bit soft demapping is similar to finding a hard decision solution for a symbol, the complexity of soft demapping can be enormous, particularly for MIMO systems and other types of system in which multiple symbols are received concurrently.
The above problem of error propagation can further complicate the implementation of soft demapping techniques in interference dominated systems such as MIMO systems, in that erroneous soft demapping may de-emphasize a Forward Error Correction (FEC) decoder input for instance.
The optimal soft demapping for an ML detector is determined by




  
    
      
        
          Λ
          ⁡
          
            (
            
              b
              l
            
            )
          
        
        =
        
          log
          ⁢
          
            
              
                ∑
                
                  
                    
                      s
                      ⇀
                    
                    =
                    
                      f
                      ⁡
                      
                        (
                        
                          b
                          ⇀
                        
                        )
                      
                    
                  
                  ,
                  
                    
                      b
                      l
                    
                    =
                    1
                  
                
                
                  
                
              
              ⁢
              
                
              
              ⁢
              
                
                  ∏
                  
                    i
                    =
                    1
                  
                  N
                
                ⁢
                
                  
                
                ⁢
                
                  exp
                  ⁡
                  
                    (
                    
                      -
                      
                        
                          
                            
                            
                              
                                r
                                i
                              
                              -
                              
                                
                                  ∑
                                  
                                    j
                                    =
                                    1
                                  
                                  M
                                
                                ⁢
                                
                                  
                                
                                ⁢
                                
                                  
                                    h
                                    ij
                                  
                                  ⁢
                                  
                                    s
                                    j
                                  
                                
                              
                            
                            
                          
                          2
                        
                        
                          σ
                          2
                        
                      
                    
                    )
                  
                
              
            
            
              
                ∑
                
                  
                    
                      s
                      ⇀
                    
                    =
                    
                      f
                      ⁡
                      
                        (
                        
                          b
                          ⇀
                        
                        )
                      
                    
                  
                  ,
                  
                    
                      b
                      l
                    
                    =
                    0
                  
                
                
                  
                
              
              ⁢
              
                
              
              ⁢
              
                
                  ∏
                  
                    i
                    =
                    1
                  
                  N
                
                ⁢
                
                  
                
                ⁢
                
                  exp
                  ⁡
                  
                    (
                    
                      -
                      
                        
                          
                            
                            
                              
                                r
                                i
                              
                              -
                              
                                
                                  ∑
                                  
                                    j
                                    =
                                    1
                                  
                                  M
                                
                                ⁢
                                
                                  
                                
                                ⁢
                                
                                  
                                    h
                                    ij
                                  
                                  ⁢
                                  
                                    s
                                    j
                                  
                                
                              
                            
                            
                          
                          2
                        
                        
                          σ
                          2
                        
                      
                    
                    )
                  
                
              
            
          
        
      
    
    
      
        (
        5
        )
      
    
  




where σ2 denotes the noise power per receive antenna. This implies that for a MIMO system with N transmit antennas, we need to search a Euclidean distance table of size qN/2, where q is a constellation size, to get a soft value for each bit. With a subset ML detector, the challenge is that we do not know the Euclidean distances of competing bits in other candidate symbols, even though their hard decision values may have been correctly detected.

The search for competing distances relies on hard decision results. Let us again take a 2×2 MIMO system as an example. Assuming that ŝ1 is the hard decision result for layer-1, and {ŝ1,1 ŝ1,2 . . . ŝ1,q} are the closest symbols in the layer-1 constellation plane containing the competing bits to ŝ1, illustratively the other candidate symbols in a search subset. With each ŝ1,i, a subset in the layer-2 plane may be identified, such as described above. After finding the most likely symbol ŝ2,i within each subset, the resultant pair of symbols {ŝ1,i ŝ2,i} can be used for competing distance calculation. Therefore, the number of signal combinations searched is reduced from




  
    q
    N
  
  2




to the size of the subset, which is usually four. If considering a QAM-64 system, the difference would be 2048 vs 4.

To further simplify the search algorithm in the above example, hard decision values from the layer-2 plane may be used for all competing distance calculations to avoid the search for ŝ2,i. In this case, however, since the contribution from layer-1 is disregarded, this step of simplification may result in a performance loss. From a complexity perspective, the search size is reduced to 1, as the closest symbol can be identified using a table of hard decision values stored in a memory, for example.
As has been explained earlier, Turbo decoders are vulnerable to errors of large soft value, even when errors are relatively few. Since a subset ML detector may miss the global ML solution when channel matrix condition is weak, errors caused by incorrect ML detection results may result in high soft values. This phenomenon may be characterized by low bit error rate (BER) but higher frame error rate (FER), for example, where both the BER and FER curves are flat.
Subset ML detection may allow detection of some of these errors. When the distance, illustratively a Euclidean distance, for a competing bit or symbol is smaller than that for the detected symbol, then the subset ML detection results are not globally optimum. When this is the case, the ML results may be updated and soft demapping may be repeated, or the detected symbol may simply be erased. The problems caused by wrongfully demapped soft bits tend to be much worse than those associated with setting them to zero.
One remaining issue is whether problematic soft bits should be erased on a per bit basis or a per symbol basis. In a single layer system, per bit erasure may be preferred, whereas in a MIMO system, an entire symbol is preferably erased. Per symbol erasure is preferred for MIMO systems primarily because when the subset ML decision is incorrect, its competing symbols may also be incorrect, which may result in high competing distances after incorrectly detected symbols are combined with detected symbols from other layers. For this reason, symbol erasure may be preferred over using these symbols in any subsequent symbol processing, such as in a decoding process.
FIG. 7 is a flow diagram of a method according to a further embodiment of the invention, and presents the above soft demapping concepts in a more general sense.
The method of FIG. 7 includes determining, at 70, a symbol detected in a communication signal and a competing symbol. It should be appreciated that the operation at 70 may or may not involve performing symbol detection. For example, in some embodiments, one component or software module or routine may detect symbols and a different component may perform the method of FIG. 7. Thus, the determination at 70 may include reading detected symbols and competing symbols from a memory. As described above, competing symbols may be selected from a search subset which includes the detected symbol.
At 72, distances between symbols, illustratively Euclidean distances, are determined. The distances determined at 72 include a first distance between the detected symbol and another symbol detected in the communication signals, and a second distance between the competing transmission symbol and a transmission symbol associated with the other detected symbol. In one embodiment, the associated symbol is actually the other detected symbol, such as in the above example of using a hard decision result for another layer instead of performing a subset search. According to another embodiment, an individual subset corresponding to the competing symbol is used to determine the symbol associated with the other detected symbol.
The distances determined at 72 are used at 74 to detect an error in the detected symbol. An error may be detected, for example, when the first distance exceeds the second distance. As will be apparent, the second distance represents a competing distance described above.
Although FIG. 7 explicitly refers to only one competing symbol, multiple competing symbols may be identified, with respective competing distances for each identified competing symbol being determined at 72 and used for error detection at 74. The competing symbols may include symbols from the search subset from which the detected symbol was selected, for example. In this case, most likely symbols from respective search subsets in other layers corresponding to each competing symbol may be identified and used in competing distance determination, as described above.
Responsive to an error detection at 74, an error processing operation may be performed. Error processing operations may include, for example, repeating a symbol detecting operation, including a hard decision operation and possibly a subsequent soft decision operation, and erasing a hard and/or soft detected symbol or a portion thereof.
A system implementing error detection and processing as described above may be substantially similar to the system of FIG. 5, with a transmitter being configured to encode information and transmit communication signals and a receiver being configured to determine a detected symbol for a transmission symbol in the communication signals and a competing transmission symbol for the detected symbol from the transmission symbol set, to determine a first distance between the detected symbol and another symbol detected in the communication signals and a second distance between the competing transmission symbol and a transmission symbol associated with the other detected symbol, and to detect an error in the detected symbol based on the first distance and the second distance.
FIG. 8 is a plot of example simulation results. As described above with reference to FIGS. 5 and 6, the simulation conditions and results shown in FIG. 8 are presented solely for illustrative purposes. Different simulation conditions or actual operating conditions may provide different results.
FIG. 8 shows that under the simulation conditions of a 2×4 MIMO system, 64-QAM symbol constellation, two-thirds code rate, vehicular A estimated channel, and receiver speed of 100 km/h, subset symbol detection with error detection and correction performs as well as full ML detection and better than ZF detection.
A subset ML detection scheme providing advantages of ML detection in a practical system, has been described above. Embodiments of the invention may include any of the following features:

    
    
        iterative subset identification;
        reduced search for competing distances; and
        incorrect hard-decision error detection and processing.
    
    


The first above feature makes subset ML detection possible, particularly in higher order MIMO systems, while the second and third features make soft demapping practical in conjunction with subset ML symbol detection.
What has been described is merely illustrative of the application of principles of the invention. Other arrangements and methods can be implemented by those skilled in the art without departing from the scope of the present invention.
For example, ML detection and soft demapping as described above are not mutually exclusive. In one embodiment, soft demapping may be used to further process hard decision results produced by an ML detector, where other components of a communication signal receiver require soft decision results instead of hard decision results for instance. Soft demapping of a kth layer in a 4×4 MIMO system using hard decision results ŝi may be performed by calculating a soft decision result {tilde over (s)}k as




  
    
      
        
          
            
              
                s
                ~
              
              k
            
            =
            
              
                1
                
                  
                    
                      H
                      ′
                    
                    ⁡
                    
                      (
                      
                        :
                        
                          ,
                          k
                        
                      
                      )
                    
                  
                  ⁢
                  
                    H
                    ⁡
                    
                      (
                      
                        :
                        
                          ,
                          k
                        
                      
                      )
                    
                  
                
              
              ⁢
              
                
                  H
                  ′
                
                ⁡
                
                  (
                  
                    :
                    
                      ,
                      k
                    
                  
                  )
                
              
              ⁢
              
                
                  r
                  ⇀
                
                k
              
            
          
          ,
          
            

          
          ⁢
          where
        
        ⁢
        
          

        
        ⁢
        
          
            
              r
              ⇀
            
            k
          
          =
          
            
              r
              ⇀
            
            -
            
              
                ∑
                
                  
                    i
                    =
                    1
                  
                  
                    i
                    ≠
                    k
                  
                
                4
              
              ⁢
              
                
              
              ⁢
              
                
                  H
                  ⁡
                  
                    (
                    
                      :
                      
                        ,
                        i
                      
                    
                    )
                  
                
                ⁢
                
                  
                    
                      s
                      ^
                    
                    i
                  
                  .
                
              
            
          
        
      
    
    
      
        (
        6
        )
      
    
  




As described above, soft demapped bits may then be weighted using the factor gi.
Thus, in a more general sense, a soft demapping method may include determining respective detected symbols for transmission symbols in a plurality of the communication signals, as described above for instance. Based on other detected symbols, a soft decision result for each detected symbol may be determined, illustratively as




  
    
      r
      ⇀
    
    k
  
  =
  
    
      r
      ⇀
    
    -
    
      
        ∑
        
          i
          ≠
          k
        
        
          
        
      
      ⁢
      
        
      
      ⁢
      
        
          H
          ⁡
          
            (
            
              :
              
                ,
                i
              
            
            )
          
        
        ⁢
        
          
            
              s
              ^
            
            i
          
          .
        
      
    
  




A respective weight for each soft decision result may then be determined and applied to the soft decision results. Such a method may be embodied in a system having an input and a processor configured to determine respective detected symbols for transmission symbols in a plurality of the communication signals, to determine a soft decision result for each detected symbol based on others of the detected symbols, to determine a respective weight for each soft decision result, and to apply the corresponding weights to the soft decision results.
It should also be appreciated that any of the features disclosed herein may be applied to other dimensions of MIMO systems than those explicitly described herein.
Methods and systems have been described above and shown in the drawings only to the extent necessary to convey an understanding of illustrative embodiments of the invention. Complete communication signal processing methods, transmitters, and receivers may include further and different steps or components than those specifically shown and described. For example, a receiver may include a memory for storing an adjusted channel matrix for iterations of the above search subset identification, and hard decision results for subsequent competing distance calculation or soft demapping. Transmitters and receivers also often support time/frequency domain transformation functions such as Fast Fourier Transforms (FFTs) and Inverse FFTs (IFFTs) for processing information before or after encoding and decoding operations.
In addition, although described primarily in the context of methods and systems, other implementations of the invention are also contemplated, as instructions stored on a computer-readable medium for example.

## Claims

1. A method of processing communication signals comprising transmission symbols from a transmission symbol set, the method comprising:
identifying, at a receiver, a search subset of the transmission symbol set for one of the transmission symbols in the communication signals; and
identifying, at the receiver, for each other transmission symbol in the communication signals, multiple search subsets of the transmission symbol set, the multiple search subsets comprising respective search subsets based on each transmission symbol in either the search subset for the one of the transmission symbols or each of the multiple search subsets identified for a different one of the other transmission symbols, wherein the multiple search subsets are combined to form combined search subsets.

2. The method of claim 1, wherein identifying a search subset and identifying multiple search subsets comprise estimating the transmission symbols in the communication signals using a zero forcing (ZF) algorithm.

3. The method of claim 1, wherein the one transmission symbol comprises a transmission symbol in the communication signals satisfying a selection criterion.

4. The method of claim 3, wherein the selection criterion comprises at least one of an absolute signal to interference and noise ratio (SINR) criterion, a relative SINR criterion, an absolute signal to noise ratio (SNR) criterion, and a relative SNR criterion.

5. The method of claim 1, further comprising:
adjusting a communication signal model for the one transmission symbol; and
determining a characteristic of each of the transmission symbols in the communication signals other than the one transmission symbol based on the adjusted communication signal model,
wherein identifying multiple search subsets comprises identifying multiple search subsets, for one of the other transmission symbols for which the determined characteristic satisfies a selection criterion, based on each transmission symbol in the search subset for the one of the transmission symbols.

6. The method of claim 1, wherein identifying multiple search subsets comprises iterating an operation of identifying multiple search subsets for each of the other transmission symbols, the multiple search subsets identified for a transmission symbol in an iteration comprising respective search subsets based on each transmission symbol in each of the multiple search subsets identified for a different transmission symbol in a preceding iteration.

7. The method of claim 1, wherein identifying multiple search subsets comprises, for each transmission symbol in the search subset for the one transmission symbol or in each of the multiple search subsets identified for the different one of the other transmission symbols, extracting interference associated with the transmission symbol from the communication signals, and identifying a respective one of the multiple search subsets based on the communication signals from which the interference has been extracted.

8. The method of claim 1, wherein the communication signals are associated with respective layers in a Multiple Input Multiple Output (MIMO) communication system.

9. The method of claim 8, wherein identifying the search subset for the one of the transmission symbols comprises determining a zero forcing (ZF) solution of


{right arrow over (r)}=H{right arrow over (s)}+{right arrow over (n)}, 


where
{right arrow over (r)}=[r1 r2 . . . rM]T is a vector of the communication signals,
{right arrow over (s)}=[s1 s2 . . . sN]T is a vector of transmitted signals which include the transmission symbols,
{right arrow over (n)}=[n1 n2 . . . nM]T is a noise vector, and





  H
  =
  
    [
    
      
        
          
            h
            11
          
        
        
          
            h
            12
          
        
        
          ⋯
        
        
          
            h
            
              1
              ⁢
              
                
              
              ⁢
              N
            
          
        
      
      
        
          
            h
            21
          
        
        
          
            h
            22
          
        
        
          ⋯
        
        
          
            h
            
              2
              ⁢
              
                
              
              ⁢
              N
            
          
        
      
      
        
          ⋮
        
        
          ⋮
        
        
          ⋱
        
        
          ⋮
        
      
      
        
          
            h
            
              M
              ⁢
              
                
              
              ⁢
              1
            
          
        
        
          
            h
            
              M
              ⁢
              
                
              
              ⁢
              2
            
          
        
        
          ⋯
        
        
          
            h
            MN
          
        
      
    
    ]
  




is a communication channel matrix, wherein the ZF solution satisfies




  arg
  ⁢
  
    
  
  ⁢
  
    
      min
      
        {
        
          s
          _
        
        }
      
    
    ⁢
    
      
      
        
          r
          ⇀
        
        -
        
          H
          ⁢
          
            s
            ⇀
          
        
      
      
    
  








  
    
      
        
          
            s
            ⇀
          
          ~
        
        =
        
          
            
              (
              
                
                  H
                  ′
                
                ⁢
                H
              
              )
            
            
              -
              1
            
          
          ⁢
          
            H
            ′
          
          ⁢
          
            r
            ⇀
          
        
      
    
  
  
    
      
        
          =
          
            
              s
              ⇀
            
            +
            
              
                
                  (
                  
                    
                      H
                      ′
                    
                    ⁢
                    H
                  
                  )
                
                
                  -
                  1
                
              
              ⁢
              
                H
                ′
              
              ⁢
              
                n
                ⇀
              
            
          
        
        ,
      
    
  




where
H′ is a conjugate transpose of H.

10. The method of claim 9, further comprising:
determining gi=GiGi′,

where
G=(H′H)−1H′, and
Gi is the ith row of G; and
selecting the transmission symbol corresponding to a highest gi as the one of the transmission symbols.

11. The method of claim 10, further comprising:
determining for each of the other transmission symbols an iterated Gi and gi based on H without a row corresponding to the one of the transmission symbols,
wherein identifying multiple search subsets comprises identifying multiple search subsets, for one of the other transmission symbols corresponding to a highest iterated gi, based on each transmission symbol in the search subset for the one of the transmission symbols.

12. The method of claim 1, wherein the transmission symbols are Quadrature Amplitude Modulation (QAM) symbols or Quadrature Phase Shift Keying (QPSK) symbols.

13. A non-transitory computer-readable medium storing instructions which when executed perform the method of claim 1.

14. The method of claim 1, further comprising:
encoding information using transmission symbols from the transmission symbol set to generate the communication signals; and
transmitting the communication signals.

15. A system for processing communication signals, comprising:
an input configured to receive the communication signals, the communication signals comprising transmission symbols from a transmission symbol set; and
a processor configured to identify a search subset of the transmission symbol set for one of the transmission symbols in the communication signals, and to identify, for each other transmission symbol in the communication signals, multiple search subsets of the transmission symbol set, the multiple search subsets comprising respective search subsets based on each transmission symbol in either the search subset for the one of the transmission symbols or each of the multiple search subsets identified for a different one of the other transmission symbols wherein the multiple search subsets are combined to form combined search subsets.

16. The system of claim 15, wherein the processor is configured to identify the search subset and the multiple search subsets by estimating the transmission symbols in the communication signals using a zero forcing (ZF) algorithm.

17. The system of claim 15, wherein the processor is further configured to adjust a communication signal model for the one transmission symbol, to determine a characteristic of each of the transmission symbols in the communication signals other than the one transmission symbol based on the adjusted communication signal model, and to identify multiple search subsets, for one of the other transmission symbols for which the determined characteristic satisfies a selection criterion, based on each transmission symbol in the search subset for the one of the transmission symbols.

18. The system of claim 17, wherein the processor is further configured to iteratively identify multiple search subsets for each of the other transmission symbols in the communication signals, the multiple search subsets identified for a transmission symbol in an iteration comprising respective search subsets based on each transmission symbol in each of the multiple search subsets identified for a different transmission symbol in a preceding iteration.

19. The system of claim 15, implemented in a receiver in a Multiple Input Multiple Output (MIMO) communication system.

20. The system of claim 19, wherein the processor is configured to identify the search subset for the one of the transmission symbols by determining a zero forcing (ZF) solution of


{right arrow over (r)}=H{right arrow over (s)}+{right arrow over (n)}, 


where
{right arrow over (r)}=[r1 r2 . . . rM]T is a vector of the communication signals,
{right arrow over (s)}=[s1 s2 . . . sN]T is a vector of transmitted signals which include the transmission symbols,
{right arrow over (n)}=[n1 n2 . . . nM]T is a noise vector, and





  H
  =
  
    [
    
      
        
          
            h
            11
          
        
        
          
            h
            12
          
        
        
          ⋯
        
        
          
            h
            
              1
              ⁢
              
                
              
              ⁢
              N
            
          
        
      
      
        
          
            h
            21
          
        
        
          
            h
            22
          
        
        
          ⋯
        
        
          
            h
            
              2
              ⁢
              
                
              
              ⁢
              N
            
          
        
      
      
        
          ⋮
        
        
          ⋮
        
        
          ⋱
        
        
          ⋮
        
      
      
        
          
            h
            
              M
              ⁢
              
                
              
              ⁢
              1
            
          
        
        
          
            h
            
              M
              ⁢
              
                
              
              ⁢
              2
            
          
        
        
          ⋯
        
        
          
            h
            MN
          
        
      
    
    ]
  




is a communication channel matrix, wherein the ZF solution satisfies




  arg
  ⁢
  
    
  
  ⁢
  
    
      min
      
        {
        
          s
          _
        
        }
      
    
    ⁢
    
      
      
        
          r
          ⇀
        
        -
        
          H
          ⁢
          
            s
            ⇀
          
        
      
      
    
  




and is given by




  
    
      
        
          
            s
            ⇀
          
          ~
        
        =
        
          
            
              (
              
                
                  H
                  ′
                
                ⁢
                H
              
              )
            
            
              -
              1
            
          
          ⁢
          
            H
            ′
          
          ⁢
          
            r
            ⇀
          
        
      
    
  
  
    
      
        
          =
          
            
              s
              ⇀
            
            +
            
              
                
                  (
                  
                    
                      H
                      ′
                    
                    ⁢
                    H
                  
                  )
                
                
                  -
                  1
                
              
              ⁢
              
                H
                ′
              
              ⁢
              
                n
                ⇀
              
            
          
        
        ,
      
    
  




where
H′ is a conjugate transpose of H.

21. The system of claim 20, wherein the processor is further configured to determine
giGiGi′,

where
G=(H′H)−1H′, and
Gi the ith row of G,
and to select the transmission symbol corresponding to a highest gi as the one of the transmission symbols.

22. The system of claim 21, wherein the processor is further configured to determine for each of the other transmission symbols an iterated Gi and gi based on H without a row corresponding to the one of the transmission symbols, and to identify multiple search subsets, for one of the other transmission symbols corresponding to a highest iterated gi, based on each transmission symbol in the search subset for the one of the transmission symbols.

23. The system of claim 21, wherein the processor is further configured to perform, for each of the other transmission symbols, an iteration to determine Gi and gi based on H without a row corresponding to the one of the transmission symbols and the other transmission symbols for which multiple search subsets were identified in any preceding iterations, and to identify multiple search subsets, for one of the other transmission symbols corresponding to a highest iterated gi, based on each transmission symbol in each of the multiple search subsets identified for a different transmission symbol in a preceding iteration.

24. The system of claim 15, wherein the transmission symbols are Quadrature Amplitude Modulation (QAM) symbols or Quadrature Phase Shift Keying (QPSK) symbols.

25. A communication system comprising:
at least one receiver comprising the system of claim 15; and
at least one transmitter comprising a processor configured to encode information using transmission symbols from the transmission symbol set to generate the communication signals and an output configured to output the communication signals for transmission to the receiver.

26. A communication method, comprising:
encoding information using transmission symbols from a transmission symbol set;
transmitting communication signals comprising the transmission symbols to a receiver, for detecting at the receiver by identifying a search subset of the transmission symbol set for one of the transmission symbols in the communication signals, and identifying, for each other transmission symbol in the communication signals, multiple search subsets of the transmission symbol set, the multiple search subsets comprising respective search subsets based on each transmission symbol in either the search subset for the one of the transmission symbols or each of the multiple search subsets identified for a different one of the other transmission symbols, wherein the multiple search subsets are combined to form combined search subsets.

27. A communication signal transmitting system comprising:
a processor configured to encode information using transmission symbols from a transmission symbol set; and
an output configured to output communication signals comprising the transmission symbols for transmission to a receiver and detecting at the receiver by identifying a search subset of the transmission symbol set for one of the transmission symbols in the communication signals, and identifying, for each other transmission symbol in the communication signals, multiple search subsets of the transmission symbol set, the multiple search subsets comprising respective search subsets based on each transmission symbol in either the search subset for the one of the transmission symbols or each of the multiple search subsets identified for a different one of the other transmission symbols, wherein the multiple search subsets are combined to form combined search subsets.

28. A method of detecting transmission symbols from communication signals comprising transmission symbols from a transmission symbol set, the method comprising:
determining a detected symbol for a transmission symbol in the communication signals and a competing transmission symbol for the detected symbol from the transmission symbol set;
determining a first distance between the detected symbol and another symbol detected from the communication signals and a second distance between the competing transmission symbol and a transmission symbol associated with the other detected symbol; and
detecting an error in the detected symbol based on the first distance and the second distance.

29. The method of claim 28, wherein determining a detected symbol and a competing transmission symbol for the detected symbol comprises detecting a transmission symbol from the communication signals.

30. The method of claim 29, wherein detecting comprises identifying a search subset of the transmission symbol set and selecting the detected symbol from the search subset.

31. The method of claim 30, wherein selecting comprises selecting the detected symbol from the search subset based on a maximum likelihood (ML) criterion.

32. The method of claim 30, wherein determining a detected symbol and a competing transmission symbol for the detected symbol further comprises selecting the competing transmission symbol from the search subset.

33. The method of claim 30, wherein determining a detected symbol and a competing transmission symbol for the detected symbol comprises determining a plurality of competing transmission symbols for the detected symbol, the plurality of competing transmission symbols comprising transmission symbols other than the detected symbol in the search subset, wherein determining a second distance comprises determining respective second distances between each of the plurality of competing transmission symbols and the transmission symbol associated with the other detected symbol, and wherein detecting comprises detecting an error in the detected symbol based on the first distance and the respective second distances.

34. The method of claim 33, wherein the other detected symbol comprises a transmission symbol selected from one of a plurality of other search subsets of the transmission symbol set, the plurality of other search subsets respectively corresponding to the detected symbol and the competing transmission symbols for the detected symbol, wherein the transmission symbol associated with the other detected symbol comprises a plurality of transmission symbols respectively selected from the plurality of other search subsets corresponding to the competing transmission symbols for the detected symbol, wherein determining a second distance comprises determining respective second distances between each of the plurality of competing transmission symbols for the detected symbol and the transmission symbol selected from the other search subset corresponding thereto, and wherein detecting comprises detecting an error in the detected symbol based on the first distance and the respective second distances.

35. The method of claim 34, further comprising:
selecting the plurality of transmission symbols from the plurality of other search subsets based on a maximum likelihood (ML) criterion.

36. The method of claim 28, further comprising:
determining a competing transmission symbol for the other detected symbol from the transmission symbol set,
wherein the transmission symbol associated with the other detected symbol comprises the competing transmission symbol for the other detected symbol.

37. The method of claim 28, wherein the transmission symbol associated with the other detected symbol comprises the other detected symbol.

38. The method of claim 28, wherein detecting comprises detecting an error in the detected symbol where the first distance exceeds the second distance.

39. The method of claim 28, further comprising:
performing an error processing operation responsive to detecting an error in the detected symbol.

40. The method of claim 39, wherein the error processing operation comprises at least one operation selected from the group consisting of: repeating a detecting operation, erasing the detected symbol, and erasing a portion of the detected symbol.

41. A non-transitory computer-readable medium storing instructions which when executed perform the method of claim 28.

42. The method of claim 28, further comprising:
encoding information using transmission symbols from the transmission symbol set to generate the communication signals; and
transmitting the communication signals.

43. A system for detecting transmission symbols from communication signals comprising transmission symbols from a transmission symbol set, the system comprising:
an input; and
a processor configured to determine a detected symbol for a transmission symbol in the communication signals and a competing transmission symbol for the detected symbol from the transmission symbol set, to determine a first distance between the detected symbol and another symbol detected from the communication signals and a second distance between the competing transmission symbol and a transmission symbol associated with the other detected symbol, and to detect an error in the detected symbol based on the first distance and the second distance.

44. The system of claim 43, wherein the processor is configured to determine a detected symbol and a competing transmission symbol for the detected symbol by identifying a search subset of the transmission symbol set, selecting the detected symbol from the search subset, and selecting the competing transmission symbol from the search subset.

45. The system of claim 44, wherein the processor is further configured to determine a plurality of competing transmission symbols for the detected symbol, the plurality of competing transmission symbols comprising transmission symbols other than the detected symbol in the search subset, to determine respective second distances between each of the plurality of competing transmission symbols and the transmission symbol associated with the other detected symbol, and to detect an error in the detected symbol based on the first distance and the respective second distances.

46. The system of claim 45, wherein the other detected symbol comprises a transmission symbol selected from one of a plurality of other search subsets of the transmission symbol set, the plurality of other search sets respectively corresponding to the detected symbol and the competing transmission symbols for the detected symbol, wherein the symbol associated with the other detected symbol comprises a plurality of transmission symbols respectively selected from the plurality of other search subsets corresponding to the competing transmission symbols for the detected symbol, and wherein the processor is configured to determine respective second distances between each of the plurality of competing transmission symbols for the detected symbol and the transmission symbol selected from the other search subset corresponding thereto, and to detect an error in the detected symbol based on the first distance and the respective second distances.

47. The system of claim 43, wherein the transmission symbol associated with the other detected symbol comprises either the other detected symbol or a competing transmission symbol for the other detected symbol.

48. The system of claim 43, wherein the processor is further configured to perform at least one error processing operation selected from the group consisting of: repeating a detecting operation, erasing the detected symbol, and erasing a portion of the detected symbol responsive to detecting an error in the detected symbol.

49. A communication system comprising:
at least one receiver comprising the system of claim 43; and
at least one transmitter comprising a processor configured to encode information using transmission symbols from the transmission symbol set to generate the communication signals and an output configured to output the communication signals for transmission to a communication terminal.

50. A communication method, comprising:
encoding information using transmission symbols from a transmission symbol set;
transmitting communication signals comprising the transmission symbols to a receiver, for detecting at the receiver by determining a detected symbol for a transmission symbol in the communication signals and a competing transmission symbol for the detected symbol from the transmission symbol set, determining a first distance between the detected symbol and another symbol detected from the communication signals and a second distance between the competing transmission symbol and a transmission symbol associated with the other detected symbol, and detecting an error in the detected symbol based on the first distance and the second distance.

51. A communication signal transmitting system comprising:
a processor configured to encode information using transmission symbols from a transmission symbol set; and
an output configured to output communication signals comprising the transmission symbols for transmission to a receiver and detecting at the receiver by determining a detected symbol for a transmission symbol in the communication signals and a competing transmission symbol for the detected symbol from the transmission symbol set, deterrnining a first distance between the detected symbol and another symbol detected from the communication signals and a second distance between the competing transmission symbol and a transmission symbol associated with the other detected symbol, and detecting an error in the detected symbol based on the first distance and the second distance.

52. A method of detecting transmission symbols from communication signals comprising transmission symbols from a transmission symbol set, the method comprising:
determining respective detected symbols for transmission symbols in a plurality of the communication signals;
determining a soft decision result for each detected symbol based on others of the detected symbols;
determining a respective weight for each soft decision result; and
applying the corresponding weight to the soft decision result,
wherein determining respective detected symbols comprises:
identifying a search subset of the transmission symbol set for one of the transmission symbols in the communication signals; and
identifying, for each other transmission symbol in the communication signals, multiple search subsets of the transmission symbol set, the multiple search subsets comprising respective search subsets based on each transmission symbol in either the search subset for the one of the transmission symbols or each of the multiple search subsets identified for a different one of the other transmission symbols.

53. The method of claim 52, wherein determining a soft decision result for each detected symbol based on others of the detected symbols comprises determining a soft decision result {tilde over (s)}k for a kth one of the detected symbols as



  
    
      
        
          s
          ~
        
        k
      
      =
      
        
          1
          
            
              
                H
                ′
              
              ⁡
              
                (
                
                  :
                  
                    ,
                    k
                  
                
                )
              
            
            ⁢
            
              H
              ⁡
              
                (
                
                  :
                  
                    ,
                    k
                  
                
                )
              
            
          
        
        ⁢
        
          
            H
            ′
          
          ⁡
          
            (
            
              :
              
                ,
                k
              
            
            )
          
        
        ⁢
        
          
            r
            ⇀
          
          k
        
      
    
    ,
    
      

    
    ⁢
    where
  




  
    
      
        
          r
          ⇀
        
        k
      
      =
      
        
          r
          ⇀
        
        -
        
          
            ∑
            
              i
              ≠
              k
            
            4
          
          ⁢
          
            
          
          ⁢
          
            
              H
              ⁡
              
                (
                
                  :
                  
                    ,
                    i
                  
                
                )
              
            
            ⁢
            
              
                s
                ^
              
              i
            
          
        
      
    
    ,
  


{right arrow over (r)}=[r1 r2 . . . rM]T is a vector of the communication signals,
ŝi is an ith one of the detected symbols,





  H
  =
  
    [
    
      
        
          
            h
            11
          
        
        
          
            h
            12
          
        
        
          ⋯
        
        
          
            h
            
              1
              ⁢
              
                
              
              ⁢
              N
            
          
        
      
      
        
          
            h
            21
          
        
        
          
            h
            22
          
        
        
          ⋯
        
        
          
            h
            
              2
              ⁢
              
                
              
              ⁢
              N
            
          
        
      
      
        
          ⋮
        
        
          ⋮
        
        
          ⋱
        
        
          ⋮
        
      
      
        
          
            h
            
              M
              ⁢
              
                
              
              ⁢
              1
            
          
        
        
          
            h
            
              M
              ⁢
              
                
              
              ⁢
              2
            
          
        
        
          ⋯
        
        
          
            h
            MN
          
        
      
    
    ]
  




is a communication channel matrix, and
H′ is a conjugate transpose of H.

54. The method of claim 53, wherein determining a respective weight for each soft decision result comprises determining a weight gk for a kth one of the soft decision results {tilde over (s)}k as


gk=∥G(k,:)∥2,



where



G=(H′H)−1H′.

55. The method of claim 52, wherein the plurality of transmission symbols comprises transmission symbols associated with respective layers in a Multiple Input Multiple Output (MIMO) communication system.

56. A non-transitory computer-readable medium storing instructions which when executed perform the method of claim 52.

57. A system for detecting transmission symbols from communication signals, comprising:
an input configured to receive the communication signals, the communication signals comprising transmission symbols from a transmission symbol set; and
a processor configured to determine respective detected symbols for transmission symbols in a plurality of the communication signals, to determine a soft decision result for each detected symbol based on others of the detected symbols, to determine a respective weight for each soft decision result, and to apply the corresponding weight to the soft decision result, wherein the processor is further configured to determine respective detected symbols for transmission symbols in a plurality of the communication signals by:
identifying a search subset of the transmission symbol set for one of the transmission symbols in the communication signals; and
identifying, for each other transmission symbol in the communication signals, multiple search subsets of the transmission symbol set, the multiple search subsets comprising respective search subsets based on each transmission symbol in either the search subset for the one of the transmission symbols or each of the multiple search subsets identified for a different one of the other transmission symbols.