Apparatus and method for encoding/decoding transport format combination indicator in CDMA mobile communication system

An apparatus and method for encoding/decoding a transport format combination indicator (TFCI) in a CDMA mobile communication system. In the TFCI encoding apparatus, a one-bit generator generates a sequence having the same symbols. A basis orthogonal sequence generator generates a plurality of basis orthogonal sequences. A basis mask sequence generator generates a plurality of basis mask sequences. An operation unit receives TFCI bits that are divided into a first information part representing biorthogonal sequence conversion, a second information part representing orthogonal sequence conversion, and a third information part representing mask sequence conversion and combines an orthogonal sequence selected from the basis orthogonal sequence based on the second information, a biorthogonal sequence obtained by combining the selected orthogonal sequence with the same symbols selected based on the first information part, and a mask sequence selected based on the biorthogonal sequence and the third information part, thereby generating a TFCI sequence.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to an information transmitting apparatus and method in an IMT 2000 system, and in particular, to an apparatus and method for transmitting a transport format combination indicator (TFCI).

2. Description of the Related Art

A CDMA mobile communication system (hereinafter, referred to as an IMT 2000 system) generally transmits frames that provide a voice service, an image service, a character service on a physical channel such as a dedicated physical data channel (DPDCH) at a fixed or variable data rate. In the case where the data frames which include that sort of services are transmitted at a fixed data rate, there is no need to inform a receiver of the spreading rate of each data frame. On the other hand, if the data frames are transmitted at a variable data rate, which implies that each data frame has a different data rate, a transmitter should inform the receiver of the spreading rate of each data frame determined by its data rate. A data rate is proportional to a data transmission rate and the data transmission rate is inversely proportional to a spreading rate in a general IMT 2000 system.

For transmission of data frames at a variable data rate, a TFCI field of a DPCCH informs a receiver of the data rate of the current service frame. The TFCI field includes a TFCI indicating a lot of information including the data rate of a service frame. The TFCI is information that helps a voice or data service to reliably be provided.

FIGS. 1Ato1D illustrate examples of applications of a TFCI.FIG. 1Aillustrates application of the TFCI to an uplink DPDCH and an uplink dedicated physical control channel (DPCCH).FIG. 1Billustrates application of the TFCI to a random access channel (RACH).FIG. 1Cillustrates application of the TFCI to a downlink DPDCH and a downlink DPCCH.FIG. 1Dillustrates application of the TFCI to a secondary common control physical channel (SCCPCH).

Referring toFIGS. 1Ato1D, one frame is comprised of16slots and each slot has a TFCI field. Thus, one frame includes 16 TFCI fields. A TFCI field includes NTFCIbits and a TFCI generally has 32 bits in a frame. To transmit the 32-bit TFCI in one frame, 2 TFCI bits can be assigned to each of the 16 slots (Tslot=0.625 ms).

FIG. 2is a block diagram of a base station transmitter in a general IMT 2000 system.

Referring toFIG. 2, multipliers211,231, and232multiply input signals by gain coefficients G1, G3, and G5. Multipliers221,241, and242multiply TFCI codewords (TFCI code symbols) received from corresponding TFCI encoders by gain coefficients G2, G4, and G6. The gain coefficients G1to G6may have different values according to service types or handover situations. The input signals include pilots and power control signals (TPCs) of a DPCCH and a DPDCH data. A multiplexer212inserts 32 bit TFCI code symbols(TFCI codeword) received from the multiplier221into the TFCI fields as shown in FIG1C. A multiplexer242inserts 32-bit TFCI code symbols received from the multiplier241into the TFCI fields. A multiplexer252inserts 32-bit TFCI code symbols received from the multiplier242into the TFCI fields. Insertion of TFCI code symbols into TFCI fields is shown inFIGS. 1Ato1D. The 32 code symbols are obtained by encoding TFCI bits(information bits) that define the data rate of a data signal on a corresponding data channel. 1st, 2nd, and 3rdserial to parallel converters (S/Ps)213,233, and234separate the outputs of the multiplexers212,242, and252into I channels and Q channels. Multipliers214,222, and235to238multiply the outputs of the S/Ps213,233, and234by channelization codes Cch1, Cch2, and Cch3. The channelization codes are orthogonal codes. A first summer215sums the outputs of the multipliers214,235, and237and generates an I channel signal and a second summer223sums the outputs of the multipliers222,236, and238and generates a Q channel signal. A phase shifter224shifts the phase of the Q channel signal received from the second summer223by 90°. A summer216adds the outputs of the first summer215and the phase shifter224and generates a complex signal I+jQ. A multiplier217scrambles the complex signal with a complex PN sequence Cscrambassigned to the base station. A signal processor(S/P)218separates the scrambled signal into an I channel and a Q channel. Low-pass filters (LPFs)219and225limits the bandwidths of the I channel and Q channel signals received from the S/P218by low-pass-filtering. Multipliers220and226multiply the outputs of the LPFs219and225by carriers cos(2πfct) and sin(2πfct), respectively, thereby transforming the outputs of the LPFs219and225to an RF (Radio Frequency) band. A summer227sums the RFI channel and Q channel signals.

FIG. 3is a block diagram of a mobile station transmitter in the general IMT 2000 system.

Referring toFIG. 3, multipliers311,321, and323multiply corresponding signals by channelization codes Cch1, Cch2, and Cch3. Signals1,2,3are first, second and third DPDCH signal. An input signal4includes pilots and TPCs of a DPCCH.TFCI information bits are encoded into 32 bit TFCI code symbols by a TFCI encoder309. A multiplier310inserts a 32 bit TFCI code symbols into the signal4as shown inFIG. 1A. Amultiplier325multiplies a DPCCH signal which include TFCI code symbol received from the multiplier310by a channelization code Cch4. The channelization codes Cch1to Cch4are orthogonal codes. The 32 TFCI code symbols are obtained by encoding TFCI information bits that define the data rate of the DPDCH signals. Multipliers312,322,324, and326multiply the outputs of the multipliers311,321,323, and325by gain coefficients G1to G4, respectably. The gain coefficients G1to G4may have different values. A first summer313generates an I channel signal by adding the outputs of the multipliers312and322. A second summer327generates a Q channel signal by adding the outputs of the multipliers324and326. A phase shifter328shifts the phase of the Q channel signal received from the second summer327by 90°. A summer314adds the outputs of the first summer313and the phase shifter328and generates a complex signal I+jQ. A multiplier315scrambles the complex signal with a PN sequence Cscrambassigned to a base station. An S/P329divides the scrambled signal into an I channel and a Q channel. LPFs316and330low-pass-filter the I channel and Q channel signals received from the SIP329and generate signals with limited bandwidths. Multipliers317and331multiply the outputs of the LPFs316and330by carriers cos(2πfct) and sin(2πfct), respectively, thereby transforming the outputs of the LPFs316and330to an RF band. A summer318sums the RF I channel and Q channel signals.

TFCIs are categorized into a basic TFCI and an extended TFCI. The basic TFCI represents 1 to 64 different information including the data rates of corresponding data channels using 6 TFCI information bits, whereas the extended TFCI represents 1 to 128, 1 to 256, 1 to 512, or 1 to 1024 different information using 7, 8, 9 or 10 TFCI information bits. The extended TFCI has been suggested to satisfy the requirement of the IMT 2000 system for more various services. TFCI bits are essential for a receiver to receive data frames received from a transmitter. That is the reason why unreliable transmission of the TFCI information bits due to transmission errors lead to wrong interpretation of the frames in the receiver. Therefore, the transmitter encodes the TFCI bits with an error correcting code prior to transmission so that the receiver can correct possibly generated errors in the TFCI.

FIG. 4Aconceptionally illustrates a basic TFCI bits encoding structure in a conventional IMT 2000 system andFIG. 4Bis an exemplary encoding table applied to a biorthogonal encoder shown in FIG.4A. As stated above, the basic TFCI has 6 TFCI bits (hereinafter, referred to as basic TFCI bits) that indicate 1 to 64 different information.

Referring toFIGS. 4A and 4B, a biorthogonal encoder402receives basic TFCI bits and outputs 32 coded symbols(TFCI codeword or TFCI code symbol). The basic TFCI is basically expressed in 6 bits. Therefore, in the case where a basic TFCI bits of less than 6 bits are applied to the biorthogonal encoder402, 0s are added to the left end, i.e., MSB (Most Significant Bit) of the basic TFCI bits to increase the number of the basic TFCI bits to 6. The biorthogonal encoder402has a predetermined encoding table as shown inFIG. 4Bto output 32 coded symbols for the input of the 6 basic TFCI bits. As shown inFIG. 4B, the encoding table lists 32(32-symbol) orthogonal codewords c32.1to c32.32and 32 biorthogonal codewords {overscore (C32.1)} to {overscore (c32.32)} that are the complements of the codewords c32.1to c32.32. If the LSB (Least Significant Bit) of the basic TFCI is 1, the biorthogonal encoder402selects out of the 32 biorthogonal codewords. If the LSB is 0, the biorthogonal encoder402selects out of the 32 orthogonal codewords. One of the selected orthogonal codewords or biorthogonal codewords is then selected based on the other TFCI bits.

A TFCI codeword should have powerful error correction capability as stated before. The error correction capability of binary linear codes depends on the minimum distance (dmin) between the binary linear codes. A minimum distance for optimal binary linear codes is described in “An Updated Table of Minimum-Distance Bounds for Binary Linear Codes”, A. E. Brouwer and Tom Verhoeff, IEEE Transactions on Information Theory, vol. 39, No. 2, March 1993 (hereinafter, referred to as reference 1).

Reference 1 gives 16 as a minimum distance for binary linear codes by which 32 bits are output for the input of 6 bits. TFCI codewords output from the biorthogonal encoder402has a minimum distance of 16, which implies that the TFCI codewords are optimal codes.

FIG. 5Aconceptionally illustrates an extended TFCI bits encoding structure in the conventional IMT 2000 system,FIG. 5Bis an exemplary algorithm of distributing TFCI bits in a controller shown inFIG. 5A, andFIG. 5Cillustrates an exemplary encoding table applied to biorthogonal encoders shown in FIG.5A. An extended TFCI is also defined by the number of TFCI bits. That is, the extended TFCI includes 7, 8, 9 or 10 TFCI bits (hereinafter, referred to as extended TFCI bits) that represent 1 to 128, 1 to 256, 1 to 512, or 1 to 1024 different information, as stated before.

Referring toFIGS. 5A,5B, and5C, a controller500divides TFCI bits into two halves. For example, for the input of 10 extended TFCI bits, the controller500outputs the first half of the extended TFCI as first TFCI bits (word 1) and the last half as second TFCI bits (word 2). The extended TFCI are basically expressed in 10 bits. Therefore, in the case where an extended TFCI bits of less than 10 bits are input, the controller500adds 0s to the MSB of the extended TFCI bits to represent the extended TFCI in 10 bits. Then, the controller500divides the 10 extended TFCI bits into word 1 and word 2. Word 1 and word 2 are fed to biorthogonal encoders502and504, respectively. A method of separating the extended TFCI bits a1to a10into word 1 and word 2 is illustrated in FIG.5B.

The biorthogonal encoder502generates a first TFCI codeword having 16 symbols by encoding word 1 received from the controller500. The biorthogonal encoder504generates a second TFCI codeword having 16 symbols by encoding word 2 received from the controller500.

The biorthogonal encoders502and504have predetermined encoding tables to output the 16-symbol TFCI codewords for the two 5-bit TFCI inputs (word 1 and word 2). An exemplary encoding table is illustrated in FIG.5C. As shown inFIG. 5C, the encoding table lists16orthogonal codewords of length 16 bits c16.1to c16.16and biorthogonal codewords {overscore (c16.1)}, to {overscore (c16.16)} that are the complements of the 16 orthogonal codewords. If the LSB of 5 TFCI bits is 1, a biorthogonal encoder (502or504) selects the 16 biorthogonal codewords. If the LSB is 0, the biorthogonal encoder selects the 16 orthogonal codewords. Then, the biorthogonal encoder selects one of the selected orthogonal codewords or biorthogonal codewords based on the other TFCI bits and outputs the selected codeword as the first or second TFCI codeword.

A multiplexer510multiplexes the first and second TFCI codewords to a final 32-symbol TFCI codeword.

Upon receipt of the 32-symbol TFCI codeword, a receiver decodes the TFCI codeword separately in halves (word 1 and word 2) and obtains 10 TFCI bits by combining the two decoded 5-bit TFCI halves. In this situation, a possible error even in one of the decoded 5-bit TFCI output during decoding leads to an error over the 10 TFCI bits.

An extended TFCI codeword also should have a powerful error correction capability. To do so, the extended TFCI codeword should have the minimum distance as suggested in reference 1.

In consideration of the number 10 of extended TFCI bits and the number 32 of the symbols of a TFCI codeword, reference 1 gives 12 as a minimum distance for an optimal code. Yet, a TFCI codeword output from the structure shown inFIG. 5Ahas a minimum distance of 8 because an error in at least one of word 1 and word 2 during decoding results in an error in the whole 10 TFCI bits. That is, although extended TFCI bits are encoded separately in halves, a minimum distance between final TFCI codewords is equal to a minimum distance 8 between codeword outputs of the biorthogonal encoders502and504.

Therefore, a TFCI codeword transmitted from the encoding structure shown inFIG. 5Ais not optimal, which may increase an error probability of TFCI bits in the same radio channel environment. With the increase of the TFCI bit error probability, the receiver misjudges the data rate of received data frames and decodes the data frames with an increased error rate, thereby decreasing the efficiency of the IMT 2000 system.

According to the conventional technology, separate hardware structures are required to support the basic TFCI and the extended TFCI. As a result, constraints are imposed on implementation of an IMT 2000 system in terms of cost and system size.

SUMMARY OF THE INVENTION

It is, therefore, an object of the present invention to provide an apparatus and method for encoding an extended TFCI in an IMT 2000 system.

It is also an object of the present invention to provide an apparatus and method for encoding a basic TFCI and an extended TFCI compatibly in an IMT 2000 system.

It is another object of the present invention to provide an apparatus and method for coding an extended TFCI in an IMT 2000 system.

It is still another object of the present invention to provide an apparatus and method for decoding a basic TFCI and an extended TFCI compatibly in an IMT 2000 system.

It is yet another object of the present invention to provide an apparatus and method for generating an optimal code by encoding an extended TFCI in an IMT 2000 system.

It is a further object of the present invention to provide a method of generating mask sequences for use in encoding/decoding an extended TFCI in an IMT 2000 system.

