Patent ID: 6981203
Filing Date: 2005-12-27
Classification: H03M,H04B,H04L

Abstract:
1. A method for improving the ability to demodulate purposely overlapping digitally encoded signals from multiple users operating on the same frequency at the same time using the same code, comprising the steps of a) decoding blocks of data of received, overlapping signals from multiple users using a multi-user decoding system that performs multiple iterations of decoding of each data block of the signals to identify the value of signal points, the multi-user decoding system including a multi-user decoder and a plurality of single user decoders, the multi-user decoder using an algorithm defining a tree diagram having a number of node levels equal to the number of signals from which the signal points are derived, with the first/highest order term of the algorithm being assigned to the first/root node level of the tree, the second/next highest term of the algorithm being assigned to second node level of the tree, and so on; b) randomly assigning a random user priority order to the received, overlapping signals using signal indices, the overlapping signals represented in a block of data being decoded by the multi-user decoding system to the node levels of the tree for each symbol interval for a first iteration of decoding in steps (c) and (d); c) performing a first decoding of the block of data in the multi-user decoder to determine first channel symbol estimates for each of the signals; d) performing a first decoding of the block of data in the single user decoders, with each signal in the block of data being assigned to and processed by a single user decoder, and using the first channel symbol estimates determined in step (c) for each signal in an assigned one of the single user decoders to determine a first probability estimate for each of the data bits in the signals; e) performing a second decoding of the block of data in the multi-user decoder using the first probability estimate determined in step (d) for each of the signals after randomly re-assigning the signal indices to differently order the users, thus to determine a revised channel symbol estimate for each of the signal points of the signals; f) performing a second decoding of the block of data in the single user decoders, with each signal being assigned to and processed by a single user decoder, and using the revised channel symbol estimates determined in step (e) for each signal in the assigned one of the single user decoders to determine a revised probability estimate of the data bits for each of the signals, the decoding in steps (e) and (f) accomplishing a second iteration of decoding; g) repeating steps (e) and (f) for third and subsequent iterations of decoding, with channel symbol estimates for each iteration of decoding determined in step (e) being used by the single user decoders in step (f), and revised data bit probability estimates for each iteration of decoding determined in step (f) being used is step (e); and h) decoding the signals in the block of data using the value of signal points determined as a result of the iterative decoding steps (a)–(g), whereby the random user priority ordering is done on each pass through the multi-user detector so that no one user is consistently given a low priority.