Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
CDMA MODEM
Document Type and Number:
WIPO Patent Application WO/1997/002675
Kind Code:
A2
Abstract:
A CDMA modem includes a modem transmitter having: a code generator which provides an associated pilot code signal and which generates a plurality of message code signals; a spreading circuit which produces a spread-spectrum message signal by combining each of the information signals with a respective one of the message code signals; and a global pilot code generator that provides a global pilot code signal to which the message code signals are synchronized. The CDMA modem also includes a modem receiver having an associated pilot code generator and a group of associated pilot code correlators for correlating code-phase delayed versions of the associated pilot signal with a receive CDM signal to produce a despread associated pilot signal. The code phase of the associated pilot signal is changed responsive to an acquisition signal value until a pilot signal is received. The associated pilot code tracking logic adjusts the associated pilot code signal in phase responsive to the acquisition signal so that the signal power level of the despread associated pilot code signal is maximized. Finally, the CDMA modem receiver includes a group of message signal acquisition circuits, each including a plurality of receive message signal correlators which correlate respective local received message code signal to the CDM signal to produce a respective despread received message signal.

Inventors:
Lomp
Gary, Ozluturk
Fatih, Silverberg
Avi
Application Number:
PCT/US1996/011059
Publication Date:
January 23, 1997
Filing Date:
June 27, 1996
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
INTERDIGITAL TECHNOLOGY CORPORATION.
International Classes:
H03K3/84; G06F13/374; H03H17/02; H04B1/707; H04B1/7075; H04B1/708; H04B1/7085; H04B1/709; H04B1/7093; H04B1/711; H04B7/005; H04B7/216; H04B7/26; H04B15/00; H04B17/00; H04J13/00; H04J13/10; H04K1/00; H04L1/00; H04L5/14; H04L7/00; H04L7/033; H04L25/02; H04L27/20; H04L27/233; H04L27/30; H04N1/333; H04W52/04; H04W52/14; H04W52/24; H03H17/06; H04B1/7077; H04B1/7115; H04B1/712; H04J11/00; H04J13/12; H04J13/16; H04L27/00; (IPC1-7): H04J13/04
Foreign References:
US5416797A1995-05-16
DE3743731A11989-07-13
US5414729A1995-05-09
US5347536A1994-09-13
US5349606A1994-09-20
EP0668662A11995-08-23
US5519736A1996-05-21
Download PDF:
Claims:
The Invention Claimed Is: 1. A Code Division Multiple Access (CDMA) modem for transmitting and receiving telecommunication signals including information signals and connection control signals, the modem comprising a modem transmitter having: a) code generation means comprising a generic pilot code means for providing an associated pilot code signal and a message means for generating a plurality of message code signals; b) spreading means coupled to die message means for combining each of die information signals, with a respective one of die plurality of message code signals to generate a plurality of spread-spectrum processed message signals comprising a transmit Code Division Multiplex (CDM) signal, and die associated pilot signal wherein each of die plurality of message code signals of the plurality of modem processing means is synchronous with the global pilot code signal; and a modem receiver means having a) local code generation means comprising a local associated pilot code means for providing a local associated pilot code signal and a local message code means for generating a plurality of local message code signals, the local associated pilot code means being synchronous with the local message code means; b) an associated pilot code acquisition and tracking means comprising a plurality of associated pilot code-phase delayed correlation means for correlating respective phase-delayed versions of die local associated pilot code signal with a received CDM signal to produce a despread associated pilot signal, die code phase of d e associated pilot code signal being changed responsive to an acquisition signal; and means for detecting the presence of the despread associated pilot signal to produce an acquisition signal, the acquisition signal indicating a degree of --> synchronization between the local associated pilot code signal and the global pilot code signal; c) an associated pilot code tracking means including means for adjusting the local associated pilot code signal in phase responsive to the acquisition signal in a sense which tends to increase d e level of die despread associated pilot signal; and . d) a plurality of message signal acquisition means for providing a plurality of despread receive message signals, each message signal acquisition means including a receive message signal correlator for correlating one of the local receive message code signals witii the CDM signal to produce a respective despread receive message signa
1. l. 2. The CDMA modem means of claim 1, wherein the modem transmitter means further comprises: spreading means coupled to the message means for combining each of the information signals and die call control signals, including user identification signals, witii a respective one of the plurality of message code signals to generate a plurality of spread spectrum processed message signals. 3. The CDMA modem means of claim 1, wherein the modem receiver means further comprises: a) the pilot code acquisition and tracking means comprising A) associated pilot code generation means for providing die local associated pilot signal; B) a pilot vector correlator including a plurality of associated pilot codephase delayed correlation means for correlating the local associated pilot signal with the receive CDM signal to produce a plurality of despread multipath pilot signals, and for providing a multipadi weight signal corresponding to a respective multipath carrier of a respective one of die despread multipath pilot signals; > C) a pilot adaptive matched filter including a plurality of signal weighting means for scaling, in magnimde, and rotating the respective despread multipath pilot signals and each responsive to the respective multipadi weighting signal, the plurality of signal weighting means providing a plurality of weighed despread multipath pilot signals, and a summing means for summing the plurality of weighted despread multipath pilot signals to form a despread associated pilot signal; D) means coupled to die pilot vector correlator for detecting the despread associated pilot signal and for producing an acquisition signal, the acquisition signal having a magnitude which is proportional to die despread associated pilot code signal in signal energy, die magnitude of die acquisition signal indicating a degree of synchronization between the associated pilot code signal and die local global pilot signal; and E) associated pilot code tracking means including means for adjusting the associated pilot code signal in code phase, responsive to d e acquisition signal in a sense which tends increase in signal energy the despread associated pilot signal; b) a plurality of message signal acquisition means for providing a plurality of despread receive message signals, each including A) a plurality of receive message signal correlators for correlating one of the receive message code signals witii the CDM signal to produce a plurality of despread multipath receive message signals respectively; B) a message adaptive matched filter including a plurality of signal weighting means for aligning the respective despread multipath receive message signals in carrier phase responsive to a respectively different one of die multipath weighting signals, the plurality of signal weighting means providing a plurality of weighted despread multipath receive message signals, and a summing means for summing the plurality > of weighted despread multipath receive message signals to form a despread receive message signal; c) the plurality of despread receive message signals include at least one despread information signal and a plurality of call control signals. 4. The CDMA modem means of claim 3 wherein the plurality of call control signals include die user identification signal which identifies die user for die respective despread information signal and a message type signal which indicates a type and an information rate for the despread information signal. 5. A method for tracking a centroid of a plurality of multipath spreadspectrum signals, said plurality of multipath spreadspectrum signals constituting a spreadspectrum channel signal including a transmitted code sequence, die method comprising the steps of: digitally sampling the spreadspectrum channel signal responsive to a clock signal to produce a sequence of sample values including a set of even numbered sample values and a set oddnumbered sample values; wherein said the set of evennumbered sample values define a sequence of early spreadspectrum channel signal samples and said set of odd numbered sample values define a sequence of late spreadspectrum channel signal samples; generating a plurality of local code sequences, each of said plurality of local code sequences having a code phase and code symbol period, and each being a code phase shifted version of the transmitted code sequence; combining each of said plurality of local code sequences witii die sequence of early received spreadspectrum channel signal samples to produce a plurality of early despread multipath signals, and combining each of said plurality of local code sequences with d e sequence of late received spreadspectrum channel signal samples to produce a plurality of late despread multipath signals; processing the plurality of early despread multipath signals to produce an early tracking value, and processing the plurality of late despread multipath signals to produce a late tracking value > determining a difference between the early tracking value and die late tracking value to produce an error signal value; and adjusting the code phase of each of said plurality of local code sequences responsive to die error signal value. 6. The method of claim 5, wherein the steps of processing die plurality of early despread multipath signals and processing die plurality of late despread multipath signals comprise the steps of: accumulating said plurality of early despread multipadi signals to produce a respective plurality of early signal samples, and accumulating said plurality of late despread multipath signals to produce a respective plurality of late signal samples; and summing ones of the early signal samples to produce said early tracking value, and summing ones of die late signal samples to produce said late tracking value. 7. The method of claim 6, wherein, prior to the step of summing, the method includes the step of weighting each of said early signal samples and each of said late signal samples with a respective predetermined weighting value. 8. The method of claim 5, wherein the steps of adjusting die code phase of each of said plurality of local code sequences includes the step of increasing each code phase by a first predetermined number of code symbol periods responsive to the error signal value being negative, and decreasing each code phase by a second predetermined number of code symbol periods responsive to die error signal value being positive. 9. The method of claim 5, wherein the step of adjusting the code phase of each of said plurality of local code sequences includes the steps of increasing each code phase by a first predetermined number of code symbol periods responsive to die error signal value being positive, and decreasing each code phase by a second predetermined number of code symbol periods responsive to the error signal value being negative. 10. Apparatus for tracking a centroid of a plurality of multipath spreadspectrum signals, said plurality of multipath spreadspectrum signals constimting a spreadspectrum channel signal including a transmitted code sequence, die apparatus comprising: > an analogtodigital converter, responsive to a clock signal and die spread spectrum channel signal, to produce a sequence of sample values including a set of even numbered sample values and a set oddnumbered sample values; wherein said d e set of evennumbered sample values define a sequence of early spreadspectrum channel signal samples and said set of odd sample number values define a sequence of late spread spectrum channel signal samples; code sequence generating means for generating a plurality of local code sequences, each of said plurality of local code sequences having a code phase and code symbol period, and each being a code phaseshifted version of die transmitted code sequence; means for combining each of said plurality of local code sequences witii the sequence of early received spreadspectrum channel signal samples to produce a plurality of early despread multipath signals, and for combining each of said plurality of local code sequences with the sequence of late received spreadspectrum channel signal samples to produce a plurality of late despread multipath signals; means for processing the plurality of early despread multipath signals to produce an early tracking value, and for processing the plurality of late despread multipath signals to produce a late tracking value a subtracter which determines the difference between the early tracking value and die late tracking value to produce an error signal value; and means, coupled to die code phase generating means, for adjusting die code phase of each of said plurality of local code sequences responsive to die error signal value. 11. The apparatus of claim 10, wherein the means for processing the plurality of early despread multipath signals and for processing the plurality of late despread multipadi signals comprise: a first plurality of accumulators which accumulate said plurality of early despread multipath signals to produce a respective plurality of early signal samples, and a second plurality of accumulators which accumulate said plurality of late despread multipadi signals to produce a respective plurality of late signal samples; and > a first summing network for summing ones of the early signal samples to produce said early tracking value, and a second summing network for summing ones of the late signal samples to produce said late tracking value. 12. The apparatus of claim 11 , further including a plurality of signal sealers which multiply each of said early signal samples and each of said late signal samples by a respective predetermined weighting value and which apply die weighted odd and even signal samples to the respective first and second summing networks. 13. An adaptive matched filter (AMF) apparatus for collecting signal power of a spread data channel in a spreadspectrum communication system from a spread signal having a plurality of multipath signal components, each of said multipadi signal components having a carrier phase, wherein said spread signal includes a spread pilot channel employing a first predetermined spreading code sequence and a spread data channel employing a second predetermined spreading code sequence, said spread pilot channel is unmodulated and said spread data channel is datamodulated; die AMF apparatus comprising: pilot vector correlator means, coupled to receive the spread signal, for providing a plurality of multipath signal weighting values determined from the spread pilot channel, each multipath signal weighting value corresponding to a respective multipath signal carrier of the respective received multipath signal component; local code sequence generator means for generating a plurality of local code sequences, each of the local code sequences being a code phaseshifted version of die predetermined spreading code sequence; data AMF means, coupled to receive the spread signal, for providing a data value determined from the spread data channel, die data AMF means comprising: a) a plurality of spreading code correlators, each spreading code correlator correlating a respective one of the local code sequences witii the received spread signal to produce a respective despread multipath data signal component having a carrier phase value; > b) weighting means for scaling the data value and for aligning the carrier phase value of the despread multipadi data responsive to the respective multipath weighting value; and c) first combining means for combining each one of the scaled and aligned data signal components to produce the data value. 14. The data AMF apparatus of claim 13, wherein: a) each of the plurality of spreading code correlators further includes multiplication means for multiplying the spread signal witii a respective one of the local code sequences to produce a correlated signal value and accumulation means for accumulating die correlated signal value for a predetermined period to produce a despread multipath data signal component having a carrier phase which corresponds to die carrier signal phase of the respective received multipath signal component; and b) die aligning means comprises a plurality of multipliers, each multiplier multiplying a respective one of the despread multipath data signal components with a respective one of the multipath signal weighting values, and each multiplier producing one weighted data signal component of a plurality of weighted data signal components. 15. The adaptive matched filter (AMF) apparatus of claim 13, wherein the pilot vector correlator means further comprises: local pilot code sequence generator means for generating a plurality of local code sequences, each of the code sequences being a code phaseshifted version of die pilot spreading code sequence; a plurality of pilot spreading code correlators, each pilot spreading code correlator correlating a respective one of the local code sequences with the spread signal, each spreading code correlator comprising multiplication means for multiplying the spread signal with the respective one of the local code sequences to produce a correlated pilot signal value and accumulator means for accumulating the correlated pilot signal value for a predetermined period to produce a despread multipath pilot signal component with a carrier signal phase; wherein each one of the plurality of despread multipadi pilot signal components is applied to a respective one of a plurality of low pass filters to produce a multipath signal weighting value corresponding to die carrier signal phase of die > respective received multipath signal component; each one of the plurality of despread multipath pilot signal components and d e respective multipath signal weighting value is applied to a respective one of a plurality of multipliers; and each multipath pilot signal component is multiplied by die respective multipadi signal weighting value to produce one scaled and phase rotated pilot signal component of a plurality of scaled and phase rotated pilot signal components having substantially equal carrier phases; and d) second combining means for combining the plurality of weighted pilot signal components to produce a pilot data value. 16. A pilot vector correlator apparatus a) for receiving a spread signal, b) for collecting signal power from a spread pilot channel which is a component signal of the spread signal wherein die spread signal has a plurality of received multipath signal components to produce a pilot data value, said spread pilot channel being spread by a predetermined pilot spreading code sequence, and c) for providing a plurality of multipath signal weighting values determined from die spread pilot channel; the apparatus comprising: local pilot code sequence generator means for generating a plurality of local code sequences, each of die code sequences being a code phaseshifted version of die pilot spreading code sequence; a plurality of pilot spreading code correlators, each pilot spreading code correlator correlating a respective one of the local code sequences with die spread signal, each spreading code correlator comprising a multiplier which multiplies the spread signal by a respective one of the local code sequences to produce a correlated pilot signal value and accumulator means for accumulating the correlated signal for a predetermined period to produce a despread multipath pilot signal component with a carrier signal; wherein each one of the plurality of despread multipath pilot signal components is applied to a respective one of a plurality of low pass filters, to produce a respective one of the plurality of multipath signal weighting values, each multipath signal weighting value corresponding to a carrier signal phase value of die respective received multipath signal component; each one of the plurality of despread multipath pilot signal components and die respective multipath signal weighting value being applied to a respective one of a > 7A plurality of multipliers, wherein each multipath pilot signal component is multiplied by die respective weighting value to produce a respective phase rotated pilot signal component of a plurality of phase rotated pilot signal components having substantially equal carrier phase values; and d) combining means for combining die plurality of derotated pilot signal components to produce die pilot data value. 17. The pilot vector correlator apparatus of claim 16, further comprising: a phase locked loop (PLL) which measures a carrier phase error of the pilot data value and produces a composite carrier phase error signal; wherein the phase error signal and each one of die plurality of despread multipath pilot signal components and die respective multipath signal weighting value are applied to a respective one of a plurality of multipliers, and each multipath pilot signal component is multiplied by die respective weighting value and d e phase error signal to produce one scaled and phase rotated pilot signal component of the plurality of scaled and phase rotated pilot signal components having substantially equal carrier phases. 18. An improved data adaptive matched filter (AMF) apparatus for collecting signal power of a spread data channel in a spreadspectrum communication system from a spread signal having a plurality of multipath signal components to produce a despread data value, wherein said spread signal includes a spread pilot channel and said spread data channel employs a predetermined spreading code sequence; die improved data AMF apparatus comprising: pilot vector correlator means for receiving the spread signal and for providing a plurality of multipath signal weighting values determined from the spread pilot channel, each multipath signal weighting value corresponding to a respective different carrier signal phase of the received multipath signal component; clock signal generator means for producing a clock signal; code sequence generator means for generating a predetermined code sequence signal having a plurality of code chip values and substantially equivalent to the spreading code sequence of die spread data channel, said code sequence generator means being coupled to die clock signal generator means for sequentially providing each spreading code value responsive to the clock signal; a data AMF comprising: a) a shift register (SR) responsive to the clock signal and having a plurality of stages including a first stage and last stage, said predetermined code sequence signal being applied to die first stage, wherein each stage defines a respective tap, and each tap produces a signal which corresponds to successive ones of die spreading code values; b) a plurality of signal multipliers, each signal multiplier multiplying a tap output value by a respective multipath signal weighting value to produce one respective multipath despreading signal value of a plurality of multipath despreading signal values; c) combining means for combining all of the plurality of multipath despreading signal values to produce a despreading signal; d) multiplying means for multiplying the spread signal by the despreading signal to produce a despread data signal; and e) accumulating means for accumulating the despread data signal for a predetermined period to produce die despread data value. 19. A code sequence generator apparatus which generates a plurality of spreading code sequences including a master spreading code sequence, die plurality of spreading code sequences having relatively low mutual cross correlation, and having a predetermined mutual code phase relationship, said code sequence generator apparatus comprising: a clock generator means for generating a clock signal a linear feedback shift register (LFSR), responsive to die clock signal and having a plurality of stages including a first stage and a last stage, each stage defining a respective tap, each tap producing a tap signal; wherein a predetermined group of die tap signals including the tap signal of the last stage are applied to logic circuitry which combines the tap signals to produce a feedback spreading code signal, said feedback spreading code signal being applied as an input signal to d e first stage of the LFSR; first memory means for storing a plurality of spreadingcode seeds, each spreadingcode seed comprising a set of spreadingcode sequence bit values, and said first memory being connected to the LFSR and being responsive to a load signal for transferring each one of a predetermined set of die spreadingcode sequence bit values of a selected one of die plurality of spreadingcode seed into a respective one of the shift register stages of the LSFR; code generator controller means for selecting one of die plurality of spreading code seeds to determine the plurality of spreading code sequences and for providing die load signal indicating said one spreadingcode seed; wherein said LSFR is responsive to the clock signal to sequentially transfer each respective tap signal from one stage to the next stage, from the first stage to die last stage and for transferring the feedback spreading code value to die first stage, and each successive one of the tap values of die last stage defines die master spreading code sequence second memory means being responsive to die clock signal for providing a repetitive even code sequence, said even code sequence having relatively low cross correlation with the master spreading sequence and having an even number of chip spreading values; a plurality of cascade connected feedforward means, coupled to receive the master spreading code sequence, for providing a plurality of code sequences, each code sequence being a distinct spreading code sequence of said plurality of spreading code sequences, said feedforward means being responsive to the clock signal, to provide a plurality of spreading code sequences; and a plurality code sequence combining means, each code sequence combining means for combining respective spreading code sequence witii said even code sequence to produce a plurality of relatively long spreading code. 20. The code sequence generator apparatus of claim 19, wherein the plurality of cascade connected feedforward means includes: receiving means for receiving the master spreading sequence; a feedforward circuit having a plurality of cascade connected feedforward logic sections, each logic section defining a tap which provides one of die plurality of spreading code sequences, including a first feedforward logic section and a last feedforward logic section and connected sequentially from the first feedforward logic section to die last feedforward logic section, each feedforward logic section comprising a single delay element having an input terminal which receives and input signal and an output terminal which provides an output signal, and logic combining means for logically combining die input signal witii the output signal to produce the respective spreading code sequence. 21. The code sequence generator claim 20, wherein the code sequence combining means comprises an EXCLUSIVEOR logic circuit. 22. The code sequence generator apparatus of claim 20, wherein the logic combining means comprises an EXCLUSIVEOR logic circuit for performing modulo2 addition.
Description:
CDMA MODEM

