WO1993020630A1 - Power-of-two length pseudo-noise sequence generator with fast offset adjustment - Google Patents

Power-of-two length pseudo-noise sequence generator with fast offset adjustment Download PDF

Info

Publication number
WO1993020630A1
WO1993020630A1 PCT/US1993/003065 US9303065W WO9320630A1 WO 1993020630 A1 WO1993020630 A1 WO 1993020630A1 US 9303065 W US9303065 W US 9303065W WO 9320630 A1 WO9320630 A1 WO 9320630A1
Authority
WO
WIPO (PCT)
Prior art keywords
sequence
output
input
lssr
coupled
Prior art date
Application number
PCT/US1993/003065
Other languages
French (fr)
Inventor
Timothy I. Rueth
Lindsay A. Weaver, Jr.
Klein S. Gilhousen
Original Assignee
Qualcomm Incorporated
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Incorporated filed Critical Qualcomm Incorporated
Publication of WO1993020630A1 publication Critical patent/WO1993020630A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J13/00Code division multiplex systems
    • H04J13/10Code generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • G06F7/584Pseudo-random number generators using finite field arithmetic, e.g. using a linear feedback shift register
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/84Generating pulses having a predetermined statistical distribution of a parameter, e.g. random pulse generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J13/00Code division multiplex systems
    • H04J13/0007Code type
    • H04J13/0022PN, e.g. Kronecker
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/58Indexing scheme relating to groups G06F7/58 - G06F7/588
    • G06F2207/581Generating an LFSR sequence, e.g. an m-sequence; sequence may be generated without LFSR, e.g. using Galois Field arithmetic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/58Indexing scheme relating to groups G06F7/58 - G06F7/588
    • G06F2207/583Serial finite field implementation, i.e. serial implementation of finite field arithmetic, generating one new bit or trit per step, e.g. using an LFSR or several independent LFSRs; also includes PRNGs with parallel operation between LFSR and outputs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Definitions

  • the present invention relates to the field of communications.
  • the present invention relates to a novel and improved pseudorandom noise (PN) generator for generating a PN code sequence capable of being used for direct sequence spreading of a communication signal in a spread spectrum communication system.
  • PN pseudorandom noise
  • Pseudo-noise or pseudorandom noise generators are commonly used for bandwidth spreading of a digital signal in a direct sequence spread spectrum communication system.
  • the PN sequence is commonly generated by a Linear Sequence Shift Register (LSSR).
  • LSSR Linear Sequence Shift Register
  • the LSSR is comprised of an N-stage shift register, with some intervening exclusive-OR gates to program a specific PN sequence.
  • the location of the exclusive-OR gates is determined by the defining polynomial of the circuit which in turn, determines which one of the possible sequences will be generated.
  • a "maximal" length sequence is of length 2 - 1.
  • a generator with 15 stages and a maximal polynomial will produce a sequence that is 32,767 bits (or "chips") long.
  • the sequence will contain a single run of 15 ones in a row, and a single run of 14 zeroes in a row. All other runs of ones and zeroes are shorter in length.
  • Every maximal length sequence generator with N stages produces a single run of N ones in a row and a single run of N-l zeroes in a row.
  • a sequence length of 2 ⁇ - 1 is inconvenient because these numbers contain few factors and are frequently prime numbers. This makes it difficult to synchronize a system which contains processes operating at a lower rate than the PN chip rate.
  • a ' PN sequence rate of 1.2288 MHz is desired along with a data modulation rate of 9600 bits per > second.
  • the information bits are exclusive-ORed with the PN sequence and the result is bi-phase modulated onto an RF carrier for transmission.
  • This provides 128 PN "chips" per information bit.
  • the PN rate would remain the same but the data rate would be reduced to 4800 bits per second or 256 PN "chips" per information bit.
  • the length of the PN sequence it would be highly desirable for the length of the PN sequence to be a power of two to permit a greater frequency of coincidence in repetition interval of the PN code for multiple data rates.
  • information bits may be synchronized as soon as the PN sequence synchronization is obtained, thus greatly simplifying the operation of the receiver.
  • the PN sequence is increased to 32768, then whenever the sequence repeats, the synchronization of the 4800 or 9600 bps modulation also repeats. Therefore, as soon as the PN sequence is synchronized, which must necessarily come first anyway, the data modulation circuitry is automatically also in synchronization.
  • the present invention is a novel and improved apparatus and method for generating PN sequences.
  • the PN generator of the present invention is capable of increasing the length of a maximal length linear PN sequence generator generated sequence (2 ⁇ - 1 sequence length) by one PN chip so as to provide a PN sequence that is a power of two (2N sequence length).
  • the PN generator of the present invention also provides a simple mechanism for producing the desired PN sequence when combined with a mechanism for providing an easily adjustable phase offset or time shift in the PN sequence. This type of PN sequence is extremely useful when time offsets of the basic PN sequence are used for addressing purposes in a Code Division Multiple Access (CDMA) communication system.
  • CDMA Code Division Multiple Access
  • a maximal length linear sequence pseudorandom noise (PN) sequence generator which is capable of generating an augmented length PN sequence of length 2 ⁇ .
  • the PN generator includes circuitry such as the LSSR for generating a PN sequence of length 2 ⁇ - l chips.
  • a sequence augmenting circuit is included which inserts at least one additional chip in the PN sequence at a predetermined position within the PN sequence.
  • the sequence augmenting circuit thus provides as an output an augmented PN sequence of length 2 ⁇ chips.
  • the generator may also include sequence shifting circuitry which is responsive to a shift input for providing a predetermined shift in the output augmented PN sequence.
  • Figure 1 is a circuit diagram of a PN sequence generator in the form of a linear sequence shift register with parallel load input-
  • Figure 2 is an exemplary circuit diagram of the PN sequence generator of the present invention
  • Figure 3 is an exemplary circuit diagram of the mask circuit of Figure 2;
  • Figure 4 is a timing diagram for the PN sequence generator of Figure 2; and Figure 5 is an exemplary circuit diagram of alternative PN sequence generator of the present invention.
  • LSSR 10 is configured to produce a PN sequence according to the polynomial of equation 1:
  • LSSR 10 is comprised of a sequence of storage elements or shift register stages 12 coupled in series with exclusive OR gates or modulo-2 adders 14 disposed between the shift register stages as defined by equation 1.
  • the output of stages 12 ⁇ - 12 are respectively coupled to an input of stages 122 - 125; the output of stage 12 is coupled to an input of stage 127, the output of stages 12io - 12i2 are respectively coupled to an- input of stages 12n - 12 ⁇ 3; the output of stage 12i4 is coupled to an input of stage 12i5.
  • stages 125, 127 - 129 and 12i3 are respectively coupled to one input of adders 14 ⁇ - 145 with the outputs adders 14 - 145 respectively coupled to the input of stages 126, 8 - 12l0 and 1214.
  • the output of stage 12i5, the primary output of LSSR 10 (LSSR bit 0) is fed back as an input of stage 12i and the other input of each of adders 141 - 145.
  • the output state of each stage 12 ⁇ - 12i5, respectively the values ⁇ l - ⁇ !5, is .provided on a 15-bit output bus 16 as the signal STATE_OUT.
  • Each stage 12 ⁇ - 12i5 has another input similarly coupled to a 15-bit input bus 18 used to load or initialize LSSR 10. Each bit of the 15-bit value provided on bus 18 is loaded into a corresponding one of stages 12 ⁇ - 1215 when each stage receives at another input a load enable signal (LD_EN).
  • LD_EN load enable signal
  • the bit stored in each stage is shifted out of the stage in response to a system clock (not shown).
  • the bit output from each stage is provided on bus 18 and as an input to a next stage or an adder, with the output from the adder provided to the next stage.
  • SEQ_EN sequence enable signal
  • the primary output bit from each clocking of the LSSR is used as a PN sequence bit.
  • the primary output bit clocked PN sequence may be lengthened to a 2 ⁇ length using a sequence lengthening circuit disclosed herein.
  • the lengthening circuit may be used in combination with a mask circuit which permits a fast phase offset adjustment in the PN sequence.
  • the mask circuit may be used independent of the sequence lengthening circuit with the LSSR to provide a shift in the PN sequence of length 2 ⁇ - 1.
  • the mask circuit and the sequence lengthening circuit comprised of several D-type flip-flops, a comparator, a binary counter, a multiplexer, and some random logic, are illustrated along with LSSR 10.
  • the inputs to the circuitry of Figure 2 include a
  • Input busses include the LSSR LOAD STATE; a binary COUNTER LOAD STATE; a MASK bus, which is used to determine the amount the shifted sequence output is shifted from the primary sequence output; and an OFFSET bus, which is used to determine when an extra state should be inserted in the shifted sequence. All of these busses are N bits wide.
  • the circuit outputs include the PRIMARY OUTPUT, which is the last bit in the LSSR (right-most bit in a right-shifted LSSR which is also used as the feedback); and the SHIFTED OUTPUT, which forms a sequence which is phase-shifted from that of the PRIMARY OUTPUT.
  • Both of the PRIMARY OUTPUT and SHIFTED OUTPUT sequences are of length 2 ⁇ .
  • the sequence lengthening circuit used in conjunction with LSSR 10 consists of N-bit comparator 20, D type flip-flops 21 and 22, inverter 24, NAND gate 26 and AND gate 28.
  • the LSSR OUTPUT STATE bus (STATE_OUT) 18 is coupled to an A input of comparator 20 while the B input thereof receives a fixed N-bit value.
  • the output of comparator 20 is coupled to the D input of flip-flop 21 with the Q output thereof coupled to the D input of flip-flop 22.
  • Flip-flops 21 and 22 each also receiving the system enable signal at an enable input thereof.
  • the Q output of flip-flop 22 is coupled to the input of inverter 24 with the output thereof coupled as one input of NAND gate 26.
  • the other input of NAND gate 26 is coupled to the output of flip-flop 21.
  • the output of NAND gate 26 is coupled to one input of AND gate 28 with the other input thereof receiving the SYSTEM ENABLE signal.
  • the output of AND gate 28 is coupled to LSSR 10 for providing the signal SEQ_EN thereto.
  • the sequence is lengthened by adding a zero to the single run containing N-l zeroes in a row in the sequence. This lengthening results in a sequence that contains an equal number of zeroes and ones. More specifically the sequence which contains one run of N "l's” now also contains one run of N "0's”.
  • the N-bit LSSR state output on bus 18 is compared in comparator 20 with the value "0...0100,” where bit N2, i.e. the third least significant bit, contains a "1" and all other bit locations contain zeroes. When this state is detected, a "1" is latched in flip-flop 21.
  • comparison states may be desirable to insert the additional chip or chips at other LSSR state or states.
  • flip-flop 21 latches a comparison of the LSSR state with the "0...0100” comparison state.
  • a comparison could be accomplished in which flip-flop 21 would not be used and the output of comparator 20 is provided to the D input of flip-flop 22.
  • the comparison value for the LSSR state input to comparator 20 would be "0...0010” rather than "0...0100”.
  • the LSSR would be inhibited from changing state for one clock cycle.
  • a phase shifted version of the PRIMARY OUTPUT for either of a 2 N - 1 or 2 N length generated PN sequence.
  • the SHIFTED OUTPUT is generated by modulo-2 addition, i.e. such as by exclusive-ORing, of a specified set of LSSR bits.
  • any phase shift of a PN sequence can be produced by modulo-2 addition of the proper stages of the LSSR.
  • an N-bit MASK is ANDed with the LSSR state to select the bits to be exclusive-ORed.
  • the use of the N-bit MASK can be set to provide any one of the 2 N - 2 or 2 N - 1 different shifts of the basic sequence.
  • the MASK input bus is set to a predetermined value so as to result in the desired phase shift of the second output.
  • the N-bit STATE_OUT values from LSSR 10 are provided on bus 18 as an input to mask circuit 30.
  • Mask circuitry 30 also receives the N-bit mask value on bus 32. From these values mask circuit 30 generates a shifted version of the PRIMARY OUTPUT as the signal SHIFTED OUTPUT(l) for maximal length sequences of length 2 ⁇ - 1. However for a maximal linear sequence that has been lengthened by one bit additional correction circuitry must be used to provide the correct shifted 2 ⁇ sequence.
  • Figure 3 illustrates in further detail an exemplary implementation of mask circuit 30 as used in conjunction with LSSR 10 as previously discussed.
  • a sequence of AND gates 34 ⁇ - 34 ⁇ 5 each have one input for receiving a different bit from bus 18.
  • AND gates 34 ⁇ - 34 ⁇ 5 respectively receive from bus 18 the bits ⁇ l - x ⁇ -5, also referred to as bit N-l through bit 0.
  • the other input of each of AND gates 34 ⁇ - 34 ⁇ 5 receive from bus 32 a corresponding mask bit N-l through mask bit 0.
  • each of AND gates 34 ⁇ - 34 ⁇ s is coupled to one input of a respective one a cascaded sequence of exclusive-OR gates 36 ⁇ - 36 ⁇ 5-
  • the first exclusive-OR gate 36 ⁇ has one input coupled to the output of AND gate 34 ⁇ , another input coupled to ground (a logical "0") with the output coupled to the other input of exclusive-OR gate 362-
  • the SHIFTED OUTPUT(l) sequence is provided at the output of exclusive-OR gate 36 ⁇ 5 at the output of exclusive-OR gate 36 ⁇ 5.
  • the shift-and-add property does not work correctly for a maximal linear sequence that has been lengthened by one bit.
  • the above described masked and exclusive-ORed bits must be adjusted for the extra bit in the sequence.
  • this adjustment is accomplished by passing the SHIFTED OUTPUT(l) sequence through a variable time delay consisting of a zero delay or a one bit time delay. This one bit time delay is provided by clocking the SHIFTED OUTPUT(l) sequence through a flip-flop.
  • the final output sequence i.e.
  • SHIFTED OUTPUT sequence is taken from the mask circuit following the masking operation (zero time delay). Thus during the zero time delay period the final SHIFTED OUTPUT sequence is the same as the SHIFTED OUTPUT(l) sequence. However, when the SHIFTED OUTPUT(l) sequence output from the mask circuit reaches the point where the run of N-l zeroes is passing through the mask circuit, the SHIFTED OUTPUT is provided from the output of the flip-flop. Thus the SHIFTED OUTPUT sequence is the SHIFTED OUTPUT(l) sequence delayed by one bit time so as to add an extra zero in the shifted sequence.
  • the SHIFTED OUTPUT is switched back to the output of the mask circuit which is the SHIFTED OUTPUT(l) sequence. This action prevents an extra bit from being inserted in this part of the sequence.
  • the correction circuit includes D-type flip-flop 40 having a D input coupled to the output of mask circuit 30 for receiving the SHIFTED OUTPUT(l) sequence.
  • Flip-flop 40 also includes an enable input which receives the SEQ_EN signal.
  • the delayed version of the SHIFTED OUTPUT(l) sequence is output at the Q output of flip-flop 40 as one input to 2:1 multiplexer 42.
  • the other input of multiplexer 42 is coupled to the output of mask circuit 30 for receiving the zero shifted version of the SHIFTED OUTPUT(l) sequence.
  • Multiplexer 42 in response to a MUX SELECT signal, provided at a select input thereof, selects between the zero shifted version of the SHIFTED OUTPUT(l) sequence and the shifted version of the SHIFTED OUTPUT(l) sequence for providing at the output thereof as the SHIFTED OUTPUT sequence.
  • AND gate 44 In generating the MUX SELECT signal, AND gate 44 has one input coupled to the output of flip-flop 21, another coupled to the output of flip- flop 22, and the last input for receiving the SYSTEM ENABLE signal.
  • the output of AND gate 44 is coupled to one input of OR gate 46 with the other input thereto receiving the LOAD ENABLE signal.
  • the output of OR gate 46 is coupled as a counter load enable signal to an enable input of N-bit binary counter 48.
  • Counter 48 also receives an N-bit COUNTER LOAD STATE signal through AND gate 50 which provides the COUNTER LOAD STATE signal in response to the LOAD ENABLE signal which is also an input to AND gate 50.
  • AND gate 50 is illustrated as a single AND gate it should be understood that it represents a series of AND gates each receiving at one input a different bit of the N-bit COUNTER LOAD STATE signal with the other receiving the LOAD ENABLE signal. The output of each of these AND gates is provided to a respective one of N load inputs of counter 48.
  • the N-bit output of counter 48 is provided to the B input of N-bit comparator 52, while at the A input is provided an N-bit offset value.
  • Comparator 52 determines whether the input provided at the B input is greater than or equal to the A input.
  • the output of comparator 52 is coupled to one input of AND gate 54.
  • the other input of AND gate 54 is the inverted output of flip-flop 21 provided through inverter 56.
  • the output of AND gate 54 is provided to the D input of D-type flip-flop 58 with the enable input receiving the SYSTEM ENABLE signal.
  • the Q output of flip-flop 58 is coupled to the select input of multiplexer 42 for providing the MUX SELECT signal thereto.
  • SHIFTED OUTPUT equals SHIFTED OUTPUT(l).
  • flip-flop 58 is set, and the following SHIFTED OUTPUT bit is taken from the delayed version of SHIFTED OUTPUT(l) output from flip-flop 40. The process just described inserts a zero in the SHIFTED OUTPUT sequence as compared to the SHIFTED OUTPUT(l) sequence.
  • the SHIFTED OUTPUT sequence will continue to be taken from the delayed version of the SHIFTED OUTPUT(l) sequence for the period that the counter state is greater than or equal to the offset value.
  • the SHIFTED OUTPUT(l) sequence is again provided as the SHIFTED OUTPUT sequence. Since it is at this point where a zero is inserted in the primary sequence, the shifted sequence must revert back to that taken directly from mask circuit 30 to prevent an unwanted extra state inserted in the shifted sequence.
  • Table I illustrates an example of a 4-bit PN generator with a SHIFTED OUTPUT sequence that is shifted from the PRIMARY OUTPUT sequence by 10 chips.
  • the polynomial chosen for this example which specifies the PN sequence is:
  • Figure 4 illustrates a timing diagram which further details the sequencing of the above example. It should be noted that the mapping of the states in Table I are coordinated with those of the timing diagram of Figure 4.
  • Figure 4 also shows the MUX SELECT signal, which controls multiplexer 42 which is responsible for determining whether the shifted sequence is taken directly from the mask circuit output (MUX SELECT is low) or the delayed version of it output from flip-flop 40 (MUX SELECT is high).
  • the timing diagram of Figure 4 also clearly illustrates the 10-cycle phase shift that the SHIFTED OUTPUT experiences.
  • the LSSR and binary counter states may be loaded, as controlled by the LOAD ENABLE input.
  • the counter through the LOAD ENABLE input is set to the state corresponding to the value of the COUNTER LOAD STATE input. It should be understood that for each value of the LSSR LOAD STATE there is a corresponding COUNTER LOAD STATE.
  • the COUNTER LOAD STATE value corresponding to the LSSR LOAD STATE must be provided to ensure that the sequence is correctly produced. Otherwise, an incorrect shifted sequence may result. However, should the counter load state be incorrect the sequence will only be incorrect until an extra state is inserted in the primary sequence.
  • the use of the loading the LSSR state and the counter state allow the generated sequence to be started anywhere in the sequence. This use of this feature permits the output sequence to be initialized to any position in the entire sequence in a simple manner. Although such a technique may be used to change the sequence, it is much more difficult to compute the state of the LSSR for each desired shift and load into the LSSR than it is to provide a mask which corresponds to each desired shift. Using the technique of loading the LSSR to change the sequence shift would still require an LSSR state or output sequence detection to augment the sequence.
  • An important feature of the disclosed invention is that when the phase shift is to be changed, the SHIFTED OUTPUT begins producing the new phase as soon as the new values of OFFSET and MASK are updated. In some applications, only a small number of different sequence delays must be produced by the SHIFTED OUTPUT sequence. In such a case, it would be simplest to implement if the paired values of OFFSET and MASK were pre-computed and stored in a Read Only Memory (ROM) not shown. If a large number of different delays are desired, then an associated microcomputer, not shown, could be programmed to produce the paired values of MASK and OFFSET corresponding to the desired delays.
  • ROM Read Only Memory
  • a one chip shifted sequence is not needed.
  • logic may be readily constructed to provide where a one chip shifted sequence is needed. Referring to Figure 2, in the case of the one chip shifted sequence the MASK value would be set to all zero except for the last bit. Detection logic
  • Figure 5 illustrates an alternative implementation of an augmented PN sequence generator.
  • LSSR 10' with the loaded state generates the PN sequence of length 2 ⁇ - 1 upon the clocking thereof.
  • the sequence is output from LSSR 10' where detect logic 60 detects the condition of N - 1 zeros in a row for the exemplary insertion point of an additional chip. When this condition is detected a signal is generated which is output to AND gate 62 and ANDed with the SYSTEM ENABLE signal so as to disable LSSR 10' for one clock cycle.
  • the PRIMARY OUTPUT sequence is now of length 2 ⁇ .
  • LSSR 10' may be loaded with the appropriate state. However for the reasons discussed above such a technique is not as preferable as using the state output of LSSR and mask circuit 30'.
  • the output of mask circuit 30' is again coupled to the D input of D-type flip-flop 40' and also to one data input of multiplexer 42'.
  • the Q output of flip-flop 40' is coupled to the other data input of multiplexer 42' with the output thereof providing the shifted sequence.
  • the output of detect logic 60 is also provided through inverter 64 to the reset (R) input of RS-type flip-flop 66.
  • the set (S) input of flip-flop 66 is coupled to the output of detect logic -68 with the input of thereof coupled to the output of multiplexer 42'.
  • the output of flip-flop 66 is coupled to the select input of multiplexer 42'.
  • Detect logic 68 is used again to detect the condition of N - 1 zeros in a row in the shifted sequence. Since the sequence provided through mask circuit 30' is shifted from that of the primary output of the LSSR, when the LSSR is inhibited for one clock cycle to insert the extra state in the primary sequence it is not the correct position to insert the extra state in the shifted sequence.
  • the signal from detect logic 60 through inverter 64 and flip-flop 66 is used to absorb the extra state when inserted in the primary sequence.
  • flip-flop 66 is reset by this signal the output thereof is used to select as the output from multiplexer 42' the SHIFTED OUTPUT(l) output directly from mask circuit 30'.
  • the signal from detect logic 68 through flip-flop 66 is used to insert the extra state in the SHIFTED OUTPUT sequence.
  • flip-flop 66 is set by the signal from detect logic 68, the output thereof is used to select as the output from multiplexer 42' the delayed version of SHIFTED OUTPUT(l) sequence output from flip-flop 40'.
  • Detect logic 60 and 68 may be constructed by simply using a shift register with N - l taps with the taps coupled as inputs to an OR gate. In the alternative a log2(N-l) counter may be used to detect the sequence of
  • N - l zeros. It should be noted that in the alternative implementation of Figure 5, when the input mask changes the shifted output may not be correct for up to N - 1 cycles.
  • the shifted sequence output from mask circuit 30' may be directly output (via the dashed lines) as the output shifted augmented PN sequence.
  • the output of mask circuit 30' is provided to detect logic 60 (via dashed lines). Again detect logic 60 is used to detect the sequence of N - 1 zeros and inhibit the change in state of LSSR 10'.
  • the SHIFTED OUTPUT(l) sequence is detected to inhibit the LSSR, the insertion of the extra state in the sequence is correct for SHIFTED OUTPUT(l) sequence but not for the PRIMARY OUTPUT sequence.

