WO2001097476A2 - A method for specifying non-temporal pulse characteristics - Google Patents

A method for specifying non-temporal pulse characteristics Download PDF

Info

Publication number
WO2001097476A2
WO2001097476A2 PCT/US2001/018792 US0118792W WO0197476A2 WO 2001097476 A2 WO2001097476 A2 WO 2001097476A2 US 0118792 W US0118792 W US 0118792W WO 0197476 A2 WO0197476 A2 WO 0197476A2
Authority
WO
WIPO (PCT)
Prior art keywords
component
pulse
value
characteristic
sub
Prior art date
Application number
PCT/US2001/018792
Other languages
French (fr)
Other versions
WO2001097476A3 (en
Inventor
Ivan A. Cowie
Mark D. Roberts
Marcus H. Pendergrass
Larry W. Fullerton
Original Assignee
Time Domain Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Time Domain Corporation filed Critical Time Domain Corporation
Priority to AU2001271297A priority Critical patent/AU2001271297A1/en
Publication of WO2001097476A2 publication Critical patent/WO2001097476A2/en
Publication of WO2001097476A3 publication Critical patent/WO2001097476A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4902Pulse width modulation; Pulse position modulation

Definitions

  • the present invention relates to impulse transmission systems and, more particularly, to a method of applying codes for specifying non-temporal characteristics of pulses.
  • TM-UWB Time Modulated Ultra Wideband
  • impulse radio systems were first described in a series of patents, including U.S. Patent Nos. 4,641,317 (issued February 3, 1987), 4,813,057 (issued March 14, 1989), 4,979,186 (issued December 18, 1990), and 5,363,057 (issued November 8, 1994) to Larry W. Fullerton, and U.S. Patent Nos. 5,677,927 (issued October 14, 1997), 5,687,169 (issued November 11, 1997), and 5,832,035 (issued November 3, 1998) to Larry W. Fullerton, et al. These patents are incorporated herein by reference.
  • Multiple access impulse radio systems are radically different from conventional Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA) and Frequency Division Multiple Access (FDMA) systems.
  • CDMA Code Division Multiple Access
  • TDMA Time Division Multiple Access
  • FDMA Frequency Division Multiple Access
  • a conventional impulse radio transmitter emits a low power electromagnetic train of short pulses, which are shaped to approach a Gaussian monocycle.
  • the impulse radio transmitter uses very little power to generate noise-like communication signals for use in multiple-access communications, radar and positioning applications, among other things.
  • the impulse radio systems depend, in part, on processing gain to achieve rejection of unwanted signals. Because of the extremely high achievable processing gains, the impulse radio systems are relatively immune to unwanted signals and interference, which limit the performance of systems that use continuous sinusoidal waveforms.
  • the high processing gains of the impulse radio systems also provide much higher dynamic ranges than those commonly achieved by the processing gains of other known spread-spectrum systems.
  • Impulse radio communication systems transmit and receive the pulses at precisely controlled time intervals, in accordance with a time-hopping code.
  • the time-hopping code defines a communication channel that can be considered as a unidirectional data path for communicating information at high speed.
  • typical impulse radio transmitters use position modulation, which is a form of time modulation, to position the pulses in time, based on instantaneous samples of a modulating information signal.
  • the modulating information signal may for example be a multi-state information signal, such as a binary signal.
  • a modulator varies relative positions of a plurality of pulses on a pulse-by-pulse basis, in accordance with the modulating information signal and a specific time-hopping code that defines the communication channel.
  • each binary state may modulate the time position of more than one pulse to generate a modulated, coded timing signal that comprises a train of identically shaped pulses that represent a single data bit.
  • the impulse transmitter applies the generated pulses to a specified transmission medium, via a coupler, such as an antenna, which electromagnetically radiates the pulses for reception by an impulse radio receiver.
  • the impulse radio receiver typically includes a single direct conversion stage. Using a correlator, the conversion stage coherently converts the received pulses to a baseband signal, based on a priori knowledge of the time- hopping code.
  • the correlator integrates the desired received pulses coherently, while the undesired noise signals are integrated non-coherently such that by comparing the coherent and non-coherent integration results, the impulse receiver can recover the communicated information.
  • SS-CDMA spread-spectrum code division multiple access
  • Direct sequence CDMA systems employ pseudo-noise (PN) codewords generated at a transmitter to "spread" the bandwidth occupied by transmitted data beyond the minimum required by the data.
  • PN pseudo-noise
  • the conventional SS-CDMA 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.
  • PN pseudo-noise
  • the time-hopping code for impulse radio communications is not necessary for energy spreading, because the monocycle pulses themselves have an inherently wide bandwidth. Instead, the impulse radio systems use the time-hoping codes for channelization, energy smoothing in the frequency domain, and interference suppression.
  • the time-hoping code defines a relative position of each pulse within a group of pulses, or pulse train, such that the combination of pulse positions defines the communications channel, order to convey information on such communication channel, each state of a multi-state information signal varies a relative pulse position by a predefined time shift such that a modulated, coded timing signal is generated comprising a train of pulses, each with timing corresponding to the combination of the time position coding and the multi-state modulation.
  • pulses are time-modulated forward or backward about a nominal position. More specifically, each pulse is time modulated by adjusting its position within a time frame to one of two or more possible times. For example, in order to send a "0" binary bit during the time frame, the pulse may be offset from a nominal position of the time frame by about -50 pico-seconds. For a "1" binary state, the pulse may be offset from the nominal position by about +50 pico-seconds.
  • Conventional coders that generate the time-hoping code do so in response to a periodic timing signal that corresponds to the data- rate of the multi-state information signal.
  • the data rate of the impulse radio transmission may for example be a fraction of a periodic timing signal that is used as a time base or time reference.
  • decoding errors are minimized using distinctive time-hopping codes with suitable autocorrelation and cross-correlation properties.
  • the cross-correlation between any two time-hopping codes should be low for minimal interference between multiple users in a communications system or between multiple target reflections in radar and positioning applications.
  • the autocorrelation property of a time-hoping code should be steeply peaked, with small side-lobes. Maximally peaked time-hopping code autocorrelation yields optimal acquisition and synchronization properties for communications, radar and positioning applications.
  • coding schemes with known correlation characteristics are available. For example, algebraic codes, Quadratic Congruential (QC) codes, Hyperbolic Congruential (HC) codes and optical codes have been suggested in the past for coding in impulse radio systems.
  • the coding schemes guarantee a maximum number of pulse coincidences, i.e., hits, for any defined time frame or time frame shift during which the codes are repeated.
  • HC codes are guaranteed a maximum of two hits for any sub-frame or frame shift.
  • McCorkle in US Patent No. 5,847,677 discloses a random number generator for generating a pseudo-random code for use with jittered pulse repetition interval radar systems.
  • the code is generated by a random number generator that possesses certain attributes desirable for a jittered radar. As disclosed, the attributes related to a flat frequency spectrum, a nearly perfect spike for an autocorrelation function, a controllable absolute minimum and maximum interval, long sequences that do not repeat, and a reasonable average pulse rate.
  • a super-frame corresponds to a time interval of about 1 millisecond, representing one repetition of a code pattern, where as a frame is defined as a time interval of about 1 microsecond divided according to a code length.
  • a sub-frame corresponds to a short time interval of about 1 nano second during which a pulse is time positioned.
  • each frame may have to be divided into allowable and non-allowable time regions for positioning a pulse.
  • One such limitation is associated with hardware limitation on minimum pulse-to-pulse time for respective positioning of two pulses on adjacent frames arbitrarily.
  • the system disclosed in Barrett uses a fraction of frame time for encoding and designates the remainder as a RESET period.
  • Impulse transmission technology may be used in a wide variety of applications, such as multiple-access communication systems, positioning systems, radar systems, etc. To satisfy the varying requirements of these applications, there exists a need for methods of describing pulse trains more precisely than is now possible using time-hopping codes.
  • Time-hopping pulse transmission systems typically transmit pulses having the same non-temporal characteristics (e.g., pulse amplitude) while varying the precise timing of the pulses per a time-hopping code.
  • non-temporal characteristics e.g., pulse amplitude
  • the present invention provides methods for specifying non-temporal pulse characteristics.
  • non-temporal pulse characteristics are specified using a code comprising a number of elements.
  • Each code element indicates one or more non-temporal characteristics of a pulse via mapping the code element value to one or more layouts of non- temporal characteristic values.
  • a non-temporal characteristic layout may consist of a range of values such that a code element value maps to a component of the range of values, a sub-component of a component, a smaller sub-component of a sub-component, or even smaller sub-component, ad infinitum. Components, sub-components, and smaller sub- components may contain one or more non-allowable regions.
  • a non-temporal characteristic layout may alternatively consist of a set of discrete values such that a code element value maps to a discrete non-temporal characteristic value.
  • the code element may be an integer or a floating-point number.
  • An integer code element may indicate that the value of a pulse characteristic is within a component of a layout comprising a range of values, or alternatively, may indicate a sub-component of a plurality of components.
  • the code element is a floating-point number of which the non- fractional part indicates the value of the pulse characteristic is within a component of a layout comprising a range of values, or alternatively, indicates a sub-component of a plurality of components.
  • an established offset value is used to specify an exact characteristic value within the layout component or sub-component specified by the code element value.
  • an absolute offset value is used to specify the value of the pulse characteristic by adding the offset value to the minimum characteristic value of a component (or any subcomponent of the component) to which a code element value is mapped.
  • a relative offset value is used to specify a value of a pulse characteristic that is a fraction of the difference between a minimum characteristic value and a maximum characteristic value of the component (or sub-component of the component, etc.) to which a code element is mapped.
  • a fractional part of the floatingpoint number is used to specify a relative offset or fraction of the difference between a minimum characteristic value and a maximum characteristic value of the component (or any sub-component of the component) to which the code element is mapped (using the non- fractional part of the floating-point number).
  • binary representations of code element values are subdivided into multiple groups of bits, where group of bits are translated into decimal values specifying multiple non-temporal characteristics.
  • sign of code element values is used to specify a non-temporal characteristic.
  • the code element can be used to specify a number of non-temporal characteristics of the pulse, including but not being limited to any of: pulse polarity, including whether or not the pulse is inverted; pulse amplitude; pulse width; and pulse type, hi one embodiment, the pulse type indicates whether the pulse is a square wave pulse, sawtooth pulse, Haar wavelet pulse, gaussian monopulse, doublet pulse, a triplet pulse, or a set of wavelets.
  • code elements can specify temporal pulse characteristics in addition to non-temporal pulse characteristics.
  • Figure 1 illustrates a layout consisting of a pulse amplitude range including exemplary layout parameters, and exemplary subdivisions of the amplitude range including components, sub-components, smaller components, and even smaller components;
  • Figure 2a illustrates a non-temporal pulse characteristic layout including an exemplary component
  • Figure 2b illustrates a non-temporal pulse characteristic layout including multiple components of the same size
  • Figure 2c illustrates a non-temporal pulse characteristic layout including multiple components of different sizes
  • Figure 2d illustrates a non-temporal pulse characteristic layout including multiple components of the same size that are each subdivided into sub-components of the same size
  • Figure 2e illustrates a non-temporal pulse characteristic layout including multiple components of the same size that are each subdivided into sub-components of different sizes
  • Figure 2f illustrates a non-temporal pulse characteristic layout including multiple components of different sizes that are each subdivided into sub-components of the same size
  • Figure 2g illustrates a non-temporal pulse characteristic layout including multiple components of different sizes that are each subdivided into sub-components of different sizes
  • Figure 2h illustrates a non-temporal pulse characteristic layout including multiple same-size components and same-size sub-components combined with smaller components of the same size
  • Figure 2i illustrates a non-temporal pulse characteristic layout including multiple same-size components and same-size sub-components combined with smaller components of different sizes
  • Figure 2j illustrates a non-temporal pulse characteristic layout including multiple same-size components and different-size sub-components combined with smaller components of the same size
  • Figure 2k illustrates a non-temporal pulse characteristic layout including multiple same-size components and different-size sub-components combined with smaller components of different sizes
  • Figure 21 illustrates a non-temporal pulse characteristic layout including multiple different-size components and same-size sub-components combined with smaller components of the same size
  • Figure 2m illustrates a non-temporal pulse characteristic layout including multiple different-size components and same-size sub-components combined with smaller components of different sizes
  • Figure 2n illustrates a non-temporal pulse characteristic layout including multiple different-size components and different-size sub-components combined with smaller components of the same size
  • Figure 2o illustrates a non-temporal pulse characteristic layout including multiple different-size components and different-size sub-components are combined with smaller components of different sizes
  • Figure 3a illustrates a pulse amplitude value range layout of seven components
  • Figure 3b illustrate a pulse width value range layout of five components
  • Figure 4a illustrates non-allowable regions within a portion of a non-temporal pulse characteristic layout
  • Figure 4b illustrates examples of non-temporal pulse characteristic layouts including non-allowable regions of smaller, same and larger size as compared to allowable regions;
  • Figure 4c illustrates non-allowable regions within a range of pulse amplitude values, and within layout components, sub-components, and smaller components, with an example of how a code assignment approach can be employed;
  • Figure 5 a illustrates an exemplary discrete pulse amplitude value layout
  • Figure 5b illustrates an exemplary discrete pulse width value layout
  • Figure 5 c illustrates an exemplary discrete pulse polarity value layout
  • Figure 5d illustrates an exemplary discrete pulse type value layout
  • Figure 6a illustrates a code mapping approach, depicting integer code element values mapped to a layout encompassing a range of pulse amplitude values subdivided into nine components, where an integer code element exists per pulse, where each code element maps to a component, and where exact pulse amplitude values within components are determined using an offset fraction;
  • Figure 6b illustrates a code mapping approach, depicting integer code element values mapped to discrete pulse amplitude values, where an integer code element exists per pulse;
  • Figure 6c illustrates mapping pulse amplitudes to components within a layout encompassing a range of pulse amplitude values using the non-fractional part of a floating point code element value and mapping to exact amplitude values within components using the fractional part of the floating-point code element values;
  • Figure 6d illustrates mapping of code element values to multiple non-temporal characteristics, where the non-fractional part of each code element specifies pulse amplitude, fractional part of each code element specifies pulse width, and sign of each code element specifies pulse polarity;
  • Figure 7a illustrates an exemplary embodiment of a least significant bit/most significant bit (LSB/MSB) mapping approach
  • Figure 7b illustrates another exemplary embodiment of an LSB/MSB mapping approach
  • Figure 8a is a diagram of a linear feedback shift-register pseudorandom number generator
  • Figure 8b is a diagram of an additive Lagged-Fibonacci shift register pseudorandom number generator.
  • Figure 9 is a block diagram of an impulse transmitter that advantageously uses the present invention.
  • Figure 10 is a block diagram of an impulse receiver that advantageously uses the present invention.
  • Time-hopping pulse transmission systems In a time-hopping pulse transmission system, a sequence of pulses known as a pulse train is transmitted and received over a period of time. The relative positioning of the pulses in time defines a channel used by the system to transmit information. Time-hopping pulse transmission systems transmit these pulses such that they have the same non-temporal (i.e., non-time dependent) characteristics while varying the precise timing of the pulses per a time-hopping code. (Non-temporal characteristics include amplitude, width, and other non- time dependent characteristics of a pulse or series of pulses.)
  • the present invention provides a method of using a numerically generated code to specify non-temporal characteristics of pulses within a pulse train for use in an impulse transmission system.
  • the method includes: defining a non-temporal characteristic layout; identifying non-allowable regions within the layout; specifying an approach for mapping code element values to non- temporal characteristic values; generating a code using a numerical code generation technique; and mapping code element values to non-temporal characteristic values in accordance with the defined layout and code mapping approach.
  • a layout of non- temporal characteristic values can be defined. Such layouts can be defined in a multitude of ways to accommodate a wide variety of pulse transmission system applications.
  • One embodiment involves a value range layout where a range of non-temporal characteristic values is divided into smaller and smaller components to achieve a desired component resolution in order to facilitate mapping of a code element value to a characteristic value that resides within a component, which corresponds to some range of values.
  • the below described embodiment performs this value range layout using the amplitude of a pulse as the non-temporal characteristic. It should be noted, however, that although much of the below described embodiment pertains to a pulse amplitude characteristic it is generally applicable to other non-temporal characteristics as well. In other words, value range layouts of pulse width, pulse polarity, etc., are also possible. This fact, together with the different types of non-temporal characteristics will be made clear from the below description, together with equivalents thereof, as will be recognized by persons skilled in the relevant art.
  • Figure 1 illustrates an exemplary value range layout of the pulse amplitude.
  • Value range layout 102 is a value range layout.
  • the pulse takes on amplitude values between a minimum value of ⁇ at 110, and a maximum value of a max dX 112 in value range layout 102.
  • Value range layout 102 includes components 104.
  • Components 104 include sub-components 106, which in turn include smaller components 108. The process can be repeated, ad infinitum, so that smaller and smaller components can be obtained.
  • the two layout parameters, a ⁇ and a max define the amplitude range, so that it is bounded by minimum pulse amplitude ⁇ and maximum pulse amplitude a max .
  • a second layout parameter, N components can be specified to divide the amplitude range 102 into one or more components 104 of the same size, or of different sizes, with each component 104 (indexed by the letter ) having a minimum amplitude value, a m i n (n), and a maximum amplitude value, a max (n), where n — 1 to iv components-
  • the number and size of components used in a given layout can be used for various reasons.
  • the number and size of the components can be tailored to meet specific application requirements, to remain within system implementation limits, to achieve one or more of a variety of system characteristics in areas such as performance (i.e., bit rate), reliability (i.e., bit error rate), system-simplicity, ease-of-use, ter alia.
  • minimum and maximum amplitude values are specified for each component n, wherein the minimum amplitude value for a given component, a min (n), equals the maximum amplitude value of the preceding component, a max (n-l), or ao, and the maximum amplitude value of a given component, a max (n), equals the minimum amplitude value for the following component, a min (n+l), or a max .
  • the amplitude range is evenly divided such that a max (n) - a m ⁇ n (n) is equal for each component 104 indexed by n.
  • N sllb - compon ent s (N ' co mponent s )
  • N sllb - compon ent s (N ' co mponent s )
  • N sllb - compon ent s (N ' co mponent s )
  • the number and size of sub-components for a given component can also be tailored to meet specific application requirements, to remain within system implementation limits, to acliieve one or more of a variety of system characteristics in areas such as performance (i.e., bit rate), reliability (i.e., bit error rate), system-simplicity, ease-of- use, etc., and/or for many other reasons.
  • performance i.e., bit rate
  • reliability i.e., bit error rate
  • system-simplicity i.e., ease-of- use, etc., and/or for many other reasons.
  • minimum and maximum amplitude values are specified for each sub-component m of each component n, wherein the minimum amplitude value for a given sub-component, a m i grasp(n,m), equals the maximum amplitude value of the preceding sub-component, a max (n,m-l), or the minimum amplitude value of the component in which the sub-component resides, a m ⁇ n (n), and the maximum amplitude value of a given sub-component, a max (n,m), equals the minimum amplitude value for the following sub-component, a min (n,m+l), or the maximum amplitude value of the component in which the sub-component resides, a max (n).
  • components are evenly divided such that a max (n,m) - a min (n,m) is equal for each sub-component m of a component n or for all components such that all subcomponents of a given component are of the same size, wherein sub-component sizes may vary from component to component or all sub-components of all components are of the same size depending on the sizes of the components and the numbers of sub-components in the components.
  • the number and size of these smaller components can also be tailored to meet specific application requirements, to remain within system implementation limits, to achieve one or more of a variety of system characteristics in areas such as performance (i.e., bit rate), reliability (i.e., bit error rate), system-simplicity, ease-of-use, etc., and/or for many other reasons.
  • minimum and maximum amplitude values are specified for each smaller component ⁇ , wherein the minimum amplitude value for a component, a m i n (n,m, ...,a), equals the maximum amplitude value of the preceding component, a max (n, m, ...
  • a ⁇ l or the minimum amplitude value of the next higher level component in which the component resides, a m i n (n,m, ...), and the maximum amplitude value of a given component, a max (n,m, ...,a), equals the minimum amplitude value for the following component, a m i rotate(n,m, ...,a+l), or the maximum amplitude value of the next higher level component in which the component resides, a max (n,m, ).
  • next higher level components are evenly divided such that a max (n,m, ...,a) - a m ⁇ n (n,m, ..., ⁇ ) is equal for each component a of a given next higher level component or for all next higher level component such that all components of a given next higher level component are of the same size, wherein component sizes may vary from next higher level component to next higher level component or all components of all higher level components are of the same size depending on the sizes of the next higher level components and the numbers of components within the next higher level components.
  • an amplitude range is depicted that is bounded by endpoints of ao and a max .
  • Figures 2a through 2o provide examples of different types of layouts that can be established. This group of figures illustrates layout permutations involving nesting of up to three levels of components, which could be subdivided further to additional levels, ad infinitum as will be recognized to persons skilled in the art, to produce additional permutations.
  • Figure 2a depicts a layout 202 consisting of a single component (not labeled).
  • Figures 2b and 2c present layouts consisting of multiple components of the same size and of different sizes, respectively.
  • component 1 204 is the same size as component 2 206.
  • component 1 208 is of a different size than component 2 210.
  • Figures 2d and 2e illustrate layouts consisting of multiple components of the same size that are each subdivided into sub-components of the same size or of different sizes, respectively.
  • component 1 204 is the same size as component 2 206, and the sub-components 212, 214 of component 1 204 are of the same size.
  • component 1 204 is of the same size than component 2 206, but sub-components 216, 218 of component 1 204 are of different sizes.
  • Figures 2f and 2g illustrate layouts consisting of multiple components of different sizes that are each subdivided into sub-components of the same size or of different sizes, respectively.
  • component 1 208 is of a different same size than component 2 210, and the sub-components 212, 214 of component 1 208 are of the same size.
  • component 1 208 is of a different size than component 2 210, but subcomponents 216, 218 of component 1 208 are of different sizes.
  • Figures 2h and 2i same-size components and same-size sub-components are combined with smaller components of the same size and of different sizes, respectively.
  • Figures 2h and 2i are the same.
  • the sub-components of Figure 2h have smaller components 220, 222 that are of the same size
  • the sub-components of Figure 2i have smaller components 224, 226 that are of different sizes.
  • Figures 2j and 2k same-size components and different-size sub-components are combined with smaller components of the same size and of different sizes, respectively.
  • Figures 2j and 2k are the same.
  • the sub-components of Figure 2j have smaller components 220, 222 that are of the same size
  • the sub-components of Figure 2k have smaller components 224, 226 that are of different sizes.
  • Figures 21 and 2m different-size components and same-size sub-components are combined with smaller components of the same size and of different sizes, respectively.
  • Figures 21 and 2m are the same.
  • the sub-components of Figure 21 have smaller components 220, 222 that are of the same size
  • the sub-components of Figure 2m have smaller components 224, 226 that are of different sizes.
  • Figures 2n and 2o different-size components and different-size sub-components are combined with smaller components of the same size and of different sizes, respectively.
  • Figures 2n and 2o are the same.
  • the sub-components of Figure 2n have smaller components 220, 222 that are of the same size
  • the sub-components of Figure 2o have smaller components 224, 226 that are of different sizes.
  • Figures 3 a and 3b depict the use of value range layouts to specify a range of pulse amplitude values and pulse width values, respectively.
  • the figure illustrates a range of amplitude values from a 0 110 to a max 112, with the range subdivided into seven components (each labeled 204) as shown vertically on the left side of the figure.
  • Seven pulses 302 are also displayed, which correspond to representative pulses that can be specified using the layout.
  • the exact amplitude of each pulse is determined by arbitrarily selecting the approximate middle value of the range component to which a code value (i.e., 1 through 7) would map.
  • the exact values selected within the components can be any other common offset value or a different offset value for each pulse.
  • the layout can also be further subdivided into smaller components to provide greater value resolution, as will be recognized by skilled artisans.
  • Figure 3b illustrates a pulse width value range 304 between wo 306 and w max 308 that has been subdivided into five components.
  • the first component 204 and the second component 206 are labeled.
  • Five representative pulses 310 that can be specified using the layout are illustrated, each with a different width value.
  • the width values used for the five representative pulses 310 are arbitrarily selected as the middle value within each component, and persons skilled in the art will recognize that they could have been selected anywhere within the five components.
  • the present invention permits the establishment of allowable versus non-allowable regions within a layout.
  • One or more non-allowable regions are regions within a layout within which a characteristic value of a pulse is disallowed.
  • a non-allowable region may be equal to a component, be a subset of a component, or span multiple components.
  • a non- allowable region can be based solely on particular pulse characteristic values within a component, sub-component, or smaller component or can be based on characteristic values of one or more other pulses.
  • pulse characteristic values can be set to reside within the components, subcomponents or smaller components to which mapped by a code element value, hi this embodiment, a characteristic value cannot be less that the minimum characteristic value or greater than the maximum characteristic value of the component, sub-component or smaller component to which a code element value is mapped.
  • Non-allowable regions bounded by minimum and maximum characteristic values within components, sub-components, or smaller components can also be defined. Such non- allowable regions can be used to accommodate implementation limitations of the pulse transmission system.
  • Non-allowable regions can be defined based on characteristic values of other pulses as well.
  • a minimum characteristic value difference (or characteristic value delta) can be established relative to one or more other pulses.
  • a maximum characteristic value delta can be established relative to one or more other pulses.
  • Non-allowable regions can also be defined that are bounded by minimum and maximum characteristic value deltas relative to one or more pulses. Such 'relative' non-allowable regions can also be used to accommodate limitations of the pulse transmission system.
  • Figure 4a depicts non-allowable regions within a portion of a pulse amplitude value range layout.
  • a component, sub-component, or smaller component is shown, which is bounded by a minimum amplitude value 402 and a maximum amplitude value 404.
  • the amplitude values of two exemplary pulses labeled Pulse 1 406 and Pulse 2 408 are shown.
  • Non-allowable regions A 410, B 412, C 414, D 416 and E 418 are shown in layers to illustrate that they can overlap one another.
  • Two non-allowable regions 410 are shown corresponding to rule A, which is used to facilitate mapping a code element value, where one region consists of all values less than the minimum amplitude value of the component to which a code element value is mapped and one region consists of all values greater than the maximum amplitude value of the same component.
  • Rule B regions are non-allowable regions defined as being bounded by minimum and maximum amplitude values.
  • regions 414 are defined by rule C.
  • Rule C regions are non-allowable regions defined by a minimum value delta (or difference) relative to Pulse 1 amplitude value 406 and Pulse 2 amplitude value 408.
  • the first two regions 414 represent where a value cannot be used because it would violate the minimum value delta relative to the Pulse 1 406 "amplitude value, and the other two regions 414 represent where a value cannot be used because it would violate the minimum value delta relative to the Pulse 2 408 amplitude value.
  • two regions 416 are defined by rule D, and illustrate the application of a maximum delta (or difference) rule, where the leftmost region 416 represents where a value cannot be used because it would violate the maximum value delta relative to the Pulse 2 408 amplitude value, and the rightmost region 416 represents where a value cannot be used because it would violate the maximum value delta relative to the Pulse 1 406 amplitude value.
  • a maximum delta (or difference) rule where the leftmost region 416 represents where a value cannot be used because it would violate the maximum value delta relative to the Pulse 2 408 amplitude value, and the rightmost region 416 represents where a value cannot be used because it would violate the maximum value delta relative to the Pulse 1 406 amplitude value.
  • non-allowable regions 418 are defined by rule E.
  • the rule E regions are non- allowable regions defined as being bounded by minimum and maximum value deltas relative to the two pulses 406, 408.
  • Figure 4a depicts the combined effect of the non-allowable regions.
  • the separated layers in the upper portion of the figure are overlaid to show that a given value within a component is either allowable or non-allowable.
  • Figure 4b depicts relative size relationships between non-allowable and allowable regions within components using these exemplary embodiments.
  • non-allowable regions can be smaller than, the same size as, or larger than allowable regions.
  • the non-allowable regions 426 of components 420 and 422 are smaller in size than the allowable regions 424.
  • the non-allowable regions 430 are the same size as the allowable regions 428.
  • the non-allowable regions 434 are larger in size than the allowable regions 432.
  • Non-allowable regions can also be defined at more than one component level as is shown in Figure 4c.
  • a layout is divided into two allowable regions 436, 442 and a non-allowable region 438.
  • the first allowable region 436 is divided into three components 440 and the second allowable region is treated as a single component 442.
  • the figure further illustrates how components 440 can contain non-allowable regions 446, sub-components 444 can contain non-allowable regions, and so on. These regions of Figure 4c are further explained below.
  • FIGS. 5a through 5d provide examples of discrete value layouts for pulse amplitude, pulse width, pulse polarity, and pulse type, respectively.
  • seven discrete values 502 are shown.
  • Representative pulses 504 are depicted having amplitudes that correspond to the seven discrete values.
  • the amplitude values of the seven representative pulses in Figure 5a each must equal a discrete amplitude value.
  • Figure 5b shows a layout of five discrete pulse width values 506 and five representative pulses 508 having widths that correspond to those discrete values.
  • FIGS. 5c and 5d illustrate discrete pulse polarity values and pulse type values, respectively.
  • a regular pulse 510 and an inverted pulse 512 are shown having the same magnitude, but which are the inverse in polarity to one another.
  • eight different pulse types 514-528 are shown which have little relationship to one another.
  • a 'fixed' value range layout defines a range of amplitude values between for example ⁇ 110 and a max 112 (see Figure 1)
  • a 'non-fixed' delta value range layout can specify a range of delta values between for example ⁇ a ⁇ and ⁇ a max , where the delta value range can be divided into components and sub-components in the same manner as a fixed value range can be divided.
  • discrete delta values can be defined in a discrete delta value layout.
  • These non-fixed layout approaches to specifying non-temporal pulse characteristics depend on the non-temporal characteristics of the previous pulse. Specifically, the value of a non-temporal characteristic value of a given pulse equals the non-temporal characteristic value of the previous pulse plus a delta characteristic value.
  • This delta value is deteraiined by mapping a code element value to a defined delta value range layout, or to a discrete delta value layout, as appropriate to a person skilled in the art.
  • a code specifying non-temporal characteristics can be comprised of elements having either integer or floating-point numbers that map to characteristic values within defined characteristic layouts.
  • the value of each integer code element or the non-fractional part of each floating-point code element value can identify a component, sub-component or smaller component (or even smaller component, calculated ad infimtum) corresponding to a range of characteristic values within a defined value range layout or can identify a discrete value within a defined discrete value layout.
  • an integer or floating-point code element can be used to specify multiple non- temporal characteristics.
  • the numbering scheme used for a code must be consistent with the numbering scheme used for the defined characteristic layout to allow mapping of code element values to values within the layout.
  • Components within a value range layout or values within a discrete value layout can be numbered beginning with zero, one, or any other number.
  • Components produced by subdividing higher level components, such as sub-components or smaller components can be numbered per higher level component such that sub-component numbering begins again with each higher level component, or alternatively can be numbered in sequence independent of the higher level component in which they reside.
  • a non-allowable region can be numbered or not numbered depending on whether code elements are to be mapped to the region.
  • Figure 4c illustrates how different component numbering approaches can be employed.
  • the non-allowable region 438 within the amplitude range is effectively a fifth non-numbered component to which a code element cannot be mapped.
  • the first component 440 is shown containing an allowable region subdivided into eight sub-components 444 and a non-allowable region 446 numbered as the ninth subcomponent, thereby enabling a code element to be mapped to it.
  • the figure further illustrates how a non-allowable region can span multiple components.
  • the first non-allowable region 460 within the sixth sub-component of the first component 440 spans two non-numbered smaller components.
  • an established offset value can be used to specify the exact characteristic value within the component, sub-component, or smaller component.
  • a value is acceptable if it resides outside non-allowable regions defined by established rules.
  • An absolute offset value can be used to specify an exact characteristic value that is a common value difference (or delta) from the minimum characteristic values of the components, sub-components, or smaller components to which code elements are mapped.
  • a relative position offset value can be used to specify an exact characteristic value that is a fraction of the difference between the minimum and maximum characteristic values of the components, subcomponents, or smaller components to which code elements are mapped.
  • the fractional part of each floating-point code element can be used to specify the relative offset used to specify an exact characteristic value that is a fraction of the difference between the minimum and maximum characteristic values of the component, sub-component, or smaller component to which the non-fractional part of the floating-point code element is mapped.
  • Figures 6a through Figures 6d illustrate these component numbering and code mapping approaches.
  • Figure 6a depicts code elements 602 of a code 606 mapped to components 604 within an amplitude range value layout 600, where an integer code element 602 exists per pulse 608.
  • a common relative offset fraction of .5 is used to determine the exact amplitude values.
  • Figure 6b depicts code elements 602 of a code 606 mapped to discrete amplitude values 610 within a discrete value layout 601, where an integer code element 602 exists per pulse 608. It should be noted that the two figures present two different methods for mapping codes to the same amplitude values.
  • Figures 6c and 6d depict two methods of mapping pulses to frames using floating- point values.
  • the non-fractional portion 612 of each floating-point code element value 616 maps a pulse 608 characteristic to a component 604 within an amplitude value range layout 600.
  • the fractional portion 614 of each floating-point code element 616 specifies the fraction of the difference between the minimum 618 and maximum 620 amplitude values of each mapped component 604 used to determine the exact characteristic value for a pulse.
  • each floating-point code element value 616 maps to a discrete amplitude 610 per a discrete value layout 601.
  • the fractional part 614 of the floating-point code element value 616 maps to a discrete pulse width 624 per a discrete value layout (not shown).
  • the sign 622 of each floating-point code element value 616 maps to a discrete pulse polarity 626 (i.e., whether the pulse is inverted) per a discrete value layout (also not shown).
  • the code mapping approaches shown in Figures 6a and 6c can be applied at any component level defined within a value range layout.
  • Least Significant Bit/Most Significant Bit (LSB/MSB) approach can also be used to map code elements to characteristic values within a value range or discrete value layout, h one exemplary embodiment of this approach, a component and an offset value can be specified by subdividing the binary representation of a code element value into its most significant and least significant bits.
  • one subset of bits specifies a component within an amplitude value range layout and the other subset of bits specifies an absolute or relative position offset value used to determine the exact characteristic value within the specified component.
  • FIG. 7a An example of a LSB/MSB mapping approach is shown in Figure 7a.
  • the decimal value 702 of each code element value is represented as a 16-bit binary word 704 that is subdivided into its eight MSBs 706 and its eight LSBs 708.
  • the binary value of the MSBs 706 is translated into a decimal value 710 representing the component corresponding to a range of pulse amplitude values.
  • the binary value of the LSBs 708 is translated into a decimal value that is then divided by 100 in order to produce a value 712 representing the desired offset fraction used to calculate the exact amplitude value within the component specified by the MSBs.
  • the bits of a code element's binary representation can also be subdivided into any number of subsets to enable encoding of additional characteristic values (i.e., pulse width, pulse polarity, pulse type, and/or pulse time position).
  • Figure 7b is similar to Figure 7a except it demonstrates a slightly more complex bit- group mapping approach where the first seven LSBs 710 are used to specify the offset fraction 714 and the last LSB 716 is used to specify pulse polarity 718.
  • the translated bit patterns are shown combined into a translated code that is nearly the same as the translated code shown in Figure 7a, except the first and fifth code element values have a negative sign to specify that the first and fifth pulses are to be inverted.
  • the LSB MSB or more complex bit-group mapping method can be employed using binary word sizes that are 8-bit, 16-bit, 32-bit or whatever size is deemed appropriate to encode data describing a pulse train. Given a word size, bits can be grouped as appropriate to encode the largest possible value for a given characteristic. For example, to encode offset fraction values with 2-digit precision, a group of 7 data bits is required to represent integer values from 0 to 100. Similarly, if 1000 components exist in a layout, a group of 10 bits is required to represent integer values from 1 to 1000.
  • the LSB MSB or more complex bit- group mapping method can also be employed in combination with established absolute or relative offset values, as will be recognized by persons skilled in the art.
  • a code is generated using a numerical code generation technique.
  • One such technique involves generation of a code comprised of pseudorandom numbers.
  • a pseudorandom code can be generated using a computer's random number generator, binary shift-register(s) mapped to binary words, a chaotic code generation scheme, or another well-known technique.
  • Computer random number generator functions commonly employ the linear congruential generation (LCG) method, which generates the n-t random number, xicide, from the previous random number, x n . ⁇ , using an equation of the general form:
  • LCG linear congruential generation
  • n identifies a given code in the generated code sequence
  • the generated sequence is characterized by the multiplier A, the additive constant c, the modulus m, and an initial seed xo-
  • LCG( ⁇ ,c, , ⁇ . ⁇ ) which determines the sequence generated.
  • AFG Additive Lagged-Fibonacci Generator
  • n identifies a given code in the generated code sequence
  • j and k represent offsets to previously generated codes.
  • the period of these generators is (2 -l)2" !_1 and they are referred to as A FG(l,k,m,xo), which determines the sequence generated.
  • Binary shift-register pseudorandom number generators can be implemented in many different ways.
  • One common approach is the linear feedback shift register illustrated in Figure 8a, including exclusive OR gate 802 and registers 804, which can be described by an equation of the form:
  • n identifies a given code in the generated code sequence
  • k is the number of bits in the shift register
  • a t is the value of the z ' -th bit in the shift register.
  • the ALFG method can also be implemented using a shift register 808 and a modulo adder 806 device, as shown in Figure 8b, which can be described by an equation of the form:
  • n identifies a given code in the generated code sequence
  • j and k represent the shift-register bits fed into the modulo adder device.
  • non-temporal pulse characteristics include a pulse width characteristic, a pulse amplitude characteristic, a pulse polarity characteristic, and a pulse type characteristic, etc.
  • code element values may be associated with a non-temporal pulse characteristic in addition to a temporal pulse characteristic, such as a pulse position in time.
  • a code element value comprises an integer or floating-point value, with each code element value indicating any one of one or more components, one or more sub-components of said component, and one or more smaller components of said sub-component, established by recursively breaking down said sub-component into smaller parts.
  • the one or more components, sub-components, and any number of smaller components may be defined within a layout comprising a range of non-temporal pulse characteristic values. Again, the one or more components are any one of a same size; and a different size than others of said one or more components.
  • any component may include one or more non-allowable regions established by various rules.
  • a rule may, for example, establish non-allowable regions based on a minimum value or a maximum value of a component or may be based on minimum and maximum values within a component.
  • a rule could be based on non-temporal characteristic values of one or more other pulses or a minimum value difference or a maximum value difference from non-temporal characteristic values of one or more other pulses.
  • a rule may also establish a region bounded by a minimum and maximum value difference from non-temporal characteristic values of one or more other pulses.
  • An established offset value can be used to specify an exact non-temporal characteristic value within a value range layout component specified by a code element value.
  • An absolute offset value could be added to the minimum value of a component.
  • a relative offset value may be used to specify a value that is a fraction of the difference between the minimum value and maximum value of a component. The fractional part of a floating-point code element value could be used to specify a relative offset value.
  • each code element value corresponds to a value that is defined within a layout comprising discrete non-temporal pulse characteristic values.
  • each code element value corresponds to a value that is defined within a layout comprising a range of non-temporal pulse characteristic values and discrete non-temporal pulse characteristic values.
  • the present invention can also be employed using a delta value layout.
  • the transmitter 902 comprises a time base 904 that generates a periodic timing signal 907.
  • the time base 904 typically comprises a voltage controlled oscillator (VCO), or the like, having a high timing accuracy and low jitter, on the order of picoseconds (ps).
  • VCO voltage controlled oscillator
  • the voltage control to adjust the VCO center frequency is set at calibration to the desired center frequency used to define the transmitter's nominal pulse repetition rate.
  • the periodic timing signal 907 is supplied to a precision timing generator 908.
  • the precision timing generator 908 supplies synchronizing signals 910 to the code source 912 and utilizes the code source output 914 together with an internally generated subcarrier signal (which is optional) and an information signal 917 to generate a modulated, coded timing signal 918.
  • the code source 912 comprises a storage device such as a random access memory (RAM), read only memory (ROM), or the like, for storing suitable codes and for outputting the codes as a code signal 914.
  • RAM random access memory
  • ROM read only memory
  • maximum length shift registers or other computational means can be used to generate the codes.
  • An information source 920 supplies the information signal 917 to the precision timing generator 908.
  • the information signal 917 can be any type of intelligence, including digital bits representing voice, data, imagery, or the like, analog signals, or complex signals.
  • a pulse generator 922 uses the modulated, coded timing signal 918 as a trigger to generate output pulses.
  • the output pulses are sent to a transmit antenna 924 via a transmission line 927 coupled thereto.
  • the output pulses are converted into propagating electromagnetic pulses by the transmit antenna 924.
  • the electromagnetic pulses are called the emitted signal, and propagate to an impulse radio receiver 1002, such as shown in Fig. 10, through a propagation medium, such as air, in a radio frequency embodiment.
  • the emitted signal is wide-band or ultrawide-band, approaching a monocycle pulse as in Figures 3a and 3b.
  • the emitted signal can be spectrally modified by filtering of the pulses. This filtering will usually cause each monocycle pulse to have more zero crossings (more cycles) in the time domain, hi this case, the impulse radio receiver can use a similar waveform as the template signal in the cross correlator for efficient conversion.
  • FIG. 10 An exemplary embodiment of an impulse radio receiver 1002 (hereinafter called the receiver) for the impulse radio communication system is now described with reference to Fig. 10. More specifically, the system illustrated in Fig. 10 is for reception of digital data wherein one or more pulses are transmitted for each data bit.
  • the receiver 1002 comprises a receive antenna 1004 for receiving a propagated impulse radio signal 1007.
  • a received signal 1008 from the receive antenna 1004 is coupled to a cross correlator or sampler 1010 to produce a baseband output 1012.
  • the cross correlator or sampler 1010 includes multiply and integrate functions together with any necessary filters to optimize signal to noise ratio.
  • the receiver 1002 also includes a precision timing generator 1014, which receives a periodic timing signal 1017 from a receiver time base 1018. This time base 1018 is adjustable and controllable in time, frequency, or phase, as required by the lock loop in order to lock on the received signal 1008.
  • the precision timing generator 1014 provides synchronizing signals 1020 to the code source 1022 and receives a code control signal 1024 from the code source 1022.
  • the precision timing generator 1014 utilizes the periodic timing signal 1017 and code control signal 1024 to produce a coded timing signal 1027.
  • the template generator 1028 is triggered by this coded timing signal 1027 and produces a train of template signal pulses 1030 ideally having waveforms substantially equivalent to each pulse of the received signal 1008.
  • the code for receiving a given signal is the same code utilized by the originating transmitter 902 to generate the propagated signal 1007.
  • the timing of the template pulse train 1030 matches the timing of the received signal pulse train 1008, allowing the received signal 1008 to be synchronously sampled in the correlator 1010.
  • the correlator 1010 ideally comprises a multiplier followed by a short term integrator to sum the multiplier product over the pulse interval.
  • the output of the correlator 1010 also called a baseband signal 1012
  • a subcarrier demodulator 1032 which demodulates the subcarrier information signal from the subcarrier.
  • the purpose of the optional subcarrier process, when used, is to move the information signal away from DC (zero frequency) to improve immunity to low frequency noise and offsets.
  • the output of the subcarrier demodulator 1032 is then filtered or integrated in a pulse summation stage 1034.
  • the pulse summation stage produces an output representative of the sum of a number of pulse signals comprising a single data bit.
  • the output of the pulse summation stage 1034 is then compared with a nominal zero (or reference) signal output in a detector stage 1038 to determine an output signal 1039 representing an estimate of the original information signal 917.
  • the baseband signal 1012 is also input to a lowpass filter 1042 (also referred to as lock loop filter 1042).
  • a control loop comprising the lowpass filter 1042, time base 1018, precision timing generator 1014, template generator 1028, and correlator 1010 is used to generate a filtered error signal 1044.
  • the filtered error signal 1044 provides adjustments to the adjustable time base 1018 to time position the periodic timing signal 1027 in relation to the position of the received signal 1008.
  • transceiver embodiment substantial economy can be achieved by sharing part or all of several of the functions of the transmitter 902 and receiver 1002. Some of these include the time base 1018, precision timing generator 1014, code source 1022, antenna 1004, and the like.

Abstract

A code, comprised of at least one code element, specifies at least one non-temporal characteristic of at least one pulse. A code element can be mapped to a value within a layout, comprising a range of pulse characteristic values, divided into components and sub-components. The code element can be an integer, or a floating-point number, and may be used in conjunction with an absolute or relative offset value. The code element values can be subdivided into parts, that individually, or in combination, specify non-temporal pulse characteristics. The code element can be used to specify a number of characteristics of a pulse, including pulse polarity; pulse amplitude; pulse width; pulse type; and pulse position in time. The type of the pulse indicates whether the pulse is a square wave pulse, sawtooth pulse, Haar wavelet pulse, gaussian monopulse, doublet pulse, triplet pulse, or set of wavelets.

Description

A METHOD FOR SPECIFYING NON-TEMPORAL PULSE CHARACTERISTICS
FIELD OF THE INVENTION
The present invention relates to impulse transmission systems and, more particularly, to a method of applying codes for specifying non-temporal characteristics of pulses.
RELATED ART
As the availability of communication bandwidth in the increasingly crowded frequency spectrum is becoming a scarce and valuable commodity, Time Modulated Ultra Wideband (TM-UWB) technology provides an excellent alternative for offering significant communication bandwidth, particularly, for various wireless communications applications. Because TM-UWB communication systems are based on communicating extremely short- duration pulses (e.g., pico-seconds in duration), such systems are also known as impulse radio systems. Impulse radio systems were first described in a series of patents, including U.S. Patent Nos. 4,641,317 (issued February 3, 1987), 4,813,057 (issued March 14, 1989), 4,979,186 (issued December 18, 1990), and 5,363,057 (issued November 8, 1994) to Larry W. Fullerton, and U.S. Patent Nos. 5,677,927 (issued October 14, 1997), 5,687,169 (issued November 11, 1997), and 5,832,035 (issued November 3, 1998) to Larry W. Fullerton, et al. These patents are incorporated herein by reference.
Multiple access impulse radio systems are radically different from conventional Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA) and Frequency Division Multiple Access (FDMA) systems. Unlike such systems, which use continuous sinusoidal waveforms for transmitting information, a conventional impulse radio transmitter emits a low power electromagnetic train of short pulses, which are shaped to approach a Gaussian monocycle. As a result, the impulse radio transmitter uses very little power to generate noise-like communication signals for use in multiple-access communications, radar and positioning applications, among other things. In the multi-access communication applications, the impulse radio systems depend, in part, on processing gain to achieve rejection of unwanted signals. Because of the extremely high achievable processing gains, the impulse radio systems are relatively immune to unwanted signals and interference, which limit the performance of systems that use continuous sinusoidal waveforms. The high processing gains of the impulse radio systems also provide much higher dynamic ranges than those commonly achieved by the processing gains of other known spread-spectrum systems.
Impulse radio communication systems transmit and receive the pulses at precisely controlled time intervals, in accordance with a time-hopping code. As such, the time-hopping code defines a communication channel that can be considered as a unidirectional data path for communicating information at high speed. In order to communicate the information over such channels, typical impulse radio transmitters use position modulation, which is a form of time modulation, to position the pulses in time, based on instantaneous samples of a modulating information signal. The modulating information signal may for example be a multi-state information signal, such as a binary signal. Under this arrangement, a modulator varies relative positions of a plurality of pulses on a pulse-by-pulse basis, in accordance with the modulating information signal and a specific time-hopping code that defines the communication channel.
In applications where the modulating information signal is a binary information signal, each binary state may modulate the time position of more than one pulse to generate a modulated, coded timing signal that comprises a train of identically shaped pulses that represent a single data bit. The impulse transmitter applies the generated pulses to a specified transmission medium, via a coupler, such as an antenna, which electromagnetically radiates the pulses for reception by an impulse radio receiver. The impulse radio receiver typically includes a single direct conversion stage. Using a correlator, the conversion stage coherently converts the received pulses to a baseband signal, based on a priori knowledge of the time- hopping code. Because of the correlation properties of the selected time-hopping codes, the correlator integrates the desired received pulses coherently, while the undesired noise signals are integrated non-coherently such that by comparing the coherent and non-coherent integration results, the impulse receiver can recover the communicated information.
Conventional spread-spectrum code division multiple access (SS-CDMA) techniques accommodate multiple users by permitting them to use the same frequency bandwidth at the same time. Direct sequence CDMA systems employ pseudo-noise (PN) codewords generated at a transmitter to "spread" the bandwidth occupied by transmitted data beyond the minimum required by the data. The conventional SS-CDMA 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. One such spread-spectrum system is described in U.S. Pat. No. 4,901,307 entitled SPREAD- SPECTRUM MULTIPLE ACCESS COMMUNICATION SYSTEM USING SATELLITE OR TERRESTRIAL REPEATERS by Gilhousen et al.
Unlike direct sequence spread-spectrum systems, the time-hopping code for impulse radio communications is not necessary for energy spreading, because the monocycle pulses themselves have an inherently wide bandwidth. Instead, the impulse radio systems use the time-hoping codes for channelization, energy smoothing in the frequency domain, and interference suppression. The time-hoping code defines a relative position of each pulse within a group of pulses, or pulse train, such that the combination of pulse positions defines the communications channel, order to convey information on such communication channel, each state of a multi-state information signal varies a relative pulse position by a predefined time shift such that a modulated, coded timing signal is generated comprising a train of pulses, each with timing corresponding to the combination of the time position coding and the multi-state modulation.
hi one conventional binary approach, pulses are time-modulated forward or backward about a nominal position. More specifically, each pulse is time modulated by adjusting its position within a time frame to one of two or more possible times. For example, in order to send a "0" binary bit during the time frame, the pulse may be offset from a nominal position of the time frame by about -50 pico-seconds. For a "1" binary state, the pulse may be offset from the nominal position by about +50 pico-seconds. Conventional coders that generate the time-hoping code do so in response to a periodic timing signal that corresponds to the data- rate of the multi-state information signal. The data rate of the impulse radio transmission may for example be a fraction of a periodic timing signal that is used as a time base or time reference.
In practice, decoding errors are minimized using distinctive time-hopping codes with suitable autocorrelation and cross-correlation properties. The cross-correlation between any two time-hopping codes should be low for minimal interference between multiple users in a communications system or between multiple target reflections in radar and positioning applications. At the same time, the autocorrelation property of a time-hoping code should be steeply peaked, with small side-lobes. Maximally peaked time-hopping code autocorrelation yields optimal acquisition and synchronization properties for communications, radar and positioning applications.
Various coding schemes with known correlation characteristics are available. For example, algebraic codes, Quadratic Congruential (QC) codes, Hyperbolic Congruential (HC) codes and optical codes have been suggested in the past for coding in impulse radio systems. Generally, based on known assumptions, the coding schemes guarantee a maximum number of pulse coincidences, i.e., hits, for any defined time frame or time frame shift during which the codes are repeated. For example, HC codes are guaranteed a maximum of two hits for any sub-frame or frame shift.
McCorkle in US Patent No. 5,847,677 discloses a random number generator for generating a pseudo-random code for use with jittered pulse repetition interval radar systems. The code is generated by a random number generator that possesses certain attributes desirable for a jittered radar. As disclosed, the attributes related to a flat frequency spectrum, a nearly perfect spike for an autocorrelation function, a controllable absolute minimum and maximum interval, long sequences that do not repeat, and a reasonable average pulse rate.
One known coding technique for an impulse radio is disclosed by Barrett in US Patent No. 5,610,907, entitled "Ultrafast Time Hopping CDMA-RF Communications: Code-As- Carrier, Multichannel Operation, High data Rate Operation and Data Rate on Demand." According to the disclosed techniques, two levels of coding are used: major orthogonal codes are applied to provide multiple channels, and forward error correction (FEC) codes are applied to information data before transmission. The disclosed system relies on dividing time into repetitive super-frames, frames and sub-frames. As disclosed, a super-frame corresponds to a time interval of about 1 millisecond, representing one repetition of a code pattern, where as a frame is defined as a time interval of about 1 microsecond divided according to a code length. A sub-frame corresponds to a short time interval of about 1 nano second during which a pulse is time positioned.
Because of practical limitations associated with arbitrarily positioning of pulses in adjacent frames, each frame may have to be divided into allowable and non-allowable time regions for positioning a pulse. One such limitation is associated with hardware limitation on minimum pulse-to-pulse time for respective positioning of two pulses on adjacent frames arbitrarily. The system disclosed in Barrett uses a fraction of frame time for encoding and designates the remainder as a RESET period. Impulse transmission technology may be used in a wide variety of applications, such as multiple-access communication systems, positioning systems, radar systems, etc. To satisfy the varying requirements of these applications, there exists a need for methods of describing pulse trains more precisely than is now possible using time-hopping codes.
SUMMARY OF THE INVENTION
Time-hopping pulse transmission systems typically transmit pulses having the same non-temporal characteristics (e.g., pulse amplitude) while varying the precise timing of the pulses per a time-hopping code. To improve channelization and spectral response properties of pulse transmission systems and to enable support for multiple applications it is desirable that such systems be capable of transmitting pulses having different non-temporal characteristics. To accommodate such capabilities the present invention provides methods for specifying non-temporal pulse characteristics.
Briefly, according to the present invention, non-temporal pulse characteristics are specified using a code comprising a number of elements. Each code element indicates one or more non-temporal characteristics of a pulse via mapping the code element value to one or more layouts of non- temporal characteristic values. A non-temporal characteristic layout may consist of a range of values such that a code element value maps to a component of the range of values, a sub-component of a component, a smaller sub-component of a sub-component, or even smaller sub-component, ad infinitum. Components, sub-components, and smaller sub- components may contain one or more non-allowable regions. A non-temporal characteristic layout may alternatively consist of a set of discrete values such that a code element value maps to a discrete non-temporal characteristic value.
According to some of the more detailed features of the present invention, the code element may be an integer or a floating-point number. An integer code element may indicate that the value of a pulse characteristic is within a component of a layout comprising a range of values, or alternatively, may indicate a sub-component of a plurality of components. In an exemplary embodiment, the code element is a floating-point number of which the non- fractional part indicates the value of the pulse characteristic is within a component of a layout comprising a range of values, or alternatively, indicates a sub-component of a plurality of components. Various approaches are used to specify pulse characteristics. In one approach, an established offset value is used to specify an exact characteristic value within the layout component or sub-component specified by the code element value. In an exemplary embodiment, an absolute offset value is used to specify the value of the pulse characteristic by adding the offset value to the minimum characteristic value of a component (or any subcomponent of the component) to which a code element value is mapped. In another exemplary embodiment, a relative offset value is used to specify a value of a pulse characteristic that is a fraction of the difference between a minimum characteristic value and a maximum characteristic value of the component (or sub-component of the component, etc.) to which a code element is mapped. In yet another approach, a fractional part of the floatingpoint number is used to specify a relative offset or fraction of the difference between a minimum characteristic value and a maximum characteristic value of the component (or any sub-component of the component) to which the code element is mapped (using the non- fractional part of the floating-point number). The above approaches are not mutually exclusive.
In another approach, binary representations of code element values are subdivided into multiple groups of bits, where group of bits are translated into decimal values specifying multiple non-temporal characteristics. In another approach the sign of code element values is used to specify a non-temporal characteristic.
The code element can be used to specify a number of non-temporal characteristics of the pulse, including but not being limited to any of: pulse polarity, including whether or not the pulse is inverted; pulse amplitude; pulse width; and pulse type, hi one embodiment, the pulse type indicates whether the pulse is a square wave pulse, sawtooth pulse, Haar wavelet pulse, gaussian monopulse, doublet pulse, a triplet pulse, or a set of wavelets. In an exemplary embodiment, code elements can specify temporal pulse characteristics in addition to non-temporal pulse characteristics. BRIEF DESCRIPTION OF DRAWINGS
The present invention will be described with reference to the accompanying figures, wherein:
Figure 1 illustrates a layout consisting of a pulse amplitude range including exemplary layout parameters, and exemplary subdivisions of the amplitude range including components, sub-components, smaller components, and even smaller components;
Figure 2a illustrates a non-temporal pulse characteristic layout including an exemplary component;
Figure 2b illustrates a non-temporal pulse characteristic layout including multiple components of the same size;
Figure 2c illustrates a non-temporal pulse characteristic layout including multiple components of different sizes;
Figure 2d illustrates a non-temporal pulse characteristic layout including multiple components of the same size that are each subdivided into sub-components of the same size;
Figure 2e illustrates a non-temporal pulse characteristic layout including multiple components of the same size that are each subdivided into sub-components of different sizes;
Figure 2f illustrates a non-temporal pulse characteristic layout including multiple components of different sizes that are each subdivided into sub-components of the same size;
Figure 2g illustrates a non-temporal pulse characteristic layout including multiple components of different sizes that are each subdivided into sub-components of different sizes;
Figure 2h illustrates a non-temporal pulse characteristic layout including multiple same-size components and same-size sub-components combined with smaller components of the same size;
Figure 2i illustrates a non-temporal pulse characteristic layout including multiple same-size components and same-size sub-components combined with smaller components of different sizes; Figure 2j illustrates a non-temporal pulse characteristic layout including multiple same-size components and different-size sub-components combined with smaller components of the same size;
Figure 2k illustrates a non-temporal pulse characteristic layout including multiple same-size components and different-size sub-components combined with smaller components of different sizes;
Figure 21 illustrates a non-temporal pulse characteristic layout including multiple different-size components and same-size sub-components combined with smaller components of the same size;
Figure 2m illustrates a non-temporal pulse characteristic layout including multiple different-size components and same-size sub-components combined with smaller components of different sizes;
Figure 2n illustrates a non-temporal pulse characteristic layout including multiple different-size components and different-size sub-components combined with smaller components of the same size;
Figure 2o illustrates a non-temporal pulse characteristic layout including multiple different-size components and different-size sub-components are combined with smaller components of different sizes;
Figure 3a illustrates a pulse amplitude value range layout of seven components;
Figure 3b illustrate a pulse width value range layout of five components;
Figure 4a illustrates non-allowable regions within a portion of a non-temporal pulse characteristic layout;
Figure 4b illustrates examples of non-temporal pulse characteristic layouts including non-allowable regions of smaller, same and larger size as compared to allowable regions;
Figure 4c illustrates non-allowable regions within a range of pulse amplitude values, and within layout components, sub-components, and smaller components, with an example of how a code assignment approach can be employed;
Figure 5 a illustrates an exemplary discrete pulse amplitude value layout; Figure 5b illustrates an exemplary discrete pulse width value layout;
Figure 5 c illustrates an exemplary discrete pulse polarity value layout;
Figure 5d illustrates an exemplary discrete pulse type value layout;
Figure 6a illustrates a code mapping approach, depicting integer code element values mapped to a layout encompassing a range of pulse amplitude values subdivided into nine components, where an integer code element exists per pulse, where each code element maps to a component, and where exact pulse amplitude values within components are determined using an offset fraction;
Figure 6b illustrates a code mapping approach, depicting integer code element values mapped to discrete pulse amplitude values, where an integer code element exists per pulse;
Figure 6c illustrates mapping pulse amplitudes to components within a layout encompassing a range of pulse amplitude values using the non-fractional part of a floating point code element value and mapping to exact amplitude values within components using the fractional part of the floating-point code element values;
Figure 6d illustrates mapping of code element values to multiple non-temporal characteristics, where the non-fractional part of each code element specifies pulse amplitude, fractional part of each code element specifies pulse width, and sign of each code element specifies pulse polarity;
Figure 7a illustrates an exemplary embodiment of a least significant bit/most significant bit (LSB/MSB) mapping approach;
Figure 7b illustrates another exemplary embodiment of an LSB/MSB mapping approach;
Figure 8a is a diagram of a linear feedback shift-register pseudorandom number generator; and
Figure 8b is a diagram of an additive Lagged-Fibonacci shift register pseudorandom number generator.
Figure 9 is a block diagram of an impulse transmitter that advantageously uses the present invention. Figure 10 is a block diagram of an impulse receiver that advantageously uses the present invention.
h the figures, like reference numbers generally indicate identical, functionally similar, and/or structurally similar elements. The figure in which an element first appears is indicated by the leftmost digit(s) in the reference number.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
I. Overview
In a time-hopping pulse transmission system, a sequence of pulses known as a pulse train is transmitted and received over a period of time. The relative positioning of the pulses in time defines a channel used by the system to transmit information. Time-hopping pulse transmission systems transmit these pulses such that they have the same non-temporal (i.e., non-time dependent) characteristics while varying the precise timing of the pulses per a time-hopping code. (Non-temporal characteristics include amplitude, width, and other non- time dependent characteristics of a pulse or series of pulses.)
However, to improve channelization and spectral response properties of the pulse trains employed by pulse transmission systems and to enable support for multiple applications, it is desirable that such systems be capable of transmitting pulses having different non-temporal characteristics. Accordingly, the present invention provides a method of using a numerically generated code to specify non-temporal characteristics of pulses within a pulse train for use in an impulse transmission system. The method (and accompanying system) includes: defining a non-temporal characteristic layout; identifying non-allowable regions within the layout; specifying an approach for mapping code element values to non- temporal characteristic values; generating a code using a numerical code generation technique; and mapping code element values to non-temporal characteristic values in accordance with the defined layout and code mapping approach.
II. Value Range Layouts
To facilitate mapping of codes to non-temporal characteristics, a layout of non- temporal characteristic values can be defined. Such layouts can be defined in a multitude of ways to accommodate a wide variety of pulse transmission system applications.
One embodiment involves a value range layout where a range of non-temporal characteristic values is divided into smaller and smaller components to achieve a desired component resolution in order to facilitate mapping of a code element value to a characteristic value that resides within a component, which corresponds to some range of values. The below described embodiment performs this value range layout using the amplitude of a pulse as the non-temporal characteristic. It should be noted, however, that although much of the below described embodiment pertains to a pulse amplitude characteristic it is generally applicable to other non-temporal characteristics as well. In other words, value range layouts of pulse width, pulse polarity, etc., are also possible. This fact, together with the different types of non-temporal characteristics will be made clear from the below description, together with equivalents thereof, as will be recognized by persons skilled in the relevant art.
Figure 1 illustrates an exemplary value range layout of the pulse amplitude. Element
102 is a value range layout. The pulse takes on amplitude values between a minimum value of αø at 110, and a maximum value of amax dX 112 in value range layout 102. Value range layout 102 includes components 104. Components 104 include sub-components 106, which in turn include smaller components 108. The process can be repeated, ad infinitum, so that smaller and smaller components can be obtained.
The following describes this process in detail. Referring back to Figure 1, the two layout parameters, aυ and amax, define the amplitude range, so that it is bounded by minimum pulse amplitude ø and maximum pulse amplitude amax. A second layout parameter, N components, can be specified to divide the amplitude range 102 into one or more components 104 of the same size, or of different sizes, with each component 104 (indexed by the letter ) having a minimum amplitude value, amin(n), and a maximum amplitude value, amax(n), where n — 1 to iv components-
The number and size of components used in a given layout can be used for various reasons. For example, the number and size of the components can be tailored to meet specific application requirements, to remain within system implementation limits, to achieve one or more of a variety of system characteristics in areas such as performance (i.e., bit rate), reliability (i.e., bit error rate), system-simplicity, ease-of-use, ter alia. When different sized components are employed, minimum and maximum amplitude values are specified for each component n, wherein the minimum amplitude value for a given component, amin(n), equals the maximum amplitude value of the preceding component, amax(n-l), or ao, and the maximum amplitude value of a given component, amax(n), equals the minimum amplitude value for the following component, amin(n+l), or amax. When same sized components are employed, the amplitude range is evenly divided such that amax(n) - amιn(n) is equal for each component 104 indexed by n.
An array of layout parameters, Nsllb-components(N 'components), can be specified to subdivide each component 104 into sub-components 106 of the same (or of different sizes) with each sub-component 106 (indexed by m) of the component 104 (indexed by ) having a minimum amplitude value, amin(n,m), and a maximum amplitude value, amax(n,m), where n = 1 to
■N components and. W 1 tO iv sub-componentsyl) •
As with components, the number and size of sub-components for a given component can also be tailored to meet specific application requirements, to remain within system implementation limits, to acliieve one or more of a variety of system characteristics in areas such as performance (i.e., bit rate), reliability (i.e., bit error rate), system-simplicity, ease-of- use, etc., and/or for many other reasons. When different sized sub-components are employed, minimum and maximum amplitude values are specified for each sub-component m of each component n, wherein the minimum amplitude value for a given sub-component, ami„(n,m), equals the maximum amplitude value of the preceding sub-component, amax(n,m-l), or the minimum amplitude value of the component in which the sub-component resides, amιn(n), and the maximum amplitude value of a given sub-component, amax(n,m), equals the minimum amplitude value for the following sub-component, amin(n,m+l), or the maximum amplitude value of the component in which the sub-component resides, amax(n). When same sized sub- components are employed, components are evenly divided such that amax(n,m) - amin(n,m) is equal for each sub-component m of a component n or for all components such that all subcomponents of a given component are of the same size, wherein sub-component sizes may vary from component to component or all sub-components of all components are of the same size depending on the sizes of the components and the numbers of sub-components in the components.
In a manner consistent with the subdivision of components into sub-components, additional multi-dimensional arrays of layout parameters can be used to further subdivide subcomponents into smaller components of the same or different sizes, ad infinitum, until a smallest desirable component resolution is attained, with amplitude components at each resolution level having a minimum amplitude value, amin(n, m, ...,a), and a maximum amplitude value, amax(n,m, ...,a), where n = 1 to A Compone ts, m = 1 to Nsub.components(n), ..., and a = 1 to Λ r smaιieSt component (n, , ...). Such further subdivision of sub-components into smaller and smaller components enables systems with finer and finer tuning resolution and thus higher and higher fidelity, can increase modulation accuracy, and can be useful for other purposes.
As with components and sub-components, the number and size of these smaller components can also be tailored to meet specific application requirements, to remain within system implementation limits, to achieve one or more of a variety of system characteristics in areas such as performance (i.e., bit rate), reliability (i.e., bit error rate), system-simplicity, ease-of-use, etc., and/or for many other reasons. When different sizes of these smaller components are employed, minimum and maximum amplitude values are specified for each smaller component α, wherein the minimum amplitude value for a component, amin(n,m, ...,a), equals the maximum amplitude value of the preceding component, amax(n, m, ... , a~l), or the minimum amplitude value of the next higher level component in which the component resides, amin(n,m, ...), and the maximum amplitude value of a given component, amax(n,m, ...,a), equals the minimum amplitude value for the following component, ami„(n,m, ...,a+l), or the maximum amplitude value of the next higher level component in which the component resides, amax(n,m, ...). When same sized smaller components are employed, the next higher level components are evenly divided such that amax(n,m, ...,a) - amιn(n,m, ...,ά) is equal for each component a of a given next higher level component or for all next higher level component such that all components of a given next higher level component are of the same size, wherein component sizes may vary from next higher level component to next higher level component or all components of all higher level components are of the same size depending on the sizes of the next higher level components and the numbers of components within the next higher level components.
At the top of Figure 1, an amplitude range is depicted that is bounded by endpoints of ao and amax. Beneath this illustration an equivalent amplitude range is shown that has been subdivided into four components by setting the layout parameter N Component to a value of four (4), and the size of each component has been established by setting the minimum and maximum amplitude values of each frame, amin(n) and amax(n), where n = 1 to 4. An enlargement of the second component is then shown where the component has been subdivided into twenty sub-components by setting the layout parameter Nsub-components(2) to a value of twenty (20), and the size of each sub-component has been established by setting the minimum and maximum amplitude values of the sub-components within component two, amin(n,ιn) and amax(n,m), where n = 2 and m = 1 to 20. As illustrated, there are 20 sub- components 106 in component 104, indexed by n = 2, and m = 1-20, labeled amtn(2,l) through amax(2,20).
An enlargement of the eighth sub-component of component two is then shown where the sub-component has been subdivided into ten smaller components by setting the layout parameter Nsmaiier_comPonents(2,8) to a value often (10), and the size of each smaller component has been established by setting the minimum and maximum amplitude values of the smaller components within sub-component eight of component two, amin(n,m,l) and amax(n,m,l), where n = 2, m = S, and / = 1 to 10. As illustrated, there are 10 smaller components 108 in subcomponent 106, indexed by n = 2, and m = 8, and 1=1 to 10, labeled amin(2,8,l) through amax(2,8,10).
It is then shown that these smaller components could be subdivided into x even smaller components (whose size is not shown) using another layout parameter [e.g.,
Neven_smaiie _components(2,8,5) = x], which can be further subdivided ad infinitum. Not shown in the figure are the enlargements of the other components, sub-components, and smaller components, which for this example would also contain twenty sub-components, ten smaller components, and x even smaller components, respectively.
By subdividing an amplitude range into levels of smaller and smaller components and by varying or not varying the size of components at different levels, a multitude of different layout permutations can be defined.
It should be noted, however, that although the present embodiment illustrates the layout of the amplitude range characteristic, many other characteristics can be illustrated instead. For example, the component-based layouts of pulse width, pulse polarity, etc., are also possible, as will be recognized by persons skilled in the relevant art.
Figures 2a through 2o provide examples of different types of layouts that can be established. This group of figures illustrates layout permutations involving nesting of up to three levels of components, which could be subdivided further to additional levels, ad infinitum as will be recognized to persons skilled in the art, to produce additional permutations.
Figure 2a depicts a layout 202 consisting of a single component (not labeled). Figures 2b and 2c present layouts consisting of multiple components of the same size and of different sizes, respectively. Specifically, in Figure 2a, component 1 204 is the same size as component 2 206. hi Figure 2c, component 1 208 is of a different size than component 2 210. Figures 2d and 2e illustrate layouts consisting of multiple components of the same size that are each subdivided into sub-components of the same size or of different sizes, respectively. Specifically, in Figure 2d, component 1 204 is the same size as component 2 206, and the sub-components 212, 214 of component 1 204 are of the same size. In Figure 2e, again component 1 204 is of the same size than component 2 206, but sub-components 216, 218 of component 1 204 are of different sizes.
Similarly, Figures 2f and 2g illustrate layouts consisting of multiple components of different sizes that are each subdivided into sub-components of the same size or of different sizes, respectively. Specifically, in Figure 2f, component 1 208 is of a different same size than component 2 210, and the sub-components 212, 214 of component 1 208 are of the same size. In Figure 2g, again component 1 208 is of a different size than component 2 210, but subcomponents 216, 218 of component 1 208 are of different sizes.
Adding another level of component subdivision and varying whether or not component size remains constant produce an additional eight layout permutations, as shown in Figures 2h through 2o.
hi Figures 2h and 2i same-size components and same-size sub-components are combined with smaller components of the same size and of different sizes, respectively. At the component level (204, 206) and at the sub-component level (212, 214), Figures 2h and 2i are the same. However, the sub-components of Figure 2h have smaller components 220, 222 that are of the same size, whereas the sub-components of Figure 2i have smaller components 224, 226 that are of different sizes.
In Figures 2j and 2k same-size components and different-size sub-components are combined with smaller components of the same size and of different sizes, respectively. At the component level (204, 206) and at the sub-component level (216, 218), Figures 2j and 2k are the same. However, the sub-components of Figure 2j have smaller components 220, 222 that are of the same size, whereas the sub-components of Figure 2k have smaller components 224, 226 that are of different sizes.
In Figures 21 and 2m different-size components and same-size sub-components are combined with smaller components of the same size and of different sizes, respectively. At the component level (208, 206) and at the sub-component level (212, 214), Figures 21 and 2m are the same. However, the sub-components of Figure 21 have smaller components 220, 222 that are of the same size, whereas the sub-components of Figure 2m have smaller components 224, 226 that are of different sizes.
hi Figures 2n and 2o different-size components and different-size sub-components are combined with smaller components of the same size and of different sizes, respectively. At the component level (208, 206) and at the sub-component level (216, 218), Figures 2n and 2o are the same. However, the sub-components of Figure 2n have smaller components 220, 222 that are of the same size, whereas the sub-components of Figure 2o have smaller components 224, 226 that are of different sizes.
Although a number of variations for the components, sub-components, and smaller components are illustrated, those skilled in the art will recognize that the process of breaking down the components into finer and finer levels of granularity ad infinitum is possible, meaning that the smaller components can be further broken down, and so on, and that any conceivable combination of same and different size components is possible.
Figures 3 a and 3b depict the use of value range layouts to specify a range of pulse amplitude values and pulse width values, respectively.
Beginning with Figure 3 a, the figure illustrates a range of amplitude values from a0 110 to amax 112, with the range subdivided into seven components (each labeled 204) as shown vertically on the left side of the figure. Seven pulses 302 are also displayed, which correspond to representative pulses that can be specified using the layout. For the illustrated embodiment, the exact amplitude of each pulse is determined by arbitrarily selecting the approximate middle value of the range component to which a code value (i.e., 1 through 7) would map. The exact values selected within the components can be any other common offset value or a different offset value for each pulse. The layout can also be further subdivided into smaller components to provide greater value resolution, as will be recognized by skilled artisans.
Similarly to Figure 3 a, Figure 3b illustrates a pulse width value range 304 between wo 306 and wmax 308 that has been subdivided into five components. The first component 204 and the second component 206 are labeled. Five representative pulses 310 that can be specified using the layout are illustrated, each with a different width value. As with the amplitude values, the width values used for the five representative pulses 310 are arbitrarily selected as the middle value within each component, and persons skilled in the art will recognize that they could have been selected anywhere within the five components.
III. Non-Allowable Regions Within Value Range Layouts
The present invention permits the establishment of allowable versus non-allowable regions within a layout. One or more non-allowable regions are regions within a layout within which a characteristic value of a pulse is disallowed. A non-allowable region may be equal to a component, be a subset of a component, or span multiple components. A non- allowable region can be based solely on particular pulse characteristic values within a component, sub-component, or smaller component or can be based on characteristic values of one or more other pulses.
By default, pulse characteristic values can be set to reside within the components, subcomponents or smaller components to which mapped by a code element value, hi this embodiment, a characteristic value cannot be less that the minimum characteristic value or greater than the maximum characteristic value of the component, sub-component or smaller component to which a code element value is mapped.
Non-allowable regions bounded by minimum and maximum characteristic values within components, sub-components, or smaller components can also be defined. Such non- allowable regions can be used to accommodate implementation limitations of the pulse transmission system.
Non-allowable regions can be defined based on characteristic values of other pulses as well. A minimum characteristic value difference (or characteristic value delta) can be established relative to one or more other pulses. Similarly, a maximum characteristic value delta can be established relative to one or more other pulses. Non-allowable regions can also be defined that are bounded by minimum and maximum characteristic value deltas relative to one or more pulses. Such 'relative' non-allowable regions can also be used to accommodate limitations of the pulse transmission system. These features are better understood in view of Figures 4a-4c below. Although these figures are described with respect to amplitudes, skilled artisans will recognize that other pulse characteristics can be described (and used to effect mapping) as well.
Figure 4a depicts non-allowable regions within a portion of a pulse amplitude value range layout. In the top portion of the figure, a component, sub-component, or smaller component is shown, which is bounded by a minimum amplitude value 402 and a maximum amplitude value 404. The amplitude values of two exemplary pulses labeled Pulse 1 406 and Pulse 2 408 are shown. Non-allowable regions A 410, B 412, C 414, D 416 and E 418 are shown in layers to illustrate that they can overlap one another.
Two non-allowable regions 410 are shown corresponding to rule A, which is used to facilitate mapping a code element value, where one region consists of all values less than the minimum amplitude value of the component to which a code element value is mapped and one region consists of all values greater than the maximum amplitude value of the same component.
Three non-allowable regions 412, denoted B, are shown. Rule B regions are non- allowable regions defined as being bounded by minimum and maximum amplitude values.
Four regions 414 are defined by rule C. Rule C regions are non-allowable regions defined by a minimum value delta (or difference) relative to Pulse 1 amplitude value 406 and Pulse 2 amplitude value 408. The first two regions 414 represent where a value cannot be used because it would violate the minimum value delta relative to the Pulse 1 406 "amplitude value, and the other two regions 414 represent where a value cannot be used because it would violate the minimum value delta relative to the Pulse 2 408 amplitude value. Conversely, two regions 416, are defined by rule D, and illustrate the application of a maximum delta (or difference) rule, where the leftmost region 416 represents where a value cannot be used because it would violate the maximum value delta relative to the Pulse 2 408 amplitude value, and the rightmost region 416 represents where a value cannot be used because it would violate the maximum value delta relative to the Pulse 1 406 amplitude value. (Two other regions of the same type as those shown in D are not shown due to the size of the figure. These regions would be placed in the far right and far left of the figure.)
Four non-allowable regions 418 are defined by rule E. The rule E regions are non- allowable regions defined as being bounded by minimum and maximum value deltas relative to the two pulses 406, 408.
The bottom portion of Figure 4a depicts the combined effect of the non-allowable regions. Here, the separated layers in the upper portion of the figure are overlaid to show that a given value within a component is either allowable or non-allowable. Figure 4b depicts relative size relationships between non-allowable and allowable regions within components using these exemplary embodiments. As shown in the three examples, non-allowable regions can be smaller than, the same size as, or larger than allowable regions. Referring to example 1 of Figure 4b, the non-allowable regions 426 of components 420 and 422 are smaller in size than the allowable regions 424. In example 2, the non-allowable regions 430 are the same size as the allowable regions 428. In example 3, the non-allowable regions 434 are larger in size than the allowable regions 432.
Non-allowable regions can also be defined at more than one component level as is shown in Figure 4c. In the figure a layout is divided into two allowable regions 436, 442 and a non-allowable region 438. The first allowable region 436 is divided into three components 440 and the second allowable region is treated as a single component 442. The figure further illustrates how components 440 can contain non-allowable regions 446, sub-components 444 can contain non-allowable regions, and so on. These regions of Figure 4c are further explained below.
IV. Discrete Value Layouts
Another approach to defining a layout of non-temporal characteristic values is to specify a layout of discrete non-temporal characteristic values to which individual codes can map. Figures 5a through 5d provide examples of discrete value layouts for pulse amplitude, pulse width, pulse polarity, and pulse type, respectively. In Figure 5a, seven discrete values 502 are shown. Representative pulses 504 are depicted having amplitudes that correspond to the seven discrete values. Unlike the representative pulses depicted in Figure 3 a, which can have any amplitude within a given range component, the amplitude values of the seven representative pulses in Figure 5a each must equal a discrete amplitude value. Similarly, Figure 5b shows a layout of five discrete pulse width values 506 and five representative pulses 508 having widths that correspond to those discrete values.
The discrete value layout approach also lends itself to non-temporal characteristics that do not involve magnitude. Unlike the pulse amplitude and pulse width characteristics, where either a value range layout or a discrete value layout can be used, other non-temporal characteristics can only be specified using a discrete value layout (e.g., pulse polarity and pulse type). Figures 5c and 5d illustrate discrete pulse polarity values and pulse type values, respectively. In Figure 5c a regular pulse 510 and an inverted pulse 512 are shown having the same magnitude, but which are the inverse in polarity to one another. In Figure 5d, eight different pulse types 514-528 are shown which have little relationship to one another. These variations specifically include a square wave pulse 514, a sawtooth pulse 516, a Haar wavelet pulse 518, a Gaussian monopulse 520, a doublet pulse 522, a triplet pulse 524, a doublet/triplet wavelet set 526, and other wavelet sets 528 (including any combination of wavelets). Persons skilled in the art will recognize that any combination of the above-noted pulse types can be used as well.
V. Non-Fixed Layouts
The value range and discrete value layout approaches can be similarly employed using non-fixed layouts, which are also referred to as delta layouts. Where a 'fixed' value range layout defines a range of amplitude values between for example ø 110 and amax 112 (see Figure 1), a 'non-fixed' delta value range layout can specify a range of delta values between for example Δaυ and Δamax, where the delta value range can be divided into components and sub-components in the same manner as a fixed value range can be divided.
Similarly, where discrete values are defined in a discrete value layout, discrete delta values can be defined in a discrete delta value layout. These non-fixed layout approaches to specifying non-temporal pulse characteristics depend on the non-temporal characteristics of the previous pulse. Specifically, the value of a non-temporal characteristic value of a given pulse equals the non-temporal characteristic value of the previous pulse plus a delta characteristic value. This delta value is deteraiined by mapping a code element value to a defined delta value range layout, or to a discrete delta value layout, as appropriate to a person skilled in the art.
VI. Code Mapping Approaches
A multitude of code mapping approaches can be employed in conjunction with a given layout to accommodate pulse transmission system implementation requirements and to optimize system performance for specific applications. A code specifying non-temporal characteristics can be comprised of elements having either integer or floating-point numbers that map to characteristic values within defined characteristic layouts. The value of each integer code element or the non-fractional part of each floating-point code element value can identify a component, sub-component or smaller component (or even smaller component, calculated ad infimtum) corresponding to a range of characteristic values within a defined value range layout or can identify a discrete value within a defined discrete value layout. Additionally, an integer or floating-point code element can be used to specify multiple non- temporal characteristics.
The numbering scheme used for a code must be consistent with the numbering scheme used for the defined characteristic layout to allow mapping of code element values to values within the layout. Components within a value range layout or values within a discrete value layout can be numbered beginning with zero, one, or any other number. Components produced by subdividing higher level components, such as sub-components or smaller components, can be numbered per higher level component such that sub-component numbering begins again with each higher level component, or alternatively can be numbered in sequence independent of the higher level component in which they reside. A non-allowable region can be numbered or not numbered depending on whether code elements are to be mapped to the region.
Figure 4c illustrates how different component numbering approaches can be employed. At the top of the figure, the non-allowable region 438 within the amplitude range is effectively a fifth non-numbered component to which a code element cannot be mapped. Similarly, the first component 440 is shown containing an allowable region subdivided into eight sub-components 444 and a non-allowable region 446 numbered as the ninth subcomponent, thereby enabling a code element to be mapped to it. The figure further illustrates how a non-allowable region can span multiple components. The first non-allowable region 460 within the sixth sub-component of the first component 440 spans two non-numbered smaller components.
Once an integer value or non-fractional part of a floating-point value has been used to map to a value range corresponding to a component, sub-component, or smaller component, an established offset value can be used to specify the exact characteristic value within the component, sub-component, or smaller component. Here, a value is acceptable if it resides outside non-allowable regions defined by established rules. An absolute offset value can be used to specify an exact characteristic value that is a common value difference (or delta) from the minimum characteristic values of the components, sub-components, or smaller components to which code elements are mapped. Alternatively, a relative position offset value can be used to specify an exact characteristic value that is a fraction of the difference between the minimum and maximum characteristic values of the components, subcomponents, or smaller components to which code elements are mapped. For floating-point codes, the fractional part of each floating-point code element can be used to specify the relative offset used to specify an exact characteristic value that is a fraction of the difference between the minimum and maximum characteristic values of the component, sub-component, or smaller component to which the non-fractional part of the floating-point code element is mapped.
Unlike integer codes, where an absolute or relative offset value can be used to specify exact characteristic values in a common manner, the fractional portions of floating-point values can vary per code element. This allows each pulse characteristic value to be established independent of other pulse characteristic values.
Figures 6a through Figures 6d illustrate these component numbering and code mapping approaches. Figure 6a depicts code elements 602 of a code 606 mapped to components 604 within an amplitude range value layout 600, where an integer code element 602 exists per pulse 608. hi the illustrated embodiment, a common relative offset fraction of .5 is used to determine the exact amplitude values.
Figure 6b depicts code elements 602 of a code 606 mapped to discrete amplitude values 610 within a discrete value layout 601, where an integer code element 602 exists per pulse 608. It should be noted that the two figures present two different methods for mapping codes to the same amplitude values.
Figures 6c and 6d depict two methods of mapping pulses to frames using floating- point values. In Figure 6c, the non-fractional portion 612 of each floating-point code element value 616 maps a pulse 608 characteristic to a component 604 within an amplitude value range layout 600. The fractional portion 614 of each floating-point code element 616 specifies the fraction of the difference between the minimum 618 and maximum 620 amplitude values of each mapped component 604 used to determine the exact characteristic value for a pulse.
In Figure 6d, the non-fractional part 612 of each floating-point code element value 616 maps to a discrete amplitude 610 per a discrete value layout 601. The fractional part 614 of the floating-point code element value 616 maps to a discrete pulse width 624 per a discrete value layout (not shown). The sign 622 of each floating-point code element value 616 maps to a discrete pulse polarity 626 (i.e., whether the pulse is inverted) per a discrete value layout (also not shown). The code mapping approaches shown in Figures 6a and 6c can be applied at any component level defined within a value range layout.
A Least Significant Bit/Most Significant Bit (LSB/MSB) approach can also be used to map code elements to characteristic values within a value range or discrete value layout, h one exemplary embodiment of this approach, a component and an offset value can be specified by subdividing the binary representation of a code element value into its most significant and least significant bits.
Here, one subset of bits specifies a component within an amplitude value range layout and the other subset of bits specifies an absolute or relative position offset value used to determine the exact characteristic value within the specified component.
An example of a LSB/MSB mapping approach is shown in Figure 7a. In Figure 7a, the decimal value 702 of each code element value is represented as a 16-bit binary word 704 that is subdivided into its eight MSBs 706 and its eight LSBs 708. The binary value of the MSBs 706 is translated into a decimal value 710 representing the component corresponding to a range of pulse amplitude values. The binary value of the LSBs 708 is translated into a decimal value that is then divided by 100 in order to produce a value 712 representing the desired offset fraction used to calculate the exact amplitude value within the component specified by the MSBs. The bits of a code element's binary representation can also be subdivided into any number of subsets to enable encoding of additional characteristic values (i.e., pulse width, pulse polarity, pulse type, and/or pulse time position).
Figure 7b is similar to Figure 7a except it demonstrates a slightly more complex bit- group mapping approach where the first seven LSBs 710 are used to specify the offset fraction 714 and the last LSB 716 is used to specify pulse polarity 718. The translated bit patterns are shown combined into a translated code that is nearly the same as the translated code shown in Figure 7a, except the first and fifth code element values have a negative sign to specify that the first and fifth pulses are to be inverted.
The LSB MSB or more complex bit-group mapping method can be employed using binary word sizes that are 8-bit, 16-bit, 32-bit or whatever size is deemed appropriate to encode data describing a pulse train. Given a word size, bits can be grouped as appropriate to encode the largest possible value for a given characteristic. For example, to encode offset fraction values with 2-digit precision, a group of 7 data bits is required to represent integer values from 0 to 100. Similarly, if 1000 components exist in a layout, a group of 10 bits is required to represent integer values from 1 to 1000. The LSB MSB or more complex bit- group mapping method can also be employed in combination with established absolute or relative offset values, as will be recognized by persons skilled in the art.
VII. Numerical Code Generation
After the characteristic layout and code mapping approach have been established, a code is generated using a numerical code generation technique. One such technique involves generation of a code comprised of pseudorandom numbers. A pseudorandom code can be generated using a computer's random number generator, binary shift-register(s) mapped to binary words, a chaotic code generation scheme, or another well-known technique.
Computer random number generator functions commonly employ the linear congruential generation (LCG) method, which generates the n-t random number, x„, from the previous random number, xn.ι, using an equation of the general form:
JC — Jx ~ + c (mod m ) n n - 1
where n identifies a given code in the generated code sequence, and the generated sequence is characterized by the multiplier A, the additive constant c, the modulus m, and an initial seed xo- These random number generator functions can be referred to as LCG(α,c, ,Λ.ø), which determines the sequence generated.
Another method used for computer random number generator functions is the Additive Lagged-Fibonacci Generator (ALFG) method. This approach can be described by an equation of the form:
Figure imgf000027_0001
where n identifies a given code in the generated code sequence, and j and k represent offsets to previously generated codes. The period of these generators is (2 -l)2"!_1 and they are referred to as A FG(l,k,m,xo), which determines the sequence generated.
Binary shift-register pseudorandom number generators can be implemented in many different ways. One common approach is the linear feedback shift register illustrated in Figure 8a, including exclusive OR gate 802 and registers 804, which can be described by an equation of the form:
Figure imgf000028_0001
where n identifies a given code in the generated code sequence, k is the number of bits in the shift register, at is the value of the z'-th bit in the shift register. The sequence of bits that is generated depends on the initial shift-register state and which shift-register bit value, at, is fed back into the exclusive-OR device along with the shifted output.
The ALFG method can also be implemented using a shift register 808 and a modulo adder 806 device, as shown in Figure 8b, which can be described by an equation of the form:
x = x . + x j (mod 2 ), / < k n n - j n - k ' J
where n identifies a given code in the generated code sequence, and j and k represent the shift-register bits fed into the modulo adder device.
Many other different but related traditional approaches for generating pseudorandom code sequences can also be employed, comprising inversive congruential generators, explicit- inversive congruential generators, multiple recursive generators, and combined LCGs. Any of these or other similar traditional methods, as known to skilled artisans, can be used to generate a pseudorandom code without departing from the scope of the invention.
In addition to the more traditional approaches described for generating pseudorandom codes, several other non-traditional approaches can be employed including chaotic code generators and Optimal Golomb Ruler (OGR) code generators. Any of these or other non- traditional methods can also be used to generate a pseudorandom code without departing from the scope of the invention.
VIII. Mapping Code Elements to Pulse Characteristic Values
According to the invention, after a code has been generated using one of the above- noted numerical code generation techniques, the code element values are associated with or mapped to specific pulse characteristic values per the defined characteristic layout and the employed code mapping approach. As stated above, non-temporal pulse characteristics include a pulse width characteristic, a pulse amplitude characteristic, a pulse polarity characteristic, and a pulse type characteristic, etc. Of course, code element values may be associated with a non-temporal pulse characteristic in addition to a temporal pulse characteristic, such as a pulse position in time.
A code element value comprises an integer or floating-point value, with each code element value indicating any one of one or more components, one or more sub-components of said component, and one or more smaller components of said sub-component, established by recursively breaking down said sub-component into smaller parts. The one or more components, sub-components, and any number of smaller components may be defined within a layout comprising a range of non-temporal pulse characteristic values. Again, the one or more components are any one of a same size; and a different size than others of said one or more components.
In the manner stated above, any component may include one or more non-allowable regions established by various rules. A rule may, for example, establish non-allowable regions based on a minimum value or a maximum value of a component or may be based on minimum and maximum values within a component. A rule could be based on non-temporal characteristic values of one or more other pulses or a minimum value difference or a maximum value difference from non-temporal characteristic values of one or more other pulses. A rule may also establish a region bounded by a minimum and maximum value difference from non-temporal characteristic values of one or more other pulses.
An established offset value can be used to specify an exact non-temporal characteristic value within a value range layout component specified by a code element value. An absolute offset value could be added to the minimum value of a component. Alternatively a relative offset value may be used to specify a value that is a fraction of the difference between the minimum value and maximum value of a component. The fractional part of a floating-point code element value could be used to specify a relative offset value.
According to one aspect of the present invention, each code element value corresponds to a value that is defined within a layout comprising discrete non-temporal pulse characteristic values. According to another aspect of the present invention, each code element value corresponds to a value that is defined within a layout comprising a range of non-temporal pulse characteristic values and discrete non-temporal pulse characteristic values. As stated above, the present invention can also be employed using a delta value layout.
IX. Exemplary Transceiver Implementation Transmitter An exemplary embodiment of an impulse radio transmitter 902 of an impulse radio communication system having one subcaπier channel will now be described with reference to Fig. 9.
The transmitter 902 comprises a time base 904 that generates a periodic timing signal 907. The time base 904 typically comprises a voltage controlled oscillator (VCO), or the like, having a high timing accuracy and low jitter, on the order of picoseconds (ps). The voltage control to adjust the VCO center frequency is set at calibration to the desired center frequency used to define the transmitter's nominal pulse repetition rate. The periodic timing signal 907 is supplied to a precision timing generator 908.
The precision timing generator 908 supplies synchronizing signals 910 to the code source 912 and utilizes the code source output 914 together with an internally generated subcarrier signal (which is optional) and an information signal 917 to generate a modulated, coded timing signal 918.
The code source 912 comprises a storage device such as a random access memory (RAM), read only memory (ROM), or the like, for storing suitable codes and for outputting the codes as a code signal 914. Alternatively, maximum length shift registers or other computational means can be used to generate the codes.
An information source 920 supplies the information signal 917 to the precision timing generator 908. The information signal 917 can be any type of intelligence, including digital bits representing voice, data, imagery, or the like, analog signals, or complex signals.
A pulse generator 922 uses the modulated, coded timing signal 918 as a trigger to generate output pulses. The output pulses are sent to a transmit antenna 924 via a transmission line 927 coupled thereto. The output pulses are converted into propagating electromagnetic pulses by the transmit antenna 924. hi the present embodiment, the electromagnetic pulses are called the emitted signal, and propagate to an impulse radio receiver 1002, such as shown in Fig. 10, through a propagation medium, such as air, in a radio frequency embodiment. In a preferred embodiment, the emitted signal is wide-band or ultrawide-band, approaching a monocycle pulse as in Figures 3a and 3b. However, the emitted signal can be spectrally modified by filtering of the pulses. This filtering will usually cause each monocycle pulse to have more zero crossings (more cycles) in the time domain, hi this case, the impulse radio receiver can use a similar waveform as the template signal in the cross correlator for efficient conversion.
Receiver
An exemplary embodiment of an impulse radio receiver 1002 (hereinafter called the receiver) for the impulse radio communication system is now described with reference to Fig. 10. More specifically, the system illustrated in Fig. 10 is for reception of digital data wherein one or more pulses are transmitted for each data bit.
The receiver 1002 comprises a receive antenna 1004 for receiving a propagated impulse radio signal 1007. A received signal 1008 from the receive antenna 1004 is coupled to a cross correlator or sampler 1010 to produce a baseband output 1012. The cross correlator or sampler 1010 includes multiply and integrate functions together with any necessary filters to optimize signal to noise ratio.
The receiver 1002 also includes a precision timing generator 1014, which receives a periodic timing signal 1017 from a receiver time base 1018. This time base 1018 is adjustable and controllable in time, frequency, or phase, as required by the lock loop in order to lock on the received signal 1008. The precision timing generator 1014 provides synchronizing signals 1020 to the code source 1022 and receives a code control signal 1024 from the code source 1022. The precision timing generator 1014 utilizes the periodic timing signal 1017 and code control signal 1024 to produce a coded timing signal 1027. The template generator 1028 is triggered by this coded timing signal 1027 and produces a train of template signal pulses 1030 ideally having waveforms substantially equivalent to each pulse of the received signal 1008. The code for receiving a given signal is the same code utilized by the originating transmitter 902 to generate the propagated signal 1007. Thus, the timing of the template pulse train 1030 matches the timing of the received signal pulse train 1008, allowing the received signal 1008 to be synchronously sampled in the correlator 1010. The correlator 1010 ideally comprises a multiplier followed by a short term integrator to sum the multiplier product over the pulse interval.
Further examples and details of correlation and sampling processes can be found in commonly owned patents 4,641,317, 4,743,906, 4,813,057, and 4979,186, which are incorporated herein by reference, and commonly owned and co-pending application 09/356,384, filed July 16, 1999, titled: "Baseband Signal Converter Device for a Wideband Impulse Radio Receiver," which is incorporated herein by reference.
The output of the correlator 1010, also called a baseband signal 1012, is coupled to a subcarrier demodulator 1032, which demodulates the subcarrier information signal from the subcarrier. The purpose of the optional subcarrier process, when used, is to move the information signal away from DC (zero frequency) to improve immunity to low frequency noise and offsets. The output of the subcarrier demodulator 1032 is then filtered or integrated in a pulse summation stage 1034. The pulse summation stage produces an output representative of the sum of a number of pulse signals comprising a single data bit. The output of the pulse summation stage 1034 is then compared with a nominal zero (or reference) signal output in a detector stage 1038 to determine an output signal 1039 representing an estimate of the original information signal 917.
The baseband signal 1012 is also input to a lowpass filter 1042 (also referred to as lock loop filter 1042). A control loop comprising the lowpass filter 1042, time base 1018, precision timing generator 1014, template generator 1028, and correlator 1010 is used to generate a filtered error signal 1044. The filtered error signal 1044 provides adjustments to the adjustable time base 1018 to time position the periodic timing signal 1027 in relation to the position of the received signal 1008.
h a transceiver embodiment, substantial economy can be achieved by sharing part or all of several of the functions of the transmitter 902 and receiver 1002. Some of these include the time base 1018, precision timing generator 1014, code source 1022, antenna 1004, and the like.
X. Conclusion While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example only, and not limitation. Thus, the breadth and scope of the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.

Claims

WHAT IS CLAIMED IS:
1. A method for specifying at least one characteristic of at least one pulse, comprising:
generating at least one code having at least one code element value; and
associating said at least one code element value with at least one non-temporal pulse characteristic.
2. The method of claim 1, wherein said non-temporal pulse characteristic is a pulse width characteristic.
3. The method of claim 1, wherein said non-temporal pulse characteristic is a pulse amplitude characteristic.
4. The method of claim 1, wherein said non-temporal pulse characteristic is a pulse polarity characteristic.
5. The method of claim 1, wherein said non-temporal pulse characteristic is a pulse type characteristic.
6. The method of claim 1, wherein said code element values are associated with at least one temporal pulse characteristic in addition to said at least one non-temporal pulse characteristic.
7. The method of claim 6, wherein said temporal pulse characteristic corresponds to a pulse position in time.
8. The method of claim 1, wherein each of said code element values comprises an integer or floating-point value.
9. The method of claim 1 , wherein each of said code element values indicate any one of:
at least one component;
at least one sub-component of said component; and
at least one smaller component of said sub-component established by recursively breaking down said sub-component into smaller parts, wherein said at least one component, said at least one sub-component, and said at least one smaller component are defined within at least one layout comprising a range of non-temporal pulse characteristic values.
10. The method of claim 9, wherein any one of said at least one component is any one of:
a same size; and
a different size
than others of said at least one component, and
wherein any one of said at least one sub-component is any one of:
a same size; and
a different size
than others of said at least one sub-component, and
wherein any one of said at least one smaller component is any one of:
a same size; and
a different size
than others of said at least one smaller component.
11. The method of claim 9, wherein said at least one component, said at least one sub-component, and said any number of smaller components comprise at least one non- allowable region established by at least one rule.
12. The method of claim 11 , wherein said at least one rule establishing at least one non-allowable region is based on any one of:
a minimum value; and
a maximum value,
of any one of:
said at least one component; said at least one sub-component; and
said any number of smaller components.
13. The method of claim 11 , wherein said at least one rule establishing at least one non-allowable region is based on minimum and maximum values within any one of:
said at least one component;
said at least one sub-component; and
said any number of smaller components,
within a layout.
14. The method of claim 11 , wherein said at least one rule establishing at least one non-allowable region is based on at least one non-temporal characteristic value of at least one other pulse.
15. The method of claim 14, wherein said at least one rule establishes a minimum value difference or a maximum value difference.
16. The method of claim 14, wherein said at least one rule establishes a region bounded by a minimum and maximum value difference.
17. The method of claim 9, wherein an established offset value is used to specify an exact non-temporal characteristic value within any one of:
said at least one component;
said at least one sub-component; and
said any number of smaller components indicated by said code element value.
18. The method of claim 17, wherein an absolute offset value is added to the minimum value of the component, sub-component, or smaller component to which the code element value is mapped.
19. The method according to claim 17, wherein a relative offset value is used to specify a value that is a fraction of the difference between the minimum value and maximum value of any one of: said at least one component;
said at least one sub-component; and
said any number of smaller components.
20. The method of claim 19, wherein a fractional part of a floating-point code element value comprises said relative offset value.
21. The method according to claim 4, wherein a polarity of said pulse indicates whether said pulse is inverted.
22. The method according to claim 5, wherein the type of said pulse indicates whether said pulse is any one of:
a square wave pulse;
a sawtooth pulse;
a Haar wavelet pulse;
a Gaussian monopulse;
a doublet pulse;
a triplet pulse; and
a set of wavelets.
23. The method according to claim 1 , wherein each code element value corresponds to a value defined within a layout comprising discrete non-temporal pulse characteristic values.
24. The method according to claim 1, wherein each code element value corresponds to a value defined within a layout comprising a range of non-temporal pulse characteristic values and discrete non-temporal pulse characteristic values.
25. The method according to claim 9, wherein said layout is a delta value layout.
26. An impulse transmission system comprising:
a Time Modulated Ultra Wideband Transmitter; a Time Modulated Ultra Wideband Receiver; and
said Time Modulated Ultra Wideband Transmitter and said Time Modulated Ultra Wideband Receiver employ at least one code, wherein said code has at least one code element value, and said code element values are associated with at least one non-temporal pulse characteristic.
27. The impulse transmission system of claim 26, wherein said non-temporal pulse characteristic is a pulse width characteristic.
28. The impulse transmission system of claim 26, wherein said non-temporal pulse characteristic is a pulse amplitude characteristic.
29 The impulse transmission system of claim 26, wherein said non-temporal pulse characteristic is a pulse polarity characteristic.
30. The impulse transmission system of claim 26, wherein said non-temporal pulse characteristic is a pulse type characteristic.
31. The impulse transmission system of claim 26, wherein said code element values are associated with at least one temporal pulse characteristic in addition to said at least one non-temporal pulse characteristic.
32. The impulse transmission system of claim 31 , wherein said temporal pulse characteristic corresponds to a pulse position in time.
33. The impulse transmission system of claim 26, wherein each of said code element values comprises an integer or floating-point value.
34. The impulse transmission system of claim 26, wherein each of said code element values indicate any one of:
at least one component;
at least one sub-component of said component; and
at least one smaller component of said sub-component established by recursively breaking down said sub-component into smaller parts, wherein said at least one component, said at least one sub-component, and said at least one smaller component are defined within at least one layout comprising a range of non-temporal pulse characteristic values.
35. The impulse transmission system of claim 34, wherein any one of said at least one component is any one of:
a same size; and
a different size
than others of said at least one component, and
wherein any one of said at least one sub-component is any one of:
a same size; and
a different size
than others of said at least one sub-component, and
wherein any one of said at least one smaller component is any one of:
a same size; and
a different size
than others of said at least one smaller component.
36. The impulse transmission system of claim 34, wherein said at least one component, said at least one sub-component, and said any number of smaller components comprise at least one non-allowable region established by at least one rule.
37. The impulse transmission system of claim 36, wherein said at least one rule establishing at least one non-allowable region is based on any one of:
a minimum value; and
a maximum value,
of any one of:
said at least one component; said at least one sub-component; and
said any number of smaller components.
38. The impulse transmission system of claim 36, wherein said at least one rule establishing at least one non-allowable region is based on minimum and maximum values within any one of:
said at least one component;
said at least one sub-component; and
said any number of smaller components,
within a layout.
39. The impulse transmission system of claim 36, wherein said at least one rule establishing at least one non-allowable region is based on at least one non-temporal characteristic value of at least one other pulse.
40. The impulse transmission system of claim 39, wherein said at least one rule establishes a minimum value difference or a maximum value difference.
41. The impulse transmission system of claim 39, wherein said at least one rule establishes a region bounded by a minimum and maximum value difference.
42. The impulse transmission system of claim 34, wherein an established offset value is used to specify an exact non-temporal characteristic value within any one of:
said at least one component;
said at least one sub-component; and
said any number of smaller components indicated by said code element value.
43. The impulse transmission system of claim 42, wherein an absolute offset value is added to the minimum value of the component, sub-component, or smaller component to which the code element value is mapped.
44. The impulse transmission system according to claim 42, wherein a relative offset value is used to specify a value that is a fraction of the difference between the minimum value and maximum value of any one of: said at least one component;
said at least one sub-component; and
said any number of smaller components.
45. The impulse transmission system of claim 44, wherein a fractional part of a floating-point code element value comprises said relative offset value.
46. The impulse transmission system according to claim 29, wherein a polarity of said pulse indicates whether said pulse is inverted.
47. The impulse transmission system according to claim 30, wherein the type of said pulse indicates whether said pulse is any one of:
a square wave pulse;
a sawtooth pulse;
a Haar wavelet pulse;
a Gaussian monopulse;
a doublet pulse;
a triplet pulse; and
a set of wavelets.
48. The impulse transmission system according to claim 26, wherein each code element value corresponds to a value defined within a layout comprising discrete non- temporal pulse characteristic values.
49. The impulse transmission system according to claim 26, wherein each code element value corresponds to a value defined within a layout comprising a range of non- temporal pulse characteristic values and discrete non-temporal pulse characteristic values.
50. The impulse transmission system according to claim 34, wherein said layout is a delta value layout.
PCT/US2001/018792 2000-06-12 2001-06-12 A method for specifying non-temporal pulse characteristics WO2001097476A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2001271297A AU2001271297A1 (en) 2000-06-12 2001-06-12 A method for specifying non-temporal pulse characteristics

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US59225000A 2000-06-12 2000-06-12
US09/592,250 2000-06-12
US63819200A 2000-08-15 2000-08-15
US09/638,192 2000-08-15

Publications (2)

Publication Number Publication Date
WO2001097476A2 true WO2001097476A2 (en) 2001-12-20
WO2001097476A3 WO2001097476A3 (en) 2002-06-06

Family

ID=27081408

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/018792 WO2001097476A2 (en) 2000-06-12 2001-06-12 A method for specifying non-temporal pulse characteristics

Country Status (3)

Country Link
US (1) US7711026B2 (en)
AU (1) AU2001271297A1 (en)
WO (1) WO2001097476A2 (en)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8032368B2 (en) * 2005-07-11 2011-10-04 Lg Electronics Inc. Apparatus and method of encoding and decoding audio signals using hierarchical block swithcing and linear prediction coding
JP2009074856A (en) * 2007-09-19 2009-04-09 Panasonic Corp Spread spectrum radar system
US7848382B2 (en) * 2008-01-17 2010-12-07 Daylight Solutions, Inc. Laser source that generates a plurality of alternative wavelength output beams
US8774244B2 (en) 2009-04-21 2014-07-08 Daylight Solutions, Inc. Thermal pointer
US8467346B2 (en) * 2009-06-19 2013-06-18 Futurewei Technologies, Inc. Method and apparatus for generating time-frequency patterns for reference signal in an OFDM wireless communication system
WO2011156033A2 (en) * 2010-03-15 2011-12-15 Daylight Solutions, Inc. Laser source that generates a rapidly changing output beam
US9225148B2 (en) 2010-09-23 2015-12-29 Daylight Solutions, Inc. Laser source assembly with thermal control and mechanically stable mounting
US8467430B2 (en) 2010-09-23 2013-06-18 Daylight Solutions, Inc. Continuous wavelength tunable laser source with optimum orientation of grating and gain medium
US9042688B2 (en) 2011-01-26 2015-05-26 Daylight Solutions, Inc. Multiple port, multiple state optical switch
WO2014009981A1 (en) * 2012-07-12 2014-01-16 Datalogic S.P.A. Synchronization of a real-time uwb locating system
US10495737B1 (en) 2019-02-07 2019-12-03 Clairvoyant Networks, LLC Methods, systems, and computer readable media for time-slotted ultra-wide-band object tracking
US10567035B1 (en) 2019-03-06 2020-02-18 Clairvoyant Networks, LLC Methods, systems, and computer readable media for distribution of time synchronization information to ultra-wide-band devices
US10484833B1 (en) 2019-04-12 2019-11-19 Clairvoyant Networks, LLC Methods, systems and computer readable media for providing and using ultra wideband local area networks (LANs)
US11677603B2 (en) * 2020-04-30 2023-06-13 Qualcomm Incorporated Peak-to-average power ratio reduction with pseudo-random in-band tone reservation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5677927A (en) * 1994-09-20 1997-10-14 Pulson Communications Corporation Ultrawide-band communication system and method
US6026125A (en) * 1997-05-16 2000-02-15 Multispectral Solutions, Inc. Waveform adaptive ultra-wideband transmitter
WO2001099305A2 (en) * 2000-06-21 2001-12-27 Pulse-Link, Incorporated Ultra wide band transmitter

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3728632A (en) * 1971-03-12 1973-04-17 Sperry Rand Corp Transmission and reception system for generating and receiving base-band pulse duration pulse signals without distortion for short base-band communication system
US4170757A (en) * 1977-12-30 1979-10-09 The United States Of America As Represented By The Secretary Of The Army Method of and apparatus for transmitting clandestine radio signals
US4813057A (en) * 1984-12-03 1989-03-14 Charles A. Phillips Time domain radio transmission system
US4641317A (en) * 1984-12-03 1987-02-03 Charles A. Phillips Spread spectrum radio transmission system
US4743906A (en) * 1984-12-03 1988-05-10 Charles A. Phillips Time domain radio transmission system
US5363108A (en) * 1984-12-03 1994-11-08 Charles A. Phillips Time domain radio transmission system
US4928316A (en) * 1988-02-04 1990-05-22 Bell Communications Research, Inc. Optical systems and methods based upon temporal stretching, modulation and recompression of ultrashort pulses
US5134408A (en) * 1991-01-30 1992-07-28 Geophysical Survey Systems, Inc. Detection of radar signals with large radar signatures
US5341395A (en) * 1992-11-24 1994-08-23 At&T Bell Laboratories Data recovery technique for asynchronous CDMA systems
US5377225A (en) * 1993-10-19 1994-12-27 Hughes Aircraft Company Multiple-access noise rejection filter for a DS-CDMA system
US5748891A (en) * 1994-07-22 1998-05-05 Aether Wire & Location Spread spectrum localizers
US5610907A (en) * 1994-07-29 1997-03-11 Barrett; Terence W. Ultrafast time hopping CDMA-RF communications: code-as-carrier, multichannel operation, high data rate operation and data rate on demand
US6160802A (en) * 1994-07-29 2000-12-12 Barrett Holding, Llc Ultrafast time hopping CDMA and TDMA RF and optical communications: code-as-carrier, multichannel operation, high data rate operation and data rate on demand
US5523728A (en) * 1994-08-17 1996-06-04 The United States Of America As Represented By The Secretary Of The Army Microstrip DC-to-GHZ field stacking balun
US5687169A (en) * 1995-04-27 1997-11-11 Time Domain Systems, Inc. Full duplex ultrawide-band communication system and method
US5832035A (en) * 1994-09-20 1998-11-03 Time Domain Corporation Fast locking mechanism for channelized ultrawide-band communications
US5793759A (en) * 1995-08-25 1998-08-11 Terayon Corporation Apparatus and method for digital data transmission over video cable using orthogonal cyclic codes
GB2307152B (en) * 1995-11-10 1999-04-07 Motorola Ltd Method and apparatus for enhanced communication capability while maintaining standard channel modulation compatibility
US5867478A (en) * 1997-06-20 1999-02-02 Motorola, Inc. Synchronous coherent orthogonal frequency division multiplexing system, method, software and device
US6700939B1 (en) * 1997-12-12 2004-03-02 Xtremespectrum, Inc. Ultra wide bandwidth spread-spectrum communications system
US6505032B1 (en) * 2000-05-26 2003-01-07 Xtremespectrum, Inc. Carrierless ultra wideband wireless signals for conveying application data
US6212230B1 (en) * 1998-04-04 2001-04-03 Sigmatel, Inc. Method and apparatus for pulse position modulation
US6304623B1 (en) * 1998-09-03 2001-10-16 Time Domain Corporation Precision timing generator system and method
US6603818B1 (en) * 1999-09-23 2003-08-05 Lockheed Martin Energy Research Corporation Pulse transmission transceiver architecture for low power communications
US6437832B1 (en) * 1999-10-21 2002-08-20 General Electric Company Mitigation of multipath using ultra wideband DTV overlay signal
US6763057B1 (en) * 1999-12-09 2004-07-13 Time Domain Corporation Vector modulation system and method for wideband impulse radio communications
US6636567B1 (en) * 2000-06-12 2003-10-21 Time Domain Corporation Method of specifying non-allowable pulse characteristics
US6671310B1 (en) * 2000-06-12 2003-12-30 Time Domain Corporation Method and apparatus for positioning pulses over time by applying time-hopping codes having pre-defined characteristics
US7145954B1 (en) * 2000-06-12 2006-12-05 Time Domain Corporation Method and apparatus for mapping pulses to a non-fixed layout
US6636566B1 (en) * 2000-06-12 2003-10-21 Time Domain Corporation Method and apparatus for specifying pulse characteristics using a code that satisfies predefined criteria

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5677927A (en) * 1994-09-20 1997-10-14 Pulson Communications Corporation Ultrawide-band communication system and method
US6026125A (en) * 1997-05-16 2000-02-15 Multispectral Solutions, Inc. Waveform adaptive ultra-wideband transmitter
WO2001099305A2 (en) * 2000-06-21 2001-12-27 Pulse-Link, Incorporated Ultra wide band transmitter

Also Published As

Publication number Publication date
US7711026B2 (en) 2010-05-04
US20080075153A1 (en) 2008-03-27
WO2001097476A3 (en) 2002-06-06
AU2001271297A1 (en) 2001-12-24

Similar Documents

Publication Publication Date Title
US6636567B1 (en) Method of specifying non-allowable pulse characteristics
US6671310B1 (en) Method and apparatus for positioning pulses over time by applying time-hopping codes having pre-defined characteristics
US6959032B1 (en) Method and apparatus for positioning pulses in time
US6636566B1 (en) Method and apparatus for specifying pulse characteristics using a code that satisfies predefined criteria
US7145954B1 (en) Method and apparatus for mapping pulses to a non-fixed layout
US7711026B2 (en) Method and apparatus for applying codes having pre-defined properties
US6912240B2 (en) Method and apparatus for generating a large number of codes having desirable correlation properties
US6778603B1 (en) Method and apparatus for generating a pulse train with specifiable spectral response characteristics
US5960031A (en) Ultrawide-band communication system and method
US6937639B2 (en) System and method for positioning pulses in time using a code that provides spectral shaping
Ghavami et al. A novel UWB pulse shape modulation system
US7675960B2 (en) Method for generating communication signal sequences having desirable correlation properties and system for using same
JP2008533754A (en) Method and system for removing spectral lines of ultra-wideband signal and shaping power spectral density
US7184719B2 (en) Method for operating multiple overlapping wireless networks
US20030043934A1 (en) System and method for applying delay codes to pulse train signals
WO2001097477A2 (en) Method for specifying pulse characteristics
JP2008508798A (en) System and method for spectral line mitigation in ultra-wideband transceivers
US7280601B2 (en) Method for operating multiple overlapping wireless networks
WO2001097395A2 (en) A method and apparatus for applying codes having predefined properties
AU756880B2 (en) An impulse radio communication apparatus

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
AK Designated states

Kind code of ref document: A3

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A3

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP