Code-division multiple-access communication system providing enhanced capacity within limited bandwidth

A code-division multiple-access spread-spectrum communication system uses pairs of spreading codes with rates of N/2 chips per data symbol to provide a capacity equivalent to that obtained in a conventional system with N chips per symbol. In the transmitter, identical input data are spread in parallel by both spreading codes, then used to modulate two orthogonal carrier signals, and the resulting radio-frequency signals are combined for transmission from an antenna. In the receiver, the received signal is demodulated by parallel multiplication with the two carrier signals, the resulting baseband signals are correlated with the two spreading codes, and the results are added.

BACKGROUND OF THE INVENTION 
This invention relates to code-division multiple-access (hereinafter, CDMA) 
spread-spectrum communications, and more particularly to a method and 
apparatus for increasing the number of users who can transmit 
simultaneously without increasing tile bandwidth requirement. 
CDMA is a digital communication system that allows multiple users to 
communicate in the same frequency band. Briefly, each user's data is 
modulated by a different spreading code having a rate of N chips per data 
symbol (N being an integer greater than one), and all user's data are 
transmitted on the same carrier frequency. A receiver can recover a 
particular user's transmitted data by demodulating the received signal 
with that user's spreading code. 
If the spreading codes are all mutually orthogonal over each symbol 
duration, then the demodulated signals will be free of interference. The 
number of mutually orthogonal spreading codes available depends on the 
chip rate N: the higher the value of N, the more orthogonal codes there 
are. If the spreading codes are only approximately orthogonal, then the 
number of different codes that can be used before interference causes an 
unacceptably high error rate depends similarly on N. In either case, 
higher values of N allow more users to transmit simultaneously; that is, 
higher values of N provide more user channels. 
Accordingly, a simple way to accommodate more users in a CDMA system is to 
increase the chip rate. Unfortunately, this also increases the bandwidth 
of the transmitted CDMA signal. Operators of CDMA systems that have a 
fixed bandwidth allocation, such as digital cellular telephone systems, 
face tile dilemma of needing to increase their user capacity without being 
able to increase their bandwidth. 
SUMMARY OF THE INVENTION 
It is accordingly an object of the present invention to increase the user 
capacity of a CDMA communication system without requiring extra bandwidth. 
The invention provides a method of transmitting and receiving symbol data 
in a CDMA spread-spectrum communication system, and a transmitter and 
receiver employing this method. The method comprises the steps of: 
spreading identical input symbol data by two spreading codes to generate 
two baseband transmit signals; 
generating two mutually orthogonal carrier signals; 
modulating these two carrier signals by the two baseband transmit signals 
to generate two radio-frequency signals; 
combining the two radio-frequency signals into a single radio-frequency 
signal, and transmitting this signal from a transmitting antenna to a 
receiving antenna; 
demodulating the signal received at the receiving antenna to obtain two 
baseband receive signals; 
despreading the two baseband receive signals by correlating them with the 
above two spreading codes to obtain two correlated signals; and 
summing the two correlated signals to obtain an output data signal.