Abstract

A maximal length linear sequence pseudorandom noise (PN) sequence generator for generating an augmented length PN sequence of length 2?N. The PN generator includes circuitry (10) for generating a PN sequence of length 2?N -1 chips. A sequence augmenting circuit (40, 42) is included which inserts at least one additional chip in the PN sequence at a predetermined position within the PN sequence so as to provide an output of an augmented PN sequence of length 2?N chips. The generator may also include sequence shifting circuitry (30) which is responsive to a mask input for providing a predetermined shift in the output augmented PN sequence without incurring a transition period where the shifted output is invalid.

Description

POWER-OF-TWO LENGTH PSEUDO-NOISE SEQUENCE GENERATOR WITH FAST OFFSET ADJUSTMENT
BACKGROUND OF THE INVENTION
I. Field of the Invention
The present invention relates to the field of communications.
More particularly, the present invention relates to a novel and improved pseudorandom noise (PN) generator for generating a PN code sequence capable of being used for direct sequence spreading of a communication signal in a spread spectrum communication system.
II. Description of the Related Art
Pseudo-noise or pseudorandom noise generators are commonly used for bandwidth spreading of a digital signal in a direct sequence spread spectrum communication system. In such systems, such as a Code
Division Multiple Access (CDMA) system, the PN sequence is commonly generated by a Linear Sequence Shift Register (LSSR).
The LSSR is comprised of an N-stage shift register, with some intervening exclusive-OR gates to program a specific PN sequence. The location of the exclusive-OR gates is determined by the defining polynomial of the circuit which in turn, determines which one of the possible sequences will be generated. There are a total of 2 .N-1) - l polynomials for a generator of length N. Only a fraction, about 10%, produce a "maximal" length sequence. A "maximal" length sequence is of length 2 - 1.
For example, a generator with 15 stages and a maximal polynomial will produce a sequence that is 32,767 bits (or "chips") long. In this example, the sequence will contain a single run of 15 ones in a row, and a single run of 14 zeroes in a row. All other runs of ones and zeroes are shorter in length. Every maximal length sequence generator with N stages produces a single run of N ones in a row and a single run of N-l zeroes in a row. In many practical applications of PN sequence generators, a sequence length of 2^ - 1 is inconvenient because these numbers contain few factors and are frequently prime numbers. This makes it difficult to synchronize a system which contains processes operating at a lower rate than the PN chip rate.
In a practical example, a' PN sequence rate of 1.2288 MHz is desired along with a data modulation rate of 9600 bits per > second. The information bits are exclusive-ORed with the PN sequence and the result is bi-phase modulated onto an RF carrier for transmission. This provides 128 PN "chips" per information bit. In another mode of operation, the PN rate would remain the same but the data rate would be reduced to 4800 bits per second or 256 PN "chips" per information bit. It would be desirable to synchronize the data modulation to the PN sequence repetition. However, if the sequence is of length 32767, i.e. 2^ - 1, which has only the factors 7, 31 and 151, then the repetition interval of the PN code and the above two data rates will only coincide every 128 or 256 repetition intervals of the PN sequence. This coincidence occurs only every 3.4 or 6.8 seconds, respectively.
It can be seen from the above that it would be highly desirable for the length of the PN sequence to be a power of two to permit a greater frequency of coincidence in repetition interval of the PN code for multiple data rates. Besides allowing a multiplicity of different data rate modes sharing a common PN chip rate, information bits may be synchronized as soon as the PN sequence synchronization is obtained, thus greatly simplifying the operation of the receiver. In the above example, if the PN sequence is increased to 32768, then whenever the sequence repeats, the synchronization of the 4800 or 9600 bps modulation also repeats. Therefore, as soon as the PN sequence is synchronized, which must necessarily come first anyway, the data modulation circuitry is automatically also in synchronization.
It is therefore an object of the present invention to provide a novel and improved PN sequence generator which generates a PN sequence that is a power of two in length.
It is another object of the present invention to provide a PN generator that permits a selectable phase offset to the PN sequence wherein a change in phase offset selection immediately affects the phase n offfscoett / o.πutprπui-tf-
SUMMARY OF THE INVENTION
The present invention is a novel and improved apparatus and method for generating PN sequences. The PN generator of the present invention is capable of increasing the length of a maximal length linear PN sequence generator generated sequence (2^ - 1 sequence length) by one PN chip so as to provide a PN sequence that is a power of two (2N sequence length). The PN generator of the present invention also provides a simple mechanism for producing the desired PN sequence when combined with a mechanism for providing an easily adjustable phase offset or time shift in the PN sequence. This type of PN sequence is extremely useful when time offsets of the basic PN sequence are used for addressing purposes in a Code Division Multiple Access (CDMA) communication system.
In accordance with the present invention a maximal length linear sequence pseudorandom noise (PN) sequence generator is disclosed which is capable of generating an augmented length PN sequence of length 2^. The PN generator includes circuitry such as the LSSR for generating a PN sequence of length 2^ - l chips. A sequence augmenting circuit is included which inserts at least one additional chip in the PN sequence at a predetermined position within the PN sequence. The sequence augmenting circuit thus provides as an output an augmented PN sequence of length 2^ chips. The generator may also include sequence shifting circuitry which is responsive to a shift input for providing a predetermined shift in the output augmented PN sequence. BRIEF DESCRIPTION OF THE DRAWINGS
The features, objects, and advantages of the present invention will become more apparent from the detailed description set forth below when taken in conjunction with the drawings in which like reference characters identify correspondingly throughout and wherein:
Figure 1 is a circuit diagram of a PN sequence generator in the form of a linear sequence shift register with parallel load input- Figure 2 is an exemplary circuit diagram of the PN sequence generator of the present invention;
Figure 3 is an exemplary circuit diagram of the mask circuit of Figure 2;
Figure 4 is a timing diagram for the PN sequence generator of Figure 2; and Figure 5 is an exemplary circuit diagram of alternative PN sequence generator of the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Referring now to Figure 1, an exemplary Linear Sequence Shift Register (LSSR) PN generator 10 is illustrated. LSSR 10 as illustrated in Figure 1 is a 15 stage LSSR capable of generating a PN sequence of length 2N - 1, where N = 15 such that the 215 - 1 = 32767. As illustrated in Figure 1 LSSR 10 is configured to produce a PN sequence according to the polynomial of equation 1:
PN = χl5 + x13 + x9 + x8 + x7 + x5 + ι. (i)
LSSR 10 is comprised of a sequence of storage elements or shift register stages 12 coupled in series with exclusive OR gates or modulo-2 adders 14 disposed between the shift register stages as defined by equation 1. In implementing the polynomial of equation 1 the output of stages 12χ - 12 are respectively coupled to an input of stages 122 - 125; the output of stage 12 is coupled to an input of stage 127, the output of stages 12io - 12i2 are respectively coupled to an- input of stages 12n - 12χ3; the output of stage 12i4 is coupled to an input of stage 12i5. Furthermore the output of stages 125, 127 - 129 and 12i3 are respectively coupled to one input of adders 14ι - 145 with the outputs adders 14 - 145 respectively coupled to the input of stages 126, 8 - 12l0 and 1214. The output of stage 12i5, the primary output of LSSR 10 (LSSR bit 0) is fed back as an input of stage 12i and the other input of each of adders 141 - 145. The output state of each stage 12ι - 12i5, respectively the values χl - χ!5, is .provided on a 15-bit output bus 16 as the signal STATE_OUT.
Each stage 12ι - 12i5 has another input similarly coupled to a 15-bit input bus 18 used to load or initialize LSSR 10. Each bit of the 15-bit value provided on bus 18 is loaded into a corresponding one of stages 12ι - 1215 when each stage receives at another input a load enable signal (LD_EN).
The bit stored in each stage is shifted out of the stage in response to a system clock (not shown). The bit output from each stage is provided on bus 18 and as an input to a next stage or an adder, with the output from the adder provided to the next stage. In response to a sequence enable signal (SEQ_EN) signal input to each stage, the shifting of the data in the stages at each clocking is enabled.
In a general LSSR, the primary output bit from each clocking of the LSSR is used as a PN sequence bit. The primary output bit clocked PN sequence may be lengthened to a 2^ length using a sequence lengthening circuit disclosed herein. Furthermore the lengthening circuit may be used in combination with a mask circuit which permits a fast phase offset adjustment in the PN sequence. On the other hand, the mask circuit may be used independent of the sequence lengthening circuit with the LSSR to provide a shift in the PN sequence of length 2^ - 1.
Referring to Figure 2, the mask circuit and the sequence lengthening circuit, comprised of several D-type flip-flops, a comparator, a binary counter, a multiplexer, and some random logic, are illustrated along with LSSR 10. The inputs to the circuitry of Figure 2 include a
SYSTEM CLOCK (not shown) which clocks the LSSR, flip-flops, and binary counter; a SYSTEM ENABLE which enables or disables the sequencing of the entire circuit; and a LOAD ENABLE which allows the state of the LSSR and the binary counter to be loaded. Input busses include the LSSR LOAD STATE; a binary COUNTER LOAD STATE; a MASK bus, which is used to determine the amount the shifted sequence output is shifted from the primary sequence output; and an OFFSET bus, which is used to determine when an extra state should be inserted in the shifted sequence. All of these busses are N bits wide. The circuit outputs include the PRIMARY OUTPUT, which is the last bit in the LSSR (right-most bit in a right-shifted LSSR which is also used as the feedback); and the SHIFTED OUTPUT, which forms a sequence which is phase-shifted from that of the PRIMARY OUTPUT. Both of the PRIMARY OUTPUT and SHIFTED OUTPUT sequences are of length 2^. In Figure 2, the sequence lengthening circuit used in conjunction with LSSR 10 consists of N-bit comparator 20, D type flip-flops 21 and 22, inverter 24, NAND gate 26 and AND gate 28. The LSSR OUTPUT STATE bus (STATE_OUT) 18 is coupled to an A input of comparator 20 while the B input thereof receives a fixed N-bit value. The output of comparator 20 is coupled to the D input of flip-flop 21 with the Q output thereof coupled to the D input of flip-flop 22. Flip-flops 21 and 22 each also receiving the system enable signal at an enable input thereof. The Q output of flip-flop 22 is coupled to the input of inverter 24 with the output thereof coupled as one input of NAND gate 26. The other input of NAND gate 26 is coupled to the output of flip-flop 21. The output of NAND gate 26 is coupled to one input of AND gate 28 with the other input thereof receiving the SYSTEM ENABLE signal. The output of AND gate 28 is coupled to LSSR 10 for providing the signal SEQ_EN thereto.
The sequence is lengthened by adding a zero to the single run containing N-l zeroes in a row in the sequence. This lengthening results in a sequence that contains an equal number of zeroes and ones. More specifically the sequence which contains one run of N "l's" now also contains one run of N "0's". Referring to the circuit diagram of Figure 2, the N-bit LSSR state output on bus 18 is compared in comparator 20 with the value "0...0100," where bit N2, i.e. the third least significant bit, contains a "1" and all other bit locations contain zeroes. When this state is detected, a "1" is latched in flip-flop 21. The following state, the LSSR state of "0...0010," is allowed to occur, but then sequencing of LSSR 10 is inhibited for one cycle by the signal SEQ_EN. Therefore, the "0...0010" state is present for two cycles, effectively inserting an additional zero in the run of N-l zeroes of the PRIMARY OUTPUT sequence (PN_OUT).
It should be understood that the value "0...0010" used in the above example for comparison with the LSSR state provides the insertion at the end of the next clock cycle due to the particular logic implementation.
Other comparison states may be desirable to insert the additional chip or chips at other LSSR state or states.
It should also be understood that the use of flip-flop 21 latches a comparison of the LSSR state with the "0...0100" comparison state. In an alternative implementation a comparison could be accomplished in which flip-flop 21 would not be used and the output of comparator 20 is provided to the D input of flip-flop 22. The comparison value for the LSSR state input to comparator 20 would be "0...0010" rather than "0...0100". Upon detection of the "0...0010" state, at the next clocking of flip-flop 22, the LSSR would be inhibited from changing state for one clock cycle.
It is also desirable in certain instances to provide a phase shifted version of the PRIMARY OUTPUT, a SHIFTED OUTPUT, for either of a 2N - 1 or 2N length generated PN sequence. The SHIFTED OUTPUT is generated by modulo-2 addition, i.e. such as by exclusive-ORing, of a specified set of LSSR bits. According to the shift-and-add property of the LSSR, any phase shift of a PN sequence can be produced by modulo-2 addition of the proper stages of the LSSR. In order to provide the shift an N-bit MASK is ANDed with the LSSR state to select the bits to be exclusive-ORed. The use of the N-bit MASK can be set to provide any one of the 2N - 2 or 2N - 1 different shifts of the basic sequence. The MASK input bus is set to a predetermined value so as to result in the desired phase shift of the second output.
As illustrated in Figure 2 the N-bit STATE_OUT values from LSSR 10 are provided on bus 18 as an input to mask circuit 30. Mask circuitry 30 also receives the N-bit mask value on bus 32. From these values mask circuit 30 generates a shifted version of the PRIMARY OUTPUT as the signal SHIFTED OUTPUT(l) for maximal length sequences of length 2^ - 1. However for a maximal linear sequence that has been lengthened by one bit additional correction circuitry must be used to provide the correct shifted 2^ sequence.
Figure 3 illustrates in further detail an exemplary implementation of mask circuit 30 as used in conjunction with LSSR 10 as previously discussed. In Figure 3, a sequence of AND gates 34χ - 34χ5 each have one input for receiving a different bit from bus 18. For example AND gates 34ι - 34χ5 respectively receive from bus 18 the bits χl - x^-5, also referred to as bit N-l through bit 0. The other input of each of AND gates 34χ - 34χ5 receive from bus 32 a corresponding mask bit N-l through mask bit 0. The output of each of AND gates 34χ - 34χs is coupled to one input of a respective one a cascaded sequence of exclusive-OR gates 36χ - 36χ5- In this sequence the first exclusive-OR gate 36χ has one input coupled to the output of AND gate 34χ, another input coupled to ground (a logical "0") with the output coupled to the other input of exclusive-OR gate 362- At the output of exclusive-OR gate 36χ5 is provided the SHIFTED OUTPUT(l) sequence.
As mentioned previously, the shift-and-add property does not work correctly for a maximal linear sequence that has been lengthened by one bit. The above described masked and exclusive-ORed bits must be adjusted for the extra bit in the sequence. In the present invention, this adjustment is accomplished by passing the SHIFTED OUTPUT(l) sequence through a variable time delay consisting of a zero delay or a one bit time delay. This one bit time delay is provided by clocking the SHIFTED OUTPUT(l) sequence through a flip-flop. During the first part of the sequence, the final output sequence, i.e.
SHIFTED OUTPUT sequence, is taken from the mask circuit following the masking operation (zero time delay). Thus during the zero time delay period the final SHIFTED OUTPUT sequence is the same as the SHIFTED OUTPUT(l) sequence. However, when the SHIFTED OUTPUT(l) sequence output from the mask circuit reaches the point where the run of N-l zeroes is passing through the mask circuit, the SHIFTED OUTPUT is provided from the output of the flip-flop. Thus the SHIFTED OUTPUT sequence is the SHIFTED OUTPUT(l) sequence delayed by one bit time so as to add an extra zero in the shifted sequence. When the LSSR reaches the state where it is inhibited for a clock cycle, the SHIFTED OUTPUT is switched back to the output of the mask circuit which is the SHIFTED OUTPUT(l) sequence. This action prevents an extra bit from being inserted in this part of the sequence.
In order to achieve the above a correction circuit is provided. The correction circuit includes D-type flip-flop 40 having a D input coupled to the output of mask circuit 30 for receiving the SHIFTED OUTPUT(l) sequence. Flip-flop 40 also includes an enable input which receives the SEQ_EN signal. The delayed version of the SHIFTED OUTPUT(l) sequence is output at the Q output of flip-flop 40 as one input to 2:1 multiplexer 42. The other input of multiplexer 42 is coupled to the output of mask circuit 30 for receiving the zero shifted version of the SHIFTED OUTPUT(l) sequence. Multiplexer 42 in response to a MUX SELECT signal, provided at a select input thereof, selects between the zero shifted version of the SHIFTED OUTPUT(l) sequence and the shifted version of the SHIFTED OUTPUT(l) sequence for providing at the output thereof as the SHIFTED OUTPUT sequence.
In generating the MUX SELECT signal, AND gate 44 has one input coupled to the output of flip-flop 21, another coupled to the output of flip- flop 22, and the last input for receiving the SYSTEM ENABLE signal. The output of AND gate 44 is coupled to one input of OR gate 46 with the other input thereto receiving the LOAD ENABLE signal. The output of OR gate 46 is coupled as a counter load enable signal to an enable input of N-bit binary counter 48. Counter 48 also receives an N-bit COUNTER LOAD STATE signal through AND gate 50 which provides the COUNTER LOAD STATE signal in response to the LOAD ENABLE signal which is also an input to AND gate 50. Although AND gate 50 is illustrated as a single AND gate it should be understood that it represents a series of AND gates each receiving at one input a different bit of the N-bit COUNTER LOAD STATE signal with the other receiving the LOAD ENABLE signal. The output of each of these AND gates is provided to a respective one of N load inputs of counter 48.
The N-bit output of counter 48 is provided to the B input of N-bit comparator 52, while at the A input is provided an N-bit offset value.
Comparator 52 determines whether the input provided at the B input is greater than or equal to the A input. The output of comparator 52 is coupled to one input of AND gate 54. The other input of AND gate 54 is the inverted output of flip-flop 21 provided through inverter 56. The output of AND gate 54 is provided to the D input of D-type flip-flop 58 with the enable input receiving the SYSTEM ENABLE signal. The Q output of flip-flop 58 is coupled to the select input of multiplexer 42 for providing the MUX SELECT signal thereto.
The determination of when to insert an extra zero in the SHIFTED OUTPUT sequence, and when to prevent an unwanted extra state in the SHIFTED OUTPUT sequence when one is being inserted in the PRIMARY OUTPUT, is supported by the operation of N-bit binary counter 48 and comparator 52. Recalling that the LSSR state "0...0010" is present for two cycles, it is the second of these two cycles which causes the extra zero to be inserted in the primary sequence. This cycle also causes counter 48 to be reset to zero. The signal provided on an N-bit OFFSET bus to comparator 52 must be set to the amount of the desired SHIFTED OUTPUT phase shift from the PRIMARY OUTPUT less two. As long as this offset value is less than the binary counter state, the shifted sequence is taken directly from the output of mask circuit 30, i.e. SHIFTED OUTPUT equals SHIFTED OUTPUT(l). As soon as the counter state equals the offset value as determined by comparator 52, flip-flop 58 is set, and the following SHIFTED OUTPUT bit is taken from the delayed version of SHIFTED OUTPUT(l) output from flip-flop 40. The process just described inserts a zero in the SHIFTED OUTPUT sequence as compared to the SHIFTED OUTPUT(l) sequence.
The SHIFTED OUTPUT sequence will continue to be taken from the delayed version of the SHIFTED OUTPUT(l) sequence for the period that the counter state is greater than or equal to the offset value. When counter 48 is reset to zero by the process described above the SHIFTED OUTPUT(l) sequence is again provided as the SHIFTED OUTPUT sequence. Since it is at this point where a zero is inserted in the primary sequence, the shifted sequence must revert back to that taken directly from mask circuit 30 to prevent an unwanted extra state inserted in the shifted sequence. For purposes of further explanation, Table I below, in conjunction with the timing diagram of Figure 4, illustrates an example of a 4-bit PN generator with a SHIFTED OUTPUT sequence that is shifted from the PRIMARY OUTPUT sequence by 10 chips. The polynomial chosen for this example which specifies the PN sequence is:
PNex = x4 + x3 + 1. (2)
Further in this example the MASK input bus is set equal to 1010 (binary), which causes the shifted sequence to be offset by 10 chips. Consequently, the OFFSET input bus is set to 10 - 2 = 8 or 1000 (binary).
TABLE I
Figure imgf000013_0001
Notice in Table I that the LSSR state "0010" is present for two cycles. The detection of the LSSR state "0100" disables the cycling of the LSSR after the first occurrence of the LSSR state "0010". With the LSSR disabled for one clock cycle the state "0010" is repeated as to cause an extra zero to be inserted in the primary sequence as illustrated in Table I. After the first of these two LSSR "0010" states, the shifted sequence is taken directly from the mask circuit output, which, in effect, "absorbs" the added state. When the binary counter state equals "8," however, as determined by the OFFSET value, it is time to insert a zero in the shifted sequence. This insertion is done by taking the shifted sequence from the delayed mask circuit output from flip-flop 40. Table I illustrates that this process inserts a zero in the shifted sequence at the correct time.
Figure 4 illustrates a timing diagram which further details the sequencing of the above example. It should be noted that the mapping of the states in Table I are coordinated with those of the timing diagram of Figure 4. Figure 4 also shows the MUX SELECT signal, which controls multiplexer 42 which is responsible for determining whether the shifted sequence is taken directly from the mask circuit output (MUX SELECT is low) or the delayed version of it output from flip-flop 40 (MUX SELECT is high). The timing diagram of Figure 4 also clearly illustrates the 10-cycle phase shift that the SHIFTED OUTPUT experiences.
As illustrated in the circuit diagrams of Figures 1 - 3, the LSSR and binary counter states may be loaded, as controlled by the LOAD ENABLE input. The counter through the LOAD ENABLE input is set to the state corresponding to the value of the COUNTER LOAD STATE input. It should be understood that for each value of the LSSR LOAD STATE there is a corresponding COUNTER LOAD STATE. When the counter state is loaded, the COUNTER LOAD STATE value corresponding to the LSSR LOAD STATE must be provided to ensure that the sequence is correctly produced. Otherwise, an incorrect shifted sequence may result. However, should the counter load state be incorrect the sequence will only be incorrect until an extra state is inserted in the primary sequence. When the extra state is inserted into the primary sequence, the action of AND gate 44 and OR gate 46 causes the counter to be automatically reset to zero. From this point on, the counter 48 will properly track the LSSR state and the SHIFTED OUTPUT sequence will have the proper phase shift.
The use of the loading the LSSR state and the counter state allow the generated sequence to be started anywhere in the sequence. This use of this feature permits the output sequence to be initialized to any position in the entire sequence in a simple manner. Although such a technique may be used to change the sequence, it is much more difficult to compute the state of the LSSR for each desired shift and load into the LSSR than it is to provide a mask which corresponds to each desired shift. Using the technique of loading the LSSR to change the sequence shift would still require an LSSR state or output sequence detection to augment the sequence.
An important feature of the disclosed invention is that when the phase shift is to be changed, the SHIFTED OUTPUT begins producing the new phase as soon as the new values of OFFSET and MASK are updated. In some applications, only a small number of different sequence delays must be produced by the SHIFTED OUTPUT sequence. In such a case, it would be simplest to implement if the paired values of OFFSET and MASK were pre-computed and stored in a Read Only Memory (ROM) not shown. If a large number of different delays are desired, then an associated microcomputer, not shown, could be programmed to produce the paired values of MASK and OFFSET corresponding to the desired delays.
In the exemplary embodiment of the present invention as disclosed herein there are 2^ - ι shifts from the primary sequence. Thus there exists 2^ - x legal mask values with the all zero mask value not being permitted. The all-zero mask value would result in an all-zero output sequence using the disclosed mask circuit. Additionally, since the mask value of all zeros except for a the last mask bit (Bit 0 that is ANDed with xN) results in an unshifted sequence, there exists one other shift that is not available. In the example illustrated a one chip shift in the shifted sequence is not available.
In the general usage of the present invention a one chip shifted sequence is not needed. However logic (not shown) may be readily constructed to provide where a one chip shifted sequence is needed. Referring to Figure 2, in the case of the one chip shifted sequence the MASK value would be set to all zero except for the last bit. Detection logic
(not shown) would do an N-bit comparison between the MASK value and an input value of all zeros except for the last bit. Another N-bit comparison would be made between the N-bit OFFSET value and another input value of 2^ - 1. In the situation where the MASK value is equal to all zeros except for the last bit, and the OFFSET value is equal to the value 2N - X (X - 2 = 2^ - X), the shifted sequence output from multiplexer 42 would always be the Q output of flip-flop 40. Logic implementing this feature are a pair of N-bit equal to comparators (not shown) with the outputs thereof coupled through an AND gate (not shown) to one input of an OR gate (not shown). This OR gate would be positioned between AND gate 54 and flip-flop 58, with the other input of the OR gate coupled to the output of AND gate 54 and the output of the OR gate coupled to the D input of flip-flop 58.
It should be understood that many variations to the present invention may be implemented to provide an augmented maximal length sequence generator. However other implementations generally lack the ability to provide fast offset adjustment, i.e. the ability to quickly change the shift in the sequence. For example rather than the state of the LSSR being used for comparison to determine the point of insertion, the primary output (for unshifted sequences) or the mask circuit output (for shifted sequences) may be used. The sequence of single bits may be stored in an additional shift register or other storage medium for comparison with the desired state for the insertion of the extra chip in the sequence. Upon detection of the appropriate bit sequence, the LSSR would then be inhibited as before for one chip time to provide the additional chip in the sequence. Using the above teachings, an additional bit or bits may be inserted into the sequence at the desired location.
Figure 5 illustrates an alternative implementation of an augmented PN sequence generator. LSSR 10' with the loaded state generates the PN sequence of length 2^ - 1 upon the clocking thereof. The sequence is output from LSSR 10' where detect logic 60 detects the condition of N - 1 zeros in a row for the exemplary insertion point of an additional chip. When this condition is detected a signal is generated which is output to AND gate 62 and ANDed with the SYSTEM ENABLE signal so as to disable LSSR 10' for one clock cycle. Thus the PRIMARY OUTPUT sequence is now of length 2^.
In order to provide a shift in sequence LSSR 10' may be loaded with the appropriate state. However for the reasons discussed above such a technique is not as preferable as using the state output of LSSR and mask circuit 30'. The output of mask circuit 30' is again coupled to the D input of D-type flip-flop 40' and also to one data input of multiplexer 42'. The Q output of flip-flop 40' is coupled to the other data input of multiplexer 42' with the output thereof providing the shifted sequence.
The output of detect logic 60 is also provided through inverter 64 to the reset (R) input of RS-type flip-flop 66. The set (S) input of flip-flop 66 is coupled to the output of detect logic -68 with the input of thereof coupled to the output of multiplexer 42'. The output of flip-flop 66 is coupled to the select input of multiplexer 42'. Detect logic 68 is used again to detect the condition of N - 1 zeros in a row in the shifted sequence. Since the sequence provided through mask circuit 30' is shifted from that of the primary output of the LSSR, when the LSSR is inhibited for one clock cycle to insert the extra state in the primary sequence it is not the correct position to insert the extra state in the shifted sequence. The signal from detect logic 60 through inverter 64 and flip-flop 66 is used to absorb the extra state when inserted in the primary sequence. Thus when flip-flop 66 is reset by this signal the output thereof is used to select as the output from multiplexer 42' the SHIFTED OUTPUT(l) output directly from mask circuit 30'. The signal from detect logic 68 through flip-flop 66 is used to insert the extra state in the SHIFTED OUTPUT sequence. When flip-flop 66 is set by the signal from detect logic 68, the output thereof is used to select as the output from multiplexer 42' the delayed version of SHIFTED OUTPUT(l) sequence output from flip-flop 40'.
Detect logic 60 and 68 may be constructed by simply using a shift register with N - l taps with the taps coupled as inputs to an OR gate. In the alternative a log2(N-l) counter may be used to detect the sequence of
N - l zeros. It should be noted that in the alternative implementation of Figure 5, when the input mask changes the shifted output may not be correct for up to N - 1 cycles.
In variant of the implementation of Figure 5 the shifted sequence output from mask circuit 30', the sequence SHIFTED OUTPUT(l), may be directly output (via the dashed lines) as the output shifted augmented PN sequence. In this case the output of mask circuit 30' is provided to detect logic 60 (via dashed lines). Again detect logic 60 is used to detect the sequence of N - 1 zeros and inhibit the change in state of LSSR 10'. However, since the SHIFTED OUTPUT(l) sequence is detected to inhibit the LSSR, the insertion of the extra state in the sequence is correct for SHIFTED OUTPUT(l) sequence but not for the PRIMARY OUTPUT sequence.
The previous description of the preferred embodiments is provided to enable any person skilled in the art to make or use the present invention. The various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without the use of the inventive faculty. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
WE CLAIM:

