|
Claims  |
|
|
We claim:
1. A method of decoding an orthogonally encoded data signal corresponding
to an original data signal, said orthogonally encoded data signal having a
fixed number of possible code values each having an index number wherein a
binary equivalent of said index number corresponds to said original data
signal, comprising the steps of:
receiving a set of energy values, each energy value corresponding to a
respective one of said fixed number of code values and corresponding index
number;
searching a first subset of said set of energy values for a maximum energy
value wherein said first subset contains each of said energy values
corresponding to an index number having a binary equivalent with a "0" as
a preselected digit;
searching a second subset of said set of energy values for a maximum energy
value wherein said second subset contains each of said energy values
corresponding to an index number having a binary equivalent with a "1" as
said preselected digit; and
forming a difference between said maximum energy value of said first subset
and said maximum energy of said second subset wherein said difference is a
measure of confidence of the value of a particular digit of said original
data signal.
2. The method of claim 1 further comprising the steps of:
searching a third subset of said set of energy values for a maximum energy
value wherein said third subset contains each of said energy values
corresponding to an index number having a binary equivalent with a "0" as
a second preselected digit;
searching a fourth subset of said set of energy values for a maximum energy
value wherein said fourth subset contains each of said energy values
corresponding to an index number having a binary equivalent with a "1" as
said second preselected digit; and
forming a difference between said maximum energy value of said third subset
and said maximum energy of said fourth subset wherein said difference is a
measure of confidence of the value of a second particular digit of said
original data signal.
3. The method of claim 1 wherein each energy value in said set of energy
values is generated by an orthogonal code transformer.
4. The method of claim 1 wherein each energy value in said set of energy
values is generated by summing a plurality of partial energy values
corresponding to a like symbol index, each of said plurality of partial
energy values corresponding to said like symbol index is generated by a
different one of a plurality of orthogonal code transformers.
5. The method of claim 3 wherein said orthogonal code transformer comprises
a fast Hadamard transformer.
6. The method of claim 4 wherein said plurality of orthogonal code
transformers comprises a fast Hadamard transformer.
7. The method of claim 1 wherein said orthogonally encoded signal is a
Walsh encoded signal.
8. The method of claim 1 wherein said measure of confidence represents a
soft decision data value.
9. A method of decoding an orthogonally encoded data signal corresponding
to an original data signal, said orthogonally encoded data signal having a
fixed number of possible code values each having an index number wherein a
binary equivalent of said index number corresponds to said original data
signal, comprising the steps of:
(a) receiving a set of energy values, each energy value corresponding to a
respective one of said fixed number of code values and corresponding index
number;
(b) searching a first subset of said set of energy values for a maximum
energy value wherein said first subset contains each of said energy values
corresponding to an index number having a binary equivalent with a "0" as
a first digit;
(c) searching a second subset of said set of energy values for a maximum
energy value wherein said second subset contains each of said energy
values corresponding to an index number having a binary equivalent with a
"1" as a first digit;
(d) forming a difference of said maximum energy value of said first subset
and said maximum energy of said second subset wherein said difference is a
measure of confidence of the value of a particular digit of said original
data signal; and
(e) repeating steps (b), (c), and (d) for each subsequent digit of said
index number.
10. A method of decoding an orthogonally encoded data signal corresponding
to an original data signal, said orthogonally encoded data signal having a
fixed number of possible code values each having an index number wherein a
binary equivalent of said index number corresponds to said original data
signal, comprising the steps of:
receiving a set of energy values, each energy value corresponding to a
respective one of said fixed number of code values and corresponding index
number;
searching a first subset of said set of energy values for a maximum energy
value wherein said first subset contains each of said energy values
corresponding to an index number having a binary equivalent with a "0" as
a first digit;
searching a second subset of said set of energy values for a maximum energy
value wherein said second subset contains each of said energy values
corresponding to an index number having a binary equivalent with a "1" as
said first digit;
forming a difference of said maximum energy value of said first subset and
said maximum energy of said second subset wherein said difference is a
measure of confidence of the value of a first digital of said original
data signal;
searching a third subset of said set of energy values for a maximum energy
value wherein said third subset contains each of said energy values
corresponding to an index number having a binary equivalent with a "0" as
an intermediate digit;
searching a fourth subset of said set of energy values for a maximum energy
value wherein said fourth subset contains each of said energy values
corresponding to an index number having a binary equivalent with a "1" as
said intermediate digit;
forming a difference of said maximum energy value of said third subset and
said maximum energy of said fourth subset wherein said difference is a
measure of confidence of the value of an intermediate digit of said
original data signal;
searching a fifth subset of said set of energy values for a maximum energy
value wherein said fifth subset contains each of said energy values
corresponding to an index number having a binary equivalent with a "0" as
a last digit;
searching a sixth subset of said set of energy values for a maximum energy
value wherein said sixth subset contains each of said energy values
corresponding to an index number having a binary equivalent with a "1" as
said last digit; and
forming a difference of said maximum energy value of said fifth subset and
said maximum energy of said sixth subset wherein said difference is a
measure of confidence of the value of a last digit of said original data
signal.
11. An apparatus for decoding an orthogonally encoded signal to produce a
corresponding original signal comprising:
at least one demodulator for receiving and demodulating said encoded signal
and providing groups of samples of said signal as an output;
at least one signal transformer connected to receive said groups of samples
and to generate a plurality of soft decision data which each correspond to
a measure of confidence that a data sample of said encoded signal is
substantially similar to one orthogonal code from a set of mutually
orthogonal codes, and said soft decision data each having a corresponding
index symbol with a binary equivalent value which corresponds to one of
said mutually orthogonal codes;
metric generation means coupled to said transformer for finding a set of
paired data values, each paired data value of said set of paired data
values corresponding to a digit of said binary equivalent of each of said
index symbols, a first value of said paired data values corresponding to a
maximum value of said soft decision data having a binary equivalent of
said corresponding index symbol with a "0" as a corresponding digit and a
second value of said paired data values corresponding to a maximum value
of said soft decision data having a binary equivalent of said
corresponding index symbol with a "1" as a corresponding digit, and for
subtracting said second value from said first value of said paired data
values so as to form a soft decision output value for each digit of said
binary equivalent of said index symbols.
12. The apparatus of claim 11 further comprising conversion means for
converting said resultant soft decision data to an estimate of said
original signal.
13. The apparatus of claim 12 wherein said conversion means comprises a
convolutional decoder.
14. The apparatus of claim 12 wherein said conversion means comprises a
Viterbi decoder.
15. The apparatus of claim 11 wherein said, paired data values correspond
to dual-maxima aggregate data values.
16. The apparatus of claim 11 further comprising:
a plurality of demodulators for receiving and demodulating said encoded
signal and providing groups of samples of said signal as outputs;
a plurality of signal transformers each connected to receive groups of
samples from one of said demodulators and to generate a plurality of soft
decision data which each correspond to a measure of confidence that a data
sample of said encoded signal is substantially similar to one orthogonal
code from a set of mutually orthogonal codes, and said soft decision data
each having a corresponding index symbol which corresponds to one of said
mutually orthogonal codes; and
summation means coupled to said plurality of signal transformers for
summing said plurality of soft decision data according to like
corresponding index symbols to provide an aggregate plurality of soft
decision data and corresponding index symbols, and having an output
coupled to said metric generator.
17. A method of decoding an orthogonally encoded data signal corresponding
to an original data signal, said orthogonally encoded data signal having a
fixed number of possible code values each having an index number wherein a
binary equivalent of said index number corresponds to said original data
signal, comprising the steps of:
(a) receiving a set of energy values, each energy value corresponding to a
respective one of said fixed number of code values and corresponding index
number;
(b) determining a first resultant value from a first subset of said set of
energy values according to a predetermined function wherein said first
subset contains each of said energy values corresponding to an index
number having a binary equivalent with a "0" as a first digit;
(c) determining a second resultant value from a second subset of said set
of energy values according to said predetermined function wherein said
second subset contains each of said energy values corresponding to an
index number having a binary equivalent with a "1" as a first digit;
(d) forming a difference between said first resultant value and said second
resultant value wherein said difference is a measure of confidence of the
value of a particular digit of said original data signal; and
(e) repeating steps (b), (c), and (d) for each subsequent digit of said
binary equivalent for each index number.
18. The method of claim 17 wherein each energy value in said set of energy
values is generated by an orthogonal code transformer.
19. The method of claim 17 wherein each energy value in said set of energy
values is generated by summing a plurality of partial energy values
corresponding to a like symbol index, each of said plurality of partial
energy values corresponding to said like symbol index is generated by a
different one of a plurality of orthogonal code transformers.
20. The method of claim 17 wherein said orthogonal code transformer
comprises a fast Hadamard transformer.
21. The method of claim 19 wherein said plurality of orthogonal code
transformers comprises a fast Hadamard transformer.
22. The method of claim 17 wherein said orthogonally encoded signal is a
Walsh encoded signal.
23. The method of claim 17 wherein said measure of confidence represents a
soft decision data value.
24. The method of claim 17 wherein said first and second resultant values
are maxima and said predetermined function is a searching function for
finding a maximum value.
25. The method of claim 17 wherein said predetermined function is a
summation function for finding a sum of said set of values.
26. The method of claim 17 wherein said predetermined function is an
exponential function of said set of values.
27. A method of decoding an orthogonally encoded data signal corresponding
to an original data signal in a noncoherent receiver system, where the
encoded data signal has a substantially constrained number of possible
code values each in turn having an index number with an N-bit binary
equivalent value which corresponds to said original data signal,
comprising the steps of:
receiving a set of energy values, each corresponding to a respective one of
said code values;
searching a first subset of said set of energy values which comprises those
values having a binary equivalent for the index number with a "0" as a
k.sup.th digit, where in k is an integer and 1.ltoreq.k.ltoreq.N, for a
desired energy value determined by a preselected energy function;
searching a second subset of said set of energy values which comprises
those values having a binary equivalent for the index number with a "1" as
said k.sup.th digit, for a second desired energy value determined by said
preselected energy function; and
generating a sort decision value from a difference between said desired
values for said first and second subsets.
28. The method of claim 27 further comprising the steps of repeating said
searching and generating steps for first and second subsets for each other
value of k.
29. The method of claim 27 wherein said soft decision value comprises a
measure of confidence of the value of a particular digit of said original
signal. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
BACKGROUND OF THE INVENTION
I. Field of the Invention
The present invention relates to communication systems which employ spread
spectrum signals. More specifically, the present invention relates to a
method and apparatus for processing orthogonal signals in a spread
spectrum communication system.
II. Description of the Related Art
The use of code division multiple access (CDMA) modulation techniques is
one of several techniques for facilitating communications in which a large
number of system users are present. Other multiple access communication
system techniques, such as time division multiple access (TDMA), frequency
division multiple access (FDMA) and AM modulation schemes such as
amplitude companded single sideband (ACSSB) are known in the art. However
the spread spectrum modulation technique of CDMA has significant
advantages over these modulation techniques for multiple access
communication systems. The use of CDMA techniques in a multiple access
communication system is disclosed in U.S. Pat. No. 4,901,307, issued Feb.
13, 1990, entitled "SPREAD SPECTRUM MULTIPLE ACCESS COMMUNICATION SYSTEM
USING SATELLITE OR TERRESTRIAL REPEATERS", assigned to the assignee of the
present invention, the disclosure of which is incorporated by reference.
In the just mentioned patent, a multiple access technique is disclosed
where a large number of mobile telephone system users each having a
transceiver communicate through satellite repeaters or terrestrial base
stations (also referred to as cell-sites stations, cell-sites or for
short, cells) using CDMA spread spectrum communication signals. In using
CDMA communications, the frequency spectrum can be reused multiple times
thus permitting an increase in system user capacity.
The CDMA modulation techniques disclosed in U.S. Pat. No. 4,901,307 offer
many advantages over narrow band modulation techniques used in
communication systems employing satellite or terrestrial channels. The
terrestrial channel poses special problems to any communication system
particularly with respect to multipath signals. The use of CDMA techniques
permits the special problems of the terrestrial channel to be overcome by
mitigating the adverse effect of multipath, e.g. fading, while also
exploiting the advantages thereof.
The CDMA techniques as disclosed in U.S. Pat. No. 4,901,307 contemplates
the use of coherent modulation and demodulation for both directions of the
link in mobile-satellite communications. Accordingly, disclosed therein is
the use of a pilot carrier signal as a coherent phase reference for the
satellite-to-mobile link and the cell-to-mobile link. In the terrestrial
cellular environment, however, the severity of multipath fading with the
resulting phase disruption of the channel, as well as the power required
to transmit a pilot carrier signal from the mobile, precludes usage of
coherent demodulation techniques for the mobile-to-cell link. U.S. Pat.
No. 5,103,459 entitled "SYSTEM AND METHOD FOR GENERATING SIGNAL WAVEFORMS
IN A CDMA CELLULAR TELEPHONE SYSTEM", issued Jun. 25, 1990, assigned to
the assignee of the present invention, the disclosure of which is
incorporated herein by reference, provides a means for overcoming the
adverse effects of multipath in the mobile-to-cell link by using
noncoherent modulation and demodulation techniques.
In a CDMA cellular telephone system, the same frequency band can be used
for communication in all cells. The CDMA waveform properties that provide
processing gain are also used to discriminate between signals that occupy
the same frequency band. Furthermore, the high speed pseudonoise (PN)
modulation allows many different propagation paths to be separated,
provided the difference in path delays exceed the PN chip duration, i.e.
1/bandwidth. If a PN chip rate of approximately 1 MHz is employed in a
CDMA system, the full spread spectrum processing gain, equal to the ratio
of the spread bandwidth to the system data rate, can be employed against
paths that differ by more than one microsecond in path delay from the
desired path. A one microsecond path delay differential corresponds to a
differential path distance of approximately 1,000 feet. The urban
environment typically provides differential path delays in excess of one
microsecond, and up to 10-20 microseconds are reported in some areas.
Multipath fading is not totally separated by using CDMA discrimination
techniques because there will occasionally exist paths with delay
differentials of less than the PN chip duration for the particular system.
Signals having path delays on this order cannot be distinguished in the
demodulator, resulting in some degree of fading.
Diversity is one approach for mitigating the deleterious effects of fading.
It is, therefore, desirable that some form of diversity be provided which
permits a system to reduce fading. Three major types of diversity exist:
time diversity, frequency diversity and space diversity.
Time diversity can best be obtained by the use of repetition, time
interleaving, and error correction and detection coding which like
repetition introduces redundancy. A system comprising the present
invention may employ each of these techniques as a form of time diversity.
CDMA by its inherent nature of being a wideband signal offers a form of
frequency diversity by spreading the signal energy over a wide bandwidth.
Therefore, frequency selective fading affects only a small part of the
CDMA signal bandwidth.
Space or path diversity is obtained by providing multiple signal paths
through simultaneous links from a mobile unit through two or more
cell-sites usually by employing two or more antenna elements. Furthermore,
path diversity may be obtained by exploiting the multipath environment
through spread spectrum processing by allowing a signal arriving with
different propagation delays to be received and processed separately.
Examples of path diversity are illustrated in U.S. Pat. No. 5,101,501
entitled "SOFT HANDOFF IN A CDMA CELLULAR TELEPHONE SYSTEM", issued Mar.
21, 1992 and U.S. Pat. No. 5,109,390 entitled "DIVERSITY RECEIVER IN A
CDMA CELLULAR TELEPHONE SYSTEM", issued Apr. 28, 1992, both assigned to
the assignee of the present invention.
The deleterious effects of fading can be further controlled to a certain
extent in a CDMA system by controlling transmitter power. A system for
cell-site and mobile unit power control is disclosed in U.S. Pat. No.
5,056,109 entitled "METHOD AND APPARATUS FOR CONTROLLING TRANSMISSION
POWER IN A CDMA CELLULAR MOBILE TELEPHONE SYSTEM", issued Oct. 8, 1991,
also assigned to the assignee of the present invention.
The CDMA techniques as disclosed in U.S. Pat. No. 4,901,307 entitled
"SPREAD SPECTRUM MULTIPLE ACCESS COMMUNICATION SYSTEM USING SATELLITE OR
TERRESTRIAL REPEATERS", issued Feb. 13, 1990 and assigned to the assignee
of the present invention, contemplate the use of relatively long PN
sequences with each user channel being assigned a different PN sequence.
The cross-correlation between different PN sequences and the
autocorrelation of a PN sequence, for all time shifts other than zero,
both have a nearly zero average value which allows the different user
signals to be discriminated upon reception. (Autocorrelation and
cross-correlation requires logical "0" take on a value of "1" and logical
"1" take on a value of "-1" or a similar mapping in order to obtain a zero
average value.)
However, such PN signals are not orthogonal. Although the
cross-correlations essentially average to zero, for a short time interval
such as an information bit time the cross-correlation is a random variable
with a binomial distribution. As such, the signals interfere with each
other much the same as if they were wide bandwidth Gaussian noise at the
same power spectral density. Thus the other user signals, or mutual
interference noise, ultimately limits the achievable system user capacity.
It is well known in the art that a set of n orthogonal binary sequences,
each of length n, for n any power of 2 can be constructed, see Digital
Communications with Space Applications, S. W. Golomb et al.,
Prentice-Hall, Inc., 1964, pp. 45-64. In fact, orthogonal binary sequence
sets are also known for most lengths which are multiples of four and less
than two hundred. One class of such sequences that is easy to generate is
called the Walsh function, also known as Hadamard matrices.
A Walsh function of order n can be defined recursively as follows:
##EQU1##
where W' denotes the logical complement of W, and
W(1)=.vertline.0.vertline.. Thus,
##EQU2##
A Walsh sequence or code is one of the rows of a Walsh function matrix. A
Walsh function matrix of order n contains n sequences, each of length n
bits.
A Walsh function metric of order n (as well as other orthogonal functions)
has the property that over the interval of n code symbols, the
cross-correlation between all the different sequences within the set is
zero, provided that the sequences are time aligned with each other. This
can be seen by noting that every sequence differs from every other
sequence in exactly half of its bits. It should also be noted that there
is always one sequence containing all zeroes and that all the other
sequences contain half ones and half zeroes.
Walsh codes can be used to provide orthogonality between the users so that
mutual interference is reduced, allowing higher capacity and better link
performance. With orthogonal codes, the cross-correlation is zero over a
predetermined time interval, resulting in no interference between the
orthogonal codes, provided only that the code time frames are time aligned
with each other.
To obtain the benefit of the orthogonal Walsh codes, the transmitter of a
system may map code symbols into corresponding Walsh codes. For example a
three bit symbol could be mapped into the eight sequences of W(8) given
above. An "unmapping" of the Walsh encoded signals into an estimate of the
original code symbols must be accomplished by the receiver of the system.
A preferred "unmapping" or selection process produces soft decision data
which can be provided to a decoder for maximum likelihood decoding.
A correlation receiver is used to perform the "unmapping" process. In such
a receiver a correlation of the received signal with each of the possible
mapping values is performed. Selection circuitry is employed to select the
most likely correlation value, which is scaled and provided as soft
decision data.
A spread spectrum receiver of the diversity or "Rake" receiver design
comprises multiple data receivers to mitigate the effects of fading.
Typically each data receiver is assigned to demodulate a different path
propagation of the signal. In the demodulation of signals modulated
according to an orthogonal signaling scheme, each data receiver correlates
the received signal with each of the possible mapping values. Selection
circuitry within each data receiver then selects the most likely
correlation value. The values selected from all of the data receivers are
scaled and combined to produce soft decision data.
In the just described process the selection circuitry injects a
nonlinearity into the decoding process which may result in inaccurate soft
decision data. Furthermore, the standard selection circuit can require a
plurality of functions which may require substantial circuitry and thus
increase the complexity, size, power consumption, and cost of a system,
particularly when repeated in each data receiver.
It is therefore desirable to provide in a spread spectrum receiver of the
type just described an enhanced decision process which eliminates
nonlinearities associated with such selection circuitry. Since the
selection circuitry is employed in each data receiver, it is further
desirable to combine the functions performed by the selection circuitry
into a single processing element to avoid the associated disadvantages of
such redundant circuitry.
The present invention is thus an improved alternative method and apparatus
for accurately converting orthogonally encoded data signals into soft
decision data using a set of simple functions. The benefit of the present
invention is increased when it is incorporated into a system employing
multiple data receivers.
SUMMARY OF THE INVENTION
The present invention is a novel and improved method and apparatus for
decoding an orthogonally encoded data signal to produce soft decision
data. This method is particularly applicable to receivers where multiple
propagations of the received signal are demodulated and combined for
providing as soft decision data. The method allows the correlated energy
from multiple receivers to be linearly combined before the decoding thus
achieving a reduction in circuitry and complexity and an improvement in
performance.
In an exemplary implementation of the present invention in a diversity
receiver, multiple data receivers each demodulate a different propagation
of the signal. In each data receiver the signal is correlated with each
possible mapping of the data to produce a corresponding correlation energy
value. Thus, associated with each correlation energy value is a symbol
index value. The correlation energy values of the same symbol index from
the multiple data receivers are then summed and provided for metric
generation. From the metrics, soft decision data is produced and provided
for decoding in a Viterbi decoder.
The method for metric generation employed in the present invention is
referred as dual-maxima metric generation. The method comprises the steps
of searching for a maximum energy level value in each of two subsets of a
given set of symbol indexes and associated energy level values, and
calculating a difference of the two maximum energy level values to form a
soft decision output value. The two subsets are identified by the binary
value (either "0" or "1") of a given digit of the binary equivalent of the
symbol index. The soft decision output value reflects a measure of
confidence of the value of the corresponding digit of the original signal.
The dual-maxima generator Sequences through the steps one time for each
binary digit of the original signal.
BRIEF DESCRIPTION OF THE DRAWINGS
The features, objects, and advantages of the present invention will become
more apparent from the detailed description set forth below when taken in
conjunction with the drawings:
FIG. 1 is an block diagram of a prior art communication system using
orthogonal signaling and standard selector decoding;
FIG. 2 is a block diagram of a communication system using orthogonal
signaling and employing the novel dual-maxima metric generator of the
present invention; and
FIG. 3 illustrates in block diagram form a flow chart of a possible
implementation of the functions of this invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Referring now to FIG. 1, a prior art system for using orthogonal codes in
encoding and decoding in a communication system is shown. In encoding
portion 100 of the communication system, traffic channel data bits 102 are
input to encoder 104 at a particular bit rate (e.g., 9.6 kbit/second). The
input traffic channel data bits can include either analog voice signals
converted to digital data by a vocoder, pure digital data, or a
combination of the two types of data. Encoder 104 encodes traffic channel
data bits 102 into data symbols at a fixed encoding rate with an encoding
algorithm which facilitates subsequent maximum likelihood decoding of the
data symbols into data bits (e.g. convolution or block coding algorithms).
For example, encoder 104 encodes traffic channel data bits 102 (received
at a rate of 9.6 kbits/second) at a fixed encoding rate of one data bit to
three data symbols (i.e. 1/3) such that encoder 104 outputs data symbols
106 at a 28.8 killasymbols/second rate.
Data symbols 106 are then input into interleaver 108. Interleaver 108 block
interleaves input data symbols 106 at the symbol level. In interleaver
108, the data symbols are individually input into a matrix which defines a
predetermined size block of data symbols. The data symbols are input into
locations within the matrix so that the matrix is filled in a column by
column manner. The data symbols are individually output from locations
within the matrix so that the matrix is emptied in a row by row manner.
Typically, the matrix is a square matrix having a number of rows equal to
the number of columns; however, other matrix forms can be chosen to
increase the output interleaving distance between the consecutively input
non-interleaved data symbols. Interleaved data symbols 110 are output by
interleaver 108 at the same data symbol rate that they were input (e.g.,
28.8 ksymbols/second). The predetermined size of the block of data symbols
defined by the matrix is derived from the maximum number of data symbols
which can be transmitted at a predetermined chip rate within a
predetermined length transmission block. For example, if data symbols 106
are output from encoder 104 at a 28.8 ksymbols/second rate, then the
maximum predetermined chip rate for transmitting data symbols 106 is 28.8
ksymbols/second. Further, for example, if the predetermined length of the
transmission block is 20 milliseconds, then the predetermined size of the
block of data symbols is 28.8 ksymbols/second times 20 milliseconds which
equals 576 data symbols which defines a 18 by 32 matrix.
Interleaved data symbols 110 are then input to mapper 112. The mapper 112
derives a sequence of fixed length orthogonal codes 114 (e.g., 64 ary
Walsh codes) from interleaved data symbols 110. For example in 64-ary
orthogonal code signaling, interleaved data symbols 110 are grouped into
sets of six to select one out of 64 orthogonal codes to represent the set
of six data symbols. These 64 orthogonal codes preferably correspond to
Walsh codes from a 64 by 64 Hadamard matrix wherein a Walsh code is a
single row or column of the matrix. Mapper 112 outputs a sequence of Walsh
codes 114 which correspond to input data symbols 110 at a fixed rate
(e.g., 307.2 ksymbols/second).
The sequence of Walsh codes 114 is output from encoding portion 100 of the
communication system and input to a modulating and transmitting portion
116 of the communication system. Sequence 114 is prepared for transmission
over a communication channel by modulator 117 and output as analog
modulated data 121. Analog modulated data 121 is processed for RF
transmission by transmitter 119 and is subsequently provided to antenna
118 for transmission over a communication channel 120.
Modulator 117 preferably prepares sequence 114 for direct sequence code
division spread spectrum transmission by first spreading sequence 114 with
a long spreading code (e.g. PN code). The spreading code is a user
specific sequence of symbols or unique user code which is output at a
fixed chip rate (e.g., 1,228 Mchips/second). In addition to providing an
identification as to which user sent encoded traffic channel data bits
over communication channel 120, the unique user code enhances the security
of the communication in the communication channel by scrambling the
encoded traffic channel data bits. In addition, the user code spread
encoded data bit (i.e. data symbols) are spread by a pair of short
spreading codes (i.e. short when compared to the long spreading code) to
generate an I-channel and Q-channel code spread sequence. The I-channel
and Q-channel code spread sequences are used to bi-phase modulate a
quadrature pair of sinusoids by driving the power level controls of the
pair of sinusoids. The sinusoids output signals are summed, bandpass
filtered, translated to an RF frequency, amplified, filtered by
transmitter 119 and radiated by antenna 118 to complete transmission of
traffic channel data bits 102 in communication channel 120.
Receiving portion 124 of the communication system receives the transmitted
spread spectrum signal from over communication channel 120 through antenna
123. Receiving portion 124 comprises a receiver 127 which filters,
demodulates, and translates the signal from the RF frequencies. Receiver
127 further samples, at a predetermined rate (e.g., 1.2288
Msamples/second) the processed received signal to provide data samples 125
to a set of demodulator portions 122A-122N. Demodulator portions 122A-122N
output data to transformer portions 130A-130N, respectively. Each
demodulator portion and transformer portion pair can be referred to as
"fingers" using common Rake receiver terminology.
Within each demodulator portion 122A-122N, demodulator 126 preferably
demodulates a distinct signal contained within data samples 125. In
demodulator portions 122A-122N, the in-phase sampled signal and quadrature
sampled signal are independently despread by correlating the received
sampled signals with the short spreading codes and the long spreading code
by demodulator 126. This results in despread in-phase 128 and quadrature
129 sampled signals which are sampled a predetermined rate (e.g., 307.2
ksamples/second) so that a sequence of (four) samples of the received
spread spectrum signal is despread and/or represented by a single data
sample.
From each demodulator portion 122A-122N, in-phase 128 and quadrature 129
sampled signals are independently input to a corresponding decoding
portion 130A-130N of the communication system, each of which
non-coherently detects and decodes sampled signals 128 and 129 into
estimated data bits 160A-160N. In order to decode sampled signals 128 and
129, predetermined length groups (e.g., 64 sample length groups) of
sampled signals are independently input to orthogonal code transformers
(e.g. fast Hadamard transformers) 132 and 134, respectively. Orthogonal
code transformers 132 and 134 output a plurality of transformer output
signals 133 and 135, respectively (e.g. when 64 sample length groups are
input, then 64 transformer output signals are generated). Each transformer
output signal corresponds to a measure of confidence that a particular
group of sampled signals corresponds to a particular orthogonal code from
within a set of mutually orthogonal codes. In addition, each transformer
output signal has an associated index data symbol which indicates which
particular orthogonal code from within a set of mutually orthogonal codes
that the transformer output signal corresponds to (e.g. when 64 sample
length groups are input, then a 6 bit length index data symbol can be
associated with each transformer output signal).
Each transformer output signal within the groups of transformer output
signals 133 and 135 is squared by transformer output signal squaring
mechanisms 136 and 138, respectively. Subsequently, a group of decision
values 142 is generated (e.g. when 64 transformer output signals are
generated, then 64 decision values are generated) by adding mechanism 140
which adds together each pair of squared transformer output signals (i.e.
one from each of the transformer output signal squaring mechanisms 136 and
138) having associated index data symbols which indicate that the
transformer output signals correspond to the same orthogonal code thus
producing an energy level associated with each particular orthogonal code.
Decision or energy values 142 and associated index data symbols are input
to selection mechanism 144 which selects the maximum decision value from
the group of energy values 142. It should be noted that the associated
index data symbols need not be generated for input to selection mechanism
144 when energy values 142 are provided in a predetermined order. In this
case, selection mechanism 144 associates the proper index data symbol with
the appropriate energy value in coordination with a predetermined ordering
scheme. Selected decision value 146 is input to metric computation
mechanism 150 which scales the selected decision value to scaling factor
154 which can be used as a scaling factor in forming an individual soft
decision data which can subsequently be used in forming soft decision
transition metrics for maximum likelihood decoding techniques. The index
data symbol associated with selected decision value 148 is input to index
mapping mechanism 152 which maps the index data symbol into a plurality of
.+-.1 soft decision bits 156 (e.g., a 6 bit length index data symbol maps
into 6 soft decision bits). Multiplier 158 multiplies each of the
plurality of .+-.1 soft decision bits 156 by scaling factor 154 to form
individual soft decision data 160 for each soft decision bit (e.g., 6 soft
decision bits from 6 individual soft decision data). The individual soft
decision data are formed at a predetermined rate related to the number of
metrics formed per group of data samples and the rate that the data
s | | |