Title of Invention  METHOD FOR JOINTLY DETECTING SYMBOLS IN TWO OR MORE SIGNALS CONTAINED WITHIN A COMPOSITE SIGNAL AND SYSTEM THEREOF 

Abstract  A CDMA communication system uses a RAKE receiver, a code correlator and a multicode joint detector to jointly detect symbols in two or more received signals contained within a composite signal. The RAKE receiver separates the composite signal into two or more RAKE output signals by despreading the composite signal using selected spreading codes. The multicode joint detector jointly detects the symbols in the received signals using the RAKE receiver output signals, crosscorrelations between the spreading codes generated by the code correlator, and RAKE combining weights based on a noise covariance matrix. The multicode joint detector also includes a trellis that represents possible states and state transitions and a branch metric calculator for calculating branch metrics associated with the state transitions based on the RAKE receiver output signals and the crosscorrelations between the spreading codes. 
Full Text  JOINT MULTICODE DETECTORS IN CDMA COMMUNICATIONS SYSTEM FIELD OF THE INVENTION The present invention generally relates to wireless communication systems and more particularly to joint multicode detectors in code division multiple access (CDMA) communication systems. BACKGROUND OF THE INVENTION One important feature of third generation cellular systems is to provide services over a wide range of data rates. In IS2000 and wideband CDMA (WCDMA), service bearers of various data rates are achieved by using a combination of multicode, multicarrier, and/or multispreading factor. For example, in WCDMA, the spreading factors of physical channels vary from 256 to 4, corresponding to 15K symbols per second to 0.96 M symbols per second gross data rate. If multicode is used with spreading factor 4 and quadrature phase shift keying (QPSK) modulation, a gross data rate higher than 2 M bits per second (bps) can be obtained. However, in such a scenario, the conventionally used RAKE receiver does not perform well in a dispersive channel. This is because the processing gain, provided through signal spreading, is not high enough to reject intersymbol interference (ISI) due to multipath. The ISI can come from adjacent symbols on the same code, or from overlapping symbols on other codes. As a result, user throughput and coverage are limited by multipath delay spread. As highspeed data communications become more and more important for future applications, it is critical to address this ISI problem when multicode is used along with a low spreading factor, to guarantee adequate receiver performance even in dispersive channels. In U.S. Patent Application No. 09/756,504 filed 8 January 2001, receivers for detecting a directsequence spread spectrum (DSSS) signal of a very low spreading factor were proposed. First, a maximum likelihood sequence estimator (MLSE) in additive white Gaussian noise (AWGN), which utilizes the Ungerboeck metric, was proposed. That application's proposed receiver structure is similar to one used for a narrowband signal, except that the receiver parameter was to be recalculated for every symbol, accounting for the symboldependent scrambling code typically used in CDMA systems. The complexity of an MLSE receiver grows as the delay spread increases. To make the receiver complexity manageable, suboptimal receivers, such as the decision feedback sequence estimator (DFSE), decision feedback equalizer (DFE), and reducedstate sequence estimator (RSSE), were introduced. The aforementioned MLSE, DFSE, DFE, and RSSE receiver structures were also extended to address the issue of noise temporal correlation when colored noise is encountered. It was shown that a generalized RAKE (GRAKE) structure was used when colored noise was encountered. Prior art receivers generally address single code reception. To maximize data throughput, multicode may be used along with low spreading factors. Thus, a receiver capable of dealing with multicode interference is highly desirable. Further, prior art receivers generally do not address the issue of soft value generation. In wireless data communications systems, typically, a forward error correction (FEC) code is used to improve the accuracy of receivers. To maximize the effectiveness of the FEC code, soft values corresponding to the loglikelihood ratio of the encoded bits are needed for the FEC decoder. SUMMARY OF THE INVENTION The present invention comprises methods and apparatus for jointly detecting received multicode signals. An exemplary receiver according to the present invention jointly detects multicode signals based on the crosscorrelations of the multicode spreading codes and on RAKE combining weights based on a noise covariance matrix. In an exemplary embodiment, a CDMA communication system jointly detects symbols in two or more received signals contained within a composite signal using a RAKE receiver, a code correlator, and a multicode joint detector. The RAKE receiver separates the composite signal into two or more RAKE output signals by despreading the composite signal using selected spreading codes. Further, the RAKE receiver generates RAKE combining weights based on a noise covariance matrix. The multicode joint detector jointly detects the symbols in the received signals using the RAKE receiver output signals, crosscorrelations between the spreading codes generated by the code correlator, and RAKE combining weights. Based on the crosscorrelations between the spreading codes, a branch metric calculator generates branch metrics associated with the state transitions of the corresponding trellis. The branch metrics obtained according to the present invention can be used in MLSE, DFSE, DFE, or RSSE receivers for multicode joint detection. In another exemplary embodiment, branch metrics may be used for generating optimal soft values for the encoded bits to maximize FEC decoder performance. Generating these soft values includes calculating a forward state metric and estimating a backward state metric based on branch metrics. By estimating the backward state metric, the CDMA receiver does not need to implement a backward recursion process, saving processing time and power. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 illustrates a receiver block diagram according to the present invention. FIG. 2 illustrates a multicode GRAKE receiver according to the present invention. FIG. 3 illustrates a multicode trellis diagram. FIG. 4 illustrates a forward recursion procedure. FIG. 5 illustrates a backward recursion procedure. FIG. 6 illustrates an exemplary joint MAP detector according to the present invention. FIG. 7 illustrates an sparameter calculator according to the present invention. FIG. 8 illustrates a receiver according to the present invention. DETAILED DESCRIPTION OF THE INVENTION Figure 1 illustrates a block diagram of a multicode receiver 10 according to the present invention. Receiver 10 includes receive filter 100, analogtodigital converter (ADC) 200, CDMA multicode joint detector 300, and a decoder 400, such as a forward error correcting (FEC) decoder. Receive filter 100, which is typically matched to the chip waveform used at the transmitter, filters a composite received signal. ADC 200 samples and digitizes the receive filter output. The digitized baseband samples then are processed by CDMA multicode joint detector 300. The multicode joint detector 300 comprises a RAKE receiver, such as a GRAKE receiver 310 and a joint detector, such as a joint maximum a posteriori (MAP) detector 380. The GRAKE receiver 310 separates the composite received signal into two or more RAKE output signals. The joint MAP detector 380 jointly detects the received symbols in the separated GRAKE output signals and outputs soft values to the decoder 400. Decoder 400, e.g., a convolutional code decoder or a turbo code decoder, processes the soft values from MAP detector 380 to recover the transmitted information bit. GRAKE receiver 310 used in CDMA multicode joint detector 300 has the same general structure as the 6RAKE receiver described in U.S. Patent 6,363,104 and pending US patent applications 09/344,899 (filed 25 June 1999), 09/344,898 (filed 25 June 1999) and 09/420,957 (filed 19 October 1999), all of which are hereby incorporated by reference. Fig. 2 illustrates an exemplary structure for multicode GRAKE receiver 310. For illustration purpose, the diagram is simplified to 2code reception with two fingers per code. It will be understood by those skilled in the art that the current invention applies to receiving more than two multicodes and to RAKE receivers with more than two GRAKE fingers per code. GRAKE receiver 310 includes code channel zero receiver 315, code channel one receiver 345, and combiners 340, 370. Code channel zero receiver 315 includes RAKE finger 320 and RAKE finger 330, where each RAKE finger 320, 330 includes delay elements 322, 332 and correlators 324, 334, respectively. Similarly, code channel one receiver 345 includes RAKE finger 350 and RAKE finger 360, where each RAKE finger 350, 360 includes delay elements 352, 362 and correlators 354, 364, respectively. As shown in Fig. 2, RAKE fingers 320, 330 receive the ith symbol transmitted on code channel zero. Delay elements 322, 332 align the received signal with the spreading sequence used by the symbol of interest (ith symbol transmitted on code channel zero). Correlators 324, 334 calculate the correlation between the incoming delayed signals and the spreading code numbered zero used by the symbol of interest. Similarly, RAKE fingers 350, 360 receive the ith symbol transmitted on code channel one. Delay elements 352, 362 align the received signal with the spreading sequence used by the symbol of interest (ith symbol transmitted on code channel one). Correlators 354, 364 calculate the correlation between the incoming delayed signals and the spreading code numbered one used by the symbol of interest. Combiner 340 includes multipliers 342, 344 and adder 346. Similarly, combiner 370 includes multipliers 372, 374 and adder 376. Multiplier 342 combines the output from RAKE finger 320 with a combining RAKE weight for finger 320, while multiplier 344 combines the output from RAKE finger 330 with a combining RAKE weight for finger 330. Adder 346 adds the weighted RAKE finger outputs to form a GRAKE output signal zo(i) for the ith symbol received on code channel zero. Similarly, fingers 350, 360 are GRAKE fingers used to receive the ith symbol transmitted on code channel one. Multipliers 372, 374 combine the outputs from RAKE fingers 350, 360 with their respective RAKE combining weights. Adder 376 adds the weighted RAKE finger outputs to form a GRAKE output Zj(i) corresponding to the ith symbol received on code channel one. A vector of RAKE combining weights w is determined by both the noise covariance matrix R and the net response h, w = R'1h. However, in contrast to the single code GRAKE receiver proposed in the '504 Application, the noise covariance matrix used here only includes the contribution from thermal noise and multipleaccess interference which is not detected in the multicode joint detector 300. A trellis diagram 382 with state transmissions similar to the one shown in Figure 3 can be used to represent the multicode detection problem of the present invention. Here we only show a trellis of 4 stages with 4 states per stage. This trellis can be used to jointly detect two binary phase shift keying (BPSK) symbols. Concatenating two hypothesized BPSK symbols that are to be jointly detected forms the states. For example, state 0 represents the case where both hypothesized symbols are "0"; state 1 represents the case where the hypothesized symbols are "0" and "1," respectively; state 2 represents the case where the hypothesized symbols are "1" and "0," respectively; and state 3 represents the case where both hypothesized symbols are "1." It will be understood by those skilled in the art that a larger trellis may also be used. Let S(i) be the state at stage i. As illustrated in Figure 3, for each state transition ,S'(i 1)→ 'S'(i), there is a corresponding branch metric γi(s(i 1),S(i)). Based on the modulations and channel memory of the symbols to be jointly detected, the receiver forms a trellis represented by the one shown in Figure 3. Three key factors are used in forming the trellis: (1) all the possible trellis states, (2) all the valid state transitions between trellis stages, and (3) the number of trellis stages. Basically, forming a trellis means considering different symbol hypotheses and forming metrics associated with the hypotheses. Joint MAP detector 380 may use a forward and backward recursion process similar to that used in the well known Bahl, Cocke, Jelinek, and Raviv (BCJR) algorithm to compute the soft values associated with the bits being detected. Using the BCJR algorithm, MAP detector 380 computes soft values associated with the bits being detected based on forward and backward state metrics generated during forward and backward recursions through trellis diagram 382. The forward recursion involves recursively obtaining a forward state metric for each state on the trellis 382. Let α, (s(i)) be the forward state metric for state S(i). The forward recursion process 500, illustrated in Figure 4, starts by initializing the forward state metric to zero at the zeroth stage (block 510). If it is known that a particular state is the true starting state, then α0 for that state can be set to a large positive value to reflect this knowledge. At block 520, index i denoting the trellis stage is incremented by one. For every new stage, the forward state metric is determined based on the forward state metrics of the previous stage and the branch metrics leading into the current state (block 530) according to Equation 1. (Equation 1 Removed) In Equation 1, αi1 (S'(i  1)) represents a forward state metric for the previous stage, while γ1(S(i  l), ,S(i)) represents a branch metric for the transition from state S(i l) to state S(i). The max * operation is defined as: (Equation 2 Removed) This operation can be implemented as the sum of the maximum among x1's and a correction term, as shown in Equation 3. Usually, it is enough to just use the maximum term to approximate the operation (Equation 3). (Equation 3 Removed) Basically, the forward recursion accumulates state metrics to determine the shortest path through the trellis. Steps 520, 530, and 540 are repeated until αi(S(i)) has been calculated for each of the NS trellis stages. The backward recursion process 550 is described in Fig. 5, where ßi(S(i) is the backward state metric for state S(i). The backward recursion can be initialized by setting the backward state metrics of the last stage to zero for all states (block 560). If it is known that a particular state is the true ending state, then ßNS for that state can be set to a large positive value to reflect this knowledge. At step 570, index i denoting the trellis stage is decremented by one. For stages i = NS, NS 1 , . . ., 1 , blocks 570, 580, and 590 update the backward recursion metric according to: (Equation 4 Removed) In Equation 4, ßi+1 (,S'(i + 1)) represents the backward state metric for the next stage, while γi+1(S(i),S(i + l)) represents the branch metric for the transition from state S(i) to state S(i + l). The present invention employs an inventive branch metric formulation. As illustrated in Figure 6, MAP detector 380 includes trellis 382, branch metric calculator 384, sparameter calculator 390, state metric calculator 386, and soft value generator 388. Branch metric calculator 384 generates branch metrics based on outputs from GRAKE receiver 310, sparameters generated by sparameter calculator 390, and hypothesized symbols according to the state transition .S'(i 1) → S(i) from trellis 382. State metric calculator 386 computes state metrics during both forward and backward recursions as previously described. The forward state metrics generated during the forward recursion and the backward state metrics generated during the backward recursion are passed to soft value generator 388, which uses the forward and backward state metrics to generate soft values. Alternatively, as discussed below, soft value generator 388 may compute soft values based on forward state metrics from state metric calculator 386 and on reverse branch metrics from branch metric calculator 384 (path 396). The following describes joint detection of k codes using a trellis with memory depth M, according to the present invention. Let S(i) be the trellis state at time i: (Equation 5 Removed) (Equation 6Removed) is the hypothesized ith super symbol for the k jointly detected codes, and ,sk (i) is the hypothesized ith transmitted symbol on code k. Note that s(i) can take values on any of the constellation points of trellis 382. If 2Q is the size of the constellation, then the total number of states on the trellis 382 is S'(i) = 2QMK . The branch metric associated with the transition from state S(i  l)to ,S'(i)is given by (Equation 7 Removed) where zk(i) is the GRAKE receiver output for the ith symbol transmitted on the kth jointly detected code, and φ(k1,k?,i,,i2)is the sparameter, as defined below. In Equation 7, (Equation Removed) defines how the multicode and ISI interferes with zk(i). As mentioned earlier, the GRAKE output for the ith symbol transmitted on the kth jointly detected code can be expressed as (Equation 8 Removed) where w is a vector of GRAKE combining weights and yk(i)is a vector collecting the despread values of symbol i of the kth code channel. Figure 7 illustrates an exemplary sparameter calculator 390 according to the present invention. Sparameter calculator 390 includes code correlator 392 and vector product calculator 394. As shown in Figure 7, code correlator 392 generates crosscorrelations, which can be viewed as a crosscorrelation vector h(k1,i1)k2,i2, where each element of crosscorrelation vector h(k1,i1)k2,i2is based on the correlation between the multipath channel impulse response (g(t)), the spreading waveform of the i1th symbol on code k, (fk1 ih (t) ), and the spreading waveform of the i2th symbol on code k2 ( fk2i2 (t) ) for a given GRAKE finger delay, d. The impulse response of the multipath channel can be obtained through estimating the delays and coefficients of the radio channel according to (Equation 9 Removed) where L is the number of multipaths, and g, and x; are the complex coefficient and delay of the ith multipath, respectively. The cross correlation vector can be expressed in a simple mathematical expression as (Equation 10 Removed) For each GRAKE finger delay (d), Equation 10 convolves the time reverse of the spreading waveform of the ith symbol on code k, with the spreading waveform of the i,th symbol on code k2 and with the multipath channel impulse response. Each element h(k1,i1)k2,i2(d) of cross correlation vector h(k1,i1)k2,i2 is obtained by evaluating the result at time t = d + itTi2T, which includes the GRAKE finger delay, d, as well as the relative symbol delay, itT  i2T . Thus, the crosscorrelation vector is h(k1,i1)k2,i2 =h(k1,i1)k2,i2 (do),K ,h(k1,i1)k2,i2(dj1))T , where dj is the jth finger delay. Vector product calculator 394 combines the crosscorrelation vector with a vector of GRAKE combining weights to generate the desired sparameters, as shown in Equation 1.1 . (Equation 11 Removed) The combination of Equation 11 may also be described as an inner product, which is the sum of products. The GRAKE combining weights may be based on a noise covariance matrix for multicode joint detection over multiple symbols and multiple codes. It can be shown that for a single code symbolbysymbol GRAKE receiver, the noise covariance matrix for the signal of interest can be directly estimated from the codemultiplexed Common Pilot Channel (CPICH) available in IS95, CDMA2000, and WCDMA. The following describes estimating the noise covariance matrix for multicode joint detection. The noise component at finger j assigned to code k, and symbol i() can be obtained by (Equation 12 Removed) where #, and t, are the estimated coefficient and delay for the ith multipath, respectively, .vk(i) is the detected symbol value, Rr(d.y\s the autocorrelation function of the chip waveform, and C^"'a)(m) is the aperiodic crosscorrelation function defined as (Equation 13 Removed) Generally, Equation 12 subtracts the desired signal, (Equation Removed) from the output of the jth finger on symbol i() code k() ,yko,io(dj}. Here we assume that all the jointly detected channels are of equal power so that they share the same channel coefficients. The estimated coefficients correspond to the traffic or information bearing signals. Traditionally, radio channel coefficients are estimated using a pilot channel, which gives a scaled version of the radio channel corresponding to the traffic channel. This difference in scaling can be handled by estimating the relative power or voltage levels of the pilot and traffic channels as described in U.S. patent application "Communications Methods, Apparatus, and Computer Program Products Using Gain Multipliers," serial number 09/968,443, filed 1 October 2001 to Bottomley, et al. When the pseudorandom scrambling code is averaged out, it can be shown that the noise covariance matrix, shown in Equation 14, is independent of code and time indexes (Equation 14 Removed) where v = (υ(d0), υ(d1 ),K. ,υ(di1))T and the expectation, E, is taken over all symbols on all the k codes. Note that υ(dj) only includes the contribution due to thermal noise and multiple access interference which is not jointly detected. For a slow fading channel, the noise covariance can be estimated from the previous receive interval. In this case, ,sk (i) is readily available. However, for a fast fading channel, the noise covariance matrix may vary quite a lot from one receive interval to the next receive interval. In this case, one can either use the noise covariance estimated in the previous receive interval to get a preliminary estimate of .sk(i), and then update the noise covariance estimate using Equations 12 and 14. Alternatively, one can use a RAKE receiver to obtain the preliminary estimate of .sk(i). Another alternative is to use an explicit form of GRAKE described in pending U.S. application "RAKE Combining Methods and Apparatus using Weighting Factors Derived from Knowledge of Spread Spectrum Signal Characteristics," serial number 09/344,899, filed 25 June 1999 to Wang et al., which is incorporated herein by reference. The branch metric of Equation 7 can be further simplified by decomposing it into two terms: (Equation 15 Removed) It is convenient and conceptually helpful to define these two terms. The (Equation Removed) term represents a modified GRAKE combined value for starting state S(i  1), zk (s([ 1)), as shown in Equation 16. (Equation 16 Removed) The (Equation Removed) term represents a weight energy of the newest hypothesized signal for ending state ,S(i), σ(S(1)), as shown in Equation 17. (Equation 17 Removed) Therefore, branch metric of Equation 7 can be represented as: (Equation 18 Removed) That is, the branch metric is the difference of two terms. In effect, the first term is a correlation between the modified GRAKE combined value at starting state S(i  1) and the newest hypothesized signal sk (i). The second term is the weighted energy of the newest hypothesized signal for ending state S(i). In the above described implementation, the two terms of Equation 18 can be computed separately. Note that these two terms can be computed, stored, and then reused multiple times when computing the branch metrics. As discussed above, wireless data communication systems typically use FEC decoders to improve the accuracy of the receivers. The use of soft inputs, corresponding to the loglikelihood ratio of the encoded bits, generally improves the performance of FEC decoders. Soft input value generation typically uses forward and backward recursion algorithms. However, such backward and forward recursions may introduce undesirable complexity. In addition to the higher computation costs, all of the forward state metrics generated during the forward recursion need to be stored in order to generate the bit soft values when the backward state metrics from the backward recursion are available. The present invention employs a simplified soft value generation that estimates the backward state metrics based on the branch metrics leading out of the current state of the forward recursion (see Figure 6, path 396). As a result, the backward state metrics, and therefore the soft input values, are generated as part of the forward recursion process. Therefore, the inventive soft value generation does not require a backward recursion and does not require storing the forward state metrics. The following describes this process in further detail. Let kql (i)be the set of states such that the qth bit of the kth symbol of the newest hypothesized symbol sk(i) is one and let kqo(i) be the set of states such that the qth bit of the kth symbol of the newest hypothesized symbol sk (i) is zero. The optimal soft value of this bit bkq(i) can be computed as (Equation 19 Removed) We approximate the backward state metric for stage / of Equation 4 in Equation 19 by letting ßi+1 (s(i + 1)) = 0, and by replacing γi+1(s(i),S(i + l)) with the corresponding terms of Equation 18. (Equation 20 Removed) Equation 20 demonstrates how soft values can be computed along side the forward recursion by using the approximation of Equation 20 in Equation 19. According to the present invention, it is possible to improve the system performance by applying iterative decoding techniques such that the joint multicode detector 300 and the FEC decoder 400 can work together by exchanging soft information. As shown in Figure 8, the soft values computed by MAP detector 380 are deinterleaved (302) and then used by FEC decoder 400 to compute some a posteriori values and extrinsic values. The extrinsic values are interleaved (304) and fed back to the MAP detector 380, which uses them as a form of a priori values, or prior values, of the signals. The MAP detector algorithms described above can be easily modified to take advantage of the additional information provided by decoder 400. Let µ(bkq (i)) represent the a priori value of the bit bkq(i). Then the a priori value of a hypothesized symbol sk (i) may be computed as: (Equation 21 Removed) That is, the symbol a priori value is the sum of the bit a priori values corresponding to the bits being one. For example, the symbols in the QPSK modulation are labeled with two bits: S00, S01, S10, and S11. The a priori value of one hypothesized QPSK symbol can be computed as, for the four respective cases, (Equation Removed) The recursion algorithms described previously are updated as before, except that the weighted energy (Equation 17) should be replaced by (Equation 22 Removed) Furthermore, the soft value output should be modified to be in an extrinsic information form by subtracting out the information the decoder 400 already knows, as shown in Equation 23. (Equation 23 Removed) The foregoing description and drawings describe and illustrate the present invention in detail. However, the foregoing disclosure only describes some embodiments. Therefore, the present invention embraces all changes and modifications that come within the meaning and equivalency range of the appended claims. We claim: 1. A method of jointly detecting symbols in two or more received signals contained within a composite signal, the method characterized by: separating said composite signal into two or more RAKE receiver output signals by despreading said combined signal in a RAKE receiver (310) using two or more selected spreading codes; determining crosscorrelations between said two or more spreading codes; determining RAKE combining weights based on a noise covariance matrix; and jointly detecting symbols in said received signals based on said RAKE receiver output signals, said crosscorrelations, and said RAKE combining weights. 2. The method as claimed in claim 1, wherein jointly detecting symbols in said received signals based on said RAKE receiver output signals, said crosscorrelations, and said RAKE combining weights comprises jointly detecting symbols in said received signals with a MAP detector (380). 3. The method as claimed in claim 2, wherein jointly detecting symbols in said received signals with a MAP detector (380) comprises forming a trellis (382) representing possible states and state transitions; generating branch metrics associated with said state transitions based on said cross correlations and said RAKE receiver output signals; and performing a forward recursion through said trellis (382) using said branch metrics to determine state probabilities for states in said trellis (382). 4. The method as claimed in claim 3, wherein performing a forward recursion through said trellis (382) using said branch metrics to determine state probabilities for states in said trellis (382) comprises determining accumulated state metrics for selected states at each step of said forward recursion based on said branch metrics; determining a shortest path through said trellis (382) based on said accumulated state metrics; and determining symbols in said received signals based on said accumulated state metrics. 5. The method as claimed in claim 3, wherein generating branch metrics associated with said state transitions based on said crosscorrelations comprises determining an sparameter by combining said crosscorrelations with said RAKE combining weights; and generating said branch metrics based on said sparameter and said RAKE receiver output signals. 6. The method as claimed in claim 5, wherein determining said sparameter by combining said cross correlations with said RAKE combining weights comprises taking products of said RAKE combining weights and said crosscorrelations; and summing said products. 7. The method as claimed in claim 5, wherein determining said sparameters is based on determining said noise covariance matrix. 8. The method as claimed in claim 7, wherein determining said noise covariance matrix comprises determining RAKE finger noise components over multiple symbols and multiple codes. 9. The method as claimed in claim 5, wherein generating said branch metrics comprises determining a modified RAKE receiver output based on said RAKE receiver output signals and said sparameter; determining a hypothesized signal; determining a correlation between said modified RAKE receiver output signals and said hypothesized signal; determining a weighted energy of said hypothesized signal based on said s parameter; and generating said branch metrics based on said correlation and said weighted energy. 10. The method as claimed in claim 3, wherein jointly detecting symbols comprises generating forward state metrics based on branch metrics leading into a state; selecting branch metrics leading out of said state to use as backward state metrics; and generating soft values of said received signals based on said forward state metrics and said selected branch metrics. 11. The method as claimed in claim 10, wherein jointly detecting symbols comprises generating said soft values based on prior values of said received signal. 12. A CDMA communication system (10) for jointly detecting symbols in two or more received signals contained within a composite signal, the communication system (10) characterized by: a multicode RAKE receiver (310) for separating said composite signal into two or more RAKE output signals by despreading said composite signal using two or more selected spreading codes and for determining RAKE combining weights based on a noise covariance matrix; a code correlator (392) for generating crosscorrelations between said two or more spreading codes; and a multicode joint detector (300) for jointly detecting symbols in said received signals based on said RAKE output signals and said RAKE combining weights from said RAKE receiver (310) and said crosscorrelations from said code correlator (392). 13. The system (10) as claimed in claim 12, wherein said multicode joint detector (300) comprises a joint MAP detector (380). 14. The system (10) as claimed in claim 12, wherein said joint MAP detector (380) comprises a branch metric calculator (384) for determining branch metrics associated with state transitions from a trellis (382) representing possible states and state transitions, said branch metrics determined based on said crosscorrelations and said RAKE receiver output signals, and wherein said joint MAP detector (380) performs a forward recursion through said trellis (382) using said branch metrics to determine state probabilities through said trellis (382). 15. The system (10) as claimed in claim 14, wherein said joint MAP detector (380) determines accumulated state metrics for selected states at each step of said forward recursion based on said branch metrics and determines symbols in said received signals based on said accumulated state metrics. 16. The system (10) as claimed in claim 15, wherein crosscorrelation vector of said crosscorrelations is combined with said RAKE combining weights by an sparameter calculator (390) to determine s parameters. 17. The system (10) as claimed in claim 16, wherein said branch calculator (384) determines said branch metrics based on said sparameters and said RAKE output signals. 18. The system (10) as claimed in claim 16, wherein said sparameter calculator (390) takes the inner product of said RAKE combining weights and said crosscorrelation vector. 19. The system (10) as claimed in claim 12, wherein said joint MAP detector (380) generates soft values of said received signals based on a forward state metric and an estimated backward state metric, wherein said forward state metric is based on branch metrics leading into a state and said estimated backward state metric is based on selected branch metrics leading out of said state. 20. The system (10) as claimed in claim 19, wherein prior values of said received signal are generated by a decoder. 21. The method as claimed in claim 1, wherein jointly detecting symbols in said received signals comprises forming a trellis (382) representing possible states and state transitions for said multicode joint detector; determining said noise covariance matrix; generating branch metrics associated with said state transitions based on said cross correlations and said RAKE combining weights. 22. The method as claimed in claim 21, wherein determining said noise covariance matrix comprises determining RAKE finger noise components over multiple symbols and multiple codes. 23. The method as claimed in claim 21, wherein jointly detecting symbols comprises generating forward state metrics based on branch metrics leading into a state; selecting branch metrics leading out of said state to use as backward state metrics; and generating soft values of said received signals based on said forward state metrics and said selected branch metrics. 24. The method as claimed in claim 21, wherein generating branch metrics comprises: generating RAKE output signals by despreading two or more signals received in a RAKE receiver (310) with said two or more spreading codes; determining sparameters by combining said crosscorrelations with said RAKE combining weights; and generating said branch metrics based on said sparameters and said RAKE output signals. 25. The method as claimed in claim 24, wherein determining sparameters by combining said cross correlations with said RAKE combining weights comprises taking products of said RAKE combining weights and said crosscorrelations; and summing said products. 26. The method as claimed in claim 24, wherein determining said branch metrics comprises: determining a modified RAKE output based on said RAKE output and said s parameter; determining a hypothesized signal; determining a correlation between said modified RAKE output signals said hypothesized signal; determining a weighted energy of said hypothesized signal based on said s parameter; and generating said branch metrics based on said correlation and said weighted energy. 

3199DELNP2005Abstract(26022008).pdf
3199DELNP2005Claims(12112008).pdf
3199DELNP2005Claims(18112008).pdf
3199DELNP2005CorrespondenceOthers(09092008).pdf
3199DELNP2005CorrespondenceOthers(12112008).pdf
3199DELNP2005CorrespondenceOthers(18112008).pdf
3199DELNP2005CorrespondenceOthers(26022008).pdf
3199DELNP2005CorrespondenceOthers06052008.pdf
3199DELNP2005CorrespondenceOthers28052008.pdf
3199delnp2005correspondenceothers.pdf
3199delnp2005description (complete).pdf
3199DELNP2005Drawings(26022008).pdf
3199DELNP2005Form1(26022008).pdf
3199delnp2005form13(23082006).pdf
3199DELNP2005Form2(26022008).pdf
3199DELNP2005Form26(23082006).pdf
3199DELNP2005Form26(26022008).pdf
3199DELNP2005Form328052008.pdf
3199DELNP2005Form5(26022008).pdf
Patent Number  225775  

Indian Patent Application Number  3199/DELNP/2005  
PG Journal Number  01/2009  
Publication Date  02Jan2009  
Grant Date  28Nov2008  
Date of Filing  19Jul2005  
Name of Patentee  TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)  
Applicant Address  TELEFONPLAN, S126 25 STOCKHOLM (SE)  
Inventors:


PCT International Classification Number  HO4B 1/707  
PCT International Application Number  PCT/US04/10561  
PCT International Filing date  20040406  
PCT Conventions:
