Hardware and software for performing computations in a short-code spread-spectrum communications system
First Claim
1. In a spread spectrum system of the type that processes a plurality of waveforms transmitted by respective users, the improvement comprising:
- two registers associated with lth and kth users each for storing elements of a code sequence associated with one of the lth and kth users, an alignment of the code sequence loaded in one register being shifted relative to that of the other register by m elements,two further registers, each for storing mask sequences associated with the code sequences of a respective one of the lth and kth users, such that a mask element is zero or non-zero if a corresponding element of the associated code sequence is zero or non-zero, respectively, an alignment of the mask sequence in one of the further registers being shifted relative to those in the other of the further registers by m elements,a first logic unit coupled to said registers for performing an arithmetical operation on said code sequences and mask sequences to generate, for mth transmitted symbol, (l, k) element of a matrix that represents correlations among the code sequences associated with the respective users,a second logic unit coupled to said first logic unit to generate a matrix that represents correlations among the waveforms transmitted by the users as a function of the matrix that represents correlations among the code sequences associated with respective users, anda third logic unit coupled to said second logic unit for computing detection statistics corresponding to symbols transmitted by the users.
5 Assignments
0 Petitions
Accused Products
Abstract
The invention provides methods and apparatus for multiple user detection (MUD) processing that have application, for example, in improving the capacity CDMA and other wireless base stations. One aspect of the invention provides a multiprocessor, multiuser detection system for detecting user transmitted symbols in CDMA short-code spectrum waveforms. A first processing element generates a matrix (hereinafter, “gamma matrix”) that represents a correlation between a short-code associated with one user and those associated with one or more other users. A set of second processing elements generates, e.g., from the gamma matrix, a matrix (hereinafter, “R-matrix”) that represents cross-correlations among user waveforms based on their amplitudes and time lags. A third procesing element produces estimates of the user transmitted symbols as a function of the R-matrix.
56 Citations
20 Claims
-
1. In a spread spectrum system of the type that processes a plurality of waveforms transmitted by respective users, the improvement comprising:
-
two registers associated with lth and kth users each for storing elements of a code sequence associated with one of the lth and kth users, an alignment of the code sequence loaded in one register being shifted relative to that of the other register by m elements, two further registers, each for storing mask sequences associated with the code sequences of a respective one of the lth and kth users, such that a mask element is zero or non-zero if a corresponding element of the associated code sequence is zero or non-zero, respectively, an alignment of the mask sequence in one of the further registers being shifted relative to those in the other of the further registers by m elements, a first logic unit coupled to said registers for performing an arithmetical operation on said code sequences and mask sequences to generate, for mth transmitted symbol, (l, k) element of a matrix that represents correlations among the code sequences associated with the respective users, a second logic unit coupled to said first logic unit to generate a matrix that represents correlations among the waveforms transmitted by the users as a function of the matrix that represents correlations among the code sequences associated with respective users, and a third logic unit coupled to said second logic unit for computing detection statistics corresponding to symbols transmitted by the users. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. In a method of processing code spread spectrum waveforms transmitted by a plurality of users of a spread spectrum system, the improvement comprising:
-
generating a matrix for a shift of m chips indicative of correlations among code sequences associated with the users by performing the following steps; (i) for each user, loading elements of a code sequence associated with that user in a register, and loading a mask sequence associated with that sequence in another register such that a mask element is zero or non-zero if a corresponding element of the associated code sequence is zero or non-zero, respectively, and (ii) for any two users l and k, shifting an alignment of the code and mask sequences of the lth user relative to those of the kth user by m elements, and performing an arithmetical operation on the aligned elements to obtain (l, k) element of the matrix, and generating a matrix whose elements represent correlations between waveforms transmitted by the users as a function of the matrix that represents correlations among the code sequences associated with the users. - View Dependent Claims (8, 9, 10)
-
-
11. In a method of processing code spread spectrum waveforms transmitted by a plurality of users of a spread spectrum system, the improvement comprising:
-
generating a matrix for a shift of m chips indicative of correlations among code sequences associated with the users by performing the following steps; (i) for each user, loading elements of a code sequence associated with that user in a register, and loading a mask sequence associated with that sequence in another register such that a mask element is zero or non-zero if a corresponding element of the associated code sequence is zero or non-zero, respectively, and (ii) for any two users l and k, shifting an alignment of the code and mask sequences of the lth user relative to those of the kth user by m elements, and performing an arithmetical operation on the aligned elements to obtain (l, k) element of the matrix wherein the step of performing said arithmetical operation comprises obtaining a sum of multipliers of non-zero aligned elements of the code sequences wherein the step of obtaining the sum comprises performing following logic operations; for any two aligned elements of the code sequences of the lth and kth user and the corresponding elements of the mask sequences performing the following steps; (i) performing an XOR operation between the code elements, (ii) performing an AND operation between the mask elements, (iii) performing an AND operation between results of the step (i) and step (ii) to generate a multiplier corresponding the aligned elements, and (iv) summing the multipliers to generate the (l, k) element of the matrix wherein the (l, k) matrix for a shift of m chips is defined in accord with the relation; wherein Γ
lk[m] represents correlation between lth and kth user codes corresponding to a shift of m chips,cl*[n] represents complex conjugate of the code sequence associated with the lth user, ck[n−
m] represents the code sequence associated with kth user,N represents the length of the code, and Nl represent the number of non-zero length of the code. - View Dependent Claims (12, 13, 14, 15)
wherein g is a pulse shape vector, Nc is the number of samples per chip, τ
is a time lag, andΓ
lk[m] represents correlation between lth and kth user codes corresponding to a shift of m chips.
-
-
13. The method of claim 12, further comprising the step of computing a matrix (herein referred to as r matrix) representing cross-correlations among the waveforms transmitted by the users as a function of the C matrix in accord with the relation:
-
wherein â
lq* is an estimate of alq* which is the complex conjugate of one multipath amplitude component of the lth user,akq′
is one multipath amplitude component associated with the kth user, andC denotes the aforesaid C matrix.
-
-
14. The method of claim 13, further comprising the step of generating detection statistics corresponding to symbols transmitted by the users and encoded in the waveforms as a function of said cross-correlation matrix in accord with the relation:
-
wherein yl[m] represents detection statistic for the mth symbol transmitted by the lth user, rll[0]bl[m] represents a signal of interest, and remaining terms of the relation represent Multiple Access Interference (MAI) and noise.
-
-
15. The method of claim 14, further comprising the step of estimating the transmitted symbols as a function of the detection statistics in accord with the relation:
-
wherein {circumflex over (b)}l[m] represents an estimate of the mth symbol transmitted by the lth user.
-
-
16. In a spread spectrum system of the type that processes a plurality of waveforms transmitted by respective users, the improvement comprising:
-
a first logic module for computing a matrix indicative of correlations among codes associated with the users, and a second logic module in communication with said first logic module for computing a matrix indicative of cross correlations among the waveforms transmitted by the users as a function of the matrix indicative of correlations among codes associated with the users, wherein the first logic module generates an (l, k) element of the matrix representing correlations among the waveforms transmitted by lth and kth users by performing the following operations; (i) for each user, loading elements of a code sequence associated with that user in a register, and loading a mask sequence associated with that sequence in another register such that a mask element is zero or non-zero if a corresponding element of the associated code sequence is zero or non-zero, respectively, and (ii) shifting an alignment of the code and mask sequences of the lth user relative to those of the kth user by m elements, and performing an arithmetical operation on the aligned elements to obtain (l, k) element of the matrix. - View Dependent Claims (17, 18, 19, 20)
-
Specification