| Communications Blockset™ | ![]() |
Sequence Generators sublibrary of Comm Sources
The Gold Sequence Generator block generates a Gold sequence. Gold sequences form a large class of sequences that have good periodic cross-correlation properties.
The Gold sequences are defined using a specified pair of sequences u and v, of period N = 2n - 1, called a preferred pair, as defined in Preferred Pairs of Sequences below. The set G(u, v) of Gold sequences is defined by
![]()
where T represents the operator that shifts
vectors cyclically to the left by one place, and
represents addition modulo 2.
Note that G(u,v) contains N + 2 sequences of
period N. The Gold Sequence Generator block outputs
one of these sequences according to the block's parameters.
Gold sequences have the property that the cross-correlation between any two, or between shifted versions of them, takes on one of three values: -t(n), -1, or t(n) - 2, where

The Gold Sequence Generator block uses two PN Sequence Generator blocks to generate the preferred pair of sequences, and then XORs these sequences to produce the output sequence, as shown in the following diagram.

You can specify the preferred pair by the Preferred polynomial [1] and Preferred polynomial [2] parameters in the dialog for the Gold Sequence Generator block. These polynomials, both of which must have degree n, describe the shift registers that the PN Sequence Generator blocks use to generate their output. For more details on how these sequences are generated, see the reference page for the PN Sequence Generator block. You can specify the preferred polynomials using either of the following formats:
A vector that lists the coefficients of the polynomial in descending order of powers. The first and last entries must be 1. Note that the length of this vector is one more than the degree of the generator polynomial.
A vector containing the exponents of z for the nonzero terms of the polynomial in descending order of powers. The last entry must be 0.
For example, the vectors [5 2 0] and [1 0 0 1 0 1] both represent the polynomial z5 + z2 + 1.
The following table provides a short list of preferred pairs.
| n | N | Preferred Polynomial[1] | Preferred Polynomial[2] |
|---|---|---|---|
| 5 | 31 | [5 2 0] | [5 4 3 2 0] |
| 6 | 63 | [6 1 0] | [6 5 2 1 0] |
| 7 | 127 | [7 3 0] | [7 3 2 1 0] |
| 9 | 511 | [9 4 0] | [9 6 4 3 0] |
| 10 | 1023 | [10 3 0] | [10 8 3 2 0] |
| 11 | 2047 | [11 2 0] | [11 8 5 2 0] |
The Initial states[1] and Initial states[2] parameters are vectors specifying the initial values of the registers corresponding to Preferred polynomial [1] and Preferred polynomial [2], respectively. These parameters must satisfy these criteria:
All elements of the Initial states[1] and Initial states[2] vectors must be binary numbers.
The length of the Initial states[1] vector must equal the degree of the Preferred polynomial[1], and the length of the Initial states[2] vector must equal the degree of the Preferred polynomial[2].
The Sequence index parameter specifies which sequence in the set G(u, v) of Gold sequences the block outputs. The range of Sequence index is [-2, -1, 0, 1, 2, ..., 2n–2]. The correspondence between Sequence index and the output sequence is given in the following table.
| Sequence Index | Output Sequence |
|---|---|
| -2 | u |
| -1 | v |
| 0 |
|
| 1 |
|
| 2 |
|
| ... | ... |
| 2n-2 |
|
You can shift the starting point of the Gold sequence with the Shift parameter, which is an integer representing the length of the shift.
You can use an external signal to reset the values of the internal shift register to the initial state by selecting the Reset on nonzero input check box. This creates an input port for the external signal in the Gold Sequence Generator block. The way the block resets the internal shift register depends on whether its output signal and the reset signal are sample-based or frame-based. The following example demonstrates the possible alternatives. See Example: Resetting a Signal for an example.
The requirements for a pair of sequences u, v of period N = 2n–1 to be a preferred pair are as follows:
n is not divisible by 4
v = u[q], where
q is odd
q = 2k+1 or q = 22k–2k+1
v is obtained by sampling every qth symbol of u


Opening this dialog box causes a running simulation to pause. See Changing Source Block Parameters in the online Simulink® documentation for details.
Vector specifying the polynomial for the first sequence of the preferred pair.
Vector of initial states of the shift register for the first sequence of the preferred pair.
Vector specifying the polynomial for the second sequence of the preferred pair.
Vector of initial states of the shift register for the second sequence of the preferred pair.
Integer specifying the index of the output sequence from the set of sequences.
Integer scalar that determines the offset of the Gold sequence from the initial time.
Period of each element of the output signal.
Determines whether the output is frame-based or sample-based.
The number of samples in a frame-based output signal. This field is active only if you select the Frame-based outputs check box.
When selected, you can specify an input signal that resets the internal shift registers to the original values of the Initial states parameter
The output type of the block can be specified as boolean, double or Smallest unsigned integer. By default, the block sets this to double.
When the parameter is set to Smallest unsigned integer, the output data type is selected based on the settings used in the Hardware Implementation pane of the Configuration Parameters dialog box of the model. If ASIC/FPGA is selected in the Hardware Implementation pane, the output data type is the ideal minimum one-bit size, i.e., ufix(1). For all other selections, it is an unsigned integer with the smallest available word length large enough to fit one bit, usually corresponding to the size of a char (e.g., uint8).
Kasami Sequence Generator, PN Sequence Generator
[1] Proakis, John G., Digital Communications, Third edition, New York, McGraw Hill, 1995.
[2] Gold, R., "Maximal Recursive Sequences with 3-valued Recursive Cross-Correlation Functions," IEEE Trans. Infor. Theory, Jan., 1968, pp. 154-156.
[3] Gold, R., "Optimal Binary Sequences for Spread Spectrum Multiplexing, IEEE Trans. Infor. Theory, Oct., 1967, pp. 619-621.
[4] Sarwate, D.V., and M.B. Pursley, "Crosscorrelation Properties of Pseudorandom and Related Sequences," Proc. IEEE, Vol. 68, No. 5, May, 1980, pp. 583-619.
![]() | GMSK Modulator Baseband | Hadamard Code Generator | ![]() |
| © 1984-2008- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |