Patent ID: 7190743

Claim:
Apparatus for decoding a plurality of received interfering signals corrupted by multi-user interference to identify estimates for each of the bits and symbols during each symbol interval of each of the plurality of received interfering signals, wherein the received interfering signals are in blocks of data, the apparatus uses a multi-user tree decoder based on an algorithm defining a tree decoder having a plurality of node levels equal to the number of received interfering signals from which the symbols estimates are derived, wherein the tree decoder has a plurality of nodes at each level corresponding to the possible values taken of a bit or symbol, and the tree decoder comprises a root node, intermediate nodes and leaf nodes, and branches connect the root node and intermediate nodes to all nodes at the next higher level, with the first or highest order term of the decoder tree being assigned to the first or root node level of the decoder tree, the second or next highest term of the decoder tree being assigned to second node level of the decoder tree, and so on, and subsequent decoding is done by single user decoders using output from the multi-user tree decoder, and wherein a parameter estimator provides information about each of the plurality of received interfering signals, the apparatus for decoding each of the plurality of received interfering signals comprising: means for determining the received signal strength of the each transmitter at the beginning of each symbol interval using information from the parameter estimator; means for assigning ones of the plurality of received interfering signals to the node levels of the decoder tree based on the received power level of each of the received interfering signals, with the one of the plurality of received interfering signals determined to have the highest received signal strength at the beginning of each symbol interval to the first level of the tree decoder-adjacent the root node for decoding, and there are multiple iterations of decoding during each symbol interval; and first means for decoding each of the plurality of received interfering signals in each of the blocks of data to determine symbol estimates for each of the bits and symbols in each of the plurality of received interfering signals for each of the multiple iterations of decoding; second means for decoding each of the plurality of received interfering signals using the symbol estimates determined by the first decoding means to determine probability estimates for each of the bits and symbols in each of the plurality of received interfering signals, the probability estimates determined during one iteration of decoding being used in a next iteration of decoding by the first decoding means; means for making a determination of the value of each symbol or bit of each of the plurality of received interfering signals for each symbol interval using the probability estimates determined by the second decoding means after a number of the iterations of decoding have been performed during each symbol interval.