Title of Invention | A METHOD FOR PROCESSING DATA BLOCKS AND A COMPUTER SYSTEM AND TRANSMITTER THEREFOR |
---|---|
Abstract | A METHOD FOR PROCESSING DATA BLOCKS AND A COMPUTER SYSTEM AND TRANSMITTER THEREFOR The present invention provides an improved transmitter (600) for processing data blocks comprising bits of data coming from multiple transport channels (140) in a transmitter of a radio communication system supporting variable data-rate transmissions. This is accomplished by using a computationally efficient technique for processing the received data blocks for variable data rate transmissions. The transmitter (600) receives the data blocks comprising bits of data (510, 610) from multiple transport channels (140). The transmitter (600) forms rectangular arrays (520) having a predetermined number of columns and rows using the received bits of data such that the columns are based on a segmented radio frame size suitable for variable data-rate transmission. The transmitter (600) equalizes and interleaves the formed columns and reads out bits of data in the equalized and interleaved columns column-by-column (550). The transmitter multiplexes the read-out bits of data for variable data-rate transmissions (560). |
Full Text | A METHOD FOR PROCESSING DATA BLOCKS AND A COMPUTER SYSTEM AND TRANSMITTER THEREFOR FIELD OF THE INVENTION The present invention relates to a method for processing data blocks and a computer system and transmitter therefor, and, generally relates to the physical layer of 3GPP compliant 3G base stations and mobile handsets, and, more particularly, to a technique for reducing required processing power by combining radio frame equalization, interleaving and frame segmentation blocks in 3GPP compliant 3G base stations. Background As radio commimication becomes more widely accepted it will be desirable to provide various types of radio comnnmication services to meet consumer demand For example, sq>port for &c^mile^ e-mail, video, lotemet • access, etc., via radio communicaticm syst^ns are eovisdoned Moreover it is e?£pected that iisers may AvisQi to access differ^ types of services at &^ time. For exanq)le, a videoconference betwera two users would involve both speech and video st^port Some of fliese difEb:eat services will require relatively high data-rates compared with speech service that has been convmtionally supplied 1^ radio conmiunication systems, while other services will require variable data-rate service. Thus, it is anticipated that future radio communication systems will iieed to be able to support high data-rate communications as well as variable data-rate communications. Currently 3G wireless syst^ns siq>port such a variety of q>plications that need different Quality of Service (QoS). The Direct Sequence Code Division Multiple Access (DS-CDMA) based 3G system has greater flexibility in oflFering variable data-rates (up to 2Mbps), which is particularly in^ortant for multimedia and IhtCTiet services. Dtfiferent coding and interleaving schemes are employed in a physical layer to meet tbe required QoS. Because of different coding and interleaving schemes, 3G systems are generally very complex and hence need significant processing power. Interleaving is a system of error control coding whereby adjacent bits are transmitted in different hops and also comprise a forward error correction coding arrangement Therefore, tiiere is a need in the art for reducing complexity in coding and interleaving sch^nes in the physical layer and for reducing processing power requir^nraits wi&ont degradation in pexfcmnance in 3G wireless systems. Summary of the Invention The present invention provides an improved transmitter for processing data blocks including bits of data coming fiom multiple transport channels in a transmitter of a radio communication system supporting variable data-rate transmissions. In one example embodiment, tiiis is acconq>lish6d by using a conq>utationally ef&dent technique for procesdng the received data blocks for variable data rate transmissions. The improved transmitter receives the data blocks including the bits of data from multiple transport channels. The transmitter then forms rectangular arrays including a predetermined number of columns and rows using the received bits of data sudi that tiie columns are based on a segmented radio frame size suitable for variable data-rate transmission. The transmitter th^ interleaves tiie fomied columns and frnther equalizes the columns by filling bits in unfilled elements of formed arrays and reads out column-by-column bits of data to reduce complexity in coding and interleaving sch^nes in the physical layer. The redjuced complexity in coding and interleaving schCTies fiirther results in reducmg processing power requirements without degradation in performance in 3G wireless systems. The transinitt^ tiien multiplexes the read-out bits of data for variable data-rate transmissions. Anotii^ aspect of tiie present invention is a method for processing data blocks including bits of data coming from multiple transport channels in a transmitter of a radio communication system supporting variable data*rate transmissions. The method is performed by receiving the data blocks including tbe bits of data associated with each of the multiple transport channels. Then, rectangular anays includiiig a predet^cmined number of colunms and arrays for each of the received data blocks are formed by filling elements in the fomied arrays with the bits of data associated mfh. each of the data blocks. Then, Ac . columns in each of the formed arrays are equalized by adding filler bits to unfilled elem^ts in the arrays. Then, inter-colunm permutation are peifcnmed for each of the formed arrays based on a look vtp table, and reading-out bits of data from each of the equalized columns in the arrays column*byKX>lumn. Another aspect of flie present invention is a conq>uter readable medium having conqiuter-executable instructions for processing data blocks including bits of data coming fiom multiple tran^rt channels in a transmitt^ of a radio communication cfystem supporting variable data-rate transmissions. According to the method, data blocks including the bits of data associated with each of the multiple transport channels are received and rectangular arrays including a predetermined niraiber of columns and arrays are formed for each of the received data blocks by filling elements in &e formed arrays witii the bits of data associated with each of the data blocks. Then, the columns in each of the arrays are equalized by adding filler bits to unfilled elements in the arrays. Then, inter-column p^mutation are performed for each of the formed arrays based on a look up table, and reading-out bits of data from each of the equalized columns in ^e arrays colunm-by-column. Another aspect of the present invention is a computer system for processing data blocks including bits of data coming firom multiple transport channels in a transmitt^ of a radio communication system supporting variable data-rate transmissions. The computer system comprises a storage device, an output device, and a processor programmed to repeatedly perform a method. According to the mettiod^ data blo(to inda^^ eadi of die mnltiple tnnuiMrt ipAj^vfingftprft^irt^grmin^ wnmbcrofccJinmig yidanays 810 formed the loceivod data blocto 1^ filling de^ data associated wi& eadi of flie data b1oc]& Ilien^ die cohi^ ansys are equalized by adding fiOer bits to nnfifled deme^ intor-cobDiinpeniiiitatioiui are pcrfbcmedfixr each of die fiyined atraEys based en a locA: 19 tabk^ and xeading-oot Uts of data fiom eadi of the eqn^^ in die anrqv cohnnn^-cohnnn. i Accordingly, the present invention provides a method for processing data blocks comprising bits of data coming from multiple transport channels in a transmitter of a radio communication system supporting variable data-rate transmissions, said method comprising the steps of: receiving the data blocks having the bits of data within a Transport Time Interval associated with each of the multiple transport channels; forming rectangular arrays having a predetermined number of columns and arrays for each of the received data blocks by filling elements in the formed arrays with the bits of data associated with each of the data blocks, wherein each of the predetermined number of columns is based on Transport Time Interval suitable for the variable data-rate transmissions; equalizing the columns in each of the arrays by adding filler bits to unfilled elements in the formed arrays; performing inter-column permutation for each of the equalized columns in the arrays based on a look up table; reading-out bits of data from each of the permuted columns in the arrays column-by-column; and multiplexing the read-out bits of data for the variable data-rate transmissions. The present invention also provides a computer system for a method of processing data blocks comprising bits of data coming from multiple transport channels in a transmitter of a radio communication system supporting variable data-rate transmissions, said system comprising: a storage device; an output device; and a processor programmed to repeatedly perform a method, comprising: receiving the data blocks having the bits of data within a Transport Time Interval associated with each of the multiple transport channels; forming rectangular arrays having a predetermined number of columns and arrays for each of the received data blocks by filling elements in the formed arrays with the bits of data associated with each of the data blocks, wherein each of the predetermined number of columns is based on Transport Time Interval suitable for the variable data-rate transmissions; equalizing the columns in each of the arrays by adding filler bits to unfilled elements in the arrays; performing inter-column permutation on each of the equalized columns in the formed arrays based on a look up table; reading-out bits of data from each of the equalized columns in the arrays column-by-column; and multiplexing the read-out bits of data for the variable data-rate transmissions. The present invention further provides a transmitter for processing data blocks comprising bits of data coming from multiple transport channels in a transmitter of a radio communication system supporting variable data-rate transmissions, comprising: a receive module to receive the data blocks having the bits of data within a Transport Time Interval associated with each of the multiple transport channels; an analyzer coupled to the receive module to receive the data blocks and form rectangular arrays having a predetermined number of columns and arrays for each of the received data blocks by filling elements in the formed arrays with the bits of data associated with each of the data blocks, wherein the analyzer equalizes the columns in each of the arrays by adding filler bits to unfilled elements in the formed arrays, wherein the analyzer performs inter-column permutations for each of the formed arrays based on a look up table; an output module coupled to the analyzer to receive the permuted arrays and read-out bits of data from each of the permuted arrays column-by-column; and a transport channel multiplexer module coupled to the output module to multiplex the read-out bits of data for the variable data-rate transmissions. The present invention still further provides a method for processing data blocks coming from multiple transport channels in a transmitter of a radio communication system, said method comprising the steps of: receiving the data blocks having bits of data within a Transport Time Interval associated with each of the multiple transport channels; forming rectangular an^ys having a predetemnlned number of columns and arrays for each of the received data blocks by filling elements in the fbmied an^ys with the bits of data associated with each of the data blocks, wherein each of the predetermined number of columns is based on segmented radio frame sizes suitable for variable data-rate transmissions; equalizing the columns in each of the an^ays by adding filler bits to unfilled elements in the fomied an-ays; perfomiing inter-column pemiutation for each of the equalized columns in the arrays; and multiplexing the pemfiuted columns for tiie variable data-rate transmissions. , Odieras^iectsof^inveotioii'mUbeqyparen^ detailed descx^tion of llie iDVcation and vie^^ ttiocof Figure 1 is a block diagram of a prior art Third Generation Partnership Project (3GPP) radio int^r&ce protocol architecture. Figore 2 is a block diagram including major components of the prior art 3GPP physical layer transmitter sho\m in Figure 1. Figure 3 is a block diagram illustrating die functioning of a prior art first ^ / interleaver and radio fi:ames^;mentation blocks oftheSGPP physical layer shown in Figure 2. Figure 4 is a flowchart illustrating the operation of radio frame equalization, int^leaving, and frame segm^tation of the prior-art 3GPP physical layer shown in Figure 2. Figure 5 is a flowchart illustrating an exan:y)le embodhnent of die operation of the combined radio frame equalization, intedeaving, and frame segmwtation block of the presait invention. Figure 6 is a block diagram iflustrating major components of the computrar-in5)lemented system of the embodim^t shown in Figures 5. Figure 7 is a block diagram of a suitable computing system environm^it for implementing embodimeats of the present ihvmtion, such as those shown in Figures 5, and 6. Detailed Description Hie present invention provides a technique for reducing complexity in coding and int^eaving schemes in the physical layer and processing pow^ requirements without degradation in perfomiance in 3G wireless systems. .This is accomplished by providing compntati numbea: of bits in a TB. Tiansport Block Size is always fixed wifhin a given TBS, fliat is, all TBs wittiin a TBS are equally azecL Gea^:alIy,.trdnsport chaianels 140 sodi as broadcast channels are configured based on type of soivices, for exaai^le telqpbone calls, or browdng the Internet, etc., that the protocol architecture 100 is accessing. During operation^ if a phone call is made RRC110 will configure a dedicated chamiel and MAC 130 will talk to physical layer 150 tiiroug^ this dedicated dmaxel Bach of the transport channels 140 will have a Transport Fonnat (TP). This is generally the format o&esced by Physical Layot 150 to tiie MAC 130 (and vice versa) for the delivery of a TBS during a 'n:ansmission Time haterval (TTT) on a Transport Channel, TF is basically a structure for each of tiie transport channels 140 offered by the RRC 110. TP is like apac^et containing information on what type of op^ation can be performed on ^^ch charmeL Before a tiansport channel is configured, the TF information will be sait by the RRC 110 to flie physical layer 150. Therefore, the physical layer 150 will know ahead of time what operation can be performed for which chamiel. IF is specific to one transport channel TTE is defined as tiiie intor-arrival time of TBSs, and is equal to fte periodicity at which a TBS is tramferred by the physical layer 150 on flie radio interface. It is always a multiple of the minimum interleaving pmod (for example 10,20,40, and 80 milliseconds as the length of one Radio Frame). MAC 130 delivers one TBS to the physical lay^ 150 every TH. The TF contains two parts, one bwig the dynamic part and fce other being the sani-static part. RRC 110 configures each of flie tranq)ort diaimels to recdve data from MAC 130 at a TTI of 10,20,40, or 80 milliseconds. Each transport chaxmel can have its own TTE. Physical chaimel 150 receives data fix>m each of the transport channels 140 ev^y 10 milliseconds (one frame)! Attributes of the dynamic part are: -Trangjort Block Size -Transport Block Set Size (TBSS). TBSS is defined as the number of bits inaTBS. Attributes of the s^on-static part are: -m (10,20,40, or 80 milliseconds) -Eiior protection scheme to ^pply "Type of enror protection (tuibo code, convolution code or no chaxmel coding) -Coding rate (1/2 or 1/3) -Static rate matching parameter -Puncturing limit (FDD: for nplink only) -Size of Cycle Redmidancy Check (CRC) (0,8,12,16, or 24 bits). For exan^le the dynamic part can include [320 bits, 640 bits] whidi are TBSize and TBSS, respectively. The srari-static part can include [10 milliseconds, convolution coding only, static rate matching parameter =1,16 bits] whidi are TTI, Type of Error protection, and bit size of CRC, respectively. Physical layer 150 multiplexes one or several transport channels 140, and for each transport channel, there exists a list of transport formats (a Transport Format Set)'i?drich are appHcable, Nevertheless, at a givenpoint of time, not all combinations maybe submitted to physical layer 150 but only a subset, which is referred to as Transport Format Combinations (TFC). This is defined as an authorized combination of the currently valid TFs that can be submitted simultaneously to the physical layer 150 for transmission on a Coded Composite Transport Chaunel For example: Dynamic part SOTii-static part DCHl: [20 bits, 20bits] [10 ms. Convolution codmg. Static rate matching parameter == 3] r)CH2: [320 bits, -1280 bits] [10 ms. Convolution coding, Static rate matcbing parameter=3] DCH3: [320 bits, 320 bits] [40 ms. Tuibo coding, static rate matdung parametCT=2] Transport Fonnat Combination S^ (TFCS) is defined as a set of TFCs on a Coded Composite Transport Channel ForExanq>le: DynflTnic Part: Combination 1: DCHl: [20 bits, 20 bits], DCH2: [320 bits, 1280 bits], DCH3: [320 bits, 320 bits] Combination 2: DCHl: [40 bits, 40 bits], DCH2: [320 bits, 1280 bits], DCH3: [320 bits, 320 bits] Combination 3: DCHl [160 bits, 160 bits], DCH2: [320 bits, 320 bits], DCH3: [320 bits, 320 bits] Semi-static part: DCH1: [IQms, convolutional coding only, static rate matching paxameta: = 1] DCH 2: [10ms, convolutional coding only, static rate matching parameter = 1] DCH 3: [40ms, Turbo coding, static rate matching parametCT = 2] Note that tiie TFCS need not contain all possible TFCs that can be formed by TFSs of the corresponding TCs. It is only tiie combinations allowed -by the RRC110 that are included. Therd)y a maximum total bit rate of all transport chamiels of a Code Conq)osite Transport diannel can be set jqjpropriately* The Transport Format Indicator (TFT) is an index for a specific transport fonnat within a TFS. It is used in the inta>Iayer commxinication between the MAC 130 and LI 150 each time a traaisport block set is exchanged between the two layers on a transport channel Transport Foitnat Combination Indicator (TFCI) is a representation of the currait TFC. TTiere is a one-to-one conespondence between a certain value of the TFCI and a certain TFC, The TFOl is used in order to inform the recdving side of the cuirCTtiiy valid TFC, and hence how to decode, de-multiplex; and deliver the received data on the appropriate transport channels 140. Figure 2 is a block digram 200 showing major com^xm^its of the ptior-art 3GPP physical layer transmitter 100 shown in Figure 1, Shown in Figure 2 are transport channels 140, physical layer 150 coiq>led to the transport diannels 140, and physical channel(s) 160 coupled to the physical layer 150. As shown in Figure 2, Qiephysical layer 150 includes aCRC attaduneatmodule 210, ablock concatenatiori/Code block segmentation module 215, a channel coding module 220, a rate matching module 225, a first int^leaving module 230, and a radio frame segmentation module 240 associated with each of the transport channels 140. Also shown in Figure 2 is the physical channel 160 including the transport channel multiplexing module 245, physical channel segm^tation module 250, second interleaving module 260, and a physical channel mq)ping 265, In operation, the transport channels 140 receive a data stream fix>m MAC 130 and gives it to the phyacal layer 150 every TTI secojnds. As explained in detail above, Til can be 10,20,40, or 80 milliseconds. Figure 2 shows differmt functions performed on the received data stream before it is spread, modulated, and transmitted to a receiver through the physical channels 160. First, a CRC computation is peafonned on the recdved data by the CRC attachmeut module for each of the data blocks to be transmitted. Hiese blocks are then encoded (turbo/convolution coding) using tiie block concatenation/code block segmentation modules 215 and 220, respectively. Data blocks are then rate matched by puncturing or rq>etition of certain bits to meet the required data rate. Rate matched data blocks are then interleaved using first interieaving module 230, and further segmented to split the int^leaved data blocks to 10 millisecond radio frames using the radio firame segmentation module 240. First interleaving module 230 is a block interieaver, which consists of two stage operations. In the first stage, the input data sequence is written into a rectangular matrix row by row- la tiie second stage, flie order of tiie writtea rectangular matrix includmg the row-by-row data sequence is permuted, Ihe permuting in the second stage includes inter-column permutation. The following example illustrates the two-stage opa:ation of the first intearleaving module 230. If tiie size of the rate matched data block is 54 bits after rate matching by ttie rate matching module 225, TIT being equal to 40 milliseconds, then flie numb«" of columns *C for the lecdved rate matched data block of 54 bits is detennioed using the following illustrated table. Using the above table tiie number of columns *C for a TTI of 40 milliseconds is 4. Then the number of rows *iJ' is computed by finding a Tniiiimiim integer i{ using the equation: K Using the above equation yields a value of 14 for */?.' If tbe rate matched data bits in the received rate matched data block including 54 bits of data are indexed asXo,Xj,X2,... Xss, then the input data sequence for &e first interleaving will be written in the J? jc C rectangul^ matrix row by row as shown in the table below. Shaded parts in the following Table 1 correspond to the uninitialised el^n^its. There are no data bits in the shaded parts of the last row because (R x C) is greater than K^ that is 56-54=2, The second stage tiien includes the inter-column permutation based on a pattern, which depends on TTI. This includes performing the inter-colunm pennutationbasedonfliepattem/P{/>^0'^ft7... C-i; that is shown in the above-illustrated table wh^e P (/) is the original column position of the/-th permuted column. The on^ut of the 1^ mterleaving is then sequence read out column-by-column from flie inter-column pennutediZ x C matrix and flie output is pruned by deleting the non-existing bits in the iapxA sequence, where flie deleting a numb^ of bits / is dejGned as: The following Table 2 illustrates the data matrix in the above table after interleaving. Valid data bits are read out column by column fix)m Table 1, and the data bits after interleaving is Xo,X4,X8-.X52,X2,X6,Xio...X5o>Xi,X5,X9,..X53 , X3, X7, Xii... X51 as iUustrated in above table 1. Note that the last elanrats in 2^*^ and 4 column of Table 2 are not valid data bits and hence are not read. Thou^ flie data blocks are given to the physical layer 150 every TTI, physical laya: 150 has to transmit data every 10 milliseconds. Each transport channel with a TTI of 10,20,40, or 80 milliseconds is segmented into 10 milliseconds equi-sized data blocks. Those segm^ted TTUIO blocks (1,2,4, or 8) are ou^nt to flie physical diannel(s) 160 for multipl^dng in block-wise order every 10 milliseconds. As motioned above, ifK is the nmnber of bits in tiie interleaved data block, and if ^is not exactly divisible by T, where r(T' is equal to TWIO) is the number of segmented blocks (1,2,4, or 8), fbsa filler bits^need to be added to die interleaved data block. This process is ref^ied to as *radio frame equalization/ The number of extra bits added, also called filler bits is equal to r -(LxT)-K^ where L is the number of bits per segmented radio block coneq)onding to a 10 millisecond fiame. The interleaved data stream is segm^ed into jTdata blocks such that, the first (T-T;) data blocks haveX bits of data and the last r data blocks have (L-1) bits of data and one filler bit Figure 3 illustrates the fimctioning of first interleaver and radio frame segmentation blocks of the prior-art 3GPP physical layer diown in Figure 2. As shown in Figure 3, the first interleaving module 230 receives JTbits of rate matched data block and ou^uts permuted iiTbits of rate matched data block 320. Then the Radio ftame segmentation module 240 receives tiie permuted JSTbits of data block 320 and segments them into 10 milliseconds equi-sized data blocks 330. In the example ^nbodiment shown in Figure 3, there are 4 blocks (TTI = 40 milliseconds) including L bits of data in each block corresponding to 10 millisecond fi:ame. The ou^ut data stream of the interleaver in the above illustration is Xo, X4, Xs. - - X52> Xi, Xg, Xio — X50, X2, X5, X9... X53, X3, X7, Xii.,» X51. This stream of data is segmented into data blocks of lO-millisecond radio firames and is fiirflier equalized vsiag the radio fiame segmentation module 240 as illustrated below. In Table 2 the pranuted data blocks K- 54 and T^ 4, \diereZ is the smallest integer which satisfies, K Since the ii^ut block size illustrated in Table 2 is 2 bits short, the first two segmented data blocks will have 14 bits of data, whereas tile last two will have 13 bits of data and one filler bit is added in each of the last two segmented data blocks as illustrated below. Hence the output of radio firame segmoitation module 240 will be — Radio fi:ame#l:Xo,X4,Xg ....JC|8,X52 . Radio fisme#2; X2,X6, Xjo -• X50, Xj Radio jBrame #3: X5, X9, X13... JC53, f Radio fiame #4: X3, X?, Xn .. ..X51, f where T is the filler bit In the prior-art technique described above, the data stream is divided into Tn/lO columns in the first interleaving and then a shi^e stream is fomaed by reading column wise. Again during radio fi:ame segmentation, data is divided into . TTI/iO radio segments. Also, during first interleaving, a decision has to be made to avoid invalid data bits, and again filler bits are insoted during segmentation. Thus, it can be seen that the same operations are done twice without any gain. Also, it can be seen that repeating the op^^tion twice results in consuming additional processing power. As shown in Figure 2, radio frames from different tnmsport channels 140 are th^ multiplexed using tiie transport channel multiplexing module 245. The multiplexed radio.fiames are tiien second level int^leaved using tiie physical channel segm^itation module 250 and the second interleaving module 260, and then m^ped and outputted to the associated physical channels 160 along with pilot and power control bits using the physical channel mapping module 265. Figure 4 is a flowchart ilhistrating a prior art process 400 of radio ftame equalization, interleaving, and fiame segm^tatioa The process begins with step 410 by receiving data blocks including bits of data Step 420 includes forming rectangular anays using the received bits of data. Step 430 includes performing inter-column pennutation of formed arrays. Stq) 440 includes keeping track of locations of unfilled bits in the arrays. Step 450 includes reading-out penuuted arrays to form a data stream. Step 460 includes segmenting tiie read-out stream of data to form frames* Step 470 includes equalizing the fiames by filling unfilled bits in the arrays. Step 4S0 includes multiplexing equalized fiames for data transmission. It can be seen that tiie stq)s 440,450,460, and 470 in the above-described prior art process 400 can be ccmibined into one operation to reduce complexity in coding and intorleaving schemes. Figure 5 is a flowchart illustrating one example embodim^mt of a process 500 of processmg data blocks including bits of data coming from multiple transport channels in a transmitter o;f a radio communication system supporting variable data-rate transmissions. The process 500 illustrated in Figure 5 combines radio frame equalization, int^leaving, and frame segmentation block to reduce complexity in coding and interleaving sdiemes in the prior art process. The process beings with stq) 510 by receiving data blocks including the bits of data within a IVansport Time Interval associated with each of the multiple transport channels. The Transport Time Int^val can be 10,20,40, and/or 80 milliseconds. In oflier embodiments, the Transport Time Interval includes one or more segmented radio frames. In these embodiments, the one or more frames have a time interval of 10 milliseconds. Stq> 520 includes forming rectangular arrays including a predetermined number of columns and arrays for each of the received data blocks by filling ohmmts in the foimed arrays with the hits of data associated with each of the data blocks. Further, the predetermined number of columns is formed based on Transport Time M^val suitable for the variable data-rate transmissions. IQ other embodiments, &e number of rows is depeodait on flie number of columns and the radio frame size. In some embodiments, forming flie rectangular arrays includes selecting the predetermined numb^ of columns using a look \xp table based on fihe Transport Time Interval associated with each of the multiple transport diannels. Then coxnputing the predetsmined number of rows jBnding a minhnum integ^ R such that K Step 530 includes equalizing the columns in each of the arrays by adding fUier bits to unfilled elem^its in the zttays, Stqj 540 includes performing inter-column permutation for each of the formed arrays based on a look itp table. In some embodiments, performing the inter-column permutation includes performing the inter-column permutation for each of the formed arrays using a look up table based on the Transport Time Interval associated with each of the multiple transport channels. Stq) 550 includes reading-out column^y-column bits of data from each of the equalized columns in the arrays, hi some embodiments, the read columns corre^nd to tiie predetermined time interval of 10 milliseconds. Step 560 includes multiplexing .the read-out bits of data for the variable data-rate transmissions. Figure 6 is a block diagram 600 of a transmitter according to the teachings of flie present inveatioiL Shown in Figure 6 are receive module 610, analyze 620, output module 630, memory 640, and transport channel multq)lexer245. la operation, the receive module 610 receives data blocks including bits of data within a Transport Time kiterval associated wilb each of the multiple transport channels. The anafyzer 620 coupled to the receive module 610 tiien fonns rectangular arrays including a predetdtmined number of columns and arrays for each of the received data blocks by filling elem^its in the formed arrays with the bits of data associated with each of tiie data blocks. The predetermined number of colunms is based on Transport Time Interval suitable for fhe variable data-rate transmissions* The analyzer 620 then equalizes tiie columns in eadi of the arrays by adding fill^ bits to unfilled elemants in the arrays and tiien performs inter-column permutation for each of the fonned arrays based on a look up table. The ou^ut module 630 coupled to the analyzer 620 then reads out bits of data from each of ihe equalized columns in the arrays column-by-column and ou^uts the read bits of data. The transport channel multiplexer module 245 Hmx receives the bits of data from the ou^ut module 630 and multiplexes the bits of data for variable data-rate transmissions. The method 500 shown in Figure 5 may be implemented as an ii5)ut module 610, an analyze 620, an ou^ut module 630, a memory 640, and a transport channel multiplexer module 245, as shown in Figure 6. Various aspects of the pres^at invention are iuoqplemented in software, which may be run in tbe ^vironment shown in Figure 7 or any other suitable computing environmoat The present inv^tion is operable in a number of ottier genGtsi purpose or spedal purpose computing environments. Some computing environments are p^:sonal computers, general-purpose computers^ server computers, hand held devices, laptop devices, multiprocessors, microprocessors, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed con:q)uting ravironments and the like to ^ecute the cc^e, which is stored on a computer readable medium. The present invention m^y be in^lem^ited in part or in whole as computer-executable instructions, sudi B£ program modules that are executed by a couxputer. Generally, program modules include routines, programs/objects, conq>on^ts, data stmctures and the like to perform particular tasks or to implooient particular abstract data types. In a distributed con^>uting environment, program modules may be located in local or remote storage devices. Figure 7 shows an exanq>le of a suit^le computing system CTvironm^t 700 for ii£Q>lemating embodiments of the present invention, sucb as those shown in Figures 5 and 6* Various aspects of the presmt inv^xtion are implemented in software, which may be run in the enviroimi^it shown'in Figure 7 or any other suitable computing environment The present invention is op^able in a numb^ of otiier genial puipose or special purpose conq>uting envirotxments. Some computing environmoits are personal coniputers, SCTVCT comput^:s, hand-held devices, laptop devices, multiprocessors^ microprocessors, set top boxes, programmable consumer electronics, network PCs, minicompiit^:s, mainframe computers, distributed computing environmrats, and die like. The present invention may be implanoited in part or in whole as computer-executable instructions, such as program modules fbat are executed by a computer. Gm^rally, program modules include routines, programs, objects, components, data structures and the like to perform particular tasks or to impl^nent particular abstract data types. In a distributed computing enviroimiettt, program modules maybe located in local or remote storage devices. Figure. 7 shows a general computing device in the form of a coKput^ 710, which may include a processing unit 702, memory 704, removable storage 712, and non-removable storage 714. The monory 704 may include volatile 706 and non-volatile memory 708. Computer 710 inay include - or have access to a computing enviromnent that includes - a variety of computer-readable media, such as volatile 706 and non-volatile manory 708, removable 712 and non- removable storage 714. Computer storage includes RAM, ROM, E3PR0M & EEPROM, flash m&mory or other memory technologies, CD ROM, Digital Versatile Disks (DVD) or other optical disk storage, magnetic cassettes, magn^c t^>e, magnetic disk storage or o&xea: magnetic storage devices, or any other medium enable of storing conq)Uta'-readable instructions. Con^ut^ 710 may include or have access to a conq>uting environment that includes ii^ut 716, output 7X8, and a communication connection 720. The computer may opearate in a netwoiked environm^ using a communication connection to connect to one or more remote conq>ut^s. The remote computer may include a personal computer, saver, routo", network PC, a pe« device or otha- common network node, or the like. The commimication connection may include a Local Area Network (1*AN), a Wide Area Network (WAN) or other ndworks. Condusion The above-described invention provides a technique for redudng complexity in coding and interleaving schemes in the physical layer and processing power requirCTients vn&out degradation in performance in 3G wireless systems. The above description is intended to be illustrative, and not restiictive. Many other embodiments will be appar^it to those skilled in the art. The scope of the invention diould therefore be determined by the q>praded claims, along with the full scope of equivalents to which such claims are entitled. WE CLAIM : 1. A method for processing data blocks comprising bits of data coming from multiple transport channels in a transmitter of a radio communication system supporting variable data-rate transmissions, said method comprising the steps of: receiving the data blocks having the bits of data within a Transport Time Interval associated with each of the multiple transport channels; forming rectangular arrays having a predetermined number of columns and arrays for each of the received data blocks by filling elements in the formed arrays with the bits of data associated with each of the data blocks, wherein each of the predetermined number of columns is based on Transport Time Interval suitable for the variable data-rate transmissions; equalizing the columns in each of the arrays by adding filler bits to unfilled elements in the formed arrays; performing inter-column permutation for each of the equalized columns in the arrays based on a look up table; reading-out bits of data from each of the permuted columns in the arrays column-by-column; and multiplexing the read-out bits of data for the variable data-rate transmissions. 2. The method as claimed in claim 1, wherein the Transport Time Interval is a time interval selected from the group consisting of 10, 20, 40, and 80 milliseconds. 3. The method as claimed in claim 1, wherein forming the rectangular arrays having the predetermined number of columns and arrays for each of the received data blocks comprises: selecting the predetermined number of columns using a look up table based on the Transport Times Interval associated with each of the multiple transport channels; and computing the predetermined number of rows finding a minimum integer R such that K 4. The method as claimed in claim 3, wherein performing the inter-column permutation comprises: performing the inter-column permutation for each of the formed arrays using a look up table based on a Transport Time Interval associated with each of the multiple transport channels. 5. The method as claimed in claim 4, wherein each of the read columns corresponds to the predetermined time interval of 10 milliseconds. 6. The method as claimed in claim 1, wherein the Transport Time Interval comprises one or more segmented radio frames. 7. The method as claimed in claim 6, wherein each of the one or more frames has a time interval of 10 milliseconds. 8. A computer system for a method of processing data blocks comprising bits of data coming from multiple transport channels in a transmitter of a radio communication system supporting variable data-rate transmissions, said system comprising: a storage device; an output device; and a processor programmed to repeatedly perform a method, comprising: receiving the data blocks having the bits of data within a Transport Time Interval associated with each of the multiple transport channels; forming rectangular arrays having a predetermined number of columns and arrays for each of the received data blocks by filling elements in the formed arrays with the bits of data associated with each of the data blocks, wherein each of the predetermined number of columns is based on Transport Time Interval suitable for the variable data-rate transmissions; equalizing the columns in each of the arrays by adding filler bits to unfilled elements in the arrays; performing inter-column permutation on each of the equalized columns in the formed arrays based on a look up table; reading-out bits of data from each of the equalized columns in the arrays column-by-column; and multiplexing the read-out bits of data for the variable data-rate transmissions. 9. The system as claimed in claim 8, wherein the processor is programmed to repeatedly perform the step of forming rectangular arrays having a predetermined number of columns and arrays for each of the received data blocks by filling elements in the formed arrays with the bits of data associated with each of the data blocks in which each of the predetermined number of columns is based on Transport Time Interval suitable for variable data-rate transmissions, said Transport Time Interval being a time interval selected from the group consisting of 10, 20, 40, and 80 milliseconds. 10. The system as claimed in claim 8, wherein forming the rectangular arrays having the predetermined number of columns and arrays for each of the received data blocks comprises: means such as herein described adapted for selecting the predetermined number of columns using a look up table based on the Transport Time Interval associated with each of the multiple transport channels; and means such as herein described adapted for computing the predetermined number of rows finding a minimum integer R such that K 11. The system as claimed in claim 10, wherein performing the inter-column permutation comprises: means such as herein described adapted for performing the inter-column permutation for each of the formed arrays using a look up table based on Transport Time Interval associated with each of the multiple transport channels. 12. The system as claimed in claim 11, wherein the processor is programmed to repeatedly perform the step of forming rectangular arrays having a predetermined number of columns and arrays for each of the received data blocks by filling elements in the formed arrays with the bits of data associated with each of the data blocks in which each of the predetermined number of columns is based on Transport Time Interval suitable for variable data-rate transmissions, wherein each of the columns corresponds to the predetermined time interval of 10 milliseconds. 13. The system as claimed in claim 8, wherein the processor is programmed to repeatedly perform the step of forming rectangular arrays having a predetermined number of columns and arrays for each of the received data blocks by filling elements in the formed arrays with the bits of data associated with each of the data blocks in which each of the predetermined number of columns is based on Transport Time Interval suitable for variable data-rate transmissions, wherein the Transport Time Interval comprises one or more segmented radio frames. 14. The system as claimed in claim 13, wherein the processor is programmed to repeatedly perform the step of forming rectangular arrays having a predetermined number of columns and arrays for each of the received data blocks by filling elements in the formed arrays with the bits of data associated with each of the data blocks in which each of the predetermined number of columns is based on Transport Time Interval suitable for variable data-rate transmissions, wherein each of the one or more frames has a time interval of 10 milliseconds. 15. A transmitter for processing data blocks comprising bits of data coming from multiple transport channels in a transmitter of a radio communication system supporting variable data-rate transmissions, comprising: a receive module to receive the data blocks having the bits of data within a Transport Time Interval associated with each of the multiple transport channels; an analyzer coupled to the receive module to receive the data blocks and form rectangular arrays having a predetermined number of columns and arrays for each of the received data blocks by filling elements in the formed arrays with the bits of data associated with each of the data blocks, wherein the analyzer equalizes the columns in each of the arrays by adding filler bits to unfilled elements in the formed arrays, wherein the analyzer performs inter-column permutations for each of the formed arrays based on a look up table; an output module coupled to the analyzer to receive the permuted arrays and read-out bits of data from each of the permuted arrays column-by-column; and a transport channel multiplexer module coupled to the output module to multiplex the read-out bits of data for the variable data-rate transmissions. 16. The transmitter as claimed in claim 15, comprising: a memory to store the look up table. 17. The transmitter as claimed in claims 14 and 15, wherein the analyzer is coupled to the receive module for receiving the data blocks and form rectangular arrays having a predetermined number of columns, said predetermined number of columns being based on Transport Time Interval suitable for the variable data-rate transmission. 18. The transmitter as claimed in claim 15, wherein the analyzer is coupled to the receive module for receiving the data blocks and form rectangular arrays having a predetermined number of columns, said predetermined number of columns being based on Transport Time interval, wherein the Transport Time Interval is a time interval selected from the group consisting of 10, 20, 40, and 80 milliseconds. 19. The transmitter as claimed in claim 15, wherein the analyzer forms the rectangular arrays by means such as herein described adapted for selecting the predetermined number of columns using a look up table based on a Transport Time Interval associated with each of the multiple transport channels, and by means such as herein described adapted for computing the predetermined number of rows finding a minimum integer R such that K 20. The transmitter as claimed in claim 19, wherein the analyzer comprises means such as herein described adapted for performing inter-column permutation for each of the formed arrays using a look up table based on a Transport Time Interval associated with each of the multiple transport channels. 21. The transmitter as claimed in claim 20, wherein the processor is programmed to repeatedly perform the step of forming rectangular arrays having a predetermined number of columns and arrays for each of the received data blocks by filling elements in the formed arrays with the bits of data associated with each of the data blocks in which each of the predetermined number of columns is based on Transport Time interval suitable for variable data-rate transmissions, wherein each of the read columns corresponds to the predetermined time interval of 10 milliseconds. 22. The transmitted as claimed in claim 15, wherein the processor is programmed to repeatedly perform the step of forming rectangular arrays having a predetermined number of columns and arrays for each of the received data blocks by filling elements in the formed arrays with the bits of data associated with each of the data blocks in which each of the predetermined number of columns is based on Transport Time Interval suitable for variable data-rate transmissions, wherein the Transport time Interval comprises one or more segmented radio frames. 23. The transmitter as claimed in claim 22, wherein the processor is programmed to repeatedly perform the step of forming rectangular arrays having a predetermined number of columns and arrays for each of the received data blocks by filling elements in the formed arrays with the bits of data associated with each of the data blocks in which each of the predetermined number of columns is based on Transport Time Interval suitable for variable data-rate transmissions, wherein each of the one or more frames has a time interval of 10 milliseconds. 24. A method for processing data blocks coming from multiple transport channels in a transmitter of a radio communication system, said method comprising the steps of: receiving the data blocks having bits of data within a Transport Time Interval associated with each of the multiple transport channels; forming rectangular arrays having a predetermined number of columns and arrays for each of the received data blocks by filling elements in the formed arrays with the bits of data associated with each of the data blocks, wherein each of the predetermined number of columns is based on segmented radio frame sizes suitable for variable data-rate transmissions; equalizing the columns in each of the arrays by adding filler bits to unfilled elements in the formed arrays; performing inter-column permutation for each of the equalized columns in the arrays; and multiplexing the permuted columns for the variable data-rate transmissions. 25. The method of claim as claimed in claim 24, wherein segmented radio frame sizes suitable for the variable data-rate transmission comprises: Transport Time Interval suitable for the variable data-rate transmissions. 26. The method as claimed in claim 25, wherein performing the inter-column permutation comprises: performing the inter-column permutation for each of the equalized columns in the arrays based on a look up table. 27. The method as claimed in claim 26, wherein the look up table is based on a Transport Time Interval associated with each of the multiple transport channels. 28. The method as claimed in claim 25, wherein multiplexing the data from the permuted columns comprises: reading-out bits of data from each of the permuted columns in the arrays column-by-column; and multiplexing the read-out bits of data for the variable data-rate transmissions. 29. The method as claimed in claim 27, wherein each of the read columns corresponds to the predetermined time interval of 10 milliseconds. |
---|
325-CHENP-2003 AMANDED CLAIMS 24-05-2010.pdf
325-CHENP-2003 AMANDED PAGES OF SPECIFICATION 24-05-2010.pdf
325-CHENP-2003 CORRESPONDENCE OTHERS 24-05-2010.pdf
325-chenp-2003 form-1 24-05-2010.pdf
325-CHENP-2003 FORM-2 24-05-2010.pdf
325-chenp-2003-assignement.pdf
325-chenp-2003-correspondnece-others.pdf
325-chenp-2003-correspondnece-po.pdf
325-chenp-2003-description(complete).pdf
325-chenp-2003-other documents.pdf
Patent Number | 240813 | ||||||||
---|---|---|---|---|---|---|---|---|---|
Indian Patent Application Number | 325/CHENP/2003 | ||||||||
PG Journal Number | 23/2010 | ||||||||
Publication Date | 04-Jun-2010 | ||||||||
Grant Date | 02-Jun-2010 | ||||||||
Date of Filing | 27-Feb-2003 | ||||||||
Name of Patentee | SASKEN COMMUNICATION TECHNOLOGIES LIMITED | ||||||||
Applicant Address | 5008 12B MAIN, HAL 2ND STAGE, INDIRANAGAR, BANGALORE, KARNATAKA 560 008 | ||||||||
Inventors:
|
|||||||||
PCT International Classification Number | H03M 13/27 | ||||||||
PCT International Application Number | PCT/IB01/01515 | ||||||||
PCT International Filing date | 2001-08-21 | ||||||||
PCT Conventions:
|