BACKGROUND 
     The Golden ratio, in which the ratio between the sum of two quantities and the larger one is the same as the ratio between the larger and smaller one, or 
                   a   +   b     a     =     a   b       ,         
has been known in mathematics and the arts since at least ancient Greece. The unique positive solution to this ratio is an algebraic irrational number known as the Golden number,
 
             θ   =       1   +     5       2           
(approximately 1.6180339887498948482 . . . ).
 
     A digital encoding scheme for a 2 by 2 Multiple Input, Multiple Output (MIMO) antenna system, utilizing the Golden number and accordingly referred to as the Golden code, is described in papers by J. C. Belfiore, G. Rekaya, and E. Viterbo, “The golden code: A 2×2 full-rate space-time code with nonvanishing determinants,” published in the  IEEE Trans. Inf. Theory , vol. 51, no. 4, pp. 1432-1436, April 2005, and P. Dayal and M. K. Varanasi, “An optimal two transmit antenna space-time code and its stacked extensions,” published in the  IEEE Trans. Inf. Theory , vol. 51, no. 12, pp. 4348-4355, December 2005, both of which are incorporated herein by reference in their entirety. 
     The Golden code is a space-time code for 2×2 MIMO that is full-rate and full-diversity. It has many properties of interest in the field of wireless communications. For example, it had been shown that the Golden code achieves the optimal tradeoff between diversity gain and multiplexing gain in a slow-fading channel, as described in papers by H. Yao and G. W. Wornell, “Structured space-time block codes with optimal diversity-multiplexing tradeoff and minimum delay,” published in  Proc. IEEE Globecom  2003, and by L. Zheng and D. N. C. Tse, “Diversity and multiplexing: A fundamental tradeoff in multiple antenna channels,” published in  IEEE Trans. Inf. Theory , vol. 49, no. 5, pp. 1073-1096, May 2003, both of which are incorporated herein by reference in their entirety. It has also been shown that the Golden code achieves the best possible coding gain for QAM and PAM types of modulation, by Dayal and Varanasi, supra. Because the Golden code does not suffer the loss of spectral efficiency with the increase of the signal constellation, as do other codes, it can be used with higher order modulations, and is thus a good choice in systems with adaptive selection of the modulation scheme. Due to its superiority in these key performance metrics, the Golden code has been included in, e.g., the IEEE 802.11 and 802.16 specifications. Furthermore, the Golden code has been generalized to other MIMO configurations such as 3×3, 4×4, and 6×6, as described in the paper by F. Oggier, G. Rekaya, J.-C. Belfiore, and E. Viterbo, “Perfect space-time block codes,” published in  IEEE Trans. Inf. Theory , vol. 52, no. 9, pp. 3885-3902, September 2006, incorporated herein by reference in its entirety. 
     For a 2×2 MIMO configuration, let s 1 , s 2 , s 3 , and s 4  be four data symbols. The Golden code encodes these four symbols according to 
                         X   =       ⁢     [           x     1   ,   1             x     1   ,   2                 x     2   ,   1             x     2   ,   2             ]                   =       ⁢       1     5       ⁡     [               (     1   +     ⅈ   ⁢           ⁢     θ   _         )     ⁢     s   1       +       (     θ   -   ⅈ     )     ⁢     s   2                   (     1   +     ⅈ   ⁢           ⁢     θ   _         )     ⁢     s   3       +       (     θ   -   ⅈ     )     ⁢     s   4                       (     ⅈ   -   θ     )     ⁢     s   3       +       (     1   +     ⅈ   ⁢           ⁢     θ   _         )     ⁢     s   4                   (     1   +     ⅈ   ⁢           ⁢   θ       )     ⁢     s   1       +       (       θ   _     -   ⅈ     )     ⁢     s   2               ]         ,                 
where
 
i=√{square root over (−1)}, and
   θ =1−θ.
 
