CA2088111C - Method and apparatus for using orthogonal coding in a communication system - Google Patents
Method and apparatus for using orthogonal coding in a communication systemInfo
- Publication number
- CA2088111C CA2088111C CA002088111A CA2088111A CA2088111C CA 2088111 C CA2088111 C CA 2088111C CA 002088111 A CA002088111 A CA 002088111A CA 2088111 A CA2088111 A CA 2088111A CA 2088111 C CA2088111 C CA 2088111C
- Authority
- CA
- Canada
- Prior art keywords
- data
- group
- input
- code
- soft decision
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J13/00—Code division multiplex systems
- H04J13/10—Code generation
- H04J13/12—Generation of orthogonal codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B7/00—Radio transmission systems, i.e. using radiation field
- H04B7/14—Relay systems
- H04B7/15—Active relay systems
- H04B7/204—Multiple access
- H04B7/216—Code division or spread-spectrum multiple access [CDMA, SSMA]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J13/00—Code division multiplex systems
- H04J13/0007—Code type
- H04J13/004—Orthogonal
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Error Detection And Correction (AREA)
Abstract
A method and apparatus is provided for encoding and decoding. In encoding, bits are encoded into symbols such that maximum likelihood decoding is facilitated. Groups of symbols are translated by either interleaving by group each group within a block and subsequently deriving an orthogonal code from each group or deriving an orthogonal code from each group and subsequently interleaving by code each code within a block. In decoding, groups of samples are transformed by either generating metrics and index symbols for each group of samples and subsequently deinterleaving by group each group of metrics within a block or deinterleaving by group each group of samples within a block and subsequently generating metrics and index symbols for each deinterleaved group of samples. Each metric represents the confidence that a group of samples is a particular orthogonal code. Subsequently, maximum likelihood decoding generates an estimated bit from the index symbols and metrics.
Description
hr ,9 ~ ~ I? ~ ~
METHOD AND APPARATUS FOR USING ORTHOGONAL
CODING IN A COMII IUNICATION S' F;eldOtthe h~J_ntjOn The present invention relates to communication systems which employ spread-spectrum si~nals and, more particularly, to a method and appar..:us for convolutional oftl,G~onal codin~ in a spread spectrum 10 communication system.
~acl~.vund ot the Invention Communication systems take many forms. In ~eneral, the 15 purpose of a communication systern is to l.~r~,..;l information-bearin~
siQnals from a source, located at one point, to a user Je3tination located at anotl,er point some distance away. A communication system ~enerally cons;~ of three basic CG.-" Gnents; transmitter, cl,al,nel, and ,eceiv6r. The transmmer has the function of ~rucessin~ the ",essage 20 si~nal into a form suitable for lr~,ns.., . ion over the cl,annel. This prucessi"~ of the ",essa~e si~nal is It,fe~ to as modu'~tion. The function of the cl,annel is to provide a phJ~;,;cal conn~tion bet~0an the transmitter output and the r~ceiver input. The function of the ~~cer/er is to p-ucess the received si~nal so as to prociuce an e~ lld1e of the -2- 2 ~
ori~inai ",essa~e si~nal. This prucess~n~ of the rbca vGd signal Is referred to as demodulation.
Two types of two-way communication channels exist narnely, p~int-to point channels and p~int-to-multipoint channels. Examples of 5 p~oint-to-p~oint channels include wirelines (e.~., local te ephone ~ n5~ 3'0n), mio,.. - ve links, and op~tical fibers. In corlt~l, point-to-multip~oint channels provide a capability where many ,ao~h~in~ stations may be rbacll6d simuitaneously from a single transmitter (e.~. cellular radio telephone comrnunication systems). These point-to-muitipoint 10 systems are also termed Muitip~e ~Jr~ss Systems (MAS).
Analo~ and diQital t~anslllis sicn ",~th~ls are used to transmit a ",e~A~e s~i~nal over a communica1ion cl;annel. The use of di~ital .,l~thG~ offers several operational advantages over analog ~"etllG~, includin~ but not limited to: increaseJ immunity to ci,annel noise and 15 inte,ft7r~nG~, flexible operation of the system, ce"""on tormat forthe b~ns" s sion of different kinds of 1~65S~G siQnals, improved security of communicalion throu~h the use of enc~yption, and ;~ ,as~l capacity.
These aJ~ tages are attained at the cost of in.; ~asecl system complexity. I lo. 3ver, throu~h the use of very lar~e-scale inte~ration 20 ~VLSI) lechn~l~c,J a cost-eff~ct;1/e way of building the hardware has been dev~ ~pad To transmit a ,..essa~e si~nal (either analo~ or di~ital) over a band-pass communication cl,annel, the ",essADe si~nal must be manipulated into a form suitabl0 for efficient l~a~ sicn over the 25 channel. Modification of the ",essa~e si~nal is ach-3v6d by mean~s of a p,ucess termed modulation. This prucess ~ olve5 varyin~ some parameter of a carrier wave in A~rd~nce with the ",essa~e signal in such a way that the spectrum of the modulated wave matches 1he assi~necl channel bandwidth. C~ "espondin~ly, the f~iv~r is required 30 to recreate the original n,essage si~nal from a de~l'ddad version of the transmitted signal after -.rup~t;Gn through the cl ,annel. The re-c,u~tion is accomplished by usin~ a process known as demodu'q~ion, which is the Inverse of the modulation proc~ss used in the t~ s",~1ter.
In addition to providin~ eflicient t~.n~".l s'cn, there are other 35 ._asons tor psrforrninQ modu'~ion. In particular, the use of modulation perrnits multiplexin~, that ist the simu~aneous l,dns", ~ eion ûf si~nals from s0veral ",es~e sources over a cG1"",on channel. Also, 3~
modulation may be us~d to convert the ",e~ 0 si~nal into a form less sv~e~ti~le to no~se and inIe"~runce.
For multiplexeci communication systems, the system typic~ly consists of many remote units (i.e. sui~,iL er units) which require active 5 service over a communication cl,ann~l tor a short or discrete portion of the communication channel resource rather than continuous use of the resources on a communication ci,annal. Ther6 ~r~, communication systems have been desi~ned to inco",Grdte the characteristic of communicatin~ with many remote unHs for brief intarYals on 1he same 10 communication cl,snnel. These systems are brmed multiple access communicstion systems.
On~ type of muitiple access communication system is a spraad spectnum syst0m. In a spread spectrum system, a modulation technique is utilized in which a transmined si~nal is spread over a wide frequenc~
15 band within the communication cl,annel. The trequency band is much wider than the minimum bandwidth required to transmit the information being sent. A voice si~nal, for example, can be sent with amplitude mociulation (AM) in a bandwidth only twice that of the info...,ation Hself.
Other forms ot modulation, such as low deviation frequency modulation (FM ) or sin~le s;deband AM, aiso permlt information to be transmitted in a bandwidth co",par~ble to the bandwidth of the information itself.
However, in a spread spectrum system, the modulation of a signal to be IrL.~.~I;lted often includes takin~ a bAcebAnd si~nal (e.~., a voice channel) with a bandwidth of only a tew kilohertz, and distributin~ the si~nal to be t~dns",ilte.l over a trequency band that may be many ",e~ahe,k wide. This is accomplished by modulatin~ the si~nal to be t~- n~nl;ll.,d with the info""ation to be sent and with a ~ ;deband encodin~ si~nal.
Three ~eneral types o~ spraad spectrum communication techniques exist, includin~:
n~re~ ~~A~V ~ence The mo~lu'~;on ot a carrier by a di~ital code sequence whose bit rate is much hi~her than the information si~nal bandwidth. Such ~ste",s are referred to as "direct sequence~ modulated _yste."s.
2 ~ ~ r', L ~ ~
Carrier trequenc~ shiftin~ in ;ii~,~e il~.t""euts in a pattem dictated by a code sequence. These sy~ s are called Yrequency hop~ The transmitter Jumps from frequency to trequency within some p,~dele,--~inecl set; the orcler of frequency usa~e is d~,ter"-;ned by a code sequence. Similarly ~time hoppin~ and ~time-frequency hopp~ ~ have times of t~ns... s~ion which are re~ulated by a code sequence.
Puls~FM or ~chirp" modula~ion in which a carrier is swept over a wide band during a ~iven puise interval.
b~hD~ tion (i.e. the ~--essa~e si0nal~ can be e--~t~lded in ~he spread spectnum si~nal by several ...~tl.~. One method is to add the 15 information to the spreadin~ coele before it is used for spreadin~
modulation. This technique can be used in diract sequence and frequency hopp;n~ systems. It will be noted that the intv.-"ation bein~
sent must be in a di~ital form prior to aWing n to the spreading code, be~se the co--~bin 3tion ot the spreadin~ code and the infolllldtion 20 typically a binary code in~ 0s module-2 addiiion. Alle~ ti,roly, the information or ",essage si~nal may be used to mod~ te a carrier before s~r~Ji~ ~t.
Thus, a spread spectrum system must have two propenies: (1 ) the transmitted bandwidth should be much ~reater than the bandwidth or 25 rate of the i"f~ r",dtion bein~ sent and (2) some function other than the infu~ tion bein~ sent is employed to Je~,r",ine the resul~in~
rnodulated channel bandwidth.
Spread spectrum communication s,~te"-s can be multiple access systems communication systems. One type of multiple access spread 30 spectnum system is a code division multiple acc~ss (CDMA~ system. In a CDMA system, communication bGh\een 1wo communication units is accomplished by sp,~lin~ each l,dns,.~ ed si~nal over the frequency band of the communlcation channel with a unique user spreadin~ code.
As a result, transrnmed si~nals are in the same frequency band ot the 35 communication channel and are separated only by unique user spre&din~ codes. These unique user spreadin~ codes pr,f~rably are G11hG~onal to one an~nl,er such that the cross~"e~ldtion ~ eGn the sprb&~ codes is appruxi,,,ately zoro. CDMA sy~t_ms may use direct sequence or frequency hoppin~ spreadin~ techniques. Particular transmitted si~nals can be ..,t~ia~ed frem the communication cl,annel by de5.pr~adin~ a signal ,t,p,~s~nt~tive of the sum of si~nals in ths 5 communication chann~l with a us~r spreadin~ cocie relat 3c to the par~icular transmitted si~nal which is to be retriev~ from the communicatTon channel. Further, when the user spreadin~ codes are otli,G~onal to one ar.tl-er, the received si~nal can be correlated with a particular user spreadin~ code such that only the desired user signal 10 related to the particular spreadin~ code ie ~nll,anced while the other si~nals for all of the other users are not enl.anced.
it will be appruc;ated by those skilled in the art that several dlffererlt spr~in~ codes exist which can be used to sep~ e data si~nals from one an~tl-er in a CDMA communication system. These 15 spreadin~ codes include but are not limited to pseudono;se (PN) codes and Walsh codes. A Walsh code co,..,5.poriJ~ to a sin~le row or column of the i lada...ard matrix. For example, in a 64 cl,annel CDMA spread spectrum system, particular mutually c~lh~onal Waish codes can be selected from the set of 64 Walsh codes within a 64 by 64 Hadamard 20 matrix. Also, a particular data si~nal can be sepa, nt~l frorn the other data si~nals by usin~ a particular Walsh code to spread the particular data si~nal.
Further it will be appr~ciated by those skilled in the art that spreadin~ codes can be used to channel code data si3nals. The data 25 signals are channel coded to improve pelfl,r--,ance of the communication system by enablin~ ns",;l~ed si~nals to better withstand the effects of various cl.ahnel impairments, such as noise, fading, and ja""";n~. Typically, channel codin~ reduces the probability of bit error, and/or reduces the required signal to noise ratio usually 30 eA~Jrdssed as ener~y per bit divided by noise density (Eb/No), to recover the signal at 1he cost of expendin~ more bandwidth than would otl,er :se be necessA~y to transmit the data si~nal. For example, Walsh c~ies can be used to channel code a data si~nal prior to modulation of the data signal for subse~uent h~ris" ~ssion. Similarly PN s~,r~adin~
35 c~des can be used to channal code a data si~nal.
A typical spread spectrum l-dns", s sion i-)~lv~s expandin~ the bandwidth of an in1u~l.~ion si~nal, transmfflin~ the ex~,anded si~nal and recovering the desired inforrnation signal by remapping the ,~ce:~e~l spread spectrum into the ori~inal infon..~tion si~nals bandwidth. This series of bandwidth trades used in spread spectrum si~naling techniques allows a communication system to deliver a 5 relatively error-~ee infu,,.,~tion siQnal in a noisy signal er,i;.un",6n~ or communication cl,annel. The quality of r~very of the ll~)~lllitled information si~nal from the communication cl,annel is measured by the error rate (i.e. the number of errors in the ~ ery of the transmined si~nal over a partioular time span or receiveJ bit span) for some E~
10 As the error rate i"c,~ases the quality of the si~nal received by the ,~coiv;n~ y d~r~ases. As a result, communication :,~Al~llls typically are ~si~"e~l to limit the error rate to an upper bound or ma~dmum so that the d~,~ldtion in the quali~y of the received si~nal is limited. In CDMA spread spectrum communication systerns the error rate is 15 related to the noise inte,ft,r~nce level in the communioation channel which is d~rectly related to numb~r of simultanaous but code divided users within the communication channel. Thus, in order to limit the maximum error rate, the number of simultaneous code divided users in the communication chanl)el is limited. However, the er~or rate can be 20 reduced by usin~ cl,annel codin~ scl,6",es. Thereforc, by using cl,annel codin~ sche",es the number of slmultaneous users in a communication cl.annel can be ;n~;,t,as~J while still maintainin~ the same maximum error rate limit.
As discussed in ~ nrnmllni~in-l~ Fl~n-l .."~nt~ nrl 25 ~plications by Bernard Sklar, published by Prentice Hall, En~lewood Cliffs, New Jersey in 1988, espedally chapters 5 and 6 entitl0d ~Channel Codin~" hund on pa~es 24~380, severai of these cl,annel codin~ scl,e",es have been dev~ ~p~d for use in communication systems. I lo-v3ver a need exists for these channel codn~ sche",es Io 30 be specitically opti",ked for use in CDMA spread spectnum communication systems. Through the use o~ these opti",i~ed channel codin~ sche",es, the number of simultaneous users in a communication channel can be inc,eased over the number of simultaneous users in a communication channel usin~ non-optimized channel codin~ while 35 maintainin~ the same maximum error rate limit.
-7~
Summary of the Inven1bn A method and a~par~t~s is provided for usin0 orll,o~onal cocies in encociin~ and decodin~ in a communication system. In encodin~, 5 input bits of a data si0nai are enc~J~- into data sy..~bols and the data sy~lliJGls are ~roupec. The dah ~,l~i~ls are encoc~l with an encotiin~
al~orithm (e.~., a block coeiiny al~orithm or a convolutional cociin~
al~orithm) which fadlitates subse~ ent ma~dmum likelihooci decodin~ of the data symbols ~nto estimatea data bits. The ~roups of data symbols 10 are translated accordir~ to e~ther one of two al~orilh-"s. The first al~orithm cons;sts of interie~ n~ by ~roup each ~roup of data symbols within a pr~Jet~"";ned size block and s~se~ ently de,i~;n~ an o,li-o~on~l code from each ~roup of int6rle- ~ecl data symbols. The altemative second al~orithm consists of der;J:n~ an o,ll,o~onal code 1~ from each Qroup of data sy"~l,ols and su~lse1~ently interleavin~ by orlhc~onal code each olll,~onal code within a pr~ater-,lined ske block.
In dec~lin~, received data samples are ~rouped. The ~roups of data samples are t~dnsfol-,-~i accorciin~ to either one of two al~GIill""s.
20 The first aigorithm consR,ts of generdti"~ a plurality of sofl decision similarity metrics and index data Sy~ Gl.3 for each ~roup of data sa""~ies such that one son decision metric is A~SG~ with each index data symbol and s~hse~uently deinterleavin~ by ~roup each ~roup ot sOn decision metrics wlthin a pl~,dute.-,lined ske block. The altemative 25 second al~orithm consists ot deinterieavin~ by ~roup each ~roup of data samples within a predetermined size block and suhse~l~ently ~eneratin~ a plurality of son decision similarity metrics and index data sy."bGls tor each deinterieaved ~roup of data samples such 1hat one soft de~s;on metric is associated with each index data symbol. Each 30 sOn decision metric corlespGfi~b to a measure of contidence that a particular group ot data samples is substantially similar to a particular o~l ,Ggonal code from within a set ot mutuaily Gr~ onal codes. After the ~rouped samples are l,ansfo""ed, at least one estimated data bit is ~enerated by utilizin~ maximum ITkelihood decodin~ techniques to 36 derive the at least one estimateci data bit from lhe index data sy.nl~ls and ~-csoc;~sd sott decision metrics.
Bfief Desc~i~t;on of the Drawin~s FIG. 1 is a block dia~ram sh D~ '.~ a prior art communication system which uses o-lho~onal codin~.
FIG. 2 is a block dia~ram showin~ a preferred embodiment communicatinn system which uses oflhG~pnal codin~.
FIG. 3 is a block dia~ram showin~ a preferred embodiment decodin~ appar~ls which uses a Ille.-lG~y based lookup table.
FIG. 4 is block diagram showin~ a preferred embodiment matfix ,t".-asen1ation of an i,~lea~er loaded with encocled.data bi~s.
FIG. 5 is a dia~ram showin~ the tr~llis dia~ram of an example cor,.~L!lnicnal encodin~ ~enerator for an erH:ocler.
Detailed Descfi~t;on Referrin~ now to FIG. 1, a pfior art system for using Gl 11 ,~onal codes in encoding and dec~Jin~ in a communication system is shown.
In the encodin~ portion 100 of the communlcation system, traffic channel data bits 102 are input to an enc~xler 104 at a particular bit rate (e.g. 9.6 kbiV~econd). The input traffic channel d~ta bits can include either voice conJe.ted to data by a vocoder, pure data, or a combination of the two types of data. ~ncoc er 104 encodes the input data bits 102 into data ,,I~I~I~s at a fixed encodin~ rate with an encodin~ al~orithm which facilitates subse~;uent maximum likelihooci decodin~ of the data sy.lllJGI-~ into data bits (e.~. convolutional or block codin~ ai~o,i~l""s).
For example, encoder 104 en~des input data bits 102 (r~ceived at a rate of 9.6 kbits/second) at a fixed encodin~ rate of one data bit to three data sy.llbols (i.e., 1/3) such that the enc~br 102 outputs data symbols 106 at a 28.8 hsy-,lL~ls/aeconcl rate.
The data ayllll~ls 106 are then input into an inlerled~er 108.
In~elleaver 108 block i"te,lea~es the input data s~ bols 106 at the symbol level. In the inlerleaver 108, the data sy-l~l~ls are individually input into a matrix which defines a predete"":ned size block of data sy,-~bcls. The data ay.ld~ols are input into locati3ns within the matrix so that the matrix is fllled in a column by column ,.,anner. The data sy.-ll~ls are individually output from locations within the matrix so that the matrix is emptied in a row by row manner. Typically, the matrix is a ~9 ~ iJ .~ ~ J ~
squar~ matrix havin~ a number of rows equal to the number of columns;
h~ eJer, other matrix forms can be chosen to inclease the output interieavin~ distance bGtws0n the cor~secuti~Gly input non-inle~ed~ed data s~ l,sls. The in!eriea~ed data iJ.nl,ol~ 110 are output by the intenieaver 108 at the same data symbol rate that they were input ~e.~., 28.8 l~ s~o~rl.11. The predetermined ske of the block of data l~ls d~fined by the matrix is derived from the ma~dmum number of data sy~,ll~ls which can be transmitted at a ~r~bt~ ined chip rate within a ~ et.,.,.lined len~th llnna,lll ssen block. For example, if data -I,llbols 106 are output trom the encocler 104 at a 28.8 h~J.,l~l~s~o~nd rate, then the maximum ~rt,del~rlnin0d chip rate for transmittin~Ihosedatas~ bols106is28.8 i~ bol-~ecend. Further, for example if the precletel"lined len~th of the l-~ns", ~ sion block is 20 millisecor,~, 1hen the predetermined ske of the block of data ~.,l~ls is 28.8 h~ k-ocond times 20 milliseconcls which equals ~76 data ~;,nbols which deSines a 18 by 32 matrix.
The interic~/od data , ~,l~ls 110 are then input to a mapper 112. The mapper 112 derives a sequence of fixed len~th o-Il,G~onal codes 114 (e.~. 64-ary Walsh codes) from the int~nic~ l data symbols 110. In for example 64-ary ~,,ll,~onal code si~naiing, the interiea~ed data symbols 110 are ~rouped into sets of six to select one out of the 64 G~ll,~onal codes to ,~presen~ the set of six data sy.llbGls. These 64 o,ll,o~onal cocies preferably co"t,spond to Walsh codes from a 64 by 64 I l~h",a,J matrix wherein a Walsh code is a sln~le row or column of the matrix. The mapper 112 outputs a sequence of Walsh codes 114 which co"~spond to the input data s~ bGls 110 at a fixed symbol rate (e.~., 307.2 ksyl"l~la/-scofiJ).
Ths sequence of Walsh codes 114 is output from encodin~
portion 100 of the communication system and input to a transmntin~
portion 116 of the communication system. The sequence 114 is p,e7pa,~d for l,~ns",-ssion over a communication channel by a modulator 117. Subserlllently~ the modulated sequence is provided to an a"tenna 118for l,ansn,)ss ~n overthe communication chanoel 120.
The modulator 117 pr~er~bly pr~pa,~s the sequence 114 for direct sequence code divided spread spectrum l,dns",.ssion by spreadin~ the sequence 114 with a lon~ spreadin~ code (~.~. PN code).
The spreadin~ code is a user spscific sequence of symbols or unique -1o~
user code which is output at a flxed chip rate (e.~., 1.228 Mchlps~oo.,J). In addlt~on to providin~ an identlfication as to which user sent ~he enc~l~l traffic cl.annel data bits 102 over the communication cl.annel 120, the unique user code enhances the 5 security of the communication in the communication channal by scramblin~ the enc~l traffic channel data bits 102. In addition, the user code spread Gna~J data bits (i.e. data ~ ls) are spread by a pair of short spreadin~ codes (i.e. short when compared to the long spreadin~ code) to ~enerate an I cl,ann~l and Q~;l,annel code spread 10 sequence. The I cl,annel and 0 channel code spreadisequences are used to bi-phase modulate a quàdrature pair of sinusoids by drivin~q the power level controls of the pair of sinusoids. The sinusoids output si~nals are summed, bar~ass ffltered, translated to an RF frequency, amplffled, filtered and radiated by an antenna 118 to complete 15 t~_ns-ission of the traffic chan~l data bits 102 in a communicaUon channel 120.
A r~c~:v;.~ poltion 122 of the communication system ~ hJoi the transmined spread spectrum si~nal from over the communication channel 120 throu~h antenna 124. The r~ivod si~nal is sampled into data samples by demodulator 126. ~u~ell~ently, the data sampes 128 and 129 are output to the decodin~ portion 130 of the communication system.
The demodulator 126 preferably samples the rdCO;~/Od spread spectrum si~nal by filterin~, demodulatin~, translatin~ from the l'~F
frequencies, and samplin~ at a predete---,;ned rate (e.~., 1.2288 Msampleshecond) ~bsec uently, the in-phase sampled si~nal and quadrature sampled si~nal are i~,Japefider,lly despread by correlating the ~oe'v~J sampled si~nals with the sho~t spreadin~ codes and the lon~ spr~in~ code. The resultin~ despr~ad in-phase 128 and quadrature 129 sampled si~nals are sampled a predetermined rate (e.~., 307.2 ksamplest~econd so that a sequence of 10ur samples of the reco;~ed spread spectrum si~nal is de~pr~acl andtor r~pr~senteJ by a sin~le data sample).
The in-phase 128 and quadrature 129 sampled si~nals are ir.Jepenclently input to a decodin~ portion 130 of the communication system which non~oher~ntly detecls/d~xles the sampled si~nals 128 and 129 into estimated data bits 168. In orderto decode the sampled 8ignals 128 and 129, predeterrnin~d len~th ~roups (e.g., 64 sample len~th ~mllps) of sampled si~nals are i.,deper~ldntly input to o-ll,~onal code ll~r,sf~ ""e-s (e.~., tast I lada--l~.J ~dnsfe"-.er~) 132 and 134, respectively. The G,ll,o~onal code l,an:.f,,---e.~ 132 and 134 output a plurality of Ir~nsfer",er o~nput si~nals 133 and 135, ru~pecti~/ely (e.~.
when 64 sample len~h ~roups are input, then 64 l~hsfor,--er output si~nals are ~ener~t~,J). Each t~ansfl,---,er outp~ si~nal oelle,spon~ to a measure of confidence that a particular ~roup of sampled signals col,.,sp~nds to a particular o,ll,~on~ eode from wlthin a set of mutually 10 s,11,G~or,~ codes. In aWition, each t~dnslollller output si~nal has an associated index data symbol which indicates which particular orll-G~or.al code from within a set of mutually o. II,o~onal cedes that the ~c.nsfol...er output si~nal co--t,s~,or,J~ to (e.~. when 64 sample length ~roups are input, then a 6 bit len~th index data symbol can be 15 ~ d with the lrnnsfullller output signal to indicate the particular 64 bit length olll,o~onal code to which the I~d" .~ --er output si3nal cGIldsporlJ~). S~lhsenuently, each ll~"a~ ,--er output signal ~hin the groups of l-dnsf,r",er output si~nals 133 and 135 is squared by bt-r,:,ful-"Qr output si~nal squarin~ ",~I,an;_..R. 136 and 138, 2û res~3ctively. .SI~bse~p~ently, a ~roup of docision vaiues 142 is ~enerdted (e.~. when 64 l,c.n;,fo""er output signals are ~enerdted, then 64 decision values are ~enerated) by addin~ ",~I,ani_." 14û which adds lo~dll,er each pair of s~juared b~r,;.h r",er output si~nals (i.e. one from each of the t,dnsf.r" er output si~nal squarin~ ",eol,an;_."s 136 25 and 138) havin~ associated index data symbols which indicate that the l,dn~for",er output si~nals cor,~sponJ to the same ~ onal code.
The ~roup of decision values 142 and associated index data Syll~bG15 are input to a se ection ~,.ecl.ani_.-. 144 which selecis the maximum decis;on value from the ~roup of decision values 142. The 30 se sct~d d6 r s on value 146 is input to a metric comri~t-';cn ~I~ecl~ar~;c." 150 which scales the se scted decision value to a value 154 which can be used as a scalin~ factor in formin~ individual soft decision data which can s~ ~hsecluently be used in formin~ soft decision transition metrics for maximum likelihood decodin~ techniques. The index data symbol 35 ~ssoc; Aec! with the se s~ct~d decision value 148 is input to an index ",appin~ ",e~l,an;_." 152 which maps the index data symbol into a plurality of ~1 soft decision bits 156 (e.~., a 6 bit len~th index data ~1 2-symbol maps into 6 soft decision bits). Muitipiier 158 multiplies each of the pluraiity of +1 sof~ decision bits 156 by the scaiin~ factor 154 to form an individuai sofl decision data 160 for each soft decision bit (e.~., 6 soft decision bits form 6 individuai soft decision data). The individual soft decision data are formed at a predetermined rate related to the number ot metrics formed per group of data sampies and the rate that the data sampies are input to the e~tho~on~i transforrner (e.~., if the data sampies are input at 307.2 ksamples/second and 6 individual data are 1~)...,~ data samples, then the individuai soft decision data are 10 formed at 28.8 kmetri~scor i).
The individuai son decision data 160 are then input into a deinterieaver 162 which deinterieaves the input soft decision data 160 at the individuai data level. In the deTntcric~ cr 162, the soft decision data are individuaily input into a matrix which defines a predetermined 15 size biook of solt decis~on data. The sott decision data are input into locations within the matrix so that the matrix is fflled in a row by row ~-.aaner. The de~nterieaved soft decision data 164 are individuaily output trom locations within the matfix so that the matrix is emptied in a column by column ~--anner. The deinterieaved soft decision data 164 are output by the deinterieaver 162 at the same rate that they were input (e.~., 28.~ h...~/tlics/~ecofid).
The predetermined slze of the block of soft decision data deflned by the matrix is derived from the maxlmum rate of samplin~ data samples from the spread spectrum si~nai ,ec~:vo i within the 25 p-~bl~."lined len~th t~dns", ssion block, the number of data samples r~pr.,sented by each ~roup of data samples, bit len~th of the index data symbol A~SOC' ~A~I with the soft decision vaiue selecteci for each ~roup of data samples input to the orll,G~onal code l,dnsh,,-"er, and the number of soft decision data forrned from the s~'s~ted soft decision 30 value and ~soc~ d index data symbol. For example, if the maxlmum rate of samplin~ data samples from the r~ ~ ~h~l spread spectrum si~nal is 307,200 data samples/~econd, the pred~t~,r,.lined len~th of the ~,s...;sslon block is 20 mllliseconJ~, the bit len~th of the s~'~cted ~ndex data symbol per ~roup of data samples is 6 bltsl index data 35 symbol associated with a ~roup of 64 samples, and the number of soft decision data formeci per index data symbol is 6 individuai data/ index data symbol, then the predet0rmined size of the block of soft .~ 's'~n data is 307,200 samples/second times 20 millisecor~ times 6 bit index data symbo~'index data symbol times one index data symbol/64 samplas times 6 individual data/ 6 bit index data symbol which equals 576 sott decision data The deinterieavsd so~t decis~on data 164, are input to a Jecoc er 166 which uses maximum likelihood bcodin~ techniques to ~ener~e estimated traffic cl)annel data bits 168. The maximum likelihooci decodin~ techniques may ~ au~mented by usin~ an al~orrthm whic~ is substantially similarto a Viterbi decodin~ al0orithm. The de~Jer 166 uses a ~roup ot the individuai sOn decision data 164 to form a set ot sott decision t~n;,i~ion metrics for use at each particular time state of the maximum likelihooci sequence estimation ~o.J~r 166. The number of sott decision data 164 in the ~roup used to form each set of sott decision transition metrics co~l~spol;~ to the number o~ data s~"d~ls 106 at the output of the convolutional encoder 104 ~ener~ed from each input ciata bil 102 The number of soft decision transition metrics in each set is equal to two raised to the power of the number of soft decision dala 164 in each ~roup For example, when a 1/3 convolutional encoder is used in the transmitter, three data s~ ~l~ls 106 are ~enerated from each input data bit 102 Thus, c5ecoder 166 uses ~roups of three individual soft decision data 164 to form ei~ht soft dedsion transition metrics for use at each time state in the maximum likelihood sequence esti",alion decoder 166. The esli",~J data bits 168 are ~enerated at a rate related to the rate that thc soft decision data 164 are input to the Je~der 166 and the fixed rate used to originally encode the input data bits 102 (e ~., if the soft ~e 1~ cn data are input at 28 8 I-, et~ics/~econd and the ori~inal enco J; ~ rate was 113 then estima~ed data bits 168 are output at a rate of 9600 bits/secor,d) Thus, a communication system for usinQ G,ll Ggonal codes in encoJing and decoJin~ has been described above with ~,fer~nce to FIG 1 In summary, the communication system includes a first portion which encoJes input data bits into data s~ l~bGls, inte,lea~es the data _yl.~bGls in a symbols by symbol manner, maps the i,l~erleaved s~m l~ls into G,ll ~onal codes, modulates and transmits the G,l1,o3onal codes over a communication channel The communication system further includes a second portion which receives and democl~l t~s a si~nal from over the communication channel, l ~nsh,l lls ~roups of samples of 2 ~ 3 .'3 1 1 the demodulated signal into a ~roup of measures of confidence that each particular group of samples c~ pon~ to a particular s,ll,~onal code from within a set of mutually ~,~ll,o~onal cod~s, selectin~ the one lar~est measure of confidence from each Qroup of measures of 5 confidence and an indcx data symbol which identifles the particular ~ lhG~onal code cG"~sponJin~ to the ~sle~ec measure of confidence, ~ene~t;n~ soft decision data from each ~ ed measure of confidence and ~so~iRtsd index data symbol, deinterleavin~ the soft decision data within each received t~ns~ ion block, suhse-luently ~en6rdlin~ soft 10 decision ttansition metrics from ~roups of deinterleaved individuai sofl decisicn data, and subse~ sn~ly-~ener~t;.~g estimated data bits from the soft decision m~trics by usin~ ma~imum likelihood (lec~in~ techniques.
Referrin~ now to FIG. 2, a preferred embodiment system for usin~
G,ll-G~or,al codes in enc~;n~ and decodiny in a communication system 15 is shown. The preferred embodiment system differs from the communication system shown in FIG. 1 by optimizin~ the enc~;n~
techniques previously deKiil~J above for use with ~,.II,o~onal codes.
In particular when the len~th of the o,ll,o~onal codes to be used in encoding data bits prior to If ~nS~.I Y s'en over a communication channel 20 is known, then si~nificant improve.--ents in the overall pe,f..r",ance of the communication system can be achieved. More specitically, the maximum likelihood sequence estimation (MLSE) decoJin0 al~orithm can be o~li."i~ed by o~ti".;~in~ the encodin~ portion 200 of the communication system as well as the tront end ot the decodi"~ portion 25 230.
In opti",i~ the communication system encodin~ portion 200 and dec~in~ portion 230 with respect to the MLSE decod;n~ al~orithm, one starting point is analyL;n~ the imple"-en~tion ot the MLSE
decodin~ al~orithm to the particular env;run",enl to which it is to be 30 used. For the purposes of this d~ ssion, the env;.un-"en~ will include convolutional encode,~ and "laFp n~ the enc~Jed bits to Walsh codes prior to lldnslll sion. It will be apprec;..ted by those skilled in the art thatthese principles can be applied to other encodin~ techniques such as block encodin~ as well as ",app;.,~ the enc~J~I bits to other kinds of 35 mutually o.ll,o~onal codes. In order to desi~n a convolutional decoder to pe, for." optimal MLSE ~Jecod;n~, the lik~ hood eAur~ssion ot the transitions must be derived. Accordin~ to the theory of ma~timum h ~ ~ $ 3 .~ .
~15-likelihood estimation, for a received si~nal vector x, the likelihooci function of the i-th transition is equai to the conditional probability of vector x bein~ ~enerated by the i-th Waish code wi assoc ated with the i-th transition. For an MLSE dec~ ler the optimal soft decision transition B metric is equivalent to the lo~&r;ll"" of the likelihood funclion.
For the purposes of this ~ ion, the communication system is assumed to be non-fadin~ and to have white, Gaussian no~se with a va.iance ~2 . However, th~s followin~i defivat~ons can oe easily extendeci by one skilled in the ait to non-t~ ;an noise. In a coher~nl 10 detection s,;l,e,..e, the joint prooability density function (pdf) of the cohe,.,ntly received vector x, ~iven wi is sern, can be exp,~ l as:
p(X¦Wi) = (2,~2)N/2 exp 2~2 (eq. 1 ) 15 where a is the cl)annel attenuation anci the su~,e.~lipl H indicates the complex conju~atin~ and barspo~ ~:on, or Hermitian, oper hi3n of a vector or matrix and N is the di",anslon of the vector (i.e. for this example N~64 for a 6~ ~,t/aloh code).
By takin~ the naturai lo~ari~h", of (eq. 1 ) and after expandin~, the 20 optimal metric can be eA~,r~ssecl as:
LnlP(X¦W~)] = ~nl2,~21 + X X-~YTV~I, ~2W~T~ (eq. 2) where, since both x and wi are real, we have replaced the Hemmitian 25 oper~tion (H) by a l,anspose operation (T). All the terrns except -2ccxTw/2~2 in (eq. 2) are co"""on to all the t,~ns;tions. Therefore, the optimum metric is simply -axTw~/a2. Further, xTw~ is the correlation between the l~e:v6d signal vector and the i-th Walsh code (i.e. the i-th output of the Walsh transfor",er). Theretore, the optimal metric tor the i-30 th l,dnsilion is the scaled form ot the i-th output ot the Walsh Indnsfo""er F~ ~ $ .J ,fi ,.3L
In a non coherent detection ~cl-e---a, the Joint probability density fun~tion (pdl3 ot the non o~her~rltly .~c~iv~J veclor x, ~h~en w~ is sent and the modulation an~le ~s ~, can be ex~,-~s6d as:
(-x-a~wi)H(x-ael~) P(x~ (2~a2)N/2 exp 2& (e~i. 3) where the ~c~iv~d si~nal vector is a comp-iex vector. Since ~ is a random an~le with a uniform distribution from O to 2~c, it can be eliminated from the equatbn by inte~ratin~ the eql~ en over the ran~e 10,2JCl. iMorepr~;sel!l~
2,~
(-x-atel~wi)H(x~wl) p(x¦wi)-- (2~ 2)N/2 exp 2& d~
~
-(xHx I a2W~Twl) i~' -(ae~xi~ v, ~ ,Tx) '(2~2)N/2exp 2~2 - Jexp 2~2 d~
-(XHX~a2wiT~ ) r -alxHwi¦
= (27c&)N/2 exp 2~2 Jexp 2~2 cos(~) d~
(eq. 4) where xHwi is ~;;A~ ssed as ¦xHwi¦cos(~).
Since cos(~+~) is a periodTc function of ~ with a period of 2~ and further by use of the definition of lo(z), as the zero-th orcier moaiified 20 i3essel function, the inte~ral poriion of (eq. 4) can be eA~,rt.~s~l as:
2,~ , . ~ .
J p ~aiXHw~lcos(~ p) d~- exp 2a2 bDS(~) d~
o o = 2lO[alxH~l) (eq. 5) -17- ~ ?~
By substitutin~ the r~sult of (9q. 5) into (9q. 4) for the integral portion of (~q. 4), takin~ the natural lo~arill"~, of this version of (eq. 4), and eliminatinQ the co"""on terms ~or all of the transitions, the optimal metric can be ex~,r~sse~
a2 1 (eq. 6) j ID~ 3~rer, IO(Z) (i.e., the zero th order modified Re~sel func~ion) can be ex~,r~ssed as lo(z) . eZ~(z), where ~(z) ~ a monotonically d~,~;n~ function with g(0) - 1 and ~(z) ~ 0.4~for z ~ 1. Thus, the optimal metric of (eq. 6) can be ex~,russ~ as:
Ln 10[~ Ln S~[ ~ - (eq. 7) The second ~errn of (eq. 7) can n~t be essily computed.
Therefore, an appr.,Ai,.,~tion must be used to comput~ the optimal metric. One appru.~i",ation i~ to simply use the first terrn (i.e. the scaled envelope of the Walsh t~..nah,llller output. Anothsr a,oproAi",~ion which avoids a square-root operdtion is to use the squared value or compute 20 the appru,.;",dtion of the ma~nitude of a complex number as the decodin~ metric. Yet an-~l,er appro,d--,dl;on is to se~---erltally app-u,J,~,~te the function ~(z) by usin~ poly~lGIllial equ~tions. Upon eA~ er"-,entdtion with each of these dilferen~ apprvA;nlat;Gns in the non-cohelenl envin,r--,ent deK~ ed above, the ,lillerence between usin~
25 the squared value appruAi."~t;Gn and the segmented poly.,G",;al ap~cnJA~ tion in enor rate pe, h" ",-dnce was determined to be only one to two percent. This Jilfer~nce was deem~d to be not si~nificant enou~h in the preferred embodiment communication system ervirur""ern to justify the extra comrut*~iQnal complexity of se~---ente(J poly"G",ial 30 appruxi",~tions. Therefore,intheprefenedembodiment communication systems, the optimal metric is appru~ "dted as a scaled form of the squared value output by the Walsh code l,dns~ul",er.
This optimal soft decision 1,dnsitiGn metric tor MLSE decûding differs from the metric ~ener~teJ in the communication system shown in 35 FIG. 1 in lhat this optimal transition metric, as computed for example in 3 ~
the pre1erred embodiment communication system shown in FIG. 2, is simply the squared, summed, and scaled outputs of Walsh code l~ansfo~ r:- 2~ and 234. The outputs of the Walsh code ~ansfoh"6r:
232 and 234 can be used directly ~se each ~roup of sampled 5 signals 228 and 229 co"t,spor,ds to a sin~le transmmed G,ll,G~onal code which r~plesents the same set of Input data bits encodeci into a ~roup of data symbols which were ir~t,rlea./ed as a ~roup and ",appe-5 as a ~roup to the transmttted orll,ogonal code.
In con~.~1, the communication system shown in FIG. 1 gene,-~t~s soft decision transHion metrics from a ~rwp of ~ndividual deil~te~e~ocl soft decision data 164~ Each individual soft decision data 164 was computed from the product of a particular selected summed oL tput of Walsh code t~ar,~fo-",e.;i 132 and 134 2nd a bit from the index data symbol associated with the particular output of the Walsh code l~ Thîs use of individual deinterleaved soft decision data 164 to form the soft decision l.ans:lton metrics is nece~eAr~ se each ~roup of sampled signals 128 and 129 CO,~:,pOI;~ to a sin~le t~ s-"itted o,ll,o~onal code which does not ~~pr~7serll the same set of input data btts~ In the encodar 1~0 shown in FIG~ 1, thè encod~l data ~0 bits or data symbols are individually interleaved rather than interleaved as a group~ Then,fore, a ~roup inte,led~ed data ~, "~bols r~r~s6nt;n~
more than one set of input data bits is ",app~ to the l,dns",i~t~J
Grtho~onal code~
Thus, the optimal soft decision transition metrics used in MLSE
decodin~, as shown in EIG~ 2, differ from the metrics ~ener~ed in the communication system shown in FIG~ 1~ In addition, the pr~ferred e,-~Ji...e.)t communication system shown in FIG~ 2 p,.J;de~ si~nificant improve",ents over the communication system shown in FIG~ 1~ One improvement is that when the optimal soft decision metrics are used in a 30 communication system, having a fixed maximum avera~e bit err~r rate, rather than the soft decision metrics des~,il~d in ,Jf~,rt,nce to FIG. 1, the si~nal to noise ratio (i.e., E~/No) can be si~nificantly less in the communication system usin~ the optimal soft decision l-dnsition metrics.
As a result, the communication system usin~ the optimal son decision 35 metrics can tolerate more noise in a communication channel. In a spread spsctrum CDMA communication system the amount of noise is directly r~lated to the number of simultaneous code divided channala ~ ~ ~ (.J L _ ~
(i.e., users) operatin~ in the same spe~ band or ran~e. Thel~f~r~, the communication system usin~ the optimal soft decision metncs can tolerate more users than the communication system ~s~-i~d in FIG. 1.
C3",e~i,.~ntal results forthe non~her~rlt communication system 5 en~;.un,..ent Jesc.i~d above indicate that the improvement in si~nal to noise ratio trom usin~ the optim~ soft d~ s~cn metrics is appr~ --ately 1 to ~ dB over the soft decision metrics as ~-il~cl in the communication system shown in FIG. 1. In other words, the coding gain derived from the use of the optimal soft J~;sion metrics is ~reater than 10 the codin~ ~ain derived from usin~ the sott decision metrics as Jes~-iL*d in the communication system shown in FlG. 1. Another i...~,r~"~,...ent is the simpllfied structure for the decodin~ portion of the communication system.
In ~mplementing the use ot these optimal soft ~J~s;on t~nn~;~ion 15 metrics, the interleaving of the da~a symbols (i.e., er~led data bits) is affected. Interleavin~ of related data syl-~ls causes bursts of errors in the communication channel to be spread out in time and thus to be handled by the dec~ler as if they were i--Jepen~nt random errors.
Since, cl.annel ~--e-"ory Jbcleases with time sep~r~ion, the idea 20 behind interleavin~ is to separate (i.e., make inddpendenl) the related data 8~ bcils of an enco.led data bit in time. The intervenin~ space in a tr~n&,-,lsR'Qn block Is fllled with other data ~J~"L~Is related to other enco~JeJbits. Separ~ti"~thedatas,lllbol3intime~ffecl;~elyt~drl5-f.l",s a cl,al)nel with memory into a IllelllGrylGs3 one, and thereby enables the 2~ use of the random-error Co~ codes (e.~., convolutional codes and block codes). A MLSE convolutional decoder makes a decision based on a sequence ot data samples instead of a sin~le data sample. Thus, in order to obtain the best r~sult in interlea/;n~, the data samples on which the decodin~ decision is based should be as indepandent as 30 po~ible. I IDwa~0r, when bdnslllitt~i data sy."l~ls are oryani~e.,i into blocks, the maximum separ~tion be~eGn any two data s).lllJGls cannot ~- be lar~er 1han the block size. As a result, data samples of a I~CB;V~:l si~nal includin~ the transmitted data ~.,ll~ls may not be inclependenl of each other when fadin~ of the si~nal is slow.
For a convolutional deco.ler with a constrairlt len~th of K, all of the inl~-lea~ing units within the ~Dnstraint lenQth K will affect a ~c~in~
decision p-u~;d~ that only the first error event occurs. I le~aver, in a -20~ L ~. ~
practical er.~lir~ ri-,en~, especially under low signal to noise ratios, the i~terleavin~ units sli~htly beyond the constraint len~th will also affect a decodin~ decision, beç~se the enor~vent may have a lon~er len~th.
An optimai interleaver is des;~..eci accorcin~ to the foliowin~ criteria.
5 First, I (i.e., the minimum sepa,~tion or distance bet Neen non-interlsaved consecutively input interleaved units) is chosen such that I =
BIJ. B is the l.~ns...-~ 5 cn block len~th or size of the interle~O~or matrix inunits of the size of the inlefiea~ed units (e.Q. the ske of each ~roup of data sy~ or in the ~-ce of inte.leav;.~ onl,o~onal codes, the size of 10 each s~U-o~onal code). J is chosen to be an inte~er thal is lar~erthan K
and less than 1.5K. ~ will be appreciated by those skilled in-the art1hat m,...~rws interleavin~ distances I can be chosen in acco,Jance with the principles set fOnh above for a ~iven set of ope-~inç, env;.~ --en~s parameters J, K and B without depa~tinQ from the scope and spirit of the 1~ present i.-,~ent;nn.
For the preferred embociiment communication system shown in FIG. 2, the constraint len~th is chosen to be nine data bits input to enc~br 204. In particular, two input bits are convolutionally encocied into six data ~..,~ls with a constraint len~th of nine input data bits (i.e., 20 2/6 encoding with K~9). Each set of six data ~ bbl~ relatsd to the same two input data bits are grouped to~tl,er as an interieaving unit. K
in terms of i"le-led~ng units can be found by dividin~ the constraint length of nine input data bits by two input data bits which gen6rdte a ~roup of six data s~ bols or one i.~teriea~/ing unit. Thus, 4.5 25 i"~e.l6a~ing units or groups of data ~yll~bGls wlll affect a single decociingdecision (i.e., K=4.5). In addition, the block interieaver 20B will hold 576 data s~ Lol~ which co--~spGn~ to the number of data Sy--lbG15 which can be transmitted in a single l,dns... sion bloc3c by the transmitting portion 216. Thus, the interieaver 208 i,lterie&l~os 96 i"teriea~ing units 30 in each block interieave or B=96. J was chosen to be 6 which is greater than K of 4.5 and less than 1.5K of 6.75. The.~h.re, I is chosen to be equal to B/J which is 96 divided by 6 (i.e., I,16). As a resuit, inte,leaver 208 will i"teriea~e any two ~Jjacent non~ e-lea-/ec input ~roups of data symbols such that the two grou,os are sepa-dtecJ by 5 other ~roups 35 of data syllll~l~ at the output of the i, ~.leav6r 208.
In corlt,~1 in the communication system shown in FIG. 1, the constraint len~th is chosen to be nine data bits input to encoder 104 2 ~
which enc~es one Input bit into three data s~..,~l~ (i.e., 1/3 encodin~
wtth K.9). An interleavin~ unit equals one input data symbol. Thus K in terms of inb~eavin~ units is 27 data synll,bls or K.27 (i.e., three data symbols per input data bit times a constraint lenyth of nine input data bits). In aWition, the block interlea"~r 108 will hold 576 data sy"lbols or inte.~ea~/;.,~ units (i.e., B-576) which c~r-espon~ to the number of data s~nll~ls which can be transmmed in a sin~le ~ns.,. siQn block by the transmmin~ portion 116. J was chosen to be 32 which is greaterthan K
of 27 and less than 1 .5K of 40.5. Therefore, I is chosen to be equal to B/J which is 576 divided by 32 (i.e., 1-18). As a result, interleaver 108 will h~tt~ any two adjacent non-i-~,lea~red input data s~.llbols such that the two data S~r--ll~GIS are separated by 31 other data J,-~L~ls at the output of the interl~a~er 108.
The dfflerent interleavin~ ot the communication slrsl6~lls shown in FIG. 1 and 2 result in J;lf~r~nt levels of pe~r-,~nce of the encodin~ and decodin~ ons of the communication system. The pe-h,""ance difference is particularly distinctly seen in the sbnal non-fadin~
en~r;.ur,.,.6r~ of an ~dditive white G~u~si~n noise (AWGN) communication cl-annel. Several ~actors aff~t pe~..,.ano~ of 20 enc~lin~ and ~lecoclin~ in a fad~n~ emr;.un"-brn includin~: AWGN
codin~ ~ain and dive.a;ly. As previously mantioned, the codin~ ~ain of the communication system shown in FIG. 2 us~n~ a communication cl)annel such as an AWGN cl,annel is ~reater than the codin~ ~ain of the communication system shown in FIG. 1. The d;1/~,.;,ity inher~nt ~n 25 convolutional coding is equal to the number of data samples affectin~ a decodin~ decision. For a tirst error event, the d:~er;-ity is equal to the constraint len~th. For the communica!tion system shown in FIG. 2, the Ji~r~ity is equal to about 5, because ap~r~ A;~ tel~f 5 r~coh~d Grtl,ogonal code words affect a sin~le decodin~ deasion. In c~nt.~l, for 30 the communication system shown in FIG. 1, the diversity is 2~. The diversity is much greater bec~ ~se all n data samples which affect a decodin~ dedsion are taken from dilte~ent portions of the received si~nal stream. This ~reater diversity in the communication system shown in FIG. 1 makes it pe,h,r.., better in ideal Raylei~h/Nal~ami 35 fadin~ or infinite i-~te,leaving en~;...n"~rlts havin~ a hi~h si~nal to noise ratio than the communication system shown in FIG. 2. However, when the si~nal to noise ratio is lowared (e.~., durin~ deap fadin0), the " ",ance ot the communication system shown in FIG. 2 ;,~ u,ros with respect to the communication system shown in FIG. 1 bec~use the AWGN codin~ ~ain beco".es more i...~ftant. In slow fadin~
6r~:.ur.",0~f~s like Jakes model en~l\un.--~nh, entire t~dns,-. ss ~n 6 blocks can be in fade (i.e. low si~nal to noise ratios exist) Inlellea~in~
and diversity charactefistics do not ;.--pr.~e decodin~ dedsiûns much.
However, AWGN codin~ ~ain is very illl~tdl~ and as a result the communication system shown in FIG. 2 will pelh,.., betterthan the communication system shown in FIG. 1. Thus, the ~ r~nce in the 10 interleaf;.* of the data y.-~L~ls in the communicslion systems shown in FlGs. 1 and 2 affoct the pe~"--ance of the communications in si~nal fadin~ er~l;.un,.-erns. However the ~reater-in ~he AWGN coding gain of the communication system shown in FIG. 2 o~_r~."es the greater diversity of the communication system shown in FIG. 1 in most slow 15 si~nai fadin~ situatbns.
In summary, the codin~ ~ain derived from the use of the optimal soft decision metrics is ~reater than the codin~ ~ain denveci trom using the soft decision metrics as descril~d in the communication system shown in FIG. 1. For example, in ~he non~oherbr~l communic~tion 20 system env;.ur....en~ i,.,~r .~ ."e"l in si~nal to noise ratio from usin~ the optimal soft decision metrics used by the communication systam shown in FIG. 2 is appru~-;,--ately 1 to 2 dB overthe soft decision metrics as desc.il.eJ in the communication system shown in FIG. 1. Further, this ~reater codin~ gain of the communication system shown in FIG. 2 25 ove.co."es the ~reater Jivor~;ty of the communication system shown in FIG. 1 in most si~nal fadin~ situations.
A des~ t;on of a preferred embodiment communication system, shown in FIG. 2, which inco.,~rdtes the aboYe ~,-errlioned o~ti...i~in~
principles for a MLSE decodin~ in a system usin~ Gnal codes 3û follows. In the encodin~ portion 20û of the communication system, trafRIc cl)a.l)nel data bits 202 are input to an encoder 204 at a particular bit rate.
The input trafrlc .;I,annel data bits can include either voice con/e.t~l to data by a vbc~ der, pure data, or a combination of ~he two types of data.
Cncoder 204 enco.les the input data bits 202 into data sy,.~bûl., at a 35 fixed enc~in~ rate ~th an encoding al~orithm which f~cilitates suhse~luent maximum likelihood decodin~ of the d~ta symbols into data bits (e.~. convolutional or block coding alyorlll"~). The data sy.l)bol, ~ ~ S~
-2~
associated with each input data bit 202 are ~rouped tD~etl,er. Each ~roup may include the data sy,nbols A~soei l~ed with more than one input data b~t 202. These ~roups of data sy-"l~l~ 206 are output by the encocbr 204.
A detailed example of a particular communication system vv~th reference to the system elements of the prefeneJ embodiment sys~em shown in FIG. 2 will be ~le~o~il~J below. The pa~ticular portion of the d~tailed example conce ~-;n~ each ~1'6.~6nt will immediately tollow the ~ tion conce.";.~ that palticular ~!~ ,.ent shown in FIG. 2. Tuming 10 now to the particular portion of the detailed example concer,-;ng the enooder 204 encoder 204 ~l~f~:dblJ recehres input data bits 202 at a rate of 9.6 kbits/second. The en~lar 204 convolutionally encodes the input data bits 202 at a tixed eneodins rate of ~vo data bits to six data sJ.-~l~ls (i.e. 2/6 encodin~) and with a constraint len~th ot nine (K 9).
15 The set ot six data sy."bcls associated w}th each two inpln data bits 202 are ~rouped to~e~l,er. These ~roups of six data ~"li~lS 206 are ou put by encoder at a 28.8 l~y.,~ so~ond rate. The ~roups of six data s~.,li~ls 206 are ~enerdt~J usin~ encodin~ ~enerato-s g(x). The poly..o,..;al based ~ene~ators as clesc.;i~i In octal form prefer~bly are ~1(x) - [5571, ~2(x) = [663l, ~3(x) 5 [711], ~4(X) ~ l1336], ~5(x) ~ [1546], and ~6(x) = [1 622l, respectively. it will ba appreciated by 1hose si~illed in the art that the output of a rate 1/3 convolut~onal enco~er havin~
~enerators ~1(X), ~2(x), and ~3(X) with K,9 which r~caivas two consecutive input data blts and is oper- -ed twice can be shown to be equivalent to the output of a sin~le 2/6 rate generators ~1 (x), ~2(x), g3(x), ~4(X), Ç~5(X), and ~6(x) with K-9 when the same bits are input to the rate 1/3 encod~r and the rate 2/6 encoJar. Further, it will be app~ teJ that other sets of six generators can be used to encode the input data bits without depa~ from the scope of the present invention.
In an aller.. dti~/e pr~f~ d embodiment, encci.ler 204, as noted above, preferably It~CGiVl3S input data bits 202 at a rate of 9.6 kbits/second. The encocler 204 convolutionally encGdes the input data bits 202 at a fixed encodin~ rate of two data bits to six data symbols (i.e., 2/6 encoding) and with a constraint len~th of nine (K=9). The set of six 35 data syml~ls A~soc -ed with each two input data bits 202 are ~rouped t~tl,er. These aroups of six data sJr-,l~ls 206 are output by encoder at a 28.~ seoond rate. However, in this allenl~ti~a pr,,fer.t,d ~24-e"~ .li."erlt, the encodin~ ~eneralors ~(x) used by encocler 204 toencode the ~roups of six data s~ l,ols 206 are optimized for use in ~e~l~ent o, ll,~onal codin~. In order to perforrn such an opti",i~d~ion of the enc~Ji.,~ ~enerators of encoder 204, the wei~ht distribution or 5 wei~h~ spectrum of the K,J~ en~ eJ by the enc~di.)0 generators must be analyzed.
The encoder 204 can be conveniently des.;-il,ed by a trellis diay.a".. In FIG. 5, a trsllis Jiay,d,.. of a simple con-o~utional encoder is shown. It will ~e app-.,c;~i~J by those skilled in the art th~t, althou0h 10 a more sophisticated ccnvolutional enc~r 204 would be employed in the pr~e,-~d alternative embodiment, the prinaples and t~chniqu9s de~,il.ecl in this example can be readily applied ~o the plef~..-dd altemativ0 embodiment. In this trellis Jia~.~,." a a~dev/crd is associated with a path (e.~., path 512/520) behveen two states or nodes 1 5 (e.g., nocbs 500 and 510). These paths can i3e divided into two subsets cons:-~ti..~ of correct and inc4"~ paths.
What constitutes a correct and an in~~ path can bs more easily ~ Ier~ to~l throu~h the use of an example. In this example, the convolutional enc~cler is started in state 00 (i.e., at node 500). Further, the encoder 204 is assumed to have r~caivGd two data bns 202 co,.espondin~ to 00. For the first time-state t-.-ns;lion, the encoder 204 transitions to node 502 alon~ a branch 512, be~se 00 was received.
Subseciuently, for the second time-state transition, the enc;der 204 is assumeci to receive two more data bits 202 col,~,sponding to 00.
As a result, the encocier 204 transitions to node 510 from node 500 throu~h node 502 along a path 512/520, ~scau-se 0000 was r~ceh~ed.
This path 512/520 c ~ spor~ to a c orrect c ocieword 0000. A
col,e~ sr,ding decocler (e.g., dacoder 266) will evaluate ~he metrics of all the possible paths in th~s trellis. Ther~ , other paths which .apres6r~ incol,~ct codo o,d-~ may be s~'s~t~ by the decoder. For example, these ;ncor,~l paths may cor,~spor,cl to transitions of the enc~er 204 for which the encoder 204 may lldns;tion alon~ three other paths to node 510. The c~ecoder may have assumed that the encoder 204 transitioned to node 510 from nocie 500 through node 504 along a first in~r,~,1 path 514/522, bsc~-se 0100 was received. Similarly, the dec~Jer may have assumed that the encocler 204 l.~lns;tiune-J to node 510 from node 500 through node 506 alon~ a second incol,~t path ~ ~ $ {~
616/524, bec~ ~se 1000 was ~ec~ ved. Finally, the ~J~Gder may have assumed that the enc~ler 204 t~ansillonec; to node 510 from node 500 through node 508 alon~ a third h~co,.ect path 518/~26, be~se 1100 was received.
Wei~ht (k) is a parameter of a path which is deflned to be the number of the ~roups of data ~..~I,ols ~enerated by the generators of the encocler from the ,~ c 3rve~:1 data bits associsted with br~nci)es in an incc .,~l path that are diffel~nt from the groups of data ay~bols associated with ~rdnches of the correct path. In this example, for a path from node 500 to 510, the correct ~h 512/520 and this path has a k=0.
In cG~n,~1, each of the ;nc~--~t paths 514/5~, 516t~24, and 518/526 has a weight up to k=2, be4~se each of the Inc~ , 1 paths does not share any branch (i.e., ~rdncl.es 514, 516, 518, 5~, 524 or 526) of their path wHh the ~,..ncl,es of the correct path 5121520 (i.a., ~,dncl.es 512 or 15 520). By proper selection o~ the generators, H is posf that thase three paths all have a wei~ht k~2. The minimum distance (d(min)) between a conect path and an i"cor.wt path which start and end at the same nodes is equal to the constraint len~th (K) divided by the number of received data bits used to ~enel~e a sin~le ~roup of data s~ bols 20 rounded to the next highest whole number. For example, if K=9 and two r~ce.ved data bHs are used, then d(min) e round(9/2) ~ 5. The minimum distance is the minimum number of b-~nches which differ ~t~e~n the corrsct path and inco"~ path which start and end at the same nodes.
Further, the minimum wei~ht (k) can not be lar~er than the minimum 25 distance (d(min)) for the encoder.
The weight spectnum for a convolutional ~enerdtvr can be de~.i~d by the tollowin~ pair of functions:
~ akWk and ~. bkWk (eq- 8) k d(rnin) k,d(lTdn) where W is a function of the type of encoder used, ak is the number of finHe length incGr.~ct codewords or inco,.~,cl paths with a wei~ht k, and bk is the total number of input data bits in all i-,co--~t paths of wei~ht k which were differ from the correct path input data bits. In the example 35 enco-Jer of FIG. S which has p ruperly sel~ted ~ener~'cr~, for ks2 in this trellis diagram, then ak 3 and bk 4. A~ previously disc~ is calculated by notin~ that each of the inco,g~t paths 514/522, 5161524, and 518/526 does n~t share any branch (i.e., b.~--cl,es 514, 516, 518, 522, 524 or 526) of their path with the br~r~l.ee of the correc~ path 5121520 (i.e., bn.ncl.es 512 or 520) and as such, by usin~ proper ~enerators, two b.dnches (and their c~r,e,aponJin~ group of data sy.llbGls) of an ;ncc"~_t p~th ~ll dffler from the correct path (i.e., these paths all have a wei~m k-2). In aWition, b~, is calculated by notin~ that for each ot the inco.,~-,1 paths 514/522, 516/524, and 518~526 the 1 0 Jec~r rnay have deterrnined that 0100, 1000, and 1100 was received, respec~ively. Further, for the correct path 512/520, the ~er would deterrnine that 0000 was received. Therefore, bk is the sum of the differ~nces between the correct and inoGI-~1 deterrninations of the .bcoder which is equal to four (i.e., 1 +1 +2-4). E~oth ak and bk are also 1 5 known as enor coemcients of the codewo~ds ~ene,~.toJ by the convolutional encoder. The ak error coemdent is related to the block error probability of the cocle. r~ ~ene,dled and the b~c error coefficient is related to the bit error probability of the ~ds~ ene~dled. Thus, the most desirable gener :ors of a convolutional encoder is the ones which ~enerd~e code~ rJs havins the smallest a~, and/or bk for all values of k.
Turning now to this alt6",~ti1~e preferred 6~lbGd;.llenl, the encoding ~enerators ~(x) used by encoder 204 to encode the groups of six data ~"~bol~ 206 can be s6 ~cted in ac~rdance with the above-",enlioned cons;derdlions. In this preterreti e"ll~t~i",ent encoder 204 a rate 2/6 convolutional encGder havin~ a constraint len~th of nine data bits (K=9) is used. Ther~for~ the minimum distance d(min) is five (i.e., round(9/2)55). Moreover the convolutional enc~xler used has four l,dnsitions (i.e., path brc.ncl,es) which can branch from or mer~e into each state or node. Ther~for~ the minimum number of in~,-~1 ~rdnches of a path or codo~ t.rds with a wei~ht of five is three (i.e. four path irJrdncl,es minus one correct path branch).
On further examination of the set of ~enerators (i.e., the set of polynomial based yenerators as desc,il.ed in octal form which include ~1(x) = [5571. ~2(x) = [663~ 3(X) = ~ , Q4(X) e [1336], Q6(X) = [1546], and ~g(x) = 116221) ~Jes;,il~d above which were not ~tillliL~i with respect to the wei~ht spectrum paldlll~er;~ and bk have a non--27~
optimal set of ak and bk values. More predsely, when these generators are used for convolutional code ~eneration in an o,~ onal coc in~
e.,~;.u~ .anl, the weight spectrum yielded is a~ ~ 3, 12, 42, 184, 769 and b" . 4, 36, 1~6, 916, 4667, for k~g forthe oocies ~ene-~.~ed. Better sets of convolutionai cocie ~ene~atols are availabie with respect to optimkation of a~ and b~c in an o,ll,o~onal codin~ ~,-J:.v~ ent.
For example, three different sets of ~enerators for a 2/6 convolutional encocier in an GllhG~onal codin~ em/;.ofi",e,lt yield the weight spectn~m of ak - 3, 9, 42, 1 65, 705 ar~i i~k ~ 4. 24, 1 48, 776, 3984, for 1~=~9 for the ~enerdteci cocies. These three sets of ~enerato-s as ~ies.;-ii~d in octal form are:
g1(x) 92(x) 93(x~ 94(x) ~s(X) 96(x) iMoreover, other sets of six generators can be dev~ 3 ~ from the group of ~enerato~ g(x) e (575,555,434,414, 161, 141,020,13729 1332, 1070,1030,342,302, and 040) which also have the same weight spectrum as those desc,il,6d in the above table. Th6r~'...~, in this altemative preferred embodiment, the encodin~ ~enerators ~(x) preterably used by encocier 204 to encode the input data bits 202 into 20 groups ot six data symbols 206 iS selected from a set of six generators developed trom the ~roup of ~enerators ~(x) cor,s;~tin~ of (575,555, 434,414,161,141,020,1372,1332,1070,11D30,342,302, and 040) such that the weight spectnum parameters ak and bk are reduced or m~nimizad. it will be appreciated by those skilled in the art that the 25 output of a rate 1/3 c~r.:~'uticnal encocier havin~ ~enerdtu,~ (x), g2(x), and 93(x) with K=9 which lec~;~es two consecutive input data bits and is op6r~t~,J twice can be shown to be equivalent to the output of a sinsle 2/6 rate gen~rdt~,r~ g1 (x), g2(x), ~3(x), ~4(x), ~5(x), and ~g(x) with K~9 when the same bits are input to the rate 1/3 encocler and the rate 30 2/6 encoder. Further, it will be appreciated ~hat other sets ot six ~1enerdlors can be used to encode the input data bits whils minimizin~
the wei~hl spectrum par~",ete,~ ak and bk without depa,l;n~ from the ~ ~ s.,~ Cl 3 ~
scope of the present b.~--r~tion. By usin~ these ~enerators with improved wei~ht spectrum in the preferred altemative embodiment encoder 204, an encoder204 can be pruJ:ded which has an operational improvement of 0.1 dB to 0.2 dB ovsr the preferred 5 embodiment enc~ler 2û4 which was not optimked with respect to it's wei~ht sp~trum.
The ~roups of data -/.,ii~ib 206, as ~enerated by either the prJf~ l~Ji",ent orthe altemative preferred embodiment enc:ûder 204, are then input into an ir,terlea~/er 208. It will be appr~ied by 10 those skilled in the art that the interleaver 208 could perform the ~rouping of data s~.-lbols operation rather than the encodar 204.
Inteneaver2~8 block interleaves the input ~roups of data ~."l~ols 206 by ~roup. In the interleaver 208, each ~roup of data _J.-lbols is indNidually input into a matrix which deflnes a predetermined size block 15 of da~a s~r~l~l~. The ~roups of data s, nll~ls are input into locations within the matrix so that the matrix is fllled in a column by column ",anner. The ~roups of data ,",bol~ are indivWually output from locations within the matrix so that the matfix is emptied in a row by row ~"anner. Typically, the matrix is a square matrix havin~ a number of rows equal to the number of columns; however, other matrix forms can be chosen to inc,"ase the output interleJv;n~ distance between the consecutively input non-interleaved ~roups of data sy-,lbols. The predetermined size of the block of data s~ il,ols delined by the matrix is derived from the maximum number of data _yl~bGls~ .~pr~sonl;n~ input data bits, which can be l-~ns"~ilted at a predeterrnined chip rate within a pr~,Jet~l",lnad len~th hdns",'~ sion block. The ir~,lea~ed ~roups of data ,ll~l~ls 210 are output by the interieaver 208 at the same data symbol rate that they were input.
Tuming now to the particular portion of the detailed example conce",in~ the i"terietn~er 208, i.~,l~a~/er 208 preferably r~ceives ~roups of data symbols 206 at a rate of 28.8 ksy."bol_J~eco~
h~t~ a~er 208 block int~rleaJ~3 the input ~roups of six data symbols 206 by ~roup. In the interieaver 208, each ~roup o~ six data _y."~ls is individually input into a matrix which defines a pledete"nined size block 35 of 576 data symbols. Shown in FIG. 4 is block dia~ram of a p,l,f~t,~i 6-"1,GJi",6nt 16 by 6 matrix of int~rie~er 208 loaded with ~roups of data sy-l~bols 206. Each ~roup of data sy"~b~ls is located within a --29~
single box of ~he matrix (e.~. box 400). Each ~roup consists of the six data symbols convolutionally ena~l~l from two input data bits 202 which are 13p-~serned by two numbers ~n parentheses (e.~. (1) and (2)).
The numbers in p&rernheses indicate the order in which the data bits 5 202 were ori~inally encG~ Into data symbols.
Each ~roup ot data sy~ are input into locations (i.e., boxes) within the matrix so that the matrix is filled in a column by column manner. For example, a first column of boxes in the matrix is filled with the first sixteen ~roups of data :J..,lJols 206 input into the interleaver 208. The 1 0 first column indudes a first ~roup consis.tin~ of (1) and (2) which is input into box 400 of the matrix and a second ~roup oonsistin~ of (3) and (4) which is input into box 402 of the matrix. The second column of boxes is filled with the next sixteen ~roups of data ~ bOISt 206. The second coiumn includes a seventeenth group consisting of (33) and (34) which 1 5 is input into box 404 of the matrix. The other four columns are filled in a similar manner. The ~roups of six data sy..lbols are individually output from locations (i.e., boxes) with~n the matrix so that the ma1rix is e---",tiod in a row by row manner. For example, the first row including box 400 and box 404 are output prior to the second row includn~ box 402. The 20 other row8 of the matrix are output in a similar manner. The stream of output groups of data sy--ll~ls 210 is inte~a~/eJ such that, for example, the first ~roup consistin~ of (1) and (2) is now separated by five other ~roups from the second ~roup consistin~ of (3) and (4). The intefiea~
~roups of data sy-llt,ols 210 are output by the interl~ea~or 208 at the 25 same data symbol rate ot 28.8 I y."lJolJJ~seo~rid that they were input to the ;nl~ed~/er 208. The ~r~cL,t~,...lined size of the block of data symbois defined by the matrix is derived from the max~mum number of data ~ ols, lepr~7sentin~ input data bits, which can be transmitted at a predetermined chip rate within a predetermined length bdns", ssion block. In 1he pr~hr,~l embodiment shown in FIG. 2 data s~ bols 206 are output from the enco~r 202 at a 28.8 l~y."bols/~econd rate. As a result the maximum pred~ter",ined chip rate tor transmittin~ those data _yll~l,Gls 206 is 28.8 l~y."l,ols/~econd. Further, the p,~te,-,lined length of the l~dns"~ s sion block is 20 mDlisecofi~. Ther~f~rt" the predetermined size of the block of data s~ L~l~ is 28.8 ~lstsecond times 20 millisecor,Js which equals 576 data symbols.
AJthou~h the pr,f~..acl e,.lLGd;...enl interle~rer 208 has been das~;-il,ed 3 ~ ~ ~
in particular detail, it will be ~pp~ated by those skilled in the art that numerous vanations of the interleaver could be implemented without depart~n~ from the scope of the present invention. For example, the size of the interleavin~ block could be altered to ac~l~llllG~ldte ~iffer~"l 5 tlans.., ~ ~iQn len~ths or rates. Also, the dil"~nsh~ns of the matrix could be altered to i~ esa or d~l~ase the il~t~tle~ J distance between consecutively input groups of data symbGI~.
The inle~l6a~ roups of data symbols 210 are then input to a ".apper 212. The mapper 212 derives a sequence of fixed length o~tl,ogonal codes 214 from the interleaved ~roups of data ~.llb~ls 210.
Each inte~lea~G~I group of data symbols 210 selects one orll,ogonal code from a group of mutually c"ll,ogonal codes to ,epr~se,lt the group of data SyllllJGIS 210. The mapper 212 outputs a sequence of orthG~onal codes 214 which cor-~apor,-J to the input data sy"l~ls 210 from encoding portion 20û of the communication system at a fixed data symbol rate related to the input data symbol rate.
Tuming now to the particular portion of the detailed example c~ncer";"g the ",apper 212""apper 212 preferably ~~ceivos interleaved g~oups of six data sy.,lbols at a rate of 28.8 l~y"lbol~sacond. The ",apper 212 pr~f~rdblJ derives a 64 bit lensth Walsh code from each input group of six data :.y.,lbGl~ 210. The six data s~."bols ot each group are used as a binary index to select one of 64 mutually o,ll,o~onal Walsh codes. The 64 mutually G,ll,G~onal Walsh codes pref~ r~bly co"~spor,J to single rows or columns of a 64 by 64 1 lada",alJ matrix. The mapper 212 outputs a sequence o1 Walsh codes 214 which CGne~pOh(J to the input groups of data eymbols 210 at a hxed data symbol rate of 307.2 l~y..lbGls/second. The i-)cr~ase in the data sy.,lbGls rate is due to the mapping function of the mapper 212 in which a 64 bit length Gnl ,~ona; code r~places each input ~roup of six data symbols (i.e., 64 bit length olll,ogonal code (64 data sy.,lt~ls) divided by six data symbols times the 28.8 l~y.,lbGls/secDr,(J input rate of the data symbols equals 307.2 I~-l~bGls/secohd). It will be appr~c;ated by those skilled in the an that other types and lengths of o~l,~onal codes could be used without clepaning 1rom the scope of the present invention.
In an alternative embodiment of the present invention which is roughly equivalent to the pr~fe"~l embodiment clesc,il,ed above, the order of input of the groups of data sy.-~b~ls 206 to the ~roup level block fS ~ f~ r~
interleaver 208 and ,-,apper 212 is reversed. The ~roups of data 601~ 206 are input to a ,.,apper 212. The mapper 212 derives a sequence of fixed len~th G-U,~onal codes 214 from the groups of data J,.,bols 206. Each 0roup o~ data _J.-,i~l~ 206 selects one onl-~onal S oode from a ~roup of mutually o.ll.Ggonal codes to ,e~r~sent the group of data sy--ll~l~ 206. The mapper 212 outputs a sequenca of Grll~on~ codes which c~"~ ncl to the input data sy.llbols 206 at a fixed data symbol rate related to the input data symbol rate.
Su~-se~ ently, the sequence of Grll,o~onal codes are input into an interleaver 208. Inte~c~var 208 block interlea~es the input sequence of G,1hG~onal codes by orll,G~onal code. In the interleaver 208, each GllhG9Olial code is individually input into a matfix which defines a predeterrnined size bloclc of ~-U-G~onal codes. The ~III,Ggonal codes are input into locations within the matrix so that ~he matfix is filled in a 15 column by column ...anner similar to the ~roups of data sy~ JGl~
.Jes~ above. Then, the G,ll-~onal codes are individually output from 10~4tions within the matrix so that the matrix is e""~tia~ in a row by row manner similar to the ~roups of data s~-"~ls desc~ibed above. The i"teriea/ed G,ll,o~onal codes 214 are output from encodin0 portion 200 20 ot the communication system by the interle~er 208 E~ the same data symbol rate that they were input to the inte,lea~er 208.
An example of such an altemative a..an~el,-enl of mapper 212 and inte.l6d~/er 208 which could replace the pr~fel-~.l e--lL~;.-,ern detailed example interleaver 208 and ~-.apper 212 co"~b;nation follows.
The ~roups of six data s,nll;.ol~ 206 are p,Jferdbly input to a rnapper 212 at a rate of 28.81~ ~ bol_/cocond. The mapper 212 derives a 64 bit len~th Walsh code from each input ~roup of six data symbols 206. The six data symbols of each ~roup are used as a binary index to select one of 64 mutually o-ll,o~onal Walsh codes. Due to the nlapp"~ funcHon of the mapper 212 in which a 64 bit len~th olll.o~onal code r~pl~ces each input ~roup of six data symbol, the mapper 212 outputs a sequence of Walsh codes at a fixed data symbol rate of 307.2 ksymbol~seaofiJ.
Suhsequently, the sequence of Walsh codes are input into an interleaver 208 at a rate of 307.21~y..~l,ol /~econd. Ir\lerl~rer 208 35 block interle53.~ro5 the input sequence of Walsh codes by Walsh code. In the interlea~er 208, each Walsh code is individually input into a 16 by 6 matrix which defines a prt.d ,te.--lined size block of 6144 data synlL,Gls -32~
(i~e., 96 Walsh codes). The Walsh codes are input into locations within the matrix so that the matrix is filled in a column by column ...anner similar to 1he ~roups of data sy.-lbol~ des.,.;t~d above in reference to FIG. 4. Then, the Walsh cod~s are individuaily output from lo~tions 5 within the matrix so that the matrix is e""~tied in a row by row manner sirnilar to the ~roups of data ~.,lbols Jesc~il,eci above in reference to FIG. 4. The intereaved Walsh cocies 214 are output from encoding portion 200 of the communication system by the int~tleaver 208 at 1he same data symbol rate of 307.2 ~ ols/second that they were input to 10 the i,h~,.led~er 208.
The sequence of o, ll,~onal codes 214 is input to a transmitting ,oortion 216 of the communication system. The sequence 214 is p,t,par~d for t~dns-" s s on over a communication channel by a modulator 217. Sl~se~ ently, the modulated sequence is pru~rided to an antenna 218 for t~dns", sicn over the communication channel 220.
Tuming now to the particular ponion of the detailed example conceming the modulator 217, modulator 217 preferably ~~aiv~s the sequence 214 at a data symbol rate of 307.2 I~ bolc/~ecDnd and prepar~s the sequence 214 for direct sequence code divided spread spectrum ll~lnslll ~ s'on by spreadin~ the sequence 214 with a long PN
sp,~Jin~ code. It will be appredated by those skilled in the art that other types of spread~n~ codes could be used to spread sequence 214.
The PN spreadin~ code Is a user specific sequence of symbols or unique user code which ~s m~xes with the sequ4nce 214 at a fixed ch~p rate of 1.228 IVchips/second. As a resuit of this mixin~ function, the sequence 214 is spread w~th the PN spre&J;n~ code such that 256 bit len~th sequences are formed which ,t.preser~ each 64 bit len~th Walsh code. In aJ iition to providin~ an identification as to which user sent the enco.led 1raffic channel data bits 202 (i.e., the Walsh code sequence 214) overthe communication channel 220, the unique user PN code enhances the secu~ty of the communication in the communication channel by scramblin~ the encoJed traffic cl,annel data blts 202. In addition, the user code spread encoded data bits are spread by a pair of short PN spreadin~ codes (i.e., short when oG""~ar~d to the lon~ PN
spreadin~ code) to ~enerate an l~hannel and ~channel code spread sequence. Th~ l-channel and Q~hannel code spread sequences are used to bi-phase modulate a quadrature pair of sinusoids by drivin~ the power level c~rn-vls of a the pair of sinusoids. The sinusoids output s4nals are summed, bar~,ass filtered, translated to an RF frequency, amplified, flltered and radiated by an antenna 218 to complete tldnS~ on of the traffic channel data bits 202 in a communication 5 cl.annel 220 as a spread spectrum si~nal. As a result of the encoding and modulatin~ operations, each pair of input data bits 202 are .~pr0sented by 256 bit len~th sequences which are transmitted in communication channel 220.
A .~co:v;..~ porlion 2~ of the communication system .~ eg the 10 transmitted spread spectnum si~nal trom over the communication d)annel 220 throu~h antenna 224. The r~ivsJ dgnal is sampled into data samplss by demodulator 226. S~ sell ~ently, the data samples 228 and 229 are output to the decoding portion 230 of the communication system.
1 5 Tumin~ now to the particular portion of the detailed example concer"ln~ the demodulator 226, the demodulator 226 pr~f~r~
samples the l~;VGCI spread spectrum si~nal by filterin~, demodulating, translatin~ from the RF frequencies, and sampliny at a predatermined rate of 1.2288 Msampleslsecond. ~u~ently, the in-phase sampled 20 si~nal and quadrature sampled si~nal are i--Jependenily, desplt,~ by correlatin~ tho received sampled si~nals with the short PN spreading codes and th0 lon~ PN spreadin~ code. The resultin~ desp~ad in-phase 228 and quadrature 229 sampled si~nals are sampled a ~raJuh. ,nined rate ot 307.2 ksamples/~ewnd so that a sequence of 25 four samplcs of the received spread spectrum si~nal is .~asprbad andlor e,cr~sar,t,id by a sin~le data sample.
The sampled si~nals 228 and 229 are independenlly input to a decodin~ portion 230 of the communication system which non-cohert,-,Uy detects/ulecodes the sampled si~nals 228 and 229 into esl;.. ated data bits 268. In order to decode the sampled si~nals 228 and 229, p,~del~""ined length ~roups of sampled si~nals are ind0pend6r~1y input to G,ll,G~onal code l,~nDh,r",~l - 232 and 234, les~tildly. The GllhG~onal code tldfiDf~lllle~i 232 and 234 output a plurality of l.dn:,h,l..,er output si~nals 233 and 235, res~,e~,til~ely. Each 35 I,d..Df~.r."er oulput signal c~ut,spon~ to a measure of confidence that a particular group of sampled si~nals ~r.~spGfi~ to a particular o~tl,o~onal code from within a set of mutually o~ll,G~onal codes. In $ ~
addition, each ~n;,fur",~r output si~nal has an ~Qsociqtsd index data symbol which ind~cates which panicular onl,~onal code from ~thin the set of mutually o,ll,o~onal codes that the l,_nsfu""er output si~nal co,.~,apor,~ to. The index data symbol also cc "~ponds to a possible 5 transition w~thin a maximum likelihood decoding trellis which clec~ler 266 will subseqllently be determinin~. Suhseq~ently each l-a"~fol"-er output signal within the ~roups of 1- ~u--,-er output signals 233 and 235 is squared by l~- n~fu....er output signai squarin~ l-,echan;s.--s 236 and 238, respectively. ~ ently, a ~roup of deasion values 242 is 10 generated by adding ~--echan;s.-- 240 which adds t~tl,er each pair of squared tr~ns~l---er output si~nals (i.e. one from each of the l-~nslol.--er output si~nal squaring ...echan._..R, 236 and 238) havinQ assodated index data 5~ Cil5 which indicate that the b_nsfo,--,er output signals ~udspor,lJ to the same wll,~onal code.
1 5 Tuming now to the particular portion of the detailed example conceming the l,dr~lul---er;- 232 and 234, the squaring l-,ecl,an;_."s 236 and 238, and the adding l"ecl)an;3~" 24û, the in-phase 228 and quadrature 229 sampled signals are ir,.lepende,.tl~ input to a elec~ing portion 23û of the communication system which non-coherently 2û detect/decode the sampled signals 228 and 229 into eali",~ted data bits 268. In order to decode the sampled signals 228 and 229, 64 sample len~th ~roups of sampled si~nals are indeperhbntly input at a rate of 3û7.2 ksamples/sewnd to fast l lada...arJ l,dr,~fvl,-,e,:. 232 and 234, Ids~1;v~1y. Each fast l lada.. a.J t~ fu- ---e,~ 232 and 234 output 64 t~dnsf~"-,er output si~nals 233 and 235, respectively. Each lrdr,;,f-,""er output si~nal c~n~àpûr,~ to a measure of confidence that a particular ~roup of 64 sampled si~nals c~,.e3porJs tû a particular 64 bit len~th Walsh code from within a set of 64 mutually ortl-o~onal Walsh codes. In aWition, each l~--sfu-",er output si~nal has an ~-~soci ~ted 6 bit len~th 3û index dala symbol which indicates which particular Walsh code from within the set of 64 mutually G11hG~onal Walsh codes tha~ the bdnsfur",er output si~nal Ct~llaapO~ to ~hse~p~ently, each llttnslcnl-.Er output si~nal within each group of 64 l,dnsh~r-,-er output si~nals 233 and 235 is squared by l-~nsl~l--,er output signal squarin~
",echan:~."s 236 and 238, respectively. Suhsequently, a ~roup of 64 decision data 242 is ~enerdted and output at a rate of 3û7.2 k~ 'socond for each pair of ~roups of squared l,dnsf~r",er output -3~ ~ t~
si~nals by adding ...eche~nism 240 which adds together each pair of squared trans1Ommer output signals ~i.e. one from each of the transforrner output sbnal squaring ,..echt.nis.ns 236 and 238) having associated index data s~ ols which indicate that the t,ar.slo"..er output si~nals 5 correspond to the same Walsh code.
The several ~roups of decision data 242 are then input into a dsinterleaver 244 which block deinterl6~lv~ the input decision data 242 by group. In the deinterleaver 244, each group of decision data is individually input into a matrix which defines a predetermined ske block 1 0 of decision data. Each group of decision data is input into locations wHhin the m~trix so that the matrix is filled in a row by row manner. The ~roups of decision data 246 are individually output trom locations wHhin the matrix so 1hat the matrix is emptied in a column by column manner.
Typically, the matrix is a square matrix having a number of rows equal to 1 5 the number of oolumns; however, other matrix forms can be chosen to match the brm of the ~--dt~iA use J by interleaver 208. The predetermined size of the block of decision data dehned by the matrix is derived from the number of decision data generated for each group of data samples, the number of data samples in each ~roup of data 20 samples and the maximum number of data samples, ._pr.,sGnting transmitted data sy--~l~ls, which can be sampled at a p~echte,--lined chip rate from a r~ce vGd pr~c~e...lined length tr~ --1ssiQn block. The deirlterleaved groups of decision data 246 are output by the deintGrle~ver 244 at the same rate that they were input.
Tumin~ now to the panicular ponion of the detailed sxample conoerning the deint6rleaJer 244, deinte~e~ver 244 preferably receive~
several groups of 64 decision data 242 at a rate of 307.2 kdata/~econc~.
Deintellea~er 244 block deinterleaves the input groups of 64 decision data 242 by group. In the deinterlea~l~r 244, each group of 64 decision data is individually input into a matrix which defines a predetermined size block of 6144 decision data. A 16 by 6 matrix of deh~tlj,leaver 244 is substantially similarly loaded and unloaded in an inversQ ,-,anner to the manner in which the pr~.f~ d embodiment 16 by 6 matrix of int~,.leavor 208 was loaded and unloaded with groups of data sy~
3~ 206 as shown in FIG. 4. Each ~roup o~ decision data is loaded into a sin~le box of the matrix (e.~. box 400). Each ~roup of decision data is input into locations (i.e., boxes) within the matrix so that the matfix is filled in a row by row manner. For example, a first row of boxes in the matrix is nlled with the first six ~roups of d~ ~ s ~ n data 242 input into the deinterleaver 244. The first row indudes a first group of 64 decision data which b input into box 400 of the matrix and a second group of 64 5 deebion data which is input into box 404 ot the matrix. The second column of boxes b filled with the next six groups of decision data 242.
The second eolumn ~neiudes a sov~rdh ~roup of 64 deeision data whieh b input into box 402 of the matrix. The other tourteen rows are filled in a similar manner. The groups of 64 deeision data are individually output 1 0 trom loeations (i.e., boxes) within the matrix so that the matrix is emptied in a column by coiumn manner. For example, the first-eolumn ineluding box 400 and box 402 are output prior to the second column includin~
box 404. The other column of the matrix are output in a similar ,..annar.
The stream of output groups of data _J.nbo~ 246 is deint~ri~ eci sueh 1 5 that, for example, the first group of 64 decbion data now ;.. ~iately pr_c~s the seventh group in the output stream 246 of ~roups of decision data. Further the second ~roup input to the deinterieaver is separated by fmeen other groups ~rom the first ~roup ~n the output stream 246 ot data _J.-II,ols. The deint~ie~ed ~roups of decision data 246 are output by the deinterieaJer 244 at the same rate o1 307.2 kdata'second that they were input to the interieaver 244. The predetermined size of the biock of d~cision data defined by the matrix is derived from the number ot dedsbn data generated for each ~roup of data samples, the number of data samples in each ~roup of data samples and the maximum number of data samples, r~prdsentin~
transmitted data s~ i~ls, whieh can be sampied at a pr~iet~i"~ineci chip rate 1rom a ~jVGd predetermined len~th I~.ns--- sion block. In the preterred embodiment shown in FIG. 2, 64 decision da1a are generated for each ~roup of 64 data samples. Further, the maximum number of data samples, .~pr~sern;.lg transmmed data s~mbols, which can be sampled at a predetermined chip rate of 307.2 ksamples/~econd from a received pr~del~r,.lined length I,ans--l1ssion block of 20 millisecofiJ~ is 307.2 ksamples/second times 20 milliseconds which equais 6144 data samples. Th6r~h:~" the pr~ddl.,-n-;n~d size of the block of decision data is 64 decision data per 64 data samples times 6144 data samples which equals 6144 decision data.
~ $ ~
ln an altemative embodiment of the present invention which is rou~hly equivaient to the preferred embodiment desc ,ii~ed above, the order in which the groups of data samples 228 and 229 are COnJe.l~hi to decision data and the deintefi6~v:n~ b r_~e.~J. In order to decocie the 5 sampled dgnais Z8 and ~g, predeterrnined len~th ~roups of sampled signais are i~idpe.~6ntly input to two separate deinte~ie2J~r~ similar to deinterie~ver 244 cle~iL~- above. Severai groups of data sampies are input ~nto each deinterieaver which ibiock deinterieaves the input data samples by ~roup. In the deinterieaver, each ~roup of data 1 0 sampies is inciividuaily input into a matrix which defines a predetermined size biock of data samples. Each group of data samples is input into locations within the matrix so that the matrix is filled in a row by row manner. The ~roups of data sampies are individually output from locations with~n the matrix so that the matrix is empt~ed in a column by 1 5 column manner. The deinto~ieaJed groups of data samples are output by each deinteriea~ar at the same rate that they were input. The deintefie~.Jed ~roups of data samp-ies from each deinterieaver sre i~bper.clently input to o ~Iho~onal code t,_r~f~-..-e.~ similar to 232 and 234, respectively. The o~hG~on~ code transf~,-"~er~ output a plurality of tn h;,f.. r---er output si~nals similar to 233 and 235, respectively. Each t~ansf~.n..er output si~nal c~r-~spor~ to a measure of confidence that a particular ~roup of deinterlesved sampled si~nals c4rlt~;.poh~ to a particular o~tl-o~onal code from within a set of mutually o,ll,o~onal codes. In addition, each l.~nsfer---er output si~nal has an associated 25 index data symbol which indicates which particular G~1hGdonal code from within the set of mutually o~h~onal codes that the I nah Illler output si~nal c~rl~spch~b to Sub~ently, each l-~nsh,,-"er output si~nal within the ~roups of t~dn;,fu,,,,er output si~nais is squared by b .~fo""er output si~nal squarin~ ...echan;s..~ similar to 236 and 238, 30 respectively. Subsecluently, a ~roup of deinte~e~red decision values similar to 246 is ~enerated by addin~ ",echan;sm similar to 240 which adds to~etl,er each pair of squared l.dr,;,h,,."er output si~nals (i e one from each ot the l,a"sh,r--,er output si~nal squarin~ ",ecl,an;~
havin~ associated index data symbols which indicate that the 35 tlan~hl",er output si~nals C4~ SpOn(;l to the same G,11,4~onal code The addin~ ."ecl-anis." ~snerdtds ~roups of de;nte,led~ed decision data similar to those output by deinterleaver 244 of the pl~h,r.~l 2 ~ $ ~
-3~
embodiment, be~-se the data sample signals 228 and 229 where deinterleaJel prior to bein~ input to the o~l,o~onal code llai~l~
and as a result the o.ll,o~onal code t~dl~fullll6ls produced deintellea~d output signals from which deinterleaved d8 's'cn data S were formed.
An example of such an altem~tive position of the deinterlea"~r which could replace the ~ ..~ embodiment detailed example p~s tion of deinterleaver 244 follows. 64 bit len~th ~roups of sampled si~nals 228 and 229 are independently input to two separ~le 10 interleavers similar to deint~le ~/er 244 desc-il~d above at a rate of 307.2 k~~'~'oocond. Each d~ ntorloavor block ~'e'nte.16~ves the input ~roups of 64 data sarnples by ~roup. In the deinte~le~ver each group of 64 data samples is individually input into a 16 by 6 matrix which deflnes a predetermined size block of 6144 data samples. Each .'~ nterleaver is 15 loaded and unloaded with ~roups of 64 data ssmples in a manner similarto the manner in which the pr6l_..ad embodiment 16 by 6 matrix of interle~er 244 was loaded and un~ --W with groups of decision data as shown in FIG. 4. Each ~roup of 64 data samples is input into lo~tions within the matrix so that the matrix is filled in a row by row 20 ",anner. The ~roups of 64 data samples are individually output from locations within the matrix so that the matrix is emptied in a column by column manner. The ~ nte.leaved ~roups of data samples are output by each J_i.,t~ .leaver at the same rate of 307.2 ~rl~s'~ocond that they were input. The d~inlerlea~ed groups of 64 data samples from each 25 dE'nterleaver are independerdly input to fast I ladafi,a~,l lr~l sfo,.,.e,;
similar to 232 and 234"~s~.Ai~ely. The fast 1 la1~",ar.J code barlsh,ll.,6,;, output 64 bdh~fo""er output si~nals similar to 233 and 235, r~spect;~ely. Each l-~nslo""er output si~nal co, .~sponds to a measure of confiJence that a particular group of t;~' n~,led~ed sampled 30 si~nals co,-~spon~ to a particular Walsh code from within a set of mutually Grtl.G~onal Walsh codes. In addition, each bdnsfl,l",er output si~nal has an associated six bit len~th index data symbol which indicates which particular Walsh code from within the set of mutually Glll,o~onal Walsh codes that the l,c-nstul,,,er output signal cor,~sponds 35 to. S~hse~uently, each t~"~h-,-,er output si~nal within the groups of 64 t-dnsfor-"er output si~nals is squared by l,dn~h,l"-er output signal squarin~ mechanis."s simi!ar to 236 and 238, r~spe.~ti~ely.
~hserp~ently, a ~roup of 64 deinlell6a~ed decision values similar to 246 Is ~enerated by aWin~ ",6chan:_." similar to 240 which acids ll,er each pair of squared t~dnsfo""er output signals (i.e. one from each ot th~ nsh ,-"er output si~nal squarin~ .-~chan:sn)s) havin~
5 associated six bit len~th index data ~ l~ls which indicate that the l,~n~h, ."er output signals ~I ~t~5,pond to the same Walsh code.
The deinterlsaved ~roups of decision data 246 are input to matfic computation unit 248. The metfic comp~ Qn unit 248 converts the ~roups of decisTon data 246 into ~roups of soft decision dec~i.,g 10 metfics 250. The conversion typically i,~,~o~3s scaling the groups of decision data 246 so that J~Jer 266 is able to use the decision data as soft decision decodin~ metfics. This scalin~ oper ~ion may include equalization of decision data 246 accordin~ to .~:~ed sign~ ~t~t,r,~l, information ortransmitted power inf~ ",~tion related to the ,~ivocl 1 5 spread spectrum si~nal. It will be appreciated by those skilled in the art that the d~ler 266 could also be des;~n~l to include such co",psns~l;on functions. The metric computation unit 248 also sen~es as an P~Id~ n~ ",ecl,an;s-" for ~enerating a~es in which to put the ~roups of soft decision decodin~ metrics in the metric lookup table 20 260. The index data s~."l~l~ associated with each soft decision metric (i.e., scaled decision data) are used as part of the lookup table ~hi~t,ss ~en~r~ted by the metfic computation unit 248. The ~roups of soft decision mstrics 250 are output by the metric computation unit 248 at the same rate that the decision data 246 were input. However, it will be 25 appr~cidl~J by those skilled in the art that metfic computation unit 248 may also serve as a buffer n,6cl,an;_..- for metric lookup ~able 260. In particular, metric computation unit 248 may le",~F~r~ storo the soft decision metrics 250 and output the soft decision metrics 250 to lookup table 260 as needed.
Tumin~ now to the particular portion of the detailed example concemin~ the metric comrut-';cn unit 248, metric comr~~';on unit 248 pr~f~rdbly leceives deint~rled~Jed ~roups ot 64 decision data 246 at a rate of 307.2 ~ ocond. The metric comput~ on unit 248 convsrts the ~roups of 64 decision data 246 into ~roups of 64 soft deasion decoding metrics 250. In aWition, the metric comput~tion unit 248 ~ener~les ~ sses 250' in which to put the ~roups of 64 soft decision decodin~ metrics in the metric lookup table 260. The six bit len~th index data sy.-lLols associated with each soft decision metric are used as part of the lookup table ad~ ss 250~ ~enena~ed by the metric computq'ion unit 248. The ~roups of soft decision metrics 250 are output by the matric computation unit 248 at the same rate of 307.2 I--,-~,;c~second 5 that the decision data 246 were input.
The ~roups of soft de~sion metrics 250 are input to a metric lookup table 260. A ~r~,h..~l embodiment memory-based lookup 1able 260 is shown in FIG. 3. Th~ lookup table 260 includes a ,-,~,-,ory portion 256 and aJd~ass buses 252 and 254. Metric comp~ ;on unit 248 10 ~r~;des a write acl~,ss 250' tor each associated soft decision matric 250 to metric lookup table 260. The write a~hh.,ss consists of a ~roup aJd~dss portion which identifies a particular ~roup ot soft decisinn metrics from which each soft decision metric 250 is in and also an offset adld~aS portion which identifies the particular soft decision metric 250 of 15 the particular ~roup of son decision metrics. The ~roup ac~ aS portion, which cGIlespGnd-a to data bits ori~inally ena~Jed by encoder 204, also cGrl~apGr~a to a particular ffme state in the maximum likelihood sequence eali-"..tion decoder 266. The offset aJd~as portion, which ~r.aapofid~ to the index data symbol associated with the particular sofl decision metric, also c~ àpGnc~a to a possible transition wUhin a maximum likelihood dec~;n~ trellis which de~er 266 wili s~hse~uently be determinin~. The offset ahh.,es portion and group ad,J~ess portion of the wrlte a~l~ss 250' are placed on the data buses 252 and 254"~spe.;1i.rely. S~hse~ ently, each particular soft decision metric 250 ~ssoc~ d with the particular write ad~ ss 250' is stored within a location in the memory 256.
Turnin~ now to the particular portion of the detailed example concer"i,)~ the metric lookup table 260, metric lookup table 260 pr.,ter~bly ,~CGiVCs the ~roups of soft decision metrics 250 at a rate of 307.2 kllldt~icstàecond. I IOJ 3~'0r, as previously noted the lookup table may receive the soft decision metrics from a bufferin~ "-e~;i-anis." of the metric comrutQ'ion unit 248 as needed. In the pr~le.,t,d embodiment memory-based lookup table 260 is shown in FIG. 3, the memo~y 256 consists of random access memory (RAM) 256 which is s~",ent~d into 36 ~roups of 64. Metric comrLn~~ cn unit 248 p,u~rides a write add~ss 250 for each A~soc:~ed sofl decision metric 25û to metric lookup table 260.
The write ~dd~ss cons;sb of a ~roup addidsa portion which identifies a particular ~roup of 64 soft deeision metries to whieh eaeh soft deeision metrie 250 belongs and also a six bit ~en~th otfset add~ess portion whieh identffles the particular soft deeision metrie 250 ot the particular ~roup of 64 soft ~eision metrics. The group a~J~ess portion, which co,l~,sponcls to two data bits ori~inally eneod~ by 2/6 er~er 204, also cor.t,apond to a particular 1ime state in the maximum likel~hood sequence estimation J~coder 266. The six bit len~Jth offset ~ .,ss portion, which co--.,spor.~ to the six bit length index data symbol ~- ~ with the particular sott decision metric, also co--e~pon~s to a possible transition 1 0 within a maximum likeiihood -decodin~J trellis which dec~ler 266 will s~hseq~ently be determining while ~eneratin~ eal;~-,ated data bits 268.
The six bit len~th offset ach~ess portion and fJroup ~ ss portion of the write a~~s 250' are placed on the data buses 252 and 254, respectively. Svbseq~ently, eaeh particular soft decision metric 250 1 5 associated with the partieular write a~Jd~ss 250' is stored within a loeation in the RAM-based lookup table 256.
Sinee, the soft deeision metrics 250 have been stored in mestric table 2~0, deeoder 266 whieh uses maximum likelihood clecficlin~
teehniques to ~ener~te estimated trd~fie cl.annel data bits 268 can be~in deeodin~ oper~ions. These maximum likelihood decoding techniques may be au~mented by usin~ an al~orithm whieh is sul,aldntially similar to a Viterbi decodin~ al~Jorithm. The dec~ler 266 uses ~roups of the sott decision metrics A~ d with possible transitions at each particular time state of the maximum likelihood sequence eati",~tion decoder 266 to ~ene-dt0 the esti".~t_J data bits 268. Decoder 266 provides a read add~ess 262 to the lookup table 260 to retrieve particular sott decision metrics. The read a~J~uss 262 includes an otfset add~dàs portion which coll~7apGn~ to a possible l-dns~tion within the MLSE decodin~ al~orithm and a ~roup achh~ss por~ion which cGIl~sponJa to a particular time state withTn the MLSE decoder 266.
The offset add~ess portion and group ~d~às portion ot the read ss 262 are placed on the aJd~ss buses 252 and 254, ,~spe~ti~ly. Subse~ ently, each particular sott decision metfic 264 ~ssoc~ d with the particular read a~hh~as 262 is retrieved trom wlthin a location in the memory 2B6. The eaii",aled data bits 268 are ~ene~dted at a rate related to the rate that the soft decision data 264 are -42~
retrieved into the ~Jec6 Jbr 266 and the number ot estimated data bits 268 ~enerated per ~roup ot so~t decision metrics 264 retrieved.
Tumin~ now to the panicular por~ion ot the detailed example concemin~ the Jecoder 266 ~I~Jer 266 preferably uses maximum 5 likelihood decodin~ techniques to ~enerate estimated trafflc cl~annel data bits 268. These maximum likelihood decodin~ techniques preferably are au~mented by usin~ an al~orithm which is substantially similar to a Viterbi decodin~ al~orithm. The ~rhr 266 preferably is a 216 convolutional ~le~r related to the ~r cocior 204 ori~inally used to 1 0 encode traffic channel data bits 202. The ~r 266 uses groups ot 64 soft decision metrics associated with 64 possible transitions at each particJJlar time state of the maximum likelihood sequencs estimation ~br 266 to ~enerate two estimated data bits 268 per ~roup of 64 soft decision metrics retrieved into ~ r 266. ~coder 266 provides 1 5 a read &~r~ ~~ 262 to the lookup taib~e 260 to retrieve particular so~t decision rnetrics. The read a~r. ss 262 includes a six bit len~th otlset ~r~ ss portion which o~ spGrKb to one of a possibie 64 transitions within the MLSE decodin~ aborithm and a ~roup ~i~c~s portion which oe. ~-.pon~l~ to a particular time state within 1he MLSE ~ der 266.
20 The 8iX bit len~th offset aJd~t ss ponion anci ~roup a~ ss portion of the reaci a~h~ss 262 are placsd on the data buses 252 and 254 respectivsly. Svbse1~-ently each particular soft decision metric 264 associated with the particular read ~r~vss 262 is retrieved ~rom within a location in the .~,6."0ry 256. The estimated data bits 268 are 25 ~enerated at a rate related to the rate that the soft decision data 264 are retrieved into the decocbr 266 and the number of estimated data bits 268 ~en6-dt~1 per ~roup of soft decision metrics 264 retrieved. If the soft decision data 264 are ,vt~;evoJ into the Jec~ler 266 at a rate of 307.2 ~--wt~ics/second and two estimated data bits are ~ener~t~d per 64 30 metrics input then the estimated data bits ar ~el)vldtdd at a rate of 307.2 h-"~t,i~/~ecor,d time two bits per 64 me1rics which is equai 10 9600 e~ti "aleJ bits/~econd.
Althou~h the invention has been dvs ;,iL.eJ and illustrat~ with a certain de~ree of particularity it is unde.; tvod 1hat 1he present 35 d;~Qsu~e of e"ll,Gdi- ,ents has been made by way of example only and that nurnsrous cl-anges in the a.-~nge,--6-~ and combination of parts as well as steps may be reso.tvd to by those skilled in the alt without -4~
departin~ from the spirit and scope of the Invention as ciaimed. For example, the modulator, antennas and demodulator portions of the preferred embodiment communication system as Jes~-il,ed were directed to CDMA spread spec tnum sbnais transmitted over a radio 5 communication cl.annel. However, as will be u~nJ_.ot~ l by those skilled in the a~t, the encodin~ and decodin~ techniques ~sclJIl~i and claimed herein can aiso be adapted for use in other types of t~_ns" e s on systems like those based on TDM~ and FDMA. In addition the commun cation cinannel could altemat~vely be an electronic data 10 bus, wireiine, optical fiber link, or any other type of communication channel.
METHOD AND APPARATUS FOR USING ORTHOGONAL
CODING IN A COMII IUNICATION S' F;eldOtthe h~J_ntjOn The present invention relates to communication systems which employ spread-spectrum si~nals and, more particularly, to a method and appar..:us for convolutional oftl,G~onal codin~ in a spread spectrum 10 communication system.
~acl~.vund ot the Invention Communication systems take many forms. In ~eneral, the 15 purpose of a communication systern is to l.~r~,..;l information-bearin~
siQnals from a source, located at one point, to a user Je3tination located at anotl,er point some distance away. A communication system ~enerally cons;~ of three basic CG.-" Gnents; transmitter, cl,al,nel, and ,eceiv6r. The transmmer has the function of ~rucessin~ the ",essage 20 si~nal into a form suitable for lr~,ns.., . ion over the cl,annel. This prucessi"~ of the ",essa~e si~nal is It,fe~ to as modu'~tion. The function of the cl,annel is to provide a phJ~;,;cal conn~tion bet~0an the transmitter output and the r~ceiver input. The function of the ~~cer/er is to p-ucess the received si~nal so as to prociuce an e~ lld1e of the -2- 2 ~
ori~inai ",essa~e si~nal. This prucess~n~ of the rbca vGd signal Is referred to as demodulation.
Two types of two-way communication channels exist narnely, p~int-to point channels and p~int-to-multipoint channels. Examples of 5 p~oint-to-p~oint channels include wirelines (e.~., local te ephone ~ n5~ 3'0n), mio,.. - ve links, and op~tical fibers. In corlt~l, point-to-multip~oint channels provide a capability where many ,ao~h~in~ stations may be rbacll6d simuitaneously from a single transmitter (e.~. cellular radio telephone comrnunication systems). These point-to-muitipoint 10 systems are also termed Muitip~e ~Jr~ss Systems (MAS).
Analo~ and diQital t~anslllis sicn ",~th~ls are used to transmit a ",e~A~e s~i~nal over a communica1ion cl;annel. The use of di~ital .,l~thG~ offers several operational advantages over analog ~"etllG~, includin~ but not limited to: increaseJ immunity to ci,annel noise and 15 inte,ft7r~nG~, flexible operation of the system, ce"""on tormat forthe b~ns" s sion of different kinds of 1~65S~G siQnals, improved security of communicalion throu~h the use of enc~yption, and ;~ ,as~l capacity.
These aJ~ tages are attained at the cost of in.; ~asecl system complexity. I lo. 3ver, throu~h the use of very lar~e-scale inte~ration 20 ~VLSI) lechn~l~c,J a cost-eff~ct;1/e way of building the hardware has been dev~ ~pad To transmit a ,..essa~e si~nal (either analo~ or di~ital) over a band-pass communication cl,annel, the ",essADe si~nal must be manipulated into a form suitabl0 for efficient l~a~ sicn over the 25 channel. Modification of the ",essa~e si~nal is ach-3v6d by mean~s of a p,ucess termed modulation. This prucess ~ olve5 varyin~ some parameter of a carrier wave in A~rd~nce with the ",essa~e signal in such a way that the spectrum of the modulated wave matches 1he assi~necl channel bandwidth. C~ "espondin~ly, the f~iv~r is required 30 to recreate the original n,essage si~nal from a de~l'ddad version of the transmitted signal after -.rup~t;Gn through the cl ,annel. The re-c,u~tion is accomplished by usin~ a process known as demodu'q~ion, which is the Inverse of the modulation proc~ss used in the t~ s",~1ter.
In addition to providin~ eflicient t~.n~".l s'cn, there are other 35 ._asons tor psrforrninQ modu'~ion. In particular, the use of modulation perrnits multiplexin~, that ist the simu~aneous l,dns", ~ eion ûf si~nals from s0veral ",es~e sources over a cG1"",on channel. Also, 3~
modulation may be us~d to convert the ",e~ 0 si~nal into a form less sv~e~ti~le to no~se and inIe"~runce.
For multiplexeci communication systems, the system typic~ly consists of many remote units (i.e. sui~,iL er units) which require active 5 service over a communication cl,ann~l tor a short or discrete portion of the communication channel resource rather than continuous use of the resources on a communication ci,annal. Ther6 ~r~, communication systems have been desi~ned to inco",Grdte the characteristic of communicatin~ with many remote unHs for brief intarYals on 1he same 10 communication cl,snnel. These systems are brmed multiple access communicstion systems.
On~ type of muitiple access communication system is a spraad spectnum syst0m. In a spread spectrum system, a modulation technique is utilized in which a transmined si~nal is spread over a wide frequenc~
15 band within the communication cl,annel. The trequency band is much wider than the minimum bandwidth required to transmit the information being sent. A voice si~nal, for example, can be sent with amplitude mociulation (AM) in a bandwidth only twice that of the info...,ation Hself.
Other forms ot modulation, such as low deviation frequency modulation (FM ) or sin~le s;deband AM, aiso permlt information to be transmitted in a bandwidth co",par~ble to the bandwidth of the information itself.
However, in a spread spectrum system, the modulation of a signal to be IrL.~.~I;lted often includes takin~ a bAcebAnd si~nal (e.~., a voice channel) with a bandwidth of only a tew kilohertz, and distributin~ the si~nal to be t~dns",ilte.l over a trequency band that may be many ",e~ahe,k wide. This is accomplished by modulatin~ the si~nal to be t~- n~nl;ll.,d with the info""ation to be sent and with a ~ ;deband encodin~ si~nal.
Three ~eneral types o~ spraad spectrum communication techniques exist, includin~:
n~re~ ~~A~V ~ence The mo~lu'~;on ot a carrier by a di~ital code sequence whose bit rate is much hi~her than the information si~nal bandwidth. Such ~ste",s are referred to as "direct sequence~ modulated _yste."s.
2 ~ ~ r', L ~ ~
Carrier trequenc~ shiftin~ in ;ii~,~e il~.t""euts in a pattem dictated by a code sequence. These sy~ s are called Yrequency hop~ The transmitter Jumps from frequency to trequency within some p,~dele,--~inecl set; the orcler of frequency usa~e is d~,ter"-;ned by a code sequence. Similarly ~time hoppin~ and ~time-frequency hopp~ ~ have times of t~ns... s~ion which are re~ulated by a code sequence.
Puls~FM or ~chirp" modula~ion in which a carrier is swept over a wide band during a ~iven puise interval.
b~hD~ tion (i.e. the ~--essa~e si0nal~ can be e--~t~lded in ~he spread spectnum si~nal by several ...~tl.~. One method is to add the 15 information to the spreadin~ coele before it is used for spreadin~
modulation. This technique can be used in diract sequence and frequency hopp;n~ systems. It will be noted that the intv.-"ation bein~
sent must be in a di~ital form prior to aWing n to the spreading code, be~se the co--~bin 3tion ot the spreadin~ code and the infolllldtion 20 typically a binary code in~ 0s module-2 addiiion. Alle~ ti,roly, the information or ",essage si~nal may be used to mod~ te a carrier before s~r~Ji~ ~t.
Thus, a spread spectrum system must have two propenies: (1 ) the transmitted bandwidth should be much ~reater than the bandwidth or 25 rate of the i"f~ r",dtion bein~ sent and (2) some function other than the infu~ tion bein~ sent is employed to Je~,r",ine the resul~in~
rnodulated channel bandwidth.
Spread spectrum communication s,~te"-s can be multiple access systems communication systems. One type of multiple access spread 30 spectnum system is a code division multiple acc~ss (CDMA~ system. In a CDMA system, communication bGh\een 1wo communication units is accomplished by sp,~lin~ each l,dns,.~ ed si~nal over the frequency band of the communlcation channel with a unique user spreadin~ code.
As a result, transrnmed si~nals are in the same frequency band ot the 35 communication channel and are separated only by unique user spre&din~ codes. These unique user spreadin~ codes pr,f~rably are G11hG~onal to one an~nl,er such that the cross~"e~ldtion ~ eGn the sprb&~ codes is appruxi,,,ately zoro. CDMA sy~t_ms may use direct sequence or frequency hoppin~ spreadin~ techniques. Particular transmitted si~nals can be ..,t~ia~ed frem the communication cl,annel by de5.pr~adin~ a signal ,t,p,~s~nt~tive of the sum of si~nals in ths 5 communication chann~l with a us~r spreadin~ cocie relat 3c to the par~icular transmitted si~nal which is to be retriev~ from the communicatTon channel. Further, when the user spreadin~ codes are otli,G~onal to one ar.tl-er, the received si~nal can be correlated with a particular user spreadin~ code such that only the desired user signal 10 related to the particular spreadin~ code ie ~nll,anced while the other si~nals for all of the other users are not enl.anced.
it will be appruc;ated by those skilled in the art that several dlffererlt spr~in~ codes exist which can be used to sep~ e data si~nals from one an~tl-er in a CDMA communication system. These 15 spreadin~ codes include but are not limited to pseudono;se (PN) codes and Walsh codes. A Walsh code co,..,5.poriJ~ to a sin~le row or column of the i lada...ard matrix. For example, in a 64 cl,annel CDMA spread spectrum system, particular mutually c~lh~onal Waish codes can be selected from the set of 64 Walsh codes within a 64 by 64 Hadamard 20 matrix. Also, a particular data si~nal can be sepa, nt~l frorn the other data si~nals by usin~ a particular Walsh code to spread the particular data si~nal.
Further it will be appr~ciated by those skilled in the art that spreadin~ codes can be used to channel code data si3nals. The data 25 signals are channel coded to improve pelfl,r--,ance of the communication system by enablin~ ns",;l~ed si~nals to better withstand the effects of various cl.ahnel impairments, such as noise, fading, and ja""";n~. Typically, channel codin~ reduces the probability of bit error, and/or reduces the required signal to noise ratio usually 30 eA~Jrdssed as ener~y per bit divided by noise density (Eb/No), to recover the signal at 1he cost of expendin~ more bandwidth than would otl,er :se be necessA~y to transmit the data si~nal. For example, Walsh c~ies can be used to channel code a data si~nal prior to modulation of the data signal for subse~uent h~ris" ~ssion. Similarly PN s~,r~adin~
35 c~des can be used to channal code a data si~nal.
A typical spread spectrum l-dns", s sion i-)~lv~s expandin~ the bandwidth of an in1u~l.~ion si~nal, transmfflin~ the ex~,anded si~nal and recovering the desired inforrnation signal by remapping the ,~ce:~e~l spread spectrum into the ori~inal infon..~tion si~nals bandwidth. This series of bandwidth trades used in spread spectrum si~naling techniques allows a communication system to deliver a 5 relatively error-~ee infu,,.,~tion siQnal in a noisy signal er,i;.un",6n~ or communication cl,annel. The quality of r~very of the ll~)~lllitled information si~nal from the communication cl,annel is measured by the error rate (i.e. the number of errors in the ~ ery of the transmined si~nal over a partioular time span or receiveJ bit span) for some E~
10 As the error rate i"c,~ases the quality of the si~nal received by the ,~coiv;n~ y d~r~ases. As a result, communication :,~Al~llls typically are ~si~"e~l to limit the error rate to an upper bound or ma~dmum so that the d~,~ldtion in the quali~y of the received si~nal is limited. In CDMA spread spectrum communication systerns the error rate is 15 related to the noise inte,ft,r~nce level in the communioation channel which is d~rectly related to numb~r of simultanaous but code divided users within the communication channel. Thus, in order to limit the maximum error rate, the number of simultaneous code divided users in the communication chanl)el is limited. However, the er~or rate can be 20 reduced by usin~ cl,annel codin~ scl,6",es. Thereforc, by using cl,annel codin~ sche",es the number of slmultaneous users in a communication cl.annel can be ;n~;,t,as~J while still maintainin~ the same maximum error rate limit.
As discussed in ~ nrnmllni~in-l~ Fl~n-l .."~nt~ nrl 25 ~plications by Bernard Sklar, published by Prentice Hall, En~lewood Cliffs, New Jersey in 1988, espedally chapters 5 and 6 entitl0d ~Channel Codin~" hund on pa~es 24~380, severai of these cl,annel codin~ scl,e",es have been dev~ ~p~d for use in communication systems. I lo-v3ver a need exists for these channel codn~ sche",es Io 30 be specitically opti",ked for use in CDMA spread spectnum communication systems. Through the use o~ these opti",i~ed channel codin~ sche",es, the number of simultaneous users in a communication channel can be inc,eased over the number of simultaneous users in a communication channel usin~ non-optimized channel codin~ while 35 maintainin~ the same maximum error rate limit.
-7~
Summary of the Inven1bn A method and a~par~t~s is provided for usin0 orll,o~onal cocies in encociin~ and decodin~ in a communication system. In encodin~, 5 input bits of a data si0nai are enc~J~- into data sy..~bols and the data sy~lliJGls are ~roupec. The dah ~,l~i~ls are encoc~l with an encotiin~
al~orithm (e.~., a block coeiiny al~orithm or a convolutional cociin~
al~orithm) which fadlitates subse~ ent ma~dmum likelihooci decodin~ of the data symbols ~nto estimatea data bits. The ~roups of data symbols 10 are translated accordir~ to e~ther one of two al~orilh-"s. The first al~orithm cons;sts of interie~ n~ by ~roup each ~roup of data symbols within a pr~Jet~"";ned size block and s~se~ ently de,i~;n~ an o,li-o~on~l code from each ~roup of int6rle- ~ecl data symbols. The altemative second al~orithm consists of der;J:n~ an o,ll,o~onal code 1~ from each Qroup of data sy"~l,ols and su~lse1~ently interleavin~ by orlhc~onal code each olll,~onal code within a pr~ater-,lined ske block.
In dec~lin~, received data samples are ~rouped. The ~roups of data samples are t~dnsfol-,-~i accorciin~ to either one of two al~GIill""s.
20 The first aigorithm consR,ts of generdti"~ a plurality of sofl decision similarity metrics and index data Sy~ Gl.3 for each ~roup of data sa""~ies such that one son decision metric is A~SG~ with each index data symbol and s~hse~uently deinterleavin~ by ~roup each ~roup ot sOn decision metrics wlthin a pl~,dute.-,lined ske block. The altemative 25 second al~orithm consists ot deinterieavin~ by ~roup each ~roup of data samples within a predetermined size block and suhse~l~ently ~eneratin~ a plurality of son decision similarity metrics and index data sy."bGls tor each deinterieaved ~roup of data samples such 1hat one soft de~s;on metric is associated with each index data symbol. Each 30 sOn decision metric corlespGfi~b to a measure of contidence that a particular group ot data samples is substantially similar to a particular o~l ,Ggonal code from within a set ot mutuaily Gr~ onal codes. After the ~rouped samples are l,ansfo""ed, at least one estimated data bit is ~enerated by utilizin~ maximum ITkelihood decodin~ techniques to 36 derive the at least one estimateci data bit from lhe index data sy.nl~ls and ~-csoc;~sd sott decision metrics.
Bfief Desc~i~t;on of the Drawin~s FIG. 1 is a block dia~ram sh D~ '.~ a prior art communication system which uses o-lho~onal codin~.
FIG. 2 is a block dia~ram showin~ a preferred embodiment communicatinn system which uses oflhG~pnal codin~.
FIG. 3 is a block dia~ram showin~ a preferred embodiment decodin~ appar~ls which uses a Ille.-lG~y based lookup table.
FIG. 4 is block diagram showin~ a preferred embodiment matfix ,t".-asen1ation of an i,~lea~er loaded with encocled.data bi~s.
FIG. 5 is a dia~ram showin~ the tr~llis dia~ram of an example cor,.~L!lnicnal encodin~ ~enerator for an erH:ocler.
Detailed Descfi~t;on Referrin~ now to FIG. 1, a pfior art system for using Gl 11 ,~onal codes in encoding and dec~Jin~ in a communication system is shown.
In the encodin~ portion 100 of the communlcation system, traffic channel data bits 102 are input to an enc~xler 104 at a particular bit rate (e.g. 9.6 kbiV~econd). The input traffic channel d~ta bits can include either voice conJe.ted to data by a vocoder, pure data, or a combination of the two types of data. ~ncoc er 104 encodes the input data bits 102 into data ,,I~I~I~s at a fixed encodin~ rate with an encodin~ al~orithm which facilitates subse~;uent maximum likelihooci decodin~ of the data sy.lllJGI-~ into data bits (e.~. convolutional or block codin~ ai~o,i~l""s).
For example, encoder 104 en~des input data bits 102 (r~ceived at a rate of 9.6 kbits/second) at a fixed encodin~ rate of one data bit to three data sy.llbols (i.e., 1/3) such that the enc~br 102 outputs data symbols 106 at a 28.8 hsy-,lL~ls/aeconcl rate.
The data ayllll~ls 106 are then input into an inlerled~er 108.
In~elleaver 108 block i"te,lea~es the input data s~ bols 106 at the symbol level. In the inlerleaver 108, the data sy-l~l~ls are individually input into a matrix which defines a predete"":ned size block of data sy,-~bcls. The data ay.ld~ols are input into locati3ns within the matrix so that the matrix is fllled in a column by column ,.,anner. The data sy.-ll~ls are individually output from locations within the matrix so that the matrix is emptied in a row by row manner. Typically, the matrix is a ~9 ~ iJ .~ ~ J ~
squar~ matrix havin~ a number of rows equal to the number of columns;
h~ eJer, other matrix forms can be chosen to inclease the output interieavin~ distance bGtws0n the cor~secuti~Gly input non-inle~ed~ed data s~ l,sls. The in!eriea~ed data iJ.nl,ol~ 110 are output by the intenieaver 108 at the same data symbol rate that they were input ~e.~., 28.8 l~ s~o~rl.11. The predetermined ske of the block of data l~ls d~fined by the matrix is derived from the ma~dmum number of data sy~,ll~ls which can be transmitted at a ~r~bt~ ined chip rate within a ~ et.,.,.lined len~th llnna,lll ssen block. For example, if data -I,llbols 106 are output trom the encocler 104 at a 28.8 h~J.,l~l~s~o~nd rate, then the maximum ~rt,del~rlnin0d chip rate for transmittin~Ihosedatas~ bols106is28.8 i~ bol-~ecend. Further, for example if the precletel"lined len~th of the l-~ns", ~ sion block is 20 millisecor,~, 1hen the predetermined ske of the block of data ~.,l~ls is 28.8 h~ k-ocond times 20 milliseconcls which equals ~76 data ~;,nbols which deSines a 18 by 32 matrix.
The interic~/od data , ~,l~ls 110 are then input to a mapper 112. The mapper 112 derives a sequence of fixed len~th o-Il,G~onal codes 114 (e.~. 64-ary Walsh codes) from the int~nic~ l data symbols 110. In for example 64-ary ~,,ll,~onal code si~naiing, the interiea~ed data symbols 110 are ~rouped into sets of six to select one out of the 64 G~ll,~onal codes to ,~presen~ the set of six data sy.llbGls. These 64 o,ll,o~onal cocies preferably co"t,spond to Walsh codes from a 64 by 64 I l~h",a,J matrix wherein a Walsh code is a sln~le row or column of the matrix. The mapper 112 outputs a sequence of Walsh codes 114 which co"~spond to the input data s~ bGls 110 at a fixed symbol rate (e.~., 307.2 ksyl"l~la/-scofiJ).
Ths sequence of Walsh codes 114 is output from encodin~
portion 100 of the communication system and input to a transmntin~
portion 116 of the communication system. The sequence 114 is p,e7pa,~d for l,~ns",-ssion over a communication channel by a modulator 117. Subserlllently~ the modulated sequence is provided to an a"tenna 118for l,ansn,)ss ~n overthe communication chanoel 120.
The modulator 117 pr~er~bly pr~pa,~s the sequence 114 for direct sequence code divided spread spectrum l,dns",.ssion by spreadin~ the sequence 114 with a lon~ spreadin~ code (~.~. PN code).
The spreadin~ code is a user spscific sequence of symbols or unique -1o~
user code which is output at a flxed chip rate (e.~., 1.228 Mchlps~oo.,J). In addlt~on to providin~ an identlfication as to which user sent ~he enc~l~l traffic cl.annel data bits 102 over the communication cl.annel 120, the unique user code enhances the 5 security of the communication in the communication channal by scramblin~ the enc~l traffic channel data bits 102. In addition, the user code spread Gna~J data bits (i.e. data ~ ls) are spread by a pair of short spreadin~ codes (i.e. short when compared to the long spreadin~ code) to ~enerate an I cl,ann~l and Q~;l,annel code spread 10 sequence. The I cl,annel and 0 channel code spreadisequences are used to bi-phase modulate a quàdrature pair of sinusoids by drivin~q the power level controls of the pair of sinusoids. The sinusoids output si~nals are summed, bar~ass ffltered, translated to an RF frequency, amplffled, filtered and radiated by an antenna 118 to complete 15 t~_ns-ission of the traffic chan~l data bits 102 in a communicaUon channel 120.
A r~c~:v;.~ poltion 122 of the communication system ~ hJoi the transmined spread spectrum si~nal from over the communication channel 120 throu~h antenna 124. The r~ivod si~nal is sampled into data samples by demodulator 126. ~u~ell~ently, the data sampes 128 and 129 are output to the decodin~ portion 130 of the communication system.
The demodulator 126 preferably samples the rdCO;~/Od spread spectrum si~nal by filterin~, demodulatin~, translatin~ from the l'~F
frequencies, and samplin~ at a predete---,;ned rate (e.~., 1.2288 Msampleshecond) ~bsec uently, the in-phase sampled si~nal and quadrature sampled si~nal are i~,Japefider,lly despread by correlating the ~oe'v~J sampled si~nals with the sho~t spreadin~ codes and the lon~ spr~in~ code. The resultin~ despr~ad in-phase 128 and quadrature 129 sampled si~nals are sampled a predetermined rate (e.~., 307.2 ksamplest~econd so that a sequence of 10ur samples of the reco;~ed spread spectrum si~nal is de~pr~acl andtor r~pr~senteJ by a sin~le data sample).
The in-phase 128 and quadrature 129 sampled si~nals are ir.Jepenclently input to a decodin~ portion 130 of the communication system which non~oher~ntly detecls/d~xles the sampled si~nals 128 and 129 into estimated data bits 168. In orderto decode the sampled 8ignals 128 and 129, predeterrnin~d len~th ~roups (e.g., 64 sample len~th ~mllps) of sampled si~nals are i.,deper~ldntly input to o-ll,~onal code ll~r,sf~ ""e-s (e.~., tast I lada--l~.J ~dnsfe"-.er~) 132 and 134, respectively. The G,ll,o~onal code l,an:.f,,---e.~ 132 and 134 output a plurality of Ir~nsfer",er o~nput si~nals 133 and 135, ru~pecti~/ely (e.~.
when 64 sample len~h ~roups are input, then 64 l~hsfor,--er output si~nals are ~ener~t~,J). Each t~ansfl,---,er outp~ si~nal oelle,spon~ to a measure of confidence that a particular ~roup of sampled signals col,.,sp~nds to a particular o,ll,~on~ eode from wlthin a set of mutually 10 s,11,G~or,~ codes. In aWition, each t~dnslollller output si~nal has an associated index data symbol which indicates which particular orll-G~or.al code from within a set of mutually o. II,o~onal cedes that the ~c.nsfol...er output si~nal co--t,s~,or,J~ to (e.~. when 64 sample length ~roups are input, then a 6 bit len~th index data symbol can be 15 ~ d with the lrnnsfullller output signal to indicate the particular 64 bit length olll,o~onal code to which the I~d" .~ --er output si3nal cGIldsporlJ~). S~lhsenuently, each ll~"a~ ,--er output signal ~hin the groups of l-dnsf,r",er output si~nals 133 and 135 is squared by bt-r,:,ful-"Qr output si~nal squarin~ ",~I,an;_..R. 136 and 138, 2û res~3ctively. .SI~bse~p~ently, a ~roup of docision vaiues 142 is ~enerdted (e.~. when 64 l,c.n;,fo""er output signals are ~enerdted, then 64 decision values are ~enerated) by addin~ ",~I,ani_." 14û which adds lo~dll,er each pair of s~juared b~r,;.h r",er output si~nals (i.e. one from each of the t,dnsf.r" er output si~nal squarin~ ",eol,an;_."s 136 25 and 138) havin~ associated index data symbols which indicate that the l,dn~for",er output si~nals cor,~sponJ to the same ~ onal code.
The ~roup of decision values 142 and associated index data Syll~bG15 are input to a se ection ~,.ecl.ani_.-. 144 which selecis the maximum decis;on value from the ~roup of decision values 142. The 30 se sct~d d6 r s on value 146 is input to a metric comri~t-';cn ~I~ecl~ar~;c." 150 which scales the se scted decision value to a value 154 which can be used as a scalin~ factor in formin~ individual soft decision data which can s~ ~hsecluently be used in formin~ soft decision transition metrics for maximum likelihood decodin~ techniques. The index data symbol 35 ~ssoc; Aec! with the se s~ct~d decision value 148 is input to an index ",appin~ ",e~l,an;_." 152 which maps the index data symbol into a plurality of ~1 soft decision bits 156 (e.~., a 6 bit len~th index data ~1 2-symbol maps into 6 soft decision bits). Muitipiier 158 multiplies each of the pluraiity of +1 sof~ decision bits 156 by the scaiin~ factor 154 to form an individuai sofl decision data 160 for each soft decision bit (e.~., 6 soft decision bits form 6 individuai soft decision data). The individual soft decision data are formed at a predetermined rate related to the number ot metrics formed per group of data sampies and the rate that the data sampies are input to the e~tho~on~i transforrner (e.~., if the data sampies are input at 307.2 ksamples/second and 6 individual data are 1~)...,~ data samples, then the individuai soft decision data are 10 formed at 28.8 kmetri~scor i).
The individuai son decision data 160 are then input into a deinterieaver 162 which deinterieaves the input soft decision data 160 at the individuai data level. In the deTntcric~ cr 162, the soft decision data are individuaily input into a matrix which defines a predetermined 15 size biook of solt decis~on data. The sott decision data are input into locations within the matrix so that the matrix is fflled in a row by row ~-.aaner. The de~nterieaved soft decision data 164 are individuaily output trom locations within the matfix so that the matrix is emptied in a column by column ~--anner. The deinterieaved soft decision data 164 are output by the deinterieaver 162 at the same rate that they were input (e.~., 28.~ h...~/tlics/~ecofid).
The predetermined slze of the block of soft decision data deflned by the matrix is derived from the maxlmum rate of samplin~ data samples from the spread spectrum si~nai ,ec~:vo i within the 25 p-~bl~."lined len~th t~dns", ssion block, the number of data samples r~pr.,sented by each ~roup of data samples, bit len~th of the index data symbol A~SOC' ~A~I with the soft decision vaiue selecteci for each ~roup of data samples input to the orll,G~onal code l,dnsh,,-"er, and the number of soft decision data forrned from the s~'s~ted soft decision 30 value and ~soc~ d index data symbol. For example, if the maxlmum rate of samplin~ data samples from the r~ ~ ~h~l spread spectrum si~nal is 307,200 data samples/~econd, the pred~t~,r,.lined len~th of the ~,s...;sslon block is 20 mllliseconJ~, the bit len~th of the s~'~cted ~ndex data symbol per ~roup of data samples is 6 bltsl index data 35 symbol associated with a ~roup of 64 samples, and the number of soft decision data formeci per index data symbol is 6 individuai data/ index data symbol, then the predet0rmined size of the block of soft .~ 's'~n data is 307,200 samples/second times 20 millisecor~ times 6 bit index data symbo~'index data symbol times one index data symbol/64 samplas times 6 individual data/ 6 bit index data symbol which equals 576 sott decision data The deinterieavsd so~t decis~on data 164, are input to a Jecoc er 166 which uses maximum likelihood bcodin~ techniques to ~ener~e estimated traffic cl)annel data bits 168. The maximum likelihooci decodin~ techniques may ~ au~mented by usin~ an al~orrthm whic~ is substantially similarto a Viterbi decodin~ al0orithm. The de~Jer 166 uses a ~roup ot the individuai sOn decision data 164 to form a set ot sott decision t~n;,i~ion metrics for use at each particular time state of the maximum likelihooci sequence estimation ~o.J~r 166. The number of sott decision data 164 in the ~roup used to form each set of sott decision transition metrics co~l~spol;~ to the number o~ data s~"d~ls 106 at the output of the convolutional encoder 104 ~ener~ed from each input ciata bil 102 The number of soft decision transition metrics in each set is equal to two raised to the power of the number of soft decision dala 164 in each ~roup For example, when a 1/3 convolutional encoder is used in the transmitter, three data s~ ~l~ls 106 are ~enerated from each input data bit 102 Thus, c5ecoder 166 uses ~roups of three individual soft decision data 164 to form ei~ht soft dedsion transition metrics for use at each time state in the maximum likelihood sequence esti",alion decoder 166. The esli",~J data bits 168 are ~enerated at a rate related to the rate that thc soft decision data 164 are input to the Je~der 166 and the fixed rate used to originally encode the input data bits 102 (e ~., if the soft ~e 1~ cn data are input at 28 8 I-, et~ics/~econd and the ori~inal enco J; ~ rate was 113 then estima~ed data bits 168 are output at a rate of 9600 bits/secor,d) Thus, a communication system for usinQ G,ll Ggonal codes in encoJing and decoJin~ has been described above with ~,fer~nce to FIG 1 In summary, the communication system includes a first portion which encoJes input data bits into data s~ l~bGls, inte,lea~es the data _yl.~bGls in a symbols by symbol manner, maps the i,l~erleaved s~m l~ls into G,ll ~onal codes, modulates and transmits the G,l1,o3onal codes over a communication channel The communication system further includes a second portion which receives and democl~l t~s a si~nal from over the communication channel, l ~nsh,l lls ~roups of samples of 2 ~ 3 .'3 1 1 the demodulated signal into a ~roup of measures of confidence that each particular group of samples c~ pon~ to a particular s,ll,~onal code from within a set of mutually ~,~ll,o~onal cod~s, selectin~ the one lar~est measure of confidence from each Qroup of measures of 5 confidence and an indcx data symbol which identifles the particular ~ lhG~onal code cG"~sponJin~ to the ~sle~ec measure of confidence, ~ene~t;n~ soft decision data from each ~ ed measure of confidence and ~so~iRtsd index data symbol, deinterleavin~ the soft decision data within each received t~ns~ ion block, suhse-luently ~en6rdlin~ soft 10 decision ttansition metrics from ~roups of deinterleaved individuai sofl decisicn data, and subse~ sn~ly-~ener~t;.~g estimated data bits from the soft decision m~trics by usin~ ma~imum likelihood (lec~in~ techniques.
Referrin~ now to FIG. 2, a preferred embodiment system for usin~
G,ll-G~or,al codes in enc~;n~ and decodiny in a communication system 15 is shown. The preferred embodiment system differs from the communication system shown in FIG. 1 by optimizin~ the enc~;n~
techniques previously deKiil~J above for use with ~,.II,o~onal codes.
In particular when the len~th of the o,ll,o~onal codes to be used in encoding data bits prior to If ~nS~.I Y s'en over a communication channel 20 is known, then si~nificant improve.--ents in the overall pe,f..r",ance of the communication system can be achieved. More specitically, the maximum likelihood sequence estimation (MLSE) decoJin0 al~orithm can be o~li."i~ed by o~ti".;~in~ the encodin~ portion 200 of the communication system as well as the tront end ot the decodi"~ portion 25 230.
In opti",i~ the communication system encodin~ portion 200 and dec~in~ portion 230 with respect to the MLSE decod;n~ al~orithm, one starting point is analyL;n~ the imple"-en~tion ot the MLSE
decodin~ al~orithm to the particular env;run",enl to which it is to be 30 used. For the purposes of this d~ ssion, the env;.un-"en~ will include convolutional encode,~ and "laFp n~ the enc~Jed bits to Walsh codes prior to lldnslll sion. It will be apprec;..ted by those skilled in the art thatthese principles can be applied to other encodin~ techniques such as block encodin~ as well as ",app;.,~ the enc~J~I bits to other kinds of 35 mutually o.ll,o~onal codes. In order to desi~n a convolutional decoder to pe, for." optimal MLSE ~Jecod;n~, the lik~ hood eAur~ssion ot the transitions must be derived. Accordin~ to the theory of ma~timum h ~ ~ $ 3 .~ .
~15-likelihood estimation, for a received si~nal vector x, the likelihooci function of the i-th transition is equai to the conditional probability of vector x bein~ ~enerated by the i-th Waish code wi assoc ated with the i-th transition. For an MLSE dec~ ler the optimal soft decision transition B metric is equivalent to the lo~&r;ll"" of the likelihood funclion.
For the purposes of this ~ ion, the communication system is assumed to be non-fadin~ and to have white, Gaussian no~se with a va.iance ~2 . However, th~s followin~i defivat~ons can oe easily extendeci by one skilled in the ait to non-t~ ;an noise. In a coher~nl 10 detection s,;l,e,..e, the joint prooability density function (pdf) of the cohe,.,ntly received vector x, ~iven wi is sern, can be exp,~ l as:
p(X¦Wi) = (2,~2)N/2 exp 2~2 (eq. 1 ) 15 where a is the cl)annel attenuation anci the su~,e.~lipl H indicates the complex conju~atin~ and barspo~ ~:on, or Hermitian, oper hi3n of a vector or matrix and N is the di",anslon of the vector (i.e. for this example N~64 for a 6~ ~,t/aloh code).
By takin~ the naturai lo~ari~h", of (eq. 1 ) and after expandin~, the 20 optimal metric can be eA~,r~ssecl as:
LnlP(X¦W~)] = ~nl2,~21 + X X-~YTV~I, ~2W~T~ (eq. 2) where, since both x and wi are real, we have replaced the Hemmitian 25 oper~tion (H) by a l,anspose operation (T). All the terrns except -2ccxTw/2~2 in (eq. 2) are co"""on to all the t,~ns;tions. Therefore, the optimum metric is simply -axTw~/a2. Further, xTw~ is the correlation between the l~e:v6d signal vector and the i-th Walsh code (i.e. the i-th output of the Walsh transfor",er). Theretore, the optimal metric tor the i-30 th l,dnsilion is the scaled form ot the i-th output ot the Walsh Indnsfo""er F~ ~ $ .J ,fi ,.3L
In a non coherent detection ~cl-e---a, the Joint probability density fun~tion (pdl3 ot the non o~her~rltly .~c~iv~J veclor x, ~h~en w~ is sent and the modulation an~le ~s ~, can be ex~,-~s6d as:
(-x-a~wi)H(x-ael~) P(x~ (2~a2)N/2 exp 2& (e~i. 3) where the ~c~iv~d si~nal vector is a comp-iex vector. Since ~ is a random an~le with a uniform distribution from O to 2~c, it can be eliminated from the equatbn by inte~ratin~ the eql~ en over the ran~e 10,2JCl. iMorepr~;sel!l~
2,~
(-x-atel~wi)H(x~wl) p(x¦wi)-- (2~ 2)N/2 exp 2& d~
~
-(xHx I a2W~Twl) i~' -(ae~xi~ v, ~ ,Tx) '(2~2)N/2exp 2~2 - Jexp 2~2 d~
-(XHX~a2wiT~ ) r -alxHwi¦
= (27c&)N/2 exp 2~2 Jexp 2~2 cos(~) d~
(eq. 4) where xHwi is ~;;A~ ssed as ¦xHwi¦cos(~).
Since cos(~+~) is a periodTc function of ~ with a period of 2~ and further by use of the definition of lo(z), as the zero-th orcier moaiified 20 i3essel function, the inte~ral poriion of (eq. 4) can be eA~,rt.~s~l as:
2,~ , . ~ .
J p ~aiXHw~lcos(~ p) d~- exp 2a2 bDS(~) d~
o o = 2lO[alxH~l) (eq. 5) -17- ~ ?~
By substitutin~ the r~sult of (9q. 5) into (9q. 4) for the integral portion of (~q. 4), takin~ the natural lo~arill"~, of this version of (eq. 4), and eliminatinQ the co"""on terms ~or all of the transitions, the optimal metric can be ex~,r~sse~
a2 1 (eq. 6) j ID~ 3~rer, IO(Z) (i.e., the zero th order modified Re~sel func~ion) can be ex~,r~ssed as lo(z) . eZ~(z), where ~(z) ~ a monotonically d~,~;n~ function with g(0) - 1 and ~(z) ~ 0.4~for z ~ 1. Thus, the optimal metric of (eq. 6) can be ex~,russ~ as:
Ln 10[~ Ln S~[ ~ - (eq. 7) The second ~errn of (eq. 7) can n~t be essily computed.
Therefore, an appr.,Ai,.,~tion must be used to comput~ the optimal metric. One appru.~i",ation i~ to simply use the first terrn (i.e. the scaled envelope of the Walsh t~..nah,llller output. Anothsr a,oproAi",~ion which avoids a square-root operdtion is to use the squared value or compute 20 the appru,.;",dtion of the ma~nitude of a complex number as the decodin~ metric. Yet an-~l,er appro,d--,dl;on is to se~---erltally app-u,J,~,~te the function ~(z) by usin~ poly~lGIllial equ~tions. Upon eA~ er"-,entdtion with each of these dilferen~ apprvA;nlat;Gns in the non-cohelenl envin,r--,ent deK~ ed above, the ,lillerence between usin~
25 the squared value appruAi."~t;Gn and the segmented poly.,G",;al ap~cnJA~ tion in enor rate pe, h" ",-dnce was determined to be only one to two percent. This Jilfer~nce was deem~d to be not si~nificant enou~h in the preferred embodiment communication system ervirur""ern to justify the extra comrut*~iQnal complexity of se~---ente(J poly"G",ial 30 appruxi",~tions. Therefore,intheprefenedembodiment communication systems, the optimal metric is appru~ "dted as a scaled form of the squared value output by the Walsh code l,dns~ul",er.
This optimal soft decision 1,dnsitiGn metric tor MLSE decûding differs from the metric ~ener~teJ in the communication system shown in 35 FIG. 1 in lhat this optimal transition metric, as computed for example in 3 ~
the pre1erred embodiment communication system shown in FIG. 2, is simply the squared, summed, and scaled outputs of Walsh code l~ansfo~ r:- 2~ and 234. The outputs of the Walsh code ~ansfoh"6r:
232 and 234 can be used directly ~se each ~roup of sampled 5 signals 228 and 229 co"t,spor,ds to a sin~le transmmed G,ll,G~onal code which r~plesents the same set of Input data bits encodeci into a ~roup of data symbols which were ir~t,rlea./ed as a ~roup and ",appe-5 as a ~roup to the transmttted orll,ogonal code.
In con~.~1, the communication system shown in FIG. 1 gene,-~t~s soft decision transHion metrics from a ~rwp of ~ndividual deil~te~e~ocl soft decision data 164~ Each individual soft decision data 164 was computed from the product of a particular selected summed oL tput of Walsh code t~ar,~fo-",e.;i 132 and 134 2nd a bit from the index data symbol associated with the particular output of the Walsh code l~ Thîs use of individual deinterleaved soft decision data 164 to form the soft decision l.ans:lton metrics is nece~eAr~ se each ~roup of sampled signals 128 and 129 CO,~:,pOI;~ to a sin~le t~ s-"itted o,ll,o~onal code which does not ~~pr~7serll the same set of input data btts~ In the encodar 1~0 shown in FIG~ 1, thè encod~l data ~0 bits or data symbols are individually interleaved rather than interleaved as a group~ Then,fore, a ~roup inte,led~ed data ~, "~bols r~r~s6nt;n~
more than one set of input data bits is ",app~ to the l,dns",i~t~J
Grtho~onal code~
Thus, the optimal soft decision transition metrics used in MLSE
decodin~, as shown in EIG~ 2, differ from the metrics ~ener~ed in the communication system shown in FIG~ 1~ In addition, the pr~ferred e,-~Ji...e.)t communication system shown in FIG~ 2 p,.J;de~ si~nificant improve",ents over the communication system shown in FIG~ 1~ One improvement is that when the optimal soft decision metrics are used in a 30 communication system, having a fixed maximum avera~e bit err~r rate, rather than the soft decision metrics des~,il~d in ,Jf~,rt,nce to FIG. 1, the si~nal to noise ratio (i.e., E~/No) can be si~nificantly less in the communication system usin~ the optimal soft decision l-dnsition metrics.
As a result, the communication system usin~ the optimal son decision 35 metrics can tolerate more noise in a communication channel. In a spread spsctrum CDMA communication system the amount of noise is directly r~lated to the number of simultaneous code divided channala ~ ~ ~ (.J L _ ~
(i.e., users) operatin~ in the same spe~ band or ran~e. Thel~f~r~, the communication system usin~ the optimal soft decision metncs can tolerate more users than the communication system ~s~-i~d in FIG. 1.
C3",e~i,.~ntal results forthe non~her~rlt communication system 5 en~;.un,..ent Jesc.i~d above indicate that the improvement in si~nal to noise ratio trom usin~ the optim~ soft d~ s~cn metrics is appr~ --ately 1 to ~ dB over the soft decision metrics as ~-il~cl in the communication system shown in FIG. 1. In other words, the coding gain derived from the use of the optimal soft J~;sion metrics is ~reater than 10 the codin~ ~ain derived from usin~ the sott decision metrics as Jes~-iL*d in the communication system shown in FlG. 1. Another i...~,r~"~,...ent is the simpllfied structure for the decodin~ portion of the communication system.
In ~mplementing the use ot these optimal soft ~J~s;on t~nn~;~ion 15 metrics, the interleaving of the da~a symbols (i.e., er~led data bits) is affected. Interleavin~ of related data syl-~ls causes bursts of errors in the communication channel to be spread out in time and thus to be handled by the dec~ler as if they were i--Jepen~nt random errors.
Since, cl.annel ~--e-"ory Jbcleases with time sep~r~ion, the idea 20 behind interleavin~ is to separate (i.e., make inddpendenl) the related data 8~ bcils of an enco.led data bit in time. The intervenin~ space in a tr~n&,-,lsR'Qn block Is fllled with other data ~J~"L~Is related to other enco~JeJbits. Separ~ti"~thedatas,lllbol3intime~ffecl;~elyt~drl5-f.l",s a cl,al)nel with memory into a IllelllGrylGs3 one, and thereby enables the 2~ use of the random-error Co~ codes (e.~., convolutional codes and block codes). A MLSE convolutional decoder makes a decision based on a sequence ot data samples instead of a sin~le data sample. Thus, in order to obtain the best r~sult in interlea/;n~, the data samples on which the decodin~ decision is based should be as indepandent as 30 po~ible. I IDwa~0r, when bdnslllitt~i data sy."l~ls are oryani~e.,i into blocks, the maximum separ~tion be~eGn any two data s).lllJGls cannot ~- be lar~er 1han the block size. As a result, data samples of a I~CB;V~:l si~nal includin~ the transmitted data ~.,ll~ls may not be inclependenl of each other when fadin~ of the si~nal is slow.
For a convolutional deco.ler with a constrairlt len~th of K, all of the inl~-lea~ing units within the ~Dnstraint lenQth K will affect a ~c~in~
decision p-u~;d~ that only the first error event occurs. I le~aver, in a -20~ L ~. ~
practical er.~lir~ ri-,en~, especially under low signal to noise ratios, the i~terleavin~ units sli~htly beyond the constraint len~th will also affect a decodin~ decision, beç~se the enor~vent may have a lon~er len~th.
An optimai interleaver is des;~..eci accorcin~ to the foliowin~ criteria.
5 First, I (i.e., the minimum sepa,~tion or distance bet Neen non-interlsaved consecutively input interleaved units) is chosen such that I =
BIJ. B is the l.~ns...-~ 5 cn block len~th or size of the interle~O~or matrix inunits of the size of the inlefiea~ed units (e.Q. the ske of each ~roup of data sy~ or in the ~-ce of inte.leav;.~ onl,o~onal codes, the size of 10 each s~U-o~onal code). J is chosen to be an inte~er thal is lar~erthan K
and less than 1.5K. ~ will be appreciated by those skilled in-the art1hat m,...~rws interleavin~ distances I can be chosen in acco,Jance with the principles set fOnh above for a ~iven set of ope-~inç, env;.~ --en~s parameters J, K and B without depa~tinQ from the scope and spirit of the 1~ present i.-,~ent;nn.
For the preferred embociiment communication system shown in FIG. 2, the constraint len~th is chosen to be nine data bits input to enc~br 204. In particular, two input bits are convolutionally encocied into six data ~..,~ls with a constraint len~th of nine input data bits (i.e., 20 2/6 encoding with K~9). Each set of six data ~ bbl~ relatsd to the same two input data bits are grouped to~tl,er as an interieaving unit. K
in terms of i"le-led~ng units can be found by dividin~ the constraint length of nine input data bits by two input data bits which gen6rdte a ~roup of six data s~ bols or one i.~teriea~/ing unit. Thus, 4.5 25 i"~e.l6a~ing units or groups of data ~yll~bGls wlll affect a single decociingdecision (i.e., K=4.5). In addition, the block interieaver 20B will hold 576 data s~ Lol~ which co--~spGn~ to the number of data Sy--lbG15 which can be transmitted in a single l,dns... sion bloc3c by the transmitting portion 216. Thus, the interieaver 208 i,lterie&l~os 96 i"teriea~ing units 30 in each block interieave or B=96. J was chosen to be 6 which is greater than K of 4.5 and less than 1.5K of 6.75. The.~h.re, I is chosen to be equal to B/J which is 96 divided by 6 (i.e., I,16). As a resuit, inte,leaver 208 will i"teriea~e any two ~Jjacent non~ e-lea-/ec input ~roups of data symbols such that the two grou,os are sepa-dtecJ by 5 other ~roups 35 of data syllll~l~ at the output of the i, ~.leav6r 208.
In corlt,~1 in the communication system shown in FIG. 1, the constraint len~th is chosen to be nine data bits input to encoder 104 2 ~
which enc~es one Input bit into three data s~..,~l~ (i.e., 1/3 encodin~
wtth K.9). An interleavin~ unit equals one input data symbol. Thus K in terms of inb~eavin~ units is 27 data synll,bls or K.27 (i.e., three data symbols per input data bit times a constraint lenyth of nine input data bits). In aWition, the block interlea"~r 108 will hold 576 data sy"lbols or inte.~ea~/;.,~ units (i.e., B-576) which c~r-espon~ to the number of data s~nll~ls which can be transmmed in a sin~le ~ns.,. siQn block by the transmmin~ portion 116. J was chosen to be 32 which is greaterthan K
of 27 and less than 1 .5K of 40.5. Therefore, I is chosen to be equal to B/J which is 576 divided by 32 (i.e., 1-18). As a result, interleaver 108 will h~tt~ any two adjacent non-i-~,lea~red input data s~.llbols such that the two data S~r--ll~GIS are separated by 31 other data J,-~L~ls at the output of the interl~a~er 108.
The dfflerent interleavin~ ot the communication slrsl6~lls shown in FIG. 1 and 2 result in J;lf~r~nt levels of pe~r-,~nce of the encodin~ and decodin~ ons of the communication system. The pe-h,""ance difference is particularly distinctly seen in the sbnal non-fadin~
en~r;.ur,.,.6r~ of an ~dditive white G~u~si~n noise (AWGN) communication cl-annel. Several ~actors aff~t pe~..,.ano~ of 20 enc~lin~ and ~lecoclin~ in a fad~n~ emr;.un"-brn includin~: AWGN
codin~ ~ain and dive.a;ly. As previously mantioned, the codin~ ~ain of the communication system shown in FIG. 2 us~n~ a communication cl)annel such as an AWGN cl,annel is ~reater than the codin~ ~ain of the communication system shown in FIG. 1. The d;1/~,.;,ity inher~nt ~n 25 convolutional coding is equal to the number of data samples affectin~ a decodin~ decision. For a tirst error event, the d:~er;-ity is equal to the constraint len~th. For the communica!tion system shown in FIG. 2, the Ji~r~ity is equal to about 5, because ap~r~ A;~ tel~f 5 r~coh~d Grtl,ogonal code words affect a sin~le decodin~ deasion. In c~nt.~l, for 30 the communication system shown in FIG. 1, the diversity is 2~. The diversity is much greater bec~ ~se all n data samples which affect a decodin~ dedsion are taken from dilte~ent portions of the received si~nal stream. This ~reater diversity in the communication system shown in FIG. 1 makes it pe,h,r.., better in ideal Raylei~h/Nal~ami 35 fadin~ or infinite i-~te,leaving en~;...n"~rlts havin~ a hi~h si~nal to noise ratio than the communication system shown in FIG. 2. However, when the si~nal to noise ratio is lowared (e.~., durin~ deap fadin0), the " ",ance ot the communication system shown in FIG. 2 ;,~ u,ros with respect to the communication system shown in FIG. 1 bec~use the AWGN codin~ ~ain beco".es more i...~ftant. In slow fadin~
6r~:.ur.",0~f~s like Jakes model en~l\un.--~nh, entire t~dns,-. ss ~n 6 blocks can be in fade (i.e. low si~nal to noise ratios exist) Inlellea~in~
and diversity charactefistics do not ;.--pr.~e decodin~ dedsiûns much.
However, AWGN codin~ ~ain is very illl~tdl~ and as a result the communication system shown in FIG. 2 will pelh,.., betterthan the communication system shown in FIG. 1. Thus, the ~ r~nce in the 10 interleaf;.* of the data y.-~L~ls in the communicslion systems shown in FlGs. 1 and 2 affoct the pe~"--ance of the communications in si~nal fadin~ er~l;.un,.-erns. However the ~reater-in ~he AWGN coding gain of the communication system shown in FIG. 2 o~_r~."es the greater diversity of the communication system shown in FIG. 1 in most slow 15 si~nai fadin~ situatbns.
In summary, the codin~ ~ain derived from the use of the optimal soft decision metrics is ~reater than the codin~ ~ain denveci trom using the soft decision metrics as descril~d in the communication system shown in FIG. 1. For example, in ~he non~oherbr~l communic~tion 20 system env;.ur....en~ i,.,~r .~ ."e"l in si~nal to noise ratio from usin~ the optimal soft decision metrics used by the communication systam shown in FIG. 2 is appru~-;,--ately 1 to 2 dB overthe soft decision metrics as desc.il.eJ in the communication system shown in FIG. 1. Further, this ~reater codin~ gain of the communication system shown in FIG. 2 25 ove.co."es the ~reater Jivor~;ty of the communication system shown in FIG. 1 in most si~nal fadin~ situations.
A des~ t;on of a preferred embodiment communication system, shown in FIG. 2, which inco.,~rdtes the aboYe ~,-errlioned o~ti...i~in~
principles for a MLSE decodin~ in a system usin~ Gnal codes 3û follows. In the encodin~ portion 20û of the communication system, trafRIc cl)a.l)nel data bits 202 are input to an encoder 204 at a particular bit rate.
The input trafrlc .;I,annel data bits can include either voice con/e.t~l to data by a vbc~ der, pure data, or a combination of ~he two types of data.
Cncoder 204 enco.les the input data bits 202 into data sy,.~bûl., at a 35 fixed enc~in~ rate ~th an encoding al~orithm which f~cilitates suhse~luent maximum likelihood decodin~ of the d~ta symbols into data bits (e.~. convolutional or block coding alyorlll"~). The data sy.l)bol, ~ ~ S~
-2~
associated with each input data bit 202 are ~rouped tD~etl,er. Each ~roup may include the data sy,nbols A~soei l~ed with more than one input data b~t 202. These ~roups of data sy-"l~l~ 206 are output by the encocbr 204.
A detailed example of a particular communication system vv~th reference to the system elements of the prefeneJ embodiment sys~em shown in FIG. 2 will be ~le~o~il~J below. The pa~ticular portion of the d~tailed example conce ~-;n~ each ~1'6.~6nt will immediately tollow the ~ tion conce.";.~ that palticular ~!~ ,.ent shown in FIG. 2. Tuming 10 now to the particular portion of the detailed example concer,-;ng the enooder 204 encoder 204 ~l~f~:dblJ recehres input data bits 202 at a rate of 9.6 kbits/second. The en~lar 204 convolutionally encodes the input data bits 202 at a tixed eneodins rate of ~vo data bits to six data sJ.-~l~ls (i.e. 2/6 encodin~) and with a constraint len~th ot nine (K 9).
15 The set ot six data sy."bcls associated w}th each two inpln data bits 202 are ~rouped to~e~l,er. These ~roups of six data ~"li~lS 206 are ou put by encoder at a 28.8 l~y.,~ so~ond rate. The ~roups of six data s~.,li~ls 206 are ~enerdt~J usin~ encodin~ ~enerato-s g(x). The poly..o,..;al based ~ene~ators as clesc.;i~i In octal form prefer~bly are ~1(x) - [5571, ~2(x) = [663l, ~3(x) 5 [711], ~4(X) ~ l1336], ~5(x) ~ [1546], and ~6(x) = [1 622l, respectively. it will ba appreciated by 1hose si~illed in the art that the output of a rate 1/3 convolut~onal enco~er havin~
~enerators ~1(X), ~2(x), and ~3(X) with K,9 which r~caivas two consecutive input data blts and is oper- -ed twice can be shown to be equivalent to the output of a sin~le 2/6 rate generators ~1 (x), ~2(x), g3(x), ~4(X), Ç~5(X), and ~6(x) with K-9 when the same bits are input to the rate 1/3 encod~r and the rate 2/6 encoJar. Further, it will be app~ teJ that other sets of six generators can be used to encode the input data bits without depa~ from the scope of the present invention.
In an aller.. dti~/e pr~f~ d embodiment, encci.ler 204, as noted above, preferably It~CGiVl3S input data bits 202 at a rate of 9.6 kbits/second. The encocler 204 convolutionally encGdes the input data bits 202 at a fixed encodin~ rate of two data bits to six data symbols (i.e., 2/6 encoding) and with a constraint len~th of nine (K=9). The set of six 35 data syml~ls A~soc -ed with each two input data bits 202 are ~rouped t~tl,er. These aroups of six data sJr-,l~ls 206 are output by encoder at a 28.~ seoond rate. However, in this allenl~ti~a pr,,fer.t,d ~24-e"~ .li."erlt, the encodin~ ~eneralors ~(x) used by encocler 204 toencode the ~roups of six data s~ l,ols 206 are optimized for use in ~e~l~ent o, ll,~onal codin~. In order to perforrn such an opti",i~d~ion of the enc~Ji.,~ ~enerators of encoder 204, the wei~ht distribution or 5 wei~h~ spectrum of the K,J~ en~ eJ by the enc~di.)0 generators must be analyzed.
The encoder 204 can be conveniently des.;-il,ed by a trellis diay.a".. In FIG. 5, a trsllis Jiay,d,.. of a simple con-o~utional encoder is shown. It will ~e app-.,c;~i~J by those skilled in the art th~t, althou0h 10 a more sophisticated ccnvolutional enc~r 204 would be employed in the pr~e,-~d alternative embodiment, the prinaples and t~chniqu9s de~,il.ecl in this example can be readily applied ~o the plef~..-dd altemativ0 embodiment. In this trellis Jia~.~,." a a~dev/crd is associated with a path (e.~., path 512/520) behveen two states or nodes 1 5 (e.g., nocbs 500 and 510). These paths can i3e divided into two subsets cons:-~ti..~ of correct and inc4"~ paths.
What constitutes a correct and an in~~ path can bs more easily ~ Ier~ to~l throu~h the use of an example. In this example, the convolutional enc~cler is started in state 00 (i.e., at node 500). Further, the encoder 204 is assumed to have r~caivGd two data bns 202 co,.espondin~ to 00. For the first time-state t-.-ns;lion, the encoder 204 transitions to node 502 alon~ a branch 512, be~se 00 was received.
Subseciuently, for the second time-state transition, the enc;der 204 is assumeci to receive two more data bits 202 col,~,sponding to 00.
As a result, the encocier 204 transitions to node 510 from node 500 throu~h node 502 along a path 512/520, ~scau-se 0000 was r~ceh~ed.
This path 512/520 c ~ spor~ to a c orrect c ocieword 0000. A
col,e~ sr,ding decocler (e.g., dacoder 266) will evaluate ~he metrics of all the possible paths in th~s trellis. Ther~ , other paths which .apres6r~ incol,~ct codo o,d-~ may be s~'s~t~ by the decoder. For example, these ;ncor,~l paths may cor,~spor,cl to transitions of the enc~er 204 for which the encoder 204 may lldns;tion alon~ three other paths to node 510. The c~ecoder may have assumed that the encoder 204 transitioned to node 510 from nocie 500 through node 504 along a first in~r,~,1 path 514/522, bsc~-se 0100 was received. Similarly, the dec~Jer may have assumed that the encocler 204 l.~lns;tiune-J to node 510 from node 500 through node 506 alon~ a second incol,~t path ~ ~ $ {~
616/524, bec~ ~se 1000 was ~ec~ ved. Finally, the ~J~Gder may have assumed that the enc~ler 204 t~ansillonec; to node 510 from node 500 through node 508 alon~ a third h~co,.ect path 518/~26, be~se 1100 was received.
Wei~ht (k) is a parameter of a path which is deflned to be the number of the ~roups of data ~..~I,ols ~enerated by the generators of the encocler from the ,~ c 3rve~:1 data bits associsted with br~nci)es in an incc .,~l path that are diffel~nt from the groups of data ay~bols associated with ~rdnches of the correct path. In this example, for a path from node 500 to 510, the correct ~h 512/520 and this path has a k=0.
In cG~n,~1, each of the ;nc~--~t paths 514/5~, 516t~24, and 518/526 has a weight up to k=2, be4~se each of the Inc~ , 1 paths does not share any branch (i.e., ~rdncl.es 514, 516, 518, 5~, 524 or 526) of their path wHh the ~,..ncl,es of the correct path 5121520 (i.a., ~,dncl.es 512 or 15 520). By proper selection o~ the generators, H is posf that thase three paths all have a wei~ht k~2. The minimum distance (d(min)) between a conect path and an i"cor.wt path which start and end at the same nodes is equal to the constraint len~th (K) divided by the number of received data bits used to ~enel~e a sin~le ~roup of data s~ bols 20 rounded to the next highest whole number. For example, if K=9 and two r~ce.ved data bHs are used, then d(min) e round(9/2) ~ 5. The minimum distance is the minimum number of b-~nches which differ ~t~e~n the corrsct path and inco"~ path which start and end at the same nodes.
Further, the minimum wei~ht (k) can not be lar~er than the minimum 25 distance (d(min)) for the encoder.
The weight spectnum for a convolutional ~enerdtvr can be de~.i~d by the tollowin~ pair of functions:
~ akWk and ~. bkWk (eq- 8) k d(rnin) k,d(lTdn) where W is a function of the type of encoder used, ak is the number of finHe length incGr.~ct codewords or inco,.~,cl paths with a wei~ht k, and bk is the total number of input data bits in all i-,co--~t paths of wei~ht k which were differ from the correct path input data bits. In the example 35 enco-Jer of FIG. S which has p ruperly sel~ted ~ener~'cr~, for ks2 in this trellis diagram, then ak 3 and bk 4. A~ previously disc~ is calculated by notin~ that each of the inco,g~t paths 514/522, 5161524, and 518/526 does n~t share any branch (i.e., b.~--cl,es 514, 516, 518, 522, 524 or 526) of their path with the br~r~l.ee of the correc~ path 5121520 (i.e., bn.ncl.es 512 or 520) and as such, by usin~ proper ~enerators, two b.dnches (and their c~r,e,aponJin~ group of data sy.llbGls) of an ;ncc"~_t p~th ~ll dffler from the correct path (i.e., these paths all have a wei~m k-2). In aWition, b~, is calculated by notin~ that for each ot the inco.,~-,1 paths 514/522, 516/524, and 518~526 the 1 0 Jec~r rnay have deterrnined that 0100, 1000, and 1100 was received, respec~ively. Further, for the correct path 512/520, the ~er would deterrnine that 0000 was received. Therefore, bk is the sum of the differ~nces between the correct and inoGI-~1 deterrninations of the .bcoder which is equal to four (i.e., 1 +1 +2-4). E~oth ak and bk are also 1 5 known as enor coemcients of the codewo~ds ~ene,~.toJ by the convolutional encoder. The ak error coemdent is related to the block error probability of the cocle. r~ ~ene,dled and the b~c error coefficient is related to the bit error probability of the ~ds~ ene~dled. Thus, the most desirable gener :ors of a convolutional encoder is the ones which ~enerd~e code~ rJs havins the smallest a~, and/or bk for all values of k.
Turning now to this alt6",~ti1~e preferred 6~lbGd;.llenl, the encoding ~enerators ~(x) used by encoder 204 to encode the groups of six data ~"~bol~ 206 can be s6 ~cted in ac~rdance with the above-",enlioned cons;derdlions. In this preterreti e"ll~t~i",ent encoder 204 a rate 2/6 convolutional encGder havin~ a constraint len~th of nine data bits (K=9) is used. Ther~for~ the minimum distance d(min) is five (i.e., round(9/2)55). Moreover the convolutional enc~xler used has four l,dnsitions (i.e., path brc.ncl,es) which can branch from or mer~e into each state or node. Ther~for~ the minimum number of in~,-~1 ~rdnches of a path or codo~ t.rds with a wei~ht of five is three (i.e. four path irJrdncl,es minus one correct path branch).
On further examination of the set of ~enerators (i.e., the set of polynomial based yenerators as desc,il.ed in octal form which include ~1(x) = [5571. ~2(x) = [663~ 3(X) = ~ , Q4(X) e [1336], Q6(X) = [1546], and ~g(x) = 116221) ~Jes;,il~d above which were not ~tillliL~i with respect to the wei~ht spectrum paldlll~er;~ and bk have a non--27~
optimal set of ak and bk values. More predsely, when these generators are used for convolutional code ~eneration in an o,~ onal coc in~
e.,~;.u~ .anl, the weight spectrum yielded is a~ ~ 3, 12, 42, 184, 769 and b" . 4, 36, 1~6, 916, 4667, for k~g forthe oocies ~ene-~.~ed. Better sets of convolutionai cocie ~ene~atols are availabie with respect to optimkation of a~ and b~c in an o,ll,o~onal codin~ ~,-J:.v~ ent.
For example, three different sets of ~enerators for a 2/6 convolutional encocier in an GllhG~onal codin~ em/;.ofi",e,lt yield the weight spectn~m of ak - 3, 9, 42, 1 65, 705 ar~i i~k ~ 4. 24, 1 48, 776, 3984, for 1~=~9 for the ~enerdteci cocies. These three sets of ~enerato-s as ~ies.;-ii~d in octal form are:
g1(x) 92(x) 93(x~ 94(x) ~s(X) 96(x) iMoreover, other sets of six generators can be dev~ 3 ~ from the group of ~enerato~ g(x) e (575,555,434,414, 161, 141,020,13729 1332, 1070,1030,342,302, and 040) which also have the same weight spectrum as those desc,il,6d in the above table. Th6r~'...~, in this altemative preferred embodiment, the encodin~ ~enerators ~(x) preterably used by encocier 204 to encode the input data bits 202 into 20 groups ot six data symbols 206 iS selected from a set of six generators developed trom the ~roup of ~enerators ~(x) cor,s;~tin~ of (575,555, 434,414,161,141,020,1372,1332,1070,11D30,342,302, and 040) such that the weight spectnum parameters ak and bk are reduced or m~nimizad. it will be appreciated by those skilled in the art that the 25 output of a rate 1/3 c~r.:~'uticnal encocier havin~ ~enerdtu,~ (x), g2(x), and 93(x) with K=9 which lec~;~es two consecutive input data bits and is op6r~t~,J twice can be shown to be equivalent to the output of a sinsle 2/6 rate gen~rdt~,r~ g1 (x), g2(x), ~3(x), ~4(x), ~5(x), and ~g(x) with K~9 when the same bits are input to the rate 1/3 encocler and the rate 30 2/6 encoder. Further, it will be appreciated ~hat other sets ot six ~1enerdlors can be used to encode the input data bits whils minimizin~
the wei~hl spectrum par~",ete,~ ak and bk without depa,l;n~ from the ~ ~ s.,~ Cl 3 ~
scope of the present b.~--r~tion. By usin~ these ~enerators with improved wei~ht spectrum in the preferred altemative embodiment encoder 204, an encoder204 can be pruJ:ded which has an operational improvement of 0.1 dB to 0.2 dB ovsr the preferred 5 embodiment enc~ler 2û4 which was not optimked with respect to it's wei~ht sp~trum.
The ~roups of data -/.,ii~ib 206, as ~enerated by either the prJf~ l~Ji",ent orthe altemative preferred embodiment enc:ûder 204, are then input into an ir,terlea~/er 208. It will be appr~ied by 10 those skilled in the art that the interleaver 208 could perform the ~rouping of data s~.-lbols operation rather than the encodar 204.
Inteneaver2~8 block interleaves the input ~roups of data ~."l~ols 206 by ~roup. In the interleaver 208, each ~roup of data _J.-lbols is indNidually input into a matrix which deflnes a predetermined size block 15 of da~a s~r~l~l~. The ~roups of data s, nll~ls are input into locations within the matrix so that the matrix is fllled in a column by column ",anner. The ~roups of data ,",bol~ are indivWually output from locations within the matrix so that the matfix is emptied in a row by row ~"anner. Typically, the matrix is a square matrix havin~ a number of rows equal to the number of columns; however, other matrix forms can be chosen to inc,"ase the output interleJv;n~ distance between the consecutively input non-interleaved ~roups of data sy-,lbols. The predetermined size of the block of data s~ il,ols delined by the matrix is derived from the maximum number of data _yl~bGls~ .~pr~sonl;n~ input data bits, which can be l-~ns"~ilted at a predeterrnined chip rate within a pr~,Jet~l",lnad len~th hdns",'~ sion block. The ir~,lea~ed ~roups of data ,ll~l~ls 210 are output by the interieaver 208 at the same data symbol rate that they were input.
Tuming now to the particular portion of the detailed example conce",in~ the i"terietn~er 208, i.~,l~a~/er 208 preferably r~ceives ~roups of data symbols 206 at a rate of 28.8 ksy."bol_J~eco~
h~t~ a~er 208 block int~rleaJ~3 the input ~roups of six data symbols 206 by ~roup. In the interieaver 208, each ~roup o~ six data _y."~ls is individually input into a matrix which defines a pledete"nined size block 35 of 576 data symbols. Shown in FIG. 4 is block dia~ram of a p,l,f~t,~i 6-"1,GJi",6nt 16 by 6 matrix of int~rie~er 208 loaded with ~roups of data sy-l~bols 206. Each ~roup of data sy"~b~ls is located within a --29~
single box of ~he matrix (e.~. box 400). Each ~roup consists of the six data symbols convolutionally ena~l~l from two input data bits 202 which are 13p-~serned by two numbers ~n parentheses (e.~. (1) and (2)).
The numbers in p&rernheses indicate the order in which the data bits 5 202 were ori~inally encG~ Into data symbols.
Each ~roup ot data sy~ are input into locations (i.e., boxes) within the matrix so that the matrix is filled in a column by column manner. For example, a first column of boxes in the matrix is filled with the first sixteen ~roups of data :J..,lJols 206 input into the interleaver 208. The 1 0 first column indudes a first ~roup consis.tin~ of (1) and (2) which is input into box 400 of the matrix and a second ~roup oonsistin~ of (3) and (4) which is input into box 402 of the matrix. The second column of boxes is filled with the next sixteen ~roups of data ~ bOISt 206. The second coiumn includes a seventeenth group consisting of (33) and (34) which 1 5 is input into box 404 of the matrix. The other four columns are filled in a similar manner. The ~roups of six data sy..lbols are individually output from locations (i.e., boxes) with~n the matrix so that the ma1rix is e---",tiod in a row by row manner. For example, the first row including box 400 and box 404 are output prior to the second row includn~ box 402. The 20 other row8 of the matrix are output in a similar manner. The stream of output groups of data sy--ll~ls 210 is inte~a~/eJ such that, for example, the first ~roup consistin~ of (1) and (2) is now separated by five other ~roups from the second ~roup consistin~ of (3) and (4). The intefiea~
~roups of data sy-llt,ols 210 are output by the interl~ea~or 208 at the 25 same data symbol rate ot 28.8 I y."lJolJJ~seo~rid that they were input to the ;nl~ed~/er 208. The ~r~cL,t~,...lined size of the block of data symbois defined by the matrix is derived from the max~mum number of data ~ ols, lepr~7sentin~ input data bits, which can be transmitted at a predetermined chip rate within a predetermined length bdns", ssion block. In 1he pr~hr,~l embodiment shown in FIG. 2 data s~ bols 206 are output from the enco~r 202 at a 28.8 l~y."bols/~econd rate. As a result the maximum pred~ter",ined chip rate tor transmittin~ those data _yll~l,Gls 206 is 28.8 l~y."l,ols/~econd. Further, the p,~te,-,lined length of the l~dns"~ s sion block is 20 mDlisecofi~. Ther~f~rt" the predetermined size of the block of data s~ L~l~ is 28.8 ~lstsecond times 20 millisecor,Js which equals 576 data symbols.
AJthou~h the pr,f~..acl e,.lLGd;...enl interle~rer 208 has been das~;-il,ed 3 ~ ~ ~
in particular detail, it will be ~pp~ated by those skilled in the art that numerous vanations of the interleaver could be implemented without depart~n~ from the scope of the present invention. For example, the size of the interleavin~ block could be altered to ac~l~llllG~ldte ~iffer~"l 5 tlans.., ~ ~iQn len~ths or rates. Also, the dil"~nsh~ns of the matrix could be altered to i~ esa or d~l~ase the il~t~tle~ J distance between consecutively input groups of data symbGI~.
The inle~l6a~ roups of data symbols 210 are then input to a ".apper 212. The mapper 212 derives a sequence of fixed length o~tl,ogonal codes 214 from the interleaved ~roups of data ~.llb~ls 210.
Each inte~lea~G~I group of data symbols 210 selects one orll,ogonal code from a group of mutually c"ll,ogonal codes to ,epr~se,lt the group of data SyllllJGIS 210. The mapper 212 outputs a sequence of orthG~onal codes 214 which cor-~apor,-J to the input data sy"l~ls 210 from encoding portion 20û of the communication system at a fixed data symbol rate related to the input data symbol rate.
Tuming now to the particular portion of the detailed example c~ncer";"g the ",apper 212""apper 212 preferably ~~ceivos interleaved g~oups of six data sy.,lbols at a rate of 28.8 l~y"lbol~sacond. The ",apper 212 pr~f~rdblJ derives a 64 bit lensth Walsh code from each input group of six data :.y.,lbGl~ 210. The six data s~."bols ot each group are used as a binary index to select one of 64 mutually o,ll,o~onal Walsh codes. The 64 mutually G,ll,G~onal Walsh codes pref~ r~bly co"~spor,J to single rows or columns of a 64 by 64 1 lada",alJ matrix. The mapper 212 outputs a sequence o1 Walsh codes 214 which CGne~pOh(J to the input groups of data eymbols 210 at a hxed data symbol rate of 307.2 l~y..lbGls/second. The i-)cr~ase in the data sy.,lbGls rate is due to the mapping function of the mapper 212 in which a 64 bit length Gnl ,~ona; code r~places each input ~roup of six data symbols (i.e., 64 bit length olll,ogonal code (64 data sy.,lt~ls) divided by six data symbols times the 28.8 l~y.,lbGls/secDr,(J input rate of the data symbols equals 307.2 I~-l~bGls/secohd). It will be appr~c;ated by those skilled in the an that other types and lengths of o~l,~onal codes could be used without clepaning 1rom the scope of the present invention.
In an alternative embodiment of the present invention which is roughly equivalent to the pr~fe"~l embodiment clesc,il,ed above, the order of input of the groups of data sy.-~b~ls 206 to the ~roup level block fS ~ f~ r~
interleaver 208 and ,-,apper 212 is reversed. The ~roups of data 601~ 206 are input to a ,.,apper 212. The mapper 212 derives a sequence of fixed len~th G-U,~onal codes 214 from the groups of data J,.,bols 206. Each 0roup o~ data _J.-,i~l~ 206 selects one onl-~onal S oode from a ~roup of mutually o.ll.Ggonal codes to ,e~r~sent the group of data sy--ll~l~ 206. The mapper 212 outputs a sequenca of Grll~on~ codes which c~"~ ncl to the input data sy.llbols 206 at a fixed data symbol rate related to the input data symbol rate.
Su~-se~ ently, the sequence of Grll,o~onal codes are input into an interleaver 208. Inte~c~var 208 block interlea~es the input sequence of G,1hG~onal codes by orll,G~onal code. In the interleaver 208, each GllhG9Olial code is individually input into a matfix which defines a predeterrnined size bloclc of ~-U-G~onal codes. The ~III,Ggonal codes are input into locations within the matrix so that ~he matfix is filled in a 15 column by column ...anner similar to the ~roups of data sy~ JGl~
.Jes~ above. Then, the G,ll-~onal codes are individually output from 10~4tions within the matrix so that the matrix is e""~tia~ in a row by row manner similar to the ~roups of data s~-"~ls desc~ibed above. The i"teriea/ed G,ll,o~onal codes 214 are output from encodin0 portion 200 20 ot the communication system by the interle~er 208 E~ the same data symbol rate that they were input to the inte,lea~er 208.
An example of such an altemative a..an~el,-enl of mapper 212 and inte.l6d~/er 208 which could replace the pr~fel-~.l e--lL~;.-,ern detailed example interleaver 208 and ~-.apper 212 co"~b;nation follows.
The ~roups of six data s,nll;.ol~ 206 are p,Jferdbly input to a rnapper 212 at a rate of 28.81~ ~ bol_/cocond. The mapper 212 derives a 64 bit len~th Walsh code from each input ~roup of six data symbols 206. The six data symbols of each ~roup are used as a binary index to select one of 64 mutually o-ll,o~onal Walsh codes. Due to the nlapp"~ funcHon of the mapper 212 in which a 64 bit len~th olll.o~onal code r~pl~ces each input ~roup of six data symbol, the mapper 212 outputs a sequence of Walsh codes at a fixed data symbol rate of 307.2 ksymbol~seaofiJ.
Suhsequently, the sequence of Walsh codes are input into an interleaver 208 at a rate of 307.21~y..~l,ol /~econd. Ir\lerl~rer 208 35 block interle53.~ro5 the input sequence of Walsh codes by Walsh code. In the interlea~er 208, each Walsh code is individually input into a 16 by 6 matrix which defines a prt.d ,te.--lined size block of 6144 data synlL,Gls -32~
(i~e., 96 Walsh codes). The Walsh codes are input into locations within the matrix so that the matrix is filled in a column by column ...anner similar to 1he ~roups of data sy.-lbol~ des.,.;t~d above in reference to FIG. 4. Then, the Walsh cod~s are individuaily output from lo~tions 5 within the matrix so that the matrix is e""~tied in a row by row manner sirnilar to the ~roups of data ~.,lbols Jesc~il,eci above in reference to FIG. 4. The intereaved Walsh cocies 214 are output from encoding portion 200 of the communication system by the int~tleaver 208 at 1he same data symbol rate of 307.2 ~ ols/second that they were input to 10 the i,h~,.led~er 208.
The sequence of o, ll,~onal codes 214 is input to a transmitting ,oortion 216 of the communication system. The sequence 214 is p,t,par~d for t~dns-" s s on over a communication channel by a modulator 217. Sl~se~ ently, the modulated sequence is pru~rided to an antenna 218 for t~dns", sicn over the communication channel 220.
Tuming now to the particular ponion of the detailed example conceming the modulator 217, modulator 217 preferably ~~aiv~s the sequence 214 at a data symbol rate of 307.2 I~ bolc/~ecDnd and prepar~s the sequence 214 for direct sequence code divided spread spectrum ll~lnslll ~ s'on by spreadin~ the sequence 214 with a long PN
sp,~Jin~ code. It will be appredated by those skilled in the art that other types of spread~n~ codes could be used to spread sequence 214.
The PN spreadin~ code Is a user specific sequence of symbols or unique user code which ~s m~xes with the sequ4nce 214 at a fixed ch~p rate of 1.228 IVchips/second. As a resuit of this mixin~ function, the sequence 214 is spread w~th the PN spre&J;n~ code such that 256 bit len~th sequences are formed which ,t.preser~ each 64 bit len~th Walsh code. In aJ iition to providin~ an identification as to which user sent the enco.led 1raffic channel data bits 202 (i.e., the Walsh code sequence 214) overthe communication channel 220, the unique user PN code enhances the secu~ty of the communication in the communication channel by scramblin~ the encoJed traffic cl,annel data blts 202. In addition, the user code spread encoded data bits are spread by a pair of short PN spreadin~ codes (i.e., short when oG""~ar~d to the lon~ PN
spreadin~ code) to ~enerate an l~hannel and ~channel code spread sequence. Th~ l-channel and Q~hannel code spread sequences are used to bi-phase modulate a quadrature pair of sinusoids by drivin~ the power level c~rn-vls of a the pair of sinusoids. The sinusoids output s4nals are summed, bar~,ass filtered, translated to an RF frequency, amplified, flltered and radiated by an antenna 218 to complete tldnS~ on of the traffic channel data bits 202 in a communication 5 cl.annel 220 as a spread spectrum si~nal. As a result of the encoding and modulatin~ operations, each pair of input data bits 202 are .~pr0sented by 256 bit len~th sequences which are transmitted in communication channel 220.
A .~co:v;..~ porlion 2~ of the communication system .~ eg the 10 transmitted spread spectnum si~nal trom over the communication d)annel 220 throu~h antenna 224. The r~ivsJ dgnal is sampled into data samplss by demodulator 226. S~ sell ~ently, the data samples 228 and 229 are output to the decoding portion 230 of the communication system.
1 5 Tumin~ now to the particular portion of the detailed example concer"ln~ the demodulator 226, the demodulator 226 pr~f~r~
samples the l~;VGCI spread spectrum si~nal by filterin~, demodulating, translatin~ from the RF frequencies, and sampliny at a predatermined rate of 1.2288 Msampleslsecond. ~u~ently, the in-phase sampled 20 si~nal and quadrature sampled si~nal are i--Jependenily, desplt,~ by correlatin~ tho received sampled si~nals with the short PN spreading codes and th0 lon~ PN spreadin~ code. The resultin~ desp~ad in-phase 228 and quadrature 229 sampled si~nals are sampled a ~raJuh. ,nined rate ot 307.2 ksamples/~ewnd so that a sequence of 25 four samplcs of the received spread spectrum si~nal is .~asprbad andlor e,cr~sar,t,id by a sin~le data sample.
The sampled si~nals 228 and 229 are independenlly input to a decodin~ portion 230 of the communication system which non-cohert,-,Uy detects/ulecodes the sampled si~nals 228 and 229 into esl;.. ated data bits 268. In order to decode the sampled si~nals 228 and 229, p,~del~""ined length ~roups of sampled si~nals are ind0pend6r~1y input to G,ll,G~onal code l,~nDh,r",~l - 232 and 234, les~tildly. The GllhG~onal code tldfiDf~lllle~i 232 and 234 output a plurality of l.dn:,h,l..,er output si~nals 233 and 235, res~,e~,til~ely. Each 35 I,d..Df~.r."er oulput signal c~ut,spon~ to a measure of confidence that a particular group of sampled si~nals ~r.~spGfi~ to a particular o~tl,o~onal code from within a set of mutually o~ll,G~onal codes. In $ ~
addition, each ~n;,fur",~r output si~nal has an ~Qsociqtsd index data symbol which ind~cates which panicular onl,~onal code from ~thin the set of mutually o,ll,o~onal codes that the l,_nsfu""er output si~nal co,.~,apor,~ to. The index data symbol also cc "~ponds to a possible 5 transition w~thin a maximum likelihood decoding trellis which clec~ler 266 will subseqllently be determinin~. Suhseq~ently each l-a"~fol"-er output signal within the ~roups of 1- ~u--,-er output signals 233 and 235 is squared by l~- n~fu....er output signai squarin~ l-,echan;s.--s 236 and 238, respectively. ~ ently, a ~roup of deasion values 242 is 10 generated by adding ~--echan;s.-- 240 which adds t~tl,er each pair of squared tr~ns~l---er output si~nals (i.e. one from each of the l-~nslol.--er output si~nal squaring ...echan._..R, 236 and 238) havinQ assodated index data 5~ Cil5 which indicate that the b_nsfo,--,er output signals ~udspor,lJ to the same wll,~onal code.
1 5 Tuming now to the particular portion of the detailed example conceming the l,dr~lul---er;- 232 and 234, the squaring l-,ecl,an;_."s 236 and 238, and the adding l"ecl)an;3~" 24û, the in-phase 228 and quadrature 229 sampled signals are ir,.lepende,.tl~ input to a elec~ing portion 23û of the communication system which non-coherently 2û detect/decode the sampled signals 228 and 229 into eali",~ted data bits 268. In order to decode the sampled signals 228 and 229, 64 sample len~th ~roups of sampled si~nals are indeperhbntly input at a rate of 3û7.2 ksamples/sewnd to fast l lada...arJ l,dr,~fvl,-,e,:. 232 and 234, Ids~1;v~1y. Each fast l lada.. a.J t~ fu- ---e,~ 232 and 234 output 64 t~dnsf~"-,er output si~nals 233 and 235, respectively. Each lrdr,;,f-,""er output si~nal c~n~àpûr,~ to a measure of confidence that a particular ~roup of 64 sampled si~nals c~,.e3porJs tû a particular 64 bit len~th Walsh code from within a set of 64 mutually ortl-o~onal Walsh codes. In aWition, each l~--sfu-",er output si~nal has an ~-~soci ~ted 6 bit len~th 3û index dala symbol which indicates which particular Walsh code from within the set of 64 mutually G11hG~onal Walsh codes tha~ the bdnsfur",er output si~nal Ct~llaapO~ to ~hse~p~ently, each llttnslcnl-.Er output si~nal within each group of 64 l,dnsh~r-,-er output si~nals 233 and 235 is squared by l-~nsl~l--,er output signal squarin~
",echan:~."s 236 and 238, respectively. Suhsequently, a ~roup of 64 decision data 242 is ~enerdted and output at a rate of 3û7.2 k~ 'socond for each pair of ~roups of squared l,dnsf~r",er output -3~ ~ t~
si~nals by adding ...eche~nism 240 which adds together each pair of squared trans1Ommer output signals ~i.e. one from each of the transforrner output sbnal squaring ,..echt.nis.ns 236 and 238) having associated index data s~ ols which indicate that the t,ar.slo"..er output si~nals 5 correspond to the same Walsh code.
The several ~roups of decision data 242 are then input into a dsinterleaver 244 which block deinterl6~lv~ the input decision data 242 by group. In the deinterleaver 244, each group of decision data is individually input into a matrix which defines a predetermined ske block 1 0 of decision data. Each group of decision data is input into locations wHhin the m~trix so that the matrix is filled in a row by row manner. The ~roups of decision data 246 are individually output trom locations wHhin the matrix so 1hat the matrix is emptied in a column by column manner.
Typically, the matrix is a square matrix having a number of rows equal to 1 5 the number of oolumns; however, other matrix forms can be chosen to match the brm of the ~--dt~iA use J by interleaver 208. The predetermined size of the block of decision data dehned by the matrix is derived from the number of decision data generated for each group of data samples, the number of data samples in each ~roup of data 20 samples and the maximum number of data samples, ._pr.,sGnting transmitted data sy--~l~ls, which can be sampled at a p~echte,--lined chip rate from a r~ce vGd pr~c~e...lined length tr~ --1ssiQn block. The deirlterleaved groups of decision data 246 are output by the deintGrle~ver 244 at the same rate that they were input.
Tumin~ now to the panicular ponion of the detailed sxample conoerning the deint6rleaJer 244, deinte~e~ver 244 preferably receive~
several groups of 64 decision data 242 at a rate of 307.2 kdata/~econc~.
Deintellea~er 244 block deinterleaves the input groups of 64 decision data 242 by group. In the deinterlea~l~r 244, each group of 64 decision data is individually input into a matrix which defines a predetermined size block of 6144 decision data. A 16 by 6 matrix of deh~tlj,leaver 244 is substantially similarly loaded and unloaded in an inversQ ,-,anner to the manner in which the pr~.f~ d embodiment 16 by 6 matrix of int~,.leavor 208 was loaded and unloaded with groups of data sy~
3~ 206 as shown in FIG. 4. Each ~roup o~ decision data is loaded into a sin~le box of the matrix (e.~. box 400). Each ~roup of decision data is input into locations (i.e., boxes) within the matrix so that the matfix is filled in a row by row manner. For example, a first row of boxes in the matrix is nlled with the first six ~roups of d~ ~ s ~ n data 242 input into the deinterleaver 244. The first row indudes a first group of 64 decision data which b input into box 400 of the matrix and a second group of 64 5 deebion data which is input into box 404 ot the matrix. The second column of boxes b filled with the next six groups of decision data 242.
The second eolumn ~neiudes a sov~rdh ~roup of 64 deeision data whieh b input into box 402 of the matrix. The other tourteen rows are filled in a similar manner. The groups of 64 deeision data are individually output 1 0 trom loeations (i.e., boxes) within the matrix so that the matrix is emptied in a column by coiumn manner. For example, the first-eolumn ineluding box 400 and box 402 are output prior to the second column includin~
box 404. The other column of the matrix are output in a similar ,..annar.
The stream of output groups of data _J.nbo~ 246 is deint~ri~ eci sueh 1 5 that, for example, the first group of 64 decbion data now ;.. ~iately pr_c~s the seventh group in the output stream 246 of ~roups of decision data. Further the second ~roup input to the deinterieaver is separated by fmeen other groups ~rom the first ~roup ~n the output stream 246 ot data _J.-II,ols. The deint~ie~ed ~roups of decision data 246 are output by the deinterieaJer 244 at the same rate o1 307.2 kdata'second that they were input to the interieaver 244. The predetermined size of the biock of d~cision data defined by the matrix is derived from the number ot dedsbn data generated for each ~roup of data samples, the number of data samples in each ~roup of data samples and the maximum number of data samples, r~prdsentin~
transmitted data s~ i~ls, whieh can be sampied at a pr~iet~i"~ineci chip rate 1rom a ~jVGd predetermined len~th I~.ns--- sion block. In the preterred embodiment shown in FIG. 2, 64 decision da1a are generated for each ~roup of 64 data samples. Further, the maximum number of data samples, .~pr~sern;.lg transmmed data s~mbols, which can be sampled at a predetermined chip rate of 307.2 ksamples/~econd from a received pr~del~r,.lined length I,ans--l1ssion block of 20 millisecofiJ~ is 307.2 ksamples/second times 20 milliseconds which equais 6144 data samples. Th6r~h:~" the pr~ddl.,-n-;n~d size of the block of decision data is 64 decision data per 64 data samples times 6144 data samples which equals 6144 decision data.
~ $ ~
ln an altemative embodiment of the present invention which is rou~hly equivaient to the preferred embodiment desc ,ii~ed above, the order in which the groups of data samples 228 and 229 are COnJe.l~hi to decision data and the deintefi6~v:n~ b r_~e.~J. In order to decocie the 5 sampled dgnais Z8 and ~g, predeterrnined len~th ~roups of sampled signais are i~idpe.~6ntly input to two separate deinte~ie2J~r~ similar to deinterie~ver 244 cle~iL~- above. Severai groups of data sampies are input ~nto each deinterieaver which ibiock deinterieaves the input data samples by ~roup. In the deinterieaver, each ~roup of data 1 0 sampies is inciividuaily input into a matrix which defines a predetermined size biock of data samples. Each group of data samples is input into locations within the matrix so that the matrix is filled in a row by row manner. The ~roups of data sampies are individually output from locations with~n the matrix so that the matrix is empt~ed in a column by 1 5 column manner. The deinto~ieaJed groups of data samples are output by each deinteriea~ar at the same rate that they were input. The deintefie~.Jed ~roups of data samp-ies from each deinterieaver sre i~bper.clently input to o ~Iho~onal code t,_r~f~-..-e.~ similar to 232 and 234, respectively. The o~hG~on~ code transf~,-"~er~ output a plurality of tn h;,f.. r---er output si~nals similar to 233 and 235, respectively. Each t~ansf~.n..er output si~nal c~r-~spor~ to a measure of confidence that a particular ~roup of deinterlesved sampled si~nals c4rlt~;.poh~ to a particular o~tl-o~onal code from within a set of mutually o,ll,o~onal codes. In addition, each l.~nsfer---er output si~nal has an associated 25 index data symbol which indicates which particular G~1hGdonal code from within the set of mutually o~h~onal codes that the I nah Illler output si~nal c~rl~spch~b to Sub~ently, each l-~nsh,,-"er output si~nal within the ~roups of t~dn;,fu,,,,er output si~nais is squared by b .~fo""er output si~nal squarin~ ...echan;s..~ similar to 236 and 238, 30 respectively. Subsecluently, a ~roup of deinte~e~red decision values similar to 246 is ~enerated by addin~ ",echan;sm similar to 240 which adds to~etl,er each pair of squared l.dr,;,h,,."er output si~nals (i e one from each ot the l,a"sh,r--,er output si~nal squarin~ ",ecl,an;~
havin~ associated index data symbols which indicate that the 35 tlan~hl",er output si~nals C4~ SpOn(;l to the same G,11,4~onal code The addin~ ."ecl-anis." ~snerdtds ~roups of de;nte,led~ed decision data similar to those output by deinterleaver 244 of the pl~h,r.~l 2 ~ $ ~
-3~
embodiment, be~-se the data sample signals 228 and 229 where deinterleaJel prior to bein~ input to the o~l,o~onal code llai~l~
and as a result the o.ll,o~onal code t~dl~fullll6ls produced deintellea~d output signals from which deinterleaved d8 's'cn data S were formed.
An example of such an altem~tive position of the deinterlea"~r which could replace the ~ ..~ embodiment detailed example p~s tion of deinterleaver 244 follows. 64 bit len~th ~roups of sampled si~nals 228 and 229 are independently input to two separ~le 10 interleavers similar to deint~le ~/er 244 desc-il~d above at a rate of 307.2 k~~'~'oocond. Each d~ ntorloavor block ~'e'nte.16~ves the input ~roups of 64 data sarnples by ~roup. In the deinte~le~ver each group of 64 data samples is individually input into a 16 by 6 matrix which deflnes a predetermined size block of 6144 data samples. Each .'~ nterleaver is 15 loaded and unloaded with ~roups of 64 data ssmples in a manner similarto the manner in which the pr6l_..ad embodiment 16 by 6 matrix of interle~er 244 was loaded and un~ --W with groups of decision data as shown in FIG. 4. Each ~roup of 64 data samples is input into lo~tions within the matrix so that the matrix is filled in a row by row 20 ",anner. The ~roups of 64 data samples are individually output from locations within the matrix so that the matrix is emptied in a column by column manner. The ~ nte.leaved ~roups of data samples are output by each J_i.,t~ .leaver at the same rate of 307.2 ~rl~s'~ocond that they were input. The d~inlerlea~ed groups of 64 data samples from each 25 dE'nterleaver are independerdly input to fast I ladafi,a~,l lr~l sfo,.,.e,;
similar to 232 and 234"~s~.Ai~ely. The fast 1 la1~",ar.J code barlsh,ll.,6,;, output 64 bdh~fo""er output si~nals similar to 233 and 235, r~spect;~ely. Each l-~nslo""er output si~nal co, .~sponds to a measure of confiJence that a particular group of t;~' n~,led~ed sampled 30 si~nals co,-~spon~ to a particular Walsh code from within a set of mutually Grtl.G~onal Walsh codes. In addition, each bdnsfl,l",er output si~nal has an associated six bit len~th index data symbol which indicates which particular Walsh code from within the set of mutually Glll,o~onal Walsh codes that the l,c-nstul,,,er output signal cor,~sponds 35 to. S~hse~uently, each t~"~h-,-,er output si~nal within the groups of 64 t-dnsfor-"er output si~nals is squared by l,dn~h,l"-er output signal squarin~ mechanis."s simi!ar to 236 and 238, r~spe.~ti~ely.
~hserp~ently, a ~roup of 64 deinlell6a~ed decision values similar to 246 Is ~enerated by aWin~ ",6chan:_." similar to 240 which acids ll,er each pair of squared t~dnsfo""er output signals (i.e. one from each ot th~ nsh ,-"er output si~nal squarin~ .-~chan:sn)s) havin~
5 associated six bit len~th index data ~ l~ls which indicate that the l,~n~h, ."er output signals ~I ~t~5,pond to the same Walsh code.
The deinterlsaved ~roups of decision data 246 are input to matfic computation unit 248. The metfic comp~ Qn unit 248 converts the ~roups of decisTon data 246 into ~roups of soft decision dec~i.,g 10 metfics 250. The conversion typically i,~,~o~3s scaling the groups of decision data 246 so that J~Jer 266 is able to use the decision data as soft decision decodin~ metfics. This scalin~ oper ~ion may include equalization of decision data 246 accordin~ to .~:~ed sign~ ~t~t,r,~l, information ortransmitted power inf~ ",~tion related to the ,~ivocl 1 5 spread spectrum si~nal. It will be appreciated by those skilled in the art that the d~ler 266 could also be des;~n~l to include such co",psns~l;on functions. The metric computation unit 248 also sen~es as an P~Id~ n~ ",ecl,an;s-" for ~enerating a~es in which to put the ~roups of soft decision decodin~ metrics in the metric lookup table 20 260. The index data s~."l~l~ associated with each soft decision metric (i.e., scaled decision data) are used as part of the lookup table ~hi~t,ss ~en~r~ted by the metfic computation unit 248. The ~roups of soft decision mstrics 250 are output by the metric computation unit 248 at the same rate that the decision data 246 were input. However, it will be 25 appr~cidl~J by those skilled in the art that metfic computation unit 248 may also serve as a buffer n,6cl,an;_..- for metric lookup ~able 260. In particular, metric computation unit 248 may le",~F~r~ storo the soft decision metrics 250 and output the soft decision metrics 250 to lookup table 260 as needed.
Tumin~ now to the particular portion of the detailed example concemin~ the metric comrut-';cn unit 248, metric comr~~';on unit 248 pr~f~rdbly leceives deint~rled~Jed ~roups ot 64 decision data 246 at a rate of 307.2 ~ ocond. The metric comput~ on unit 248 convsrts the ~roups of 64 decision data 246 into ~roups of 64 soft deasion decoding metrics 250. In aWition, the metric comput~tion unit 248 ~ener~les ~ sses 250' in which to put the ~roups of 64 soft decision decodin~ metrics in the metric lookup table 260. The six bit len~th index data sy.-lLols associated with each soft decision metric are used as part of the lookup table ad~ ss 250~ ~enena~ed by the metric computq'ion unit 248. The ~roups of soft decision metrics 250 are output by the matric computation unit 248 at the same rate of 307.2 I--,-~,;c~second 5 that the decision data 246 were input.
The ~roups of soft de~sion metrics 250 are input to a metric lookup table 260. A ~r~,h..~l embodiment memory-based lookup 1able 260 is shown in FIG. 3. Th~ lookup table 260 includes a ,-,~,-,ory portion 256 and aJd~ass buses 252 and 254. Metric comp~ ;on unit 248 10 ~r~;des a write acl~,ss 250' tor each associated soft decision matric 250 to metric lookup table 260. The write a~hh.,ss consists of a ~roup aJd~dss portion which identifies a particular ~roup ot soft decisinn metrics from which each soft decision metric 250 is in and also an offset adld~aS portion which identifies the particular soft decision metric 250 of 15 the particular ~roup of son decision metrics. The ~roup ac~ aS portion, which cGIlespGnd-a to data bits ori~inally ena~Jed by encoder 204, also cGrl~apGr~a to a particular ffme state in the maximum likelihood sequence eali-"..tion decoder 266. The offset aJd~as portion, which ~r.aapofid~ to the index data symbol associated with the particular sofl decision metric, also c~ àpGnc~a to a possible transition wUhin a maximum likelihood dec~;n~ trellis which de~er 266 wili s~hse~uently be determinin~. The offset ahh.,es portion and group ad,J~ess portion of the wrlte a~l~ss 250' are placed on the data buses 252 and 254"~spe.;1i.rely. S~hse~ ently, each particular soft decision metric 250 ~ssoc~ d with the particular write ad~ ss 250' is stored within a location in the memory 256.
Turnin~ now to the particular portion of the detailed example concer"i,)~ the metric lookup table 260, metric lookup table 260 pr.,ter~bly ,~CGiVCs the ~roups of soft decision metrics 250 at a rate of 307.2 kllldt~icstàecond. I IOJ 3~'0r, as previously noted the lookup table may receive the soft decision metrics from a bufferin~ "-e~;i-anis." of the metric comrutQ'ion unit 248 as needed. In the pr~le.,t,d embodiment memory-based lookup table 260 is shown in FIG. 3, the memo~y 256 consists of random access memory (RAM) 256 which is s~",ent~d into 36 ~roups of 64. Metric comrLn~~ cn unit 248 p,u~rides a write add~ss 250 for each A~soc:~ed sofl decision metric 25û to metric lookup table 260.
The write ~dd~ss cons;sb of a ~roup addidsa portion which identifies a particular ~roup of 64 soft deeision metries to whieh eaeh soft deeision metrie 250 belongs and also a six bit ~en~th otfset add~ess portion whieh identffles the particular soft deeision metrie 250 ot the particular ~roup of 64 soft ~eision metrics. The group a~J~ess portion, which co,l~,sponcls to two data bits ori~inally eneod~ by 2/6 er~er 204, also cor.t,apond to a particular 1ime state in the maximum likel~hood sequence estimation J~coder 266. The six bit len~Jth offset ~ .,ss portion, which co--.,spor.~ to the six bit length index data symbol ~- ~ with the particular sott decision metric, also co--e~pon~s to a possible transition 1 0 within a maximum likeiihood -decodin~J trellis which dec~ler 266 will s~hseq~ently be determining while ~eneratin~ eal;~-,ated data bits 268.
The six bit len~th offset ach~ess portion and fJroup ~ ss portion of the write a~~s 250' are placed on the data buses 252 and 254, respectively. Svbseq~ently, eaeh particular soft decision metric 250 1 5 associated with the partieular write a~Jd~ss 250' is stored within a loeation in the RAM-based lookup table 256.
Sinee, the soft deeision metrics 250 have been stored in mestric table 2~0, deeoder 266 whieh uses maximum likelihood clecficlin~
teehniques to ~ener~te estimated trd~fie cl.annel data bits 268 can be~in deeodin~ oper~ions. These maximum likelihood decoding techniques may be au~mented by usin~ an al~orithm whieh is sul,aldntially similar to a Viterbi decodin~ al~Jorithm. The dec~ler 266 uses ~roups of the sott decision metrics A~ d with possible transitions at each particular time state of the maximum likelihood sequence eati",~tion decoder 266 to ~ene-dt0 the esti".~t_J data bits 268. Decoder 266 provides a read add~ess 262 to the lookup table 260 to retrieve particular sott decision metrics. The read a~J~uss 262 includes an otfset add~dàs portion which coll~7apGn~ to a possible l-dns~tion within the MLSE decodin~ al~orithm and a ~roup achh~ss por~ion which cGIl~sponJa to a particular time state withTn the MLSE decoder 266.
The offset add~ess portion and group ~d~às portion ot the read ss 262 are placed on the aJd~ss buses 252 and 254, ,~spe~ti~ly. Subse~ ently, each particular sott decision metfic 264 ~ssoc~ d with the particular read a~hh~as 262 is retrieved trom wlthin a location in the memory 2B6. The eaii",aled data bits 268 are ~ene~dted at a rate related to the rate that the soft decision data 264 are -42~
retrieved into the ~Jec6 Jbr 266 and the number ot estimated data bits 268 ~enerated per ~roup ot so~t decision metrics 264 retrieved.
Tumin~ now to the panicular por~ion ot the detailed example concemin~ the Jecoder 266 ~I~Jer 266 preferably uses maximum 5 likelihood decodin~ techniques to ~enerate estimated trafflc cl~annel data bits 268. These maximum likelihood decodin~ techniques preferably are au~mented by usin~ an al~orithm which is substantially similar to a Viterbi decodin~ al~orithm. The ~rhr 266 preferably is a 216 convolutional ~le~r related to the ~r cocior 204 ori~inally used to 1 0 encode traffic channel data bits 202. The ~r 266 uses groups ot 64 soft decision metrics associated with 64 possible transitions at each particJJlar time state of the maximum likelihood sequencs estimation ~br 266 to ~enerate two estimated data bits 268 per ~roup of 64 soft decision metrics retrieved into ~ r 266. ~coder 266 provides 1 5 a read &~r~ ~~ 262 to the lookup taib~e 260 to retrieve particular so~t decision rnetrics. The read a~r. ss 262 includes a six bit len~th otlset ~r~ ss portion which o~ spGrKb to one of a possibie 64 transitions within the MLSE decodin~ aborithm and a ~roup ~i~c~s portion which oe. ~-.pon~l~ to a particular time state within 1he MLSE ~ der 266.
20 The 8iX bit len~th offset aJd~t ss ponion anci ~roup a~ ss portion of the reaci a~h~ss 262 are placsd on the data buses 252 and 254 respectivsly. Svbse1~-ently each particular soft decision metric 264 associated with the particular read ~r~vss 262 is retrieved ~rom within a location in the .~,6."0ry 256. The estimated data bits 268 are 25 ~enerated at a rate related to the rate that the soft decision data 264 are retrieved into the decocbr 266 and the number of estimated data bits 268 ~en6-dt~1 per ~roup of soft decision metrics 264 retrieved. If the soft decision data 264 are ,vt~;evoJ into the Jec~ler 266 at a rate of 307.2 ~--wt~ics/second and two estimated data bits are ~ener~t~d per 64 30 metrics input then the estimated data bits ar ~el)vldtdd at a rate of 307.2 h-"~t,i~/~ecor,d time two bits per 64 me1rics which is equai 10 9600 e~ti "aleJ bits/~econd.
Althou~h the invention has been dvs ;,iL.eJ and illustrat~ with a certain de~ree of particularity it is unde.; tvod 1hat 1he present 35 d;~Qsu~e of e"ll,Gdi- ,ents has been made by way of example only and that nurnsrous cl-anges in the a.-~nge,--6-~ and combination of parts as well as steps may be reso.tvd to by those skilled in the alt without -4~
departin~ from the spirit and scope of the Invention as ciaimed. For example, the modulator, antennas and demodulator portions of the preferred embodiment communication system as Jes~-il,ed were directed to CDMA spread spec tnum sbnais transmitted over a radio 5 communication cl.annel. However, as will be u~nJ_.ot~ l by those skilled in the a~t, the encodin~ and decodin~ techniques ~sclJIl~i and claimed herein can aiso be adapted for use in other types of t~_ns" e s on systems like those based on TDM~ and FDMA. In addition the commun cation cinannel could altemat~vely be an electronic data 10 bus, wireiine, optical fiber link, or any other type of communication channel.
Claims (10)
1. An apparatus comprising a signal encoder (200), the signal encoder (200) comprising:
(a) encoding means (204) for encoding input data bits (202) of a signal into data symbols (206) and grouping the data symbols (206), the data symbols being encoded with an encoding algorithm wherein the encoding algorithm produces data symbols which are subsequently decoded into data signal bits with maximum likelihood decoding the encoding algorithm comprising implementing at least one generator function having weight spectrum optimized for use in orthogonal coding; and (b) translating means (208, 212), operatively coupled to the encoding means (204), for translating the groups of data symbols (206) according to an algorithm selected from the group consisting essentially of (i) interleaving (208) by group each group of data symbols (206) within a predetermined size block and subsequently deriving (212) an orthogonal code (214) from each group of interleaved data symbols (210) and (ii) deriving (212) an orthogonal code from each group of data symbols (206) and subsequently interleaving (208) by orthogonal code each orthogonal code within a predetermined size block.
(a) encoding means (204) for encoding input data bits (202) of a signal into data symbols (206) and grouping the data symbols (206), the data symbols being encoded with an encoding algorithm wherein the encoding algorithm produces data symbols which are subsequently decoded into data signal bits with maximum likelihood decoding the encoding algorithm comprising implementing at least one generator function having weight spectrum optimized for use in orthogonal coding; and (b) translating means (208, 212), operatively coupled to the encoding means (204), for translating the groups of data symbols (206) according to an algorithm selected from the group consisting essentially of (i) interleaving (208) by group each group of data symbols (206) within a predetermined size block and subsequently deriving (212) an orthogonal code (214) from each group of interleaved data symbols (210) and (ii) deriving (212) an orthogonal code from each group of data symbols (206) and subsequently interleaving (208) by orthogonal code each orthogonal code within a predetermined size block.
2. The apparatus of claim 1 wherein the encoding algorithm comprises a convolutional coding algorithm having at least one generator function selected from the group of generator functions as described in octal form consisting of: 575, 555, 434, 414, 161, 141, 020, 1372, 1332, 1070, 1030, 342, 302, and 040.
3. The apparatus of claim 2 wherein the encoding algorithm comprises a convolutional coding algorithm having a set of six generator functions selected from the group of sets of generator functions g(x) as described in octal form consisting of:
(a) g1(x) = 555, g2(x) = 434, g3(x) = 141, g4(x) = 1332, g5(x) =
1070, and g6(x) = 302;
(b) g1(x) = 575, g2(x) = 414, g3(x) = 020, g4(x) = 1372, g5(x) =
1030 and g6(x) = 040; and (c) g1(x) = 434, g2(x) = 161, g3(x) = 141, g4(x) = 1070, g5(x) =
342, and g6(x) = 302.
(a) g1(x) = 555, g2(x) = 434, g3(x) = 141, g4(x) = 1332, g5(x) =
1070, and g6(x) = 302;
(b) g1(x) = 575, g2(x) = 414, g3(x) = 020, g4(x) = 1372, g5(x) =
1030 and g6(x) = 040; and (c) g1(x) = 434, g2(x) = 161, g3(x) = 141, g4(x) = 1070, g5(x) =
342, and g6(x) = 302.
4. The apparatus of claim 1 further comprising a signal transmitting means (216), operatively coupled to the signal encoder (200) for transmitting the translated groups of data symbols (214) over a communication channel (220).
5. The apparatus of claim 4 wherein the signal transmitting means (216) comprises means (217) for preparing the translated groups of data symbols (214) for transmission over the communication channel (220) by spreading the translated groups of data symbols (214) with a spreading code prior to transmission over the communication channel (220).
6. The apparatus of claim 4 further comprising:
(a) signal receiving means (222) for sampling a signal received from over the communication channel (220) into data samples (228, 229); and (b) a signal decoder (230) operatively coupled to the signal receiving means (222), the signal decoder (230) comprising:
(i) grouping means (232-240) for grouping received data samples (228, 229);
(ii) transforming means (232-244), operatively coupled to the grouping means (232-240) for transforming the groups of data samples according to an algorithm selected from the group consisting essentially of (1) generating (232-240) a plurality of soft decision similarity metrics and index data symbols for each group of data samples (228, 229) such that one index data symbol is associated with each soft decision metric and subsequently deinterleaving (244) by group each group of soft decision metrics (242) within a predetermined size block and (2) deinterleaving (244) by group each group of data samples (228, 229) within a predetermined size block and subsequently generating (232-240) a plurality of soft decision similarity metrics and index data symbols for each deinterleaved group of data samples such that one index data symbol is associated with each soft decision metric, each soft decision metric corresponding to a measure of confidence that a particular group of data samples is substantially similar to a particular orthogonal code from within a set of mutually orthogonal codes; and (iii) decoding means (266), operatively coupled to the transforming means (232-244), for generating at least one estimated data bit (268) by utilizing maximum likelihood decoding techniques to derive the at least one estimated data bit (268) from the soft decision metrics (250) and associated index data symbols (250').
(a) signal receiving means (222) for sampling a signal received from over the communication channel (220) into data samples (228, 229); and (b) a signal decoder (230) operatively coupled to the signal receiving means (222), the signal decoder (230) comprising:
(i) grouping means (232-240) for grouping received data samples (228, 229);
(ii) transforming means (232-244), operatively coupled to the grouping means (232-240) for transforming the groups of data samples according to an algorithm selected from the group consisting essentially of (1) generating (232-240) a plurality of soft decision similarity metrics and index data symbols for each group of data samples (228, 229) such that one index data symbol is associated with each soft decision metric and subsequently deinterleaving (244) by group each group of soft decision metrics (242) within a predetermined size block and (2) deinterleaving (244) by group each group of data samples (228, 229) within a predetermined size block and subsequently generating (232-240) a plurality of soft decision similarity metrics and index data symbols for each deinterleaved group of data samples such that one index data symbol is associated with each soft decision metric, each soft decision metric corresponding to a measure of confidence that a particular group of data samples is substantially similar to a particular orthogonal code from within a set of mutually orthogonal codes; and (iii) decoding means (266), operatively coupled to the transforming means (232-244), for generating at least one estimated data bit (268) by utilizing maximum likelihood decoding techniques to derive the at least one estimated data bit (268) from the soft decision metrics (250) and associated index data symbols (250').
7. The apparatus of claim 6 wherein the predetermined block size of the signal decoder (230) transforming means (232-244) is derived from the number of soft decision metrics (242) generated for each group of data samples (228, 229), the number of data samples in each group of data samples (228, 229) and the maximum number of data samples which can be sampled from a received signal transmission block.
8. The apparatus of claim 6 wherein the signal receiving means (222) comprises means (226) for despreading the received signal with a spreading code to derive data samples (228, 229).
9. The apparatus of claim 6 wherein the signal decoder (230) data sample transforming means (232-244) comprises means (232-240) for generating soft decision similarity metrics by utilizing a Hadamard transform matrix algorithm on a group of data samples (228, 229).
10. The apparatus of claim 6 wherein the signal decoder (230) decoding means (266) comprises means for generating at least one estimated data bit (268) by utilizing maximum likelihood decoding techniques which are substantially similar to the Viterbi decoding algorithm.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/839,528 US5204874A (en) | 1991-08-28 | 1992-02-19 | Method and apparatus for using orthogonal coding in a communication system |
US07/839,528 | 1992-02-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2088111A1 CA2088111A1 (en) | 1993-08-20 |
CA2088111C true CA2088111C (en) | 1998-04-07 |
Family
ID=25279979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002088111A Expired - Lifetime CA2088111C (en) | 1992-02-19 | 1993-01-26 | Method and apparatus for using orthogonal coding in a communication system |
Country Status (5)
Country | Link |
---|---|
JP (1) | JPH0831840B2 (en) |
KR (1) | KR960008960B1 (en) |
CA (1) | CA2088111C (en) |
IL (1) | IL104640A (en) |
MX (1) | MX9300902A (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0975118B1 (en) | 1998-07-24 | 2007-05-09 | Matsushita Electric Industrial Co., Ltd. | CDMA radio communication system and method |
-
1993
- 1993-01-26 CA CA002088111A patent/CA2088111C/en not_active Expired - Lifetime
- 1993-02-07 IL IL10464093A patent/IL104640A/en not_active IP Right Cessation
- 1993-02-19 KR KR1019930002451A patent/KR960008960B1/en not_active IP Right Cessation
- 1993-02-19 MX MX9300902A patent/MX9300902A/en unknown
- 1993-02-19 JP JP5053165A patent/JPH0831840B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
IL104640A (en) | 1996-09-12 |
JPH0697913A (en) | 1994-04-08 |
KR960008960B1 (en) | 1996-07-10 |
KR930018880A (en) | 1993-09-22 |
MX9300902A (en) | 1993-08-01 |
JPH0831840B2 (en) | 1996-03-27 |
CA2088111A1 (en) | 1993-08-20 |
IL104640A0 (en) | 1993-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100337968B1 (en) | Fast Forward Link Power Control Method in Code Division Multiple Access System | |
CA2074595C (en) | Method and apparatus for using orthogonal coding in a communication system | |
US5204876A (en) | Method and apparatus for providing high data rate traffic channels in a spread spectrum communication system | |
US5204874A (en) | Method and apparatus for using orthogonal coding in a communication system | |
CA2333258C (en) | Device and method for generating and distributing coded symbols in cdma communication system | |
US5479448A (en) | Method and apparatus for providing antenna diversity | |
US6993062B1 (en) | Forward link device of multicarrier communication system and method for realizing the same | |
EP0317127A2 (en) | Digitally-coded information transmission and PSK signal transmission | |
US6289037B1 (en) | Out of channel cyclic redundancy code method for a discrete multitone spread spectrum communications system | |
US6490260B1 (en) | Transmitter with increased traffic throughput in digital mobile telecommunication system and method for operating the same | |
EP0700612A1 (en) | Method and apparatus for time division multiplexing the use of spreading codes in a communication system | |
EP0533887B1 (en) | Method and apparatus for accommodating a variable number of communication channels in a spread spectrum communication system | |
JPH1075271A (en) | Transmitting device and receiving device | |
US6330333B1 (en) | Cryptographic system for wireless communications | |
CA2088111C (en) | Method and apparatus for using orthogonal coding in a communication system | |
JP3474168B2 (en) | Burst and Packet Wireless Transmission System Using Product Code by Iterative Decoding | |
EP0993133B1 (en) | Data communications apparatus and method | |
US20030066015A1 (en) | System for synchronising a multiple access digital telecommunication system | |
KR20240103746A (en) | Method and apparatus for transmitting signals using frequency hopping | |
KR20210031447A (en) | Compression and decomporession method and mobile communication repeater using the same | |
GB2261347A (en) | Detection of data bits in a slow frequency hopping communication system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKEX | Expiry |
Effective date: 20130128 |
|
MKEX | Expiry |
Effective date: 20130128 |