BACKGROUND OF THE INVENTION

Providing quality telecommunication services to user groups which are clasified as remote, such as rural telephone systems and telephone systems in underdeveloped countries, has proved to be a challenge over recent years. The past needs created by these services have been partially satisfied by wireless radio services, such as fixed or mobile frequency division multiplex (FDM), frequency division multiple access (FDMA), time division multiplex (TDM), time division multiple access (TDM A) systems, combination frequency and time division systems (FD/TDMA), and other land mobile radio systems.Often, these remote services are faced with more potential users than can be supported simultaneously by their frequency or spectral bandwidth capacity.

Recognizing these limitations, recent advances in wireless communications have used spread spectrum modulation techniques to provide simultaneous communication by multiple users. Spread spectrum modulation refers to modulating a information signal with a spreading code signal; the spreading code signal being generated by a code generator where the period Tc of the spreading code is substantially less than the period of the information data bit or symbol signal. The code may modulate the carrier frequency upon which the information has been sent, called frequency-hopped spreading, or may directly modulate the signal by multiplying the spreading code with the information data signal, called direct-sequence spreading (DS). Spread-spectrum modulation produces a signal with bandwidth substantially greater than that required to transmit the information signal, and synchronous reception and despreading of the signal at the receiver demodulator recovers the original information. The synchronous demodulator uses a reference signal to synchronize the despreading circuits to the input spread-spectrum modulated signal in order to recover the carrier and information signals. The reference signal can be a spreading code which is not modulated by an information signal.

Spread-spectrum modulation in wireless networks offers many advantages because multiple users may use the same frequency band with minimal interference to each user's

receiver. Spread-spectrum modulation also reduces effects from other sources of interference. In addition, synchronous spread-spectrum modulation and demodulation techniques may be expanded by providing multiple message channels for a user, each spread with a different spreading code, while still transmitting only a single reference signal to the user.

One area in which spread-spectrum techniques are used is in the field of mobile cellular communications to provide personal communication services (PCS). Such systems desirably support large numbers of users, control Doppler shift and fade, and provide high speed digital data signals with low bit error rates. These systems employ a family of orthogonal or quasi-orthogonal spreading codes, with a pilot spreading code sequence synchronized to the family of codes. Each user is assigned one of the spreading codes as a spreading function. Related problems of such a system are: supporting a large number of users with the orthogonal codes, handling reduced power available to remote units, and handling multipath fading effects. Solutions to such problems include using phased-array antennas to generate multiple steerable beams, using very long orthogonal or quasi- orthogonal code sequences which are reused by cyclic shifting of the code synchronized to a central reference, and diversity combining of multipath signals.

SUMMARY OF THE INVENTION

An exemplary system which includes a modem according to the present invention provides local-loop telephone service using radio link between one or more base stations and multiple remote subscriber units. In the exemplary embodiment, the radio link is described for a base station communicating with a fixed subscriber unit (FSU), but the system is equally applicable to systems including multiple base stations with radio links to both FSUs and Mobile Subscriber Units (MSUs). Consequently, the remote subscriber units are referred to herein as Subscriber Units (SUs). Referring to Figure 1, in the exemplary system, the Base Station (BS) 101 provides call connection to the local exchange (LE) 103 or other and telephone network switching interface, and includes the Radio Carrier Station RCS (104). One or more RCSs 104, 105, 110 connect to the Radio Distribution Unit (RDU) 102 through the links 131, 132, 137, 138, 139, and the RDU 102 in turn interfaces with the LE 103 by transmitting and receiving call set-up, control, and information signals through telco links 141, 142, 150. The SUs 116, 119

Ϊ1TUTE SHEET (RULE 26)

communicate with the RCS 104 through radio links 161, 162, 163, 164, 165. Both the RCS and the SUs include CDMA modems which establish and maintain the radio links. Alternatively, another embodiment of the invention may include several SUs and a "master" SU which functions in much the same was as the RCS to allow communication among the SUs. Such embodiment may or may not have connection to a local telephone network.

Although the described embodiment uses different spread-spectrum bandwidths centered around a carrier for the transmit and receive spread-spectrum channels, the present method is readily extended to systems using multiple spread- spectrum bandwidths for the transmit channels and multiple spread-spectrum bandwidths for the receive channels. Alternatively, because spread-spectrum communication systems have the inherent feature that one user's transmission appears as noise to another user's despreading receiver, an embodiment can employ the same spread-spectrum channel for both the transmit and receive path channels. In other words, Uplink and Downlink transmissions can occupy the same frequency band.

The spread binary symbol information is transmitted over the radio links 161 to 165 using Quadrature Phase Shift Keying (QPSK) modulation with Nyquist Pulse Shaping in the present embodiment, almough other modulation techniques may be used, including, but not limited to, Offset QPSK (OQPSK) and Minimum Shift Keying (MSK). The RCS and the SUs each contain CDMA modems according to the present invention for transmission and reception of telecommunication signals including information signals and connection control signals. A CDMA modem which includes an embodiment of the present invention includes a modem transmitter having: a code generator which provides an associated pilot code signal and which generates a plurality of message code signals; a spreading circuit which combines each of the information signals, with a respective one of the message code signals to generate a spread-spectrum processed message signal; and a global pilot code generator that provides a global pilot code signal to which the message code signals are synchronized.

The exemplary CDMA modem also includes a modem receiver having associated pilot code acquisition and tracking logic. The associated pilot code acquisition

logic includes an associated pilot code generator and a group of associated pilot code correlators for correlating code-phase delayed versions of the associated pilot signal with a receive CDM signal to produce a despread associated pilot signal. The code phase of the associated pilot signal is changed responsive to an acquisition signal value until a detector indicates the presence of the despread associated pilot code signal by changing the value of the acquisition signal. The associated pilot code signal is synchronized to the global pilot signal. The associated pilot code tracking logic adjusts the associated pilot code signal in phase responsive to the acquisition signal so that the signal power level of the despread associated pilot code signal is maximized. Finally, the CDMA modem receiver includes a group of message signal acquisition circuits. Each message signal acquisition circuit includes a plurality of receive message signal correlators which correlate the local received message code signal with the CDM signal to produce a respective despread received message signal.

To generate large families of nearly mutually orthogonal codes used by the CDMA modems, the exemplary modem includes a code sequence generator. The code sequences are assigned to a respective logical channel of the spread-spectrum communication system, whch includes In-phase (I) and Quadrature (Q) transmission over RF communication channels. One set of sequences is used as pilot sequences that are transmitted without being modulated by a data signal. The code sequence generator circuit includes a long code sequence generator including a linear feedback shift register, a memory which provides a short, even code sequence, and a plurality of cyclic shift, feedforward sections, each of which provides a respective code sequence in the family of code sequences. The code sequence generator further includes a group of code sequence combiners for combining each generated code sequence with the short, even code sequence to produce a group, or family, of long code sequences having relatively low mutual correlation.

BRIEF DESCRIPTION OF THE DRAWINGS

Figure 1 is a block diagram of a code division multiple access communication system according to the present invention.

Figure 2a is a block diagram of a 36 stage linear shift register suitable for use with long spreadingcode of the code generator of the present invention.

Figure 2b is a block diagram of circuitry which illustrates the feed-forward operation of the code generator. Figure 2c is a block diagram of an exemplary code generator of the present invention including the circuit for generating spreadingcode sequences from the long spreadingcode and the short spreadingcodes.

Figure 2d is an alternate embodiment of the code generator circuit including delays to compensate for electrical circuit delays. Figure 3a is a graph of the constellation points of the pilot spreadingcode

QPSK signal.

Figure 3b is a graph of the constellation points of the message channel QPSK signal.

Figure 3c is a block diagram of exemplary circuitry which implements the method of tracking the received spreadingcode phase of the present invention.

Figure 4 is a block diagram of me tracking circuit that tracks the median of the received multipath signal components.

Figure 5a is a block diagram of the tracking circuit that tracks the centroid of the received multipath signal components. Figure 5b is a block digram of the Adaptive Vector Correlator.

Figure 6 is a block diagram of exemplary circuitry which implements the acquisition decision method of the correct spreading code phase of the received pilot code of the present invention.

Figure 7 is a block diagram of an exemplary pilot rake filter which includes the tracking circuit and digital phase locked loop for despreading the pilot spreadingcode, and generator of the derotation factors of the present invention.