To achieve the above objects, there is provided a TFCI encoding/decoding apparatus and method in a CDMA mobile communication system. In the TFCI encoding apparatus, a one-bit generator generates a sequence having the same symbols. A basis orthogonal sequence generator generates a plurality of basis orthogonal sequences. A basis mask sequence generator generates a plurality of basis mask sequences. An operation unit receives TFCI bits that are divided into a 1stinformation part representing biorthogonal sequence conversion, a 2ndinformation part representing orthogonal sequence conversion, and a 3rdinformation part representing mask sequence conversion and combines an orthogonal sequence selected from the basis orthogonal sequence based on the 2ndinformation, a biorthogonal sequence obtained by combining the selected orthogonal sequence with the same symbols selected based on the 1stinformation part, and a mask sequence selected based on the biorthogonal code sequence and the 3rdinformation part, thereby generating a TFCI sequence.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The present invention is directed to a TFCI encoding concept of outputting final code symbols (a TFCI codeword) by adding first code symbols (a first TFCI codeword) resulting from first TFCI bits and second code symbols (a second TFCI codeword) resulting from second TFCI bits in an IMT 2000 system. The TFCI encoding concept is shown in FIG.6. Here, a biorthogonal sequence and a mask sequence are given as the first TFCI codeword and the second TFCI codeword, respectively.

Referring toFIG. 6, TFCI bits are separated into the first TFCI bits and the second TFCI bits. A mask sequence generator602generates a predetermined mask sequence by encoding the second TFCI bits and a biorthogonal sequence generator604generates a predetermined biorthogonal sequence by encoding the first TFCI bits. An adder610adds the mask sequence and the biorthogonal sequence and outputs final code symbols (a TFCI codeword). The mask sequence generator602may have an encoding table that lists mask sequences for all possible second TFCI bits. The biorthogonal sequence generator604may also have an encoding table that lists biorthogonal sequences for all possible first TFCI bits.

As described above, mask sequences and a mask sequence generating method should be defined to implement the present invention. Walsh codes are given as orthogonal sequences by way of example in embodiments of the present invention.

1. Mask Sequence Generating Method

The present invention pertains to encoding and decoding of TFCI bits and use of an extended Reed Muller code in an IMT 2000 system. For this purpose, predetermined sequences are used and the sequences should have a minimum distance that ensures excellent error correction performance.

A significant parameter that determines the performance or capability of a linear error correcting code is a minimum distance between codewords of the error correcting code. The Hamming weight of a codeword is the number of its symbols other than 0. If a codeword is given as “0111”, its Hamming weight is 3. The smallest Hamming weight of a codeword except all “0” codeword is called a minimum weight and the minimum distance of each binary linear code is equal to the minimum weight. A linear error correcting code has a better error correcting performance as its minimum distance is increased. For details, see “The Theory of Error-Correcting Codes”, F. J. Macwilliams and N. J. A. Sloane, North-Holland (hereinafter, referred to as reference 2).

An extended Reed Muller code can be derived from a set of sequences each being the sum of the elements of an m-sequence and a predetermined sequence. To use the sequence set as a linear error correcting code, the sequence set should have a large minimum distance. Such sequence sets include a Kasami sequence set, a Gold sequence set, and a Kerdock sequence set. If the total length of a sequence in such a sequence set is L=22m, a minimum distance=(22m−2m)/2. For L=22m+1, the minimum distance (22m+1−22m)/2. That is, if L=32, the minimum distance=12.

A description will be made of a method of generating a linear error correcting code with excellent performance, i.e., an extended error correcting code (Walsh codes and mask sequences).

According to a coding theory, there is a column transposition function for making Walsh codes from m-sequences in a group which has been formed by cyclically shifting an originating m-sequence by one to ‘n’ times, where the ‘n’ is a length of the m-sequence. In other words, each of the m-sequences is formed by cyclically shifting the originating m-sequence by a particular number of times. The column transposition function is a converting function which converts the sequences in the m-sequence group to Walsh codes. We assume there is a sequence such as a Gold sequence or a Kasami sequence which is formed by adding the originating m-sequence with another originating m-sequence. Another group of m-sequences is similarly formed by cyclically shifting the other originating m-sequence one to ‘n’ times, where ‘n’ is the length of the predetermined sequence. Afterwards, a reverse column transposition function is applied to the second group of m-sequences formed from the other originating m-sequence. The application of the reverse column transposition function to the second group of m-sequences creates another set of sequences which shall be defined as mask sequences.

In an embodiment of the present invention, a mask sequence generating method is described in connection with generation of a (2n, n+k) code (extended Reed Muller code) (here, k=1, . . . , n+1) using a Gold sequence set. The (2n, n+k) code represents output of a 2n-symbol TFCI codeword for the input of (n+k) TFCI bits (input information bits). It is well known that a Gold sequence can be expressed as the sum of two different m-sequences. To generate the (2n, n+k) code, therefore, Gold sequences of length (2n−1) should be produced. Here, a Gold sequence is the sum of two m-sequences m1(t) and m2(t) that are generated from generator polynomials f1(x) and f2(x). Given the generator polynomials f1(x) and f2(x), the m-sequences m1(t) and m2(t) are computed using a Trace function.m1⁢⁢(t)=Tr⁢⁢(A⁢⁢αt)⁢⁢t=0,1,…⁢,30⁢⁢and⁢⁢⁢Tr⁢⁢(a)=∑k=0n-1⁢⁢α2k,a∈GF⁢⁢(2n)(Eq.⁢1)
where A is determined by the initial value of an m-sequence, α is the root of the polynomial, and n is the order of the polynomial.

FIG. 7is a flowchart illustrating a mask sequence generating procedure for use in generating a (2n, n+k) code from a Gold sequence set.

Referring toFIG. 7, m-sequences m1(t) and m2(t) are generated in Eq. 1 using the generator polynomials f1(x) and f2(x), respectively in step710. In step712, a sequence transposition function σ(t) is calculated to make Walsh codes from a sequence set having m-sequences formed by cyclically shifting m2(t) 0 to n−2 times where all ‘0’ column is inserted in front of the m-sequences made from m2(t), as shown below:σ:⁢{0,1,2,…⁢,2n-2}→{1,2,3,…⁢,2n-1}⁢⁢σ⁢⁢(t)=∑t=0n-1⁢⁢m2⁢⁢(t+i)⁢⁢2n-1-i⁢⁢t=0,1,2,…(Eq.⁢2)

A set of 31 sequences produced by cyclically shifting the m-sequence m1(t) 0 to 30 times are column-transposed with the use of σ−1(t)+2 derived from the reverse function of σ(t) in step730. Then, 0s are added to the start of each of the resulting column-transposed sequences to make the length of the sequence 2n. Thus, a set di(t) of (2n−1) sequences of length 2n(i=0, . . . , 2n−2, t=1, . . . , 2n) are generated.{di⁡(t)⁢t=1,…⁢,2n,i=0,…⁢,2n-2}⁢⁢di⁡(t)=(0,if,t=1m1⁡(σ-1⁡(t+i)+2),if,t=2,3,…⁢,2n)(Eq.⁢3)

A plurality of di(t) are mask functions that can be used as 31 masks.

di(t) is characterized in that two different masks among the above masks are added to one of (2n−1) masks except for the two masks. To further generalize it, each of the (2n−1) masks can be expressed as the sum of at least two of particular n masks. The n masks are called basis mask sequences. When the (2n, n+k) code is to be generated, the total number of necessary codewords is 2n+kfor n+k input information bits (TFCI bits). The number of 2northogonal sequences (Walsh sequences) and their complements, i.e. biorthogonal sequences, is 2n×2=2n+1. 2k−1−1(=(2n+k/2n+1)−1) masks that are not 0s are needed for generation of the (2n, n+k) code. Here, the 2k−1−1 masks can be expressed by the use of k−1 basis mask sequences, as stated before.

