Ultrawide bandwidth system and method for fast synchronization using sub-code spins

A UWB communication system and method for fast synchronization of one transceiver with another using the incoming UWB signal, where synchronization is achieved in less than a full code wheel spin. An exemplary embodiment includes a UWB waveform correlator, a timing generator, and a controller wherein the controller examines the correlator outputs as the code-wheel spins, and generates control signals to cause the timing generator to stop and track the incoming UWB signal whenever the incoming signal is received with sufficient SNR to provide a predetermined quality of service such as bit-error rate (BER). This embodiment will in any case determine when the receiver has been substantially synchronized with an incoming signal, yet without an exhaustive search of the entire code-wheel.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to radio frequency communication receivers, systems, and methods employing ultra wide bandwidth (UWB) signaling techniques. UWB is a term of art meaning that the signal bandwidth is equal to 25% or more of the center frequency. More particularly, the present invention relates to UWB communication transceivers, receivers, systems, and methods configured to perform fast synchronization on an incoming UWB signal.

2. Discussion of the Background

In UWB communication systems, a transmitter embeds data in a signal that can propagate in a desired medium so that a receiver at a distant location can then extract information from the incoming signal. The transmitter clock and the receiver clock are usually not initially synchronized. However, in order to accurately extract the information from the incoming signal, the receiver clock should be synchronized with the incoming (received) signal. Fast synchronization is desirable because the faster the receiver is synchronized with the incoming signal, the faster the receiver achieves an acceptable quality of service, the higher the average throughput, and the lower the latency in the communicated data.

Many radios have some type of synchronization, also referred to as clock recovery, incorporated into the receiver. In narrowband communication systems, synchronization typically takes place by locking onto a carrier signal that is a narrowband tone, which can be isolated with a narrow band-pass filter. This form of operation (i.e. correlating with a sine wave via a narrowband filter) generally cannot be done in UWB systems because they are purposely designed not to emit any tones. Instead they send noise-like code sequences that appear like noise and mimic noise in standard narrowband receivers. As a result, synchronization is accomplished by correlating with the noise-like code sequence that was transmitted. Since a programmable real-time filter whose impulse response is a matched filter to the noise-like code sequence is difficult to build, a sliding correlator is typically used to acquire and track the signal. The sliding correlator is built by applying the noise-like sequence into a mixer/multiplier (e.g. the local oscillator LO port) and applying the received signal into the other port (i.e. the RF port), integrating the mixer output signal over the duration of the known noise code, and collecting a string of values comprised of the integration values. If the frequency of the clock used at the transmitter to encode the data does not precisely match the receiver clock frequency, then the two sequences (i.e. that applied to the RF port, and that provided to the LO port) at the receiver “slide” in phase (or time) relative to one another. At some point in time, the string of correlation values will peak to the largest absolute value, indicating that the two sequences are time (or phase) aligned. As they continue to slide in phase, a repeating pattern will result that is the cyclic autocorrelation function of the noise-like code sequence. Because the output of the sliding correlator is cyclic, the process of moving the phase of the receiver relative to the transmitter through one cycle is often referred to as a “code wheel spin.” To guarantee that the largest absolute value of the correlation function is obtained, the code wheel must be allowed to spin at least one full cycle. In order to synchronize to the largest term, the receiver timing must have a mechanism to locate and then “lock onto” the largest peak by getting both the frequency and phase of its clock matched to the incoming signal. In the noiseless case, this mechanism can be simple and robust. But with real noise experienced by UWB receivers, the mechanism must be more complex and collect statistics in order to be robust.

Conventional UWB systems perform synchronization on an incoming signal modulated by pulse position modulation (PPM), where the temporal position of the pulses that constitute the incoming signal vary based on the data and the noise-like code sequence. Since the code sequence is long and spans many bits, and since the pulse repetition rate is slow (e.g. 10 MHz and lower), it takes a relatively long time to synchronize the receiver with the incoming signal.

UWB systems that use high chip rates (e.g. >1 GHz) to spread their spectrum, can cycle through a code of the same length much faster and thus synchronize faster. Nonetheless, the high sustained throughput requirements of newer applications such as streaming real-time video and multi-media in the context of multi-user networked systems causes there to be a need for faster synchronization so that more time is spent communicating data, and less time is spent synchronizing.

Most radios must operate in multipath environments. In multipath environments, more than one transmission path exists between the transmitter and receiver. Narrowband radios suffer in multipath environments due to the frequency selective nature of the phenomena. Narrowband radios can employ RAKE receiver structures to combine signals from the multiple paths, but this is a difficult and expensive process since narrowband systems lack the time-domain resolution to easily resolve the multipath terms.

By definition, UWB systems have high time-domain resolution, and thus can resolve the multipath signals. But the multipath signals lie within the modulation domain of UWB PPM systems, and the multipath environment can be unstable over the long coding periods of these systems.

High chip rate UWB systems have the advantage of operating in quasi-stationary multipath environments where the multipath is changing much slower than the code duration. In addition, UWB systems employing modulation schemes other than PPM do not have as much difficulty with multipath corruption of the modulation. Such systems are better suited to cope with multipath environments.

The challenge, as recognized by the present inventors, is to perform fast synchronization so as to quickly obtain acceptable signal quality, yet do it with high reliability and at a cost that is commensurate with extremely cost sensitive consumer electronics equipment.

SUMMARY OF THE INVENTION

Consistent with the title of this section, only a brief description of selected features of the present invention is presented. A more complete description of the present invention is the subject of this entire document.

An object of the present invention is to provide a method and a UWB communication system that includes a fast synchronization mechanism for quickly synchronizing one transceiver with another using the incoming UWB signal where synchronization is achieved in less than a full code wheel spin.

Another object of the present invention is to provide a method and system with a UWB receiver that includes a fast synchronization mechanism for rapidly recognizing and synchronizing with an incoming signal.

Another object of the present invention is to address the above-identified and other deficiencies of conventional UWB communication systems and methods.

These and other objects are accomplished by way of a UWB receiver or transceiver configured to receive UWB transmission schemes. An exemplary embodiment includes a UWB waveform correlator, a timing generator, and a controller wherein the controller examines the correlator outputs as the code wheel spins, and generates control signals to cause the timing generator to stop and track the incoming UWB signal whenever the incoming signal is received with sufficient signal-to-noise ratio to provide a predetermined quality of service such as bit-error rate (BER). This embodiment will determine when the receiver has been substantially synchronized with an incoming signal without an exhaustive search of the entire code-wheel.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1ais a block diagram of an ultra-wide band (UWB) transceiver. InFIG. 1a, the transceiver includes three major components, namely, receiver11, radio controller and interface9, and transmitter13. Alternatively, the system may be implemented as a separate receiver11and radio controller and interface9, and a separate transmitter13and radio controller and interface9. The radio controller and interface9serves as a media access control (MAC) interface between the UWB wireless communication functions implemented by the receiver11and transmitter13and applications that use the UWB communications channel for exchanging data with remote devices.

The receiver11includes an antenna1that converts a UWB electromagnetic waveform into an electrical signal (or optical signal) for subsequent processing. The UWB signal is generated with a sequence of shape-modulated wavelets, where the occurrence times of the shape-modulated wavelets may also be modulated. For analog modulation, at least one of the shape control parameters is modulated with the analog signal. More typically, the wavelets take on M possible shapes. Digital information is encoded to use one or a combination of the M wavelet shapes and occurrence times to communicate information.

In one embodiment of the present invention, each wavelet communicates one bit, for example, using two shapes such as bi-phase. In other embodiments of the present invention, each wavelet may be configured to communicate nn bits, where M≧2nn. For example, four shapes may be configured to communicate two bits, such as with quadrature phase or four-level amplitude modulation. In another embodiment of the present invention, each wavelet is a “chip” in a code sequence, where the sequence, as a group, communicates one or more bits. The code can be M-ary at the chip level, choosing from M possible shapes for each chip.