Claims

1. A pseudorandom noise (PN) sequence generator comprising: means for generating a PN sequence of length 2^ - x chips; and means, operatively coupled to said means for generating, for inserting at least one additional chip in said PN sequence, with said means for generating providing an output augmented PN sequence of a length of at least 2^ chips.
2. The generator of Claim 1 wherein said means for generating is of a respective state for each chip generated in said PN sequence and wherein said means for inserting comprises: means for detecting a predetermined state of said means for generating; and means for inhibiting a change in state of said means for generating upon detection of said predetermined state.
3. The generator of Claim 1 wherein said means for inserting comprises: means for detecting a predetermined portion of said PN sequence of length 2N - 1 chips; and means for inhibiting a change in said means for generating upon detection of said predetermined portion of said PN sequence.
4. The generator of Claim 1 further comprising means, operatively coupled to said means for generating, responsive to a shift input for providing a predetermined shift in said output augmented PN sequence.
5. The generator of Claim 2 further comprising; means, operatively coupled to said means for generating, responsive to a shift input for providing a predetermined shift in said PN sequence; means for receiving said shifted PN sequence and providing a delayed shifted PN sequence which is delayed by one chip from said shifted PN sequence; and means, operatively coupled to said means for inhibiting, and for receiving said shifted PN sequence and said delayed shifted PN sequence, for receiving an offset input and responsive thereto for providing an output of a selected one of said shifted PN sequence and said delayed shifted PN sequence.
6. In a pseudorandom noise (PN) sequence generator capable of generating a PN sequence of a sequence length of 2^ - x chips using a linear sequence shift register (LSSR) clocked at a predetermined clock rate by an external clock, said LSSR having a plurality of register stages collectively providing upon each clocking of said LSSR an output corresponding to the state of said LSSR, said LSSR responsive to a disabling input for disabling the generation of said PN sequence, a circuit for augmenting the length of said PN sequence output from said LSSR to a sequence length of 2^ chips comprising: comparison means for receiving said LSSR state output and a comparison state input representative of a predetermined LSSR state, for comparing said LSSR and comparison states, and providing a corresponding match indication; and logic means for receiving said match indication and for providing said disabling input to said LSSR at a predetermined time for one clock cycle upon occurrence of said match indication representative of an equality in said LSSR and comparison states.
7. The PN generator of Claim 6 further comprising shift means for receiving said LSSR state output and a mask input for providing a sequence shifted version of said LSSR augmented length PN sequence.
8. The PN generator of Claim 7 wherein said shift means further comprises: mask means for, receiving said LSSR output state and said mask input, for generating a modified shifted version of said LSSR augmented length PN sequence; adjustment means for receiving said modified shifted version of said LSSR augmented length PN sequence, receiving an offset input, delaying said modified shifted version of said LSSR augmented length PN sequence and for providing a selected one of said modified shifted version of said LSSR augmented length PN sequence and said delayed modified shifted version of said LSSR augmented length PN sequence so as to provide an output of a shifted version of said LSSR augmented length PN sequence.
9. In a pseudorandom noise (PN) sequence generator capable of generating a PN sequence of a sequence length of 2^ - x chips using a linear sequence shift register (LSSR) clocked at a predetermined clock rate by an external clock, said LSSR having a plurality of register stages each having an output for collectively providing thereat upon each clocking of said LSSR an output bit corresponding to the state of said LSSR, said LSSR having an enable input for enabling/ disabling the generation of said PN sequence for each clock cycle, a circuit for augmenting the length of said
PN sequence output from said LSSR to a sequence length of 2^ chips comprising: a first N-bit comparator having a first set of N inputs each coupled to a respective stage output of said LSSR, another set of N inputs each for receiving a predetermined state input bit and an output; a first clocked delay register having a data input coupled to said comparator output, and an output; a second clocked delay register having a data input coupled to said first clocked delay register output, and an output; a first logic circuit having a pair of inputs respectively coupled to said first and second delay register outputs and an output coupled to said LSSR enable input, said first logic circuit generating a signal for enabling and disabling said LSSR for one clock cycle.
10. The PN generator of Claim 9 further comprising: a mask circuit having a plurality of state inputs each coupled to a respective one of said LSSR register stage outputs, a plurality of mask inputs each for receiving a predetermined bit of an N-bit input mask, and an output; a third clocked delay register having a data input coupled to said mask circuit output, and an output; a multiplexer having a pair of data inputs respectively coupled to said mask circuit output and said second clocked delay register output, a select input, and an output; and a selector circuit having a first and second inputs respectively coupled to said first and second delay register outputs, a third input for receiving said system enable signal, an offset input for receiving an external offset signal for generating and providing a select signal at an output coupled to said multiplexer select input.
11. The PN generator of Claim 10 wherein said selector circuit comprises: an N-bit clocked counter having a reset input and N outputs; a reset logic circuit having first and second inputs, coupled to said first and second delay register outputs, and an output coupled to said counter reset input; a second N-bit comparator having a first set of N inputs each coupled to a respective one of said counter N outputs, another set of N inputs each for receiving a predetermined bit of an N-bit offset, where said offset is of a value different from a value of said N-bit mask by a predetermined value; a second logic circuit having a pair of inputs respectively coupled to said first delay register output and said second comparator and an output, said second logic circuit generating said select signal; and a fourth clocked delay register having a data input coupled to said second logic circuit output, and an output coupled to said multiplexer select input.
12. The PN generator of Claim 9 wherein said first logic circuit comprises: an inverter having an input coupled to said first register output, and an output; a NAND gate having one input coupled to said inverter output and another input coupled to said first comparator output, and an output; an AND gate having one input coupled to said NAND gate output and another input for receiving said system enable signal and an output coupled to said LSSR enable input
13. The PN generator of Claim 11 wherein each of said first, second, third and fourth delay registers has an enable input for receiving a system enable signal.
14. The PN generator of Claim 11 wherein: said counter has an N-bit load input for receiving a counter load state value; and said reset logic circuit comprises: a first AND gate having a first and second inputs respectively coupled to said first and second delay register outputs and a third input for receiving a system enable signal; an OR gate having a first input coupled to said AND gate output and a second input for receiving a load enable signal, said OR gate having an output coupled to said counter reset input.
15. The PN generator of Claim 11 wherein said second logic circuit comprises: an inverter having an input coupled to said first delay register output, and an output; and an AND gate having one input coupled to said inverter output and another input coupled to said second comparator output, and an output coupled to said fourth delay register input.
16. The PN generator of Claim 14 wherein said second logic circuit comprises: an inverter having an input coupled to said first delay register output, and an output; and a second AND gate having one input coupled to said inverter output and another input coupled to said second comparator output, and an output coupled to said fourth delay register input.
17. A method of generating a pseudorandom noise (PN) sequence of a sequence length of 2^ chips comprising the steps of: generating a PN sequence of length 2^ - 1 chips; and inserting in at least one predetermined position in said PN sequence at least one additional chip so as to provide an output augmented PN sequence of a length at least 2^ chips.
18. The method of Claim 17 wherein said PN sequence is generated by a PN generator which is of a respective state for each chip generated in said PN sequence and wherein said step of inserting comprises the steps of: detecting a predetermined state in said generation of said PN sequence; and inhibiting a change in said state of generation of said PN sequence upon detection of said predetermined state.
19. The method of Claim 17 wherein said step of inserting comprises the steps of: detecting a predetermined portion of said PN sequence of length 2N - 1 chips; and inhibiting said generation of said PN sequence upon detection of said predetermined portion of said PN sequence.
20. The method of Claim 17 further comprising the step of providing a predetermined shift in said output augmented PN sequence.
PCT/US1993/003065 1992-04-03 1993-04-01 Power-of-two length pseudo-noise sequence generator with fast offset adjustment WO1993020630A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/862,687 US5228054A (en) 1992-04-03 1992-04-03 Power-of-two length pseudo-noise sequence generator with fast offset adjustment
US862,687 1992-04-03

