WO2001097395A2 - A method and apparatus for applying codes having predefined properties - Google Patents
A method and apparatus for applying codes having predefined properties Download PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/38—Synchronous or start-stop systems, e.g. for Baudot code
- H04L25/40—Transmitting circuits; Receiving circuits
- H04L25/49—Transmitting 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/4902—Pulse width modulation; Pulse position modulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details 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/69—Spread spectrum techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details 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/69—Spread spectrum techniques
- H04B2001/6908—Spread spectrum techniques using time hopping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J13/00—Code division multiplex systems
- H04J13/10—Code 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
Description
Claims
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)
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 |
-
2001
- 2001-06-12 WO PCT/US2001/018785 patent/WO2001097395A2/en active Application Filing
- 2001-06-12 AU AU2001269782A patent/AU2001269782A1/en not_active Abandoned
Patent Citations (3)
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)
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 |