The coded symbol x i,j  is transmitted from antenna i during the jth symbol interval.
 
     Receivers for the Golden code are known in non-spread systems such as OFDM or TDMA in the presence of additive white Gaussian noise (AWGN). Typically, sphere decoding is used to recover the original symbols based on a reduced-complexity approximation to the maximum-likelihood (ML) decoder, as disclosed in the paper by B. Cerato, G. Masera, and E. Viterbo, “A VLSI decoder for the Golden code,” published in  Proc. IEEE ICECS , pp. 549-553, December 2006, incorporated herein by reference in its entirety. 
     In spread spectrum systems such as CDMA, the Generalized Rake (G-Rake) receiver is effective in suppressing colored interference, as described in the paper by G. E. Bottomley, T. Ottosson, and Y. P. E. Wang, “A generalized RAKE receiver for interference suppression,” published in  IEEE J. Sel. Areas Commun ., vol. 18, no. 8, pp. 1536-1545, August 2000, incorporated herein by reference in its entirety. In a CDMA system, multipaths result in loss of signal orthogonality and increased self-interference. In this scenario, G-Rake can significantly improve performance by equalizing the channel. Typically, interference in a CDMA system can be modeled as a colored noise when there are few dominant interfering sources. G-Rake suppresses interference by accounting for interference temporal and spatial correlations in its combining weight formulation. 
     The G-Rake receiver was extended to deal with transmit diversity signals, such as the Alamouti encoded signal, as described in the paper by Y. P. E. Wang, G. E. Bottomley, and A. S. Khayrallah, “Transmit diversity and receiver performance in a WCDMA system,” published in the proceedings of IEEE Globecom 2007, Washington, D.C., USA, Nov. 26-30, 2007, incorporated herein by reference in its entirety. It was shown that the G-Rake combining weights derived based on channel coefficients with respect to a 1 st  transmit antenna and a 2 nd  transmit antenna, respectively, are used to combine the despread values from two symbol intervals. The G-Rake combined values are then used to formulate the decision variables. The transmitted symbols can then be individually detected based on the decision variables. 
     There exists a need in the art for a CDMA receiver solution for detecting the Golden encoded signal in a CDMA system, in the presence of colored noise. 
     SUMMARY 
     According to one or more embodiments of the present invention, a G-Rake receiver is adapted for Golden code reception in a CDMA system. Signals transmitted by two or more transmit antennas are received at two or more receiver antennas. The signal from each receiver antenna is despread, and channel estimation is performed for each transmit antenna. G-Rake combining weights are calculated based on impairment correlation across G-Rake fingers and channel coefficients corresponding to each transmit antenna. The despread values from each symbol period are combined over a plurality of symbol periods based on the combining weights. The combined values are processed using coefficients derived from the Golden number to generate a set of decision variables, and the Golden encoded symbols are jointly detected from the decision variables. In some embodiments, spherical decoding and triangularization significantly simplify the decoding problem formulation. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a functional block diagram of a CDMA Golden code receiver. 
         FIG. 2  is a functional block diagram of a CDMA Golden code receiver adapted to perform sphere decoding. 
     
    
    
     DETAILED DESCRIPTION 
     A 2×2 MIMO signal received in a CDMA system can be expressed as
 
 Y=HX+U,  
 
where
 
     
       
         
           
             
               Y 
               = 
               
                 [ 
                 
                   
                     
                       
                         y 
                         
                           1 
                           , 
                           1 
                         
                       
                     
                     
                       
                         y 
                         
                           1 
                           , 
                           2 
                         
                       
                     
                   
                   
                     
                       
                         y 
                         
                           2 
                           , 
                           1 
                         
                       
                     
                     
                       
                         y 
                         
                           2 
                           , 
                           2 
                         
                       
                     
                   
                 
                 ] 
               
             
             , 
             
               
 
             
             ⁢ 
             
               H 
               = 
               
                 [ 
                 
                   
                     
                       
                         h 
                         
                           1 
                           , 
                           1 
                         
                       
                     
                     
                       
                         h 
                         
                           1 
                           , 
                           2 
                         
                       
                     
                   
                   
                     
                       
                         h 
                         
                           2 
                           , 
                           1 
                         
                       
                     
                     
                       
                         h 
                         
                           2 
                           , 
                           2 
                         
                       
                     
                   
                 
                 ] 
               
             
             , 
             
               
 
             
             ⁢ 
             
               U 
               = 
               
                 [ 
                 
                   
                     
                       
                         u 
                         
                           1 
                           , 
                           1 
                         
                       
                     
                     
                       
                         u 
                         
                           1 
                           , 
                           2 
                         
                       
                     
                   
                   
                     
                       
                         u 
                         
                           2 
                           , 
                           1 
                         
                       
                     
                     
                       
                         u 
                         
                           2 
                           , 
                           2 
                         
                       
                     
                   
                 
                 ] 
               
             
             , 
           
         
       
         
         y i,j  is a vector of the despread values collected from the ith receive antenna during jth symbol period, y i,j =(y i,j (1), y i,j (2), . . . , y i,j  (J−1)) T ,
 