Figure 8a is a block diagram of an exemplary adaptive vector correlator and matched filter for despreading and combining the multipath components of the present invention.

Figure 8b is a block diagram of an alternative implementation of the adaptive vector correlator and adaptive matched filter for despreading and combining the multipath components of the present invention.

Figure 8c is a block diagram of an alternative embodiment of the adaptive vector correlator and adaptive matched filter for despreading and combining the multipath components of the present invention. Figure 8d is a block diagram of the Adaptive Matched Filter of one embodiment of the present invention.

Figure 9 is a block diagram of the elements of an exemplary radio carrier station (RCS) of the present invention.

Figure 10 is a block diagram of the elements of an exemplary modem interface unit (MIU) of the RCS shown in Figure 9.

Figure 11 is a high level block diagram showing the transmit, receive, control, and code generation circuitry of the CDMA modem.

Figure 12 is a block diagram of the transmit section of the CDMA modem.

Figure 13 is a block diagram of an exemplary modem input signal receiver. Figure 14 is a block diagram of an exemplary convolutional encoder as used in the present invention.

Figure 15 is a block diagram of the receive section of the CDMA modem.

Figure 16 is a block diagram of an exemplary adaptive matched filter as used in the CDMA modem receive section. Figure 17 is a block diagram of an exemplary pilot rake as used in the

CDMA modem receive section.

Figure 18 is a block diagram of an exemplary auxiliary pilot rake as used in the CDMA modem receive section.

DESCRIPTION OF THE EXEMPLARY EMBODIMENT

Referring to Fig. 1, the radio links 161 to 165 incorporate Broadband Code Division Multiple Access (B-CDMA™) as the mode of transmission in both the Uplink and Downlink directions. CDMA (also known as Spread Spectrum) communication techniques used in multiple access systems are well-known. The described exemplary system uses the Direct Sequence (DS) spreading technique. In each modem, one or more CDMA modulators performs the spread-spectrum spreading code sequence generationln addition, the modems generate, for example, a pseudonoise (PN) spreading sequence; and pefrorm complex DS modulation to produce quadrature phase shift keying (QPSK) signals for the In-phase (I) and Quadrature (Q) channels. Pilot signals are generated and transmitted with the modulated signals. The pilot signals of the present embodiment are spreading codes which are not modulated by data. The pilot signals are used for system synchronization, carrier phase recovery, and for estimating the impulse response of the radio channel. Each SU includes a single pilot generator and at least one CDMA modulator and demodulator, called a CDMA modem. Each RCS 104, 105, 110 has a single pilot generator plus sufficient CDMA modulators and demodulators for all the logical channels in use by all SUs.

The CDMA demodulator despreads the signal, with appropriate processing to combat or exploit multipath propagation effects. Parameters concerning the received power level are used to generate the Automatic Power Control (APC) information which, in turn, is transmitted to the other end (i.e. from the SU to the RCS or from the RCS to the SU). The APC information is used to control transmit power of the automatic forward power control (AFPC) and automatic reverse power control (ARPC) links. In addition, each RCS 104, 105 and 110 may perform Maintenance Power Control (MPC), in a manner similar to APC, to adjust the initial transmit power of each SU 111 , 112, 115, 117 and 118.

Diversity combining at the radio antennas of the RCS 104, 105 and 110 is not necessary because CDMA has inherent frequency diversity due to the spread bandwidth. Receivers may include Adaptive Matched Filters (AMFs) (not shown in Figure 1), however, which combine the multipath signals. In the exemplary embodiment, AMFs perform Maximal Ratio Combining.

Logical Communication Channels

A 'channel' of the prior art is usually regarded as a communications path which is part of an interface and which can be distinguished from other paths of that interface without regard to its content. In the case of CDMA, however, separate communications paths are distinguished only by their content. The term 'logical channel' is used to distinguish the separate data streams, which are logically equivalent to channels in the conventional sense. All logical channels and sub-channels of the present invention are mapped to a common 64 kilo-symbols per second (ksym/s) QPSK stream. Some channels are synchronized to associated pilot codes which are generated in the same way and perform much the same function as the system Global Pilot Code. The system pilot signals are not, however, considered logical channels.

Several logical communication channels are used over the RF communication link between the RCS and SU. Each logical communication channel has either a fixed, pre-determined spreading code or a dynamically assigned spreading code. For both pre-determined and assigned codes, the code phase is in synchronism with the Pilot Code. Logical communication channels are divided into two groups: the Global Channel (GC) group includes those channels which are either transmitted from the base station RCS to all the remote SUs or from any SU to the RCS of the base station regardless of the SU's identity, These channels contain for all users and include the channels used by SUs to gain access to message communication channels. Channels in the Assigned Channels (AC) group are those channels which are dedicated to communication between the RCS and a particular SU.

The Global Channels (GC) group provides for 1) Broadcast logical channels, which provide point to multipoint services for broadcasting messages to all SUs and paging messages to SUs; and 2) Access Control logical channels which provide point- to-point services on global channels for SUs to access the system and obtain assigned channels.

An Assigned Channel (AC) group contains the logical channels that control a single telecommunication connection between the RCS and a SU. The functions developed when an AC group is formed consists of a pair of power control logical

message channels for each of the Uplink and Downlink connections, and depending on the type of connection, one or more pairs of traffic channels. The Bearer Control function performs the required forward error control, bearer rate modification, and encryption functions. The logical channels which constitute the BC and AC groups are summarized below in Table 1.

Table 1: Logical Channels and sub-channels of the B-CDMA Air Interface

The APC data is sent at 64 kbit/sec. The APC logical channel is not FEC coded to avoid delay and is transmitted at a low power level to minimize capacity used for APC. Alternatively, the APC and order wire (OW) data may be separately modulated using complex spreading code sequences, or they may be time division multilplexed with a 16 kbit/s traffic channel.

The Spreading Codes

The CDMA code generators used to encode the logical channels of the present invention employ Linear Shift Registers (LSRs) with feedback logic which is a method well known in the art. The code generators of the present embodiment of the invention generate 64 synchronous unique sequences. Each RF communication channel uses a pair of these sequences for complex spreading (in-phase and quadrature) of the logical channels, so the generator gives 32 complex spreading sequences. The sequences are generated by a single seed which is initially loaded into a shift register circuit.

The Generation of Spreading Code Sequences and Seed Selection The spreading code period of the present invention is defined as an integer multiple of the symbol duration, and the beginning of the code period is also the beginning of the symbol. The relation between bandwidths and the symbol lengths chosen for the exemplary embodiment of the present invention is:

The spreading code length is also a multiple of 64 and of 96 for ISDN frame support. The spreading code is a sequence of symbols, called chips or chip values. The general methods of generating pseudorandom sequences using Galois Field mathematics is known to those skilled in the art; hoever, the inventor has derived a unique set, or family, of code sequences for the present invention. First, the length of the linear feedback shift register to generate a code sequence is chosen, and the initial value of the register is called a "seed". Second, the constraint is imposed that no code sequence generated by a code seed can be a cyclic shift of another code sequence generated by the same code seed. Finally, no code sequence generated from one seed can be a cyclic shift of a code sequence generated by another seed.

The inventor has determined that the spreading code length of chip values of the present invention is:

128 x 233415 = 29877120 (1) The spreading codes are generated by combining a linear sequence of period 233415 and a nonlinear sequence of period 128

The nonlinear sequence of length 128 is implemented as a fixed sequence loaded into a shift register with a feed-back connection. The fixed sequence can be generated by an m-sequence of length 127 padded with an extra logic 0, 1, or random value as is well known in the art.

The linear sequence of length L =233415 is generated using a linear feedback shift register (LFSR) circuit with 36 stages. The feedback connections

correspond to a irreducible polynomial h(n) of degree 36. The polynomial h(x) chosen by the inventor for the exemplary embodiment of the present invention is h(x) = x 36 + x 35 + x 30 + x 2 + x 26 + x 25 + x 22 + x 20 + x 19 + x"

+ x 16 + x 15 + x 14 + x 12 + x 11 + x 9 + x 8 + x 4 + x 3 + x 2 + 1 (2) A group of "seed" values for a LFSR representing the polynomial h(x) of equation (2) which generates code sequences that are nearly orthogonal with each other is determined. The first requirement of the seed values is that the seed values do not generate two code sequences which are simply cyclic shifts of each other.

The present invention includes a method to increase the number of available seeds for use in a CDMA communication system by recognizing that certain cyclic shifts of the previously determined code sequences may be used simultaneously. The round trip delay for the cell sizes and bandwidths of the present invention are less than 3000 chips. In one embodiment of the present invention, sufficiently separated cyclic shifts of a sequence can be used within the same cell without causing ambiguity for a receiver attempting to determine me code sequence. This method enlarges the set of sequences available for use.

By implementing the tests previously described, a total of 3879 primary seeds were determined by the inventor through numerical computation. These seeds are given mathematically as d n modulo h(x) (3) where 3879 values of n are listed in the appendix, with d = (00,...00111).

When all primary seeds are known, all secondary seeds of the present invention are derived from the primary seeds by shifting them multiples of 4095 chips modulo h(x). Once a family of seed values is determined, these values are stored in memory and assigned to logical channels as necessary. Once assigned, the initial seed value is simply loaded into LFSR to produce the required spreading code sequence associated with the seed value.

Epoch and Sub-epoch Structures

The long complex spreading codes used for the system of the current invention have a number of chips after which the code repeats. The repetition period of the spreading sequence is called an epoch. To map the logical channels to CDMA spreading codes, the present invention uses an Epoch and Sub-epoch structure. The code period for the CDMA spreading code to modulate logical channels is 29877120 chips/code period which is the same number of chips for all bandwidths. The code period is the epoch of the present invention, and the Table 2 defines the epoch duration for the supported chip rates. In addition, two sub-epochs are defined over the spreading code epoch and are 233415 chips and 128 chips long.

The 233415 chip sub-epoch is referred to as a long sub-epoch, and is used for synchronizing events on the RF communication interface such as encryption key switching and changing from global to assigned codes. The 128 chip short epoch is defined for use as an additional timing reference. The highest symbol rate used with a single CDMA code is 64 ksym/sec. There is always an integer number of chips in a symbol duration for the supported symbol rates 64, 32, 16, and 8 ksym/s.

Table 2 Bandwidths, Chip Rates, and Epochs

* numbers in these columns are rounded to 5 digits.

Cyclic sequences of the prior art are generated using linear feedback shift register (LFSR) circuits. This method, however, does not generate sequences of even length. One embodiment of the spreading code sequence generator using the code seeds generated previously is shown in Figure 2a, Figure 2b, and Figure 2c. The exemplary system uses a 36 stage LFSR 201 to generate a sequence of period N' =233415 =3 3 x5x7xl3xl9, which is Co in Figure 2a. In the Figures 2a, 2b, and 2c the

symbol Φ represents a binary addition (EXCLUSIVE-OR). A sequence generator designed as above generates the in-phase and quadrature parts of a set of complex sequences. The tap connections and initial state of the 36 stage LFSR determine the sequence generated by this circuit. The tap coefficients of the 36 stage LFSR are determined such that the resulting sequences have the period 233415. Note that the tap connections shown in Figure 2a correspond to the polynomial given in equation (2). Each resulting sequence is then overlaid by binary addition with the 128 length sequence C» to obtain the epoch period 29877120.

Figure 2b shows a Feed Forward (FF) circuit 202 which is used in the code generator. The signal X[n-1] is output of the chip delay 211, and the input of the chip delay 211 is X[n]. The code chip C[n] is formed by the logical adder 212 from the input X[n] and X[n-1]. Figure 2c shows the complete spreading code generator. From the LFSR 201, output signals go through a chain of up to 63 single stage FFs 203 cascaded as shown. The output of each FF is overlaid with the short, even code sequence C* which has a period of 128 =2 7 . the short code sequence C* is stored in code memory 222 and exhibits spectral characteristics of a pseudorandom sequence to obtain the epoch N=29877120 when combined with the sequences provided by the FFs 203. This sequence of 128 is determined by using an m-sequence (PN sequence) of length 127 =2 7 - 1 and adding a bit-value, such as logic 0, to the sequence to increase the length to 128 chips. The even code sequence C* is input to the even code shift register 221, which is a cyclic register, that continually outputs the sequence. The short sequence is then combined with the long sequence using an EXCLUSIVE-OR operation 213, 214, 220.

As shown in Figure 2c, up to 63 spreading code sequences Co through Cβ3 are generated by tapping the output signals of FFs 203 and logically adding the short sequence C* in a binary adders 213, 214, and 220, for example. One skilled in the art would realize that the implementation of the FF 203 create a cumulative delay effect for the code sequences produced at each FF stage in the chain. This delay is due to the nonzero electrical delay in the electronic components of the implementation. The timing problems associated with the delay can be mitigated by inserting additional delay elements into the FF chain. An exemplary FF chain with additional delay elements is shown in Figure 2d.

The code-generators in the exemplary system are configured to generate either global codes, or assigned codes. Global codes are CDMA codes that can be received or transmitted by all users of the system. Assigned codes are CDMA codes that are allocated for a particular connection. When a family of sequences is generated from the same generator as described, only the seed of the 36 stage LFSR is specified. Sequences for all the global codes, are generated using the same LFSR circuit. Therefore, once an SU has synchronized to the Global pilot signal from an RCS and knows the seed for the LFSR circuit for the Global Channel codes, it can generate not only the pilot sequence but also all other global codes used by the RCS. The signal that is upconverted to RF is generated as follows. The spreading sequences produced by the above shift register circuits are converted to an antipodal sequence (0 maps into +1, 1 maps into -1). The Logical channels are initially converted to QPSK signals, which are mapped as constellation points as is well known in the art. The In-phase and Quadrature channels of each QPSK signal form the real and imaginary parts of the complex data value. Similarly, two spreading codes are used to form complex spreading chip values. The complex data and complex spreading code are multiplied to produce a spread-spectrum data signal. Similarly, for despreading, the received complex data is correlated with the conjugate of the complex spreading code to recover the data signal. Short Codes

Short codes are used for the initial ramp-up process when an SU accesses an RCS. The period of the short codes is equal to the symbol duration and the start of each period is aligned with a symbol boundary. Both the SUs and the RCS derive die real and imaginary parts of the short codes from the last eight feed-forward sections of the sequence generator to produce the global codes for that cell.

