Patent Publication Number: US-8121149-B2

Title: Receiving station for CDMA wireless system and method

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
     This application is a continuation of U.S. parent application Ser. No. 10/417,586, filed Apr. 17, 2003, which claims priority from U.S. Provisional Application No. 60/374,018, filed Apr. 19, 2002, which are incorporated by reference herein. 
    
    
     FIELD OF INVENTION 
     The present invention relates to receiving stations for CDMA wireless communication systems and, in particular, systems which utilize sets of channelization codes in connection with the transmission of selectively sized data blocks for wireless transport of data. 
     BACKGROUND OF THE INVENTION 
     Wireless 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. 1  illustrates a typical 3GPP CDMA system. 
     The Uu radio interface of a 3GPP system uses Transport Channels (TrCHs) for transfer of user data and signaling between UEs and Node Bs. In 3GPP Time Division Duplex (TDD) communications, TrCH data is conveyed by one or more physical channels defined by mutually exclusive physical resources. TrCH data is transferred in sequential groups of Transport Blocks (TBs) defined as Transport Block Sets (TBSs). Each TBS is transmitted in a given Transmission Time Interval (TTI) which may span a plurality of consecutive system time frames. A typical system time frame is 10 microseconds and TTIs are currently specified as spanning 1, 2, 4 or 8 of such time frames. 
       FIG. 2   a  illustrates the processing of TrCHs in TTD mode into a Coded Composite TrCH (CCTrCH) and then into one or more physical channel data streams in accordance with 3GPP TS 25.222 v3.8.0. Starting with the TBS data, Cyclic Redundancy Check (CDC) bits are attached and Transport Block concatenation and Code Block segmentation is performed. Convolution coding or turbo coding is then performed, but in some instances no coding is specified. The steps after coding, include radio frame equalization, a first interleaving, radio frame segmentation and rate matching. The radio frame segmentation divides the data over the number of frames in the specified TTI. The rate matching function operates by means of bit repetition or puncturing and defines the number of bits for each processed TrCH which are thereafter multiplexed to form a CCTrCH data stream. 
     The processing of the CCTrCH data stream includes bit scrambling, physical channel segmentation, a second interleaving and mapping onto one or more physical channels. The number of physical channels corresponds to the physical channel segmentation. For uplink transmissions, UE to Node B, the maximum number of physical channels for transmission of a CCTrCH is currently specified as two. For downlink transmissions, Node B to UEs, the maximum number of physical channels for transmission of a CCTrCH is currently specified as sixteen. Each physical channel data stream is then spread with a channelization code and modulated for over air transmission on an assigned frequency. 
     In the reception/decoding of the TrCH data, the processing is essentially reversed by the receiving station. Accordingly, UE and Node B physical reception of TrCHs require knowledge of TrCH processing parameters to reconstruct the TBS data. For each TrCH, a Transport Format Set (TFS) is specified containing a predetermined number of Transport Formats (TFs). Each TF specifies a variety of dynamic parameters, including TB and TBS sizes, and a variety of semi static parameters, including TTI, coding type, coding rate, rate matching parameter and CRC length. The predefined collection of TFSs for the TrCHs of a CCTrCH for a particular frame is denoted as a Transport Format Combination (TFC). 
     Receiving station processing is facilitated by the transmission of a Transport Format Combination Indicator (TFCI) for a CCTrCH. For each TrCH of a particular CCTrCH, the transmitting station determines a particular TF of the TrCH&#39;s TFS which will be in effect for the TTI and identifies that TF by a Transport Format Indicator (TFI). The TFIs of all the TrCHs of the CCTrCH are combined into the TFCI. For example, if two TrCHs, TrCH1 and TrCH2, are multiplexed to form CCTrCH1, and TrCH1 has two possible TFs, TF 1 0 and TF 1 1, in its TFS and TrCH2 has four possible TFs, TF 2 0, TF 2 1, TF 2 2, and TF 2 3, in its TFS, valid TFCIs for CCTrCH1 could include (0,0), (0,1), (1,2) and (1,3), but not necessarily all possible combinations. Reception of (1,2) as the TFCI for CCTrCH1 informs the receiving station that TrCH1 was formatted with TF 1 1 and TrCH2 was formatted with TF 2 1 for the received TTI of CCTrCH1. 
     3GPP optionally provides for “blind transport format detection” by the receiving station, in which case the receiving station considers the potential valid TFCIs. Where there is only one valid TFCI, that TFCI is used in either case. 
     In 3GPP, time slot transmissions are made in predefined bursts where the transmitted physical channel data is divided into a beginning time slot portion and an ending time slot portion. A selected midamble is included between the two physical channel data portions. The TFCI is currently specified as transmitted in two parts on either side of the midamble and also between the two physical channel data portions. Two examples from 3GPP TR 25.944 V3.5.0 are illustrated in  FIGS. 2   b  and  2   c  respectively where the block labeled MA represents the midamble and the block labeled T represents the parts of the TFCI. In second example,  FIG. 2   c , the CCTrCH is mapped to two physical, but only one physical channel includes the TFCI. 
     The midamble and TFCI are initially processed and then the results can be used to process the physical channel data. There is a brief period of time between reception of a TFCI and the end of both the time slot and the time frame in which it is received which the inventor has recognized can be efficiently used for processing the TFCI. 
     In 3GPP TDD mode, for each radio frame and for each CCTrCH with physical channels or channelization codes allocated in the frame, the transmitter (Node B or UE) autonomously determines the number of bits, denoted N data , to be transmitted in the frame based on the TFC in effect for the frame. The 3GPP algorithm in accordance with TS 25.222 v4.0.0, part 4.2.7.1 is in pertinent part as follows:
         Denote the number of data bits in each physical channel by U p,Sp , where p refers to the sequence number 1≦p≦P max  of this physical channel, and the second index Sp indicates the spreading factor with the possible values {16, 8, 4, 2, 1}, respectively. For each physical channel, an individual minimum spreading factor Sp min  is transmitted by means of the higher layers. Then, for N data  one of the following values in ascending order can be chosen:
 
