WO2001097395A2 - A method and apparatus for applying codes having predefined properties - Google Patents

A method and apparatus for applying codes having predefined properties Download PDF

Info

Publication number
WO2001097395A2
WO2001097395A2 PCT/US2001/018785 US0118785W WO0197395A2 WO 2001097395 A2 WO2001097395 A2 WO 2001097395A2 US 0118785 W US0118785 W US 0118785W WO 0197395 A2 WO0197395 A2 WO 0197395A2
Authority
WO
WIPO (PCT)
Prior art keywords
code
pulse
transmission system
impulse transmission
code generation
Prior art date
Application number
PCT/US2001/018785
Other languages
French (fr)
Other versions
WO2001097395A3 (en
Inventor
James L. Richards
Mark D. Roberts
Marcus H. Pendergrass
Original Assignee
Time Domain Corporation
Fullerton, Larry, W.
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
Priority claimed from US09/591,690 external-priority patent/US6671310B1/en
Application filed by Time Domain Corporation, Fullerton, Larry, W. filed Critical Time Domain Corporation
Priority to AU2001269782A priority Critical patent/AU2001269782A1/en
Publication of WO2001097395A2 publication Critical patent/WO2001097395A2/en
Publication of WO2001097395A3 publication Critical patent/WO2001097395A3/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/69Spread spectrum techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/69Spread spectrum techniques
    • H04B2001/6908Spread spectrum techniques using time hopping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J13/00Code division multiplex systems
    • H04J13/10Code generation

Definitions

  • the present invention relates to impulse transmission systems and, more particularly, to a method of applying codes for specifying characteristics of pulses in an impulse transmission system.
  • 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 tilings.
  • the impulse radio systems depend, in part, on processing gain to achieve rejection of unwanted signals.
  • 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 syncl ronized 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.
  • 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 "l'" 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.
  • 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.
  • TM-UWB technology may be used in a wide variety of applications, such as multiple-access communication systems, positioning systems, radar systems, etc. Such applications have varying requirements for correlation and spectral properties of the pulse trains they employ.
  • the described time-hopping code methods produce codes that can be employed to address either a spectral property requirement or a correlation property requirement of given application, but are limited in their ability to address both correlation and spectral property requirements. As a result, such codes are limited in their ability to address both signal acquisition and channelization requirements of a given TM-UWB application requiring tradeoffs to be made when selecting a time-hopping code. Because of the wide variety of TM-UWB technology applications and limitations to current code generation and mapping methods, there exists a need for code generation and mapping methods that satisfy correlation property and spectral property requirements of TM-UWB applications.
  • a sequential and/or nested combination of two or more codes is used to specify pulse characteristics, e.g., pulse time positions, such that the correlation and/or spectral properties of the combined codes are realized.
  • the present invention provides a method for specifying pulse characteristics that specifies a layout that is subdivided into at least a first and a second component.
  • the present invention applies a first code having first pre-defined properties to the first component, and applies a second code having second pre-defined properties to the second component.
  • the first code may be generated using a numerical code generation technique, for example, one with nearly ideal autocorrelation properties.
  • the numerical code generation technique can include Welch-Costas Array, Golomb-Costas Array, or Hyperbolic Congruential code generation techniques.
  • the second code may also be generated using a numerical code generation technique, for example, one with nearly ideal cross-correlation properties.
  • the numerical code generation technique can include Quadratic Congruential, Linear Congruential, or Hyperbolic Congruential code generation techniques.
  • the first and second components may have the same or different sizes
  • the layout is sequentially subdivided into a first or a second subdivision components
  • the first and second subdivision components can have the same or different sizes.
  • the first and second components may contain discrete values, h one embodiment, the discrete values can be evenly distributed or non-evenly distributed within the components. According to some of the more detailed features of the present invention, the first and second components may be sequentially subdivided into at least a first or a second subdivision component containing discrete values. In one embodiment, the first and second subdivision components can have the same or different sizes. In one embodiment, the discrete values can be evenly distributed or non-evenly distributed within the subdivision components.
  • the first and second pre-defined properties may relate to a spectral property or a correlation property, such as an auto-correlation property or a cross-correlation property.
  • a spectral property or a correlation property such as an auto-correlation property or a cross-correlation property.
  • the first and second pre-defined properties may relate to different spectral and correlation properties.
  • the first predefined properties may relate to the auto-correlation properties and the second predefined properties may relate to the cross-correlation properties.
  • the first or second code is generated using a numerical code generation technique with nearly ideal spectral properties.
  • the numerical code generation technique can include linear congruential pseudorandom number generator, additive lagged-Fibonacci pseudorandom number generator, linear feedback shift register, lagged-Fibonacci shift register, chaotic code generator or optimal Golomb ruler code generator techniques.
  • the first code specifies subdivision components within which pulse characteristics are to be specified and the second code specifies discrete values within the subdivision components specified by the first code.
  • first and second codes are mapped to the first component, and first and second codes are mapped to the second component, where each first code specifies subdivision components within which pulse characteristics are to be specified and each second code specifies discrete values within the subdivision components specified by the corresponding first code.
  • Figure 1 illustrates a time period including exemplary time period layout parameters, and exemplary subdivisions of the time period including frames, subcomponents, smaller time components, and even smaller time components;
  • Figure 2a illustrates a discrete value layout of thirty-seven evenly distributed values including exemplary layout parameters
  • Figure 2b illustrates a discrete value layout of six non-evenly distributed values including exemplary layout parameters
  • Figure 3 illustrates a combined value range/discrete value layout of four frames subdivided into nine subcomponents containing 27 discrete time values each including exemplary layout parameters;
  • Figure 4 illustrates a code mapping approach, depicting pulses mapped to subcomponents based on integer code element values of a code, where an integer code element exists per frame and pulses are positioned within subcomponents using a common position offset;
  • Figure 5 illustrates a code mapping approach, depicting pulses mapped to discrete time values based on integer code element values of a code, where an integer code element exists per frame;
  • Figure 6 illustrates a sequential combination of two or more repeating codes and a repeating sequential combination of two or more repeating codes
  • Figure 7a illustrates mapping of a sequential combination of two or more repeating same length codes to a repeating layout and mapping of a repeating sequential combination of two or more repeating same length codes to a repeating layout
  • Figure 7b illustrates mapping a sequential combination of two or more repeating codes of different sizes to a sequential combination of two or more repeating layouts of different sizes and mapping a repeating sequential combination of two or more repeating codes of different sizes to a repeating sequential combination of two or more repeating layouts of different sizes;
  • Figure 8 illustrates multicast transmissions between a transmitter and four receivers using a sequential combination or repeating sequential combination of four repeating codes
  • Figure 9 illustrates use of a sequential combination of an optimal code for signal acquisition and an optimal code for channelization
  • Figure 10 illustrates use of a first code to specify subcomponents within a value range layout and a second code to specify discrete values within the subcomponents specified by the first code
  • Figure 11 illustrates the effect on the spectrum of a quadratic congruential code resulting from the use of a nested pseudorandom code
  • Figure 12 illustrates a sequential combination of two or more repeating nested codes and a repeating sequential combination of two or more repeating nested codes.
  • Figure 13a is a diagram of a binary linear feedback shift-register pseudorandom number generator
  • Figure 13b is a diagram of an additive Lagged-Fibonacci shift register pseudorandom number generator
  • FIG. 14 is a block diagram of an impulse transmitter that advantageously uses the present invention.
  • FIG. 15 is a block diagram of an impulse receiver that advantageously uses the present invention.
  • the present invention provides a method of using a combination of two or more generated codes to specify characteristics of pulses within a pulse train, e.g., time positions.
  • each generated code consists of a set or a number of code element values.
  • the method involves defining one or more characteristic value layouts, generating two or more codes with pre-defined properties, and mapping the codes to the characteristic value layout(s).
  • a combination of codes are mapped to sequential layouts.
  • a combination of codes are nested such that one code specifies subcomponents within a layout wlangle the second code specifies discrete values within the subcomponents specified by the first code.
  • a combination of nested codes are mapped to sequential layouts.
  • a sequence of pulses known as a pulse train is transmitted and received over a period of time such that the relative positioning of the pulses in time defines a channel used by the system to transmit information.
  • Time period(s) can be laid out in a multitude of ways to accommodate a wide variety of pulse transmission system applications.
  • One approach involves a value range layout where a period of time is divided into smaller and smaller components. The division is used to achieve a desired component resolution in order to facilitate mapping of a code element value to a time position value that resides within a layout component, which corresponds to some range of time values.
  • Figure 1 illustrates an exemplary component based time period value range layout 102 of time position values between a minimum value of to at 110, and a maximum value of t max at 112.
  • the layout 102 may include frames 104.
  • Frames 104 may include subcomponents 106.
  • Subcomponents 106 may include smaller components 108, which in turn may include even smaller components. The process can be repeated, ad infinitum, so that smaller and smaller components can be obtained.
  • Multiple frame sizes may be employed to accommodate multiple data stream systems, to add an encryption dimension, and/or for many other purposes.
  • one or more acquisition frames and/or one or more header frames can be intermixed with one or more frames containing user data, wherein the acquisition, header, and user data frames have different sizes.
  • same size frames may be employed such that acquisition, header, and user data are combined into a single data stream that is deciphered via a communications protocol once the data stream is captured.
  • the number and size of frames used in a given layout can also be tailored to meet specific application requirements. They can also be used 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 time values are specified for each frame 104.
  • the minimum time value for a given frame, t min (n) may equal the maximum time value of the preceding frame, t max (n-l), or to (110).
  • the maximum time value of a given frame, t max (n) may equal the minimum time value for the following frame, t m ,-êt(n+l), or t max (112).
  • the time period is evenly divided such that t max (n) - t min (n) is equal for each frame n.
  • An array of layout parameters, N subcomponents ⁇ , frames) can be specified to subdivide frames into subcomponents.
  • subcomponent sizes may be employed to accommodate multiple bit rates, to achieve desirable correlation properties, to add an encryption dimension, and/or for many other purposes, as will be recognized by persons skilled in the art.
  • the number and size of subcomponents for a given frame used in a given layout can also be tailored to meet specific application requirements. These parameters may also be selected 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 time values are specified for each subcomponent 106 (m) of each frame 104 (n).
  • the minimum time value for a given subcomponent, t m i n (n,m) may equal the maximum time value of the preceding subcomponent, t max (n,m-l), or the minimum time value of the frame in which the subcomponent resides, t m i grasp(n).
  • the maximum time value of a given subcomponent, t max (n,m) may alternatively equal the minimum time value for the following subcomponent, t m ⁇ instruct(n,m+l), or the maximum time value of the frame in which the subcomponent resides,
  • frames may be evenly divided.
  • t max (n,m) - t m i n (n,m) maybe equal for each subcomponent 106 of a frame 104 or for all frames 104 such that all subcomponents of a given frame 104 are of the same size.
  • the subcomponent sizes may vary from frame to frame or all subcomponents of all frames may be the same size depending on the sizes of the frames and the numbers of subcomponents within the frames.
  • additional multi-dimensional arrays of layout parameters can be used to further subdivide subcomponents into smaller components 108 of the same or different sizes, ad infinitum. This subdivision may continue until a smallest desirable time component resolution is attained.
  • the number and size of these smaller time components 108 can also be tailored to meet specific application requirements. These parameters can also be tailored 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.
  • 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 time values are specified for each time component (a).
  • the minimum time value for a component, t min (n, m, ...,a), may be equal to the maximum time value of the preceding component, t max (n,m, ...,a-l), or the minimum time value of the next higher-level time component in which the time component resides, t min (n,m, ).
  • the maximum time value of a given time component, t max (n,m, ...,a) may alternatively be equal to the minimum time value for the following component, t min (n,m, ..., +J), or the maximum time value of the next higher level time component in which the time component resides, t max (n, m, ).
  • next higher-level components When same-sized smaller time components are employed, the next higher-level components may be evenly divided. Consequently, t max (n,m, ...,a) - t min (n,m, ...,a) may be equal for each time component of a given next higher level component. For all next higher-level components, all time components of a given next higher-level component may be of the same or different size.
  • the time component sizes may vary from next higher-level component to next higher-level component.
  • all time components of all higher level components may be of the same size, depending on the sizes of the next higher level components and the numbers of time components in the next higher level components.
  • t max is depicted such that the time period is bounded by endpoints of to (110) and t max (112). Beneath this illustration, an equivalent time period is shown.
  • the time period is subdivided into four frames 104 by setting the layout parameter Nfr ames to a value of four (4).
  • the frame is subdivided into twenty subcomponents 106 by setting the layout parameter N subcompon nts ⁇ ) to a value of twenty (20).
  • the subcomponent 106 is subdivided into ten smaller time components 108 by setting the layout parameter N sma ⁇ i er _compo n ents(2, 8) to a value often (10).
  • t(n) 1 to N d iscr e te ti m e values-
  • Discrete time values may be evenly distributed or not as depicted in the two figures.
  • FIG. 3 a time value range layout 300 is subdivided into four frames 302 that are subdivided into nine subcomponents 304 containing 27 discrete time values 306 each.
  • a code is comprised of code elements whose values map pulses to characteristic values, e.g., time positions, within the defined layout.
  • the numbering scheme used for a code must be consistent with the numbering scheme used for the defined layout to allow mapping of code element values to layout components or discrete positions within the layout.
  • Components or discrete values may be numbered beginning with zero, one, or with any other number.
  • Components produced by subdividing higher level components, such as subcomponents or smaller time period components, may be numbered per higher level component such that subcomponent numbering begins again with each higher level component, or may be numbered in sequence independent of the higher level component in which they reside.
  • an established offset value can be used to specify the exact position of the pulse within the frame, subcomponent, or smaller time period component to which a code element value is mapped.
  • Figures 4 and 5 illustrate mapping of codes to a value range layout and to a discrete value range layout, respectively.
  • the figure depicts mapping of code element values 402 to subcomponents 406 numbered per frame 404.
  • an integer code element exists per each frame.
  • Pulses 408 are shown positioned in the approximate center of the subcomponents 406 to which code elements 402 are mapped as specified using a position offset value.
  • Figure 5 shows mapping of code element values to discrete time values within a combined value range/discrete value layout, where an integer code element exists per frame. Instead of being mapped inside of the subcomponents as in Figure 4, in Figure 5 the code element values 502 are mapped as pulses 508 to discrete values 506 within frames 504.
  • the present invention provides several approaches for using two or more codes to specify time positions of pulses. Combinations of two or more codes can be used, for example, to address correlation and/or spectral properties of different TM-UWB applications.
  • Figure 6 provides two examples of this sequential combination codes approach.
  • a first code 602 is shown repeating until some event 604 occurs, at which time the impulse transmission system employs a second code 606.
  • the second code 606 is then shown repeating thereafter. It is further shown that the system may transition to additional codes as necessary.
  • a sequential combination of two or more codes is shown repeating. For example, whole sequences of multiple codes 608, 610 (each multiple beginning with code 1 repeating and ending with code N repeating) are repeated.
  • the sequential combination codes approach may be used with a single repeating time layout or with two or more different repeating time layouts, depending on whether or not the combined codes are of the same size, or length.
  • Figure 7a provides two examples of sequential combinations of codes mapping to a repeating layout that complement the two examples provided in Figure 6.
  • sequential combination codes 702, 706 of the same length are mapped to a repeating time layout 712a.
  • repeating sequential combination codes 708, 710 of the same length are mapped to a repeating layout 712b.
  • Figure 7b provides two examples illustrating how the sequential combination codes approach can be used with different-sized layouts.
  • sequential combination codes 714, 716 of different sizes are mapped to layouts 722a having different sizes that correspond to the code sizes.
  • multiple sequential codes 718, 720 of different sizes are mapped to repeating layouts 722b of different sizes.
  • the single-layout mapping approaches shown in Figure 7a can be used to support multiple channel, or multicast communications, where a single transmitter emits a pulse train per a sequential combination of codes, and where each code represents a separate channel recognizable by a receiver.
  • This application of the single-layout sequential combination codes approach is shown in Figure 8.
  • the transmitted pulse train (from transmitter 806) consists of four codes 802 representing channels to four receivers 804, where the sequential combination codes can be repeated, as described with respect to Figures 7a, 7b.
  • the sequential combination codes approach can be used to improve signal acquisition and channelization.
  • a sequential combination of two codes 902 and 904 is shown.
  • the first code 902 having autocorrelation properties that are beneficial during signal acquisition, e.g., a Welch-Costas code, Golumb-Costas code, or hyperbolic congruential code, repeats until the pulse train signal is acquired.
  • the system switches to a second code 904 that has cross-correlation properties that provide for superior channelization, e.g., a quadratic congruential code, linear congruential code, or hyperbolic congruential code.
  • This sequential combination of two codes 902, 904 can be repeated in order to provide receivers a periodic opportunity to acquire or reacquire the signal.
  • FIG. 10 Another approach provided by the present invention can be described as a nested combination of codes. This approach is illustrated in Figure 10. With this approach, a first code 1002 having optimal correlation properties is used to specify subcomponents 1006 within a value range layout (e.g., subcomponents 1006 within frames 1004) within which pulses 1008 are to be placed. A second code 1010 having optimal spectral properties is used to specify the exact positions 1012 of pulses 1008 within the subcomponents 1006 specified by the first code 1002.
  • a value range time layout is shown consisting of seven frames 1004 that are subdivided into seven subcomponents 1006 containing seventeen discreet time values 1012 each.
  • the subcomponents 1006 within each frame 1004 are numbered 0 through 6 and the seventeen discreet values 1012 within each subcomponent are numbered 0 through 16.
  • Figure 11 illustrates the effect to the energy spectrum of a pulse train resulting from use of the nested combination codes approach (as described above).
  • the spectrum 1102 of a pulse train produced using a quadratic congruential code is shown.
  • the pulses are positioned within each subcomponent specified by the code using a position offset (e.g., beginning of each component).
  • Comb line structures 1104 having approximately the same spectral density can be seen at certain frequencies, where the amplitude and periodicity of the comb lines is a result of the use of a common offset value to position pulses within the subcomponents specified by the code.
  • Figure 12 depicts two examples of using sequential nested combination codes.
  • a nested code pair 1202 repeats until some event 1204 occurs.
  • a second repeating nested code pair 1206 is employed.
  • the example also shows that additional nested code pairs (not labeled) can be employed as necessary.
  • repeating sequential nested combination codes 1208, 1210 are depicted.
  • Various numerical code generation methods can be employed to produce codes. Generally, each method produces codes that tend to have certain correlation or spectral properties, but not both. For example, a code can be generated using a quadratic congruential, hyperbolic congruential, linear congruential, Costas array or other such numerical code generation technique designed to generate codes guaranteed to have certain correlation properties. However, the mathematicians that developed the code generation techniques were concerned with correlation properties and not spectral properties.
  • a quadratic congruential code of integer values can be generated using an equation of the general form:
  • Quadratic congruential codes havep elements and p —p different sequences can be generated by changing the value of parameters i, ⁇ , and ⁇ .
  • Quadratic congruential codes have correlation properties that guarantee a maximum of two coincidences when autocorrelated with some time offset and a maximum of four coincidences when cross-correlated with another quadratic congruential code.
  • a hyperbolic congruential code of integer values can be generated using an equation of the general form:
  • Hyperbolic congruential codes have p-l elements and - ⁇ different sequences can be generated. Hyperbolic congruential codes have correlation properties that guarantee a maximum of two coincidences when autocorrelated with some time offset and a maximum of two coincidences when cross-correlated with another hyperbolic congruential code.
  • a linear congruential code of integer values can be generated using an equation of the general form:
  • Linear congruential codes have correlation properties that guarantee a maximum of l/ln(p-l) coincidences when autocorrelated with some time offset and a maximum of 2l(p-l) coincidences when cross-correlated with another linear congruential code.
  • a Costas Array code of integer values can be generated by Welch construction using an equation of the general form:
  • k+a l, ...,p-l; i e ⁇ 1,2,..., p-l ⁇ ; a, ⁇ e ⁇ 0, 1, ...,p-l ⁇ ,
  • Welch-Costas code has p-l elements mdp 2 different sequences can be generated.
  • Welch-Costas codes have correlation properties that guarantee a maximum of one coincidence when autocorrelated with some time offset and a maximum of t coincidences when cross-correlated with another Welch-Costas code, where Rj-R- 2 ⁇
  • a Costas Array code of integer values can also be generated by Golomb construction using an equation of the general form:
  • k l, ...,p-2; i e ⁇ l,2,...,p-2 ⁇ ; a, ⁇ e ⁇ 0, 1, ...,p-l ⁇ ,
  • Golumb-Costas code has p-2 elements and (p-l) 2 different sequences can be generated.
  • Golumb-Costas codes have correlation properties that guarantee a maximum of one coincidence when autocorrelated with some time offset and a maximum of/ and m coincidences when cross-correlated with another Welch-Costas code, where
  • Each of these alternative code generation schemes has corresponding characteristics to be considered in relation to the application of the pulse transmission system employing the code.
  • Costas codes have nearly ideal autocorrelation properties but somewhat less than ideal cross-correlation properties
  • linear congruential codes have nearly ideal cross-correlation properties but less than ideal autocorrelation properties.
  • design tradeoffs require that a compromise between two or more code generation schemes be made such that a code is generated using a combination of two or more methods.
  • An example of such a compromise is an extended quadratic congruential code generation approach that uses two 'independent' operators, where the first operator is linear and the second operator is quadratic. Accordingly, one, two, or more code generation schemes or combinations of such schemes can be employed to generate a code without departing from the scope of the invention.
  • a numerical code generation technique that produces pseudorandom codes can be used.
  • 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.
  • Such 'random-like' codes are attractive for certain applications since they tend to spread spectral energy over multiple frequencies while having 'good enough' correlation properties, whereas designed codes may have superior correlation properties but have spectral properties that may not be as suitable for a given application.
  • Computer random number generator functions commonly employ the linear congruential generation (LCG) method, which generates the n-th random number, x n , from the previous random number, x n .j, using an equation of the general form:
  • LCG linear congruential generation
  • 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 , and an initial seed xo-
  • LCG(a,c,m,xo) which determines the sequence generated.
  • AFG Lagged-Fibonacci Generator
  • n identifies a given code in the generated code sequence
  • y and k represent offsets to previously generated codes.
  • the period of these generators is (2 k -l)2 m"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 13a.
  • Figure 13a illustrates an exemplary LCG shift register, including exclusive OR gate 1302 and registers 1304.
  • the linear feedback shift register 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 i-th. bit in the shift register.
  • the ALFG method can also be implemented using a shift register 1308 and a modulo adder 1306 device, as shown in Figure 13b, which can be described by an equation of the form:
  • n identifies a given code in the generated code sequence
  • y and k represent the shift-register bits fed into the modulo adder device.
  • the codes are used to map pulses to pulse characteristics, e.g., positions in time, per the defined layout(s) and the employed code mapping approach.
  • pulse characteristics are specified in accordance with a layout that is subdivided into one or more components.
  • a first code having pre-defined properties is mapped to a first component and a second code having pre-defined properties is mapped to a second component.
  • a code having autocorrelation properties ideal for signal acquisition may be mapped to a first component and a second code having cross-correlation properties ideal for channelization may be mapped to a second component.
  • codes having different spectral properties can be combined, as can various combinations of codes with different autocorrelation properties, cross-correlation properties, and spectral properties.
  • various algebraic and pseudorandom numerical code generation techniques that are known to have certain correlation or spectral properties can be used with the present invention to generate codes.
  • Codes can be sequentially combined such that a code repeats until some event occurs, at which time another code repeats, etc.
  • the present invention supports multi-channel communications. Codes can also be nested such that one code specifies components within a value range layout and another code specifies discrete values within the components specified by the first code.
  • the use of a second nested pseudorandom code may improve spectral properties of algebraic codes.
  • the sequential and nested combination code approaches can be combined such that acquisition and channelization are supported and spectral properties are greatly improved. Additionally, sequential combination codes, nested combination codes, and sequential nested combination codes can repeat.
  • the present invention supports various layout approaches including value range layouts, discrete value layouts, and combined value range/discrete value layouts. If codes of the same size are combined they can be mapped to a repeating layout. If codes having different sizes are combined, they can be mapped to layouts having different sizes that correspond to the different code sizes.
  • individual codes can map to components within a value range layout, to values within a value range layout, or can map to discrete values within components within a value range layout.
  • an exemplary embodiment of an impulse radio transmitter 1402 of an impulse radio communication system having one subcarrier channel that advantageously employs the above-described invention is shown.
  • the transmitter 1402 comprises a time base 1404 that generates a periodic timing signal 1407.
  • the time base 1404 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 1407 is supplied to a precision timing generator 1408.
  • the precision timing generator 1408 supplies synchronizing signals 1410 to the code source 1412 and utilizes the code source output 1414 together with an internally generated subcarrier signal (which is optional) and an information signal 1417 to generate a modulated, coded timing signal 1418.
  • the code source 1412 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 1414. Alternatively, maximum length shift registers or other computational means can be used to generate the codes.
  • An information source 1420 supplies the information signal 1417 to the precision timing generator 1408.
  • the information signal 1417 can be any type of intelligence, including digital bits representing voice, data, imagery, or the like, analog signals, or complex signals.
  • a pulse generator 1422 uses the modulated, coded timing signal 1418 as a trigger to generate output pulses.
  • the output pulses are sent to a transmit antenna 1424 via a transmission line 1427 coupled thereto.
  • the output pulses are converted into propagating electromagnetic pulses by the transmit antenna 1424.
  • the electromagnetic pulses are called the emitted signal, and propagate to an impulse radio receiver 1502, such as shown in Fig. 15, through a propagation medium, such as air, in a radio frequency embodiment, hi a preferred embodiment, the emitted signal is wide-band or ultrawide-band, approaching a monocycle pulse as in Figures 4 and 5.
  • 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.
  • the impulse radio receiver can use a similar waveform as the template signal in the cross correlator for efficient conversion.
  • Figure 15 shows an exemplary embodiment of an impulse radio receiver 1502 (hereinafter called the receiver) for the impulse radio communication that may be used in connection with the present invention. More specifically, the system illustrated in Figure 15 is for reception of digital data wherein one or more pulses are transmitted for each data bit.
  • the receiver for the impulse radio communication that may be used in connection with the present invention. More specifically, the system illustrated in Figure 15 is for reception of digital data wherein one or more pulses are transmitted for each data bit.
  • the receiver 1502 comprises a receive antenna 1504 for receiving a propagated impulse radio signal 1507.
  • a received signal 1508 from the receive antenna 1504 is coupled to a cross correlator or sampler 1510 to produce a baseband output 1512.
  • the cross correlator or sampler 1510 includes multiply and integrate functions together with any necessary filters to optimize signal to noise ratio.
  • the receiver 1502 also includes a precision timing generator 1514, which receives a periodic timing signal 1517 from a receiver time base 1518. This time base 1518 is adjustable and controllable in time, frequency, or phase, as required by the lock loop in order to lock on the received signal 1508.
  • the precision timing generator 1514 provides synchronizing signals 1520 to the code source 1522 and receives a code control signal 1524 from the code source 1522.
  • the precision timing generator 1514 utilizes the periodic timing signal 1517 and code control signal 1524 to produce a coded timing signal 1527.
  • the template generator 1528 is triggered by this coded timing signal 1527 and produces a train of template signal pulses 1530 ideally having waveforms substantially equivalent to each pulse of the received signal 1508.
  • the code for receiving a given signal is the same code utilized by the originating transmitter 1402 to generate the propagated signal 1507.
  • the timing of the template pulse train 1530 matches the timing of the received signal pulse train 1508, allowing the received signal 1508 to be synchronously sampled in the correlator 1510.
  • the correlator 1510 ideally comprises a multiplier followed by a short-term integrator to sum the multiplier product over the pulse interval.
  • the output of the correlator 1510 also called a baseband signal 1512
  • a subcarrier demodulator 1532 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 1532 is then filtered or integrated in a pulse summation stage 1534.
  • 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 1534 is then compared with a nominal zero (or reference) signal output in a detector stage 1538 to determine an output signal 1539 representing an estimate of the original information signal 1417.
  • the baseband signal 1512 is also input to a lowpass filter 1542 (also referred to as lock loop filter 1542).
  • a control loop comprising the lowpass filter 1542, time base 1518, precision timing generator 1514, template generator 1528, and correlator 1510 is used to generate a filtered error signal 1544.
  • the filtered error signal 1544 provides adjustments to the adjustable time base 1518 to time position the periodic timing signal 1527 in relation to the position of the received signal 1508.
  • substantial economy can be achieved by sharing part or all of several of the functions of the transmitter 1402 and receiver 1502. Some of these include the time base 1518, precision timing generator 1514, code source 1522, antemia 1504, and the like.