The signals represented by these short codes are known as Short Access Channel pilots (SAXPTs)

Mapping of Logical Channels to Spreading Codes

The exact relationship between the spreading code sequences and the CDMA logical channels and pilot signals is documented in Table 3a and Table 3b. Those

signal names ending in '-CH' correspond to logical channels. Those signal names ending in '-P correspond to pilot signals, which are described in detail below.

Pilot Signals

As described above, the pilot signals are used for synchronization, carrier phase recovery, and for estimating the impulse response of the radio channel. The RCS 104 transmits a forward link pilot carrier reference as a complex pilot code sequence to provide a time and phase reference for all SUs 111, 112, 115, 117 and 118 in its service area. The power level of the Global Pilot (GLPT) signal is set to provide adequate coverage over the whole RCS service area, which area depends on the cell size. With only one pilot signal in the forward link, the reduction in system capacity due to the pilot energy is negligible. Each of the SUs 111, 112, 115, 117 and 118 transmits a pilot carrier reference as a quadrature modulated (complex-valued) pilot spreading code sequence to provide time and phase reference to the RCS for the reverse link. The pilot signal transmitted by the SU of one embodiment of the invention is 6 dB lower than the power of the 32 kbit s POTS (plain old telephone service) traffic channel. The reverse pilot channel is subject to APC. The reverse link pilot associated with a particular connection is called the Assigned Pilot (ASPT). In addition, there are pilot signals associated with access channels, and Λese are called the Long Access Channel Pilots (LAXPTs). Short access channel pilots (SAXPTs) are also associated with the access channels and used for spreading code acquisition and initial power ramp-up. All pilot signals are formed from complex codes, as defined below:

GLPT (forward) = {C2ΦC + j.(C 3 ΦO)} . {(±1) + j.(0)}

{ Complex Code } . { Carrier }

The complex pilot signals are de-spread by multiplication with conjugate spreading codes: {(C∑ΦC*) - j.(CsΦC»)}. By contrast, traffic channels are of the form: TRCHn(forward/reverse) = {(CkΦC«) + j.(GΦO)} . { (±1) + j(±l) }

{ Complex Codes } . { Data Symbol} π which thus form a constellation set at — radians with respect to the pilot signal

constellations.

The GLPT constellation is shown in Figure 3a, and the TRCHn traffic channel constellation is shown in Figure 3b.

Logical Channel Assignment of the FBCH, SBCH, and Traffic Channels

The fast broadcast channel (FBCH) is a global forward link channel used to broadcast dynamic information about the availability of services and access channels (AXCHs). The messages are sent continuously, and each message lasts approximately 1 ms. The FBCH message is 16 bits long, repeated continuously, and epoch aligned. The FBCH is formatted as defined in Table 4.

Table 4: FBCH format

For the FBCH, bit 0 is transmitted first. A traffic light corresponds to an Access

Channel (AXCH) and indicates whether the particular access channel is currently in use (red) or not in use (green). A logic T indicates that the traffic light is green, and a logic '0' indicates the traffic light is red. The values of die traffic light bits may change from octet to octet, and each 16 bit message contains distinct service indicator bits which describe which types of service are available for the AXCHs.

One embodiment of d e present invention uses service indicator bits as follows to indicate the availability of services or AXCHs. The service indicator bits {4,5,6,7,12,13,14,15} are interpreted as an unsigned binary number, with bit 4 as the MSB and bit 15 as the LSB. Each service type increment has an associated nominal measure of the capacity required, and the FBCH continuously broadcasts the available

capacity. This is scaled to have a maximum value equivalent to the largest single service increment possible. When an SU requires a new service or an increase in the number of bearers), it compares the capacity required to that indicated by the FBCH, and then considers itself blocked if the capacity is not available. The FBCH and the traffic channels are aligned to the epoch.

Slow Broadcast Information frames contain system or other general information that is available to all SUs, and Paging Information frames contain information about call requests for particular SUs. Slow Broadcast Information frames and Paging Information frames are multiplexed together on a single logical channel which forms the Slow Broadcast Channel (SBCH). As previously defined, d e code epoch is a sequence of 29 877 20 chips having an epoch duration which is a function of the chip rate defined in Table 5 below. In order to facilitate power saving, the channel is divided into N "Sleep" Cycles, and each Cycle is subdivided into M Slots, which are 19 ms long, except for 10.5 Mhz bandwidd which has slots of 18 ms.

Table 5: SBCH Channel Format Outline

Sleep Cycle Slot #1 is always used for slow broadcast information. Slots #2 to #M-1 are used for paging groups unless extended slow broadcast information is inserted. The pattern of cycles and slots in one embodiment of the present invention run continuously at 16 kbit s.

Within each Sleep Cycle the SU may power-up the receiver and re-acquire pilot code to achieve carrier lock to a sufficient precision for satisfactory demodulation and Viterbi decoding. This settling time may be up to 3 Slots in duration. For example, an SU assigned to Slot #7 may power up me Receiver at the start of Slot #4. Having

monitored its Slot the SU either recognizes its Paging Address and initiates an access request, or fails to recognize its Paging Address in which case it reverts to the Sleep mode.

Spreading code Tracking and AMF Detection in Multipath Channels Spreading code Tracking

Three CDMA spreading code tracking methods in multipath fading environments are described which track the code phase of a received multipath spread- spectrum signal. The first method uses the prior art tracking circuit which simply tracks the spreading code phase of the detector having the highest output signal value, the second method uses a tracking circuit that tracks the median value of d e code phase of the group of multipath signals, and the third method of die present invention, is the centroid tracking circuit which tracks die code-phase of an optimized, least mean squared weighted average of the multipath signal components. The following describes die algorithms by which the spreading code phase of the received CDMA signal is tracked. A tracking circuit has operating characteristics that reveal the relationship between the time error and die control voltage that drives a Voltage Controlled Oscillator (VCO) of a spreading code phase tracking circuit. When there is a positive timing error, me exemplary tracking circuit generates a negative control voltage to offset the timing error. When there is a negative timing error, the exemplary tracking circuit generates a positive control voltage to offset the timing error. When the tracking circuit generates a zero value, this value corresponds to the perfect time alignment called die 'lock-point'. Figure 3c shows the basic tracking circuit. Received signal r(t) is applied to matched filter 301, which correlates r(t) with a local code-sequence c(t) generated by Code Generator 303. The output signal of the matched filter x(t) is sampled at die sampler 302 to produce samples x[nT] and x[nT + T/2]. The samples x[nT] and x[nT + T/2] are used by a tracking circuit 304 to determine if me phase of the spreading code c(t) of the code generator 303 is correct. The tracking circuit 304 produces an error signal e(t) as an input to the code generator 303. The code generator 303 uses tiiis signal e(t) as an input signal to adjust die code-phase it generates.

In a CDMA system, the signal transmitted by die reference user is written in the low-pass representation as

where Ck represents the spreading code coefficients, Prcft) represents the spreading code chip waveform, and Tc is die chip duration. Assuming that the reference user is not transmitting data, only die spreading code modulates the carrier. Referring to Figure 3, the received signal is

M {ή = ∑a^- ) (5)

»=1

Here, ai is due to fading effect of the multipath channel on the i-th padi and xi is the random time delay associated witii the same patii. The receiver passes the received signal through a matched filter, which is implemented as a correlation receiver and is described below. This operation is done in two steps: first die signal is passed dirough a chip matched filter and sampled to recover die spreading code chip values, then mis chip sequence is correlated with the locally generated code sequence. Figure 3c shows die chip matched filter 301, matched to die chip waveform

Pτcft,>, and die sampler 302. The signal x(t) at the output terminal of the chip matched filter is

where

Here, hιι(t) is the impulse response of the chip matched filter and '*' denotes convolution. The order of the summations, can be rewritten as:

x{t) = ∑c {t-M c ) (8) i=-» where

M

/« = ∑«w('- *ι) (9) i=l

In the multipath channel described above, the sampler samples the output signal of the matched filter to produce x(nT) at the maximum power level points of g(t). In practice, however, die waveform g(t) is often severely distorted because of the effect of the multipadi signal reception, and a perfect time alignment of the signals is not available.

When the multipath in the channel is negligible and a perfect estimate of the timing is available, i.e., aι = l, τι=0, and aι=0, i=2,...,M, the received signal is r(t) = s(t). Then, with this ideal channel model, the output of the chip matched filter becomes

x(ή = ∑c k g(t-kT c ) (10)

When there is multipath fading, however, die received spreading code chip value waveform is distorted, and has a number of local maxima mat can change from one sampling interval to ano er depending on die channel characteristics.

For multipadi fading channels with quickly changing channel characteristics, it is not practical to try to locate the maximum of die waveform f(t) in every chip period interval. Instead, a time reference can be obtained from the characteristics of /ft) that may not change as quickly. Three tracking methods are described based on different characteristics of /ft).

Prior Art Spreading code Tracking Method: Prior art tracking methods include a code tracking circuit in which the receiver attempts to determine where the maximum matched filter output value of the chip waveform occurs and sample the signal at that point. In multipadi fading channels, however, the receiver despreading code waveform can have a number of local maxima, especially in a mobile environment. If /ft) represents e received signal waveform of the spreading code chip convolved witii die channel impulse response, me shape of /ft) and where its maximum occurs can change rather quickly making it impractical to track the maximum of /ft).

Define τ to be d e time estimate that the tracking circuit calculates during a particular sampling interval. Also, define die following error function

The tracking circuits of the prior art calculate a value of the input signal that minimizes the error ε. One can write

mine = 1- max jf(t)dt (12)

T-δ

Assuming f(τ) has a smooth shape in me values given, the value of τ for which f(τ) is maximum minimizes the error ε, so the tracking circuit tracks me maximum point of /ft;.

Median Weighted Value Tracking Method:

The Median Weighted Tracking Method of one embodiment of the present invention, minimizes me absolute weighted error, defined as

This tracking method calculates the 'median' signal value of /ft) by collecting information from all paths, where f(τ) is as in equation (9). In a multipadi fading environment, the waveform /ft) can have multiple local maxima, but only one median.

To minimizes , the derivative of equation (13) is taken widi respect to τ and equated it to zero, which gives

The value of τ that satisfies (14) is called me 'median' of /ft). Therefore, the Median Tracking Metiiod of the present embodiment tracks the median of /ft). Figure 4 shows an implementation of the tracking circuit based on minimizing me absolute

weighted error defined above. The signal x(t) and its one-half chip offset version x(t+T/2) are sampled by the analog-to-digital A/D converter 401 at a rate 1/T. The following equation determines the operating characteristic of the circuit in Figure 4:

Tracking the median of a group of multipadi signals keeps the received energy of die multipath signal components equal on the early and late sides of d e median point of the correct locally generated spreading code phase Cn. The tracking circuit consists of an A/D converter 401 which samples an input signal x(t) to form the half chip offset samples. The half chip offset samples are alternatively grouped into even samples called an early set of samples x(nT+τ) and odd samples called a late set of samples x(nT+(T/2)+ τ). The first correlation bank adaptive matched filter 402 multiplies each early sample by die spreading code phases c(n+l), c(n+2), ..., c(n+L), where L is small compared to the code lengtii and approximately equal to number of chips of delay between me earliest and latest multipadi signal. The output of each correlator is applied to a respective first sum-and-dump bank 404. The magnitudes of the output values of the L sum-and-dumps are calculated in the calculator 406 and tiien summed in a summer 408 to give an output value proportional to the signal energy in die early multipadi signals. Similarly, a second correlation bank adaptive matched filter 403 operates on die late samples, using code phases c(n-l), c(n-2), ..., c(n-L), and each output signal is applied to a respective sum-and-dump in an integrator 405. The magnitudes of die L sum-and-dump outputs are calculated in calculator 407 and men summed in summer 409 to give a value for the late multipath signal energy. Finally, the subtracter 410 calculates the difference and produces error signal e(t) of the early and late signal energy values.

The tracking circuit adjusts, by means of error signal e(τ), the locally generated code phases c(t) to cause the difference between the early and late values to tend toward 0.

Centroid Tracking Method

Anodier spreading code tracking circuit of one embodiment of me present invention is called the squared weighted tracking (or centroid) circuit. Defining τ to

denote d e time estimate that d e tracking circuit calculates, based on some characteristic of /ft), the centroid tracking circuit minimizes the squared weighted error defined as

This function inside the integral has a quadratic form, which has a unique minimum. The value of τ that minimizes ε can be found by taking the derivative of die above equation widi respect to τ and equating to zero, which gives

Therefore, the value of τ that satisfies

is the timing estimate that the tracking circuit calculates, and β is a constant value.

Based on diese observations, a realization of the tracking circuit minimizing the squared weighted error is shown in Figure 5. The following equation determines the error signal e(τ) of the centroid tracking circuit:

The value tiiat satisfies e(τ) =0 is the optimized estimate of the timing.

The early and late multipadi signal energy on each side of me centroid point are equal. The centroid tracking circuit shown in Figure 5 consists of an A/D converter 501 which samples an input signal x(t), as described above witii reference to Fig. 4 to form half chip offset samples. The half chip offset samples are alternatively grouped as an early set of samples x(nT+τ) and a late set of samples x(nT+(T/2)+ τ). The first correlation bank adaptive matched filter 502 multiplies each early sample and each late sample by the positive spreading code phases c(n+l), c(n+2), ..., c(n+L), where L is small compared to die code lengtii and is approximately equal to number of chips of delay between the earliest and latest multipath signal. The output signal of each correlator is applied to a respective one of L sum-and-dump circuits of the first sum and

dump bank 504. The magnitude value of the output signal produced by each sum-and- dump circuit of the sum and dump bank 504 is calculated by die respective calculator in die calulator bank 506 and applied to a corresponding weighting amplifier of me first weighting bank 508. The output signal of each weighting amplifier represents the weighted signal energy in a multipath component signal.

