Method and system for a programmable code generator

Coded data generation or conversion – Code generator or transmitter

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C340S870030

Reexamination Certificate

active

06667708

ABSTRACT:

FIELD OF THE INVENTION
This invention generally relates to the generation of pseudo-random, spreading, orthogonal and synchronization codes for use in wireless communications and encryption applications. In particular, the invention relates to a programmable code generator for generating code sequences.
BACKGROUND OF THE INVENTION
New code division, multiple-access (CDMA) standards are being developed at a fast rate, and these new standards require increasingly complex pseudo-random noise and code sequence generation. Pseudo-random noise or pseudo-noise (PN) sequences are commonly used in direct sequence spread spectrum communication systems such as that described in the IS-95 specification (ANSI/TIA/EIA-95-B-1999) entitled “Mobile Station-Base Station Compatibility Standard for Wideband Spread Spectrum Cellular Systems” (1999), published by the Electronic Industries Association (EIA), 2500 Wilson Blvd., Arlington, Va., 22201.
The IS-95 specification and its derivatives incorporate CDMA signal modulation techniques to conduct multiple communications simultaneously over the same RF bandwidth. Each base station and user communicating with the base station in a CDMA system may employ individually assigned PN code sequences for spread-spectrum “spreading” of the channels. The assigned PN code sequence is a sequence of a predetermined number of bits. For each user transceiver, the PN code sequence may be used to spread data transmitted by the transceiver and to de-spread data received by the transceiver.
Each bit-period, or phase transition, of the PN code sequence may be defined as a chip, which is a fraction of the bit-period for each data symbol. Consequently, the PN code sequence may be combined with the data sequence so as to spread the frequency spectrum of the data. In IS-95, for example, 64 chips represent one data symbol. Each user may also be assigned a different Walsh code to orthogonalize the spread communication channel.
Demodulation of a spread signal received from a communication channel requires synchronizing a locally generated version of the PN code sequence with the embedded PN code sequence in the spread signal. The synchronized, locally generated PN code sequence may be correlated against the received signal to extract the cross-correlation. The signal of the extracted cross-correlation is the de-spread data signal.
Details of a method for PN vector generation may be found in the patent entitled “Method and Apparatus for Generating Multiple Matched-Filter PN Vectors in a CDMA Demodulator” by G. F. Burns, EPO994573, published Apr. 19, 2000. Another example of a PN generator may be found in Q. Zou et al., “Fast Slewing Pseudorandom Noise Sequence Generator,” WO 00/31622, published Jun. 2, 2000.
Prior art has many examples of more traditional code generators, all of them with code generators that are constructed by using dedicated hardware. The sole purpose of the dedicated hardware is to generate a particular type of code. State variables may be stored in dedicated flip-flops or registers, and read by a predetermined set of hardware blocks whose function is determined by the wiring of the blocks. Mathematical and logical manipulations performed by these blocks are reasonably fixed in the type and order of the operations. Although parameters can sometimes alter the function of the hardware, such as changing the mask of a PN generator, their functionality is essentially that of unchanged traditional, fixed-function dedicated hardware and circuits.
Although building code generators in dedicated hardware may result in a very low cost solution, hardware is not very flexible and after it is built, changes are not made easily. Also, dedicated hardware resources cannot be reused for other operations, for example, moving from PN code generation with linear feedback shift register (LFSR) PN hardware to Walsh code generation. This is especially true for a multi-mode receiver or transmitter where codes can be completely different, or not required at all in particular protocols. Dedicated hardware may not work well, for example, within a software-centric approach to a radio transceiver, as in a software-defined radio. If a receiver or transmitter is implemented in software, software-implemented code generation may also be preferred.
Because preferred CDMA platforms should be able to support old, new and future CDMA standards, a highly flexible PN sequence generator is needed. A flexible PN generation architecture must have a high throughput capability to be able to support higher rate PN and orthogonal sequences, and be able to slew or advance the state of the PN generator quickly. Often CDMA signal processing integrated circuits are being developed before the standards are finalized, and when the standards change after hardware has already been released, costly and time-consuming reworks may be required unless a flexible solution is available.
There continues to be a need for highly adaptable receivers and transmitters that can handle multiple protocols in a single piece of hardware. Emerging multi-mode receivers and transmitters must support multiple CDMA standards, for example, IS-95A/B, IS-2000, and 3GPP. Each of these CDMA protocols requires a different set of CDMA codes that must be generated and manipulated in different ways. Using separate hardware for each new protocol may not be cost-effective, adaptable or practical. Alternatively, performing the code generation in software on a general-purpose DSP may be difficult because of the extremely large MIPs (millions of instructions per second) requirements, power requirements that may exceed restrictions in portable devices, and limitations on clock frequency that may prevent it from generating the required code at sufficiently rapid rates.
A preferred code generator, in particular a PN code generator, would be flexible enough to support multiple standards, multi-mode receivers and transmitters, as well as orthogonal code generation on the same hardware. A preferred PN generator would accommodate the generation of many different types of spreading codes, for example, LFSR, maximal-length m-sequences, Gold sequences, and orthogonal covering codes such as Walsh or orthogonal variable spreading factor (OVSF) codes. It would accommodate the increased lengths and parallel code-generation requirements that are limited by fixed hardware. The code-generation unit would support other special purpose codes, such as synchronization codes. The code-generation architecture would allow extended length PN sequences and parallel generation of code chips, with consideration for low power consumption, low voltage, low operating frequencies, and code-generation rate requirements.
The object of this invention, therefore, is to provide a method and a system for high throughput code generation, with a high level of flexibility to generate varied codes in CDMA and multi-protocol systems, and to overcome the deficiencies and obstacles described above.
SUMMARY OF THE INVENTION
One aspect of the invention provides a method for generating a code sequence, including the steps of receiving a code-generation instruction, determining control signals based on the code-generation instruction, and generating the code sequence based on the control signals, a current state input, and a mask input.
The generated code sequence may be a spreading code, a covering code, an orthogonal code, a synchronization code, a pseudo-noise code, a slewed pseudo-noise code, an arbitrary-length pseudo-noise code, an m-sequence code, a Walsh code, an orthogonal variable spreading factor code, a Gold code, a 3GPP hierarchical code, a frequency-corrected code sequence, a user-defined code sequence, or a predefined code sequence. The code-generation instruction may be a logic instruction, an arithmetic instruction, a shift instruction, a rotate instruction, a move instruction, a pack instruction, an unpack instruction, a flip instruction, a load instruction, a pseudo-noise generate instruction, a multiple pseudo-noise generate instruction, a Walsh generate instruction, or a mu

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method and system for a programmable code generator does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method and system for a programmable code generator, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and system for a programmable code generator will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3178111

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.