U.S. patent application number 11/566002 was filed with the patent office on 2007-07-26 for ovsf code system and methods for cdma stations.
This patent application is currently assigned to INTERDIGITAL TECHNOLOGY CORPORATION. Invention is credited to Younglok Kim, Jung-Lin Pan.
Application Number | 20070171812 11/566002 |
Document ID | / |
Family ID | 26717132 |
Filed Date | 2007-07-26 |
United States Patent
Application |
20070171812 |
Kind Code |
A1 |
Kim; Younglok ; et
al. |
July 26, 2007 |
OVSF CODE SYSTEM AND METHODS FOR CDMA STATIONS
Abstract
A code indexing system for a CDMA communication station that
uses orthogonal variable spreading factor (OVSF) codes having a
single number mapped to each code. The new code number itself not
only provides the code signature, but it is also used for the OVSF
code generation. In addition, the system provides easy and fast
generation of the available code list without the help of look-up
table. This capability improves the dynamic code assignment.
Inventors: |
Kim; Younglok; (Seoul,
KR) ; Pan; Jung-Lin; (Seldan, NY) |
Correspondence
Address: |
VOLPE AND KOENIG, P.C.;DEPT. ICC
UNITED PLAZA, SUITE 1600
30 SOUTH 17TH STREET
PHILADELPHIA
PA
19103
US
|
Assignee: |
INTERDIGITAL TECHNOLOGY
CORPORATION
Wilmington
DE
|
Family ID: |
26717132 |
Appl. No.: |
11/566002 |
Filed: |
December 1, 2006 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
10831254 |
Apr 23, 2004 |
|
|
|
11566002 |
Dec 1, 2006 |
|
|
|
10419485 |
Apr 21, 2003 |
6747947 |
|
|
10831254 |
Apr 23, 2004 |
|
|
|
10040513 |
Dec 28, 2001 |
6552996 |
|
|
10419485 |
Apr 21, 2003 |
|
|
|
60323120 |
Sep 18, 2001 |
|
|
|
Current U.S.
Class: |
370/209 |
Current CPC
Class: |
H04J 13/12 20130101;
H04J 13/20 20130101; H04J 13/0048 20130101; H04J 13/0044
20130101 |
Class at
Publication: |
370/209 |
International
Class: |
H04J 11/00 20060101
H04J011/00 |
Claims
1. A communication station configured for use in a communications
system where orthogonal variable spreading factor (OVSF) codes are
selected from a set of Walsh codes represented as a binary tree
having multiple layers such that a zeroth layer has one Walsh code
and each successive layer has twice the number of Walsh codes as
the layer it succeeds, the communication station comprising: a
memory device having an index of consecutive positive integer index
values that have a binary form of significant bits where each
successive index value represents one of the OVSF codes such that
the index values representing any given layer of Walsh codes are
less than the index values representing any Walsh code of any layer
of Walsh codes successive to the given layer.
2. The communication station according to claim 1 further
comprising: a processor associated with said memory device
configured to select codes from the set of OVSF codes; and said
processor configured to select a second code that is orthogonal to
a previously selected first code such that the binary form of the
index value of the first code is not the same as the most
significant bits of the binary form of the index value of the
second code and the binary form of the index value of the second
code is not the same as the most significant bits of the binary
form of the index value of the first code.
3. The communication station according to claim 2 wherein the
processor is configured to select a second code by: first
indicating as busy the index value of the previously selected first
code and the index values of all other codes where the index value
of the first code is the same as the most significant bits of the
binary form of the index value of the other code or the binary form
of the index value of the other code is the same as the most
significant bits of the binary form of the index value of the first
code, and then selecting a code having an index value that is not
indicated as busy as the second code.
4. The communication station according to claim 2 wherein said
processor is configured to determine the relative orthogonality of
a selected OVSF code represented by a first index value with
another OVSF code represented by a second index value by comparing
the binary forms of the first and second index values.
5. The communication station of claim 4 wherein said processor is
configured to determine OVSF codes to be not orthogonal if either
the binary form of the index value of one code is the same as the
most significant binary digits of the binary form of the index
value of another code or the binary form of the index value of the
another code is the same as the most significant binary digits of
the binary form of the index value of the one code.
6. The communication station of claim 2 wherein said processor is
configured to generate OVSF codes as the Kronecker Product of codes
represented by index values 2 and 3 corresponding to a sequence of
significant binary digits of the binary form of its index value
where each binary digit 0 corresponds to the code of index value 2
and each binary digit 1 corresponds to the code of index value
3.
7. The communication station according to claim 1 wherein said
communication station is a User Equipment.
8. The communication station according to claim 1 wherein said
communication station is a Node B.
9. The communication station according to claim 2 wherein said
communication station is a User Equipment.
10. The communication station according to claim 2 wherein said
communication station is a Node B.
11. A method for a communication station configured for use in a
communications system where orthogonal variable spreading factor
(OVSF) codes are selected from a set of Walsh codes represented as
a binary tree having multiple layers such that a zeroth layer has
one Walsh code and each successive layer has twice the number of
Walsh codes as the layer it succeeds, the method comprising: a
providing an index of consecutive positive integer index values
that have a binary form of significant bits where each successive
index value represents one of the OVSF codes such that the index
values representing any given layer of Walsh codes are less than
the index values representing any Walsh code of any layer of Walsh
codes successive to the given layer.
12. The method according to claim 11 further comprising: selecting
codes from the set of OVSF codes such that a second code that is
orthogonal to a previously selected first code is selected such
that the binary form of the index value of the first code is not
the same as the most significant bits of the binary form of the
index value of the second code and the binary form of the index
value of the second code is not the same as the most significant
bits of the binary form of the index value of the first code.
13. The method according to claim 12 wherein the selecting a second
code is by: first indicating as busy the index value of the
previously selected first code and the index values of all other
codes where the index value of the first code is the same as the
most significant bits of the binary form of the index value of the
other code or the binary form of the index value of the other code
is the same as the most significant bits of the binary form of the
index value of the first code, and then selecting a code having an
index value that is not indicated as busy as the second code.
14. The method according to claim 12 wherein the relative
orthogonality of a selected OVSF code represented by a first index
value with another OVSF code represented by a second index value is
determined by comparing the binary forms of the first and second
index values.
15. The method of claim 14 wherein OVSF codes are determined to be
not orthogonal if either the binary form of the index value of one
code is the same as the most significant binary digits of the
binary form of the index value of another code or the binary form
of the index value of the another code is the same as the most
significant binary digits of the binary form of the index value of
the one code.
16. The method of claim 12 wherein OVSF codes are generated as the
Kronecker Product of codes represented by index values 2 and 3
corresponding to a sequence of significant binary digits of the
binary form of its index value where each binary digit 0
corresponds to the code of index value 2 and each binary digit 1
corresponds to the code of index value 3.
17. The method of claim 11 wherein OVSF codes are generated as the
Kronecker Product of codes represented by index values 2 and 3
corresponding to a sequence of significant binary digits of the
binary form of its index value where each binary digit 0
corresponds to the code of index value 2 and each binary digit 1
corresponds to the code of index value 3.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation of U.S. patent
application Ser. No. 10/831,254, filed on Apr. 23, 2004, which is a
continuation of U.S. patent application Ser. No. 10/419,485, filed
Apr. 21, 2003, which is a continuation-in-part of U.S. patent
application Ser. No. 10/040,513, filed Dec. 28, 2001, now U.S. Pat.
No. 6,552,996 which in turn claims the benefit of U.S. Provisional
Patent Application Ser. No. 60/323,120, filed Sep. 18, 2001 which
all are incorporated by reference.
FIELD OF INVENTION
[0002] The present invention relates CDMA communication systems
and, in particular, to Orthogonal Variable Spreading Factor (OVSF)
codes and methods for allocating, generating and determining
orthogonality of OVSF codes of different data rates used in CDMA
wireless communication stations.
BACKGROUND
[0003] CDMA communication systems are well known in the art.
Generally, such systems comprise communication stations which
transmit and receive wireless communication signals between each
other. Typically, base stations are provided which are capable of
conducting wireless concurrent communications with a plurality of
subscriber stations. In CDMA systems specified by the Third
Generation Partnership Project (3GPP), base stations are called
Node Bs, subscriber stations are called User Equipments (UEs) and
the wireless interface between the Node Bs and UEs is known as the
Uu interface. FIG. 3 illustrates a typical 3GPP CDMA system.
[0004] Orthogonal variable spreading factor (OVSF) codes provide an
orthogonal code set of variable spreading factors. In the prior
art, methods exist for allocating a set of OVSF codes of different
data rates employing Walsh codes of variable length. The code
assignment is made on the basis of channel data rates in a manner
that results in improved utilization of the available frequency
spectrum.
[0005] An alternative method to obtain OVSF codes based on the code
tree structure is based on the modified Hadamard transformation,
which requires two indices to indicate a specific code, (i.e.,
spreading factor and code number). In order to handle the code
allocation process, an ASSIGNED list and a BUSY list are
conventionally generated.
[0006] These prior art methods have drawbacks in that they require
a large amount of memory to store a large number of codes, or
require fast processing speeds to generate the codes or effectively
allocate the available codes.
SUMMARY
[0007] Communication stations for a CDMA system include a code
indexing system and method for orthogonal variable spreading factor
(OVSF) codes that introduces a single number mapped to each code.
The new code number itself not only provides the code signature,
but it is also used for the OVSF code generation. In addition, it
provides easy and fast generation of the available code list
without the help of a look-up table. This capability improves the
dynamic code assignment.
[0008] In general, each communication station is configured with a
processor and an associated memory device so that OVSF codes are
selected from a set of Walsh codes by using an index value p where
p represents the (p+1)-2.sup.ith Walsh code of the ith layer of
Walsh codes where i is an integer such that
2.sup.i.ltoreq.p<2.sup.i+1. Accordingly, the memory device
includes an index P for the code values p where each successive
index value represents one of the OVSF codes such that the index
values representing any given layer of Walsh codes are less than
the index values representing any Walsh code of any layer of Walsh
codes successive to the given layer.
[0009] Preferably, the OVSF code is selected on the basis of a
spreading factor SF which is a power of 2 and a Walsh code is
selected having an associated index p where SF.ltoreq.p<2SF.
[0010] The relative orthogonality of a selected Walsh code of layer
i represented by index value p with another Walsh code of layer j
represented by an index value q is determined by comparing the
binary forms of p and q. The binary form of p is a sequence of i
significant binary digits and the binary form of q is a sequence of
j significant binary digits. The represented Walsh codes are
determined to be not orthogonal if either the binary form of p is
the same as the i most significant binary digits of the binary form
of q or the binary form of q is the same as the j most significant
binary digits of the binary form of p.
[0011] A selected Walsh code represented by index value p is easily
generated based upon the sequence of significant binary digits
representing the binary form of p. Accordingly, the binary form of
p is preferably the index P value stored in the memory device of
the communication station. The selected Walsh code is generated as
the Kronecker Product of i Walsh codes represented by index values
2 and 3 correspondingly to the sequence of i significant binary
digits of the binary form of p where each binary digit 0
corresponds to the Walsh code of index value 2 and each binary
digit 1 corresponds to the Walsh code of index value 3.
[0012] Alternatively, the selected Walsh code is generated by the
Kronecker product of two Walsh codes represented by index values q
and r of respective layers of j and k where j+k=i. In such case,
the binary form of p is the same as the binary form of q
concatenated with the binary forms of (r-2.sup.k). Thus the
processor is preferably configured to use the binary form of q
concatenated with the binary forms of (r-2.sup.k) as the binary
form of p to generate a selected Walsh code.
[0013] In general, the processor of the communication station is
configured to use and select OVSF codes based upon a spreading
factor SF where SF is a positive power of 2, using an index value p
from a set of codes where for each integer p>3 the corresponding
code is defined by C(p)=C(m+2){circle around (.times.)}C(k), with
p=2k+m, where k and m are integers with m=0 or 1. The codes
corresponding to p=1, 2 or 3 are C(1)=[1], C(2)=[1, 1], and
C(3)=[1, -1]. Accordingly, p represents the (p+1)-2.sup.ith code of
an ith layer of codes for SF=2.sup.i where i is the unique integer
such that 2.sup.i.ltoreq.p<2.sup.i+1.
[0014] Other objects and advantages of the invention will be
apparent to those skilled in the art from the following
description.
BRIEF DESCRIPTION OF THE DRAWING(S)
[0015] FIG. 1 is a prior art OVSF code tree of Walsh codes.
[0016] FIG. 2 is a table representing an indexing system according
to the teaching of the present invention.
[0017] FIG. 3 is a schematic diagram of a typical CDMA system in
accordance with current 3GPP specifications.
[0018] FIG. 4 is block diagram of a communications station made in
accordance with the teachings or the present invention.
[0019] FIG. 5 is diagram of a method in accordance with the
teachings or the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT(S)
[0020] OVSF codes are used in the encoding and decoding of
communication signals between communication stations, such as
between Node Bs and UEs of the CDMA system depicted in FIG. 3. A
conventional OVSF code tree structure is shown in FIG. 1 which
codes are referred to as Walsh codes herein. C.sub.SF(n) denotes
the OVSF code word with the spreading factor SF=2.sup.k, where n is
the code number and k is the layer number. The indices n and k are
known as the Hadamard indices. The Walsh codes are conventionally
generated recursively from the code tree as shown in FIG. 1.
[0021] The mother codes are the lower layer codes on the path from
the specific code to the root code C.sub.1(0), and the descendent
codes are those produced from the specific code. For example, the
mother codes of C.sub.8(2) is C.sub.4(1), C.sub.2(0) and
C.sub.1(0), and the descendent codes of C.sub.4(1) are C.sub.8(2),
C.sub.8(3) and their descendent codes.
[0022] Two codes are orthogonal if, and only if, any one is not the
mother code or the descendent code of another. When a specific code
is assigned, its mother codes and descendent codes cannot be
assigned in the same channel since they are not orthogonal to each
other. In other words, two OVSF codes with different spreading
factors are not orthogonal when they are on the same branch of the
code tree.
[0023] When a new call is requested with a specific data rate, the
communication station needs to assign a code from an available set
of codes with the corresponding spreading factor. Conventionally,
in order to maintain the orthogonality between assigned codes, the
set of available code list is updated whenever the new code is
assigned. This code set is updated by removing the assigned code
itself and all of its descendent and mother codes.
[0024] The inventors have recognized that the prior art codes can
each be assigned via a single indice system instead of the dual
indice system per the known Hadamard method. In the single indice
system of the present invention, a sequential numerical code label
p is assigned where p equals the sum of the code layer plus the
code number of the conventional tree structure designation using
Hadamard indices as reflected in step 30 of FIG. 5. As such, the
code labels are sequential integers starting with the one code of
layer 0 where SF=1 labeled as 1, the two codes of layer 1 where
SF=2 labeled as 2 and 3, followed by the 2.sup.i codes of layer i
where SF=2.sup.i labeled as the next 2.sup.i integers for each
successive layer i from 2 onward as represented in FIG. 2 for
layers 0 through 3. Although only codes for spreading factors up to
8 are shown in FIG. 2, the system is applicable for spreading codes
of any power of 2. Accordingly, as illustrated in FIG. 4, a
processor 20 within a communication station 10 that selects the
OVSF codes has an associated memory device 15 that includes an
index P which contains the code label values p.
[0025] In general for each positive integer label p, there is a
unique integer i, where 2.sup.i.ltoreq.p<2.sup.(i+1), and p
represents the (p+1)-2.sup.ith Walsh code of the ith layer of Walsh
codes. For example, when p=87, i=6 since 64.ltoreq.p<128, so
that 87 represents the 24th Walsh code of the 6th layer of the
Walsh codes. For p=1, i=0 since 2.sup.0.ltoreq.1<2, so 1
represents the first code of the zeroth layer. Generally, for a
prior art code designated C.sub.N(x), that code is the (x+1) th
code of layer N, since the prior art code designations start for
each layer with x=0.
[0026] In lieu of using the prior art designations of FIG. 1, the
prior art tree-structured codes can be generated for each positive
integer p by the recursive Kronecker procedure where for each
integer p>3 the corresponding code is defined by:
C(p)=C(m+2){circle around (.times.)}C(k), Equation (1) with p=2k+m,
Equation (2)
[0027] where k and m are integers with m=0 or 1, and the codes
corresponding to p=1, 2 or 3 are: C(1)=[1], C(2)=[1, 1], and
C(3)=[1, -1]. Equation (3)
[0028] As noted above, for any specified p there is a unique
integer i such that 2.sup.i.ltoreq.p<2.sup.i+1, so that each p
represents a code of only one SF, namely SF=2.sup.i. Also, the code
represented by p is the (p+1)-2.sup.ith code of an ith layer of
codes starting with p=1 representing the first code of a zeroth
layer.
[0029] Codes generated in this manner meet the following three
properties:
[0030] Property 1: The OVSF code for code label p where
SF.ltoreq.p<2SF and SF=2.sup.L can be factored into a Kronecker
product with L terms of C(2) or C(3) as follows:
C(p)=C(.alpha..sub.i-1+2){circle around (.times.)} . . . {circle
around (.times.)}C(.alpha..sub.1+2){circle around
(.times.)}C(.alpha..sub.0+2) Equation (4)
[0031] where .alpha..sub.0=1 and each .alpha..sub.i, for i=1 to
L-1, is 0 or 1 and p = a 0 2 L - 1 + a 1 2 L - 2 + + a L - 1 = i =
0 L - 1 .times. ( a i 2 ( L - i - 1 ) ) Equation .times. .times. (
5 ) ##EQU1##
[0032] Thus, .alpha..sub.0, .alpha..sub.1 . . . .alpha..sub.L-1 is
the binary representation of p where .alpha..sub.0=1 and each
.alpha..sub.i, for i>1, is the binary digit 1 or 0.
[0033] Property 2: The mother codes of C(p) are all of the form:
[C(.alpha..sub.L-m+2){circle around (.times.)} . . . {circle around
(.times.)}C(.alpha..sub.1+2){circle around
(.times.)}C(.alpha..sub.0+2)] with m=2, 3, . . . L.
[0034] Property 3: The descendent codes of C(p) are all C(q){circle
around (.times.)}C(p) with any positive integer q.
[0035] For notational purposes, code designations of the present
invention C(p) where p is in decimal form can also be represented
as c(p.sub.binary), i.e. c(.alpha..sub.0 . . . .alpha..sub.N-1)
where .alpha..sub.0 . . . .alpha..sub.N-1 is the binary
representation of p. For example, C(6)=c(110), since 6 in decimal
notation equals 110 in binary notation.
[0036] The code indexing system implemented in CDMA communication
stations in accordance with the present invention is illustrated in
FIG. 2 and FIG. 4. The OVSF code words with their spreading factor
up to 8 are shown with both the conventional index using the
Hadamard indices and the new code index representations.
[0037] The OVSF code layer numbers are shown in the first column.
The conventional OVSF code indices are shown in the second column,
i.e., SF and code number. The third and fourth columns are the
binary and decimal forms of the code labels of the present
invention. Preferably, the binary code label values are stored in
an index P of a memory device 15 associated with the communication
station's processor 20 that selects and generates the Walsh
codes.
[0038] The code label index maps a code label to each codeword
shown in the last column. The code words of FIG. 2 correspond
directly to the Walsh code sets of 1s and -1s in FIG. 1 with 0s in
the codeword being substituted for each -1 of the corresponding
Walsh code.
[0039] In view of properties 2 and 3, the mother codes and
descendent codes of c(.alpha.0, .alpha.1, .alpha.2, .alpha.3) are
{c(.alpha.0), c(.alpha.0, .alpha.1), c(.alpha.0, .alpha.1,
.alpha.2)} and all the codes having binary indices starting with
(.alpha.0, .alpha.1, .alpha.2, .alpha.3), i.e., c(.alpha.0,
.alpha.1, .alpha.2, .alpha.3, X, X, X, . . . ) are easily
identifiable.
[0040] The code label indexing method in accordance with the
present invention has several distinct advantages over prior art
methods:
[0041] 1) Reduced Number of Bits for Identifying Codes and
Increased Capacity
[0042] The new indexing method reduces the memory size requirements
for the communication stations since only L+1 bits are required to
support the maximum spreading factor 2.sup.L, while the
conventional indexing requires L+.left
brkt-top.log.sub.2(L)-1.right brkt-bot. bits for the same case. For
example, there is a 3 bit saving for the maximum spreading factor
512. For maximum spreading factor 512, the conventional method
needs 4 bits to store ten spreading factors {1, 2, 4, 8, 16, 32,
64, 128, 256, 512} or ten layer numbers {0, 1, 2, 3, 4, 5, 6, 7, 8,
9} correspondingly. In addition, the conventional method needs 9
bits to distinguish between the 512 codes in the 10th layer.
Accordingly, a total of 13 bits are conventionally required to
identify a particular code within a 10 layer system which supports
spreading factors up to and including 512. In comparison, the new
method needs only 10 bits to distinguish all the codes of 1023 for
spreading factors up to and including 512. The reduction of 3 bits
from 13 bits represents a nearly 25% increase in capacity.
[0043] 2) Easy to Generate Available Orthogonal Codes During Code
Assignment
[0044] As reflected in FIG. 5, with the new indexing, the available
code with the specific spreading factor are generated directly with
a processor in a straightforward way from the binary form of the
indices of the assigned code without requiring the use of look-up
tables.
[0045] For instance, if the code represented by 89 (or 1011001) is
assigned, its mother codes and descendent codes cannot be assigned
for the use simultaneously to maintain relative orthogonality of
used codes. Those codes would normally be marked "BUSY" when code
89 is used. The BUSY codes are easily generated because mother
codes of code#89 are code#70 (101100), code#22 (10110), code#11
(1011), code#5 (101), code#2 (10), code#1 (1), and its descendent
codes, in a nine layer system, are code#178 (10110010), code#179
(10110011), code#356 (101100100), code#357 (101100101), code#358
(101100110), code#359 (101100111) according to properties 2 and
3.
[0046] In general, each code index has a binary form which is
represented by a sequence of significant binary digits of a length
equal to the layer of the Walsh code it represents. To determine
the relative orthogonality of one Walsh code of layer i,
represented by index value p, with another Walsh code of layer j,
represented by an index value q, the binary forms of p and q are
compared. Since the binary form of p is a sequence of i significant
binary digits and the binary form of q is a sequence of j
significant binary digits, the represented Walsh codes are not
orthogonal only if either the binary form of p is the same as the i
most significant binary digits of the binary form of q or the
binary form of q is the same as the j most significant binary
digits of the binary form of p as reflected in step 32 of FIG. 5.
For p=87, this condition is true only for q=1, 2, 5, 11, 22, 70,
178, 178, 356, 357, 358 or 359 in a nine layer system as referenced
above.
[0047] 3) Easy to Spread with the Long Code
[0048] The spread sequence with a long code can be obtained by the
multiple spreading with shorter spreading factors. The short
spreading code numbers are directly extracted from the long code
number.
[0049] For example, the spreading code c(.alpha..sub.0,
.alpha..sub.1, . . . , .alpha..sub.M) is the Kronecker product of
c(.alpha..sub.0, .alpha..sub.1, . . . , .alpha..sub.N) and
c(.alpha..sub.0, .alpha..sub.N+1, .alpha..sub.N+2, . . . ,
.alpha..sub.M) with N.ltoreq.M. Hence, the long spreading can be
obtained by two consecutive spreadings, first with c(.alpha..sub.0,
.alpha..sub.N+1, .alpha..sub.N+2, . . . , .alpha..sub.M) and then
with c(.alpha..sub.0, .alpha..sub.1, . . . , .alpha..sub.N).
[0050] 4) Easy to Generate the Long Code
[0051] The long code c(.alpha..sub.0, .alpha..sub.1, . . . ,
.alpha..sub.M) can be obtained by spreading c(.alpha..sub.0,
.alpha..sub.1, . . . , .alpha..sub.N) with c(.alpha..sub.0,
.alpha..sub.N+1, .alpha..sub.N+2, . . . , .alpha..sub.M). There is
no additional hardware complexity in generating the long code from
the shorter code.
[0052] For example, with references to FIG. 2: c(1110)=c(11){circle
around (.times.)}c(110) Equation (6) since, [1, -1, -1,1,1, -1,
-1,1]=[1, -1]{circle around (.times.)}[1, -1,1, -1] Equation (7)
Also: c(1110)=c(111){circle around (.times.)}c(10) Equation (8)
since, [1, -1, -1,1,1, -1, -1,1]=[1, -1, -1,1]{circle around
(.times.)}[1,1] Equation (9)
[0053] In general, any Walsh code of layer i, represented by an
index value p, can be generated by the Kronecker product of two
Walsh codes of layers j and k represented by respective index
values of q and r where j+k=i. In such case the binary form of p is
equal to the binary form of q concatenated with the binary form of
(r-2.sup.k).
[0054] 5) Reduced Memory Size for Code Table
[0055] The whole spreading code set does not have to be tabulated
in the memory. The above multi-stage spreading scheme needs a much
smaller table supporting a lower spreading factor. In addition,
there is no need to store the look-up table for the mother codes
and descendent codes of all codes. They can be generated in a
straightforward manner. For example, a 256 length OVSF code of
layer 8 can be generated by two 16 length OVSF codes of layer 4.
Hence a code table supporting codes up through layer 4 for a 16 SF
is enough to support the easy generation of all codes through layer
8 for a 256 SF. Alternatively, all spreading codes can be generated
using the layer two codes c(10) and c(11) per equation 4 above
where c(10)=C(2)=[1,1] and c(11)=C(3)=[1, -1].
[0056] 6) Enable Easy and Fast Dynamic Channel Assignment (DCA)
[0057] The indexing of the present invention benefits the dynamic
code assignment for easy and fast generation of AVAILABLE and BUSY
code lists. In conventional indexing methods, look-up tables are
required to store and search through all the mother codes and
descendent codes of all codes. Conventionally, the look-up tables
take up large amounts of memory and the searching process is
time-consuming.
[0058] With the new indexing method, there is no need for look-up
tables. All the mother codes and descendent codes can be obtained
directly in a straightforward manner from the assigned codes. This
enables a easy and fast dynamic code assignment.
[0059] Moreover, only a list of the index values of used codes need
be maintained to determine whether an orthogonal code is available
and to select such an orthogonal code. Where a code of spreading
factor SF is needed and prior used codes indexes p.sub.1 . . .
p.sub.n have been stored to a used code list, each value p from SF
through 2SF-1 can be compared against the stored used code index
values to determine the availability of an orthogonal code.
[0060] For simplicity, p can be first set equal to SF and the
binary form of p can be compared to the binary form of each of the
stored used code index values to determine orthogonality as set
forth above. If a comparison yields a determination of
non-orthogonality, the comparison process can be stopped, p
incremented by 1 and the comparison process repeated with the
incremented p. The process continues until a p is found which
represents a code orthogonal to all the used codes or until p is
incremented to equal 2SF. In the first case, the code corresponding
to p is selected for use as an orthogonal code and p is stored to
the set of used codes. In the second case where p is incremented to
equal 2SF, no orthogonal code is available.
[0061] The new code index method is a method for assigning single
number that indicates the layer number and the code number, and
moreover it indicates the structure of the code and the information
about the orthogonality to other codes.
* * * * *