Now, a description will be given of a method of selecting the k−1 basis mask sequences. The m-sequence m1(t) is cyclically shifted 0 to 2n−1times to generate a set of sequences in step730of FIG.7. Here, an m-sequence obtained by cyclically shifting the m-sequence m1(t) i times is expressed as Tr(αi·αt) according to Eq. 1. That is, a set of sequences are generated by cyclically shifting the m-sequence mi(t) 0 to 30 times with respect to an initial sequence A={1, α, . . . , α2n−2}. Here, linearly independent k−1 basis elements are found from the Galois elements 1, α, . . . , α2n−2and mask sequences corresponding to the output sequences of a Trace function with the k−1 basis elements as an initial sequence become basis mask sequences. A linear independence condition is expressed as⟺c1⁢α1+c2⁢α2+…+ck-1⁢αk-1≠0,∀c1,c2,…⁢,ck-1(Eq.⁢4)

To describe the above generalized mask function generation method in detail, how to generate a (32, 10) code using a Gold sequence set will be described referring to FIG.7. It is well known that a Gold sequence is expressed as the sum of different predetermined m-sequences. Therefore, a Gold sequence of length 31 should be generated first in order to generate the intended (32, 10) code. The Gold sequence is the sum of two m-sequences generated respectively from polynomials x5+x2+1 and x5+x4+x+1. Given a corresponding generator polynomial, each of the m-sequences m1(t) and m2(t) is computed using a Trace function bym1⁢⁢(t)=Tr⁢⁢(A⁢⁢αt)⁢⁢t=0,1,…⁢,30⁢⁢and⁢⁢Tr⁢⁢(a)=∑n=04⁢⁢α2n,a∈GF⁢⁢(25)(Eq.⁢5)
where A is determined by the initial value of the m-sequence, a is the root of the polynomial, and n is the order of the polynomial, here 5.

FIG. 7illustrates the mask function generating procedure to generate the (32, 10) code.

Referring toFIG. 7, m-sequences m1(t) and m2(t) are generated in Eq. 1 using the generator polynomials f1(x) and f2(x), respectively in step710. In step712, the column transposition function σ(t) is calculated to make a Walsh code of the m-sequence m2(t) byσ:⁢{0,1,2,…⁢,30}→{1,2,3,…⁢,31}⁢⁢σ⁢⁢(t)=∑t=04⁢⁢m2⁢⁢(t-i)⁢⁢24-i(Eq.⁢6)

Then, a set of 31 sequences produced by cyclically shifting the m-sequence m1(t) 0 to 30 times are column-transposed with the use of σ−1(t)+2 derived from the reverse function of σ(t) in step730. Then, 0s are added to the start of each of the resulting sequence-transposed sequences to make the length of the sequence 31. Thus, 31 di(t) of length 32 are generated. Here, if i=0, . . . , 31, t=1, . . . , 32. The sequences set generated in step730can be expressed as{di⁡(t)⁢t=1,…⁢,32,i=0,…⁢,30}⁢⁢di⁡(t)=(0,if,t=1m1⁡(σ-1⁡(t+i)+2),if,t=2,3,…⁢,32)(Eq.⁢7)

A plurality of di(t) obtained from Eq. 7 can be used as 31 mask sequences.

di(t) is characterized in that two different masks among the above masks are added to one of the 31 masks except for the two masks. In other words, each of the 31 masks can be expressed as a sum of 5 particular masks. These 5 masks are basis mask sequences.

When the (32, 10) code is to be generated, the total number of necessary codewords is 2n=1024 for all possible 10 input information bits (TFCI bits). The number of biorthogonal sequences of length 32 is 32×2=64. 15 masks are needed to generate the (32, 10) code. The 15 masks can be expressed as combinations of 4 basis mask sequences.

Now, a description will be given of a method of selecting the 4 basis mask sequences. An m-sequence obtained by cyclically shifting the m-sequence m1(t) i times is expressed as Tr(αi·αt) according to Eq. 1. That is, a set of sequences are generated by cyclically shifting the m-sequence m1(t) 0 to 30 times with respect to an initial sequence A={1, α, . . . , α2n−2}. Here, 4 linearly independent basis elements are found from the Galois elements 1, α, . . . , α2n−2and mask sequences corresponding to the output sequences of a Trace function with the 4 basis elements as an initial sequence becoming basis mask sequences. A linear independence condition is expressed asα,β,γ,δ⁢:⁢⁢linearly⁢⁢independent⁢⟺c1⁢α1+c2⁢β+c3⁢γ,+c4⁢δ≠0,∀c1,c2,c3,c4(Eq.⁢8)

In fact, 1, α, α2, α3in the Galois GF(25) are polynomial sub-bases that are well known as four linearly independent elements. By replacing the variable A in Eq. 1 with the polynomial bases, four basis mask sequences M1, M2, M4, and M8are achieved.M1=00101000011000111111000001110111M2=00000001110011010110110111000111M4=00001010111110010001101100100101M8=000110000110011010111101010001

There will herein below be given a description of an apparatus and method for encoding/decoding a TFCI using basis mask sequences as obtained in the above manner in an IMT 2000 system according to embodiments of the present invention.

2. First Embodiment of Encoding/Decoding Apparatus and Method

FIGS. 8 and 9are block diagrams of TFCI encoding and decoding apparatuses in an IMT 2000 system according to an embodiment of the present invention.

Referring toFIG. 8, 10 TFCI bits a0to a9are applied to corresponding multipliers840to849. A one-bit generator800continuously generates a predetermined code bit. That is, since the present invention deals with biorthogonal sequences, necessary bits are generated to make a biorthogonal sequence out of an orthogonal sequence. For example, the one-bit generator800generates bits having 1s to inverse an orthogonal sequence (i.e., a Walsh code) generated from a basis Walsh code generator810and thus generate a biorthogonal sequence. The basis Walsh code generator810generates basis Walsh codes of a predetermined length. The basis Walsh codes refer to Walsh codes from which all intended Walsh codes can be produced through arbitrary addition. For example, when Walsh codes of length 32 are used, the basis Walsh codes are 1st, 2nd, 4th, 8th, and 16thWalsh codes W1, W2, W4, W8, and W16, wherein:W1: 01010101010101010101010101010101W2: 00110011001100110011001100110011W4: 00001111000011110000111100001111W8: 00000000111111110000000011111111W16: 00000000000000001111111111111111.

A basis mask sequence generator820generates a basis mask sequence of a predetermined length. A basis mask sequence generating method has already been described before and its details will not be described. If a mask sequence of length 32 is used, basis mask sequences are 1st, 2nd, 4th, and 8thmask sequences M1, M2, M4, M8, wherein:M1: 00101000011000111111000001110111M2: 00000001110011010110110111000111M4: 00001010111110010001101100101011M8: 00011100001101110010111101010001.

The multiplier840multiplies 1s output from the one-bit generator800by the input information bit a0on a symbol basis.

The multiplier841multiplies the basis Walsh code W1received from the basis Walsh code generator810by the input information bit a1. The multiplier842multiplies the basis Walsh code W2received from the basis Walsh code generator810by the input information bit a2. The multiplier843multiplies the basis Walsh code W4received from the basis Walsh code generator810by the input information bit a3. The multiplier844multiplies the basis Walsh code W8received from the basis Walsh code generator810by the input information bit a4. The multiplier845multiplies the basis Walsh code W16received from the basis Walsh code generator810by the input information bit a5. The multipliers841to845multiply the received basis Walsh codes W1, W2, W4, W8, and W16by their corresponding input information bits symbol by symbol.

Meanwhile, the multiplier846multiplies the basis mask sequence M1by the input information bit a6. The multiplier847multiplies the basis mask sequence M2by the input information bit a7. The multiplier848multiplies the basis mask sequence M4by the input information bit a8. The multiplier849multiplies the basis mask sequence M8by the input information bit a9. The multipliers846to849multiply the received basis mask sequences M1, M2, M4, and M8by their corresponding input information bits symbol by symbol.