Abstract

A method for specifying pulse characteristics applies codes having pre-defined characteristics to a layout. The layout can be sequentially subdivided into at least first and second components that have the same or different sizes. The method applies a first code having first pre-defined properties to the first component and a second code having second pre-defined properties to the second component. The pre-defined properties may relate to the auto-correlation property, the cross-correlation property, and spectral properties, as examples. The codes can be used to specify subcomponents within a frame, and characteristic values (range-based, or discrete) within the subcomponents.

Description

A METHOD AND APPARATUS FOR APPLYING CODES HAVING PRE-DEFINED PROPERTIES
FIELD OF THE INVENTION
The present invention relates to impulse transmission systems and, more particularly, to a method of applying codes for specifying characteristics of pulses in an impulse transmission system.
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 tilings. 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 syncl ronized 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. In 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.
h 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 "l'" 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.
hi 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.
TM-UWB technology may be used in a wide variety of applications, such as multiple-access communication systems, positioning systems, radar systems, etc. Such applications have varying requirements for correlation and spectral properties of the pulse trains they employ. The described time-hopping code methods produce codes that can be employed to address either a spectral property requirement or a correlation property requirement of given application, but are limited in their ability to address both correlation and spectral property requirements. As a result, such codes are limited in their ability to address both signal acquisition and channelization requirements of a given TM-UWB application requiring tradeoffs to be made when selecting a time-hopping code. Because of the wide variety of TM-UWB technology applications and limitations to current code generation and mapping methods, there exists a need for code generation and mapping methods that satisfy correlation property and spectral property requirements of TM-UWB applications.
SUMMARY OF THE INVENTION
Briefly, according to the present invention, a sequential and/or nested combination of two or more codes is used to specify pulse characteristics, e.g., pulse time positions, such that the correlation and/or spectral properties of the combined codes are realized. The present invention provides a method for specifying pulse characteristics that specifies a layout that is subdivided into at least a first and a second component. The present invention applies a first code having first pre-defined properties to the first component, and applies a second code having second pre-defined properties to the second component. The first code may be generated using a numerical code generation technique, for example, one with nearly ideal autocorrelation properties. In one embodiment, the numerical code generation technique can include Welch-Costas Array, Golomb-Costas Array, or Hyperbolic Congruential code generation techniques. The second code may also be generated using a numerical code generation technique, for example, one with nearly ideal cross-correlation properties. In one embodiment, the numerical code generation technique can include Quadratic Congruential, Linear Congruential, or Hyperbolic Congruential code generation techniques.
According to some of the more detailed features of the present invention, the first and second components may have the same or different sizes, h an exemplary embodiment, the layout is sequentially subdivided into a first or a second subdivision components, hi one embodiment, the first and second subdivision components can have the same or different sizes.
According to some of the more detailed features of the present invention, the first and second components may contain discrete values, h one embodiment, the discrete values can be evenly distributed or non-evenly distributed within the components. According to some of the more detailed features of the present invention, the first and second components may be sequentially subdivided into at least a first or a second subdivision component containing discrete values. In one embodiment, the first and second subdivision components can have the same or different sizes. In one embodiment, the discrete values can be evenly distributed or non-evenly distributed within the subdivision components.
According to other detailed features of the invention, the first and second pre-defined properties may relate to a spectral property or a correlation property, such as an auto-correlation property or a cross-correlation property. When predefined properties relate to spectral or correlation properties, the first and second pre-defined properties may relate to different spectral and correlation properties. For example, the first predefined properties may relate to the auto-correlation properties and the second predefined properties may relate to the cross-correlation properties.
In another embodiment of the invention, the first or second code is generated using a numerical code generation technique with nearly ideal spectral properties. In an embodiment, the numerical code generation technique can include linear congruential pseudorandom number generator, additive lagged-Fibonacci pseudorandom number generator, linear feedback shift register, lagged-Fibonacci shift register, chaotic code generator or optimal Golomb ruler code generator techniques.
In another embodiment of the invention, the first code specifies subdivision components within which pulse characteristics are to be specified and the second code specifies discrete values within the subdivision components specified by the first code.
In another embodiment of the invention, first and second codes are mapped to the first component, and first and second codes are mapped to the second component, where each first code specifies subdivision components within which pulse characteristics are to be specified and each second code specifies discrete values within the subdivision components specified by the corresponding first code. BRIEF DESCRIPTION OF DRAWINGS
The present invention will be described with reference to the accompanying figures, wherein:
Figure 1 illustrates a time period including exemplary time period layout parameters, and exemplary subdivisions of the time period including frames, subcomponents, smaller time components, and even smaller time components;
Figure 2a illustrates a discrete value layout of thirty-seven evenly distributed values including exemplary layout parameters;
Figure 2b illustrates a discrete value layout of six non-evenly distributed values including exemplary layout parameters;
Figure 3 illustrates a combined value range/discrete value layout of four frames subdivided into nine subcomponents containing 27 discrete time values each including exemplary layout parameters;
Figure 4 illustrates a code mapping approach, depicting pulses mapped to subcomponents based on integer code element values of a code, where an integer code element exists per frame and pulses are positioned within subcomponents using a common position offset;
Figure 5 illustrates a code mapping approach, depicting pulses mapped to discrete time values based on integer code element values of a code, where an integer code element exists per frame;
Figure 6 illustrates a sequential combination of two or more repeating codes and a repeating sequential combination of two or more repeating codes;
Figure 7a illustrates mapping of a sequential combination of two or more repeating same length codes to a repeating layout and mapping of a repeating sequential combination of two or more repeating same length codes to a repeating layout;
Figure 7b illustrates mapping a sequential combination of two or more repeating codes of different sizes to a sequential combination of two or more repeating layouts of different sizes and mapping a repeating sequential combination of two or more repeating codes of different sizes to a repeating sequential combination of two or more repeating layouts of different sizes;
Figure 8 illustrates multicast transmissions between a transmitter and four receivers using a sequential combination or repeating sequential combination of four repeating codes;
Figure 9 illustrates use of a sequential combination of an optimal code for signal acquisition and an optimal code for channelization;
Figure 10 illustrates use of a first code to specify subcomponents within a value range layout and a second code to specify discrete values within the subcomponents specified by the first code;
Figure 11 illustrates the effect on the spectrum of a quadratic congruential code resulting from the use of a nested pseudorandom code;
Figure 12 illustrates a sequential combination of two or more repeating nested codes and a repeating sequential combination of two or more repeating nested codes.
Figure 13a is a diagram of a binary linear feedback shift-register pseudorandom number generator;
Figure 13b is a diagram of an additive Lagged-Fibonacci shift register pseudorandom number generator;
Figure 14 is a block diagram of an impulse transmitter that advantageously uses the present invention;
Figure 15 is a block diagram of an impulse receiver that advantageously uses the present invention; and
In 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. Introduction
The present invention provides a method of using a combination of two or more generated codes to specify characteristics of pulses within a pulse train, e.g., time positions. Usually, each generated code consists of a set or a number of code element values. The method involves defining one or more characteristic value layouts, generating two or more codes with pre-defined properties, and mapping the codes to the characteristic value layout(s). In one exemplary embodiment a combination of codes are mapped to sequential layouts. In another embodiment a combination of codes are nested such that one code specifies subcomponents within a layout wliile the second code specifies discrete values within the subcomponents specified by the first code. In another embodiment a combination of nested codes are mapped to sequential layouts.
The detailed description that follows describes the use of the present mvention to specify a pulse time position characteristic. However, those skilled in the art will appreciate that the present invention can be used to specify non-temporal pulse characteristics, e.g., pulse amplitude, pulse width, etc., without departing from the scope of the invention. Exemplary embodiments of non- temporal pulse characteristic layouts and code mapping are described in a co-pending patent application entitled "A METHOD FOR SPECIFYING NON-TEMPORAL PULSE CHARACTERISTICS" that is being filed concurrently with the instant application and which is hereby incorporated by reference.
II. Time Period Layouts
In a pulse transmission system, a sequence of pulses known as a pulse train is transmitted and received over a period of time such that the relative positioning of the pulses in time defines a channel used by the system to transmit information. Time period(s) can be laid out in a multitude of ways to accommodate a wide variety of pulse transmission system applications. One approach involves a value range layout where a period of time is divided into smaller and smaller components. The division is used to achieve a desired component resolution in order to facilitate mapping of a code element value to a time position value that resides within a layout component, which corresponds to some range of time values.
Figure 1 illustrates an exemplary component based time period value range layout 102 of time position values between a minimum value of to at 110, and a maximum value of tmax at 112. The layout 102 may include frames 104. Frames 104 may include subcomponents 106. Subcomponents 106 may include smaller components 108, which in turn may include even smaller components. 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, a layout parameter, tmax, can be specified which defines the length of a time period layout 102, wherein the time period has a relative minimum time value of t = to = 0 (110) and a relative maximum time value oft = tmax (112). A second layout parameter, Nframes, can be specified to divide the time period layout 102 into one or more frames 104 of the same size or of different sizes with each frame 104 (indexed by n) having a minimum time value, tmin(n), and a maximum time value, tmax(n), where n = 1 to Nframes-
Multiple frame sizes may be employed to accommodate multiple data stream systems, to add an encryption dimension, and/or for many other purposes. For example, one or more acquisition frames and/or one or more header frames can be intermixed with one or more frames containing user data, wherein the acquisition, header, and user data frames have different sizes.
Alternatively, same size frames may be employed such that acquisition, header, and user data are combined into a single data stream that is deciphered via a communications protocol once the data stream is captured. The number and size of frames used in a given layout can also be tailored to meet specific application requirements. They can also be used 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 sized frames 104 are employed, minimum and maximum time values are specified for each frame 104. The minimum time value for a given frame, tmin(n), may equal the maximum time value of the preceding frame, tmax(n-l), or to (110). The maximum time value of a given frame, tmax(n), may equal the minimum time value for the following frame, tm,-„(n+l), or tmax (112). When same sized frames are employed, the time period is evenly divided such that tmax(n) - tmin(n) is equal for each frame n. An array of layout parameters, N subcomponents^, frames), can be specified to subdivide frames into subcomponents. For example, frames maybe subdivided into subcomponents 106 of the same or different sizes with each subcomponent 106 (indexed by m) of frame 104 (indexed by n) having a minimum time value, tmin(n,m), and a maximum time value, tmax(n,m), where n = 1 to N frames and m = 1 to NsubcomPonents(n).
Multiple subcomponent sizes maybe employed to accommodate multiple bit rates, to achieve desirable correlation properties, to add an encryption dimension, and/or for many other purposes, as will be recognized by persons skilled in the art. As with frames, the number and size of subcomponents for a given frame used in a given layout can also be tailored to meet specific application requirements. These parameters may also be selected 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 sized subcomponents are employed, minimum and maximum time values are specified for each subcomponent 106 (m) of each frame 104 (n). The minimum time value for a given subcomponent, tmin(n,m), may equal the maximum time value of the preceding subcomponent, tmax(n,m-l), or the minimum time value of the frame in which the subcomponent resides, tmi„(n). The maximum time value of a given subcomponent, tmax(n,m), may alternatively equal the minimum time value for the following subcomponent, tmι„(n,m+l), or the maximum time value of the frame in which the subcomponent resides,
When same sized subcomponents are employed, frames may be evenly divided. As a result, tmax(n,m) - tmin(n,m) maybe equal for each subcomponent 106 of a frame 104 or for all frames 104 such that all subcomponents of a given frame 104 are of the same size. The subcomponent sizes may vary from frame to frame or all subcomponents of all frames may be the same size depending on the sizes of the frames and the numbers of subcomponents within the frames.
In a manner consistent with the subdivision of frames into subcomponents, additional multi-dimensional arrays of layout parameters can be used to further subdivide subcomponents into smaller components 108 of the same or different sizes, ad infinitum. This subdivision may continue until a smallest desirable time component resolution is attained. The time components at each resolution level may have a minimum time value, tmin(n,m, ...,a), and a maximum time value, tmax(n,m, ...,a), where n = 1 to N frames, = 1 to NSUbcomponents(n), ..., and
O- 1 tθ Iv smallest compone>its(n> m, ■•■)•
Such further subdivision of subcomponents into smaller and smaller time components enables systems with finer and finer tuning resolution and thus higher and higher fidelity. This increases modulation timing accuracy, and can be useful for other purposes as will be recognized by persons skilled in the art.
As with frames 104 and subcomponents 106, the number and size of these smaller time components 108 can also be tailored to meet specific application requirements. These parameters can also be tailored 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 time components 108 are employed, minimum and maximum time values are specified for each time component (a). The minimum time value for a component, tmin(n, m, ...,a), may be equal to the maximum time value of the preceding component, tmax(n,m, ...,a-l), or the minimum time value of the next higher-level time component in which the time component resides, tmin(n,m, ...). The maximum time value of a given time component, tmax(n,m, ...,a), may alternatively be equal to the minimum time value for the following component, tmin(n,m, ..., +J), or the maximum time value of the next higher level time component in which the time component resides, tmax(n, m, ...).
When same-sized smaller time components are employed, the next higher-level components may be evenly divided. Consequently, tmax(n,m, ...,a) - tmin(n,m, ...,a) may be equal for each time component of a given next higher level component. For all next higher-level components, all time components of a given next higher-level component may be of the same or different size.
Under one arrangement, the time component sizes may vary from next higher-level component to next higher-level component. Alternatively, all time components of all higher level components may be of the same size, depending on the sizes of the next higher level components and the numbers of time components in the next higher level components. At the top of Figure 1 a time period of length tmax is depicted such that the time period is bounded by endpoints of to (110) and tmax (112). Beneath this illustration, an equivalent time period is shown. As shown, the time period is subdivided into four frames 104 by setting the layout parameter Nframes to a value of four (4). The size of each frame 104 is established by setting the minimum and maximum time values of each frame, tmin(n) and tmax(n), where n = l to 4.
An enlargement of the second frame 104 is then shown. The frame is subdivided into twenty subcomponents 106 by setting the layout parameter N subcompon nts^) to a value of twenty (20). The size of each subcomponent 106 has been established by setting the minimum and maximum time values of the subcomponents 106 within the second frame 104, tmin(n,m) and tmax(n,m), where n = 2 and m = 1 to 20.
An enlargement of the eighth subcomponent 106 of the second frame 104 is then shown, h this embodiment, the subcomponent 106 is subdivided into ten smaller time components 108 by setting the layout parameter Nsmaιier_components(2, 8) to a value often (10). The size of each smaller time component 108 is established by setting the minimum and maximum time values of the smaller components within the eighth subcomponent 106 of the second frame 104, tmin(n,m,l) and tmax(n,m,l), where n = 2, m = 8, and /= 1 to 10.
It is then shown that these smaller time components could be subdivided into x even smaller time components (whose size is not shown) using another layout parameter [e.g., NeVen_smaiier_components(2,8,5) = x], which can be further subdivided ad infinitum. Not shown in the figure are the enlargements of the other frames, subcomponents, and smaller time components, which for this example would also contain twenty subcomponents, ten smaller time components, and x even smaller time components, respectively.
Another approach to defining a time period layout is to specify a layout of discrete time values to which individual code elements can map. As depicted in Figures 2a and 2b, a layout parameter, N discret time values can be specified to identify some number of discrete time values within a layout having a value, t(n), where n = 1 to N discrete time values- Discrete time values may be evenly distributed or not as depicted in the two figures. In Figure 2a, 37 evenly-distributed discrete time values 202, labeled t(l) through t(37), are shown where N di cret tim values — 37. h Figure 2b, six non evenly-distributed discrete time values 204, labeled t(l) through t(6), are shown where Ndiscret tim values - 6. The discrete value layout approach can be combined with a value range layout approach, enabling code element values to specify a component within a value range layout and a discrete value within the component. The use of a combination of these two layout approaches is shown in Figure 3. In Figure 3, a time value range layout 300 is subdivided into four frames 302 that are subdivided into nine subcomponents 304 containing 27 discrete time values 306 each. The layout is specified by setting Nframes = 4, Nsubcomponents(l-4) = 9, and
^discrete time values(A-4,l-y — I.
III. Code Mapping
A code is comprised of code elements whose values map pulses to characteristic values, e.g., time positions, within the defined layout. The numbering scheme used for a code must be consistent with the numbering scheme used for the defined layout to allow mapping of code element values to layout components or discrete positions within the layout.
Components or discrete values may be numbered beginning with zero, one, or with any other number. Components produced by subdividing higher level components, such as subcomponents or smaller time period components, may be numbered per higher level component such that subcomponent numbering begins again with each higher level component, or may be numbered in sequence independent of the higher level component in which they reside.
When a value range layout is employed, an established offset value can be used to specify the exact position of the pulse within the frame, subcomponent, or smaller time period component to which a code element value is mapped.
Figures 4 and 5 illustrate mapping of codes to a value range layout and to a discrete value range layout, respectively. Beginning with Figure 4, the figure depicts mapping of code element values 402 to subcomponents 406 numbered per frame 404. Here, an integer code element exists per each frame. Pulses 408 are shown positioned in the approximate center of the subcomponents 406 to which code elements 402 are mapped as specified using a position offset value.
Figure 5 shows mapping of code element values to discrete time values within a combined value range/discrete value layout, where an integer code element exists per frame. Instead of being mapped inside of the subcomponents as in Figure 4, in Figure 5 the code element values 502 are mapped as pulses 508 to discrete values 506 within frames 504. The present invention provides several approaches for using two or more codes to specify time positions of pulses. Combinations of two or more codes can be used, for example, to address correlation and/or spectral properties of different TM-UWB applications.
One approach involves a sequential combination of two or more codes. Figure 6 provides two examples of this sequential combination codes approach. In the first example, a first code 602 is shown repeating until some event 604 occurs, at which time the impulse transmission system employs a second code 606. The second code 606 is then shown repeating thereafter. It is further shown that the system may transition to additional codes as necessary. In the second example, a sequential combination of two or more codes is shown repeating. For example, whole sequences of multiple codes 608, 610 (each multiple beginning with code 1 repeating and ending with code N repeating) are repeated.
The sequential combination codes approach may be used with a single repeating time layout or with two or more different repeating time layouts, depending on whether or not the combined codes are of the same size, or length. Figure 7a provides two examples of sequential combinations of codes mapping to a repeating layout that complement the two examples provided in Figure 6.
h the first example, sequential combination codes 702, 706 of the same length are mapped to a repeating time layout 712a. In the second example, repeating sequential combination codes 708, 710 of the same length are mapped to a repeating layout 712b.
Figure 7b provides two examples illustrating how the sequential combination codes approach can be used with different-sized layouts. In the first example, sequential combination codes 714, 716 of different sizes are mapped to layouts 722a having different sizes that correspond to the code sizes. In the second example, multiple sequential codes 718, 720 of different sizes are mapped to repeating layouts 722b of different sizes.
The single-layout mapping approaches shown in Figure 7a can be used to support multiple channel, or multicast communications, where a single transmitter emits a pulse train per a sequential combination of codes, and where each code represents a separate channel recognizable by a receiver. This application of the single-layout sequential combination codes approach is shown in Figure 8. In Figure 8, the transmitted pulse train (from transmitter 806) consists of four codes 802 representing channels to four receivers 804, where the sequential combination codes can be repeated, as described with respect to Figures 7a, 7b. In one exemplary embodiment of the invention, the sequential combination codes approach can be used to improve signal acquisition and channelization. In Figure 9 a sequential combination of two codes 902 and 904 is shown. The first code 902, having autocorrelation properties that are beneficial during signal acquisition, e.g., a Welch-Costas code, Golumb-Costas code, or hyperbolic congruential code, repeats until the pulse train signal is acquired. After signal acquisition, the system switches to a second code 904 that has cross-correlation properties that provide for superior channelization, e.g., a quadratic congruential code, linear congruential code, or hyperbolic congruential code. This sequential combination of two codes 902, 904 can be repeated in order to provide receivers a periodic opportunity to acquire or reacquire the signal.
Another approach provided by the present invention can be described as a nested combination of codes. This approach is illustrated in Figure 10. With this approach, a first code 1002 having optimal correlation properties is used to specify subcomponents 1006 within a value range layout (e.g., subcomponents 1006 within frames 1004) within which pulses 1008 are to be placed. A second code 1010 having optimal spectral properties is used to specify the exact positions 1012 of pulses 1008 within the subcomponents 1006 specified by the first code 1002.
Specifically, in Figure 10, a value range time layout is shown consisting of seven frames 1004 that are subdivided into seven subcomponents 1006 containing seventeen discreet time values 1012 each. The subcomponents 1006 within each frame 1004 are numbered 0 through 6 and the seventeen discreet values 1012 within each subcomponent are numbered 0 through 16.
A first code 1002, {0, 2, 1, 4, 4, 1, 2}, which is generating using the quadratic congruential code generation technique (described below), is mapped to subcomponents 1006 within each frame 1004. The seven subcomponents 1006 to which the elements of the first code 1002 are mapped are shown enlarged.
A second code 1012, {7, 5, 14, 3, 1, 10, 16}, which is generated using a pseudorandom code generation technique (described below), is mapped to discrete values 1012 within the subcomponents 1006 specified by the first code 1002 Figure 11 illustrates the effect to the energy spectrum of a pulse train resulting from use of the nested combination codes approach (as described above). At the top of the figure, the spectrum 1102 of a pulse train produced using a quadratic congruential code is shown. Here, the pulses are positioned within each subcomponent specified by the code using a position offset (e.g., beginning of each component). Comb line structures 1104 having approximately the same spectral density can be seen at certain frequencies, where the amplitude and periodicity of the comb lines is a result of the use of a common offset value to position pulses within the subcomponents specified by the code.
In the bottom of Figure 11, there is shown the spectrum 1106 of a pulse train producing using the same quadratic congruential code combined with a second nested pseudorandom code. (The second code is used to specify random pulse positions within the subcomponents specified by the quadratic congruential code.) A significant change to the spectrum is shown, as the spectral energy has been spread out among the frequencies, or smoothed, by use of the nested pseudorandom code. The individual randomized structures are labeled 1108.
The sequential combination code approach and the nested combination code approach can also be combined. Figure 12 depicts two examples of using sequential nested combination codes. In the first example, a nested code pair 1202 repeats until some event 1204 occurs. After the event 1204, a second repeating nested code pair 1206 is employed. The example also shows that additional nested code pairs (not labeled) can be employed as necessary. In the second example, repeating sequential nested combination codes 1208, 1210 are depicted.
IV. Numerical Code Generation
Various numerical code generation methods can be employed to produce codes. Generally, each method produces codes that tend to have certain correlation or spectral properties, but not both. For example, a code can be generated using a quadratic congruential, hyperbolic congruential, linear congruential, Costas array or other such numerical code generation technique designed to generate codes guaranteed to have certain correlation properties. However, the mathematicians that developed the code generation techniques were concerned with correlation properties and not spectral properties. A quadratic congruential code of integer values can be generated using an equation of the general form:
mod p
k = 0, 1, ..., p-l; i= {l,2,...,p-l}; a, β e {0, 1, ...,p-l},
where p is a prime number. Each quadratic congruential code hasp elements and p —p different sequences can be generated by changing the value of parameters i, α, and β. Quadratic congruential codes have correlation properties that guarantee a maximum of two coincidences when autocorrelated with some time offset and a maximum of four coincidences when cross-correlated with another quadratic congruential code.
A hyperbolic congruential code of integer values can be generated using an equation of the general form:
Figure imgf000020_0001
1 < i, k ≤ p-l,
where p is a prime number > 2 and k'1 is the unique inverse of k modulo p. Each hyperbolic congruential code has p-l elements and -\ different sequences can be generated. Hyperbolic congruential codes have correlation properties that guarantee a maximum of two coincidences when autocorrelated with some time offset and a maximum of two coincidences when cross-correlated with another hyperbolic congruential code.
A linear congruential code of integer values can be generated using an equation of the general form:
Figure imgf000020_0002
1 ≤ it k ≤ p- β €. {0, 1, ..., p-l},
where p is a prime number. Each linear congruential code has/7-1 elements and p-l different sequences can be generated. Linear congruential codes have correlation properties that guarantee a maximum of l/ln(p-l) coincidences when autocorrelated with some time offset and a maximum of 2l(p-l) coincidences when cross-correlated with another linear congruential code.
A Costas Array code of integer values can be generated by Welch construction using an equation of the general form:
y C. k) (iR (k + a h β ) mod p R, ι, a , β J ^ )
k+a = l, ...,p-l; i e {1,2,..., p-l}; a, β e {0, 1, ...,p-l},
where p is a prime number and R is a primitive element of p. Each Welch-Costas code has p-l elements mdp2 different sequences can be generated. Welch-Costas codes have correlation properties that guarantee a maximum of one coincidence when autocorrelated with some time offset and a maximum of t coincidences when cross-correlated with another Welch-Costas code, where Rj-R-2
A Costas Array code of integer values can also be generated by Golomb construction using an equation of the general form:
+ β mod
Figure imgf000021_0001
k = l, ...,p-2; i e {l,2,...,p-2}; a, β e {0, 1, ...,p-l},
where p is a prime number and η is a primitive element of p. Each Golumb-Costas code has p-2 elements and (p-l)2 different sequences can be generated. Golumb-Costas codes have correlation properties that guarantee a maximum of one coincidence when autocorrelated with some time offset and a maximum of/ and m coincidences when cross-correlated with another Welch-Costas code, where
Figure imgf000021_0002
Each of these alternative code generation schemes has corresponding characteristics to be considered in relation to the application of the pulse transmission system employing the code. For example, Costas codes have nearly ideal autocorrelation properties but somewhat less than ideal cross-correlation properties, while linear congruential codes have nearly ideal cross-correlation properties but less than ideal autocorrelation properties. In some cases, design tradeoffs require that a compromise between two or more code generation schemes be made such that a code is generated using a combination of two or more methods. An example of such a compromise is an extended quadratic congruential code generation approach that uses two 'independent' operators, where the first operator is linear and the second operator is quadratic. Accordingly, one, two, or more code generation schemes or combinations of such schemes can be employed to generate a code without departing from the scope of the invention.
Instead of employing a numerical code generation technique designed to produce codes with guaranteed correlation properties, a numerical code generation technique that produces pseudorandom codes can be used. 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. Such 'random-like' codes are attractive for certain applications since they tend to spread spectral energy over multiple frequencies while having 'good enough' correlation properties, whereas designed codes may have superior correlation properties but have spectral properties that may not be as suitable for a given application.
Computer random number generator functions commonly employ the linear congruential generation (LCG) method, which generates the n-th random number, xn, from the previous random number, xn.j, using an equation of the general form:
X - Ax Λ + 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 , and an initial seed xo- These random number generator functions can be referred to as LCG(a,c,m,xo), 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 imgf000022_0001
where n identifies a given code in the generated code sequence, andy and k represent offsets to previously generated codes. The period of these generators is (2k-l)2m"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 13a. Figure 13a illustrates an exemplary LCG shift register, including exclusive OR gate 1302 and registers 1304. The linear feedback shift register can be described by an equation of the form:
Figure imgf000023_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 i-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, a{, is fed back into the exclusive-OR device along with the shifted output.
The ALFG method can also be implemented using a shift register 1308 and a modulo adder 1306 device, as shown in Figure 13b, which can be described by an equation of the form:
x = x . + x , (mod 2 ), / < k n n - j n - k J J
where n identifies a given code in the generated code sequence, and y 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.
Different methods of generating pseudorandom codes vary in the degree to which they approach true randomness. Additionally, variables, such as random number function seed values and initial states of shift-registers, determine where in the repeating number pattern that a given pseudorandom number or subsequence of numbers is retrieved. Consequently, the correlation and uniformity properties of a given generated pseudorandom code sequence can be difficult to predict and guarantee.
N. Mapping Code Elements to Pulse Positions
After two or more codes have been generated using one or more of the described numerical code generation techniques, the codes are used to map pulses to pulse characteristics, e.g., positions in time, per the defined layout(s) and the employed code mapping approach. According to the present invention, pulse characteristics are specified in accordance with a layout that is subdivided into one or more components. A first code having pre-defined properties is mapped to a first component and a second code having pre-defined properties is mapped to a second component. For example, a code having autocorrelation properties ideal for signal acquisition may be mapped to a first component and a second code having cross-correlation properties ideal for channelization may be mapped to a second component. Similarly, codes having different spectral properties can be combined, as can various combinations of codes with different autocorrelation properties, cross-correlation properties, and spectral properties. For example, various algebraic and pseudorandom numerical code generation techniques that are known to have certain correlation or spectral properties can be used with the present invention to generate codes.
Codes can be sequentially combined such that a code repeats until some event occurs, at which time another code repeats, etc. By using the sequential combination codes approach, the present invention supports multi-channel communications. Codes can also be nested such that one code specifies components within a value range layout and another code specifies discrete values within the components specified by the first code. In an exemplary embodiment, the use of a second nested pseudorandom code may improve spectral properties of algebraic codes. Furthermore, the sequential and nested combination code approaches can be combined such that acquisition and channelization are supported and spectral properties are greatly improved. Additionally, sequential combination codes, nested combination codes, and sequential nested combination codes can repeat.
The present invention supports various layout approaches including value range layouts, discrete value layouts, and combined value range/discrete value layouts. If codes of the same size are combined they can be mapped to a repeating layout. If codes having different sizes are combined, they can be mapped to layouts having different sizes that correspond to the different code sizes.
As described above, individual codes can map to components within a value range layout, to values within a value range layout, or can map to discrete values within components within a value range layout.
VI. Exemplary Transceiver Implementation Transmitter
Referring to Figure 14, an exemplary embodiment of an impulse radio transmitter 1402 of an impulse radio communication system having one subcarrier channel that advantageously employs the above-described invention is shown.
The transmitter 1402 comprises a time base 1404 that generates a periodic timing signal 1407. The time base 1404 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 1407 is supplied to a precision timing generator 1408.
The precision timing generator 1408 supplies synchronizing signals 1410 to the code source 1412 and utilizes the code source output 1414 together with an internally generated subcarrier signal (which is optional) and an information signal 1417 to generate a modulated, coded timing signal 1418.
The code source 1412 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 1414. Alternatively, maximum length shift registers or other computational means can be used to generate the codes. An information source 1420 supplies the information signal 1417 to the precision timing generator 1408. The information signal 1417 can be any type of intelligence, including digital bits representing voice, data, imagery, or the like, analog signals, or complex signals.
A pulse generator 1422 uses the modulated, coded timing signal 1418 as a trigger to generate output pulses. The output pulses are sent to a transmit antenna 1424 via a transmission line 1427 coupled thereto. The output pulses are converted into propagating electromagnetic pulses by the transmit antenna 1424. In the present embodiment, the electromagnetic pulses are called the emitted signal, and propagate to an impulse radio receiver 1502, such as shown in Fig. 15, through a propagation medium, such as air, in a radio frequency embodiment, hi a preferred embodiment, the emitted signal is wide-band or ultrawide-band, approaching a monocycle pulse as in Figures 4 and 5.
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. In this case, the impulse radio receiver can use a similar waveform as the template signal in the cross correlator for efficient conversion.
Receiver
Figure 15 shows an exemplary embodiment of an impulse radio receiver 1502 (hereinafter called the receiver) for the impulse radio communication that may be used in connection with the present invention. More specifically, the system illustrated in Figure 15 is for reception of digital data wherein one or more pulses are transmitted for each data bit.
The receiver 1502 comprises a receive antenna 1504 for receiving a propagated impulse radio signal 1507. A received signal 1508 from the receive antenna 1504 is coupled to a cross correlator or sampler 1510 to produce a baseband output 1512. The cross correlator or sampler 1510 includes multiply and integrate functions together with any necessary filters to optimize signal to noise ratio.
The receiver 1502 also includes a precision timing generator 1514, which receives a periodic timing signal 1517 from a receiver time base 1518. This time base 1518 is adjustable and controllable in time, frequency, or phase, as required by the lock loop in order to lock on the received signal 1508. The precision timing generator 1514 provides synchronizing signals 1520 to the code source 1522 and receives a code control signal 1524 from the code source 1522. The precision timing generator 1514 utilizes the periodic timing signal 1517 and code control signal 1524 to produce a coded timing signal 1527. The template generator 1528 is triggered by this coded timing signal 1527 and produces a train of template signal pulses 1530 ideally having waveforms substantially equivalent to each pulse of the received signal 1508. The code for receiving a given signal is the same code utilized by the originating transmitter 1402 to generate the propagated signal 1507. Thus, the timing of the template pulse train 1530 matches the timing of the received signal pulse train 1508, allowing the received signal 1508 to be synchronously sampled in the correlator 1510. The correlator 1510 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 4,979,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 1510, also called a baseband signal 1512, is coupled to a subcarrier demodulator 1532, 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 1532 is then filtered or integrated in a pulse summation stage 1534. 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 1534 is then compared with a nominal zero (or reference) signal output in a detector stage 1538 to determine an output signal 1539 representing an estimate of the original information signal 1417.
The baseband signal 1512 is also input to a lowpass filter 1542 (also referred to as lock loop filter 1542). A control loop comprising the lowpass filter 1542, time base 1518, precision timing generator 1514, template generator 1528, and correlator 1510 is used to generate a filtered error signal 1544. The filtered error signal 1544 provides adjustments to the adjustable time base 1518 to time position the periodic timing signal 1527 in relation to the position of the received signal 1508. In a transceiver embodiment, substantial economy can be achieved by sharing part or all of several of the functions of the transmitter 1402 and receiver 1502. Some of these include the time base 1518, precision timing generator 1514, code source 1522, antemia 1504, and the like.
VII. Conclusion
Wliile 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 of coding pulse characteristics, comprising the steps of:
specifying pulse characteristics in accordance with a layout subdivided into at least a first component and a second component;
applying a first code having first pre-defined properties in relation to said first component; and
applying a second code having second pre-defined properties in relation to said second component.
2. The method of claim 1, wherein said one or more components are any one of:
a same size; and
a different size,
in relation to one another.
3. The method of claim 1, wherein said layout is sequentially subdivided into at least a first component and a second component.
4. The method of claim 3, wherein said first and second subdivision components are any one of:
a same size; and
a different size,
in relation to one another.
5. The method of claim 1, wherein said first pre-defined properties relate to a correlation property of the pulses.
6. The method of claim 5, wherein said correlation property is an auto-correlation property of the pulses.
7. The method of claim 5, wherem said correlation property is a cross-correlation property.
8. The method of claim 1 , wherein said second pre-defined properties relate to a different correlation property.
9. The method of claim 8, wherein said different correlation property is an auto-correlation property.
10. The method of claim 8, wherein said different correlation property is a cross-correlation property.
11. The method of claim 1 , wherein said second pre-defined properties relate to a spectral property.
12. The method of claim 1, wherein said first pre-defined properties relate to a spectral property, and wherein said second pre-defined properties relate to at least one of said spectral property and a different spectral property.
13. The method of claim 1, wherein said first code is generated using a numerical code generation technique with desirable autocorrelation properties.
14. The method of claim 13, wherein said numerical code generation technique comprises at least one of:
a Welch-Costas Array code generation technique;
a Golomb-Costas Array code generation technique; and
a Hyperbolic Congruential code generation technique.
15. The method of claim 1, wherein said second code is generated using a numerical code generation technique with desirable cross-correlation properties.
16. The method of claim 15, wherein said numerical code generation technique comprises at least one of:
a Quadratic Congruential code generation technique;
a Linear Congruential code generation technique; and
a Hyperbolic Congruential code generation technique.
17. The method of claim 1, wherein at least one of said first and said second codes is generated using a numerical code generation technique with desirable spectral properties.
18. The method of claim 17, wherein said numerical code generation technique comprises at least one of:
linear congruential pseudorandom number generator technique;
additive lagged-Fibonacci pseudorandom number generator technique;
linear feedback shift register pseudorandom number generator technique;
lagged-Fibonacci shift register pseudorandom number generator technique;
chaotic code pseudorandom number generator technique; and
optimal Golomb ruler code pseudorandom number generator technique.
19. The method of claim 1, wherein said first code specifies a partition within a value range layout, and
wherein said second code specifies a range value within said partition.
20. The method of claim 19, wherein said partition is any one of:
a frame;
a subcomponent of a frame; and
any smaller component of a subcomponent of a frame.
21. The method of claim 1 , wherein said first code specifies a partition within a value range layout, and
wherein said second code specifies a discrete value within said partition.
22. The method of claim 21, wherein said partition is any one of:
a frame;
a subcomponent of a frame; and
any smaller component of a subcomponent of a frame.
23. The method of claim 21, wherein said first code is generated using a numerical code generation technique with desirable correlation properties.
24. The method of claim 23, wherein said numerical code generation technique comprises at least one of:
a Welch-Costas code generation technique;
a Golomb-Costas code generation technique;
a Quadratic Congruential code generation technique;
a Linear Congruential code generation technique; and
a Hyperbolic Congruential code generation technique.
25. The method of claim 21, wherein said second code is generated using a numerical code generation technique with desirable spectral properties.
26. The method of claim 25, wherein said numerical code generation technique comprises at least one of:
linear congruential pseudorandom number generator technique;
additive lagged-Fibonacci pseudorandom number generator technique;
linear feedback shift register pseudorandom number generator technique;
lagged-Fibonacci shift register pseudorandom number generator technique;
chaotic code pseudorandom number generator technique; and
optimal Golomb ruler code pseudorandom number generator technique.
27. The method of claim 1 , wherem said first code specifying pulse characteristics is repeated until an event occurs, whereupon said second code specifying pulse characteristics is repeated.
28. The method of claim 27, wherein the first code is any one of:
a Welch-Costas code;
a Golomb-Costas code; and
a Hyperbolic Congruential code.
29. The method of claim 27, wherein the said event is signal acquisition.
30. The method of claim 27, wherein the second code is any one of:
a Quadratic Congruential code;
a Linear Congruential code; and
a Hyperbolic Congruential code.
31. The method of claim 1, wherein a combination comprising said first code specifying pulse characteristics and said second code specifying pulse characteristics is repeated.
32. The method of claim 1, wherein a pulse characteristic is at least one of:
a temporal pulse characteristic; and
a non-temporal pulse characteristic.
33. The method of claim 32, wherein said temporal pulse characteristic is a position in time.
34. The method of claim 32, wherein said non-temporal pulse characteristic is a pulse amplitude.
35. The method of claim 32, wherein said non-temporal pulse characteristic is a pulse width.
36. The method of claim 32, wherein said non-temporal pulse characteristic is a pulse polarity.
37. The method according to claim 36, wherein said pulse polarity indicates whether said pulse is inverted.
38. The method of claim 32, wherein said non-temporal pulse characteristic is a pulse type.
39. The method according to claim 38, wherein said pulse type 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.
40. 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 a first and second code, wherein said first and second codes specify pulse characteristics in accordance with a layout subdivided into at least a first and second component, said first code having first pre-defined properties is applied to said first component, and said second code having second pre-defined properties is applied to said second component.
41. The impulse transmission system of claim 40, wherein said one or more components are any one of:
a same size; and
a different size,
in relation to one another.
42. The impulse transmission system of claim 40, wherein said layout is sequentially subdivided into at least a first component and a second component.
43. The impulse transmission system of claim 42, wherein said first and second subdivision components are any one of:
a same size; and
a different size,
in relation to one another.
44. The impulse transmission system of claim 40, wherein said first pre-defined properties relate to a correlation property of the pulses.
45. The impulse transmission system of claim 44, wherein said correlation property is an auto-correlation property of the pulses.
46. The impulse transmission system of claim 44, wherein said correlation property is a cross-correlation property.
47. The impulse transmission system of claim 40, wherem said second pre-defined properties relate to a different correlation property.
48. The impulse transmission system of claim 47, wherein said different correlation property is an auto-correlation property.
49. The impulse transmission system of claim 47, wherein said different correlation property is a cross-correlation property.
50. The impulse transmission system of claim 40, wherein said second pre-defined properties relate to a spectral property.
51. The impulse transmission system of claim 40, wherein said first pre-defined properties relate to a spectral property, and wherein said second pre-defined properties relate to at least one of said spectral property and a different spectral property.
52. The impulse transmission system of claim 40, wherein said first code is generated using a numerical code generation technique with desirable autocorrelation properties.
53. The impulse transmission system of claim 52, wherein said numerical code generation technique comprises at least one of:
a Welch-Costas Array code generation technique;
a Golomb-Costas Array code generation technique; and
a Hyperbolic Congruential code generation technique.
54. The impulse transmission system of claim 40, wherein said second code is generated using a numerical code generation technique with desirable cross-correlation properties.
55. The impulse transmission system of claim 54, wherein said numerical code generation technique comprises at least one of:
a Quadratic Congruential code generation technique;
a Linear Congruential code generation technique; and
a Hyperbolic Congruential code generation technique.
56. The impulse transmission system of claim 40, wherein at least one of said first and said second codes is generated using a numerical code generation technique with desirable spectral properties.
57. The impulse transmission system of claim 56, wherein said numerical code generation technique comprises at least one of:
linear congruential pseudorandom number generator techmque;
additive lagged-Fibonacci pseudorandom number generator technique;
linear feedback shift register pseudorandom number generator technique;
lagged-Fibonacci shift register pseudorandom number generator technique;
chaotic code pseudorandom number generator technique; and
optimal Golomb ruler code pseudorandom number generator technique.
58. The impulse transmission system of claim 40, wherein said first code specifies a partition within a value range layout, and wherein said second code specifies a range value within said partition.
59. The impulse transmission system of claim 58, wherein said partition is any one of:
a frame;
a subcomponent of a frame; and
any smaller component of a subcomponent of a frame.
60. The impulse transmission system of claim 40, wherein said first code specifies a partition within a value range layout, and
wherein said second code specifies a discrete value within said partition.
61. The impulse transmission system of claim 60, wherein said partition is any one of:
a frame;
a subcomponent of a frame; and
any smaller component of a subcomponent of a frame.
62. The impulse transmission system of claim 60, wherein said first code is generated using a numerical code generation technique with desirable correlation properties.
63. The impulse transmission system of claim 62, wherein said numerical code generation technique comprises at least one of:
a Welch-Costas code generation tecl nique;
a Golomb-Costas code generation technique;
a Quadratic Congruential code generation techmque;
a Linear Congruential code generation technique; and
a Hyperbolic Congruential code generation technique.
64. The impulse transmission system of claim 60, wherein said second code is generated using a numerical code generation technique with desirable spectral properties.
65. The impulse transmission system of claim 64, wherein said numerical code generation techmque comprises at least one of:
linear congruential pseudorandom number generator technique;
additive lagged-Fibonacci pseudorandom number generator technique;
linear feedback shift register pseudorandom number generator technique;
lagged-Fibonacci shift register pseudorandom number generator technique;
chaotic code pseudorandom number generator teclinique; and
optimal Golomb ruler code pseudorandom number generator technique.
66. The impulse transmission system of claim 40, wherein said first code specifying pulse characteristics is repeated until an event occurs, whereupon said second code specifying pulse characteristics is repeated.
67. The impulse transmission system of claim 66, wherein the first code is any one of:
a Welch-Costas code;
a Golomb-Costas code; and
a Hyperbolic Congruential code.
68. The impulse transmission system of claim 66, wherein the said event is signal acquisition.
69. The impulse transmission system of claim 66, wherein the second code is any one of:
a Quadratic Congruential code;
a Linear Congruential code; and
a Hyperbolic Congruential code.
70. The impulse transmission system of claim 40, wherein a combination comprising said first code specifying pulse characteristics and said second code specifying pulse characteristics is repeated.
71. The impulse transmission system of claim 40, wherein a pulse characteristic is a at least one of:
a temporal pulse characteristic; and
a non-temporal pulse characteristic.
72. The impulse transmission system of claim 71, wherein said temporal pulse characteristic is a position in time.
73. The impulse transmission system of claim 71 , wherein said non-temporal pulse characteristic is a pulse amplitude.
74. The impulse transmission system of claim 71, wherein said non-temporal pulse characteristic is a pulse width.
75. The impulse transmission system of claim 71, wherein said non-temporal pulse characteristic is a pulse polarity.
76. The impulse transmission system according to claim 75, wherein said pulse polarity indicates whether said pulse is inverted.
77. The impulse transmission system of claim 71 , wherein said non-temporal pulse characteristic is a pulse type.
78. The impulse transmission system according to claim 76, wherein said pulse type 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;
PCT/US2001/018785 2000-06-12 2001-06-12 A method and apparatus for applying codes having predefined properties WO2001097395A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2001269782A AU2001269782A1 (en) 2000-06-12 2001-06-12 A method and apparatus for applying codes having predefined properties

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US09/591,690 2000-06-12
US09/591,690 US6671310B1 (en) 2000-06-12 2000-06-12 Method and apparatus for positioning pulses over time by applying time-hopping codes having pre-defined characteristics
US09/638,046 US6788730B1 (en) 2000-06-12 2000-08-15 Method and apparatus for applying codes having pre-defined properties
US09/638,046 2000-08-15

Publications (2)

Publication Number Publication Date
WO2001097395A2 true WO2001097395A2 (en) 2001-12-20
WO2001097395A3 WO2001097395A3 (en) 2002-06-06

Family

ID=27081214

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/018785 WO2001097395A2 (en) 2000-06-12 2001-06-12 A method and apparatus for applying codes having predefined properties

Country Status (2)

Country Link
AU (1) AU2001269782A1 (en)
WO (1) WO2001097395A2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5604767A (en) * 1993-11-01 1997-02-18 Omnipoint Corporation Spread spectrum spectral density techniques
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
EP0808028A1 (en) * 1995-10-30 1997-11-19 SMK Corporation Pulse modulating method, pulse modulator, and pulse demodulator

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5604767A (en) * 1993-11-01 1997-02-18 Omnipoint Corporation Spread spectrum spectral density techniques
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
EP0808028A1 (en) * 1995-10-30 1997-11-19 SMK Corporation Pulse modulating method, pulse modulator, and pulse demodulator

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BELLEGARDA J R: "Congruential frequency hop signals for multi-user environments: a comparative analysis" ICASSP 90. 1990 INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH AND SIGNAL PROCESSING (CAT. NO.90CH2847-2), ALBUQUERQUE, NM, USA, 3-6 APRIL 1990, pages 2903-2906, XP010004391 1990, New York, NY, USA, IEEE, USA *

Also Published As

Publication number Publication date
AU2001269782A1 (en) 2001-12-24
WO2001097395A3 (en) 2002-06-06

Similar Documents

Publication Publication Date Title
US6788730B1 (en) Method and apparatus for applying codes having pre-defined properties
US7711026B2 (en) Method and apparatus for applying codes having pre-defined properties
US6636566B1 (en) Method and apparatus for specifying pulse characteristics using a code that satisfies predefined criteria
US6959032B1 (en) Method and apparatus for positioning pulses in time
US6636567B1 (en) Method of specifying non-allowable pulse characteristics
US6912240B2 (en) Method and apparatus for generating a large number of codes having desirable correlation properties
US7145954B1 (en) Method and apparatus for mapping pulses to a non-fixed layout
US6778603B1 (en) Method and apparatus for generating a pulse train with specifiable spectral response characteristics
US5960031A (en) Ultrawide-band communication system and method
US7675960B2 (en) Method for generating communication signal sequences having desirable correlation properties and system for using same
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
US5832035A (en) Fast locking mechanism for channelized ultrawide-band communications
JP2003529273A (en) Apparatus, system and method for impulse wireless communication system
JP2009523359A (en) Method and apparatus for generating dynamically changing time hopping sequences for UWB signals
US7184719B2 (en) Method for operating multiple overlapping wireless networks
US20030043934A1 (en) System and method for applying delay codes to pulse train signals
EP0830755A1 (en) Fast locking mechanism for channelized ultrawide-band communications
US7280601B2 (en) Method for operating multiple overlapping wireless networks
WO2001097477A2 (en) Method for specifying pulse characteristics
US6430211B1 (en) Frequency hopping for baseband transmitters
WO2001097395A2 (en) A method and apparatus for applying codes having predefined properties
Dilmaghani et al. UWB multiple-pulse generator and transmitter
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 in:

Ref country code: JP