At the chip, or wavelet level, embodiments of the present invention produce UWB waveforms. The UWB waveforms are modulated by a variety of techniques including but not limited to: (i) bi-phase modulated signals (+1, −1), (ii) multilevel bi-phase signals (+1, −1,+a1, −a1, +a2, −a2, . . . , +aN, −aN), (iii) quadrature phase signals (+1, −1, +j, −j), (iv) multi-phase signals (1, −1, exp(+jπ/N), exp(−jπ/N), exp(+jπ2/N), exp(−jπ2/N), . . . , exp(+j(N−1)/N), exp(−jπ(N−1)/N)), (v) multilevel multi-phase signals (aiexp(j2πβ/N)|aiε{1, a1, a2, . . . , aK}, βε{0, 1, . . . , N−1}), (vi) frequency modulated pulses, (vii) pulse position modulation (PPM) signals (possibly same shape pulse transmitted in different candidate time slots), (viii) M-ary modulated waveforms gBi(t) with Biε{1, . . . , M}, and (ix) any combination of the above waveforms, such as multi-phase channel symbols transmitted according to a chirping signaling scheme. The present invention, however, is applicable to variations of the above modulation schemes and other modulation schemes (e.g., as described in Lathi, “Modern Digital and Analog Communications Systems,” Holt, Rinehart and Winston, 1998, the entire contents of which is incorporated by reference herein), as will be appreciated by those skilled in the relevant art(s).

Some exemplary waveforms and characteristic equations thereof will now be described. The time modulation component, for example, can be defined as follows. Let tibe the time spacing between the (i−1)thpulse and the ithpulse. Accordingly, the total time to the ithpulse isTi=∑j=0i⁢tj.
The signal Ticould be encoded for data, part of a spreading code or user code, or some combination thereof. For example, the signal Ticould be equally spaced, or part of a spreading code, where Ticorresponds to the zero-crossings of a chirp, i.e., the sequence of Ti's, and whereTi=i-ak
for a predetermined set of a and k. Here, a and k may also be chosen from a finite set based on the user code or encoded data.

An embodiment of the present invention can be described using M-ary modulation. Equation 1 below can be used to represent a sequence of exemplary transmitted or received pulses, where each pulse is a shape modulated UWB wavelet, gBi(t−Ti).x⁡(t)=∑i=0∞⁢gBi⁡(t-Ti)(1)

In the above equation, the subscript i refers to the ithpulse in the sequence of UWB pulses transmitted or received. The wavelet function g has M possible shapes, and therefore Birepresents a mapping from the data, to one of the M-ary modulation shapes at the ithpulse in the sequence. The wavelet generator hardware (e.g., the UWB waveform generator17) has several control lines (e.g., coming from the radio controller and interface9) that govern the shape of the wavelet. Therefore, Bican be thought of as including a lookup-table for the M combinations of control signals that produce the M desired wavelet shapes. The encoder21combines the data stream and codes to generate the M-ary states. Demodulation occurs in the waveform correlator5and the radio controller and interface9to recover to the original data stream. Time position and wavelet shape are combined into the pulse sequence to convey information, implement user codes, etc.

In the above case, the signal is comprised of wavelets from i=1 to infinity. As i is incremented, a wavelet is produced. Equation 2 below can be used to represent a generic wavelet pulse function, whose shape can be changed from pulse to pulse to convey information or implement user codes, etc.
gBi(t)=Re(Bi,1)·fBi,2,Bi,3, . . .(t)+Im(Bi,1)·hBi,2,Bi,3, . . .(t)  (2)

In the above equation, function f defines a basic wavelet shape, and function h is simply the Hilbert transform of the function f. The parameter Bi,1is a complex number allowing the magnitude and phase of each wavelet pulse to be adjusted, i.e., Bi,1=ai∠θi, where aiis selected from a finite set of amplitudes and θiis selected from a finite set of phases. The parameters {Bi,2, Bi,3, . . . } represent a generic group of parameters that control the wavelet shape.

An exemplary waveform sequence x(t) can be based on a family of wavelet pulse shapes f that are derivatives of a Guassian waveform as defined by Equation 3 below.fBi⁡(t)=Ψ⁡(Bi,2,Bi,3)⁢(ⅆBi,3ⅆtBi,3⁢ⅇ-(Bi,2⁢t)2)(3)

In the above equation, the function Ψ( ) normalizes the peak absolute value of fBi(t) to 1. The parameter Bi,2controls the pulse duration and center frequency. The parameter Bi,3is the number of derivatives and controls the bandwidth and center frequency.

Another exemplary waveform sequence x(t) can be based on a family of wavelet pulse shapes f that are Gaussian weighted sinusoidal functions, as described by Equation 4 below.
fBi,2,Bi,3,Bi,4=fωi,ki,bi(t)=e−[bit]2sin(ωit+kit2).  (4)

In the above equation, bicontrols the pulse duration, ωicontrols the center frequency, and kicontrols a chirp rate. Other exemplary weighting functions, beside Gaussian, that are also applicable to the present invention include, for example, Rectangular, Hanning, Hamming, Blackman-Harris, Nutall, Taylor, Kaiser, Chebychev, etc.

Another exemplary waveform sequence x(t) can be based on a family of wavelet pulse shapes f that are inverse-exponentially weighted sinusoidal functions, as described by Equation 5 below.gBi⁡(t)=(1ⅇ-(t-t11).3*tri+1-1ⅇ-(t-t2i).3*tfi+1)·sin⁡(θi+ωi⁢t+ki⁢t2)⁢⁢where⁢⁢{Bi,2,Bi,3,Bi,4,Bi,5,Bi,6,Bi,7,Bi,8}={t1i,t2i,tri,tfi,θi,ωi,ki}(5)

In the above equation, the leading edge turn on time is controlled by t1, and the turn-on rate is controlled by tr. The trailing edge turn-off time is controlled by t2, and the turn-off rate is controlled by tf. Assuming the chirp starts at t=0 and TDis the pulse duration, the starting phase is controlled by θ, the starting frequency is controlled by ω, the chirp rate is controlled by k, and the stopping frequency is controlled by ω+kTD. An example assignment of parameter values is ω=1, tr=tf=0.25, t1=tr/0.51, and t2=TD−tr/9.

A feature of the present invention is that the M-ary parameter set used to control the wavelet shape is chosen so as to make a UWB signal, wherein the center frequency fcand the bandwidth B of the power spectrum of g(t) satisfies2fc>B>0.25fc. It should be noted that conventional equations define in-phase and quadrature signals (e.g., often referred to as I and Q) as sine and cosine terms. An important observation, however, is that this conventional definition is inadequate for UWB signals. The present invention recognizes that use of such conventional definition may lead to DC offset problems and inferior performance.

Furthermore, such inadequacies get progressively worse as the bandwidth moves away from 0.25fcand toward2fc. A key attribute of the exemplary wavelets (or e.g., those described in co-pending U.S. patent application Ser. No. 09/209,460) is that the parameters are chosen such that neither f nor h in Equation 2 above has a DC component, yet f and h exhibit the required wide relative bandwidth for UWB systems.

Similarly, as a result of B>0.25fc, it should be noted that the matched filter output of the UWB signal is typically only a few cycles, or even a single cycle. For example, the parameter n in Equation 3 above may only take on low values (e.g., such as those described in co-pending U.S. patent application Ser. No. 09/209,460).

The compressed (i.e., coherent matched filtered) pulse width of a UWB wavelet will now be defined with reference toFIG. 1b. InFIG. 1b, the time domain version of the wavelet thus represents g(t) and the Fourier transform (FT) version is represented by G(ω). Accordingly, the matched filter is represented as G*(ω), the complex conjugate, so that the output of the matched filter is P(ω)=G(ω)·G*(ω). The output of the matched filter in the time domain is seen by performing an inverse Fourier transform (IFT) on P(ω) so as to obtain p(t), the compressed or matched filtered pulse. The width of the compressed pulse p(t) is defined by TC, which is the time between the points on the envelope of the compressed pulse E(t) that are 6 dB below the peak thereof, as shown inFIG. 1b. The envelope waveform E(t) may be determined by Equation 6 below.
E(t)=√{square root over ((p(t))2+(pH(t))2)}{square root over ((p(t))2+(pH(t))2)}  (6)where pH(t) is the Hilbert transform of p(t).

Accordingly, the above-noted parameterized waveforms are examples of UWB wavelet functions that can be controlled to communicate information with a large parameter space for making codes with good resulting autocorrelation and cross-correlation functions. For digital modulation, each of the parameters is chosen from a predetermined list according to an encoder that receives the digital data to be communicated. For analog modulation, at least one parameter is changed dynamically according to some function (e.g., proportionally) of the analog signal that is to be communicated.

Referring back toFIG. 1a, the electrical signals coupled in through the antenna1are passed to a radio front end3. Depending on the type of waveform, the radio front end3processes the electric signals so that the level of the signal and spectral components of the signal are suitable for processing in the UWB waveform correlator5. The UWB waveform correlator5correlates the incoming signal (e.g., as modified by any spectral shaping, such as a matched filtering, partially matched filtering, simply roll-off, etc., accomplished in front end3) with different candidate signals generated by the receiver11, so as to determine when the receiver11is synchronized with the received signal and to determine the data that was transmitted.

The timing generator7of the receiver11operates under control of the radio controller and interface9to provide a clock signal that is used in the correlation process performed in the UWB waveform correlator5. Moreover, in the receiver11, the UWB waveform correlator5correlates in time a particular pulse sequence produced at the receiver11with the receive pulse sequence that was coupled in through antenna1and modified by front end3. When the two such sequences are aligned with one another, the UWB waveform correlator5provides high signal to noise ratio (SNR) data to the radio controller and interface9for subsequent processing. In some circumstances, the output of the UWB waveform correlator5is the data itself. In other circumstances, the UWB waveform correlator5simply provides an intermediate correlation result, which the radio controller and interface9uses to determine the data and determine when the receiver11is synchronized with the incoming signal.

In some embodiments of the present invention, when synchronization is not achieved (e.g., during a signal acquisition mode of operation), the radio controller and interface9provides a control signal to the receiver11to acquire synchronization. In this way, a sliding of a correlation window within the UWB waveform correlator5is possible by adjustment of the phase and frequency of the output of the timing generator7of the receiver11via a control signal from the radio controller and interface9. The control signal causes the correlation window to slide until lock is achieved. The radio controller and interface9is a processor-based unit that is implemented either with hard wired logic, such as in one or more application specific integrated circuits (ASICs) or in one or more programmable processors.

Once synchronized, the receiver11provides data to an input port (“RX Data In”) of the radio controller and interface9. An external process, via an output port (“RX Data Out”) of the radio controller and interface9, may then use this data. The external process may be any one of a number of processes performed with data that is either received via the receiver11or is to be transmitted via the transmitter13to a remote receiver.

During a transmit mode of operation, the radio controller and interface9receives source data at an input port (“TX Data In”) from an external source. The radio controller and interface9then applies the data to an encoder21of the transmitter13via an output port (“TX Data Out”). In addition, the radio controller and interface9provides control signals to the transmitter13for use in identifying the signaling sequence of UWB pulses. In some embodiments of the present invention, the receiver11and the transmitter13functions may use joint resources, such as a common timing generator and/or a common antenna, for example. The encoder21receives user coding information and data from the radio controller and interface9and preprocesses the data and coding so as to provide a timing input for the UWB waveform generator17, which produces UWB pulses encoded in shape and/or time to convey the data to a remote location.

The encoder21produces the control signals necessary to generate the required modulation. For example, the encoder21may take a serial bit stream and encode it with a forward error correction (FEC) algorithm (e.g., such as a Reed Solomon code, a Golay code, a Hamming code, a Convolutional code, etc.). The encoder21may also interleave the data to guard against burst errors. The encoder21may also apply a whitening function to prevent long strings of “ones” or “zeros.” The encoder21may also apply a user specific spectrum spreading function, such as generating a predetermined length chipping code that is sent as a group to represent a bit (e.g., inverted for a “one” bit and non-inverted for a “zero” bit, etc.). The encoder21may divide the serial bit stream into subsets in order to send multiple bits per wavelet or per chipping code, and generate a plurality of control signals in order to affect any combination of the modulation schemes as described above (and/or as described inLathi).

The radio controller and interface9may provide some identification, such as user ID, etc., of the source from which the data on the input port (“TX Data In”) is received. In one embodiment of the present invention, this user ID may be inserted in the transmission sequence, as if it were a header of an information packet. In other embodiments of the present invention, the user ID itself may be employed to encode the data, such that a receiver receiving the transmission would need to postulate or have a priori knowledge of the user ID in order to make sense of the data. For example, the ID may be used to apply a different amplitude signal (e.g., of amplitude “f”) to a fast modulation control signal to be discussed with respect toFIG. 2, as a way of impressing the encoding onto the signal.

The output from the encoder21is applied to a UWB waveform generator17. The UWB waveform generator17produces a UWB pulse sequence of pulse shapes at pulse times according to the command signals it receives, which may be one of any number of different schemes. The output from the UWB generator17is then provided to an antenna15, which then transmits the UWB energy to a receiver.

In one UWB modulation scheme, the data may be encoded by using the relative spacing of transmission pulses (e.g., PPM, chirp, etc.). In other UWB modulation schemes, the data may be encoded by exploiting the shape of the pulses as described above (and/or as described in Lathi). It should be noted that the present invention is able to combine time modulation (e.g., such as pulse position modulation, chirp, etc.) with other modulation schemes that manipulate the shape of the pulses.

There are numerous advantages to the above capability, such as communicating more than one data bit per symbol transmitted from the transmitter13, etc. An often even more important quality, however, is the application of such technique to implement spread-spectrum, multi-user systems, which require multiple spreading codes (e.g., such as each with spike autocorrelation functions, and jointly with low peak cross-correlation functions, etc.).

In addition, combining timing, phase, frequency, and amplitude modulation adds extra degrees of freedom to the spreading code functions, allowing greater optimization of the cross-correlation and autocorrelation characteristics. As a result of the improved autocorrelation and cross-correlation characteristics, the system according to the present invention has improved capability, allowing many transceiver units to operate in close proximity without suffering from interference from one another.

FIG. 2is a block diagram of a transceiver embodiment of the present invention in which the modulation scheme employed is able to manipulate the shape and time of the UWB pulses. InFIG. 2, when receiving energy through the antenna1,15(e.g., corresponding antennas1and15ofFIG. 1a) the energy is coupled in to a transmit/receive (T/R) switch27, which passes the energy to a radio front end3. The radio front end3filters, extracts noise, and adjusts the amplitude of the signal before providing the same to a splitter29. The splitter29divides the signal up into one of N different signals and applies the N different signals to different tracking correlators311–31N. Each of the tracking correlators311–31Nreceives a clock input signal from a respective timing generator71–7Nof a timing generator module7,19, as shown inFIG. 2.

The timing generators71–7N, for example, receive a phase and frequency adjustment signal, as shown inFIG. 2, but may also receive a fast modulation signal or other control signal(s) as well. The radio controller and interface9provides the control signals, such as phase, frequency and fast modulation signals, etc., to the timing generator module7,19, for time synchronization and modulation control. The fast modulation control signal may be used to implement, for example, chirp waveforms, PPM waveforms, such as fast time scale PPM waveforms, etc.

The radio controller and interface9also provides control signals to, for example, the encoder21, the waveform generator17, the filters23, the amplifier25, the T/R switch27, the front end3, the tracking correlators311–31N(corresponding to the UWB waveform correlator5ofFIG. 1a), etc., for controlling, for example, amplifier gains, signal waveforms, filter passbands and notch functions, alternative demodulation and detecting processes, user codes, spreading codes, cover codes, etc.

During signal acquisition, the radio controller and interface9adjusts the phase input of, for example, the timing generator71, in an attempt for the tracking correlator311to identify and the match the timing of the signal produced at the receiver with the timing of the arriving signal. When the received signal and the locally generated signal coincide in time with one another, the radio controller and interface9senses the high signal strength or high SNR and begins to track, so that the receiver is synchronized with the received signal.

Once synchronized, the receiver will operate in a tracking mode, where the timing generator71is adjusted by way of a continuing series of phase adjustments to counteract any differences in timing of the timing generator71and the incoming signal. However, a feature of the present invention is that by sensing the mean of the phase adjustments over a known period of time, the radio controller and interface9adjusts the frequency of the timing generator71so that the mean of the phase adjustments becomes zero. The frequency is adjusted in this instance because it is clear from the pattern of phase adjustments that there is a frequency offset between the timing generator71and the clocking of the received signal. Similar operations may be performed on timing generators72–7N, so that each receiver can recover the signal delayed by different amounts, such as the delays caused by multipath (i.e., scattering along different paths via reflecting off of local objects).

A feature of the transceiver inFIG. 2is that it includes a plurality of tracking correlators311–31N. By providing a plurality of tracking correlators, several advantages are obtained. First, it is possible to achieve synchronization more quickly (i.e., by operating parallel sets of correlation arms to find strong SNR points over different code-wheel segments). Second, during a receive mode of operation, the multiple arms can resolve and lock onto different multipath components of a signal. Through coherent addition, the UWB communication system uses the energy from the different multipath signal components to reinforce the received signal, thereby improving signal to noise ratio. Third, by providing a plurality of tracking correlator arms, it is also possible to use one arm to continuously scan the channel for a better signal than is being received on other arms.

In one embodiment of the present invention, if and when the scanning arm finds a multipath term with higher SNR than another arm that is being used to demodulate data, the role of the arms is switched (i.e., the arm with the higher SNR is used to demodulate data, while the arm with the lower SNR begins searching). In this way, the communications system dynamically adapts to changing channel conditions.

The radio controller and interface9receives the information from the different tracking correlators311–31Nand decodes the data. The radio controller and interface9also provides control signals for controlling the front end3, e.g., such as gain, filter selection, filter adaptation, etc., and adjusting the synchronization and tracking operations by way of the timing generator module7,19.

In addition, the radio controller and interface9serves as an interface between the communication link feature of the present invention and other higher level applications that will use the wireless UWB communication link for performing other functions. Some of these functions would include, for example, performing range-finding operations, wireless telephony, file sharing, personal digital assistant (PDA) functions, embedded control functions, location-finding operations, etc.

On the transmit portion of the transceiver shown inFIG. 2, a timing generator70also receives phase, frequency and/or fast modulation adjustment signals for use in encoding a UWB waveform from the radio controller and interface9. Data and user codes (via a control signal) are provided to the encoder21, which in the case of an embodiment of the present invention utilizing time-modulation, passes command signals (e.g., Δt) to the timing generator70for providing the time at which to send a pulse. In this way, encoding of the data into the transmitted waveform may be performed.

When the shape of the different pulses are modulated according to the data and/or codes, the encoder21produces the command signals as a way to select different shapes for generating particular waveforms in the waveform generator17. For example, the data may be grouped in multiple data bits per channel symbol. The waveform generator17then produces the requested waveform at a particular time as indicated by the timing generator70. The output of the waveform generator is then filtered in filter23and amplified in amplifier25before being transmitted via antenna1,15by way of the T/R switch27.

In another embodiment of the present invention, the transmit power is set low enough that the transmitter and receiver are simply alternately powered down without need for the T/R switch27. Also, in some embodiments of the present invention, neither the filter23nor the amplifier25is needed, because the desired power level and spectrum is directly useable from the waveform generator17. In addition, the filters23and the amplifier25may be included in the waveform generator17depending on the implementation of the present invention.

A feature of the UWB communications system disclosed, is that the transmitted waveform x(t) can be made to have a nearly continuous power flow, for example, by using a high chipping rate, where the wavelets g(t) are placed nearly back-to-back. This configuration allows the system to operate at low peak voltages, yet produce ample average transmit power to operate effectively. As a result, sub-micron geometry CMOS switches, for example, running at one-volt levels, can be used to directly drive antenna1,15, such that the amplifier25is not required. In this way, the entire radio can be integrated on a single monolithic integrated circuit.

Under certain operating conditions, the system can be operated without the filters23. If, however, the system is to be operated, for example, with another radio system, the filters23can be used to provide a notch function to limit interference with other radio systems. In this way, the system can operate simultaneously with other radio systems, providing advantages over conventional devices that use avalanching type devices connected straight to an antenna, such that it is difficult to include filters therein.

FIG. 3is a block diagram of an exemplary UWB receiver according to the present invention. As compared withFIG. 2, only one tracking correlator arm is shown inFIG. 3so as to simplify the discussion, however, it should be appreciated that the invention may be practiced with multiple tracking correlators, as shown inFIG. 2. In this example, amplifier102is disposed in the front end3ofFIG. 1, mixer106, integrator107, and PFN112are disposed in UWB waveform correlator5ofFIG. 1, local oscillator116and agile clock114are disposed in the agile clock7ofFIG. 1, and A to D converter108and digital controller110may be included in radio controller and interface9ofFIG. 1. In an exemplary UWB receiver of the present invention, an electromagnetic signal is transmitted over a radio channel to be received in the UWB receiver at antenna100. After passing through antenna100and being converted into an electrical signal, the signal is amplified at amplifier102. The incoming signal is then normalized to fall within a particular dynamic range via AGC (automatic gain control, such as a variable attenuator)104to produce an acceptable signal level. At pulse forming network (PFN)112, a series of local pulses (e.g., square pulses or perhaps wavelets) are generated and multiplied with the incoming signal at mixer106. Integrator107accumulates the mixer output over a predetermined period. The output is sampled at A to D converter108at a rate that corresponds to a source bit rate, such that there are a predetermined number of samples per bit, such as one sample per bit. The output of A to D converter108is provided to digital controller110, where synchronization mode control is performed. The digital controller sends a control signal back to agile clock114as part of the synchronization process. The agile clock114acts in conjunction with local oscillator116to adjust the phase of the local pulse mixed with the incoming signal in mixer106. PFN112sends a reset command to integrator107for each bit (if that is the selected accumulate period). PFN112also sends a clock command to A/D converter108to sample the output of integrator107. Digital controller110monitors the strength of the signal from A/D converter108and sends instructions to AGC104to adjust the gain.

A mode controller in digital controller110determines if the receiver should be in acquisition or tracking mode based on the signal-to-noise ratio (SNR). Digital controller110sends a clock control signal back to the agile clock114as part of the synchronization process. If the SNR is less than a predetermined amount, the control signal adjusts the phase and/or frequency of the agile clock in an attempt to synchronize to, or accurately track the received signal. If the output signal quality from integrator107is consistently below a predetermined threshold, the mode controller places the system into acquisition mode, and digital controller110sends a signal to agile clock114to adjust the phase of the generated local pulse stream. The local pulse stream slides in phase until it is aligned in time with the incoming signal at mixer106, hence, obtaining maximum correlation magnitude. The point at which maximum correlation occurs is determined by any of a variety of acquisition routines, as will be discussed. The local oscillator116provides a reference signal to the agile clock114, which in turn provides a timing signal to the PFN112that produces a locally generated pulse stream that is mixed with the incoming signal at mixer106.

FIGS. 4A–4Cshow the signal flow diagram of the incoming signal, the local pulses created by PFN112, and the resulting correlation function of the incoming signal with the local pulse according to the present invention. InFIG. 4A, incoming pulses200and202arrive at some fixed clock interval called Tb. Tbis 10 nanoseconds, for example. InFIG. 4B, the locally generated pulses204and206are similar to the incoming pulses. There is maximum correlation at integrator107when the two signals are perfectly phase aligned. Initially, it is not known whether the two signals are aligned (synchronized) with each other. Thus, the local pulses created in PFN112may be positioned between the pulses of the incoming signal as shown inFIGS. 4A and 4B. As a result, the magnitude of the output of integrator107is small. In other words, the signals have a small correlation result. So, in order to maximize correlation, the phase of agile clock114attached to PFN112is varied under control of the digital controller110until locally generated pulses are in phase with the incoming signal at mixer106. If the output from integrator107is not maximized, then digital controller110sends a signal to agile clock114to adjust the phase of the locally generated pulses. As such, the local pulses slide in phase until they are aligned (synchronized) with the incoming pulse train at mixer106and hence maximum correlation is achieved.

FIG. 4Cshows the correlation result of the incoming signal with the locally generated pulses as a function of time (or phase, since the phase is scanned), as well as an illustrative exemplary magnitude threshold TRthat can be used to identify specific portions of the correlation function. Note, for clarity of illustration, it is assumed inFIG. 4Cthat the incoming data stream consists of all ones. Bi-phase modulated data would not affect the discussion. As can be seen at point208, when the signals are perfectly phase aligned, the correlation is at a maximum. Furthermore, point208along with neighboring portions of the correlation is above exemplary magnitude threshold TR. Essentially, the correlation function is examined over a given time (or phase) until the portions of the correlation above the exemplary magnitude threshold TRare found. At phases where the correlation is above exemplary magnitude threshold TR, the receiver can be considered synchronized to the incoming signal.

FIG. 5shows the processing blocks employed within digital controller110of a receiver to acquire synchronization with the received pulse stream. The incoming samples from the A/D converter108inFIG. 3are passed to absolute value block700in digital controller110. The absolute value block computes the absolute value of the input sample and passes the new value to filter block710. Filter block710filters the incoming sequence of absolute values as a method of reducing noise. This filter could be any one a number of digital filters employed for these purposes, including but not limited to: all-pass filters, integrators, leaky integrators, box-car filters, other lowpass or bandpass finite impulse response filters, or lowpass or bandpass infinite impulse response filters. A complete description of these and other digital filters is given by Openheim and Shafer inDigital Signal Processing, the entire contents of which are incorporated herein by reference. The output of filter block710will be referred to as correlation value K. Correlation value K is passed into the synchronization algorithm block720. The contents of synchronization algorithm block720are discussed below. Based upon information from synchronization algorithm block720, timing controller block730sends commands out of the digital controller110to the agile clock114.

The code wheel is a representation of the user code with which the incoming data is coded. The code wheel can be visualized as a circular device containing the chips that make up the user code, where each chip is distributed at a fixed interval relative to its nearest neighbor around the code wheel from 0 to 2π. Then, the interval between each chip is 2π/n, where n is the number of chips in the code. One “rotation” of the code wheel, 2π, is equivalent to the bit period Tbshown inFIG. 4A. So, through a “rotation,” the phase of the local pulses from PFN112is adjusted such that the entire correlation function is generated. As such, when the incoming pulses are aligned with the locally generated pulses, a code wheel turn through one chip in the code (2π/n) is identical to a phase shift between adjacent pulses of the incoming signal. Methods of moving the phase of the locally generated pulses relative to the received pulse train is the subject of application Ser. No. 09/685,197, filed Oct. 10, 2000, entitled ULTRA WIDEBAND COMMUNICATION SYSTEM WITH LOW NOISE PULSE FORMATION the entire contents of which are incorporated herein by reference.

FIG. 6is a state diagram of the fast synchronization state machine according to the present invention that finds the portions of the correlation above exemplary magnitude threshold TRofFIG. 4C, or portions of the correlation where one or more computed parameters relating to bit error rate (BER) are greater than another threshold. The state machine is initialized in state300. Then, portions of the correlation above exemplary magnitude threshold TR(or portions of the correlation result where one or more computed parameters relating to bit error rate are greater than another threshold) are sought in state302. When a portion of the correlation result (or function) is found to be above an exemplary magnitude threshold TR(or a portion of the correlation where one or more computed parameters relating to bit error rate are greater than another threshold), the state machine then operates at the identified portion of the correlation result in state304where tracking begins.

However, if the threshold is not exceeded by any portion of the correlation result over an entire code wheel spin, then the state machine transitions to state306and decreases the value of the exemplary magnitude threshold TR(or the bit error rate threshold). Once the exemplary magnitude threshold TR(or the bit error rate threshold) is decreased, the state machine can transition back to state302, and again look for a portion of the correlation function above a reduced exemplary magnitude threshold TR(or the bit error rate threshold). In one embodiment, several iterations of decreasing the threshold as in state306and looking for a portion of the correlation function above the current threshold in state302can be repeated, until the threshold is finally decreased below a minimum threshold. This minimum threshold can, for example, be a predetermined value related to the minimum signal-to-noise ratio at which acceptable device operation is achieved. Once the exemplary magnitude threshold TR(or the bit error rate threshold) has been decreased to (or alternatively, gone beyond) this minimum threshold, the state machine returns to state300, where the machine is reinitialized.

After phase acquisition, the received signal may be tracked as a means of maintaining synchronization as in step304ofFIG. 6. This can be done by methods described in, for example, co-pending U.S. patent application entitled “ULTRAWIDE BANDWIDTH SYSTEM AND METHOD FOR FAST SYNCHRONIZATION,” Ser. No. 09/685,195, filed concurrently with the present document and having common inventorship as with the present document, the contents of which being incorporated herein by reference. As discussed in the above referenced co-pending patent, many embodiments for performing phase tracking are possible in the current invention. These tracking methods may employ more than one mixer, or just the on-time term from a single mixer as illustrated in the embodiments of the above referenced co-pending patent. During the process of tracking incremental phase errors, a method may be employed for making frequency adjustments to the timing generator7inFIG. 1A. Various embodiments involving frequency acquisition are possible as discussed in the above co-pending patent.

FIG. 7is a flow chart outlining the steps performed by the exemplary embodiment ofFIG. 5. In step400, the threshold is at its maximum value, and the code wheel is initially set to zero phase, i.e., with no phase adjustment. Alternatively, the code wheel could be set to any desired initial phase offset, as is the case for any of the embodiments described below. A correlation value K is examined in step402. Optionally, a parameter R based upon the value K and related to BER may also be computed in step402. In step404, an inquiry is made as to whether the correlation value K is greater than the current exemplary magnitude threshold TR(or if a parameter R related to BER is greater than another threshold). If so, then the received signal is sufficiently strong to allow extraction of the transmitted information at the current phase setting of the code wheel, and the acquisition process flow stops and tracking begins.

On the other hand, if the correlation value K is determined to be less than the current exemplary magnitude threshold TR(or if a parameter R related to BER is not greater than another threshold), then the code wheel is incremented in step406. In other words, the phase of the locally generated pulse train is shifted by a predetermined angle on the code wheel that is considerably less than the angle between adjacent chips. In step408, a determination is made as to whether or not the code wheel has completed one turn (i.e., has the phase of the locally generated pulse train been scanned through 2π radians?). If the code wheel has not completed one turn, then the process flow returns to step402and a new correlation value K and a new parameter value R are determined.

However, if it is determined in step408that the code wheel has completed one turn (i.e., the phase of the locally generated pulse train has been scanned through 2π radians), then the process flow proceeds to step410where the exemplary magnitude threshold TR(or the BER threshold) is decreased by a predetermined amount. After the threshold has been decreased, a determination is made in step412as to whether the exemplary magnitude threshold TR(or the BER threshold) is below a predetermined minimum threshold value. If not, the code wheel is considered “reset” at an initial phase shift and the process flow returns to step404. Since the code wheel is considered “reset” in step412, the code wheel can shift the phase through another 2π radians before step408again determines that the code wheel has completed a full turn.

However, if it is determined in step412that the threshold has been decreased below a point where an acceptable signal-to-noise ratio is achievable for a given receiver, then the process flow proceeds to step414where the exemplary magnitude threshold TR(or the BER threshold) is reset to the original, maximum threshold. The process flow then proceeds to step400, where synchronization is initialized and the entire process repeated until an acceptable correlation value K is reached.

The process outlined inFIGS. 6 and 7seeks an operation point that meets a minimum quality of service requirement. Thus, it is not guaranteed that the optimal phase location will be found. It is possible that a code sidelobe or a multipath term will satisfy the performance requirement.

During a code wheel turn, the phase of the local pulse train is scanned from 0 to 2π. The method of scanning the phase can have various embodiments. InFIG. 8, the magnitude of an exemplary correlation result is presented as a function of time (and phase, since phase is scanned), where the phase of the locally generated pulse train is repeatedly changed relative to the input pulse sequence for a period of time and then held constant for a period of time. The plateaus indicate time periods when the phase is held constant. Of course this is a hypothetical example in which there is no noticeable frequency drift between the transmitter and receiver. The sloped portions of the curve indicate time periods over which the phase is changing. During periods of constant phase, statistics such as mean absolute correlation value and noise variance can be calculated as a method of determining if the local pulse train is locked to the incoming signal at the present phase. As illustrated, the maximum of the curve occurs on the highest plateau, although this is not necessarily the case in all scans. Furthermore, the curve appears to increase linearly between plateaus. This, too, is for illustrative purposes only. The scan and hold process can be repeated over the entire rotation of the code wheel from 0 to 2π radians (not shown), or it can be performed over a limited phase range for sub-code wheel spins. AlthoughFIG. 8illustrates a piecewise continuous scan through the correlation function, the correlation function is computed only at discreet phases.

InFIG. 9, the magnitude of an exemplary correlation result is presented as a function of time (and phase, since phase is scanned), where the phase of the locally generated pulse train is repeatedly changed relative to the input pulse sequence over a complete phase range (from zero to 2π radians) or a limited (<2π radians) phase range for sub-code wheel spins. The correlation result displayed inFIG. 8is an abbreviated version of the complete phase range correlation illustrated inFIG. 4C. For example, the negative portions of the correlation inFIG. 4Care omitted since they lie outside the scan range. AlthoughFIG. 8illustrates a piecewise continuous scan through the correlation function, the correlation function is computed only at discreet phases.

As discussed in regard to the illustrative examples ofFIGS. 4A,4B, and4C, synchronization through correlation of the received pulse train with a locally generated pulse train can include correlating over the entire range of phases (i.e., from zero to 2π radians). At some phase angle φmax, the correlation between the received pulse train and the locally generated pulse train is a maximum (208), and if the signal-to-noise ratio is sufficiently high, then some portion of the correlation result is above a magnitude threshold TRand/or the bit-error-rate threshold.

Another method, according to the present invention, for synchronization through correlation involves correlating the received pulse train with a locally generated pulse train over a limited range (<2π) of phases. This method is particularly useful during tracking of the received pulse after the initial acquisition, as small changes in the phase of the received pulse may arise, for example, due to changes in the position of the transmitter relative to the receiver or changes in the temperature of the transmitter and/or receiver causing the oscillators to drift.FIG. 10Aillustrates a potential phase scan over time between a maximum phase angle φ+and a minimum phase angle ψ−where φ+−φ−<2π. As illustrated inFIG. 10A, the scan is linear, although other embodiments, such as a sinusoidal phase scan, are within the scope of the present invention. Although the phase scan is drawn as piece-wise continuous, it may be that only discreet phases are employed over the illustrated range. Illustrative examples of correlations between received and locally generated pulse trains over this phase scan are provided inFIGS. 10B,10C, and10D, respectively, along with an exemplary magnitude threshold TR.FIGS. 10B,10C, and10D are illustrated examples only, and other forms of both phase scans and the resulting correlations are possible according to the present invention.

FIG. 10Billustrates a correlation result over a phase angle <2π between the received and locally generated pulse trains when a phase scan such as that illustrated inFIG. 10Ais substantially centered about the phase angle that provides the maximum correlation value, namely φmaxillustrated inFIG. 4C. In other words, the phase is scanned between the maximum phase angle φ+and the minimum phase angle φ−through the phase angle φmaxthat provides the maximum correlation value such that φ+−φmaxis approximately equal to φmax−φ−. The resulting correlation as a function of time (and phase, since phase is scanned) presented inFIG. 10Bthus includes the maximum208, as illustrated inFIG. 4C, as well as the correlation values immediately surrounding the maximum208, some of which are above the exemplary magnitude threshold TRinFIG. 10B.

FIG. 10Cillustrates a correlation result over a phase angle <2π when a phase scan such as illustrated inFIG. 10Ais substantially centered on the rising portion of the correlation. As illustrated inFIGS. 4A and 4C, the phase angle between the received and locally generated pulse trains is within +/−½ Tpof the phase angle φmaxthat provides the maximum correlation value, where Tpis the peak-to-peak pulse width of the illustrative pulse. The slope, concavity, RMS value, and phase (for example) of the function illustrated inFIG. 10Cwill change depending upon where the maximum phase angle φ+and the minimum phase angle φ−are located within the range of +/−½ Tpof the phase angle φmaxthat provides the maximum correlation value. Nevertheless, certain characteristics of this illustrated correlation can be used to identify the position of the phase scan relative to phase angle φmaxthat provides the maximum correlation value. For example, the illustrated correlation result fails to rise above the exemplary magnitude threshold TR, indicating that an adequately high signal-to-noise ratio is not present over this portion of the scanned phase range.

FIG. 10Dillustrates a correlation result over a phase angle <2π between the received and locally generated pulse trains when a phase scan such as illustrated inFIG. 10Acontains the phase angle φmaxthat provides the maximum value of the correlation, but is not centered thereupon. Once again, the slope, RMS value, and phase (for example) of the function illustrated inFIG. 10Dwill change depending upon where the maximum phase angle φ+and the minimum phase angle φ−are located relative to the phase angle φmaxthat provides the maximum correlation value.

There are several different methods for distinguishing the functions illustrated inFIGS. 10B,10C, and10D that can be used to identify the phase angle φmaxmax that provides the maximum correlation magnitude. The distinguishing characteristics can be used, e.g., by the synchronization algorithm720inFIG. 5to provide a control signal to the agile clock114ofFIG. 3for synchronizing the locally generated pulse train with a received pulse train. Available methods for distinguishing these functions include, but are not limited to, determining which portions of the correlation result are above the exemplary magnitude threshold TR, determining if the RMS value of the correlation is above the exemplary magnitude threshold TR, determining if the AC peak-to-peak value of the correlation is below a certain threshold, determining if one or more parameters related to the bit-error-rate are above a threshold, and determining if the spectral content of the correlation is above or below a predetermined threshold (e.g., the correlation illustrated inFIG. 10Bhas a ratio of spectral power density of the second harmonic to the fundamental frequency that is higher than some threshold value, where the fundamental frequency has the periodicity of the phase scan illustrated inFIG. 10A). Regardless of how a control signal based upon the correlation between the received and locally-generated pulse trains is obtained, it can be used to synchronize the pulse trains and provide and/or maintain UWB communications using a predetermined threshold, such as the exemplary magnitude threshold TR. In addition, the correlation derived control signal drives the phase scan range to be centered about φmax.

FIG. 11shows the flowchart of an embodiment of a process for tracking a received pulse train after correlating over a limited phase range. After tracking has been initialized in step1200, the phase is scanned in step1202about a center phase angle φc(commonly midway between the maximum phase angle φ+and the minimum phase angle φ−as inFIG. 10A) and the correlation between the phase swept locally generated pulse train and the received pulse train is determined. In step1203, the first phase angle φFIRSTof the correlation result that yields a correlation value greater than an exemplary magnitude threshold TR(or a bit error rate above another predetermined threshold) is determined, and in step1204the position of phase angle φFIRSTrelative to the center phase angle φcis determined. If φFIRSTis located at or near the leading edge of the scanned phase range (for example, is φ−and center phase angle φc), then the center phase angle φcis maintained at it's current value, as illustrated in step1206. However, if φFIRSTis located at or near the trailing edge of the scanned phase range (for example, is between center phase angle φcand φ+), then the center phase angle φcis shifted to a new value, as illustrated in step1208. In the illustrated embodiment, the phase shift is one half the difference between the center phase angle φcand phase angle φFIRST, and thus the new center phase angle φcis set to the phase angle intermediate between the old center phase angle φcand the phase angle φFIRST. This is a form of averaging that will, in effect, damp out large swings in the center phase angle φcthat may arise spuriously, e.g., due to noise. Naturally, other weighting coefficients can be used, and shifting the center phase angle can be performed when phase angle φFIRSTis trailing as well. Other known forms of averaging and/or signal processing may be used, including but not limited to boxcar averaging, weighted boxcar averaging, curvefitting, and other methods of preparing one or more periods of the correlation function for analysis as given by Openheim and Shafer inDigital Signal Processing, the entire contents of which are incorporated herein by reference. In step1210, it is determined if the user (or controller) wishes to and/or can maintain synchronization with the received signal. If the synchronization is not going to end, then the process flow returns to step1202, and another scan about the new center phase angle φcis performed.