An adder860adds the encoded input information bits received from the multipliers840to849and outputs final code symbols of length 32 bits (a TFCI codeword). The length of the final code symbols (TFCI codeword) is determined by the lengths of the basis Walsh codes generated from the basis Walsh code generator810and the basis mask sequences generated from the basis mask sequence generator820.

For example, if the input information bits a0to a9are “0111011000”, the multiplier840multiplies 0 as a0by 1s received from the one-bit generator800and generates 32 code symbols being all “0s”. The multiplier. 841 multiplies 1 as a1by W1received from the basis Walsh code generator810and generates code symbols “01010101010101010101010101010101”. The multiplier842multiplies 1 as a2by W2received from the basis Walsh code generator810and generates code symbols “00110011001100110011001100110011”. The multiplier843multiplies 1 as a3by W4received from the basis Walsh code generator810and generates code symbols “00001111000011110000111100001111”. The multiplier844multiplies 0 as a4by W8received from the basis Walsh code generator810and generates 32 code symbols being all “0s”. The multiplier845multiplies 1 as a5by W16received from the basis Walsh code generator810and generates “00000000000000001111111111111111”. The multiplier846multiplies 1 as a6by M1received from the basis mask sequence generator820and generates “00101000011000111111000001110111”. The multiplier847multiplies 0 as a7by M2received from the basis mask sequence generator820and generates 32 code symbols being all 0s. The multiplier848multiplies 0 as a8by M4received from the basis mask sequence generator820and generates 32 code symbols being all 0s. The multiplier849multiplies 0 as a9by M8received from the basis mask sequence generator820and generates 32 code symbols being all 0s. The adder860adds the code symbols received from the multipliers840to849and outputs final code symbols “01000001000010100110011011100001”. The final code symbols can be achieved by adding the basis Walsh codes W1, W2, W4and W16corresponding to the information bits Is to the basis mask sequence M1symbol by symbol. In other words, the basis Walsh codes W1, W2, W4and W16are summed to W23and the Walsh code W23and the basis mask sequence M1are added to form the TFCI codeword (final code symbols) (=W23+M1) which is outputted from the adder860.

FIG. 11is a flowchart illustrating an embodiment of a TFCI encoding procedure in an IMT 2000 system according to the present invention.

Referring toFIG. 11, 10 input information bits (i.e., TFCI bits) are received and variables sum and j are set to an initial value 0 in step1100. The variable sum indicates final code symbols, and j indicates the count number of final code symbols output after symbol-basis addition. In step1110, it is determined whether j is 32 in view of the length 32 symbols of Walsh codes and mask sequences used for encoding the input information bits. Step1110is performed in order to check whether the input information bits are all encoded with the Walsh codes and the mask sequences symbol by symbol.

If j is not 32 in step1110, which implies that the input information bits are not encoded completely with respect to all symbols of the Walsh codes, the mask sequences, jthsymbols W1(j), W2(j), W4(j), W8(j), and W16(j) of the basis Walsh codes W1, W2, W4, W8, and W16and jthsymbols M1(j), M2(j), M4(j), and M8(j) of the basis mask sequences M1, M2, M4, and M8are received in step1120. Then, the received symbols are multiplied by the input information bits on a symbol basis and the symbol products are summed in step1130. The sum becomes the variable sum.

As noted from Eq. 9, the input information bits are multiplied by corresponding symbols of the basis Walsh codes and basis mask sequences, symbol products are summed, and the sum becomes an intended code symbol.

In step1140, sum indicating the achieved jthcode symbol, is output. j is increased by 1 in step1150and then the procedure returns to step1110. Meanwhile, if j is 32 in step1110, the encoding procedure ends.

The encoding apparatus ofFIG. 8according to the embodiment of the present invention can support extended TFCIs as well as basic TFCIs. Encoders for supporting an extended TFCI include a (32, 10) encoder, a (32, 9) encoder, and a (32, 7) encoder.

For the input of 10 input information bits, the (32, 10) encoder outputs a combination of 32 Walsh codes of length 32, 32 bi-orthogonal codes inverted from the Walsh codes, and 15 mask sequences. The 32 Walsh codes can be generated from combinations of 5 basis Walsh Go codes. The 32 bi-orthogonal codes can be obtained by adding 1 to the 32 symbols of each Walsh code. This results has the same effect as multiplication of −1 by the 32 Walsh codes viewed as real numbers. The 15 mask sequences can be achieved through combinations of 5 basis mask sequences. Therefore, a total of 1024 codewords can be produced from the (32, 10) encoder.

The (32, 9) encoder receives 9 input information bits and outputs a combination of 32 Walsh codes of length 32, 32 bi-orthogonal codes inverted from the Walsh codes, and 4 mask sequences. The 4 mask sequences are obtained by combing two of 4 basis mask sequences.

The (32, 7) encoder receives 7 input information bits and outputs a combination of 32 Walsh codes of length among the 1024 codewords, 32 bi-orthogonal codes inverted from the Walsh codes, and one of 4 basis mask sequences.

The above encoders for providing extended TFCIs have a minimum distance12and can be implemented by blocking input and output of at least of the 4 basis mask sequences generated from the basis mask sequences820.

That is, the (32, 9) encoder can be implemented by blocking input and output of one of the four basis mask sequences generated from the basis mask sequence generator820shown in FIG.8. The (32, 8) encoder can be implemented by blocking input and output of two of the basis mask sequences generated from the basis mask sequence generator820. The (32, 7) encoder can be implemented by blocking input and output of three of the basis mask sequences generated from the basis mask sequence generator820. As described above, the encoding apparatus according to the embodiment of the present invention can encode flexibly according to the number of input information bits, that is, the number of TFCI bits to be transmitted and maximizes a minimum distance that determined the performance of the encoding apparatus.

Codewords in the above encoding apparatus are sequences obtained by combining 32 Walsh codes of length 32, 32 bi-orthogonal codes resulting from adding 1s to the Walsh codes, and 15 mask sequences of length 15. The structure of the codewords is shown in FIG.13.

For better understanding of the TFC bits encoding procedure, Tables 1a to 1f list code symbols (TFCI codewords) versus10TFCI bits.

The decoding apparatus according to the embodiment of the present invention will be described referring to FIG.9. An input signal r(t) is applied to 15 multipliers902to906and a correlation calculator920. The input signal r(t) was encoded with a predetermined Walsh code and a predetermined mask sequence in a transmitter. A mask sequence generator910generates all possible 15 mask sequences M1to M15. The multipliers902to906multiply the mask sequences received from the mask sequence generator910by the input signal r(t). The multiplier902multiplies the input signal r(t) by the mask sequence M1received from the mask sequence generator910. The multiplier904multiplies the input signal r(t) by the mask sequence M2received from the mask sequence generator910. The multiplier906multiplies the input signal r(t) by the mask sequence M15received from the mask sequence generator910. If the transmitter encoded TFCI bits with the predetermined mask sequence, one of the outputs of the multipliers902to906is free of the mask sequence, which means the mask sequence has no effect on the correlations calculated by one of the correlation calculators. For example, if the transmitter used the mask sequence M2for encoding the TFCI bits, the output of the multiplier904that multiplies the mask sequence M2by the input signal r(t) is free of the mask sequence. The mask sequence-free signal is TFCI bits encoded with the predetermined Walsh code. Correlation calculators920to926calculate the correlations of the input signal r(t) and the outputs of the multipliers902to906to 64 bi-orthogonal codes. The 64 bi-orthogonal codes have been defined before. The correlation calculator920calculates the correlation values of the input signal r(t) to the 64 bi-orthogonal codes of length 32, selects the maximum correlation value from the 64 correlations, and outputs the selected correlation value, a bi-orthogonal code index corresponding to the selected correlation value, and its unique index “0000” to a correlation comparator940.