h i,j  is the net response between the jth transmit antenna and the ith receive antenna, and
 
u i,j  is impairment in y i,j .
 
       
    
     Converting matrix Y into a vector, i.e., y=(y 1,1   T ,y 2,1   T ,y 1,2   T ,y 2,2   T ) T , then
 
 y=H′x+u,  
 
where
 
                 H   ′     =     [         H       0           0       H         ]       ,         
x=(x 1,1 ,x 2,1 ,x 1,2 ,x 2,2 ) T , and
 
u=(u 1,1   T ,u 2,1   T ,u 1,2   T ,u 2,2   T ) T .
 
     The Golden encoded symbols x can be related to the original data symbol s=(s 1 ,s 2 ,s 3 ,s 4 ) T  through x=Gs, where 
             G   =       1     5       ⁡     [           1   +     ⅈ   ⁢           ⁢     θ   _               θ   -   ⅈ         0       0           0       0         ⅈ   -   θ           1   +     ⅈ   ⁢           ⁢     θ   _                 0       0         1   +     ⅈ   ⁢           ⁢     θ   _               θ   -   ⅈ               1   +     ⅈ   ⁢           ⁢   θ               θ   _     -   ⅈ         0       0         ]             
for this version of the Golden code. Different versions of the Golden code do not change the properties of the inventive receiver, but rather would alter the definition of G above.
 
     Define A=H′G, and A 1  and A 2  as the upper part and lower part of A, respectively, 
               A   1     =     [             (     1   +     ⅈ   ⁢           ⁢     θ   _         )     ⁢     h   1               (     θ   -   ⅈ     )     ⁢     h   1               (     ⅈ   -   θ     )     ⁢     h   2               (     1   +     ⅈ   ⁢           ⁢     θ   _         )     ⁢     h   2             ]                     A   2     =     [             (     1   +     ⅈ   ⁢           ⁢   θ       )     ⁢     h   2               (       θ   _     -   ⅈ     )     ⁢     h   2               (     1   +     ⅈ   ⁢           ⁢     θ   _         )     ⁢     h   1               (     θ   -   ⅈ     )     ⁢     h   1             ]       ,         
where h j =(h 1,j   T ,h 2,j   T ) T .
 
     The likelihood function of s given despread values y is therefore
 
 LL ( s )=−( y−As ) H   R   u   −1 ( y−As ),
 
where R u  is the covariance of u. The covariance can be obtained by averaging the outer product of u over a time duration that the net responses are approximately constant, R u =E[uu H ]. In the process of time averaging, the pseudo-random spreading codes are also averaged out, resulting in
 
                 R   u     =     [         R       0           0       R         ]       ,         
where the impairment covariance matrix R=E[u 1 u 1   H ]=E[u 2   H ], u j =(u 1,j   T ,u 2,j   T ) T . Note that R is the matrix of impairment correlations across G-Rake receiver fingers.
 
     Using the diagonal property of R u , the log-likelihood function reduces to
 
 LL ( s )=−( y   1   −A   1   s ) H   R   −1 ( y   1   −A   1   s )−( y   2   −A   2   s ) H   R   −1 ( y   2   −A   2   s ),
 