FIG. 12is a flowchart of an embodiment for performing a non-exhaustive code wheel search to find a sufficient (not necessarily optimal) synchronization phase. In step1300, synchronization is initialized by setting the range of the phase search φ−and φ+. φ−is set to a predetermined initial value, and φ+is set to the sum of φ−plus Δφ, where Δφ is set to a predetermined initial phase search width. In step1310, the correlation estimate for the current phase offset, K(φ), is examined. In step1320, K(φ) is compared to a magnitude threshold value TR. If K(φ) not greater than TR, the flow process skips to step1380. Otherwise, in step1330, TRis increased. In step1340, φ−is set to φ. In step1350, if Δφ−φINCis less than the predetermined φCRIT, then the flow process skips to step1370. Otherwise, in step1360, Δφ is set to Δφ minus φINC. In step1370, φ+is set to φ−plus Δφ. In step1380, the code wheel phase φ is incremented toward φ+. In step1390, if φ does not φ+, then the flow process returns to step1310. Otherwise, in step1400, TRis reduced. In step1410, if tracking is decided to terminate, the flow process stops. Otherwise, the process flow returns to step1310.

FIG. 13illustrates a processor system1401upon which an embodiment according to the present invention may be implemented. The system1401includes a bus1403or other communication mechanism for communicating information, and a processor1405coupled with the bus1403for processing the information. The processor system1401also includes a main memory1407, such as a random access memory (RAM) or other dynamic storage device (e.g., dynamic RAM (DRAM), static RAM (SRAM), synchronous DRAM (SDRAM), flash RAM), coupled to the bus1403for storing information and instructions to be executed by the processor1405. In addition, a main memory1407may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by the processor1405. The system1401further includes a read only memory (ROM)1409or other static storage device (e.g., programmable ROM (PROM), erasable PROM (EPROM), and electrically erasable PROM (EEPROM)) coupled to the bus1403for storing static information and instructions for the processor1405. A storage device1411, such as a magnetic disk or optical disc, is provided and coupled to the bus1403for storing information and instructions.

The processor system1401may also include special purpose logic devices (e.g., application specific integrated circuits (ASICs)) or configurable logic devices (e.g., simple programmable logic devices (SPLDs), complex programmable logic devices (CPLDs), or re-programmable field programmable gate arrays (FPGAs)). Other removable media devices (e.g., a compact disc, a tape, and a removable magneto-optical media) or fixed, high density media drives, may be added to the system301using an appropriate device bus (e.g., a small system interface (SCSI) bus, an enhanced integrated device electronics (IDE) bus, or an ultra-direct memory access (DMA) bus). The system1401may additionally include a compact disc reader, a compact disc reader-writer unit, or a compact disc juke box, each of which may be connected to the same device bus or another device bus.

The processor system1401may be coupled via the bus1403to a display1413, such as a cathode ray tube (CRT) or liquid crystal display (LCD) or the like, for displaying information to a system user. The display1413may be controlled by a display or graphics card. The processor system1401includes input devices, such as a keyboard or keypad1415and a cursor control1417, for communicating information and command selections to the processor1405. The cursor control1417, for example, is a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to the processor1405and for controlling cursor movement on the display1413. In addition, a printer may provide printed listings of the data structures or any other data stored and/or generated by the processor system1401.

The processor system1401performs a portion or all of the processing steps of the invention in response to the processor1405executing one or more sequences of one or more instructions contained in a memory, such as the main memory1407. Such instructions may be read into the main memory1407from another computer-readable medium, such as a storage device1411. One or more processors in a multi-processing arrangement may also be employed to execute the sequences of instructions contained in the main memory1407. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions. Thus, embodiments are not limited to any specific combination of hardware circuitry and software.

As stated above, the processor system1401includes at least one computer readable medium or memory programmed according to the teachings of the invention and for containing data structures, tables, records, or other data described herein. Stored on any one or on a combination of computer readable media, the present invention includes software for controlling the system1401, for driving a device or devices for implementing the invention, and for enabling the system1401to interact with a human user. Such software may include, but is not limited to, device drivers, operating systems, development tools, and applications software. Such computer readable media further includes the computer program product of the present invention for performing all or a portion (if processing is distributed) of the processing performed in implementing the invention.

The computer code devices of the present invention may be any interpreted or executable code mechanism, including but not limited to scripts, interpretable programs, dynamic link libraries, Java or other object oriented classes, and complete executable programs. Moreover, parts of the processing of the present invention may be distributed for better performance, reliability, and/or cost.

The term “computer readable medium” as used herein refers to any medium that participates in providing instructions to the processor1405for execution. A computer readable medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media includes, for example, optical, magnetic disks, and magneto-optical disks, such as the storage device1411. Volatile media includes dynamic memory, such as the main memory1407. Transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise the bus1403. Transmission media may also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications.

Common forms of computer readable media include, for example, hard disks, floppy disks, tape, magneto-optical disks, PROMs (EPROM, EEPROM, Flash EPROM), DRAM, SRAM, SDRAM, or any other magnetic medium, compact disks (e.g., CD-ROM), or any other optical medium, punch cards, paper tape, or other physical medium with patterns of holes, a carrier wave, carrierless transmissions, or any other medium from which a system can read.

Various forms of computer readable media may be involved in providing one or more sequences of one or more instructions to the processor1405for execution. For example, the instructions may initially be carried on a magnetic disk of a remote computer. The remote computer can load the instructions for implementing all or a portion of the present invention remotely into a dynamic memory and send the instructions over a telephone line using a modem. A modem local to system1401may receive the data on the telephone line and use an infrared transmitter to convert the data to an infrared signal. An infrared detector coupled to the bus1403can receive the data carried in the infrared signal and place the data on the bus1403. The bus1403carries the data to the main memory1407, from which the processor1405retrieves and executes the instructions. The instructions received by the main memory1407may optionally be stored on a storage device1411either before or after execution by the processor1405.

The processor system1401also includes a communication interface1419coupled to the bus1403. The communications interface1419provides a two-way UWB data communication coupling to a network link1421that is connected to a communications network1423such as a local network (LAN) or personal area network (PAN)1423. For example, the communication interface1419may be a network interface card to attach to any packet switched UWB-enabled personal area network (PAN)1423. As another example, the communication interface1419may be a UWB accessible asymmetrical digital subscriber line (ADSL) card, an integrated services digital network (ISDN) card, or a modem to provide a data communication connection to a corresponding type of communications line. The communications interface1419may also include the hardware to provide a two-way wireless communications coupling other than a UWB coupling, or a hardwired coupling to the network link1421. Thus, the communications interface1419may incorporate the UWB transceiver ofFIG. 2and/orFIG. 3as part of a universal interface that includes hardwired and non-UWB wireless communications coupling to the network link1421.

The network link1421typically provides data communication through one or more networks to other data devices. For example, the network link1421may provide a connection through a LAN to a host computer1425or to data equipment operated by a service provider, which provides data communication services through an IP (Internet Protocol) network1427. Moreover, the network link1421may provide a connection through a PAN1423to a mobile device1429such as a personal data assistant (PDA) laptop computer, or cellular telephone. The LAN/PAN communications network1423and IP network1427both use electrical, electromagnetic or optical signals that carry digital data streams. The signals through the various networks and the signals on the network link1421and through the communication interface1419, which carry the digital data to and from the system1401, are exemplary forms of carrier waves transporting the information. The processor system1401can transmit notifications and receive data, including program code, through the network(s), the network link1421and the communication interface1419.

FIG. 14Ais a flowchart of an embodiment for performing a non-exhaustive code wheel search to find a sufficient (not necessarily optimal) synchronization phase using either linear or non-linear phase scans over the code wheel. In step1510, the process is initialized. A vector Z of phase offsets is defined. M is calculated as the length of the phase offset vector Z. Define zjas the elements of vector Z, such that Z=[z0, . . . , ZM−1]. Initialize the counter j to zero. Some example Z vectors are shown inFIG. 15and described later.

