Abstract:
A method for calculating soft outputs of a detector used in a receiver that is part of a communication system having either memory introducing modulators or memoryless modulators. The output of a soft output detector, also known as reliability information, provides a probability that a certain symbol was transmitted by a transmitter of the communication system or the probability that a bit within a transmitted symbol was transmitted by a transmitter.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention is directed to a method for generating and calculating reliability information with the use of a symbol detector used in a receiver for a digital communication system. 
     2. Description of the Related Art 
     Digital telecommunication systems convey digital information (i.e., bits or groups of bits) over various types of communication channels such as air, coaxial cables, telephone lines, fiber optic lines or any other well known medium through which communication signals propagate. The digital information is transmitted and received with the use of well known standard transmitter and receiver equipment. FIG. 1 depicts a model of a typical digital communication system comprising a transmitter connected to a receiver via a communication channel. The transmitter comprises convolutional encoder  102  coupled to Interleaver  104  which is coupled to modulator  106 . The input signal b i  is typically a string or a group of bits (e.g., 0,1) arranged in any well known format. The digital bits represent any type of signals (digital or analog) originating from any well known communication equipment. For example, the input signal can represent digitized voice, digitized video signal or digital signals from a personal computer (PC) or computer system. Although not shown, it should be understood that the transmitter also comprises circuitry (e.g., Analog to Digital Converter) that converts analog signals to bits. Further, the transmitter comprises well known radio or other transmission circuitry configured to transmit digitally modulated signals which appear at the output of modulator  106 . 
     Modulator  106  is designed to digitally modulate signals with the use of well known spectrally efficient modulation techniques such as Phase Shift Keying (PSK) or Differential Phase Shift Keying (DPSK). Generally, modulator  106  is an M-PSK or M-DPSK modulator where M represents the total number of different groupings of bits that can be transmitted by a digital modulator. For example for M=8, each grouping of bits contains N bits where N=log 2  M. Thus, for M=8, N is equal to 3. The modulation process maps the incoming bits d i  (i=0, . . . , N d− 1; where N d  is the number of bits in the sequence) into symbols (e.g., an M-PSK signal); one well known mapping technique is called Gray mapping which is shown in FIG. 2 for M=2, 4, 8. The symbols x i  (i=0, . . . , N k −1; where N k  is the number of symbols in the sequence) are simply digital signals modulated in conformance with a particular modulation scheme (e.g., PSK). M-PSK and M-DPSK are examples of constant envelope modulation techniques because the maximum amplitude values of signals used to generate the symbols are relatively constant. When the maximum amplitude values of the signals used to generate the symbols are not constant, the modulation is referred herein as nonconstant envelope modulation. The output of modulator  106  (i.e., symbols x i ) is then transmitted through channel  108  with the use of the aforementioned radio transmission circuitry. The incoming bits to modulator  106  are the output of interleaver  104  whose input signal is c i  (i=0, . . . , N c −1; where N c,  is the number of bits in the sequence). The signal c i  is a string or a grouping of bits, each of which is commonly referred to as a codeword, appearing at the output of convolutional encoder  102 . 
     Convolutional encoder  102  is a well known bit processing device and/or function which, in essence, adds bits to the incoming bit stream b i  (i=0, . . . , N b −1; where N b  is the number of bits in the sequence) to introduce redundancy in the incoming bits stream thus allowing for error correction at the receiver. The convolutionally encoded bits are represented by bit stream c i  which is interleaved by interleaver  104 . Interleaver  104  is also a well known bit processing device and/or function that alters the time order of the bits represented by c i  thus introducing time diversity in a bit stream without adding bits to the bit stream. Although convolutional encoder  102 , interleaver  104  and modulator  106  are described and depicted as separate devices, they can also be different parts of a signal processing and/or computer based system. 
     The receiver of the communication system model comprises a device hereinafter be referred to as Soft Output Detector (SOD)  110 . The receiver further comprises Deinterleaver  112  and another device hereinafter referred to as Soft Input Decoder (SID)  114 . SOD  110  is coupled to Deinterleaver  112  which is coupled to SID  114 . It will be readily understood that the receiver typically comprises a plurality of receiving devices each of which is configured to receive a separate signal. For example the receiver shown in FIG. 1 comprises N a  receiving devices (not shown) where N a  is an integer equal to or greater than 1. In the case where the receiving device is an array of N a  antennae, the communication system modeled in FIG. 1 may be, for example, a mobile communication system (i.e., a wireless communication system). In a mobile (wireless) communication system (and other communication systems) each antenna receives signals located in a certain frequency band. The received signal is downconverted (i.e., frequency content of the signal is changed to lower frequencies) and applied to a matched filter. The filtered signal is sampled at a rate greater than or equal to 1/T where T is a period of time that represents a signaling interval (i.e., the amount of time between transmission of two consecutive symbols). The samples (i.e., sampled received signals,y i ) are fed to SOD  110 . Further, well known receiver circuitry (e.g., amplifiers, filters), which are not shown, are also used to receive the plurality of different signals conveyed over channel  108 . For the sake of simplicity and ease of illustration, the N a  antennae and associated receiver circuitry are not shown. It will be readily understood that the receiver may be implemented with any well known receiving devices (other than antennae) that allow it to receive a plurality of separate signals. However, the receiving devices are hereinafter referred to as antennae simply for ease of discussion only. SOD  110  is a device that generates reliability information (Ω i ) from the samples y i.    
     The reliability information (or soft outputs) generated by SOD  110  represents a probability that the received signal is a particular group of bits from the set of bits defined by modulator  106  and examples of which are shown in FIG. 2, or the probability of each single bit within each transmitted symbol. It is important to note that the reliability information does not represent the actual transmitted signal but it provides an indication of the most likely signal that was transmitted. The output of SOD  110  (i.e., Ω i ) is applied to Deinterleaver  112 . Deinterleaver  112  performs the inverse operation of Interleaver  104  in that the signals Ω i  are rearranged in their proper time order. The output of Deinterleaver  112  (Ω i ′) is applied to Soft Input Decoder  114  (SID). SID  114  performs a decoding operation that serves to decode the output of Deinterleaver  112  into a stream of bits represented by b′ i . Assuming the transmitter has a convolutional encoder, one example of a corresponding decoding operation is the Soft Input Viterbi Decoder which applies the well known Viterbi Decoding algorithm; G. D. Forney,  “The Viterbi Algorithm,” Proc. IEEE, March  1973, pp. 268-278. 
     Samples y i  represent the transmitted symbols x i  after they have propagated through channel  108 . Channel  108  has well known characteristics (e.g., amplitude response, phase response, impulse response) that alter the transmitted symbols. As is well known in communication theory, the channel is a source of distortions, viz., multiplicative distortion, (e.g., phase jitter, amplitude degradation, frequency translation) that directly affect the transmitted symbols; such distortions are typically characterized mathematically using statistical and probability models. Furthermore, at the receiver noise components are added to the signal. Noise components are typically added by receiver circuitry and other circuitry. One example of noise is Additive White Gaussian Noise (AWGN). The channel characteristics and noise represent the effects of the channel on the transmitted sequence of symbols x i . The noise signals are represented by n. The multiplicative distortions from the channel are represented by h. The aggregate effect of the channel on the transmitted symbols (x i ) is thus represented by characteristic h and noise n. The received samples (y i ) are used to derive the reliability information. Channel State Information (CSI) is the total effect of the channel characteristic (h) (i.e., multiplicative distortion) on transmitted symbol. The CSI is equivalent to the impulse response (i.e., a function well known in electrical engineering that is used to fully describe a circuit) of the channel. 
     The goal of the receiver is to make a decision on the transmitted information bits b i  from observing the sequence of sample y i . Such goal can be achieved by applying the well known MAP (Maximum A Posteriori) criteria. Since there exists a unique relation between the sequence of information bits b i  (denoted as b) and the coded sequence of bits c i  (denote as c), the MAP algorithm selects a codeword given a sequence of samples y i  which have propagated through a channel having a certain characteristic represented by h; that is, the algorithm selects the codeword that maximizes the probability that the transmitted sequence was c i  given that the input sequence to the receiver is y i . The probability being maximized is a conditional probability written as: 
     
       
           P (   c | y ,  h   )  (1) 
       
     
     Equation (1) and all other equations appearing in this application follow the convention in which double underlined variables represent matrices and single underlined variables represent vectors. The sequence of signals received by the receiver after such signals have propagated through a channel with characteristic h and noise n is usually given as: 
     
       
             y = hx + n     (2) 
       
     
     where n represents the noise signals existing in the channel and h represents multiplicative distortion from the channel. Thus, for a receiver having N a  antennae coupled to channel  108  with each antenna being sampled at N k  (N k  is an integer equal to or greater than 1) distinct points in time at rate 1/T, equation (2) can be written in the following form:                      [           y     0   ,   0           …         y     0   ,     N     k   -   1                   …       …       …             y       N     a   -   1       ,   0           …         y       N     a   -   1       ,     N     k   -   1                 ]     =                [           h     0   ,   0           …         h     0   ,     N     k   -   1                   …       …       …             h       N     a   -   1       ,   0           …         h       N     a   -   1       ,     N     k   -   1                 ]                                [           x   0         …       0           …       …       …           0       …         x     N     k   -   1               ]     +     n   =                     (   3   )                                
     The elements of the noise matrix  n  are equally distributed statistically independent complex Gaussian variables with zero mean and power E[|n a,k | 2 ]=2σ a   2 . The real and imaginary components are independent zero mean Gaussian variables with standard deviation σ a . It is well known that the first order statistics of a complex Gaussian random variable z with variance 2σ a   2  is given by a probability density function which is equal to:                p        (   z   )       =       1     2        πσ   a   2              e       -     1     2        σ   a   2                     z        2                   (3a)                                
     J. Proakis,  Digital Communications,  3d edition, McGraw Hill, 1995. The characteristic, h (e.g., amplitude response, phase response) of channel  108  can be measured and then stored in matrix form as shown in equation (3). The transmitted symbols (x i ) are represented by diagonal matrix  x  where each diagonal element is a particular symbol generated by modulator  106 . The elements of the diagonal matrix  x,  matrix  h  and matrix  n  are complex numbers. The complex conjugate of  h ,  x  and  n  is denoted with the use of an asterisks, i.e.,  h* ,  x* ,  n* . 
     In essence, modulator  106  maps the sequence of input bits d i  into a sequence of symbols. The particular mapping (e.g., Gray mapping) used generates a finite number of distinct symbols. As shown by equation (3), the transmitted symbols x i  are multiplied by  h  and then the noise is added. Equation (3) represents a communication system (e.g., mobile or wireless communication system) wherein a transmitted sequence of symbols propagates through a radio channel characterized by matrix  h  and captured by an antenna array with N a  elements. In radio mobile communications systems (i.e., wireless communication systems), the distortion is manifested by rapid variations in amplitude and phase commonly referred to as fading. 
     The application of the MAP algorithm leads to a two-stage receiver. The first stage (SOD) generates reliability information on the coded bits d i . After deinterleaving, the second stage (SID) applies a maximization rule to make a final decision on the most likely transmitted code word ( c ). In particular, assuming statistically independent coded bits, equation (1) can be written as:              P   (         c   _                 y   =     ,     h   =       )       =       ∏     l   =   0         N   c     -   1                       P   (       c   l                 y   =     ,     h   =       )                     (   4   )                                
     where N c  represents the number of bits; N c  is equal number of symbols (i.e., samples)×number of bits/symbol or N c =N k ×N. From the well known Bayes Rule in probability theory, (J. Proakis,  Digital Communications,  3d edition, Mc Graw Hill, 1995) equation (4) is written as:                P   (       c   _                 y   =     ,     h   =           )     =       ∏     l   =   0         N   c     -   1            p   (       y   =                 h   =     ,     c   l       )            P        (     c   l     )         p   (       y   =               h   =     )                         (   5   )                                
     where p( y | h ) and p( y | h , c l ) are conditional probability density functions. Depending on the statistical nature of the transmitted symbols and the channel, a particular probability density function (typically Gaussian) is used for p( y | h , c l ). Because, the goal is to maximize equation (5) over all possible codewords ( c ), p(y|h) is a constant since it does not depend on c l . The maximization operation can be done using the well known Viterbi algorithm or any other well known maximization algorithm, G. D. Forney,  The Viterbi Algorithm,  Proc. IEEE, March 1973. The maximization is performed by an outer stage of the receiver, i.e., SID  116 . The result of the maximization of equation (5) is not altered when the logarithm (natural logarithm) of both sides of equation (5) is taken yielding:              ln                   P   (         c   _                 y   =     ,     h   =       )       =       ∑     l   =   0         N   c     -   1                       {       ln                   p   (         y   =                 h   =     ,     c   l       )       +     ln                   P   (     c   l     )         }       +   C                     (5a)                                
     P(c l ) is an a priori probability of coded bits c l . An a priori probability is either a given or known probability value or a probability value that is simply assumed or hypothesized. When all coded bits are equally likely, P(c l )−½. After deinterleaving, equation ( 5   a ) becomes:              ln                   P   (         d   _                 y   =     ,     h   =       )       =       ∑     l   =   0         N   c     -   1                       {       ln                   p   (         y   =                 h   =     ,     d   l       )       +     ln                   P   (     d   l     )         }       +   C                     (5b)                                
     Since the interleaver maps a sequence of N c  input bits into one unique sequence of N c  output bits, the maximization of equations (5), (5a) over codewords  c  gives the same result as performing the maximization of equation (5b) over interleaved codewords  d . 
     The terms of the sum in equation (5b) are log likelihood functions calculated by SOD  110 . Thus, the task of SOD  110  is to produce the following log likelihood function: 
     
       
         Ω( d   l )=ln  p (   y | h , d   l )+ln  P ( d   l )  (6) 
       
     
     Equation (6) is the output of SOD  110  that is then applied to Deinterleaver  112 . Equation (6) is therefore produced from the samples  y . Thus, the log likelihood function of the i th  bit in the m th  time interval is expressed as: 
     
       
         Ω m,i ( b )=ln  p (   y | h , d   m,i   =b )+ln  P ( d   m,i   =b ) where  b =0,1  (7) 
       
     
     Equation (7) expresses the logarithm of the probability that the i th  bit belonging to the symbol received at the m th  time interval is a certain value. The log likelihood function Ω of equation (7) can be interpreted mathematically as a transform from the space of observations y to the space of the logarithm of probabilities P. It should be noted that if Ω m,i (1) is greater than Ω m,i (0), then the transmitted bit d m,i  is more likely to be 1 than 0. Because there is a direct mapping between the variables x and d, the log likelihood function of equation (7) can be computed using the probability density function p( y | h , x ); this probability density function is expressed as:              p   (         y   =                 h   =     ,     x   _       )       =       ∏     a   =   0         N   a     -   1            p   (         y   _                  a                     h   _                  a       ,     x   _       )                     (   8   )                                
     Equation (8) expresses the concept of independent channels (each antenna serves a particular channel) by each of the N a  antennae; that is, the channels associated with each antennae are independent from any other channels. The antennae are statistically independent from each other, thus the factorization in equation (8) holds where each factor ( y   a ) represents a sequence of samples received by an antenna a. Given the AWGN assumption, equation (8) can also be factored over time samples where each factor ( y   k ) represents a sequence of samples received at time k by all antennae:              p   (         y   =                 h   =     ,     x   _       )       =       ∏     k   =   0         N   k     -   1            p   (         y   _                  k                     h   _                  k       ,     x   k       )                     (   9   )                                
     Combining equations (8) and (9) the joint probability density function for all N k  samples of each of the N a  antenna is obtained:                p   (       y   =                 h   =     ,     x   _           )     =       ∏     a   =   0         N   a     -   1              ∏     k   =   0         N   k     -   1            p   (         y     a   ,   k                   h     a   ,   k       ,     x   k           )                   (   10   )                                
     Combining equation (10) with equation (7), the log likelihood function can be expressed as follows:                  Ω     m   ,   i            (   b   )       =     ln          ∑       x   _     ∈       X   _          (     d     m   ,   i       )                           p                 (             y   =                 h   =     ,       x   _             )                =     ln          ∑       x   _     ∈       X   _          (     d     m   ,   i       )                (       ∏     a   =   0         N   a     -   1                         ∏     k   =   0         N   k     -   1                       p   (           y     a   ,   k                   h     a   ,   k       ,     x   k           )          P        (     x   _     )         )                                 (   11   )                                
       X (d m,i ) is the set of all possible transmitted sequences of symbols ( x ) that have bit d m,i =b. Therefore, as shown in equation (11), in order to compute the reliability information all possible transmitted sequences, their probabilities and the density functions (equations (8) and (9)) have to be determined. Thus, the generation of the reliability information is tedious and complex requiring many calculations. What is therefore needed is an efficient method of calculating the reliability information generated by SOD  110 . 
     SUMMARY OF THE INVENTION 
     The present invention provides an efficient method for calculating reliability information (soft output) using a Soft Output Detector. The reliability information is calculated from received samples and a priori information. The received samples are symbols generated by a modulator which symbols have propagated through a communication channel. The received samples are applied to a Soft Output Detector that is part of a receiver comprising N a  receiving devices where N a  is an integer equal to or greater than 1. The method of the present invention has a first step of receiving a first sample and a second sample. An algebraic expression is evaluated from the first sample and/or second sample and from a priori information associated with the information contained in the transmitted symbols. The reliability information is then derived from the algebraic expression. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a simplified block diagram of a communication system with a receiver having a Soft Output Detector; 
     FIG. 2 shows Gray mapping constellations for different groupings of bits into symbols; 
     FIG. 3 is a trellis chart for a 4-DPSK modulation; 
     FIG. 4A is a flow chart of the method of the present invention. 
     FIG. 4B-4D is a continuation of the flowchart of FIG.  4 A. 
    
    
     DETAILED DESCRIPTION 
     The present invention provides a method for calculating and generating reliability information used to detect symbols transmitted over communication channels. The reliability information is calculated using the samples received by the receiver and a priori information. Multiplicative distortion introduced by the channel on the transmitted symbols is defined as the channel state information (CSI). It will be shown herein that in a communication system for which the CSI is known, the generation of the reliability information by an SOD reduces to a symbol by symbol calculation. Thus, for a communication system in which symbol sequences x, are generated by a constant envelope modulator and are transmitted and propagated through a channel having characteristic  h  and noise  n  and where such transmitted symbols are received by a receiver having N a  receiving devices, the reliability information for the i th  bit at the m th  time interval is expressed in the following equations:                  Ω     m   ,   i            (   b   )       ≅       max       x   m     ∈     X        (     d     m   ,   i       )                {         ∑     a   =   0         N   a     -   1                       (       Re        {       y     a   ,   m            h     a   ,   m     *          x   m   *       }         σ   a   2       )       +       ∑     l   =   0       N   -   1                       (     ln                   P        (     d     m   ,   l       )         )         }               (   i   )                   Ω     m   ,   i            (   b   )       =     ln          ∑       x   m     ∈     X        (     d     m   ,   i       )                (     e         ∑     a   =   0         N   a     -   1                       (       Re        {       y     a   ,   m            h     a   ,   m     *          x   m   *       }         σ   a   2       )       +       ∑     l   =   0       N   -   1                       (     ln                   P        (     d     m   ,   l       )         )           )                 (   ii   )                   Ω     m   ,   i            (   b   )       ≅       max         x   _       m   -   1     m     ∈         X   _       m   -   1     m          (     d     m   ,   i       )                {         ∑     a   =   0         N   a     -   1                         ∑     k   =     m   -   1       m                     (       Re        {       y     a   ,   k            h     a   ,   k     *          x   k   *       }         σ   a   2       )         +       ∑     l   =   0       N   -   1                       (     ln                   P        (     d     m   ,   l       )         )         }               (   iii   )                   Ω     m   ,   i            (   b   )       =     ln          ∑           x   _                    m   -   1     m     ∈         X   _       m   -   1     m          (     d     m   ,   i       )                           (     e         ∑     a   =   0         N   a     -   1                         ∑     k   =     m   -   1       m          (       Re        {       y     a   ,   m            h     a   ,   m     *          x   m   *       }         σ   a   2       )         +       ∑     l   =   0       N   -   1                       (     ln                   P        (     d     m   ,   l       )         )           )                 (   iv   )                                
     where a indicates a particular antenna and m indicates a particular signaling interval. 
     Equations (i) and (ii) are the algorithms for generating reliability information for a communication system in which the transmitted symbols x i  are generated with the use of a memoryless modulator (e.g., PSK modulator). A memoryless modulator, such as a PSK modulator, generates symbol x m  at time m where the generation of symbol x m  does not depend on any previously generated symbol. In contrast, a modulation scheme such as a DPSK scheme introduces memory in the generation of a symbol. In particular, the transmitted symbol x m  is based on at least the previously generated symbol x m−1 . Equations (iii) and (iv) are the algorithms for generating reliability information for a communication system with a modulation scheme that introduces memory to the transmitted symbols. The algorithms are interpreted as transformations from the space of observations Y to the space of probabilities P. The additive noise sequence n is modeled as a sequence of complex variables that follow Gaussian statistics with zero mean and variance 2σ a   2 , and the modulation scheme is a constant envelope scheme. 
     For a communication system in which symbol sequences x i  are generated by a nonconstant envelope modulator and are transmitted and propagated through a channel having characteristic  h  and noise  n  and where such transmitted symbols are received by a receiver having N a  receiving devices, the reliability information for the i th  bit at the m th  time interval is expressed in the following equations:                  Ω     m   ,   i            (   b   )       ≅         -   min         x   m     ∈     X        (     d     m   ,   i       )                {         ∑     a   =   0         N   a     -   1                       (                y     a   ,   m       -       h     a   ,   m            x   m              2       2        σ   a   2         )       -       ∑     l   =   0       N   -   1                       (     ln                   P        (     d     m   ,   l       )         )         }               (   v   )                   Ω     m   ,   i            (   b   )       =     ln          ∑       x   m     ∈     X        (     d     m   ,   i       )                (     e       ∑     a   =   0         N   a     -   1                           (       -              y     a   ,   m       -                  h     a   ,   m            x   m              2         2        σ   a   2         )     e            ∑     l   =   0       N   -   1                       (     ln                   P        (     d     m   ,   l       )         )             )                 (   vi   )                   Ω     m   ,   i            (   b   )       ≅         -   min           x   _       m   -   1     m     ∈         X   _       m   -   1     m          (     d     m   ,   i       )                {         ∑     a   =   0         N   a     -   1                       (                y     a   ,   m       -       h     a   ,   m            x   m              2       2        σ   a   2         )       -       ∑     l   =   0       N   -   1                       (     ln                   P        (     d     m   ,   l       )         )         }               (   vii   )                   Ω     m   ,   i            (   b   )       =     ln          ∑           x   _                    m   -   1     m     ∈         X   _       m   -   1     m          (     d     m   ,   i       )                           (     e         ∑     a   =   0         N   a     -   1            (       -              y     a   ,   m       -       h     a   ,   m            x   m              2         2        σ   a   2         )       +       ∑     l   =   0       N   -   1                       (     ln                   P        (     d     m   ,   l       )         )           )                 (   viii   )                                
     Equations (v) and (vi) are the algorithms for generating reliability information for a communication system in which the transmitted symbols x i  are generated with the use of a memoryless nonconstant envelope modulator. Equations (vii) and (viii) are the algorithms for a nonconstant envelope modulator with memory. 
     Referring to FIG. 4, the steps of the method of the present invention are shown. In step  402 , a receiving device a receives sample y a,m−1  and sample y a,m . The samples are usually from consecutive time intervals. The matrices  h  and  x  have elements that correspond to received samples y. Thus, when y a,m  is received, the corresponding possible transmitted symbol is x m  and the corresponding distortion element is h a,m . In step  404 , the method of the present invention goes to step  500  (see FIG. 4A) if a constant envelope modulation scheme is not being used. The algorithm for the nonconstant envelope case is discussed infra. For the case of a constant envelope, the method of the present invention goes to step  406  in which a first set of products y a,m−1 h* a,m−1 x* m−1 ) and a second set of products (y a,m h* a,m *x m ) are evaluated and stored. These products are calculated for all possible symbols x m , x m−1 . It should be noted that the value for h used in the calculation of the products is obtained from a stored matrix  h . The method of the present invention moves to step  408  where it is decided that one of two possible algorithms is used depending on whether the received samples were generated from a memoryless or a memory introducing modulator. 
     I. Memoryless Case 
     Starting from step  410  an algebraic expression is derived from which the reliability information is calculated and generated. In step  410 , the real part of the first stored product for all N a  receiving devices for one value of x m  is evaluated and the sum (over all N a  devices) is taken; this step is repeated for all possible values of x m . It should be noted that each stored product is divided by the factor σ a   2  (i.e. half the noise variance for receiving device a). In step  411 , an a priori term is added. This term is obtained by summing the logarithm of the probabilities of the bits associated with the symbol x m . If no a priori knowledge on the transmitted bits is available, the term added in step  411  can be considered a constant and be omitted. 
     In step  414 , the method of the present invention decided whether to use an approximation in generating the reliability information. The approximation used and the justification for using such an approximation is discussed infra in the derivation of equation (i) and (ii). If the approximation is used, the method of the present invention moves to step  418  where a maximum value is derived from a set of values determined at step  411 . The set of values is determined by selecting the list of values in step  411  corresponding to symbols x m  associated with the bit for which the reliability information is computed (i.e. the set of symbols x m  belonging to the set x(d m,i )). The derivation of the maximum value applies any well known maximization technique that calculates the maximum value from a list of values. It should be noted that in step  410 , the division by σ a   2  is not needed when no a priori information is available, and all N a  devices are characterized by the same noise variance when the approximation is being used. In step  426 , the reliability information for the other stored value (from step  406 ) is determined, i.e., steps  410 ,  411 ,  414 , 418  are again performed. After the completion of step  426 , the method of the present invention moves to the start and two new sequences of samples are stored for computing reliability information associated with these two new samples. 
     Returning to step  414 , if the aforementioned approximation is not used, the method of the present invention moves to step  420 . In step  420 , each value calculated in step  411  is applied to an exponential function. In step  428 , the exponentials for all values x m  belonging to the set X(d m,i ) are summed and the logarithm of the result is taken resulting in equation (ii). In step  432  the reliability information for the other stored product (from step  406 ) is also determined, i.e., steps  410 ,  411 ,  414 ,  420  and  428  are applied to the other product. After the completion of step  432 , the method of the present invention moves to the start and two new sequences of samples are stored for computing reliability information associated with these two new samples. 
     II. Memory Case 
     Returning to step  408 , when the received samples were generated from a modulator that introduces memory to the transmitted symbols, the method of the present invention moves to step  412 . Starting from step  412 , an algebraic expression is derived from which the reliability information is calculated and generated. In step  412 , the sum of the real portions of the first and second products for all possible pair of symbols x m−1 , x m  is evaluated (each product is divided by σ a   2 ) and that sum is evaluated over all N a  receiving devices. In step  413 , an a priori term is added. This term is obtained by summing the logarithm of the probabilities of the bits associated with the transition from symbol x m−1  to symbol x m . If no a priori information about the transmitted bits is available, the a priori term added in step  413  can be considered a constant and thus be omitted. In step  416 , the method of the present invention decides whether to use an approximation in generating the reliability information. The approximation used and the justification for using such an approximation is discussed infra in the derivation of equations (iii) and (iv). If the approximation is used, the method of the present invention moves to step  422  where the maximum value from a set of values calculated at step  413  is derived. The set of values is determined by selecting the values calculated in step  413  for the pair of symbols x m−1 , x m  that belong to the set  X   m−1   m (d m,i ). The method of the present invention then returns to its start. The derivation of the maximum value applies any well known maximization technique that calculates a maximum value from a list of values. It should be noted that in step  412  the division by σ a   2  is not needed when no a priori information is available and all N a  devices are characterized by the same noise variance when the approximation is being used. 
     Returning to step  416 , if the aforementioned approximation is not used, the method of the present invention moves to step  424 . In step  424  the sum in step  413  is applied to an exponential function. In step  430 , the exponential for all pairs of symbols x m−1 , x m  that belong to the set  X   m−1   m (d m,i ) are summed and the logarithm of the result is taken resulting in equation (iv). The method of the present invention then returns to its start. 
     III. Derivation of SOD Algorithm for Memoryless Modulation Schemes 
     Equation (11) was given as the algorithm for generating reliability information for a communication system as depicted in FIG.  1 :                  Ω     m   ,   i            (   b   )       =     ln          ∑       x   _     ∈       X   _          (     d     m   ,   i       )                         p   (                          y     =                 h   =     ,     x   _       )          P        (     x   _     )         =     ln          ∑       x   _     ∈       X   _          (     d     m   ,   i       )                {     (       ∏     a   =   0         N   a     -   1                         ∏     k   =   0         N   k     -   1              p   (         y     a   ,   k                   h     a   ,   k       ,     x   k           )     )          P   (     x   _     )           }                           (   11   )                                
     The process of interleaving the bits causes such bits to be statistically independent of each other. The symbols are independent as a result of mapping independent input bits to the modulator. Because the modulation scheme does not introduce memory to the transmitted symbols, the probability of a transmitted sequence of symbols P( x ) can be factored:                P   (     x   _     )     =       ∏     k   =   0         N   k     -   1            P        (     x   k     )                 (   12   )                                
     When equations (11) and (12) are combined, the following equation is obtained:                        Ω     m   ,   i            (   b   )       =     ln          ∑       x   _     ∈       X   _          (     d     m   ,   i       )                (       ∏     a   =   0         N   a     -   1            (                  ∏     k   =   0         N   k     -   1              p   (       y     a   ,   k                     h     a   ,   k       ,     x   k         )          P   (     x   k     )             )                    )                                  =     ln          ∑       x   _     ∈       X   _          (     d     m   ,   i       )                (       ∏     k   =   0         N   k     -   1              (                          ∏     a   =   0         N   a     -   1            p   (       y     a   ,   k                     h     a   ,   k       ,     x   k         )             )          P   (     x   k     )       )                             =     ln          ∑       x   _     ∈       X   _          (     d     m   ,   i       )                  (                          ∏     k   =   0         N   k     -   1            p   (         y   _     k                     h   _     k     ,     x   k         )          P   (     x   k     )             )                               (   13   )                                
     The symbols in a memoryless sequence (e.g., M-PSK sequence) are independent. Therefore, the sum in equation (13) can be obtained with N k independent sums as follows:                        Ω     m   ,   i            (   b   )       =                ln        {       ∑       x   0     ∈   X                       ⋯                             ∑         x   m     ∈     X        (     d     m   ,   i       )                                 ⋯                     ∑       x     N     k   -   1         ∈   X                              (                          ∏     k   =   0         N   k     -   1              p   (         y   _     k                     h   _     k     ,     x   k         )          P   (     x   k     )             )                    }                                      =                ln        {       ∏     k   =   0       m   -   1                         p   (         y   _     k                   h   _     k       )            ∏     k   =     m   +   1           N   k     -   1                         p   (         y   _     k                   h   _     k       )            ∑       x   m     ∈     X        (     d     m   ,   i       )                p   (         y   _     m                     h   _     m     ,     x   m         )          P   (     x   m     )       }                                         (   14   )                                
     In equation (14) X is the set of all possible transmitted symbols at any given time, while X(d m,i ) is the set of all possible transmitted symbols at time m that have bit d m,i =b. Further, a review of equation (14) reveals that the first two factors are independent of d m,i  and can be considered constants. Therefore, equation (14) is written as:                  Ω     m   ,   i            (   b   )       =       C     m   -   1       +     C     m   +   1       +     ln          ∑       x   m     ∈     X        (     d     m   ,   i       )                {       ∏     a   =   0         N   a     -   1                         (             p   (       y     a   ,   m                     h     a   ,   m       ,     x   m         )             )                 P   (     x   m     )                  }                                 (   15   )                                
     Equation (15) reveals that the reliability information associated with bit d m,i =b is evaluated by only looking at the samples at time m. Since the bits mapped into a symbol are independent, it follows that the a priori probability of a symbol is the product of the a priori probabilities of the bits (i.e., P(d m,l )):                P        (     x   m     )       =       ∏     l   =   0       N   -   1                       P        (     d     m   ,   l       )                 (15a)                                
     The a priori probability is either a given probability value or a probability value that is simply assumed, hypothesized arbitrarily or estimated. When the additive noise follows Gaussian statistics, (i.e., noise  n  is AWGN), the probability density function in equation (15) also follows Gaussian statistics. Then substituting equation (15a) into equation (15), the following is obtained:                        Ω     m   ,   i            (   b   )       =                C   +     ln          ∑       x   m     ∈     X        (     d     m   ,   i       )                {       1       ∏     a   =   0         N   a     -   1                       2        πσ   a   2                e       ∑     a   =   0         N   a     -   1                         -              y     a   ,   m       -       h     a   ,   m            x   m              2         2        σ   a   2                    ∏     l   =   0       N   -   1                       P        (     d     m   ,   l       )           }                       =                C   +     ln          ∑       x   m     ∈     X        (     d     m   ,   i       )                {       e       ∑     a   =   0         N   a     -   1                         -              y     a   ,   m       -       h     a   ,   m            x   m              2         2        σ   a   2                  e       ∑     l   =   0       N   -   1                       ln                   P        (     d     m   ,   l       )               }                         (   16   )                                
     The sum in equation (16) is extended over all combinations of bits, i.e., symbols x m  for which d m,l =b. Note equation (16) is the same as equation (vi). Since the exponential function enhances amplitude and phase variations occurring in its argument, an approximated version of equation (16) is obtained when only the largest term in the outer sum is considered. The use of this approximation (see step  414  of FIG. 4) leads to equation (17):                        Ω     m   ,   i            (   b   )       ≅                C   +                ln                     max       x   m     ∈     X        (     d     m   ,   i       )                {     e         ∑     a   =   0         N   a     -   1                         -              y     a   ,   m       -       h     a   ,   m            x   m              2         2        σ   a   2           +       ∑     l   =   0       N   -   1                       ln                   P        (     d     m   ,   l       )               }                       =                C   -       min       x   m     ∈     X        (     d     m   ,   l       )                {         ∑     a   =   0         N   a     -   1                       (                y     a   ,   m       -       h     a   ,   m            x   m              2       2        σ   a   2         )       -       ∑     l   =   0       N   -   1                       (     ln                   P        (     d     m   ,   l       )         )         }                       (   17   )                                
     Note, equation (17) is the same as equation (v). If the modulation is 2-PSK then no approximation is required since the outer sum in equation (16) has only one term. When a constant envelope modulation technique (e.g., M-PSK, M-DPSK) is used, i.e., |x k | 2 =K, where K is a constant; without any loss of generality K=1, the following relationship exists: |y a,m −h a,m x m | 2 =|y a,m | 2 +|h a,m | 2 −2Re {y a,m h* a,m x* m }; when this relationship is substituted into equation (17), equation(18) is obtained:                    Ω     m   ,   i            (   b   )       ≅         max       x   m     ∈     X        (     d     m   ,   i       )                {         ∑     a   =   0         N   a     -   1                       (       Re        {       y     a   ,   m            h     a   ,   m     *          x   m   *       }         σ   a   2       )       +       ∑     l   =   0       N   -   1            (     ln                   P        (     d     m   ,   l       )         )         }       +   C                          (   18   )                                
     When the same relationship is substituted into equation (15) and the approximation is not used, equation (19) is obtained:                  Ω     m   ,   i            (   b   )       =       ln          ∑       x   m     ∈     X        (     d     m   ,   i       )                           (     e         ∑     a   =   0         N   a     -   1                       (       Re        {       y     a   ,   m            h     a   ,   m     *          x   m   *       }         σ   a   2       )       +       ∑     l   =   0       N   -   1                       (     ln                   P        (     d     m   ,   l       )         )           )         +   C             (   19   )                                
     When the information bits b i  are assumed to be equally likely, the a priori probability term        (       i   .   e   .     ,       ∑     l   =   0       N   -   1                       ln                   P        (     d     m   ,   l       )             )                          
     in equations (18) and (19) is a constant that is equal to 1/M. Equations (18) and (19) are the same as equations (i) and (ii) respectively. It should be noted that in equations (18) and (19), CSI and noise variance for each antenna have to be calculated. Many known techniques are available to perform such calculations. 
     IV. Derivation of SOD Algorithm for Modulation Schemes with Memory 
     Again, starting with equation (11) and assuming that each of the transmitted sequences have equal probabilities (i.e., P( x )=K, where K=constant), the following equation results:                  Ω     m   ,   i            (   b   )       =     C   +     ln          ∑       x   _     ∈       X   _          (     d     m   ,   i       )                  p   (                          y     =                 h   =     ,     x   _       )                     (   20   )                                
     One example of a modulator that introduces memory is an M-DPSK modulator. The M-DPSK modulator is considered a transformation (with memory) from the space of information bits D to the space of signals X; this is represented mathematically as:                x   k     =       f        (       x     k   -   1       ,     d     k   ,   0       ,   …              ,     d     k   ,     N   -   1           )       =         x     k   -   1            ξ   k       =     e     j          2      π     M          ϕ   k                     (   21   )                                
     where φ k  is the phase at time k. It should be noted that the amplitude of x k  is arbitrarily set to one. ξ k  is a phase transition at time instant k, and x is a differentially encoded signal at time k. The phase transition is obtained by mapping the N original bits into an M-PSK constellation point. Mapping is shown, for example in FIG. 2A for M=2,4,8. Differential modulation is performed by grouping a block of N=log M bits into a complex symbol and then multiplying this symbol by a previous differentially encoded symbol. In terms of a phase of a symbol, the M-DPSK modulator is considered a transformation (with memory) from the space of information bits d to the space of phases: 
     
       
         φ k   =f (φ k−1   , d   k,0    . . . , d   k,N−1 ) =f (φ k−1 , δ k )=φ k−1 +δ k   (22) 
       
     
     where φ k  represents the phase of a symbol at time k (i.e., a phase index, an integer number) and δ k  represents the change in phase between time k and time k−1 (i.e., a transition phase index): 
     
       
         δ k =φ k −φ k−1  for φ k ≧φ k−1   =M+φ   k −φ k−1  for φ k &lt;φ k−1   (23) 
       
     
     The transmitted complex symbol is given by          x   k     =       e     j          2      π     M          ϕ   k         .                            
     A graph known as a trellis is used to represent the time evolution of an M-DPSK sequence of symbols. The graph has M states (i.e., phases) with branches from the states representing the transition from any one of all of the states to any other state. A trellis for a 4-DPSK modulator is shown in FIG.  3 . The trellis is alternatively described by a transition matrix  T . Each element T(i,j) is a transition phase index giving the transition of a signal with phase φ=i to a signal having phase φ=j. The M-DPSK modulator maps (e.g., Gray mapping) incoming bits d k,i  for i= 0  , . . . ,(log 2  M−1) to corresponding phase transition indices. For a particular input bit d k,i =b, there are 2 (log     2     M)−1  possible transition phase indices. The set of transition phase indices can be represented with a matrix  G (b). An element G b (i,j), where i=0, . . . , N−1 and j=0, . . . , 2 log     2     M−1 −1 represents the jth transition phase index for bit d k,i =b. 
     A set  X (d m,i ) comprises sequences x k  for k=0 , . . . , m−2 and k=m+1, . . . N k −1, but with x m−1 , x m  belonging to a set specified by  T  and  G  matrices. One example of M-DPSK modulation is π/4 DQPSK used in IS-136 TDMA wireless communication systems. IS-136 is an established standard used for TDMA wireless communication systems in North America. Assuming a sequence of independent noise samples as in the AWGN case, equation (20) is written as:                  Ω     m   ,   i            (   b   )       =     C   +     ln          ∑       x   _     ∈       X   _          (     d     m   ,   i       )                             p   (         y   =     0     m   -   2                     h   =     0     m   -   2       ,         x   _     0     m   -   2               )                   p   (         y   =       m   -   1     m                   h   =       m   -   1     m     ,         x   _       m   -   1     m             )          p   (         y   =       m   +   1         N   k     -   1                     h   =       m   +   1         N   k     -   1       ,         x   _       m   +   1         N   k     -   1                  )            y   =       m   +   1         N   k     -   1                                     (   24   )                                
     where  y   i   j  represents the sequence of samples received by the antenna array from time i to time j, while  x   i   j  represents the sequence of transmitted symbols from time i to time j. After some algebraic manipulation and combining all constant terms (terms independent of time), the sum in equation (24) is written as:                      Ω     m   ,   i            (   b   )       =     C   +   ln                   ∑           x   _                    m   -   1     m     ∈         X   _       m   -   1     m          (     d     m   ,   i       )                (     e     -       ∑     a   =   0         N   a     -   1                         ∑     k   =     m   -   1       m                                y     a   ,   k       -       h     a   ,   k            x   k              2       2        σ   a   2                 )               (   25   )                                
     Where  X   m−1   m (d m,i ) is the set of all possible sequences  x   m−1   m (d m,i ) (i.e., a pair of symbols x m−1 , x m ) having bit d m,i  =b. An approximation of equation (25) can be obtained if we consider only the largest term in the outer sum. This is the approximation to which step  416  of FIG. 4 refers. The approximation leads to equation (26):                  Ω     m   ,   i            (   b   )       ≅     C   -       min         x   _       m   -   1     m     ∈         X   _       m   -   1     m          (     d     m   ,   i       )                {       ∑     a   =   0         N   a     -   1                         ∑     k   =     m   -   1       m                                y     a   ,   k       -       h     a   ,   k            x   k           2        σ   a   2              2         }                 (   26   )                                
     Again, as in the memoryless case, for the case of a modulation technique that has a constant envelope, the following relationship exists: | y   a,m −h a,m x m | 2 =|y a,m | 2 +|h a,m | 2 −2Re{y a,m h* a,m x* m }; 
     when this relationship is substituted into equation (26) and the constant C is omitted, equation (27) is obtained:                    Ω                  m   ,   i                       (   b   )       ≅                  max                   x   _       m   -   1     m     ∈         X   _       m   -   1     m          (     d     m   ,   i       )                    ∑     a   =   0         N   a     -   1                         ∑     k   =     m   -   1       m                     Re                   {         y     a   ,   k            h     a   ,   k     *          x   k   *         2                   σ   a   2         }                     (   27   )                                
     when the same relationship is substituted into equation (25) and the approximation is not used, equation (28) is obtained:                    Ω                  m   ,   i                       (   b   )       =     C   +     ln                     ∑         x   _                    m   -   1       m     ∈         X   _       m   -   1     m          (     d     m   ,   i       )                           e       ∑     a   =   0         N   a     -   1                         ∑     k   =     m   -   1       m                       Re                   {       y     a   ,   k            h     a   ,   k     *          x   k   *       }         σ   a   2                           (   28   )                                
     When the a priori probability of the information bits        (       i   .   e   .     ,       ∑     l   =   0       N   -   1                       ln                 P                   (     d     m   ,   l       )           )                          
     is taken into account as in the memoryless case discussed above, equations (25)-(26) and equations (27)-(28) are written in a more general form. Thus, equation (25) becomes equation (vii), equation (26) becomes equation (viii), equation (27) becomes equation (iii) and equation (28) becomes equation (iv) as follows:                    Ω                  m   ,   i                       (   b   )       ≅                  max                   x   _       m   -   1     m     ∈         X   _       m   -   1     m          (     d     m   ,   i       )                  {         ∑     a   =   0         N   a     -   1                         ∑     k   =     m   -   1       m          (       Re                   {       y     a   ,   k            h     a   ,   k     *          x   k   *       }         σ   a   2       )         +       ∑     l   =   0       N   -   1                       (     ln                 P                   (     d     m   ,   l       )       )         }               (   iii   )                     Ω                  m   ,   i                       (   b   )       =     ln                     ∑         x   _                    m   -   1       m     ∈         X   _       m   -   1     m          (     d     m   ,   i       )                (                e         ∑     a   =   0         N   a     -   1                         ∑     k   =     m   -   1       m                     (       Re                   {       y     a   ,   m            h     a   ,   m     *          x   m   *       }         σ   a   2       )         +       ∑     l   =   0       N   -   1                       (     ln                 P                   (     d     m   ,   l       )       )           )                 (   iv   )                     Ω                  m   ,   i                       (   b   )       =     C   +     ln                     ∑         x   _                    m   -   1       m     ∈         X   _       m   -   1     m          (     d     m   ,   i       )                (       e     -       ∑     a   =   0         N   a     -   1                         ∑     k   =     m   -   1       m                     y     a   ,   k       -       h     a   ,   k            x   k              2       2                   σ   a   2                      e       ∑     l   =   0       N   -   1            ln                 P                   (     d     m   ,   l       )             )                   (   vii   )                     Ω                  m   ,   i                       (   b   )       ≅     C   -       min                   x   _       m   -   1     m     ∈         X   _       m   -   1     m          (     d     m   ,   i       )                  (       {       ∑     a   =   0         N   a     -   1                         ∑     k   =     m   -   1       m                     y     a   ,   k       -       h     a   ,   k            x   k              2       2                   σ   a   2             }     -       ∑     l   =   0       N   -   1                       ln                 P                   (     d     m   ,   l       )           )                 (   viii   )                                
     It should be noted that the bits d m,l  are the input bits to the modulator with memory that produce the transition from symbol x m−1  to symbol x m . In other words they are the bits that are associated with the transition from x m−1  to x m . These are the bits defined by the matrices  T  and  G . 
     V. Nonconstant Envelope Modulation 
     Returning to step  404  of FIG. 4, when a constant envelope modulation technique is not used, the method of the present invention moves to step  500 . In step  500  where it is decided that one of two possible algorithms is used depending on whether the received samples were generated from a memoryless or a memory introducing modulator. In ensuing steps  504 ,  506 ,  510  and  512  (discussed infra), algebraic expressions are derived from which the reliability information is calculated and generated. 
     A. Memoryless Case for Nonconstant Envelope Modulation 
     In step  502 , the method of the present invention decides whether to use an approximation in generating reliability information. As discussed in Section III of this specification, the reliability information is given by equation (17) or (v) when an approximation is used, i.e., step  504  and equation (16) or (vi) when the approximation is not used, i.e., step  506 . 
     In particular, in step  504 , the reliability value of bit d m,i  is approximated by finding a minimum value from a set of possible values. Then, the sign of the result of the minimization is changed. Each value in the set is determined from a possible transmitted symbol x m  associated to bit d m,i . From the symbol x m  two sums are computed and then the difference of the two sums is taken. The first sum is computed over all receiving devices, and each element in the sum is the difference between a received sample y a,m  and the product represented by h a,m  x m . The absolute value of the difference is squared and the result is divided by the noise variance (2σ a   2 ) in the corresponding receiving device. The second sum in step  504  is the sum of the logarithm of the a priori probabilities of the bits associated with symbol x m . If no a priori information about the transmitted bits is available, the a priori term added in step  504  can be considered a constant and thus can be omitted. Furthermore, in step  504  the division by 2σ a   2  is not needed when no a priori information is available and all N a  devices are characterized by the same noise variance. 
     In step  506 , the logarithm of a sum over all symbols in the set  X (d m,i , is calculated. The sum has two exponential functions multiplied to each other. The first exponential function is raised to a first exponent. The first exponent is a sum equal to the first sum of step  504  with opposite sign. The second exponential function is raised to a second exponent which is equal to the second sum of step  504 . If no a priori information about the transmitted bits is available, the a priori term added in step  506  can be considered a constant and thus can be omitted. 
     B. Memory Case for Nonconstant Envelope Modulation 
     In step  508 , the method of the present invention decides whether to use an approximation in calculating reliability information. As discussed in section IV of this specification, the reliability information is given by equation (vii) when an approximation is used, i.e., step  510  and equation (viii) when the approximation is not used, i.e., step  512 . 
     In step  510 , an inner sum and an outer sum are calculated using two consecutive samples. The inner sum is the sum over two consecutive samples of an algebraic expression which algebraic expression appears in the first sum of step  504 . The outer sum is the sum over N a  devices of the inner sum. Another sum of the logarithm of the a priori probabilities of the bits associated with the transition from symbol x m−1  to symbol x m  is subtracted from the previous sum. Finally, a minimum value of the result over all possible pair of symbols associated with transitions corresponding to the bit for which the reliability information is computed, is calculated and the opposite value of that computation is taken. If no a priori information about the transmitted bits is available, the a priori term added in step  510  can be considered a constant and thus can be omitted. Furthermore, in step  510  the division by 2σ a   2  is not needed when no a priori information is available and all N a  devices are characterized by the same noise variance. 
     In step  512 , the reliability information is calculated as the logarithm of a sum over all possible pair of symbols associated with transitions corresponding to the bit for which the reliability information is computed. The terms in the sum are exponential functions whose exponents are the opposite of the sums (inner and outer) of step  510 . If no a priori information about the transmitted bits is available, the a priori term added in step  512  can be considered a constant and thus can be omitted.