{U 1,S1     min   ,U 1,S1     min   +U 2,S2     min   ,U 1,S1     min   +U 2,S2     min   + . . . +U P     max,     (SP     max     )     min   }
   Optionally, if indicated by higher layers for the UL the UE shall vary the spreading factor autonomously, so that N data  is one of the following values in ascending order:       

     
       
         
           
             
               { 
               
                 
                   
                     
                       
                         U 
                         
                           1 
                           , 
                           16 
                         
                       
                       , 
                       … 
                       ⁢ 
                       
                           
                       
                       , 
                       
                         U 
                         
                           1 
                           , 
                           
                             S 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             
                               1 
                               min 
                             
                           
                         
                       
                       , 
                       
                         
                           U 
                           
                             1 
                             , 
                             
                               S 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               
                                 1 
                                 min 
                               
                             
                           
                         
                         + 
                         
                           U 
                           
                             2 
                             , 
                             16 
                           
                         
                       
                       , 
                       … 
                       ⁢ 
                       
                           
                       
                       , 
                       
                         
                           U 
                           
                             1 
                             , 
                             
                               S 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               
                                 1 
                                 min 
                               
                             
                           
                         
                         + 
                       
                     
                   
                 
                 
                   
                     
                       
                         U 
                         
                           2 
                           , 
                           
                             S 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             
                               2 
                               min 
                             
                           
                         
                       
                       , 
                       … 
                       ⁢ 
                       
                           
                       
                       , 
                       
                         
                           U 
                           
                             1 
                             , 
                             
                               S 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               
                                 1 
                                 min 
                               
                             
                           
                         
                         + 
                         
                           U 
                           
                             2 
                             , 
                             
                               S 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               
                                 2 
                                 min 
                               
                             
                           
                         
                         + 
                         … 
                         + 
                       
                     
                   
                 
                 
                   
                     
                       
                         U 
                         
                           
                             P 
                             max 
                           
                           , 
                           16 
                         
                       
                       , 
                       … 
                       ⁢ 
                       
                           
                       
                       , 
                       
                         
                           U 
                           
                             1 
                             , 
                             
                               S 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               
                                 1 
                                 min 
                               
                             
                           
                         
                         + 
                         
                           U 
                           
                             2 
                             , 
                             
                               S 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               
                                 2 
                                 min 
                               
                             
                           
                         
                         + 
                         … 
                         + 
                         
                           U 
                           
                             
                               P 
                               max 
                             
                             , 
                             
                               
                                 ( 
                                 
                                   SP 
                                   max 
                                 
                                 ) 
                               
                               min 
                             
                           
                         
                       
                     
                   
                 
               
               } 
             
               
           
         
       
         
         
           
             N data,j  for the transport format combination j is determined by executing the following algorithm:
 