The correlation calculator922calculates the correlation values of the output of the multiplier902to the 64 bi-orthogonal codes, selects the maximum value of the 64 correlations, and outputs the selected correlation value, a bi-orthogonal code index corresponding to the selected correlation, and its unique index “0001” to the correlation comparator940. The correlation calculator924calculates the correlation values of the output of the multiplier904to the 64 bi-orthogonal codes, selects the maximum of the 64 correlation values, and outputs the selected correlation value, a bi-orthogonal code index corresponding to the selected correlation value, and its unique index “0010” to the correlation comparator940. Other correlation calculators(not shown) calculate the correlation values of the outputs of the correspondent multipliers to the 64 bi-orthogonal codes and operate similar to the above described correlation calculators, respectively.

Finally, the correlation calculator926calculates the correlation values of the output of the multiplier906to the 64 bi-orthogonal codes, selects the maximum value of the 64 correlations, and outputs the selected correlation value, a bi-orthogonal code index corresponding to the selected correlation value, and its unique index “1111” to the correlation comparator940.

The unique indexes of the correlation calculators920to926are the same as the indexes of the mask sequences multiplied by the input signal r(t) in the multipliers902to906. Table 2 lists the 15 mask indexes multiplied in the multipliers and a mask index assigned to the case that no mask sequence is used, by way of example.

As shown in Table 2, the correlation calculator922, which receives the signal which is the product of the input signal r(t) and the mask sequence M1, outputs “0001” as its index. The correlation calculator926, which receives the signal which is the product of the input signal r(t) and the mask sequence M15, outputs “1111” as its index. The correlation calculator920, which receives only the input signal r(t), outputs “0000” as its index.

Meanwhile, the bi-orthogonal code indexes are expressed in a binary code. For example, if the correlation to {overscore (W4)} which is the complement of W4is the largest correlation value, a corresponding bi-orthogonal code index (a0to a9) is “001001”.

The correlation comparator940compares the 16 maximum correlation values received from the correlation calculators920to926, selects the highest correlation value from the 16 received maximum correlation values, and outputs TFCI bits based on the bi-orthogonal code index and the mask sequence index(the unique index) received from the correlation calculator that corresponds to the highest correlation value. The TFCI bits can be determined by combining the bi-orthogonal code index and the mask sequence index. For example, if the mask sequence index is that of M4(0100) and the bi-orthogonal code index is that of {overscore (W4)} (001001), the TFCI bits(a9to a0) are “the M4index(0100)+the {overscore (W4)} index(001001)”. That is, the TFCI bits(a9to a0) are “0100001001”

Assuming that the transmitter transmitted code symbols corresponding to TFCI bits (a0to a9) “1011000010”, it can be said that the transmitter encoded the TFCI bits with {overscore (W6)} and M4according to the afore-described encoding procedure. The receiver can determine that the input signal r(t) is encoded with the mask sequence M4by multiplying the input signal r(t) by all the mask sequences and that the input signal r(t) is encoded with {overscore (W6)} by calculating the correlations of the input signal r(t) to all the bi-orthogonal codes. Based on the above example, the fifth correlation calculator(not shown) will output the largest correlation value, the index of {overscore (W6)} (101100) and its unique index(0010). Then, the receiver outputs the decoded TFCI bits(a0to a9) “1011000010” by adding the index of {overscore (W6)} “101100” and the M4index “0010”.

In the embodiment of the decoding apparatus, the input signal r(t) is processed in parallel according to the number of mask sequences. It can be further contemplated that the input signal r(t) is sequentially multiplied by the mask sequences and the correlations of the products are sequentially calculated in another embodiment of the decoding apparatus.

FIG. 17illustrates another embodiment of the decoding apparatus.

Referring toFIG. 17, a memory1720stores an input 32-symbol signal r(t). A mask sequence generator1710generates 16 mask sequences that were used in the transmitter and outputs them sequentially. A multiplier1730multiplies one of the 16 mask sequences received from the mask sequence generator1710by the input signal r(t) received from the memory1720. A correlation calculator1740calculates the output of the multiplier1730to 64 biorthogonal codes bi-orthogonal of length 32 and outputs the maximum correlation value and the index of a biorthogonal code corresponding to the largest correlation value to a correlation comparator1750. The correlation comparator1750stores the maximum correlation value and the biorthogonal code index received from the correlation calculator1740, and the index of the mask sequence received from the mask sequence generator1710.

Upon completion of above processing with the mask sequence, the memory1720outputs the stored input signal r(t) to the multiplier1730. The multiplier1730multiplies the input signal r(t) by one of the other mask sequences. The correlation calculator1740calculates correlation of the output of the multiplier1730to the 64 biorthogonal codes of length 32 and outputs the maximum correlation value and the index of a biorthogonal code corresponding to the maximum correlation value. The correlation comparator1750stores the maximum correlation value, the biorthogonal code index corresponding to the maximum correlation value, and the mask sequence index received from the mask sequence generator1710.

The above procedure is performed on all of the 16 mask sequences generated from the mask sequence generator1710. Then, 16 maximum correlation values the indexes of biorthogonal codes corresponding to the maximum correlation value are stored in the correlation comparator1750. The correlation comparator1750compares the stored 16 correlation values and selects the one with the highest correlation and outputs TFCI bits by combining the indexes of the biorthogonal code and mask sequence index corresponding to the selected maximum correlation value. When the decoding of the TFCI bits is completed, the input signal r(t) is deleted from the memory1720and the next input signal r(t+1) is stored.

While the correlation comparator1750compares the 16 maximum correlation values at one time in the decoding apparatus ofFIG. 17, real-time correlation value comparison can be contemplated. That is, the first input maximum correlation value is compared with the next input maximum correlation value and the larger of the two correlation values and a mask sequence index and a biorthogonal code index corresponding to the correlation are stored. Then, the thirdly input maximum correlation is compared with the stored correlation and the larger of the two correlations and a mask sequence index and a biorthogonal code index corresponding to the selected correlation are stored. This comparison operation occurs 15 times which is the number of mask sequences generated from the mask sequence generator1710. Upon completion of all the operations, the correlation comparator1710output the finally stored biorthogonal index(a0to a6) and mask sequence index(a7to a9) and outputs the added bits as TFCI bits.

FIG. 10is a flowchart illustrating the operation of the correlation comparator940shown in FIG.9. The correlation comparator940stores the sixteen maximum correlation values, selects a highest correlation value out of the 16 maximum correlation values and output TFCI bits based on the indexes of a bi-orthogonal code and a mask sequence corresponding to the selected highest correlation value. The sixteen correlation values are compared, and TFCI bits are outputted based on the indexes of a bi-orthogonal code and a mask sequence corresponding to the highest correlation value.