where y j =(y 1,j   T , y 2,j   T ) T  is a vector of the despread values obtained in the jth symbol interval.
 
     Discarding quantities independent of the symbol hypothesis (and taking slight liberties with notation), the log-likelihood function further reduces to
 
 LL ( s )=2 Re{s   H ( A   1   H   R   −1   y   1   +A   2   H   R   −1   y   2 )}− s   H ( D   1   +D   2 ) s   (1)
 
where D j =A j   H R −1 A j . The last term on the right-hand side of (1) involves the whole vector s, and cannot be parsed into independent lower dimensional terms (as we will do with y 1  and y 2 ) when D 1  and D 2  are not diagonal matrices. Thus, LL(s) itself can not be parsed into independent terms. Instead, the search for the best candidate must be done over all 4 symbols, s 1 , s 2 , s 3 , and s 4 , simultaneously. For large constellations, the receiver complexity can be large. As discussed more fully herein, an adaptation of the sphere decoder will reduce the complexity of the receiver.
 
     Expanding the terms in the log-likelihood function 
                     LL   ⁡     (   s   )       =       2   ⁢           ⁢   Re   ⁢     {         s   1   *       5       ⁡     [           (     1   +     ⅈ   ⁢           ⁢     θ   _         )     *     ⁢     z     1   ,   1         +         (     1   +     ⅈ   ⁢           ⁢   θ       )     *     ⁢     z     2   ,   2           ]       }       +     2   ⁢   Re   ⁢     {         s   2   *       5       ⁡     [           (     θ   -   ⅈ     )     *     ⁢     z     1   ,   1         +         (       θ   _     -   ⅈ     )     *     ⁢     z     2   ,   2           ]       }       +     2   ⁢   Re   ⁢     {         s   3   *       5       ⁡     [           (     ⅈ   -   θ     )     *     ⁢     z     2   ,   1         +         (     1   +     ⅈ   ⁢           ⁢     θ   _         )     *     ⁢     z     1   ,   2           ]       }       +     2   ⁢   Re   ⁢     {         s   4   *       5       ⁡     [           (     1   +     ⅈ   ⁢           ⁢     θ   _         )     *     ⁢     z     2   ,   1         +         (     θ   -   ⅈ     )     *     ⁢     z     1   ,   2           ]       }       -       ∑     m   =   1     4     ⁢              s   m          2     ⁢     d     m   ,   m           -       ∑     m   =   1     4     ⁢       ∑     n   =   1     4     ⁢     2   ⁢   Re   ⁢     {       s   m   *     ⁢     s   n     ⁢     d     m   ,   n         }                     (   2   )               
where w j =R −1 h j , h j =(h 1,j   T ,h 2,j   T ) T ,
 