SET1={N data  such that
 
           
         
       
    
     
       
         
           
             
               
                 
                   ( 
                   
                     
                       min 
                       
                         1 
                         ≤ 
                         y 
                         ≤ 
                         I 
                       
                     
                     ⁢ 
                     
                       { 
                       
                         RM 
                         y 
                       
                       } 
                     
                   
                   ) 
                 
                 × 
                 
                   N 
                   data 
                 
               
               - 
               
                 PL 
                 × 
                 
                   
                     ∑ 
                     
                       x 
                       = 
                       1 
                     
                     I 
                   
                   ⁢ 
                   
                     
                       RM 
                       x 
                     
                     × 
                     
                       N 
                       
                         x 
                         , 
                         j 
                       
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     is 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     non 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     negative 
                   
                 
               
             
             } 
           
         
       
         
         
           
             N data,j =min SET1 
           
         
       
    
     Implicit in the above is that only a subset of allocated physical channels is transmitted in the frame. The receiver (BS or UE) can exploit the knowledge of transmitted codes (whether from the signaled TFCI or blindly detected) to improve performance. 
     To use the signaled TFCI to determine the identity of the transmitted codes, two obvious methods can be applied: 
     1. upon receipt of a TFCI, the inverse of the 3GPP transmission processing algorithms described in TS 25.222 can be used to:
         a. determine transport block set size after CRC(s) are appended;   b. determine code block number and size and number of filler bits;   c. determine number of bits after coding;   d. determine size of frame size after equalization (before rate matching); and   e. determine frame size (number of transmitted bits) after rate matching;       

     in order to determine the identity of the transmitted codes, or 
     2. pre-compute and store along with the TFC the identity of the transmitted codes. 
     The first method requires that computations necessary to determine the identity of the transmitted codes be performed upon receipt of the TFCI, but before other received data in the frame is demodulated. The second method does not require the computation in real time of the identity of transmitted codes but does require storage of the identity of up to 136 transmitted codes for each of up to 1024 TFCs. 
     The inventor has recognized that a third, non-obvious method can be implemented which entails less processing without the need for pre-computing and storing all of the channelization codes. 
     SUMMARY OF THE INVENTION 
     In a communication station, such as a UE or Node B of a 3GPP system, where channelization coded signals are received on physical channels of at least one coded composite transport channel (CCTrCh) within timeslots of a system time frame, the actual number of channelization codes transmitted for the CCTrCh within a system time frame is determined. The transmitted channelization codes are then identified by performing a channelization code identification algorithm based on the determined number. Preferably, the identified channelization codes are stored in a code list by first ordering all channelization codes that are allocated and selecting codes in order from the code list until the calculated and stored number of transmitted codes is reached. 
     Typically, each transmitted CCTrCH is comprised of a selected number of Transport Channels (TrCHs). Each TrCH has a data stream arranged in a predetermined Transport Format (TF) of a Transport Format Set (TFS) of that TrCH which is in effect for a given Transmission Time Interval (TTI) of timeframes. A Transport Format Indicator (TFI) identifies the TF of the TrCH&#39;s TFS in effect for the particular TrCH. The TFIs of all the TrCHs of a CCTrCH are combined into a Transport Format Combination Indicator (TFCI) from which the formatting and channelization codes of the transmitted CCTrCH in a given TTI can be determined. The TFCI is transmitted with the corresponding CCTrCH in at least one timeslot of each TTI in which the CCTrCH is transmitted so that the communication station receives a TFCI in conjunction with a CCTrCH in a TTI. 
     The communication station is preferably configured so that the received TFCI is processed in background processing to determine a value Ncodes representing the number of transmitted channelization codes, The received TFCI is then processed a second time at a timeslot processing rate utilizing the determined value Ncodes to identify a list corresponding to the channelization codes of the CCTrCH in the TTI. 
     Preferably, a received TFCI is processed to determine a value Ncodes in background processing only if a currently valid value Ncodes has not been determined. Preferably, a received TFCI is processed to identify a list corresponding to the transmitted channelization codes at a timeslot processing rate only if a currently valid value transmitted channelization code list has not been identified. Preferably, a received TFCI is processed at a time frame processing rate to determine demodulation parameters at a time frame processing rate. 
     In a 3GPP system, either the CCTrCHs are transmitted by a Node B and the CCTrCHs and corresponding TFCIs are received and processed by a User Equipment (UE) or the CCTrCHs are transmitted by a User Equipment (UE) and the CCTrCHs and corresponding TFCIs are received and processed by a Node B. 
     In a preferred embodiment, the communication station, either a UE or a Node B of a 3GPP system, is configured to receive channelization coded signals on physical channels of at least one coded composite transport channel (CCTrCh) within timeslots of a system time frame. Each transmitted CCTrCH is comprised of a selected number of Transport Channels (TrCHs). Each TrCH has data streams arranged in a predetermined Transport Format (TF) of a Transport Format Set (TFS) of the TrCH which is in effect for a given Transmission Time Interval (TTI) of timeframes. A Transport Format Indicator (TFI) identifies the TF of the TrCH&#39;s TFS in effect for that TrCH. The TFIs of all the TrCHs of a CCTrCH are combined into a Transport Format Combination Indicator (TFCI) from which the formatting and channelization codes of the transmitted CCTrCH in a given TTI can be determined and the TFCI is transmitted with the corresponding CCTrCH in at least one timeslot of each TTI in which the CCTrCH is transmitted. 
     The communication station has a receiver that includes a TFCI processing component. The TFCI processing component preferably has a first section configured to process received TFCIs to produce a value representing the number of transmitted channelization codes of a corresponding CCTrCH. The TFCI processing component preferably has a second section configured to process received TFCIs using the values produced by said first section to identify a list of the transmitted channelization codes for each corresponding CCTrCH. A memory is associated with the TFCI processing component such that the first section stores the produced values representing the number of transmitted channelization codes in the memory and those values are retrieved from the memory for use by the second section. 
     Preferably, the first section of the TFCI processing component is configured to process received TFCIs in background processing such that at least 50 values can be produced in a given time frame and the second section is configured to process received TFCIs at a timeslot processing rate. The TFCI processing component preferably has a third section configured to process received TFCIs to produce demodulation parameters for each corresponding CCTrCH at a time frame processing rate. 
     Other objects and advantages will be apparent to those skilled in the art from the following detailed description. 
    
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         FIG. 1  is a schematic diagram of a typical CDMA system in accordance with current 3GPP specifications. 
         FIG. 2   a  is a processing diagram of TrCH data for a CCTrCH in accordance with 3GPP TDD specifications. 
         FIGS. 2   b  and  2   c  are diagrams of channel coding and multiplexing examples in accordance with 3GPP TDD specifications. 
         FIG. 3  is a block diagram of a receiving portion of a communication station made in accordance with the teachings of the present invention. 
         FIG. 4  is a flowchart illustrating the generation of a list of transmitted codes based on the intermediate parameter N codes  in accordance with the teachings of the present invention. 
     
    
    
     TABLE OF ACRONYMS 
     
         
         3GPP Third Generation Partnership Project 
         BCD Blind Code Detection 
         BS Base Station 
         CCTrCH Coded Composite Transport Channel 
         CDMA Code Division Multiple Access 
         CRC Cyclic Redundancy Check 
         DL Downlink (Node B to UE) 
         DTX Discontinuous Transmission 
         Iu Interface between UTRAN and Core Network 
         Iub Interface between Node Bs and RNC 
         Iur Interface between RNCs 
         MUD Multi-User Detection 
         Nbits Number of Bits In a Radio Frame For a TrCH 
         Ncodes Number of Channelization Codes for a TTI of a CCTrCH 
         Ndata Number of Bits In a Radio Frame For a CCTrCH 
         Node B 3GPP Base Station 
         PhCH Physical Channel 
         RNC Radio Network Controller 
         SUD Single User Detection 
         rxTFCI received Transport Format Combination Indicator 
         TB or TrBk Transport Block 
         TDD Time Division Duplex 
         TF Transport Format 
         TFC or tfc Transport Format Combination 
         TFCI Transport Format Combination Indicator 
         TFI Transport Format Indicator 
         TFS Transport Format Set 
         TPC Transmit Power Control 
         TrCH Transport Channel 
         TTI Time Transmission Interval 
         UE User Equipment 
         UL Uplink (UE to Node B) 
         UMTS Universal Mobile Telecommunications System 
         UTRAN UMTS Terrestrial Radio Access Network 
         Uu Interface between UEs and UTRAN Node Bs 
       
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT(S) 
     A wireless communication station, such as a User Equipment (UE) or a base station, Node B, is provided for use in a CDMA communication system, such as the 3GPP system illustrated in  FIG. 1 . Each station includes a receiver configured to receive selectively formatted, encoded TDD wireless communication signals. Preferably, a system time frame format is established with each frame being 10 microseconds in duration with 15 time slots per time frame wherein timeslots can be used for either uplink (UL), UE to Node B, or downlink (DL), Node B to UE, communication signals during a given time period. 
     As described above, Transport Channels (TrCHs) are used for the transfer of user data and signaling between UEs and Node Bs. Multiple TrCHs are multiplexed into a Coded Composite TrCH (CCTrCH). The CCTrCH data stream is mapped onto one or more physical channel data streams which are encoded with channelization codes, preferably Orthogonal Variable Spreading Factor (OVSF) codes. 
     For each TrCH of a particular CCTrCH, the transmitting station determines a particular Transport Format (TF) of the TrCH&#39;s Transport Format Set (TFS) which will be in effect for a given Transmission Time Interval (TTI) and identifies that TF by a Transport Format Indicator (TFI). The TFIs of all the TrCHs of the CCTrCH are combined into a Transport Format Combination Indicator (TFCI) from which the formatting and channelization codes of the transmitted signals can be determined. 
     Referring to  FIG. 3 , a TFCI processing component  10  for the receiver of a communication station, such as a UE or Node B, is provided for processing received (Rx) TFCIs in a novel and efficient manner. An intermediate parameter, the number of transmitted physical channels or channelization codes, denoted Ncodes is pre-computed or computed on demand and stored with its corresponding TFC parameters. Ncodes can then be looked up per the received TFCI, so that the task to determine the identity of transmitted channelization codes is simplified. Preferably, the identity of transmitted channelization is performed by, timeslot-by-timeslot, counting the number of allocate channelization codes in the allocation order specified in 3GPP for the multiplexing of different TrCH onto one CCTrCH and mapping of one CCTrCH onto physical channels until Ncodes is reached, and declaring that channelization codes in allocation order up to and including Ncodes were transmitted and that all other channelization codes were not transmitted. 
     The TFCI processing component  10  includes a background processing section  10   a , a time slot rate processing section  10   b  and a frame rate processing section  10   c . An input  20  provides the TFCI processing component  10  with decoded TFCIs of the received CCTrCHs. The TFCI processing component  10  processes the received TFCI in the background, at the end of each timeslot and again at the end of each time frame. 
     The background processing segment  10   a  determines the intermediate parameter of the number of channelization codes, Ncodes, in use for each CCTrCH received in each TTI. The time slot rate processing section  10   b  then provides fast TFCI processing to produce the list of the channelization codes using the Ncodes parameter determined in the background section  10   a . The frame rate processing section  10   c  determines the TrCH parameters and rate matching parameters of each TrCH of each received CCTrCH based on the TFCIs in a conventional manner, that are used for demapping and demodulation of the CCTrCHs and their associated TrCHs.  FIG. 3  depicts these functions for one CCTrCH. Preferably, these functions are applied to all CCTrCHs. 
     An associated memory device  40  is provided wherein TFC data is stored that is used in connection with controlling the operation of the TFCI processing component  10 . The data stored in the memory device  40  includes values for the novel parameter Ncodes which is computed by the processing component section  10   a  along with a flag NcodesValid which indicates whether or not Ncodes has been computed for a particular TFCI for a particular TTI. 
     Preferably the inputs for the processing component  10  includes a data input  20  for the received TFCI for all CCTrCHs which may be designated as rxTFCI[maxCCTrCH] and a control input  22  for TFC related parameters. The TFC control signals received via the control input  22  preferably include: 
     the number of codes transmitted per frame, per TFCI, per CCTrCH which may be designated as Ncodes[1024, maxCCTrCH], 
     a flag which is set if the Ncodes value has been computed, per TFCI, which may be designated as NcodesValid[1024, maxCCTrCH], 
     TFCS parameters, per TrCH i , per CCTrCH, as function of current TFCI including:
         Rate Matching Factor   Coding Method   Coding Rate   L i , CRC Length       

     TFCS parameters, indexed by TFCI, per TrCH per CCTrCH including:
         Transport Block Set Size i      Transport Block Size i      TTI i          

     A second control input  24  provides Physical Channel Map control signals, preferably of length 240 (15 timeslots, 16 codes), of the form: 
     pcmCodeNumber[240], code number; 
     pcmTimeslot[240], timeslot of this code; 
     pcmMinSF[240], minimum spreading factor of this code; 
     pcmCCTrCH[240], CCTrCH number of this code; 
     pcmTFCI[240], set if this code contains a TFCI; 
     burstType[15], burst type of each of the 15 timeslots; 
     TFCI Format &amp; Map, indicated locations of TFCI bits and length of the TFCI fields; 
     puncLimit, the puncturing limit; and 
     timeslotNumber, the current timeslot; 
     where pcmTFCI[240] is the first code number in the timeslot, in the index order of this list. 
     The output of the TFCI processing component  10  is time dependent due to its three different processing sections. When invoked in the background, an output  30   a  of processing section  10   a  provides data output in the form of: 
     the number of codes transmitted per frame for this TFCI and CCTrCH, Ncodes[TFCI], and 
     a signal to set the flag indicating that Ncodes for the TFCI of a CCTrCH has been computed, NcodesValid[TFCI]. 
     When invoked to process the fast TFCI, an output  32  of processing section  10   b  provides data output in the form of a table of transmitted codes and indicators for all CCTrCHs, as determined by the received TFCI, preferably designated tfcCodeTable[maxCCTrCH] and including: 
     a list of transmitted codes in the current frame (14 timeslots×16 codes maximum), tfcCodeList[224]; and 
     a flag that is set if the txCodeList contains valid data, tfcCodeListValid. 
     When invoked after a frame has been received, three outputs  30   b ,  35  and  37  of processing section  10   c  provide data output in the form of: 
     the number of bits per frame per CCTrCH after rate matching, N data , from output  30   b;    
     the number of bits per frame after frame size equalization and before rate matching, for TrCH i , N, or Nbits i , from output  35 ; and 
     from output  37 , TrCH and Rate Matching parameters, where the TrCH parameters are preferably of the form:
         X1 i , number of bits for all concatenated transport blocks after CRC insertion, for TrCH i ;   C i , number of code blocks, for TrCH i ;   Y1 i , number of code block filler bits, for TrCH i ;   K i , number of bits per code block, before channel coding, for TrCH i ;   Y2 i , number of bits per code block, after channel coding, for TrCH i ;   E i , number of bits per TTI before frame size equalization, for TrCH i ; and   T i , number of bits per TTI after frame size equalization, for TrCH i ;
 