Referring toFIG. 10, a maximum correlation index i is set to 1 and the indices of a maximum correlation value, a biorthogonal code, and a mask sequence to be checked are set to 0s in step1000. In step1010, the correlation comparator940receives a 1stmaximum correlation value, a 1stbi-orthogonal code index, and a 1stmask sequence index from the correlation calculator920. The correlation comparator940compares the 1stmaximum correlation with an the previous maximum correlation value in step1020. If the 1stmaximum correlation is greater than the previous maximum correlation, the procedure goes to step1030. If the 1stmaximum correlation is equal to or smaller than the previous maximum correlation, the procedure goes to step1040. In step1030, the correlation comparator940designates the 1stmaximum correlation as a final maximum correlation and stores the 1stbi-orthogonal code and mask sequence indexes as final bi-orthogonal code and mask sequence indexes. In step1040, the correlation comparator940compares the index i with the number 16 of the correlation calculators to determine whether all 16 maximum correlations are completely compared. If i is not 16, the index i is increased by 1 in step1060and the procedure returns to step1010. Then, the above procedure is repeated.

In step1050, the correlation comparator940outputs the indexes of the bi-orthogonal code and the mask sequence that correspond to the final maximum correlation as decoded bits. The bi-orthogonal code index and the mask sequence index corresponding to the decoded bits are those corresponding to the final maximum correlation among the 16 maximum correlation values received from the 16 correlation calculators.

3. Second Embodiment of Encoding/Decoding Apparatus and Method

The (32, 10) TFCI encoder that outputs a 32-symbol TFCI codeword in view of 16 slots has been described in the first embodiment of the present invention. Recently, the IMT-2000 standard specification dictates having 15 slots in one frame. Therefore, the second embodiment of the present invention is directed to a (30, 10) TFCI encoder that outputs a 30-symbol TFCI codeword in view of 15 slots. Therefore, the second embodiment of the present invention suggests an encoding apparatus and method for outputting 30 code symbols by puncturing two symbols of 32 coded symbols(codeword) as generated from the (32, 10) TFCI encoder.

The encoding apparatuses according to the first and second embodiments of the present invention are the same in configuration except that sequences output from a one-bit generator, a basis Walsh code generator, and a basis mask sequence generator. The encoder apparatus outputs coded symbols of length 30 with symbol #0(1stsymbol) and symbol #16(17thsymbol) are punctured in the encoding apparatus of the second embodiment.

Referring toFIG. 8, 10 input information bits a0to a9are applied to the input of the840to849. The one-bit generator800outputs symbols 1s(length 32) to the multiplier840. The multiplier840multiplies the input information bit a0by each 32 symbol received from the one-bit generator800. The basis Walsh code generator810simultaneously generates basis Walsh codes W1, W2, W4, W8, and W16of length 32. The multiplier841multiplies the input information bit a1by the basis Walsh code W1“01010101010101010101010101010101”. The multiplier842multiplies the input information bit a2by the basis Walsh code W2“00110011001100110011001100110011”. The multiplier843multiplies the input information bit a3by the basis Walsh code W4“00001111000011110000111100001111” The multiplier844multiplies the input information bit a4by the basis Walsh code W8“00000000111111110000000011111111”. The multiplier845multiplies the input information bit a5by the basis Walsh code W16“00000000000000001111111111111111”.

The basis mask sequence generator820simultaneously generates basis mask sequences M1, M2, M4, and M8of length 32. The multiplier846multiplies the input information bit a6by the basis mask sequence M1“00101000011000111111000001110111”. The multiplier847multiplies the input information bit a7by the basis mask sequence M2“00000001110011010110110111000111”. The multiplier848multiplies the input information bit a8by the basis mask sequence M4“00001010111110010001101100101011”. The multiplier849multiplies the input information bit a9by the basis mask sequence M8“00011100001101110010111101010001”. The multipliers840to849function like switches that control the output of or the generation of the bits from the one-bit generator, each of the basis Walsh codes and each of the basis mask sequences.