The weighted early multipath signal energy values are summed in sample adder 510 to give an output value that is proportional to me signal energy in the group of multipadi signals corresponding to positive code phases which are me early multipadi signals. Similarly, a second correlation bank adaptive matched filter 503 operates on the early and late samples, using the negative spreading code phases c(n-l), c(n-2), ..., c(n- L), each output signal is provided to a respective sum-and-dump circuit of discrete integrator 505. The magnitude value of me L sum-and-dump output signals are calculated by die respective calculator of calculator bank 507 and tiien weighted in weighting bank 509. The weighted late multipath signal energy values are summed in sample adder 511 to give an energy value for the group of multipath signals corresponding to die negative code phases which are the late multipath signals. Finally, die subtracter 512 calculates the difference of the early and late signal energy values to produce error sample value e(τ).

The tracking circuit of Figure 5 produces error signal e(τ) which is used to adjust die locally generated code phase c(nT) to keep the weighted average energy in the early and late multipath signal groups equal. The embodiment shown uses weighting values mat increase as the distance from the centroid increases. The signal energy in the earliest and latest multipath signals is probably less than the multipath signal values near the centroid. Consequently, the difference calculated by die subtracter 512 is more sensitive to variations in delay of the earliest and latest multipath signals.

Quadratic Detector for Tracking

In another exemplary tracking method, the tracking circuit adjusts sampling phase to be "optimal" and robust to multipath. If /ft) represent the received signal waveform as in equation (9) above. The particular method of optimizing starts with a delay locked loop with an error signal e(τ) that drives die loop. The function e(τ)

desirably has only one zero at τ=τo where τo is optimal. The optimal form for e(t) has the canonical form:

e(τ) = J w (t, τ) | f(t) l 2 dt (20)

where w(t, τ) is a weighting function relating f(t) to the error e(τ), and die following holds

e(τ+τo) = J w (t, τ+τo) | f(t) | 2 dt (21)

It follows from equation (21) that w(t, τ) is equivalent to w(t-τ). Considering die slope M of the error signal in the neighborhood of a lock point τo:

M = d ^ ) J J w . (t _ τo) g(t) dt (22) dr J

where w'(t, τ) is the derivative of w(t, τ) with respect to τ, and g(t) is die average of

The error e(τ) has a deterministic part and a noise part. Let z denote die noise component in e(τ), ti en I z 1 2 is the average noise power in die error function e(τ). Consequently, the optimal tracking circuit maximizes the ratio:

The implementation of the Quadratic Detector is now described. The discrete error value e of an error signal e(τ) is generated by performing the operation e = y T By (24) where the vector y represents the received signal components yi, i = 0, 1, ... L-l, as shown in Figure 5b. The matrix B is an L by L matrix and die elements are determined by calculating values such tiiat the ratio F of equation 23 is maximized.

Determining the Minimum Value of L needed:

The value of L in the previous section determines the minimum number of correlators and sum-and-dump elements. L is chosen as small as possible without compromising the functionality of die tracking circuit.

The multipath characteristic of die channel is such that the received chip waveform /ft) is spread over QTc seconds, or die multipath components occupy a time period of Q chips duration. The value of L chosen is =Q. Q is found by measuring the particular RF channel transmission characteristics to determine the earliest and latest multipath component signal propagation delay. QTc is die difference between the earliest and latest multipadi component arrival time at a receiver.

The Quadratic Detector described above may be used to implement die centroid tracking system described above witii reference to Figure 5a. For this implementation, the vector y is the output signal of the sum and dump circuits 504: y={f(τ-LT), f(τ-LT+T/2), f(τ-(L-l)T), . • • f(τ), f(τ+T/2), f(τ+T), . . . f(τ+LT)} and the matrix B is set forth in table 6.

Table 6 B matrix for quadratic form of Centroid Tracking System

Adaptive Vector Correlator

An embodiment of the present invention uses an adaptive vector correlator (AVC) to estimate die channel impulse response and to obtain a reference value for

coherent combining of received multipadi signal components. The described embodiment employs an array of correlators to estimate die complex channel response affecting each multipadi component, then the receiver compensates for die channel response and coherently combines the received multipadi signal components. This approach is referred to as maximal ratio combining.

Referring to Figure 6, The input signal x(t) to the system is composed of interference noise of other message channels, multipath signals of message channels, thermal noise, and multipath signals of die pilot signal. The signal is provided to AVC 601 which includes a despreading means 602, channel estimation means for estimating die channel response 604, correction means for correcting a signal for effects of the channel response 603, and adder 605 in die present invention. The AVC despreading means 602 is composed of multiple code correlators, witii each correlator using a different phase of the pilot code c(t) provided by die pilot code generator 608. The output of this despreading means corresponds to a noise power level if die phase of the local pilot code of d e despreading means is not in phase with the input code signal, or it corresponds to a received pilot signal power level plus noise power level if die input pilot code and locally generated pilot code phases are die same. The output signals of the correlators of the despreading means corrected for the channel response by the correction means 603 and are applied to die adder 605 which collects all multipadi pilot signal power. The channel response estimation means 604 receives the combined pilot signal and die output signals of the despreading means 602, and provides a channel response estimate signal, w(t), to the correction means 603 of the AVC, and the estimate signal w(t) is also available to the adaptive matched filter (AMF) described subsequently. The output signal of the despreading means 602 is also provided to the acquisition decision means 606 which decides, based on a particular algoridim, such as a sequential probability ratio test (SPRT), if the present output levels of the despreading circuits correspond to synchronization of the locally generated code to die desired input code phase. If die detector finds no synchronization, ti en the acquisition decision means sends a control signal a(t) to the local pilot code generator 608 to offset its phase by one or more chip periods. When synchronization is found, die acquisition decision means informs the

tracking circuit 607, which achieves and maintains a close synchronization between die received and locally generated code sequences.

An exemplary implementation of the Pilot AVC used to despread die pilot spreading code is shown in Figure 7. The described embodiment assumes that the input signal x(t) has been sampled witii sampling period T to form x(nT+τ), and is composed of interference noise of other message channels, multipadi signals of message channels, thermal noise, and multipadi signals of die pilot code. The signal x(nT+τ) is applied to L correlators, where L is the number of code phases over which die uncertainty within the multipath signals exists. Each correlator 701, 702, 703 comprises a respective multiplier 704, 705, 706, which multiples die input signal with a particular phase of die Pilot chip code signal c((n+i)T), and a sum-and-dump circuit 708, 709, 710. The output signal of each multiplier 704, 705, 706 is applied to a respective sum-and dump circuit 708, 709, 710 to perform discrete integration. Before summing the signal energy contained in the outputs of the correlators, the AVC compensates for the channel response and die carrier phase rotation of die different multipadi signals. Each output signal of each sum-and- dump 708, 709, 710 is multiplied by a derotation phasor [complex conjugate of ep(nT)] obtained from the digital phase lock loop (DPLL) 721. This phasor is applied to one input port of a respective multiplier 714, 715, 716 to account for die phase and frequency offset of me carrier signal. The Pilot Rake AMF calculates, complex weighting factors, wk, k= 1 , .. , L, for each multipadi signal by passing die output of each multiplier 714, 715, 716 dirough a low pass filter (LPF) 711, 712, 713. Each despread multipadi signal is multiplied by its corresponding weighting factor in a respective multiplier 717, 718, 719. The output signals of the multipliers 717, 718, 719 are summed in a master adder 720, and die output signal p(nT) of die accumulator 720 consists of the combined despread multipadi pilot signals in noise. The output signal p(nT) is also applied to the DPLL 721 to produce d e error signal ep(nT) for tracking of the carrier phase.

Figures 8a and 8b show alternate embodiments of die AVC which can be used for detection and multipadi signal component combining. The message signal AVCs of Figures 8a and 8b use die weighting factors produced by die Pilot AVC to correct the message data multipadi signals. The spreading code signal, c(nT) is die spreading

sequence used by a particular message channel and is synchronous witii die pilot spreading code signal. The value L is die number of correlators in the AVC circuit

The circuit of Figure 8a calculates die decision variable Z which is given by

2 = w, T x(iT + τ)c(iT) + w 2 ∑ x(iT + τ)c((i + l)τ) i=l ι'=l

(25)

+ ••• +w L ∑x(iT+ τ) + c((i + L)τ) ι=l where N is the number of chips in die correlation window. Equivalently, the decision statistic is given by

Z = x(T+ τ)∑w i c(iT) + x(2T+ τ)∑w 2 c((i + Ϊ)T)

1=1 1=1

+ •• • + • x(NT + τ)∑ w N c((i + N)T) (26)

1=1

N

= ∑x(kT_ τ)∑w k c((i + k - i)T) t=l 1=1

The alternative implementation that results from equation (26) is shown in

Figure 8b. Referring to Figure 8a, die input signal x(t) is sampled to form x(nT+τ), and is composed of interference noise of other message channels, multipadi signals of message channels, thermal noise, and multipadi signals of die pilot code. The signal x(nT+τ) is applied to L correlators, where L is the number of code phases over which die uncertainty witiiin the multipath signals exists. Each correlator 801, 802, 803 comprises a multiplier 804, 805, 806, which multiples the input signal by a particular phase of die message channel spreading code signal, and a respective sum-and-dump circuit 808, 809, 810. The output of each multiplier 804, 805, 806 is applied to a respective sum-and dump circuit 808, 809, 810 which performs discrete integration. Before summing the signal energy contained in die output signals of the correlators, the AVC compensates for the

different multipadi signals. Each despread multipadi signal and its corresponding weighting factor, which is obtained from die corresponding multipadi weighting factor of the pilot AVC, are multiplied by multiplier 817, 818, 819. The output signals of the multipliers 817, 818, 819. The output signals of die multipliers 817, 818, 819 are summed in a master adder 820, and die output signal z(nT) of the accumulator 820 consists of sampled levels of a despread message signal in noise.

The alternative embodiment of die invention includes a new implementation of the AVC despreading circuit for the message channels which performs the sum-and-dump for each multipadi signal component simultaneously. The advantage of this circuit is that only one sum-and dump circuit and one adder is necessary.

Referring to Figure 8b, the message code sequence generator 830 provides a message code sequence to shift register 831 of length L. The output signal of each register 832, 833, 834, 835 of the shift register 831 corresponds to die message code sequence shifted in phase by one chip. The output value of each register 832, 833, 834, 835 is multiplied in multipliers 836, 837, 838, 839 witii the corresponding weighting factor wt, k=l, .., L obtained from the Pilot AVC. The output signals of die L multipliers 836, 837, 838, 839 are summed by d e adding circuit 840. The adding circuit output signal and die receiver input signal x(nT +τ) are tiien multiplied in the multiplier 841 and integrated by die sum- and-dump circuit 842 to produce message signal z(nT). A tiiird embodiment of die adaptive vector correlator is shown in Figure

8c. This embodiment uses the least mean square (LMS) statistic to implement me vector correlator and determines the derotation factors for each multipadi component from the received multipath signal. The AVC of Figure 8c is similar to the exemplary implementation of the Pilot AVC used to despread die pilot spreading code shown in Figure 7. The digtal phase locked loop 721 is replaced by a phase locked loop 850 having a voltage controlled oscillator 851, loop filter 852, limiter 853, and imaginary component separator 854. The difference between the corrected despread output signal dos and an ideal despread output is provided by adder 855, and die difference signal is a despread error value ide which is further used by the derotation circuits to compensate for errors in the derotation factors.

In a multipadi signal environment, the signal energy of a transmitted symbol is spread out over the multipath signal components. The advantage of multipadi signal addition is that a substantial portion of signal energy is recovered in an output signal from the AVC. Consequentiy, a detection circuit has an input signal from the AVC with a higher signal-to-noise ratio (SNR), and so can detect die presence of a symbol with a lower bit-error ratio (BER). In addition, measuring me output of the AVC is a good indication of die transmit power of the transmitter, and a good measure of the system's interference noise.

Adaptive Matched Filter One embodiment of the current invention includes an Adaptive Matched

Filter (AMF) to optimally combine the multipadi signal components in a received spread spectrum message signal. The AMF is a tapped delay line which holds shifted values of d e sampled message signal and combines diese after correcting for the channel response. The correction for the channel response is done using die channel response estimate calculated in the AVC which operates on the Pilot sequence signal. The output signal of die AMF is the combination of die multipath components which are summed to give a maximum value. This combination corrects for the distortion of multipadi signal reception. The various message despreading circuits operate on this combined multipadi component signal from the AMF. Figure 8d shows an exemplary embodiment of d e AMF. The sampled signal from the A/D converter 870 is applied to til L-stage delay line 872. Each stage of this delay line 872 holds the signal corresponding to a different multipadi signal component. Correction for the channel response is applied to each delayed signal component by multiplying die component in the respective multiplier of multiplier bank 874 with the respective weighting factor wi, w 2 , ..., WL from the AVC corresponding to die delayed signal component. All weighted signal components are summed in die adder 876 to give the combined multipadi component signal y(t).

The combined multipath component signal y(t) does not include die correction due to phase and frequency offset of die carrier signal. The correction for the phase and frequency offset of die carrier signal is made to y(t) by multiplying y(t) witii

carrier phase and frequency correction (derotation phasor) in multiplier878. The phase and frequency correction is produced by die AVC as described previously. Figure 8d shows the correction before the despreading circuits 880, but alternate embodiments of the invention can apply the correction after the despreading circuits. The Radio Carrier Station (RCS)

The Radio Carrier Station (RCS) of die present invention acts as a central interface between the SU and die remote processing control network element, such as a Radio Distribution Unit (RDU). The interface to the RDU of the exemplary system follows the G.704 standard and an interface according to a modified version of DECT V5.1, but die present invention may support any interface that can exchange call control and traffic channels. The RCS receives information channels from the RDU including call control data, and traffic channel data such as, but not limited to, 32 kb/s ADPCM, 64 kb/s PCM, and ISDN, as well as system configuration and maintenance data. The RCS also terminates the CDMA radio interface bearer channels with SUs, which channels include both control data, and traffic channel data. In response to die call control data from either the RDU or a SU, the RCS allocates traffic channels to bearer channels on the RF communication link and establishes a communication connection between the SU and die telephone network through an RDU.

As shown in Figure 9, the RCS receives call control and message information data into the MUXs 905, 906 and 907 dirough interface lines 901, 902 and 903. Although El format is shown, other similar telecommunication formats can be supported in the same manner as described below. Each MUX provides a connection to the Wireless Access Controller (WAC) 920 through the PCM highway 910. While the exemplary system shown in Figure 1 uses an El Interface, it is contemplated that other types of telephone lines which convey multiple calls may be used, for example, Tl lines or lines which interface to a Private Branch Exchange (PBX).