Publications (1)

Publication Number Publication Date
WO1993020630A1 true WO1993020630A1 (en) 1993-10-14

Family

ID=25339060

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1993/003065 WO1993020630A1 (en) 1992-04-03 1993-04-01 Power-of-two length pseudo-noise sequence generator with fast offset adjustment

Country Status (8)

Country Link
US (1) US5228054A (en)
CN (1) CN1068686C (en)
AU (1) AU4045593A (en)
IL (1) IL105207A (en)
MX (1) MX9301917A (en)
SG (1) SG80542A1 (en)
WO (1) WO1993020630A1 (en)
ZA (1) ZA932097B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100763599B1 (en) * 1999-07-05 2007-10-05 엠텍비젼 주식회사 Apparatus and method for generating shortened pn code with pre-determined offset value

Families Citing this family (100)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6693951B1 (en) 1990-06-25 2004-02-17 Qualcomm Incorporated System and method for generating signal waveforms in a CDMA cellular telephone system
US5469469A (en) * 1993-12-07 1995-11-21 University Of Massachusetts Lowell Research Foundation Composite spread spectrum signal including modulator demodulator
KR970002951B1 (en) * 1994-04-13 1997-03-13 양승택 Power-of-two length pseudorandom noise sequence generator
KR970011690B1 (en) 1994-11-22 1997-07-14 삼성전자 주식회사 Data receiver & transmitter of spread spectrum using pilot channel
US5602833A (en) * 1994-12-19 1997-02-11 Qualcomm Incorporated Method and apparatus for using Walsh shift keying in a spread spectrum communication system
US5602874A (en) * 1994-12-29 1997-02-11 Motorola, Inc. Method and apparatus for reducing quantization noise
US5691974A (en) * 1995-01-04 1997-11-25 Qualcomm Incorporated Method and apparatus for using full spectrum transmitted power in a spread spectrum communication system for tracking individual recipient phase, time and energy
MY114291A (en) * 1995-01-31 2002-09-30 Qualcomm Inc Concentrated subscriber system for wireless local loop
US5544223A (en) * 1995-01-31 1996-08-06 Qualcomm Incorporated Method and apparatus for paging a concentrated subscriber system for wireless local loop
US6292476B1 (en) * 1997-04-16 2001-09-18 Qualcomm Inc. Method and apparatus for providing variable rate data in a communications system using non-orthogonal overflow channels
US5608722A (en) * 1995-04-03 1997-03-04 Qualcomm Incorporated Multi-user communication system architecture with distributed receivers
US5757767A (en) * 1995-04-18 1998-05-26 Qualcomm Incorporated Method and apparatus for joint transmission of multiple data signals in spread spectrum communication systems
US5703902A (en) * 1995-06-16 1997-12-30 Qualcomm Incorporated Method and apparatus for determining signal strength in a variable data rate system
ZA965340B (en) 1995-06-30 1997-01-27 Interdigital Tech Corp Code division multiple access (cdma) communication system
US7020111B2 (en) * 1996-06-27 2006-03-28 Interdigital Technology Corporation System for using rapid acquisition spreading codes for spread-spectrum communications
US6885652B1 (en) 1995-06-30 2005-04-26 Interdigital Technology Corporation Code division multiple access (CDMA) communication system
US6697350B2 (en) 1995-06-30 2004-02-24 Interdigital Technology Corporation Adaptive vector correlator for spread-spectrum communications
US7072380B2 (en) 1995-06-30 2006-07-04 Interdigital Technology Corporation Apparatus for initial power control for spread-spectrum communications
USRE38523E1 (en) 1995-06-30 2004-06-01 Interdigital Technology Corporation Spreading code sequence acquisition system and method that allows fast acquisition in code division multiple access (CDMA) systems
US6788662B2 (en) 1995-06-30 2004-09-07 Interdigital Technology Corporation Method for adaptive reverse power control for spread-spectrum communications
US7123600B2 (en) * 1995-06-30 2006-10-17 Interdigital Technology Corporation Initial power control for spread-spectrum communications
US6831905B1 (en) 1995-06-30 2004-12-14 Interdigital Technology Corporation Spread spectrum system assigning information signals to message-code signals
US6049535A (en) 1996-06-27 2000-04-11 Interdigital Technology Corporation Code division multiple access (CDMA) communication system
US6940840B2 (en) * 1995-06-30 2005-09-06 Interdigital Technology Corporation Apparatus for adaptive reverse power control for spread-spectrum communications
US6816473B2 (en) 1995-06-30 2004-11-09 Interdigital Technology Corporation Method for adaptive forward power control for spread-spectrum communications
US7929498B2 (en) 1995-06-30 2011-04-19 Interdigital Technology Corporation Adaptive forward power control and adaptive reverse power control for spread-spectrum communications
US6246675B1 (en) 1995-11-14 2001-06-12 Andrew Beasley CDMA cordless telephone system and method of operation thereof
US5892792A (en) * 1995-12-06 1999-04-06 Rockwell International Corporation 12-chip coded spread spectrum modulation for direct conversion radio architecture in a digital cordless telephone
US5878075A (en) * 1996-07-26 1999-03-02 Motorola, Inc. Method of and apparatus for generating a pseudorandom noise sequence
US5910956A (en) * 1996-11-05 1999-06-08 Northrop Gruman Corporation Random time interval generator
JP3651154B2 (en) * 1996-12-27 2005-05-25 ソニー株式会社 PN code generation circuit and radio system terminal device
KR100807993B1 (en) 1997-03-04 2008-03-06 콸콤 인코포레이티드 A multi-user communication system architecture with distributed transmitters
US6236863B1 (en) 1997-03-31 2001-05-22 Oki Telecom, Inc. Comprehensive transmitter power control system for radio telephones
US6005888A (en) * 1997-07-08 1999-12-21 Texas Instruments Incorporated Method for providing offset mask for pseudo-noise sequence generator
US5835528A (en) * 1997-07-08 1998-11-10 Texas Instruments Incorporated Method for fast determination of puesdo-noise code generator state
US6560461B1 (en) 1997-08-04 2003-05-06 Mundi Fomukong Authorized location reporting paging system
JP3329705B2 (en) * 1997-09-02 2002-09-30 松下電器産業株式会社 PN code generator and mobile radio communication system
CN100590988C (en) 1997-10-10 2010-02-17 高通股份有限公司 Apparatus for spreading information signal in spreading spectrum communications system
US20020051434A1 (en) * 1997-10-23 2002-05-02 Ozluturk Fatih M. Method for using rapid acquisition spreading codes for spread-spectrum communications
JP3587675B2 (en) * 1998-02-18 2004-11-10 富士通株式会社 Pseudo noise generator
US6563808B1 (en) 1998-03-04 2003-05-13 Stanford Telecommunications, Inc. Apparatus for incorporating multiple data rates in an orthogonal direct sequence code division multiple access (ODS-CDMA) communications system
US5926070A (en) * 1998-03-04 1999-07-20 Texas Instruments Incorporated Efficient offset mask generator for pseudo-noise sequence generator
JP2001527728A (en) * 1998-03-05 2001-12-25 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Mask generator polynomial for pseudorandom noise generator
US6339645B2 (en) * 1998-03-06 2002-01-15 Telefonaktiebolaget Lm Ericsson (Publ) Pseudo-random sequence generator and associated method
US6285873B1 (en) 1998-03-09 2001-09-04 Qualcomm Incorporated Method for generating a broadcast challenge value
JP3556461B2 (en) * 1998-03-18 2004-08-18 富士通株式会社 M-sequence phase shift coefficient calculation method
JPH11275052A (en) * 1998-03-19 1999-10-08 Fujitsu Ltd Spread coder and its method
US6282181B1 (en) 1998-04-24 2001-08-28 Ericsson Inc Pseudorandom number sequence generation in radiocommunication systems
US6625204B1 (en) 1998-04-24 2003-09-23 Aloha Networks, Inc. Synchronization and bit detection in a single spreading sequence SAMA receiver
US6404826B1 (en) 1998-07-02 2002-06-11 Texas Instruments Incorporated Iterative signal-to-interference ratio estimation for WCDMA
US6556555B1 (en) 1998-09-22 2003-04-29 J.S. Lee Associates, Inc. Method for calculating the PN generator mask to obtain a desired shift of the PN code
WO2000019732A2 (en) * 1998-09-29 2000-04-06 Samsung Electronics Co., Ltd. Device and method for generating spreading code and spreading channel signals using spreading code in cdma communication system
US6356605B1 (en) 1998-10-07 2002-03-12 Texas Instruments Incorporated Frame synchronization in space time block coded transmit antenna diversity for WCDMA
US6643338B1 (en) 1998-10-07 2003-11-04 Texas Instruments Incorporated Space time block coded transmit antenna diversity for WCDMA
US6345069B1 (en) 1998-10-16 2002-02-05 Texas Instruments Incorporated Simplified cell search scheme for first and second stage
WO2000024139A1 (en) * 1998-10-21 2000-04-27 Qualcomm Incorporated Encryption support in a hybrid gsm/cdma network
US6331975B1 (en) 1998-10-28 2001-12-18 Texas Instruments Incorporated User data indicator for discontinuous transmission
KR100442661B1 (en) * 1998-11-02 2004-10-14 삼성전자주식회사 Device and method for generating code in mobile communication system
US6480503B1 (en) 1998-12-28 2002-11-12 Texas Instruments Incorporated Turbo-coupled multi-code multiplex data transmission for CDMA
US6687376B1 (en) 1998-12-29 2004-02-03 Texas Instruments Incorporated High-speed long code generation with arbitrary delay
US6173009B1 (en) 1998-12-29 2001-01-09 Texas Instruments Incorporated State calculation circuit for discrete linear state space model
US6636553B1 (en) * 1998-12-29 2003-10-21 Texas Instruments Incorporated Pseudorandom noise generator for WCDMA
US6088347A (en) * 1999-03-10 2000-07-11 Massachusetts Institute Of Technology Variable chip rate code-division multiple access
FI108182B (en) * 1999-03-23 2001-11-30 Nokia Networks Oy Procedure for updating linear feedback shift register in a code generator
KR20000066904A (en) * 1999-04-21 2000-11-15 윤종용 Apparatus and method for generating spreading code in cdma communications system
US6895090B1 (en) 1999-04-30 2005-05-17 Texas Instruments Incorporated Pseudo-noise sequence with insertion having variant length and position
US6539049B1 (en) 1999-05-28 2003-03-25 Dot Wireless, Inc. Device and method for maintaining time synchronous with a network master time
US6748006B1 (en) 1999-05-28 2004-06-08 Texas Instruments Incorporated Method and apparatus for controlling system timing with use of a master timer
US6281822B1 (en) 1999-05-28 2001-08-28 Dot Wireless, Inc. Pulse density modulator with improved pulse distribution
US6452959B1 (en) 1999-05-28 2002-09-17 Dot Wireless, Inc. Method of and apparatus for generating data sequences for use in communications
US6289067B1 (en) 1999-05-28 2001-09-11 Dot Wireless, Inc. Device and method for generating clock signals from a single reference frequency signal and for synchronizing data signals with a generated clock
JP2000350262A (en) 1999-06-07 2000-12-15 Yozan Inc Code generating method and circuit
US6640236B1 (en) 1999-08-31 2003-10-28 Qualcomm Incorporated Method and apparatus for generating multiple bits of a pseudonoise sequence with each clock pulse by computing the bits in parallel
US6282230B1 (en) * 1999-09-23 2001-08-28 Texas Instruments Incorporated Block pseudo-noise generating circuit
US7012950B1 (en) 1999-11-15 2006-03-14 Lg Electronics Inc. Apparatus for generating pseudo-noises code and method for generating pseudo-noise codes using the same
US6246676B1 (en) * 1999-12-13 2001-06-12 Motorola, Inc. Method and apparatus for implementing PN masks for a truncated M-sequence
EP1111784B1 (en) * 1999-12-22 2008-07-30 Telefonaktiebolaget LM Ericsson (publ) A method and an electrical device for efficient multi-rate pseudo random noise (PN) sequence generation
US6647054B1 (en) * 1999-12-29 2003-11-11 Koninklijke Philips Electronics N.V. Multiple mask arrangement for jumping in pseudo-noise sequences
US6594680B1 (en) 1999-12-30 2003-07-15 Texas Instruments Incorporated Psuedo-random noise sequence generating system
US6816876B2 (en) 2000-01-28 2004-11-09 Infineon Technologies Ag Apparatus and method for modifying an M-sequence with arbitrary phase shift
US6959033B1 (en) * 2000-08-25 2005-10-25 Texas Instruments Incorporated System and method for assigning combiner channels in spread spectrum communications
US6771691B1 (en) 2000-09-15 2004-08-03 Texas Instruments Incorporated System and method for extracting soft symbols in direct sequence spread spectrum communications
US7031374B1 (en) 2000-10-06 2006-04-18 Texas Instruments Incorporated System and method for selecting sample streams in direct sequence spread spectrum communications
US6889055B1 (en) * 2000-10-16 2005-05-03 Qualcomm Inc. Technique for reducing average power consumption in a wireless communications device
CN100435500C (en) * 2001-03-29 2008-11-19 深圳市中兴集成电路设计有限责任公司 Method for quickly generating pseudo-random code sequence synchronous with phase of base station
US6987799B2 (en) * 2001-05-03 2006-01-17 Texas Instruments Incorporated System and method for demodulating associated information channels in direct sequence spread spectrum communications
US6735606B2 (en) * 2001-05-15 2004-05-11 Qualcomm Incorporated Multi-sequence fast slewing pseudorandom noise generator
US20030002566A1 (en) * 2001-06-19 2003-01-02 Mcdonough John G. System and method for shifting the phase of pseudorandom noise code in direct sequence spread spectrum communications
GB2379140B (en) * 2001-08-22 2004-11-10 Ubinetics Ltd Code generation
DE10147306A1 (en) * 2001-09-26 2003-07-03 Infineon Technologies Ag Method and device for determining initialization states in pseudo-noise sequences
US6963888B2 (en) * 2001-11-29 2005-11-08 Koninklijke Philips Electronics N.V. Method and apparatus for preventing noise from influencing a random number generator based on flip-flop meta-stability
US20030112971A1 (en) * 2001-12-17 2003-06-19 Motorola, Inc. Method for generating a desired state of a pseudorandom sequence and a radio using same
US6667708B2 (en) * 2001-12-28 2003-12-23 Motorola, Inc. Method and system for a programmable code generator
US7317776B2 (en) * 2002-04-18 2008-01-08 Texas Instruments Incorporated Efficient pseudo-noise sequence generation for spread spectrum applications
US20040024803A1 (en) * 2002-07-31 2004-02-05 Allen Montijo Cascaded modified PRBS counters form easily programmed and efficient large counter
US7124156B2 (en) * 2003-01-10 2006-10-17 Nec America, Inc. Apparatus and method for immediate non-sequential state transition in a PN code generator
US7995926B2 (en) * 2003-02-21 2011-08-09 Northrop Grumman Systems Corporation Scanned acquisition using pre-track data
CN100426709C (en) * 2003-03-06 2008-10-15 华为技术有限公司 Method and device for producing received used codes in CDMA radio communication system
US20070005673A1 (en) * 2005-06-30 2007-01-04 Peter Lablans The Creation and Detection of Binary and Non-Binary Pseudo-Noise Sequences Not Using LFSR Circuits
CN108335707A (en) * 2018-02-09 2018-07-27 盛科网络(苏州)有限公司 A kind of high speed memory designs method and device with mask

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5103459A (en) * 1990-06-25 1992-04-07 Qualcomm Incorporated System and method for generating signal waveforms in a cdma cellular telephone system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4785410A (en) * 1985-06-05 1988-11-15 Clarion Co., Ltd. Maximum length shift register sequences generator
US4864525A (en) * 1986-07-11 1989-09-05 Clarion Co., Ltd. Maximum length shift register sequence generator
US4776012A (en) * 1987-04-17 1988-10-04 Unisys Corporation Method of jumping composite PN codes
JPS6436233A (en) * 1987-07-31 1989-02-07 Clarion Co Ltd Spread spectrum communication system
JPH0250512A (en) * 1988-08-10 1990-02-20 Clarion Co Ltd Pseudo random noise code generator
NZ238651A (en) * 1990-07-20 1994-04-27 Ericsson Ge Mobile Communicat Encryption system for digital cellular communications

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5103459A (en) * 1990-06-25 1992-04-07 Qualcomm Incorporated System and method for generating signal waveforms in a cdma cellular telephone system
US5103459B1 (en) * 1990-06-25 1999-07-06 Qualcomm Inc System and method for generating signal waveforms in a cdma cellular telephone system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100763599B1 (en) * 1999-07-05 2007-10-05 엠텍비젼 주식회사 Apparatus and method for generating shortened pn code with pre-determined offset value