DETAILED DESCRIPTION OF THE INVENTION 
An embodiment of the invention will now be described in greater detail with 
reference to the attached, purely illustrative drawings. The embodiment 
comprises a transmitter, shown in FIG. 1, and a receiver, shown in FIG. 2. 
These can be fabricated as specialized integrated circuits, or they can be 
built from standard electronic circuits and components. Descriptions of 
specific circuit implementations will be omitted to avoid obscuring the 
invention with irrelevant detail. The scope of the invention should be 
determined not from the drawings but from the appended claims. 
Referring to FIG. 1, data symbols to be transmitted are input to the 
transmitter at an input terminal 10. The transmitter has a spreading-code 
generator 11 that generates an original spreading code with a rate of N 
chips per data symbol, where N is all even integer greater than two. The 
chips and symbols will both be considered hereinafter to take on values of 
plus and minus one. The spreading-code generator 11 may generate any of 
various well-known types of spreading codes, such as a pseudo-random noise 
(PN) code, Gold code, or Walsh-Hadamard code. 
The original spreading code will be denoted c.sub.k (t), where t indicates 
time. Different transmitters employ different original spreading codes, 
indicated by different values of the subscript k. These different original 
spreading codes should be mutually orthogonal (e.g. mutually orthogonal 
Walsh-Hadamard codes), or at least approximately orthogonal (e.g. PN or 
Gold codes). The number of different codes available is determined by N, 
larger values of N providing more codes as noted earlier. 
The spreading-code generator 11 divides the original spreading code into 
two parts, denoted c.sub.k1 (t) and c.sub.k2 (t). The dividing can be done 
in any convenient way: for example, c.sub.k1 (t) may comprise the 
odd-numbered chips of c.sub.k (t), and c.sub.k2 (t) the even-numbered 
chips; or in each data symbol interval, c.sub.k1 (t) may comprise the 
first N/2 chips of c.sub.k (t), and c.sub.k2 (t) the second N/2 chips. In 
any case, c.sub.k1 (t) and c.sub.k2 (t) both have a rate of N/2 chips per 
data symbol. 
The spreading-code generator 11 supplies c.sub.k1 (t) and c.sub.k2 (t) to a 
pair of spreaders 12, supplying c.sub.k1 (t) to spreader 12-1 and c.sub.k2 
(t) to spreader 12-2. Both spreaders 12 also receive the symbol data input 
at the input terminal 10. Both spreaders 12 thus receive identical input 
symbol data. The input data will be denoted a.sub.k (t), where k and t 
have the same meaning as above. 
The spreaders 12 multiply the same input data a.sub.k (t) by their 
respective spreading codes to produce two spread signals or baseband 
transmit signals d.sub.k1 (t) and d.sub.k2 (t), as follows. 
EQU d.sub.k1 (t)=a.sub.k (t).multidot.c.sub.k1 (t) 
EQU d.sub.k2 (t)=a.sub.k (t).multidot.c.sub.k2 (t) 
If T.sub.a is the symbol duration, then a.sub.k (t) remains constant over 
intervals of length T.sub.a. If T.sub.c is the chip duration of spreading 
codes c.sub.k1 (t) and c.sub.k2 (t), then c.sub.k1 (t) and c.sub.k2 (t) 
remain constant over intervals of duration T.sub.c. Since c.sub.k1 (t) and 
c.sub.k2 (t) have N/2 chips per symbol, T.sub.c =T.sub.a /(N/2). 
The transmitter also, has a carrier generator 13 that generates two 
mutually orthogonal carrier signals cos(2.pi. f.sub.c t) and sin(2.pi. 
f.sub.c t), f.sub.c being the carrier frequency. These carrier signals are 
supplied to a pair of product modulators 14, cos(2.pi. f.sub.c t) being 
supplied to product modulator 14-1 and sin(2.pi. f.sub.c t) to product 
modulator 14-2. In the product modulators 14, the carrier signals are 
modulated by multiplication with respective baseband transmit signals 
d.sub.k1 (t) and d.sub.k2 (t) to produce a pair of radio-frequency (RF) 
signals s.sub.k1 (t) and s.sub.k2 (t), as follows. 
EQU s.sub.k1 (t)=d.sub.k1 (t).multidot.cos (2.pi. f.sub.c t)=a.sub.k 
(t).multidot.c.sub.k1 (t).multidot.cos (2.pi. f.sub.c t) 
EQU s.sub.k2 (t)=d.sub.k2 (t).multidot.sin (2.pi. f.sub.c t)=a.sub.k 
(t).multidot.c.sub.k2 (t).multidot.sin (2.pi. f.sub.c t) 
A waveform combiner 15 combines these two RF signals by adding them to 
obtain a single RF signal s.sub.k (t). 
##EQU1## 
This single RF signal s.sub.k (t) is sent with suitable amplification (not 
shown) to a transmitting antenna 16, from which it is transmitted. 
Referring to FIG. 2, the receiver has a receiving antenna 21 at which it 
receives the signals from various transmitters. To simplify the discussion 
it is useful to assume that the transmitters and receiver are all 
synchronized with each other. If M transmitters are transmitting 
simultaneously, the received signal R(t) can then be expressed as follows. 
##EQU2## 
The receiver has a carrier generator 22 that generates the same two carrier 
signals cos(2.pi. f.sub.c t) and sin(2.pi. f.sub.c t) as are generated in 
the transmitters, in synchronization with the carrier signals generated in 
the transmitters. These carrier signals are supplied to a pair of product 
demodulators 23, cos(2.pi. f.sub.c t) being supplied to product 
demodulator 23-1 and sin(2.pi. f.sub.c t) to product demodulator 23-2. The 
product demodulators 23 multiply tile received signal R(t) by these two 
carrier signals cos(2.pi. f.sub.c t) and sin(2.pi. f.sub.c t) to produce a 
pair of product signals U.sub.1 (t) and U.sub.2 (t), as follows. 
EQU U.sub.1 (t)=R(t).multidot.cos (2.pi. f.sub.c t) 
EQU U.sub.2 (t)=R(t).multidot.sin (2.pi. f.sub.c t) 
The product signals U.sub.1 (t) and U.sub.2 (t) are then passed through a 
pair of low-pass filters (LPFs) 24 to extract a pair of baseband receive 
signals E.sub.1 (t) and E.sub.2 (t). LPF 24-1 filters U.sub.1 (t) to 
produce E.sub.1 (t); LPF 24-2 filters U.sub.2 (t) to produce E.sub.2 (t). 
If the low-pass filters have suitable cut-off frequencies, then E.sub.1 
(t) and E.sub.2 (t) will be substantially equal to the sums of the 
baseband transmit signals transmitted by the various transmitters. 
##EQU3## 
To receive the transmission from the k-th transmitter, a spreading-code 
generator 25 in the receiver generates the k-th transmitter's original 
spreading code c.sub.k (t), in synchronization with the spreading-code 
generator 11 in the k-th transmitter. (A description of the well-known 
methods of synchronizing the two spreading-code generators will be 
omitted.) Then the spreading-code generator 25 divides this original 
spreading code c.sub.k (t) into two spreading codes c.sub.k1 (t) and 
c.sub.k2 (t), in the same way that c.sub.k (t) was divided into c.sub.k1 
(t) and c.sub.k2 (t) in the transmitter. These two spreading codes are 
supplied to a pair of correlators 26, c.sub.k1 (t) being supplied Go 
correlator 26-1 and c.sub.k2 (t) to correlator 26-2. 
The correlators 26 despread the baseband receive signals E.sub.1 (t) and 
E.sub.2 (t) by correlating them with respective spreading codes c.sub.k1 
(t) and c.sub.k2 (t), thereby obtaining two correlated signals. Bach 
correlated signal consists of one correlated value b.sub.k1 or b.sub.k2 
for each data symbol interval. Restricting attention to one symbol, if 
time t is measured in units equal to the above-mentioned chip duration 
T.sub.c, the correlation calculations can be expressed as follows. 
##EQU4## 
Finally, an adder 27 takes the sum of b.sub.k1 and b.sub.k2 to obtain an 
output data signal b.sub.k, and sends b.sub.k to an output terminal 28 as 
an estimate of the data symbol originally input to the k-th transmitter. 
Thus, 
##EQU5## 
This b.sub.k is the same estimate as would have been obtained in a 
conventional CDMA system if the k-th transmitter had spread its symbol 
data at a rate of N chips per symbol, using spreading code c.sub.k (t), 
and had transmitted the resulting spread signal on a single carrier 
signal, and the receiver had correlated the received signal with c.sub.k 
(t). 
If the symbol data were encoded with suitable redundancy, the output data 
signal b.sub.k can be provided to further circuitry (not shown) for 
detection and correction of errors. 
Because of the orthogonality, or approximate orthogonality, of the original 
spreading codes c.sub.k (t) employed in different transmitters, the 
estimate b.sub.k will be equal, or substantially equal, to the transmitted 
symbol a.sub.k (t). The well-known computational details supporting this 
statement will be omitted; suffice it to point out that while products of 
the form c.sub.k1 (t).multidot.c.sub.k1 (t) and c.sub.k2 
(t).multidot.c.sub.k2 (t) are always equal to unity, products of the form 
c.sub.j1 (t).multidot.c.sub.k1 (t) and c.sub.j2 (t).multidot.c.sub.k2 (t) 
(where j.noteq.k) will be plus one and minus one with equal frequency (or 
approximately equal frequency), averaging out to zero. 
Since the output data signal b.sub.k is the same as would have been 
obtained by using the original spreading code c.sub.k (t), the invented 
CDMA system above can accommodate the same number of user channels as a 
conventional CDMA system operating at a rate of N chips per symbol. Since 
the signals actually transmitted have been spread by c.sub.k1 (t) and 
c.sub.k2 (t), however, and these spreading codes have only N/2 chips per 
symbol, the invented system requires only as much bandwidth as a 
conventional CDMA system operating at a rate of N/2 chips per symbol. 
The bandwidth requirement is substantially proportional to the chip rate. 
For a given user channel capacity, the invented CDMA system accordingly 
requires only about half as much bandwidth as a conventional CDMA system. 
Conversely, for a given bandwidth, the invented system can accommodate 
more users than a conventional system. 
A further advantage of the invention is improved efficiency of the 
spreading process, since the two spreaders 12-1 and 12-2 in the 
transmitter share the spreading task and operate in parallel. Similarly, 
the two correlators 26-1 and 26-2 in the receiver operate efficiently in 
parallel. The two product modulators 14-1 and 14-2, the two product 
demodulators 23-1 and 23-2, and the two low-pass filters 24-1 and 24-2 
also operate in parallel. 
The transmitter and receiver described above had spreading-code generators 
11 and 25 that began by generating an original spreading code, which they 
divided into two parts to generate the two spreading codes c.sub.k1 (t) 
and c.sub.k2 (t). With certain types of spreading codes, such as 
pseudo-random noise codes, the code generators 11 and 25 could just as 
well generate c.sub.k1 (t) and c.sub.k2 (t) directly, without deriving 
them from a single original spreading code. In this case c.sub.k1 (t) and 
c.sub.k2 (t) should of course be different, but they need not be mutually 
orthogonal. Alternatively, c.sub.k1 (t) and c.sub.k2 (t) could be 
generated in the spreaders 12 and correlators 26. 
It is not always necessary for all transmitters and receivers to be 
synchronized. The invention remains applicable in systems that operate 
without complete synchronization, e.g. systems in which the symbol 
boundaries at different transmitters are unsynchronized. 
Those skilled in the art will recognized that further modifications can be 
made to the embodiment described above without departing from the scope of 
the invention as claimed below.