The Wireless Access Controller (WAC) 920 is the RCS system controller which manages call control functions and interconnection of data streams between the MUXs 905, 906, 907 and the Modem Interface Units (MIUs) 931, 932, 933. The WAC

920 also controls and monitors other RCS elements such as the VDC 940, RF 950, and Power Amplifiers 960.

A low speed bus 912 is connected to die WAC 920 for transferring control and status signals between the RF Transmitter/Receiver 950, VDC 940, RF 950 and Power Amplifier 960. The control signals are sent from the WAC 920 to enable or disable the RF Transmitters/Receiver 950 or Power amplifier 960, and die states signals are sent from the RF Transmitters/Receiver 950 or Power amplifier 960 to monitor the presence of a fault condition.

The exemplary RCS contains at least one MIU 931, which is shown in Figure 10. The MIU of the exemplary embodiment includes six CDMA modems, but the invention is not limited to this number of modems. The MIU includes: a System PCM Highway 1201 connected to each of the CDMA Modems 1210, 1211, 1212, 1215 through a PCM Interface 1220; a Control Channel Bus 1221 connected to MIU controller 1230 and each of the CDMA Modems 1210, 1211, 1212, 1213; an MIU clock signal generator (CLK) 1231; and a modem output combiner 1232. The MIU provides the RCS with the following functions: the MIU controller receives CDMA Channel Assignment Instructions from the WAC and assigns a first modem to a user information signal which is applied to die line interface of the MUX and a second modem to receive the CDMA channel from the SU; the MIU also combines the CDMA Transmit Modem Data for each of the MIU CDMA modems; multiplexes I and Q transmit message data from the CDMA modems for transmission to the VDC; receives Analog I and Q receive message data from the VDC; distributes die I and Q data to die CDMA modems; transmits and receives digital AGC Data; distributes die AGC data to die CDMA modems; and sends MIU Board Status and Maintenance Information to the WAC 920. The MIU controller 1230 of the exemplary embodiment of die present invention contains one communication microprocessor 1240, such as the MC68360 "QUICC Processor, and includes a memory 1242 having a Flash Prom memory 1243 and a SRAM memory 1244. Flash Prom 1243 is provided to contain the program code for the Microprocessors 1240, and the memory 1243 is downloadable and reprogrammable to support new program versions. SRAM 1244 is provided to contain die temporary data

space needed by die MC68360 Microprocessor 1240 when die MIU controller 1230 reads or writes data to memory

The MIU CLK circuit 1231 provides a timing signal to the MIU controller 1230, and also provides a timing signal to the CDMA modems. The MIU CLK circuit 1231 receives and is synchronized to die system clock signal wo(t). The controller clock signal generator 1213 also receives and synchronizes to die spreading code clock signal pn(t) which is distributed to the CDMA modems 1210, 1211, 1212, 1215 from the MUX.

The RCS of the present embodiment includes a System Modem 1210 contained on one MIU. The System Modem 1210 includes a Broadcast spreader (not shown) and a Pilot Generator (not shown). The Broadcast Modem provides die broadcast information used by die exemplary system, and die broadcast message data is transferred from the MIU controller 1230 to die System Modem 1210. The System Modem also includes four additional modems (not shown) which are used to transmit the signals CT1 through CT4 and AX1 through AX4. The System Modem 1210 provides unweighted I and Q Broadcast message data signals which are applied to die VDC. The VDC adds die Broadcast message data signal to die MIU CDMA Modem Transmit Data of all CDMA modems 1210, 1211, 1212, 1215, and die Global Pilot signal.

The Pilot Generator (PG) 1250 provides die Global Pilot signal which is used by the present invention, and die Global Pilot signal is provided to die CDMA modems 1210, 1211, 1212, 1215 by the MIU controller 1230. Other embodiments of the present invention, however, do not require die MIU controller to generate the Global Pilot signal, but include a Global Pilot signal generated by any form of CDMA Code Sequence generator. In the described embodiment of the invention, the unweighted I and Q Global Pilot signal is also sent to die VDC where it is assigned a weight, and added to die MIU CDMA Modem transmit data and Broadcast message data signal.

System timing in the exemplary RCS is derived from me El interface. There are four MUXs in an RCS, three of which (905, 906 and 907) are shown in Figure 9. Two MUXs are located on each chassis. One of the two MUXs on each chassis is designated as d e master, and one of the masters is designated as die system master. The MUX which is the system master derives a 2.048 Mhz PCM clock signal from the El

interface using a phase locked loop (not shown). In turn, die system master MUX divides die 2.048 Mhz PCM clock signal in frequency by 16 to derive a 128 KHz reference clock signal. The 128 KHz reference clock signal is distributed from the MUX that is the system master to all the other MUXs. In turn, each MUX multiplies d e 128 KHz reference clock signal in frequency to synthesize the system clock signal which has a frequency that is twice the frequency of the PN-clock signal. The MUX also divides the 128 KHz clock signal in frequency by 16 to generate die 8 KHz frame synch signal which is distributed to the MIUs. The system clock signal for the exemplary embodiment has a frequency of 11.648 Mhz for a 7 MHz bandwidth CDMA channel. Each MUX also divides the system clock signal in frequency by 2 to obtain die PN-clock signal and further divides die PN-clock signal in frequency by 29 877 120 (the PN sequence length) to generate die PN-synch signal which indicates the epoch boundaries. The PN-synch signal from the system master MUX is also distributed to all MUXs to maintain phase alignment of the internally generated clock signals for each MUX. The PN-synch signal and die frame synch signal are aligned. The two MUXs diat are designated as die master MUXs for each chasis then distribute both the system clock signal and die PN-clock signal to the MIUs and the VDC.

The PCM Highway Interface 1220 connects the System PCM Highway 911 to each CDMA Modem 1210, 1211, 1212, 1215. The WAC controller transmits Modem Control information, including traffic message control signals for each respective user information signal, to the MIU controller 1230 through the HSB 970. Each CDMA Modem 1210, 1211, 1212, 1215 receives a traffic message control signal, which includes signaling information, from the MIU. Traffic message control signals also include call control (CC) information and spreading code and despreading code sequence information. The MIU also includes the Transmit Data Combiner 1232 which adds weighted CDMA modem transmit data including In-phase (I) and Quadrature (Q) modem transmit data from the CDMA modems 1210, 1211, 1212, 1215 on die MIU. The I modem transmit data is added separately from the Q modem transmit data. The combined I and Q modem transmit data output signal of the Transmit Data Combiner 1232 is applied to die I and Q multiplexer 1233 that creates a single CDMA transmit message

channel composed of die I and Q modem transmit data multiplexed into a digital data stream.

The Receiver Data Input Circuit (RDI) 1234 receives the Analog Differential I and Q Data from the Video Distribution Circuit (VDC) 940 shown in Figure 9 and distributes Analog Differential I and Q Data to each of the CDMA Modems 1210, 1211, 1212, 1215 of the MIU. The Automatic Gain Control Distribution Circuit (AGC) 1235 receives the AGC Data signal from the VDC and distributes die AGC Data to each of the CDMA Modems of the MIU. The TRL circuit 1233 receives the Traffic lights information and similarly distributes die Traffic light data to each of the Modems 1210, 1211, 1212, 1215.

The CDMA Modem

The CDMA modem provides for generation of CDMA spreading code sequences, synchronization between transmitter and receiver. It also provides four full duplex channels (TRO, TR1, TR2, TR3) programmable to 64, 32, 16, and 8 ksym/sec. each, spreading and transmission at a specific power level. The CDMA modem measures the received signal strengtii to allow Automatic Power Control, it generates and transmits pilot signals, encodes and decodes using die signal for forward error correction (FEC). The moden in a subscriber unit (SU) also performs transmitter spreading-code pulse shaping using an FIR filter. The CDMA modem is also used by die SU and, in the following discussion, tiiose features which are used only by die SU are distinctly pointed out. The operating frequencies of the CDMA modem are given in Table 7.

Table 7 Operating Frequencies

Each CDMA modem 1210, 1211, 1212, *1 Ϊ215 of Figure 10, and as shown in Figure 11, is composed of a transmit section 1301 and a receive section 1302. Also included in die CDMA modem is a control center 1303 which receives control messages CNTRL from the external system. These messages are used, for example, to assign particular spreading codes, to activate die spreading or despreading, or to assign transmission rates. In addition, d e CDMA modem has a code generator means 1304 used to generate d e various spreading and despreading codes used by die CDMA modem. The transmit section 1301 transmits the input information and control signals mι(t), i = l,2,..I as spread-spectrum processed user information signals scj(t), j = l,2,..J. The transmit section 1301 receives die global pilot code from the code generator 1304 which is controlled by die control means 1303. The spread spectrum processed user information signals are ultimately added with other similarly processed signals and transmitted as CDMA channels over die CDMA RF forward message link, for example to the SUs. The receive section 1302 receives CDMA channels as r(t) and despreads and recovers the user information and control signals rck(t), k=l,2,..K transmitted over die CDMA RF reverse message link, for example to the RCS from the SUs.

CDMA Modem Transmitter Section

Referring to Figure 12, the code generator means 1304 includes Transmit Timing Control Logic 1401 and spreading code PN-Generator 1402, and die Transmit Section 1301 includes MODEM Input Signal Receiver (MISR) 1410, Convolution Encoders 1411, 1412, 1413, 1414, Spreaders 1420, 1421, 1422, 1423, 1424, and Combiner 1430. The Transmit Section 1301 receives die message data channels MESSAGE, convolutionally encodes each message data channel in the respective convolutional encoder 1411, 1412, 1413, 1414, modulates die data witii random spreading code sequence in the respective spreader 1420, 1421, 1422, 1423, 1424, and combines modulated data from all channels, including die pilot code received in the described embodiment from die code generator, in the combiner 1430 to generate I and Q components for RF transmission. The Transmitter Section 1301 of die present embodiment supports four (TRO, TR1, TR2, TR3) 64, 32, 16, 8 Kbps programmable channels. The message channel data is a time multiplexed signal received from the PCM highway 1201 through PCM interface 1220 and input to the MISR 1410.

Figure 13 illustrates the block diagram of the MISR 1410. For die exemplary embodiment of the present invention, a counter is set by the 8 KHz frame synchronization signal MPCMSYNC and is incremented by 2.048 MHz MPCMCLK from the timing circuit 1401. The counter output is compared by comparator 1502 against TRCFG values corresponding to slot time location for TRO, TR1, TR2, TR3 message channel data; and die TRCFG values are received from die MIU Controller 1230 in MCTRL. The comparator sends a count signal to die registers 1505, 1506, 1507, 1508 which clocks message channel data into buffers 1510, 1511, 1512, 1513 using the TXPCNCLK timing signal derived from the system clock. The message data is provided from the signal MSGDAT from the PCM highway signal MESSAGE when enable signals TR0EN, TR1EN, TR2EN and TR3EN from Timing Control Logic 1401 are active. In further embodiments, MESSAGE may also include signals that enable registers depending upon an encryption rate or data rate. If die counter output is equal to one of die channel location addresses, die specified transmit message data in registers 1510, 1511, 1512, 1513 are input to the convolutional encoders 1411, 1412, 1413, 1414 shown in Figure 12.

The convolutional encoder enables the use of Forward error correction (FEC) techniques, which are well known in the art. FEC techniques depend on introducing redundancy in generation of data in encoded form. Encoded data is transmitted and the redundancy in die data enables the receiver decoder device to detect and correct errors. One exemplary system which uses a modem according to die present invention employs convolutional encoding. Additional data bits are added to die data in the encoding process and are the coding overhead. The coding overhead is expressed as die ratio of data bits transmitted to die tool bits (code data + redundant data) transmitted and is called die rate "R" of the code Convolution codes are codes where each code bit is generated by die convolution of each new uncoded bit witii a number of previous coded bits. The total number of bits used in the encoding process is referred to as die constraint lengtii, "K", of die code. In convolutional coding, data is clocked into a shift register of K bits length so tiiat an incoming bit is clocked into die register, and it and die existing K-l bits are convolutionally encoded to create a new symbol. The convolution process consists of

creating a symbol consisting of a module-2 sum of a certain pattern of available bits, always including die first bit and d e last bit in at least one of die symbols.

Figure 14 shows the block diagram of K=7, R=l/2 convolution encoder suitable for use as the encoder 1411 shown in Figure 12. This circuit encodes the TRO Channel as used in one embodiment of the present invention. Seven-bit Register 1601 with stages Ql through Q7 uses the signal TXPNCLK to clock in TRO data when the TROEN signal is asserted. The output value of stages Ql, Q2, Q3, Q4, Q6, and Q7 are each combined using EXCLUSIVE-OR Logic 1602, 1603 to produce respective I and Q channel FEC data for the TRO channel FECTRODI and FECTRODQ. Two output symbol streams FECTRODI and FECTRODQ are generated.

The FECTRODI symbol stream is generated by EXCLUSIVE OR Logic 1602 of shift register outputs corresponding to bits 6, 5, 4,3, and 0, (Octal 171) and is designed as In phase component T of the transmit message channel data. The symbol stream FECTRODQ is likewise generated by EXCLUSIVE-OR logic 1603 of shift register outputs from bits 6, 4 3, 1 and 0, (Octal 133) and is designated as Quadrature component "Q" of the transmit message channel data. Two symbols are transmitted to represent a single encoded bit creating die redundancy necessary to enable error correction to take place on the receiving end.

Referring to Figure 14, the shift enable clock signal for the transmit message channel data is generated by die Control Timing Logic 1401. The convolutionally encoded transmit message channel output data for each channel is applied to die respective spreader 1420, 1421, 1422, 1423, 1424 which multiplies e transmit message channel data by its preassigned spreading-code sequence from code generator 1402. This spreading-code sequence is generated by control 1303 as previously described, and is called a random pseudonoise signature sequence (PN-code).

The output signal of each spreader 1420, 1421, 1422, 1423, 1424 is a spread transmit data channel. The operation of the spreader is as follows: the spreading of channel output (I + jQ) multiplied by a random sequence (PNI + jPNQ) yields die In- phase component I of the result being composed of (I xor PNI) and (-Q xor PNQ). Quadrature component Q of the result is (Q xor PNI) and (I xor PNQ). Since there is no