and the Rate matching parameters are preferably of the form:
   e_ini i,f,b , initial value of e, the rate-matching counter, for frame, sequence b, for TrCH i ;   e_plus i,b , increment value of e, the rate-matching counter, sequence b, for TrCH i ;   e_minus i,b , decrement value of e, the rate-matching counter, sequence b, for TrCH i ;   X i,b , number of bits before rate matching, sequence b, for TrCH i ; and   nMod3 i , number of first and/or second parity turbo coded bits in the first sequence, for TrCH i .       

     Preferably, the TFCI processing component is configured based upon two overall operating parameters: the number of received (Rx) CCTrCHs and the background processing capacity for computing Ncodes values. The maximum number of Rx CCTrCHs, which may be designated as maxCCTrCH, is preferably set at 4 for UEs and 96 in Node Bs. Preferably, the processing section  10   a  can compute at least 50 Ncodes values in the background, 50 per frame. These preferred values are based upon current 3GPP specifications and can be adjusted when various system operating parameters are changed. 
     The background processing section  10   a  includes three processing elements, Ncodes Computation Control  12 , TrCH Parameter Determination processing  14  and Partial Discontinuous Transmission (DTX) processing where there is no Dynamic Spreading Factor  16 . The latter two processing elements  14 ,  16  are preferably of conventional design used for preprocessing TFCS control signal based on a particular TFCI to provide required inputs for Rate Matching Parameter processing and accordingly are preferably configured for operation in the Frame Rate processing section  10   c  as well. 
     The Ncodes Computation Control  12  includes the rxTFCI input  20  as data and a modified TFC control input  22   a  which provides the flag signal NcodesValid associated with the particular rxTFCI received via input  20 . This processing element  12  controls the computation of Ncodes, for each CCTrCH. For each received TFCI value, if Ncodes has not yet been computed for that TFCI value, i.e. NcodesValid for the TFCI of the CCTrCH is FALSE, Ncodes is computed such that it is available at the start of the next frame. Accordingly the operation of the processing section  10   a  is preferably controlled such that background processing, i.e. using any available computational resource at no particular time, is used to compute Ncodes: 
     for all TFCIs of all CCTrCHs until all have been computed; 
     for the affected TFCI(s) of the CCTrCH when the PhCH associated with the CCTrCH is assigned, configured or reconfigured; and 
     for the affected TFCI(s) of the CCTrCH assigned to a PhCH when the CCTrCH is assigned, configured or reconfigured. 
     Preferably sufficient resources are available so that at least 50 Ncodes values may be computed in a given frame and so that Ncodes for a newly received TFCI is computed by the start of the next frame. 
     The Ncodes Computation Control  12  includes an output  31  which is passed as data to the downstream processing elements  14  and  16  of processing section  10   a . The output  31  passes the TFCI and CCTrCH which may be designated as TFCI/CCTrCH, which represent a rxTFCI for which Ncodes needs to be computed. This function operates whenever a TFCI is received and in the background. 
     The TrCH Parameters Determination element  14  is of conventional design and computes parameters for various TrCH demodulation functions and Nbits, the number of bits before rate matching per TrCH. This function is called in the background section  10   a  as part of the Ncodes. It is also called after a frame has been received in the frame rate processing section  10   c  such that the block set of the TTI containing the frame can be reconstructed. When invoked as part of the Ncodes computation, the various TrCH parameters are used only as intermediate variables to compute Nbits. 
     The TrCH Parameters Determination element  14  receives as an input the output  31  from the Ncodes Computation Control which invokes its modified processing functions in the background processing section  10   a . After reception of a time frame is completed, the TrCH Parameters Determination element  14  receives as an input the rxTFCI input  20  which invokes its full processing functions in the frame rate processing section  10   c . In both cases, the TrCH Parameters Determination element  14  utilizes a modified TFC control input  22   b  which provides all of the TFC related control signals except the flag signal NcodesValid and Ncodes which are not necessary to its operation. 
     Full operation of the TrCH Parameters Determination element  14  includes a TFCI Validity Check which is not required for background processing. If the received TFCI does not correspond to a valid TFCI of the TFCS, the TFCI of the CCTrCH from the previous frame is used instead. If this is not available, the lowest non-zero valued valid TFCI is used instead. 
     The TrCH Parameters Determination element  14  computes a variety of parameters. CRC Parameters are determined based on the knowledge that: 
     each of the Transport Block Set Size i  transport blocks of size Transport Block Size i  has a CRC of length L i  appended, where L i  is {0,8,16,24} bits; and, 
     the total number of bits after CRC insertion, X1 i , is:
 
 X 1 i =Transport Block Set Size i *(Transport Block Size i   +L   i )
 
     Channel Decoding Parameters are determined by knowing that the channel coding function operates on blocks up to the following size, denoted Z: 
     Convolutional coding: Z=504 bits 
     Turbo coding: Z=5114 bits. 
     For the case of the total number of bits after CRC insertion, X1 i , is greater than Z, the data is partitioned into C i  code blocks of length K i  each and each code block is channel coded separately. Filler bits are added as required to the start of the first block such that all blocks are of equal length and for the unique case of turbo coded data of length less than 40, to the start of the single block. The number of code blocks, C i  is: C i =┌X1 i /Z i ┐. The number of bits in each code block, K i , is K i =40 if X1 i &lt;40 and turbo coding is used or else K i =┌X1 i /C i ┐. The number of filler bits in the first code block, Y1 i , is: Y1 i =C i K i −X1 i    
     For the case of no coding, the number of code blocks, C i , is simply 1 and the length of the code block is simply K i . The number of bits per code block after coding, Y2 i , is: 
     convolutional coding with rate 1/2: Y2 i =2*K i +16 
     convolutional coding with rate 1/3: Y2 i =3*K i +24 
     turbo coding with rate 1/3: Y2 i =3*K i +12 
     no coding: Y2 i =K i    
     Interframe Interleaving Parameters are determined based on the knowledge that the total number of bits from all C i  code blocks after channel coding, E i , is: E i =C i *Y2 i . The interframe interleaver consists of an array of F i  columns and N i , rows (the number of bits in each column), where: N i =┌E i /F i ┐. Filler bits are appended to the end of the E i  bits, such that all columns of the array contain data. After appending the bits, the total number of bits for the TTI, T i , is: T i =E i *N i . Filler Bits are determined based on the knowledge that the number of filler bits is: T i −E i . 
     These parameters are used to compute the number of bits per TrCH i  per frame before rate matching, Nbits i =N i . An output  34  provides N i , or Nbits i , the number of bits per frame after frame size equalization and before rate matching, for TrCH i  to the Partial Discontinuous Transmission (DTX) processing element  16  and, in the case of frame rate processing in section  10   c , also to the Rate Matching Determination element  18 . 
     An additional output  35  of the TrCH Parameters Determination element  14  is provided for all of the determined parameters from the frame rate processing in section  10   c  such that the block set of the TTI containing the frame can be reconstructed. Preferably, from this output  35 , TrCH parameters are provided of the form: 
     X1 i , number of bits for all concatenated transport blocks after CRC insertion, for TrCH i . 
     C i , number of code blocks, for TrCH i . 
     Y1 i , number of code block filler bits, for TrCH i . 
     K i , number of bits per code block, before channel coding, for TrCH i . 
     Y2 i , number of bits per code block, after channel coding, for TrCH i . 
     E i , number of bits per TTI before frame size equalization, for TrCH i . 
     T i , number of bits per TTI after frame size equalization, for TrCH i . 
     The per-TTI parameters need be computed only once per TTI, not for every frame of the TTI. Also there are generally no floating/fixed point or performance issues. 
     The Partial DTX processing element  16  is of conventional design and computes the codes transmitted based on the number of bits per TrCH before rate matching and physical channel data. This element  16  is called in the background section  10   a  to perform in a modified mode as part of the Ncodes computation. It is also called after a frame has been received in the frame rate processing section  10   c  for its full functions to provide an output such that Physical Channel De-mapping knows which codes were transmitted and to determine the number of bits transmitted in a frame. 
     The Partial DTX processing element  16  receives as an input the output  31  from the Ncodes Computation Control which invokes its modified processing functions in the background processing section  10   a . After reception of a time frame is completed, the Partial DTX processing element  16  receives as an input the rxTFCI input  20  and invokes its full processing functions in the frame rate processing section  10   c . In both cases, the Partial DTX processing element  16  receives as an input the output  34  from the TrCH Parameters Determination element  14 , the physical channel control input  24  and utilizes the modified TFC control input  22   b  which provides all of the TFC related control signals except the flag signal NcodesValid and Ncodes which are not necessary to its operation. 
     The Partial DTX processing element  16  has in its modified operation in the background processing section  10   a  provides the output  30   a  which produces an Ncodes value and set the associated flag NcodeValid. In its conventional full operational mode in the frame rate processing section  10   c , the Partial DTX processing element  16  has an output  30   b  which produces values representing the number of bits per frame per CCTrCH, denoted N data , which is used for the determination of rate matching parameters. 
     Although the Partial DTX processing element  16  functions in a receiver of a communication station, it is conveniently described in terms of its opposite transmitter function, e.g., the meaning of “before” and “after” are with respect to the transmitter functions. N data , the number of bits per frame per CCTrCH, i.e. for all TrCH i , after rate matching, and Sp, the spreading factor of the p th  physical channel assigned to the CCTrCH are determined from the following:
         Denote the number of data bits, which is a function of burst type, (not including TFCI or TPC bits, the number of which are found from TFCI Format and Physical Channel Map) in each code by U p,Sp . p refers to the sequence number 1≦p≦Pmax of this physical channel as follows: in ascending order of the timeslots in which they appear; if more than one physical channel appears in a timeslot, they shall be allocated the sequence number in order of the timeslot first and then of their channelization codes; the channelization codes shall be ordered in ascending order of the minimum spreading Factor and then channelization index (k). The second index Sp indicates the spreading factor with the possible values {16, 1}, respectively. For each code an individual minimum spreading factor Sp min  is included in the physical channel map. Then, for N data  one of the following values in ascending order and the identification from the set of allocated codes which codes are transmitted are determined from:
 