Also Published As

Publication number Publication date
ZA932097B (en) 1994-01-12
MX9301917A (en) 1994-08-31
SG80542A1 (en) 2001-05-22
US5228054A (en) 1993-07-13
AU4045593A (en) 1993-11-08
CN1082284A (en) 1994-02-16
IL105207A (en) 1996-10-16
CN1068686C (en) 2001-07-18
IL105207A0 (en) 1993-09-22

Similar Documents

Publication Publication Date Title
US5228054A (en) Power-of-two length pseudo-noise sequence generator with fast offset adjustment
US5926070A (en) Efficient offset mask generator for pseudo-noise sequence generator
US5532695A (en) Power of two length pseudorandom noise sequence generator
US6459722B2 (en) Pseudorandom noise generator for WCDMA
US6339781B1 (en) M-sequence generator and PN code generator with mask table for obtaining arbitrary phase shift
US7512645B2 (en) System and method for generating pseudorandom numbers
US6735606B2 (en) Multi-sequence fast slewing pseudorandom noise generator
US5598154A (en) Apparatus and method for generating and utilizing pseudonoise code sequences
EP1343265B1 (en) A process for generating codes for CDMA communications, system and computer program
US7124156B2 (en) Apparatus and method for immediate non-sequential state transition in a PN code generator
US6687376B1 (en) High-speed long code generation with arbitrary delay
US20070047623A1 (en) Method and apparatus for generating a pseudorandom binary sequence using a linear feedback shift register
US5878075A (en) Method of and apparatus for generating a pseudorandom noise sequence
US6489822B2 (en) Delay locked loop with delay control unit for noise elimination
KR20010012192A (en) Mask generating polynomials for pseudo-random noise generators
EP0938192B1 (en) Pseudo-noise sequence generating apparatus
KR0175416B1 (en) Device and method for generating pseudorandom noise sequence
CA2334358A1 (en) Apparatus and method for generating spreading code in cdma communication system
JP2577999B2 (en) Head or arbitrary bit pulse generation circuit and sampling pulse generation circuit in pseudo noise code generation apparatus
KR100504465B1 (en) A Peuso Noise codes generator and the method thereof
GB2163627A (en) Error generator
GB2113879A (en) Improvements in and relating to number generation
US6910056B1 (en) Method and apparatus for implementing a multi-step pseudo random sequence generator
KR20010110351A (en) Synchronicity detection device
JP3914626B2 (en) PN code generation circuit

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AU BG BR CA CZ FI HU JP KP KR NZ PL RO RU SK UA VN

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
EX32 Extension under rule 32 effected after completion of technical preparation for international publication

Ref country code: UZ

LE32 Later election for international application filed prior to expiration of 19th month from priority date or according to rule 32.2 (b)

Ref country code: UZ

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

Ref country code: CA