x* stands for the complex conjugate of x and
 
     
       
         
           
             
               z 
               
                 j 
                 , 
                 k 
               
             
             = 
             
               
                 w 
                 j 
                 H 
               
               ⁢ 
               
                 y 
                 k 
               
             
           
         
       
       
         
           
             
               d 
               
                 1 
                 , 
                 1 
               
             
             = 
             
               
                 d 
                 
                   3 
                   , 
                   3 
                 
               
               = 
               
                 
                   1 
                   
                     5 
                   
                 
                 ⁡ 
                 
                   [ 
                   
                     
                       
                         - 
                         
                           θ 
                           _ 
                         
                       
                       ⁢ 
                       
                         γ 
                         
                           1 
                           , 
                           1 
                         
                       
                     
                     + 
                     
                       θγ 
                       
                         2 
                         , 
                         2 
                       
                     
                   
                   ] 
                 
               
             
           
         
       
       
         
           
             
               d 
               
                 2 
                 , 
                 2 
               
             
             = 
             
               
                 d 
                 
                   4 
                   , 
                   4 
                 
               
               = 
               
                 
                   1 
                   
                     5 
                   
                 
                 ⁡ 
                 
                   [ 
                   
                     
                       θγ 
                       
                         1 
                         , 
                         1 
                       
                     
                     - 
                     
                       
                         θ 
                         _ 
                       
                       ⁢ 
                       
                         γ 
                         
                           2 
                           , 
                           2 
                         
                       
                     
                   
                   ] 
                 
               
             
           
         
       
       
         
           
             
               d 
               
                 1 
                 , 
                 2 
               
             
             = 
             
               
                 d 
                 
                   3 
                   , 
                   4 
                 
               
               = 
               
                 
                   1 
                   
                     5 
                   
                 
                 ⁡ 
                 
                   [ 
                   
                     
                       γ 
                       
                         1 
                         , 
                         1 
                       
                     
                     - 
                     
                       γ 
                       
                         2 
                         , 
                         2 
                       
                     
                   
                   ] 
                 
               
             
           
         
       
       
         
           
             
               d 
               
                 2 
                 , 
                 4 
               
             
             = 
             
               
                 - 
                 
                   d 
                   
                     1 
                     , 
                     3 
                   
                 
               
               = 
               
                 
                   1 
                   
                     5 
                   
                 
                 ⁡ 
                 
                   [ 
                   
                     
                       γ 
                       
                         1 
                         , 
                         2 
                       
                     
                     + 
                     
                       ⅈ 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         γ 
                         
                           2 
                           , 
                           1 
                         
                       
                     
                   
                   ] 
                 
               
             
           
         
       
       
         
           
             
               d 
               
                 1 
                 , 
                 4 
               
             
             = 
             
               
                 1 
                 
                   5 
                 
               
               ⁡ 
               
                 [ 
                 
                   
                     
                       - 
                       
                         θ 
                         _ 
                       
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       γ 
                       
                         1 
                         , 
                         2 
                       
                     
                   
                   - 
                   
                     ⅈ 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       θγ 
                       
                         2 
                         , 
                         1 
                       
                     
                   
                 
                 ] 
               
             
           
         
       
       
         
           
             
               d 
               
                 2 
                 , 
                 3 
               
             
             = 
             
               
                 1 
                 
                   5 
                 
               
               ⁡ 
               
                 [ 
                 
                   
                     - 
                     
                       θγ 
                       
                         1 
                         , 
                         2 
                       
                     
                   
                   - 
                   
                     ⅈ 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       θ 
                       _ 
                     
                     ⁢ 
                     
                       γ 
                       
                         2 
                         , 
                         1 
                       
                     
                   
                 
                 ] 
               
             
           
         
       
       
         
           
             
               γ 
               
                 j 
                 , 
                 k 
               
             
             = 
             
               
                 
                   h 
                   j 
                   H 
                 
                 ⁢ 
                 
                   R 
                   
                     - 
                     1 
                   
                 
                 ⁢ 
                 
                   h 
                   k 
                 
               
               = 
               
                 
                   w 
                   j 
                   H 
                 
                 ⁢ 
                 
                   
                     h 
                     k 
                   
                   . 
                 
               
             
           
         
       
     
     Thus, the receiver operation according to the present invention includes the steps of
         (i) despreading the receiver signal to produce despread values in a first symbol period and also in a second symbol period;   (ii) formulating combining weights based on impairment correlation across fingers and channel coefficients corresponding to a first transmit antenna and a second transmit antenna;   (iii) producing a first set of combined values using the combining weights determined by impairment correlation and channel coefficients corresponding to the said 1 st  transmit antenna to combine the despread values from the said 1 st  symbol period to produce a 1st combined value and to combine the despread values from the said 2nd symbol period to produce a 2nd combined value;   (iv) producing a second set of combined values using the combining weights determined by impairment correlation and channel coefficients corresponding to the said 2nd transmit antenna to combine the despread values from the said 1 st  symbol period to produce a 1st combined value and to combine the despread values from the said 2nd symbol period to produce a 2nd combined value;   (v) processing the multiple sets of combined values using coefficients derived from the Golden number to generate a set of decision variables; and   (vi) jointly detecting the transmitted symbols using the set of decision variables.       

       FIG. 1  depicts a functional block diagram of an exemplary 2×2 MIMO Golden code CDMA receiver  100 . Signals are received at two receive antennas  102 ,  104 , and are processed by RF front end processors  106 ,  108  to generate baseband receive samples. Despreader units  110 ,  112  despread the received baseband signals. Each despreader unit  110 ,  112  consists of multiple Rake fingers whose finger delays are determined based on a finger placement controller (not shown). The despread values (i.e., the Rake finger outputs) associated with the data channels from the two received signals during one symbol interval are then collected into a vector (vector y j  in the derivations) at collection module  118 . 
     Meanwhile, the despread values associated with the pilot channel (or pilot symbols) are provided to channel estimators  114 ,  116  to produce estimated net responses h 11 , h 21 , h 12 , h 22 , which forms vectors h 1  and h 2  in the derivations, h j =(h 1,j   T ,h 2,j   T ) T . G-Rake combining weights are calculated in weight computation module  120  based on the estimated net responses and an estimated impairment covariance matrix obtained at covariance estimator  122  from the vectors of despread values associated with the pilot channel. In other embodiments, the estimated covariance matrix may be replaced by an estimated receive sample correlations or despread value correlations. 
     The combining weights are used by combiner  124  to combine the despread values obtained over two symbol intervals (delaying data vectors in delay module  119 ) to produce G-Rake-combined data values z 1,1 , z 2,1 , z 1,1 , and z 2,2 . In addition, the combining weights are used in channel calculation module  126  to combine the net responses h 1  and h 2  to obtain G-Rake-combined channel values γ 1,1 , γ 2,1 , γ 1,2 , and γ 2,2 . Both z 1,1 , z 2,1 , z 1,2 , z 2,2 , and γ 1,1 , γ 2,1 , γ 1,2 , γ 2,2  are used in the ML detector  128  to produce an estimate of the data symbols s 1 , s 2 , s 3 , and s 4  according to equation (2). 
     Recall from equation (1) that the search for the best s requires a joint search for the symbols s 1 , s 2 , s 3 , and s 4 . If the symbols s 1 , s 2 , s 3 , and s 4  belong to regular constellation such as QAM, then s belongs to a lattice structure. Sphere decoding is a well-known technique for searching a lattice in a greedy manner. By limiting the search to a subset of most likely candidates, the complexity is significantly reduced, with very little loss in performance. Sphere decoding can directly apply to (1). An even more efficient search algorithm can be developed based on a triangularization technique. 
     Recall the system equations defined earlier for the despread values at symbol intervals 1 &amp; 2
 
 y   1   =A   1   s+u   1  
 
 y   2   =A   2   s+u   2  
 
     Also, recall that noise u 1  and u 2  both have covariance R. Thus, the first step is to whiten the noise in y 1  and y 2 . This allows the ML metric in (1) to be computed based on Euclidean distance. This whitening step also makes it easy to perform triangularization on the system equations via QR decomposition. 
     To whiten the noise, we compute the inverse of the square root of R, denoted R −1/2 . Applying the whitening filter to the original despread values, we get
 
 y′   1   =R   −1/2   y   1   =A′   1   s+u′   1  
 
 y′   2   =R   −1/2   y   2   =A′   2   s+u′   2 ,
 