{U 1,S1     min   ,U 1,S1     min   +U 2,S2     min   ,U 1,S1     min   +U 2,S2     min   + . . . +U P     max     ,(SP     max     )     min   }  (1)
   Ndata SET1 ={ Ndata such that       

     
       
         
           
             
               
                 
                   ( 
                   
                     
                       min 
                       
                         1 
                         ≤ 
                         y 
                         ≤ 
                         I 
                       
                     
                     ⁢ 
                     
                       { 
                       
                         RM 
                         y 
                       
                       } 
                     
                   
                   ) 
                 
                 × 
                 
                   N 
                   data 
                 
               
               - 
               
                 puncLimit 
                 × 
                 
                   
                     ∑ 
                     
                       x 
                       = 
                       1 
                     
                     I 
                   
                   ⁢ 
                   
                     
                       RM 
                       x 
                     
                     × 
                     
                       N 
                       x 
                     
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     is 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     non 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     negative 
                   
                 
               
             
             } 
           
         
       
         
         
           
             N data =min SET1
 
Ncodes is the number of channelization codes within SET1 so this value is determined and output when then operating in the modified mode in background processing section  10   a . There are generally no floating/fixed point or performance issues.
 
           
         
       
    
     In its conventional full operational mode in the frame rate processing section  10   c , the N data  output  30   b  of the Partial DTX processing element  16  provides a required input for a Rate Matching Parameter Determination element  18 . The Rate Matching Parameter Determination element  18  operates in a conventional manner to determine the initial, increment and decrement values used by the counters of the rate matching puncture/repeat data algorithm. Preferably, this includes ΔN i , the number of bits added due to repetition or deleted due to puncturing per frame for TrCH i  that is determined from the following: 
     
       
         
           
             
               Z 
               0 
             
             = 
             0 
           
         
       
       
         
           
             
               Z 
               i 
             
             = 
             
               ⌊ 
               
                 
                   ( 
                   
                     
                       ( 
                       
                         
                           ∑ 
                           
                             m 
                             = 
                             1 
                           
                           i 
                         
                         ⁢ 
                         
                           
                             RM 
                             m 
                           
                           × 
                           
                             N 
                             m 
                           
                         
                       
                       ) 
                     
                     × 
                     
                       N 
                       data 
                     
                   
                   ) 
                 
                 
                   
                     ∑ 
                     
                       m 
                       = 
                       1 
                     
                     I 
                   
                   ⁢ 
                   
                     
                       RM 
                       m 
                     
                     × 
                     
                       N 
                       m 
                     
                   
                 
               
               ⌋ 
             
           
         
       
       
         
           
             
               Δ 
               ⁢ 
               
                   
               
               ⁢ 
               
                 N 
                 i 
               
             
             = 
             
               
                 Z 
                 i 
               
               - 
               
                 Z 
                 
                   i 
                   - 
                   1 
                 
               
               - 
               
                 N 
                 i 
               
             
           
         
       
     
     For all uncoded and convolutionally coded and repeated turbo coded TrCHs the additional parameters:
         e_ini i,f,1 , the initial value of e, the rate matching counter, for frame f, sequence 1,   e_plus i,1 , the increment value of e, the rate matching counter, sequence 0, and   e_minus i,1 , the decrement value of e, the rate matching counter, sequence b=0, for TrCH i ,
 