channel data input to the pilot channel logic (1=1, Q values are prohibited), die spread output signal for pilot channels yields die respective sequences PNI for I component and PNQ for Q component.

The combiner 1430 receives the I and Q spread transmit data channels and combines the channels into an I modem transmit data (TXIDAT) and Q modem transmit data (TXQDAT) signals. The I-spread transmit data and the Q spread transmit data are added separately.

For an SU, the CDMA modem Transmit Section 1301 includes the FIR filters to receive die I and Q channels from the combiner to provide pulse shaping, close- in spectral control and x / sin (x) correction on die transmitted signal. Separate but identical FIR filters (not shown) receive die I and Q spread transmit data streams at die chipping rate, and the output signal of each of the filters is at twice the chipping rate. The FIR filters are 28 tap even symmetrical filters, which upsample (interpolate) by 2. The upsampling occurs before the filtering, so tiiat 28 taps refers to 28 taps at twice the chipping rate, and die upsampling is accomplished by setting every other sample a zero. Exemplary coefficients are shown in Table 8.

Table 8 - Coefficient Values

Coeff.No.: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 Value: 3 -11 -34 -22 19 17 32 19 52 24 94 -31 277 468 Coeff.No. 14 15 16 17 18 19 20 21 22 24 25 26 27 Value 277 -31 -94 24 52 -19 -32 17 19 -22 -34 -11 3

CDMA Modem Receiver Section

Referring to Figures 9 and 10, the RF receiver 950 of the present embodiment accepts analog input I and Q CDMA channels, which are transmitted to die CDMA modems 1210, 1211, 1212, 1215 through the MIUs 931, 932, 933 from the VDC 940. These I and Q CMDA channel signals are sampled by the CDMA modem receive section 1302 (shown in Figure 11) and converted to I and Q digital receive message signal using an Analog to Digital (A/D) converter 1730 of Figure 15. The sampling rate of die A/D converter of the exemplary embodiment of the present invention is equivalent to the

despreading code rate. The I and Q digital receive message signals are then despread witii correlators using six different complex despreading code sequences corresponding to the spreading code sequences of die four channels (TRO, TRl, TR2, TR3), APC information and die pilot code. Time synchronization of die receiver to die received signal is separated into two phases; there is an initial acquisition phase and then a tracking phase after the signal timing has been acquired. The initial acquisition is done by sliding d e locally generated pilot code sequence relative to the received signal and comparing die output signal of the pilot despreader to a tiireshold. The method used is called sequential search. Two thresholds (match and dismiss) are calculated from the auxiliary despreader. Once die signal is acquired, die search process is stopped and tracking begins. The tracking maintains the code generator 1304 (shown in Figures 11 and 15) used by die receiver in synchronization witii the incoming signal. The tracking loop used is die Delay-Locked Loop (DLL) and is implemented in the acquisition & track 1701 and the IPM 1702 blocks of Figure 15.

In Figure 11, die modem controller 1303 implements die Phase Lock Loop (PLL) as a software algorithm in SW PLL logic 1724 of Figure 15 that calculates the phase and frequency shift in die received signal relative to die transmitted signal. The calculated phase shifts are used to derotate the phase shifts in rotate and combine blocks 1718, 1719, 1720, 1721 of the multipath data signals for combining to produce output signals corresponding to receive channels TRO', TRl', TR2', TR3'. The data is tiien Viterbi decoded in Viterbi Decoders 1713, 1714, 1715, 1716 to remove the convolutional encoding in each of die received message channels.

Figure 15 indicates that die Code Generator 1304 provides die code sequences Pni(t), 1= 1,2, ..I used by die receive channel despreaders 1703, 1704, 1705, 1706, 1707, 1708, 1709. The code sequences generated are timed in response to die SYNK signal of the system clock signal and are determined by die CCNTRL signal from the modem controller 1303 shown in Figure 11. Referring to Figure 15, the CDMA modem receiver section 1302 includes Adaptive Matched Filter (AMF) 1710, Channel despreaders 1703, 1704, 1705, 1706, 1707, 1708, 1709, Pilot AVC 1711, Auxiliary AVC 1712, Viterbi decoders 1713, 1714, 1715, 1716, Modem output interface (MOI)

1717, Rotate and Combine logic 1718, 1719, 1720, 1721, AMF Weight Generator 1722, and Quantile Estimation logic 1723.

In another embodiment of the invention, the CDMA modem receiver may also include a Bit error Integrator to measure d e BER of die channel and idle code insertion logic between the Viterbi decoders 1713, 1714, 1715, 1716 and the MOI 1717 to insert idle codes in die event of loss of the message data.

The Adaptive Matched Filter (AMF) 1710 resolves multipadi interference introduced by the air channel The exemplary AMF 1717 uses an stage complex FIR filter as shown in Figure 16. The received I and Q digital message signals are received at the register 1820 from the A/D converter 1730 of Figure 15 and are multiplied in multipliers 1801, 1802, 1803, 1810, 1811 by I and Q channel weights Wl to Wll received from AMF weight generator 1722 of Figure 15. In the exemplary embodiment, die A/D converter 1730 provides die I and Q digital receive message signal data as 2's complement 6 bits I and 6 bits Q which are clocked dirough an 11 stage shift register 1820 responsive to the receive spreading code clock signal RXPNCLK. The signal

RXPNCLK is generated by die timing section 1401 of code generation logic 1304. Each stage of the shift register is tapped and complex multiplied in the multipliers 1801, 1802, 1803, 1810, 1811 by individual (6-bit I and 6-bit Q) weights to provide 11 tap-weighted products which are added in adder 1830, and limited to 7-bit I and 7-bit Q values. The CDMA modem receive section 1302 (shown in Figure 11) provides independent channel despreaders 1703, 1704, 1705, 1706, 1707, 1708, 1709 (shown in Figure 15) for despreading die message channels. The described embodiment despreads 7 message channels, each despreader accepting a 1-bit I b 1-bit Q spreading code signal to perform a complex correlation of this code against a 8-bit I by 8-bit Q data input. The 7 despreaders correspond to the 7 channels: Traffic Channel 0 (TRO'), TRl', TR2', TR3', AUX (a spare channel), Automatic Power Control (APC) and pilot (PLT).

The Pilot AVC 1711 shown in Figure 17 receives the I and Q Pilot Spreading code sequence values PCI and PCQ into shift register 1920 responsive to die timing signal RXPNCLK, and includes 11 individual despreaders 1901 dirough 1911 each correlating the I and Q digital receive message signal data witii a one chip delayed

versions of the same pilot code sequence. Signals OE1, OE2, ..OE11 are used by die modem control 1303 to enable the despreading operation. The output signals of the despreaders are combined in combiner 1920 forming correlation signal DSPRDAT of the Pilot AVC 1711, which is received by the ACQ & Track logic 1701 (shown in Figure 15), and ultimately by modem controller 1303 (shown in Figure 11). The ACQ & Track logic 1701 uses the correlation signal value to determine if die local receiver is synchronized witii its remote transmitter.

The Auxiliary AVC 1712 also receives the I and Q digital receive message signal data and, in d e described embodiment, includes four separate despreaders 2001, 2002, 2003, 2004 as shown in Figure 18. Each despreader receives and correlates die I and Q digital receive message data with delayed versions of die same despreading-code sequence PARI and PARQ which are provided by code generator 1304 input to and contained in shift register 2020. The output signals of die despreaders 2001, 2002, 2003, 2004 are combined in combiner 2030 which provides noise correlation signal ARDSPRDAT. The auxiliary AVC despreading code sequence does not correspond to any transmit spreading-code sequence of the system. Signals OE1, OE2, ..OE4 are used by the modem control 1303 to enable die despreading operation. The Auxiliary AVC 1712 provides a noise correlation signal ARDSPRDAT from which quantile estimates are calculated by the Quantile estimator 1733, and provides a noise level measurement to the ACQ & Track logic 1701 (shown in Figure 15) and modem controller 1303 (shown in Figure 11).

Each despread channel output signal corresponding to die received message channels TRO', TRl', TR2', and TR3' is input to a corresponding Viterbi decoder 1713, 1714, 1715, 1716 shown in Figure 15 which performs forward error correction on convolutionally encoded data. The Viterbi decoders of die exemplary embodiment have a constraint length of K=7 and a rate of R= 1/2. The decoded despread message channel signals are transferred from die CDMA modem to die PCM Highway 1201 dirough die MOI 1717. The operation of die MOI is very similar to the operation of die MISR of die transmit section 1301 (shown in Figure 11), except in reverse.

The CDMA modem receiver section 1302 implements several different algorithms during different phases of die acquisition, tracking and despreading of die receive CDMA message signal.

When the received signal is momentarily lost (or severely degraded) die idle code insertion algorithm inserts idle codes in place of the lost or degraded receive message data to prevent die user from hearing loud noise bursts on a voice call. The idle codes are sent to die MOI 1717 (shown in Figure 15) in place of the decoded message channel output signal from the Viterbi decoders 1713, 1714, 1715, 1716. The idle code used for each traffic channel is programmed by the Modem Controller 1303 by writing die appropriate pattern IDLE to die MOI, which in die present embodiment is a 8 bit word for a 64 kbps stream, 4 bit word for a 32 kbps stream.

Modem Algorithms for Acquisition and Tracking of Received Pilot Signal

The acquisition and tracking algorithms are used by the receiver to determine the approximate code phase of a received signal, synchronize die local modem receiver despreaders to die incoming pilot signal, and track the phase of die locally generated pilot code sequence with the received pilot code sequence. Referring to Figures 11 and 15, die algoritiims are performed by die Modem controller 1303, which provides clock adjust signals to code generator 1304. These adjust signals cause the code generator for the despreaders to adjust locally generated code sequences in response to measured output values of the Pilot Rake 1711 and Quantile values from quantile estimators 1723B. Quantile values are noise statistics measured from the In-phase and Quadrature channels from die output values of the AUX Vector Correlator 1712 (shown in Figure 15). Synchronization of the receiver to die received signal is separated into two phases; an initial acquisition phase and a tracking phase. The initial acquisition phase is accomplished by clocking the locally generated pilot spreading code sequence at a higher or lower rate tiian the received signal's spreading code rate, sliding die locally generated pilot spreading code sequence and performing sequential probability ratio test (SPRT) on the output of the Pilot Vector correlator 1711. The tracking phase maintains the locally generated spreading code pilot sequence in synchronization with the incoming pilot signal.

The SU cold acquisition algorithm is used by d e SU CDMA modem when it is first powered up, and therefore has no knowledge of die correct pilot spreading code phase, or when an SU attempts to reacquire synchronization witii the incoming pilot signal but has taken an excessive amount of time. The cold acquisition algorithm is divided into two sub-phases. The first subphase consists of a search over die length 233415 code used by die FBCCH. Once this sub-code phase is acquired, die pilot's 233415 x 128 length code is known to witiiin an ambiguity of 128 possible phases. The second subphase is a search of these remaining 128 possible phases. In order not to lose synch witii the FBCCH, the second phase of die search it is desirable to switch back and forth between tracking the FBCCH code and attempting acquisition of the pilot code.

The RCS acquisition of short access pilot (SAXPT) algorithm is used by an RCS CDMA modem to acquire die SAXPT pilot signal of an SU. The algorithm is a fast search algorithm because the SAXPT is a short code sequence of lengtii N, where N = chips/symbol, and ranges from 45 to 195, depending on die system's bandwidtii. The search cycles through all possible phases until acquisition is complete.

The RCS acquisition of the long access pilot (LAXPT) algorithm begins immediately after acquisition of SAXPT. The SU's code phase is known within a multiple of a symbol duration, so in die exemplary embodiment of die invention, tiiere may be 7 to 66 phases to search within die round trip delay from die RCS. This bound is a result of die SU pilot signal being synchronized to die RCS Global pilot signal.

The re-acquisition algorithm begins when loss of code lock (LOL) occurs. A Z-search algorithm is used to speed the process on die assumption that the code phase has not drifted far from where it was the last time me system was locked. The RCS uses a maximum width of die Z-search windows bounded by die maximum round trip propagation delay.

The Pre-Track algoritiim immediately follows the acquisition or re- acquisition algorid ms and immediately precedes die tracking algorithm. Pre-track is a fixed duration period during which the receive data provided by die modem is not considered valid. The Pre-Track period allows odier modem algorithms, such as those used by the ISW PLL 1724, ACQ & Tracking, AMF Weight GEN 1722, to prepare and

adapt to die current channel. The Pre-track algorithm is two parts. The first part is the delay while the code tracking loop pulls in. The second part is the delay while the AMF tap weight calculations are performed by the AMF Weight Gen 1722 to produce settied weighting coefficients. Also in the second part of the Pre-Track period, the carrier tracking loop is allowed to pull in by d e SW PLL 1724, and die scalar quantile estimates are performed in the Quantile estimator 1723A.

The Tracking process is entered after the Pre-Track period ends. This process is actually a repetitive cycle and is d e only process phase during which receive data provided by die modem may be considered valid. The following operations are performed during this phase: AMF Tap Weight Update, Carrier Tracking, Code

Tracking, Vector Quantile Update, Scalar Quantile Update, Code Lock Check, Derotation and Symbol Summing, and Power Control (forward and reverse).

If loss of lock (LOL) is detected, die modem receiver terminates die Track algorithm and automatically enters die reaquisition algorithm. In the SU, a LOL causes die transmitter to be shut down. In die RCS, LOL causes forward power control to be disabled with die transmit power held constant at the level immediately prior to loss of lock. It also causes die return power control information being transmitted to assume a 010101... pattern, causing the SU to hold its transmit power constant. This can be performed using die signal lock check function which generates me reset signal to the acquisition and tracking circuit 1701.

Two sets of quantile statistics are maintained, one by Quantile estimator 1723B and the other by die scalar Quantile Estimator 1723A. Both are used by die modem controller 1303. The first set is die "vector" quantile information, so named because it is calculated from the vector of four complex values generated by die AUX AVC receiver 1712. The second set is die scalar quantile information, which is calculated from the single complex value AUX signal that is output from me AUX Despreader 1707. The two sets of information represent different sets of noise statistics used to maintain a pre-determined Probability of False Alarm (Pr»). The vector quantile data is used by die acquisition and reaquisition algorithms implemented by die modem controller 1303 to determine die presence of a received signal in noise, and die scalar quantile information is used by die code lock check algorithm.

For both the vector and scalar cases, quantile information consists of calculated values of lambdaO through lambda2, which are boundary values used to estimate the probability distribution function (p.d.f.) of die despread received signal and determine whether the modem is locked to the PN code. The Aux_Power value used in the following C-subroutine is the magnitude squared of the AUX signal output of the scalar correlator array for the scalar quantiles, and the sum of die magnitudes squared for the vector case. In both cases die quantiles are then calculated using die following C- subroutine: for (n = 0; n < 3; n+ +) { lambda [n] + = (lambda [n] < Aux_Power) ? CG[n] : GM[nj " ;

} where CG[n] are positive constants and GM[n] are negative constants (different values are used for scalar and vector quantiles).

During the acquisition phase, die search of d e incoming pilot signal with the locally generated pilot code sequence employs a series of sequential tests to determine if die locally generated pilot code has the correct code phase relative to the received signal. The search algorithms use the Sequential Probability Ratio Test (SPRT) to determine whether the received and locally generated code sequences are in phase. The speed of acquisition is increased by d e parallelism resulting from having a multi-fingered receiver. For example, in the described embodiment of me invention die main Pilot Rake 1711 has a total of 11 fingers representing a total phase period of 11 chip periods. For acquisition 8 separate sequential probability ratio tests (SPRTs) are implemented, witii each SPRT observing a 4 chip window. Each window is offset from the previous window by one chip period, and in a search sequence any given code phase is covered by 4 windows. If all 8 of the SPRT tests are rejected, tiien the set of windows is moved by 8 chips. If any of the SPRT's is accepted, tiien the code phase of die locally generated pilot code sequence is adjusted to attempt to center die accepted SPRT's phase witiiin the Pilot AVC. It is likely that more than one SPRT reaches die acceptance threshold at the same time. A table lookup is used cover all 256 possible combinations of accept/reject and d e modem controller uses the information to estimate the correct center code phase within

tiie Pilot Rake 1711. Each SPRT is implemented as follows (all operations occur at 64k symbol rate): Denote the fingers' output level values as I_Finger[n] and Q_Finger[n], where n=0..10 (inclusive, 0 is earliest (most advanced) finger), tiien die power of each window is: Power Window[i] =

To implement the SPRT's die modem controller then performs for each of the windows die following calculations which are expressed as a pseudo-code subroutine:

/* find bin for Power */ tmp = SIGMA[0]; for (k = 0; k< 3; k+ +) { if (Power > lambda [k]) tmp = SIGMA[k+ l];

} test_statistic + = tmp; /* update statistic */ if(test_statistic > ACCEPTANCE_THRESHOLD)you've got ACQ; else if (test_statistic < DISMISSAL_THRESHOLD) { forget tiiis code phase;

} else keep trying - get more statistics; where lambda[k] are as defined in d e above section on quantile estimation, and SIGMA[k] , ACCEPTANCE_THRESHOLD and DISMISSAL_THRESHOLD are predetermined constants. Note that SIGMAfk] is negative for values for low values of k, and positive for right values of k, such that die acceptance and dismissal thresholds can be constants rather than a function of how many symbols worth of data have been accumulated in the statistic. The modem controller determines which bin, delimited by die values of lambda[k], the Power level falls into which allows the modem controller to develop an approximate statistic.