where A′ j =R −1/2 A j  and u′ j =R −1/2 u j .
 
     The noise u′ j  is now white across fingers. The squared Euclidean distance between the received signal and a hypothesized signal becomes the ML metric
 
 d   E   2 ( s )=| y′   1   −A′   1   s|   2   +|y′   2   −A′   2   s|   2 .
 
     Similar to the technique described by Cerato, et al., supra, we can perform QR decompositions on A′ j :
 
 A′   j   =Q   j   U   j .
 
     Here Q j  is a unitary matrix and U j  is an upper triangular matrix. Left multiplying y′ j  by Q j   H  gives rise to
 
 {tilde over (y)}   1   =Q   1   H   y′   j   =U   1   s+ũ   1  
 
 {tilde over (y)}   2   =Q   2   H   y′   2   =U   2   s+ũ   2 .
 
     The squared Euclidean distance between the received signal and a hypothesized signal becomes
 
 d   E   2 ( s )=| {tilde over (y)}   1   −U   1   s|   2   |{tilde over (y)}   2   −U   2   s|   2 .
 
     Because U j  is upper triangular, the squared Euclidean distance can be expressed as a sum of partial squared Euclidean distances, each of which depends on a subset of the hypothesized symbol values.
 
 d   E   2 ( s )= f ( s   4 )+ f   2 ( s   4 )+ f   2 ( s   4   ,s   3 )+ f   3 ( s   4   ,s   3   ,s   2 )+ f   4 ( s   4   ,s   3   ,s   2   ,s   1 ),
 