In step1520, the phase offset, φ, is incremented by zjfrom the initial phase offset θ, which may be random, such that φ=θ+zj. In step1530, the correlation estimate for the current phase offset, K, is computed. K is then used to compute the SNR parameter R. This can be done by methods described in, for example, co-pending U.S. patent application entitled “MODE CONTROLLER FOR SIGNAL ACQUISITION AND TRACKING IN AN ULTRA WIDEBAND COMMUNICATIONS SYSTEM,” Ser. No. 09/685,197, filed concurrently with the present document and having common inventorship as with the present document, the contents of which being incorporated herein by reference.

As discussed in the above referenced co-pending patent, parameters can be calculated that are related to signal power and noise power. Specifically, as described in an example embodiment in the above referenced co-pending patent, the A/D sample value for bit i, xi, can be statistically represented as Equation 1 for A/σ greater than 2.3 where A is the received signal amplitude and σ is the noise standard deviation.
|xi|=A+σnI(1)

Through mathematical manipulations, a combination of these parameters can be compared to a threshold to establish a maximal BER operating point. More specifically, a minimal SNR point can be defined for radio operation. Through use of these easy to calculate and low-cost parameters, an instantaneous estimate of the current SNR of the receiver is available for the purposes of making control decisions such as whether or not a correlator arm is locked onto a received signal. Specifically, as described in an example embodiment in the above referenced co-pending patent, a lock parameter L can be calculated as:L=sign⁡(m1-Ks1)⁢⁢⁢where(2)m1=(∑i=1B⁢xi)2(3)s1=∑i=1B⁢xi2⁢⁢and⁢⁢K⁢⁢is⁢⁢chosen⁢⁢such⁢⁢that(4)A2σ2>K-1B-K.(5)
Parameters other than m1and s1as defined above can employed in a similar manner as detailed in the above referenced co-pending patent.

In step1540, if R is greater than a threshold indicative of a minimal acceptable SNR, Tb, then the flow process ends. Otherwise, in step1550, j is incremented to cycle through the vector Z according to the equation j=(j+1)mod(M). The process then returns to step1520.

FIG. 14Bis also a flowchart of an embodiment for performing a non-exhaustive code wheel search to find a sufficient (not necessarily optimal) synchronization phase using either linear or non-linear phase scans over the code wheel. In step1510, the process is initialized as inFIG. 14A. In step1520, the phase offset, φ, is incremented by zjfrom the initial phase offset θ, which may be random, such that φ=θ+zj. In step1530, the correlation estimate for the current phase offset, K, is computed. K is then used to compute the SNR parameter R as described inFIG. 14A. In step1540, if R is greater than a threshold indicative of a minimal acceptable SNR, Tb, then the flow process ends. Otherwise, in step1560, a decision is made whether to change the vector Z. If Z is not going to be changed, the flow proceeds to step1550where j is incremented to cycle through the vector Z according to the equation j=(j+1)mod(M) and then process then returns to step1520. Otherwise, the flow proceeds from step1560to step1570where Z is set to a new Z. In step1580, j is reset to zero, and M is calculated to be the length of the new Z.

FIGS. 15A–Ddescribe and illustrate example vectors that contain elements corresponding to shifts in phase angle from an initial phase angle.FIG. 15Aillustrates an example vector Z1that corresponds to a continuous scan from an initial or zero phase to a maximum phase. The duration of the phase can be less than 2π radians. As illustrated inFIG. 15A, this maximum number of code wheel increments is less than 2π radians, although this need not be the case. Since the phase increases monotonically by a fixed increment throughout Z1, Z1is referred to as linear phase scan. The written vector representation of Z1includes the term “n” which denotes an arbitrary local parameter that controls how fast the code wheel spins depending on the time increment step size, and can be adjusted to accommodate, for example, the finite time that it takes a phase shift to a new, discrete phase, to occur. As n is decreased, the time resolution of the phase scan increases. “Q” is the total number of code wheel increments in each of the defined vectors ofFIGS. 15A–D.

The first example of vector Z2, illustrated both as a plot and in written notation inFIG. 15B, describes a bidirectional scan that steps between portions of the phase to be scanned. In other words, the phase scan described by the first example of vector Z2commences with the zero phase position and proceeds in discrete steps through an arbitrary number of m steps to a phase corresponding to m−1 increments. “m” is a number of phase increments that is strictly less than the total number of increments in the vector Z2. At this point, the code wheel rotates to a position one phase increment prior to the initial (or zero) phase, at which time the code wheel proceeds to scan negatively through 2m steps to a phase corresponding to −2m increments. Once this portion of the scan is completed, the code wheel returns to a phase corresponding to a positive m increments, and proceeds as indicated in both the written and plot description of the vector. The scan order axis of the plot indicates the succession of these phase scans in time, with the first scan being represented at the highest position along this axis. Furthermore, the phase shift corresponding to Q−1(the full phase range) has been left off of the phase axis ofFIGS. 15B(and15C and15D) in order to illustrate that the phase shift corresponding to Q−1 could be found on either side of the zero or initial phase position, and could stop the phase scan at any phase angle, even those within the illustrated or written vector. By scanning phase shifts that are closest to the zero or initial phase first, the phase shifts with the highest probability of synchronizing the locally-generated pulse train with the received pulse train are examined first, especially in cases when a communications link has already been established, and an attempt is being made to reestablish the link.

The second example of vector Z2, illustrated both as a plot and in written notation inFIG. 15C, describes a bidirectional scan that steps between portions of the phase to be scanned, where the portions to be scanned are the same size. This approach is slightly less efficient than the approach illustrated inFIG. 15Bsince the number of steps is increased while the relative proximity of the scanned phase angles to the zero or initial phase angle is the same.

The third example vector Z2, illustrated both as a plot and in written notation inFIG. 15D, describes a unidirectional scan that steps between portions of the phase to be scanned, where the portions to be scanned are scanned in order of proximity to the zero or initial phase angle. In other words, the phase is first incremented from a negative phase angle corresponding to −m increments of the code wheel through the zero or initial phase angle to a positive phase angle corresponding to +2m increments of the code wheel. At this time, the code wheel is returned to a negative phase angle corresponding to −3m increments of the code wheel, and proceeds to increment the code wheel in a positive direction from a negative phase angle corresponding to −m−1 increments of the code wheel, at which time it proceeds as illustrated. Thus, in this example vector Z2, unidirectional scanning of the phase can be used to scan the regions closest to the initial or zero position of the phase angle.

FIG. 15Apresents an example of a linear phase scan whereasFIGS. 15B–Dpresent examples of non-linear phase scans. These examples are only illustrative. Other embodiments of scanning phase over a code wheel are also applicable to the present invention.

InFIG. 14, the scan vector Z may be either Z1or Z2as illustrated inFIGS. 15A–D, or any combination of these or other phase scans. For example, Z could be appended copies of different embodiments of Z2and Z1. Preferably, the resulting phase scan vector Z covers the entire code wheel, perhaps not uniquely.

The UWB transceiver described herein may be used to perform a radio transport function for interfacing with different applications as part of a stacked protocol architecture. In such a configuration, the UWB transceiver performs signal creation, transmission and reception functions as a communications service to applications that send data to the transceiver and receive data from the transceiver much like a wired I/O port. Moreover, the UWB transceiver may be used to provide a wireless communications function to any one of a variety of devices that may include interconnection to other devices either by way of wired technology or wireless technology. Thus, the UWB transceiver ofFIG. 2may be used as part of a local area network (LAN) connecting fixed structures or as part of a wireless personal area network (WPAN) connecting mobile devices, for example. In any such implementation, all or a portion of the present invention may be conveniently implemented in a microprocessor system using conventional general purpose microprocessors programmed according to the teachings of the present invention, as will be apparent to those skilled in the microprocessor systems art. Appropriate software can be readily prepared by programmers of ordinary skill based on the teachings of the present disclosure, as will be apparent to those skilled in the software art.

The present invention thus also includes a computer-based product which may be hosted on a storage medium and include instructions which can be used to program a computer to perform a process in accordance with the present invention. This storage medium can include, but is not limited to, any type of disk including floppy disk, optical disk, CD-ROMs, magneto-optical disk, ROMs, RAMs, EPROMs, EEPROMs, flash memory, magnetic or optical cards, or any type of medium suitable for storing electronic instructions.