For the present algorithm, the control voltage is formed as ε = y'ΪJy, where y is a vector formed from the complex valued output values of the Pilot Vector correlator 1711, and B is a matrix consisting of the constant values pre-determined to maximixe the operating characteristics while minimizing the noise as described above witii reference to the Quadratic Detector.

To understand die operation of the Quadratic Detector, it is useful to consider the following. A spread spectrum (CDMA) signal, s(t) is passed through a multipath channel with an impulse response hc(t). The baseband spread signal is described by equation (27).

-Kt) = ∑C,p(t -iT.) (27)

where Cι is a complex spreading code symbol, p(t) is a predefined chip pulse and Tc is die chip time spacing, where Tc = 1/Rc and R is the chip rate.

The received baseband signal is represented by equation (28)

r(0 = ∑C (/ -ιT c - r) + /ι(0 (28)

where q(t) = p(t)*hc(t), τ is an unknown delay and n(t) is additive noise. The received signal is processed by a filter, hR(t), so the waveform, x(t), to be processed is given by equation (29).

*(0 = ∑C t f<β -iT c - τ) + z(t) (29) j where f(t) = q(t)*hR(t) and z(t) = n(t)*hR(t). In the exemplary receiver, samples of the received signal are taken at die chip rate, that is to say, 1/Tc. These samples, x(mTc+τ'), are processed by an array of correlators that compute, during the r* correlation period, die quantities given by equation (30)

rl+I-l v« = ∑x(mT c + τ')C: +k (30) m=r

These quantities are composed of a noise component r) and a deterministic component yk ω given by equation (31).

In the sequel, the time index r may be suppressed for ease of writing, although it is to be noted tiiat the function f(t) changes slowly with time.

The samples are processed to adjust the sampling phase, τ', in an optimum fashion for further processing by the receiver, such as matched filtering. This adjustment is described below. To simplify the representation of die process, it is helpful to describe it in terms of the function f(t+τ), where the time-shift, τ, is to be adjusted. It is noted tiiat the function f(t+τ) is measured in die presence of noise. Thus, it may be problematical to adjust the phase τ' based on measurements of the signal f(t+τ). To account for the noise, die function v(t): v(t)=f(t)+m(t) is introduced, where die term m(t) represents a noise process. The system processor may be derived based on considerations of the function v(t). The process is non-coherent and tiierefore is based on die envelope power function |v(t+τ) | 2 . The functional e(τ') given in equation (32) is helpful for describing die process.

e(τ') = J f— oo |v(/ + -τfdt - Jθ \v(t + r'-r)| 2 dt (32)

The shift parameter is adjusted for e(τ')=0, which occurs when the energy on the interval (-∞,τ'-τ] equals that on the interval [τ'-τ,∞). The error characteristic is monotonic and tiierefore has a single zero crossing point. This is the desirable quality of the functional. A disadvantage of die functional is tiiat it is ill-defined because the integrals are unbounded when noise is present. Nevertheless, die functional e(τ') may be cast in die form given by equation (33).

e( τ ') = J f— oo w(t)\v(t + τ'-τfdt (33)

where die characteristic function w(t) is equal to sgn(t), the signum function.

To optimize the characteristic function w(t), it is helpful to define a figure of merit, F, as set forth in equation (34).

p = [e(τ > + T A )-e(τ 0 ' - T A )Y VAR{e(τ 0 ' )}

The numerator of F is the numerical slope of the mean error characteristic on die interval [-TA,TA] surrounding the tracked value, τo'. The statistical mean is taken witii respect to the noise as well as the random channel, hc(t). It is desirable to specify a statistical characteristic of the channel in order to perform this statistical average. For example, the channel may be modeled as a Wide Sense Stationary Uncorrelated Scattering (WSSUS) channel with impulse response hc(t) and a white noise process U(t) that has an intensity function g(t) as shown in equation (35).

K( = y[g(t) (t) (35)

The variance of e(τ) is computed as the mean square value of the fluctuation e'(τ) = e(τ) - (e(τ)) (36)

where <e(τ) > is the average of e(τ) with respect to the noise.

Optimization of the figure of merit F with respect to the function w(t) may be carried out using well-known Variational methods of optimization.

Once die optimal w(t) is determined, die resulting processor may be approximated accurately by a quadratic sample processor which is derived as follows. By the sampling theorem, the signal v(t), bandlimited to a bandwidth W may be expressed in terms of its samples as shown in equation (37). v(t) = ∑ v(k I W)ύnc[(Wt - k)π) (37)

substituting this expansion into equation (z+6) results in an infinite quadratic form in the samples v(k/W+τ'-τ). Making the assumption that die signal bandwidtii equals the chip rate allows the use of a sampling scheme that is clocked by die chip clock signal to be used to obtain the samples. These samples, Vk are represented by equation (38).

v k = v(kT c + τ' - τ) (38)

This assumption leads to a simplification of the implementation. It is valid if die aliasing error is small.

In practice, the quadratic form that is derived is truncated. An example normalized B matrix is given below in Table 12. For this example, an exponential delay spread profile g(t)=exp(-t/τ) is assumed witii τ equal to one chip. An aperture parameter TA equal to one and one-half chips has also been assumed. The underlying chip pulse has a raised cosine spectrum with a 20% excess bandwidtii.

Table 12 - Example B matrix

Code tracking is implemented via a loop phase detector that is implemented as follows. The vector y is defined as a column vector which represents the 11 complex output level values of the Pilot AVC 1711, and B denotes an 11 x 11 symmetric real valued coefficient matrix with pre-determined values to optimize performance with the non-coherent Pilot AVC output values y. As described above, d e phase detector output is given by equation (39):

ε = y τ By (39)

The following calculations are then performed to implement a proportional plus integral loop filter and the VCO: x[n] = x[n-l] +βε z[n] = z[n-l] + x[n] +αε for β and α which are constants chosen from modeling die system to optimize system performance for the particular transmission channel and application, and where x[n] is the loop filter's integrator output value and z[n] is the VCO output value. The code phase adjustments are made by die modem controller the following pseudo-code subroutine: if (z > zmx) { delay phase 1/16 chip; z -= zmax;

} else if (z < -zmax) { advance phase 1/16 chip; z + = zmax;

}

A different delay phase could be used in die above pseudo-code subroutine consistant with die present invention.

The AMF Tap-Weight Update Algorithm of the AMF Weight Gen 1722 (shown in Figure 15) occurs periodically to de-rotate and scale die phase each finger value of die Pilot Rake 1711 by performing a complex multiplication of the Pilot AVC finger value witii the complex conjugate of the current output value of the carrier tracking loop and applying d e product to a low pass filter to produce AMF tap-weight values, which are periodically written into d e AMF filters of die CDMA modem. The Code lock check algorithm, shown in Figure 15) is implemented by die modem controller 1303 performing SPRT operations on the output signal of the scalar

correlator array. The SPRT technique is the same as that for die acquisition algorithms, except that the constants are changed to increase die probability of detection of lock.

Carrier tracking is accomplished via a second order loop tiiat operates on the pilot output values of the scalar correlated array. The phase detector output is the hard limited version of die quadrature component of die product of die (complex valued) pilot output signal of the scalar correlated array and die VCO output signal. The loop filter is a proportional plus integral design. The VCO is a pure summation, accumulated phase error f, which is converted to the complex phasor cos f + j sin f using a look-up table in memory. The previous description of acquisition and tracking algorithm focuses on a non-coherent method because the acquisition and tracking algorithm described uses non¬ coherent acquisition following by non-coherent tracking. This is done because, during acquisition, a coherent reference is not available until the AMF, Pilot AVC, Aux AVC, and DPLL are in an equilibrium state. It is, however, known in the art tiiat coherent tracking and combining is preferred because in non-coherent tracking and combining the output phase information of each Pilot AVC finger is lost. Consequently, another embodiment of die invention employs a two step acquisition and tracking system, in which the previously described non-coherent acquisition and tracking algorithm is implemented first, and then die system switches to a coherent tracking method. The coherent combining and tracking method is similar to that described previously, except tiiat the error signal tracked is of the form: ε = y τ Ay (40) where y is defined as a column vector which represents the 11 complex output level values of the Pilot AVC 1711, and A denotes an 11 x 11 symmetric real valued coefficient matrix with pre-determined values to optimize performance with the coherent Pilot AVC outputs y. An exemplary A matrix is shown below.

A = (41)

Although the invention has been described in terms of multiple exemplary embodiments, it is understood by tiiose skilled in the art tiiat the invention may be practiced with modifications to the embodiments which are within die scope of the invention defined by the following claims.

2844 2911 2978 3045 3112

2845 2912 2979 3046 3113

2846 2913 2980 3047 3114

2847 2914 2981 3048 3115

2848 2915 2982 3049 3116

2849 2916 2983 3050 3117

2850 2917 2984 3051 3118

2851 2918 2985 3052 3119

2852 2919 2986 3053 3120

2853 2920 2987 3054 3121

2854 2921 2988 3055 3122

2855 2922 2989 3056 3123

2856 2923 2990 3057 3124

2857 2924 2991 3058 3125

2858 2925 2992 3059 3126

2859 2926 2993 3060 3127

2860 2927 2994 3061 3128

2861 2928 2995 3062 3129

2862 2929 2996 3063 3130

2863 2930 2997 3064 3131

2864 2931 2998 3065 3132

2865 2932 2999 3066 3133

2866 2933 3000 3067 3134

2867 2934 3001 3068 3135

2868 2935 3002 3069 3136

2869 2936 3003 3070 3137

2870 2937 3004 3071 3138

2871 2938 3005 3072 3139

2872 2939 3006 3073 3140

2873 2940 3007 3074 3141

2874 2941 3008 3075 3142

2875 2942 3009 3076 3143

2876 2943 3010 3077 3144

2877 2944 3011 3078 3145

2878 2945 3012 3079 3146

2879 2946 3013 3080 3147

2880 2947 3014 3081 3148

2881 2948 3015 3082 3149

2882 2949 3016 3083 3150

2883 2950 3017 3084 3151

2884 2951 3018 3085 3152

2885 2952 3019 3086 3153

2886 2953 3020 3087 3154

2887 2954 3021 3088 3155

2888 2955 3022 3089 3156

2889 2956 3023 3090 3157

2890 2957 3024 3091 3158

2891 2958 3025 3092 3159

2892 2959 3026 3093 3160

2893 2960 3027 3094 3161

2894 2961 3028 3095 3162

2895 2962 3029 3096 3163

2896 2963 3030 3097 3164

2897 2964 3031 3098 3165

2898 2965 3032 3099 3166

2899 2966 3033 3100 3167

2900 2967 3034 3101 3168

2901 2968 3035 3102 3169

2902 2969 3036 3103 3170

2903 2970 3037 3104 3171

2904 2971 3038 3105 3172

2905 2972 3039 3106 3173

2906 2973 3040 3107 3174

2907 2974 3041 3108 3175

2908 2975 3042 3109 3176

2909 2976 3043 3110 3177 2910 2977 3044 3111 3178