where f i (•)≧0.
 
     Thus for sphere decoding with a radius √{square root over (η)} and starting with hypothesizing s 4 , if the partial squared Euclidean distance corresponding to a hypothesized symbol value for s 4  is greater than the square of the radius, f 1 (s 4 )&gt;η, then any combination of such a hypothesized symbol value for s 4  with any other hypothesized symbol values for s 1 , s 2 , and s 3  will have a signal vector fall outside of the desired radius. As a result, these hypotheses can be discarded early on, and the decoding complexity can be significantly reduced. 
       FIG. 2  depicts a functional block diagram of an exemplary 2×2 MIMO Golden code CDMA receiver  200  adapted to perform sphere decoding. Signals are received at two receive antennas  202 ,  204 , and are processed by RF front end processors  206 ,  208  to generate baseband receive samples. Despreader units  210 ,  212  despread the received baseband signals. Each despreader unit  210 ,  212  consists of multiple Rake fingers whose finger delays are determined based on a finger placement controller (not shown). The despread values (i.e., the Rake finger outputs) associated with the data channels from the two received signals during one symbol interval are then collected into a vector (vector y j  in the derivations) at collection module  214 . 
     Meanwhile, the despread values associated with the pilot channel (or pilot symbols) are provided to channel estimators  216 ,  218  to produce estimated net responses h 11 , h 21 , h 12 , h 22 , which forms vectors h 1  and h 2  in the derivations, h j =(h 1,j   T h 2,j   T ) T . Impairment covariance estimator  220  produces an impairment covariance estimate and filter module  222  calculates whitening filter coefficients. Based on the whitening coefficients and net responses, matrices A′ 1  and A′ 2  are formed in matrix formation modules  226 ,  224 , respectively. QR decomposition modules  230 ,  228  perform QR decompositions on A′ 1  and A′ 2 , respectively. The unitary matrices from the QR decompositions, and the whitening filter are provided to transform modules  234 ,  232  to transform the despread vectors y 1  and y 2  over two symbol intervals (delaying data vectors in delay module  215 ). The transformed despread vectors and the upper triangular matrices from the QR decompositions are provided to decoder  236  to perform efficient sphere decoding. 
     Those of skill in the art will recognize that one or more of the functional blocks depicted in  FIGS. 1 and 2  may comprise analog or digital electronic circuits, or alternatively may comprise software modules executed on a processor or Digital Signal Processor, or alternatively may comprise any combination of hardware, software, and/or firmware. 
     The present invention may, of course, be carried out in other ways than those specifically set forth herein without departing from essential characteristics of the invention. The present embodiments are to be considered in all respects as illustrative and not restrictive, and all changes coming within the meaning and equivalency range of the appended claims are intended to be embraced therein.
A Generalized Rake (G-Rake) receiver is adapted for Golden code reception in a CDMA system. Signals transmitted by two or more transmit antennas are received at two or more receiver antennas. The signal from each receiver antenna is despread, and channel estimation is performed for each transmit antenna. G-Rake combining weights are calculated based on impairment correlation across G-Rake fingers and channel coefficients corresponding to each transmit antenna. The despread values from each symbol period are combined over a plurality of symbol periods based on the combining weights. The combined values are processed using coefficients derived from the Golden number to generate a set of decision variables, and the Golden encoded symbols are jointly detected from the decision variables. In some embodiments, spherical decoding and triangularization significantly simplify the decoding problem formulation.