Gold sequence generator block

Gold sequence generator is a class of pseudorandom generator which has good randomness properties to decrease the multiple access noise found in multi-user DS-CDMA communication systems.
It is composed with two Maximal Length Liner Shift Register (MLLSR) sequence generator.
Most properties of this registers can be found in [1].
An example of block diagram of Gold sequence generator with 5-length MLLSR is shown in Fig. 1.

Each clock time, the registers shift all elements to the right.
The following general equation gives the output of a Gold generator:

and are the outputs of the MLLRS, and are the corresponding connection variables and the length of registers.
All terms are binary, meaning that adders are realized with the boolean exclusive-OR operator.
In fact, each register needs only two integer value to be processed (one value for states and one value for connections).
In that block, all operations -modulo-2 adders, shifts- are realized with the binary operators of C language that ensures fast dynamical computation.

**Vector of Size of outputs**

Type 'vec' of size -1. The length of sequences.

**Vector of Length of register**

Type 'vec' of size -1. The length of register(s).

**Vector of Initial condition register 1**

Type 'vec' of size -1. The initial state of register(s) 1 in integer value.

**Vector of Initial condition register 2**

Type 'vec' of size -1. The initial state of register(s) 2 in integer value.

**Vector of coefficients register 1**

Type 'vec' of size -1. The coefficients of register(s) 1 in integer value.

**Vector of coefficients register 2**

Type 'vec' of size -1. The coefficients of register(s) 1 in integer value.

**Initial Delay**

Type 'vec' of size 1. The initial delay in sample.

**always active:** no
**direct-feedthrough:** no
**zero-crossing:** no
**mode:** no
**regular outputs:**

** - port 1 : size [31,1] / type 1**

**number/sizes of activation inputs:** 1
**number/sizes of activation outputs:** 0
**continuous-time state:** no
**discrete-time state:** yes
**object discrete-time state:** no
**name of computational function:** *gengold*

- MODNUMCOS/macros/scicos_blocks/Sources/GENGOLD_f.sci [view code]

- MODNUMCOS/routines/sources/gengold.c (Type 4) [view code]

A. Layec
- [1]
A. J. Viterbi, Principles of Spread Spectrum Communication.Addison-Wesley, 1995.