are determined by the Rate Matching Parameter Determination element  18  from the following:
   a=2;   X i =N i,j ;   R=ΔN i,j  mod N i,j ;   where ΔN i,j  mod N i,j  is in the range of 0 to N i,j −1 i.e. −1 mod 10=9 and       

     if R≠0 and 2×R≦N i,j , then q=┌N i,j /R┐ otherwise q=┌N i /(R−N i )┐
         where q is a signed quantity such that if q is even q′=q+gcd(|q|, F i )|F i  
           where gcd (|q|, F i ) means greatest common divisor of |q| and F i  and q′ is not an integer, but a multiple of 1/8,   
           otherwise q′=q; and   S[|└x×q′┘ mod F i ]=(|└x×q′┘| div F i ) for x=0 to F i −1;
 
so that:
   e_ini i,f,1 =(a×S[P1 Fi (f)]×|ΔN i |+1) mod (a&#39;N i );   e_plus i,1 =a×X i ;   e_minus i,1 =a×|ΔN i |; and   e_ini i,f,b , e_plus i,b , e_minus i,b , for b=0; b=1,2 are unused       

     For punctured turbo coded TrCHs, e_ini i,f,b , the initial value of e, the rate matching counter, for frame f, sequence b, e_plus i,b , the increment value of e, the rate matching counter, sequence b, and e_minus i,b , the decrement value of e, the rate matching counter, sequence b, for TrCH i , where index b is used to indicate systematic (b=0), 1 st  parity (b=1), and 2nd parity bit (b=2), and nMod3i, number of first and/or second parity turbo coded bits in the first sequence, for TrCH i ., are preferably determined by the Rate Matching Parameter Determination element  18  from the following. 
     
       
         
           
               
             
               
                   
               
             
            
               
                 for b=0: 
               
            
           
           
               
               
            
               
                   
                 e_ini i,f,b=1  = 1 (or any positive integer) for all f; 
               
               
                   
                 e_plus i,b=1  = 0 (not used); 
               
               
                   
                 e_minus i,b  = 0; and 
               
               
                   
                 nMod3i = N i  mod 3; 
               
            
           
           
               
            
               
                 for b={1,2}: 
               
            
           
           
               
               
            
               
                   
                 
                   
                     
                       
                         
                           
                             Δ 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             
                               N 
                               i 
                             
                           
                           = 
                           
                             { 
                             
                               
                                 
                                   
                                     
                                       ⌊ 
                                       
                                         Δ 
                                         ⁢ 
                                         
                                             
                                         
                                         ⁢ 
                                         
                                           
                                             N 
                                             i 
                                           
                                           / 
                                           2 
                                         
                                       
                                       ⌋ 
                                     
                                     , 
                                   
                                 
                                 
                                   
                                     b 
                                     = 
                                     1 
                                   
                                 
                               
                               
                                 
                                   
                                     
                                       ⌈ 
                                       
                                         Δ 
                                         ⁢ 
                                         
                                             
                                         
                                         ⁢ 
                                         
                                           
                                             N 
                                             i 
                                           
                                           / 
                                           2 
                                         
                                       
                                       ⌉ 
                                     
                                     , 
                                   
                                 
                                 
                                   
                                     b 
                                     = 
                                     2 
                                   
                                 
                               
                             
                             } 
                           
                         
                         ; 
                       
                     
                   
                   
                     
                       
                         
                           
                             X 
                             i 
                           
                           = 
                           
                             ⌊ 
                             
                               
                                 N 
                                 i 
                               
                               / 
                               3 
                             
                             ⌋ 
                           
                         
                         ; 
                       
                     
                   
                   
                     
                       
                         q 
                         = 
                         
                           ⌊ 
                           
                             
                               X 
                               i 
                             
                             / 
                             
                                
                               
                                 ΔN 
                                 i 
                               
                                
                             
                           
                           ⌋ 
                         
                       
                     
                   
                 
               
               
                   
               
               
                   
                 where 
               
            
           
           
               
               
            
               
                   
                 if(q≦2), S[(3×r+b−1) mod F i ] = r mod 2 for r =0 to F i −1 
               
               
                   
                 otherwise 
               
            
           
           
               
               
            
               
                   
                 if q is even, q′ = q − gcd(q, F i ) / F i   
               
            
           
           
               
               
            
               
                   
                 where gcd (q, F i ) means greatest common  
               
               
                   
                 divisor of q and F i  and q′ is not an integer, 
               
               
                   
                 but a multiple of ⅛, 
               
            
           
           
               
               
            
               
                   
                 otherwise q′ = q; and 
               
            
           
           
               
               
            
               
                   
                 r=┌x×q′┐ mod F i  and S[(3×r+b−1) mod F i ]=┌x×q′┐ div F i ;  
               
               
                   
                 for x=0 to F i −1; 
               
            
           
           
               
               
            
               
                   
                 such that: 
               
            
           
           
               
               
            
               
                   
                 e_ini i,f,b  = (b×S[P1 F i  (f)]×· |ΔN i | + X i ) mod (b×X i ) 
               
            
           
           
               
               
            
               
                   
                 where if e_ini i,f,b  = 0, e_ini i,f,b  = b×X i ; 
               
            
           
           
               
               
            
               
                   
                 e_plus i,b  = b×X i ; and 
               
               
                   
                 e_minus i,b  = b× |ΔN i |. 
               
               
                   
               
            
           
         
       
     
     Additional parameters that are determined by the Rate Matching Parameter Determination element  18  include: α i,b , the TTI dependent offset for bit separation for a sequence b, and β i,f , the frame dependent offset for bit separation for a frame f, for TrCH i , are given by: 
     α i,b , the TTI dependent offset needed for bit separation 
     
       
         
           
               
               
               
               
               
             
               
                   
                   
               
               
                   
                 TTI (ms) 
                 α0 
                 α1 
                 α2 
               
               
                   
                   
               
             
            
               
                   
                 10, 40 
                 0 
                 1 
                 2 
               
               
                   
                 20, 80 
                 0 
                 2 
                 1 
               
               
                   
                   
               
            
           
         
       
     
     β i,f , the Radio frame dependent offset needed for bit separation 
     
       
         
           
               
               
               
               
               
               
               
               
               
             
               
                   
               
               
                 TTI (ms) 
                 β0 
                 β1 
                 β2 
                 β3 
                 β4 
                 β5 
                 β6 
                 β7 
               
               
                   
               
             
            
               
                 10 
                 0 
                 NA 
                 NA 
                 NA 
                 NA 
                 NA 
                 NA 
                 NA 
               
               
                 20 
                 0 
                 1 
                 NA 
                 NA 
                 NA 
                 NA 
                 NA 
                 NA 
               
               
                 40 
                 0 
                 1 
                 2 
                 0 
                 NA 
                 NA 
                 NA 
                 NA 
               
               
                 80 
                 0 
                 1 
                 2 
                 0 
                 1 
                 2 
                 0 
                 1 
               
               
                   
               
            
           
         
       
     
     A further parameter that is determined by the Rate Matching Parameter Determination element  18  is X2 i , the number of bits per sequence after bit separation. For a TrCH i , this is given by X2 i ,=floor(N i /3). 
     In addition to the N data  input  30   b  from the Partial DTX processing element  16 , the Rate Matching Parameter Determination element  18  receives as inputs the rxTFCI input  20 , the N i  output  34  from the TrCH Parameters element  14  and the modified TFC control input  22   b  which provides all of the TFC related control signals except the flag signal NcodesValid and Ncodes which are not necessary to its operation. 
     The Rate Matching Parameter Determination element  18  provides via an the output rate matching parameters, of the form:
         e_ini i,f,b , initial value of e, the rate-matching counter, for frame f, sequence b, for TrCH i .   e_plus i,b , increment value of e, the rate-matching counter, sequence b, for TrCH i .   e_minus i,b , decrement value of e, the rate-matching counter, sequence b, for TrCH i .   X i,b , number of bits before rate matching, sequence b, for TrCH i , and   nMod3 i , number of first and/or second parity turbo coded bits in the first sequence, for TrCH i .
 
These parameters are produced at the frame rate. Also, there are generally no floating/fixed point or performance issues.
       

     The time slot rate processing section  10   b  provides fast TFCI processing to produce the list of the channelization codes by means of a Fast TFCI processing element  13 . The Fast TFCI processing element  13  uses the rxTFCI as data and the previously computed values of Ncodes and other TFC parameters as control signals via inputs  20  and  22  respectively, to determine a list of transmitted codes of all CCTrCHs in the current frame. The Fast TFCI processing element  13  also includes the control Physical Channel Map input  24  and a timeslot number control input  25  since it operates per timeslot. 
     The list of transmitted codes for each CCTrCH, denoted CodeList, and an associated flag, preferably denoted CodeList Valid, is provided via output  32  preferably to Blind Code Detection (BCD) functions of a UE or Code Decision functions of a Node B, Multi-User Detection (MUD) or Single User Detection (SUD), Physical Channel Demapping and Transmit Power Control (TPC) for a UE. If either the received TFCI or Ncodes for the received TFCI of a particular CCTrCH is not available, the list remains empty for that CCTrCH. 
     The preferred functioning of the Fast TFCI processing element  13  is illustrated in the flow diagram of  FIG. 4 . The process is conducted for each CCTrCH allocated for reception in a particular time slot. An initial check is made to see if the code list for the particular CCTrCH has already been generated by checking the flag CodeListValid which is set when a code list is generated. This flag is preferably cleared at the beginning of each new TTI for a CCTrCH. 
     If the CCTrCH has not already been processed, the rxTFCI is checked to determine if it is decoded. If the rxTFCI of a CCTrCH has not yet been decoded, generally it is because the selected timeslot is the first timeslot in the frame of the CCTrCH. In that case, no processing of the fast TFCI is possible and no code list is output for the CCTrCH. If the rxTFCI has been decoded, a further check is conducted against the control TFC parameters to ascertain that the TFCI is a valid defined value for the TFCS of the particular CCTrCH. If not, no code list is output for the CCTrCH. 
     If the received TFCI of a CCTrCH has been decoded and is valid, the computed number of codes transmitted in the frame, Ncodes, is then looked up. If the number of transmitted codes of the CCTrCH, Ncodes, has already been computed, the CodeListValid flag is set for that CCTrCH and the transmitted channelization codes in the current frame are determined and output. If the number of transmitted codes has not yet been computed, no code list is output for the CCTrCH. 
     The list of transmitted channelization codes in the current frame for a CCTrCH is preferably determined by ordering the allocated codes of the CCTrCH first by ascending timeslot number and then by code index within each timeslot. For each code of the CCTrCH, if its order within the ordered list (ordinal number) is less than or equal to Ncodes, the channelization code is added to the transmitted code list. The processing of the channelization codes to form the code list can be stopped as soon as the channelization code is added that has an ordinal index number equal to the value of Ncodes for the CCTrCH being processed. 
     Once the transmitted list for a CCTrCH in a given frame has been determined, it remains fixed for the remainder of the frame. This is implemented by the initial check of the CodeListValid flag of the Fast TFCI processing element  13  as discussed above. Preferably, it is required that the transmitted code list is determined in time for use by the MUD to demodulate the next timeslot. There are generally no floating/fixed point issues. 
     Although the above invention has been described with reference to specific preferred parameters and implementation processes and components, it is not intended to be limited to only the preferred embodiment. Other variations will be apparent to the skilled artisan which are within the scope of the present invention.