The adder860sums the outputs of the multipliers840to849symbol by symbol and outputs 32 coded symbols (i.e., a TFCI codeword). Out of the 32 coded symbols, two symbols will be punctured at predetermined positions (i.e. the symbol #0(the first symbol) and symbol #16(the 17thsymbol) of the adder860output are punctured). The remaining 30 symbols will become the 30 TFCI symbols. It will be easy to modify the second embodiment of present invention. For example, the one-bit generator800, basis Walsh generator810, basis mask sequence generator820can generate 30 symbols which excludes the #0 and #16 symbols. The adder860then adds the output of the one-bit generator800, basis Walsh generator810and basis mask sequence generator820bit by bit and output 30 encoded symbols as TFCI symbols.

FIG. 12is a encoding method for the second embodiment of present invention. The flowchart illustrating the steps of the encoding apparatus according to the second embodiment of the present invention when the number of slots is 15.

Referring toFIG. 12, 10 input information bits a0to a9are received and variables sum and j are set to an initial value 0 in step1200. In step1210, it is determined whether j is 30. If j is not 30 in step1210, the jet symbols W1(j), W2(j), W4(j), W8(j), and W16(j) of the basis Walsh codes W1, W2, W4, W8, and W16(each having two punctured bits) and the jthsymbols M1(j), M2(j), M4(j), and M8(j) of the basis mask sequences M1, M2, M4, and M8(each having two punctured bits) are received in step1220. Then, the received symbols are multiplied by the input information bits on a symbol basis and the multiplied symbols are summed in step1230. In step1240, sum indicating the achieved jthcode symbol is output. j is increased by 1 in step1250and then the procedure returns to step1210. Meanwhile, if j is 30 in step1210, the encoding procedure ends.

The (30, 10) encoder outputs1024codewords equivalent to the codewords of the (32, 10) encoder with symbols #0 and #16 punctured. Therefore, the total number of information can be expressed is1024.

The output of a (30, 9) encoder is combinations of 32 Walsh codes of length 30 obtained by puncturing symbols #0 and #16 of each of 32 Walsh codes of length 32, 32 bi-orthogonal codes obtained by adding 1 to each symbol of the punctured Walsh codes (by multiplying −1 to each symbol in the case of a real number), and 8 mask sequences obtained by combining any three of the four punctured basis mask sequences.

The output of a (30, 8) encoder is combinations of 32 Walsh codes of length 30 obtained by puncturing #0 and #16 symbols from each of 32 Walsh codes having a length 32 symbols, 32 bi-orthogonal codes obtained by adding 1 to each symbol of the punctured Walsh codes (by multiplying −1 to each symbol in the case of a real number), and 4 mask sequences obtained by combining any two of the four punctured basis mask sequences.

The output of a (30, 7) encoder is combinations of 32 Walsh codes of length 30 obtained by puncturing #0 and #16 symbols from each of 32 Walsh codes having a length 32 symbols, 32 bi-orthogonal codes obtained by adding 1 to each symbol of the punctured Walsh codes (by multiplying −1 to each symbol in the case of a real number), and one of the four punctured basis mask sequences.

All the above encoders for providing an extended TFCI have a minimum distance of 10.

The (30, 9), (30, 8), and (30, 7) encoders can be implemented by blocking input and output of at least one of the four basis mask sequences generated from the basis mask sequence generator820shown in FIG.8.

The above encoders flexibly encode TFCI bits according to the number of the TFCI bits and has a maximized minimum distance that determines encoding performance.

A decoding apparatus according to the second embodiment of the present invention is the same in configuration and operation as the decoding apparatus of the first embodiment except for different signal lengths of the encoded symbols. That is, after (32, 10) encoding, two symbols out of the 32 encoded symbols are punctured, or basis Walsh codes with two punctured symbols and basis mask sequences with two punctured symbols are used for generating the 30 encoded symbols. Therefore, except for the received signal r(t) which includes a signal of 30 encoded symbols and insertion of dummy signals at the punctured positions, all decoding operations are equal to the description of the first embodiment of present invention.

AsFIG. 17, this second embodiment of decoding also can be implemented by a single multiplier for multiplying the masks with r(t) and a single correlation calculator for calculating correlation values of bi-orthogonal codes.

4. Third Embodiment of Encoding/Decoding Apparatus and Method

The third embodiment of the present invention provides an encoding apparatus for blocking the output of a one-bit generator in the (30, 7), (30, 8), (30, 9) or (30, 10) (hereinafter we express (30, 7-10))encoder of the second embodiment and generating another mask sequence instead in order to set a minimum distance to 11. The encoders refer to an encoder that outputs a 30-symbol TFCI codeword for the input of 7, 8, 9 or 10 TFCI bits.

FIG. 14is a block diagram of a third embodiment of the encoding apparatus for encoding a TFCI in the IMT 2000 system. In the drawing, a (30, 7-10) encoder is configured to have a minimum distance of11.

The encoding apparatus of the third embodiment is similar in structure to that of the second embodiment except that a mask sequence generator1480for generating a basis mask sequence M16and a switch1470for switching the mask sequence generator1480and a one-bit generator1400to a multiplier1440are further provided to the encoding apparatus according to the third embodiment of the present invention.

The two bit punctured basis mask sequences M1, M2, M4, M8, and M16as used inFIG. 14areM1=000001011111000010110100111110M2=000110001100110001111010110111M4=010111100111101010000001100111M8=011011001000001111011100001111M16=100100011110011111000101010011

Referring toFIG. 14, when a (30, 6) encoder is used, the switch1470switches the one-bit generator1400to the multiplier1440and blocks all the basis mask sequences generated from a basis mask sequence generator1480. The multiplier1440multiplies the symbols from the one-bit generator1400with the input information bit a0, symbol by symbol.

If a (30, 7-10) encoder is used, the switch1470switches the mask sequence generator1480to the multiplier1440and selectively uses four basis mask sequences generated from a basis mask sequence generator1420. In this case, 31 mask sequences M1to M31can be generated by combining 5 basis mask sequences.

The structure and operation of outputting code symbols for the input information bits a0to a9using multipliers1440to1449are the same as the first and second embodiments. Therefore, their description will be omitted.

As stated above, the switch1470switches the mask sequence generator1480to the multiplier1440to use the (30, 7-10) encoder, whereas the switch1470switches the one-bit generator1400to the multiplier1440to use the (30, 6) encoder.

For the input of 6 information bits, the (30, 6) encoder outputs a 30-symbol codeword by combining 32 Walsh codes of length 30 with 32 bi-orthogonal codes obtained by inverting the Walsh codes by the use of the one-bit generator1400.

For the input of 10 information bits, the (30, 10) encoder outputs a 30-symbol codeword by combining 32 Walsh codes of length 30 and 32 mask sequences generated using five basis mask sequences. Here, the five basis mask sequences are M1, M2, M4, M8, and M16, as stated above and the basis mask sequence M16is output from the mask sequence generator1480that is added for the encoding apparatus according to the third embodiment of the present invention. Hence,1024codewords can be achieved from the (30, 10) encoder. The (30, 9) encoder outputs a 30-symbol codeword by combining 32 Walsh codes and 16 mask sequences, for the input of 9 information bits. The 16 mask sequences are achieved by combining four of five basis mask sequences. The (30, 8) encoder outputs a 30-symbol codeword by combining 32 Walsh codes and 8 mask sequences, for the input of 8 information bits. The 8 mask sequences are obtained by combining three of five basis mask sequences. For the input of 7 information bits, the (30, 7) encoder outputs a 30-symbol codeword by combining 32 Walsh codes of length 30 and four mask sequences. The four mask sequences are obtained by combining two of five basis mask sequences.

All the above (30, 7-10) encoders have a minimum distance of 11 to provide extended TFCIs. The (32, 7-10) encoders can be implemented by controlling use of at least one of the five basis mask sequences generated from the basis mask sequence generator1420and the mask sequence generator1480shown in FIG.14.

FIG. 16is a flowchart illustrating a third embodiment of the TFCI encoding procedure in the IMT 2000 system according to the present invention.

Referring toFIG. 16,10information bits (TFCI bits) a0to a9are received and variables sum and j are set to initial values 0s in step1600. The variable sum indicates a final code symbol output after symbol-basis addition and the variable j indicates the count number of final code symbols output after the symbol-basis addition. It is determined whether j is 30 in step1610in view of the length 30 of punctured Walsh codes and mask sequences used for encoding. The purpose of performing step1610is to judge whether the input information bits are encoded with respect to the 30 symbols of each Walsh code and the 30 symbols of each mask sequence.

If j is not 30 in step1610, which implies that encoding is not completed with respect to all the symbols of the Walsh codes and mask sequences, the jthsymbols W1(j), W2(j), W4(j), W8(j), and W16(j) of the basis Walsh codes W1, W2, W4, W8, and W16and the jthsymbols M1(j), M2(j), M4(j), M8(j), and M16(j) of the basis mask sequences M1, M2, M4, M8, and M16are received in step1620. In step1630, the input information bits are multiplied by the received symbols symbol by symbol and the symbol products are summed.

As noted from Eq. 10, an intended code symbol is obtained by multiplying each input information bit by the symbols of a corresponding basis Walsh code or basis mask sequence and summing the products.

In step1640, sum indicating the achieved jthcode symbol is output. j is increased by 1 in step1650and then the procedure returns to step1610. Meanwhile, if j is 30 in step1610, the encoding procedure ends.

Now there will be given a description of the third embodiment of the decoding apparatus referring to FIG.15. An input signal r(t) which includes the 30 encoded symbols signal transmitted by a transmitter and two dummy symbols which have been inserted at the positions that have been punctured by the encoder is applied to 31 multipliers1502to1506and a correlation calculator1520. A mask sequence generator1500generates all possible 31 mask sequences of length 32 M1to M31. The multipliers1502to1506multiply the mask sequences received from the mask sequence generator1500by the input signal r(t). If a transmitter encoded TFCI bits with a predetermined mask sequence, one of the outputs of the multipliers1502to1506is free of the mask sequence, which means the mask sequence has no effect on the following correlation calculator. For example, if the transmitter used the mask sequence M31for encoding the TFCI bits, the output of the multiplier1506that multiplies the mask sequence M31by the input signal r(t) is free of the mask sequence. However, if the transmitter did not use a mask sequence, the input signal r(t) itself applied to a correlation calculator1520is a mask sequence-free signal. Each correlation calculators1520to1526calculates the correlation values of the outputs of the multipliers1502to1506with 64 bi-orthogonal codes of length 32, determines maximum correlation value among the 64-correlation sets, and outputs the determined maximum correlation values, the indexes of each bi-orthogonal codes corresponding to the determined maximum correlation values, and each index of the mask sequences to a correlation comparator1540, respectively.

The correlation comparator1540compares the 32 maximum correlation values received a from the correlation calculators1520to1526and determines the largest of the maximum correlation values as a final maximum correlation. Then, the correlation comparator1540outputs the decoded TFCI bits transmitted by the transmitter on the basis of the indexes of the bi-orthogonal code and mask sequence corresponding to the final maximum correlation value. As inFIG. 17, the third embodiment of present invention can be also implemented by a single multiplier for multiplying the masks with r(t) and a single correlation calculator for calculating correlation values of bi-orthogonal codes.

As described above, the present invention provides an apparatus and method for encoding and decoding a basic TFCI and an extended TFCI variably so that hardware is simplified. Another advantage is that support of both basic TFCI and extended TFCI error correcting coding schemes increases service stability. Furthermore, a minimum distance, a factor that determined the performance of an encoding apparatus, is large enough to satisfy the requirement of an IMT 2000 system, thereby ensuing excellent performance.