MT Generate Bits (poly) VI
Generates the sequence of data bits to be modulated. This polymorphic VI can generate Fibonacci or Galois pseudonoise (PN) bit sequences. It can also generate bit sequences based on a user-defined pattern. The selected pattern is repeated until the user-specified number of total bits is generated.
Use the pull-down menu to select an instance of this VI.
MT Generate Bits (User Defined)
This polymorphic instance generates bit sequences based on a user-defined pattern. The selected pattern is repeated until the user-specified number of total bits is generated.
total bits specifies the total number of pseudorandom bits to be generated. The default is 128. |
|||||||
user base bit pattern specifies a user-defined base pattern of bits. The default is empty. |
|||||||
reset? specifies whether to continue generating bits using the previous iteration states. reset? must be set to TRUE when initializing the PN generator with a new PN seed. When reset? is set to FALSE, the PN sequence generator resumes where it stopped during the previous iteration. The default is TRUE. |
|||||||
error in (no error) can accept error information wired from previously called VIs. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs. Right-click the front panel error in control and select Explain Error or Explain Warning from the shortcut menu for more information about the error.
|
|||||||
output bit stream returns the user-defined binary data stream corresponding to the user base bit pattern. |
|||||||
error out passes error or warning information out of a VI to be used by other VIs. Right-click the front panel error out indicator and select Explain Error or Explain Warning from the shortcut menu for more information about the error.
|
MT Generate Bits (Fibonacci, Primitive Polynomial)
This polymorphic instance generates Fibonacci pseudonoise (PN) bit sequences. The selected pattern is repeated until the user-specified number of total bits is generated.
total bits specifies the total number of pseudorandom bits to be generated. The default is 128. |
|||||||
specify primitive polynomial specifies the primitive polynomial for the PN bit sequence to be generated. The degree of the primitive polynomial determines the PN order. The primitive polynomial is specified by an 8-bit signed integer array. If the degree of the primitive polynomial is N, for example, p(x) =a0+a1x+a2x 2 +……+a N a N, the array contains (N+1) elements. The first element is a0, and the last element is aN. Ensure that the polynomial you provide is a primitive polynomial. For example, if the primitive polynomial is p(x)=1+x 14+x 15, then N=15, and the array contains N+1=16 elements. |
|||||||
seed in specifies the initial state of the PN generator shift register. If no seed is specified, the default seed is used. The default is 0xD6BF7DF2. |
|||||||
reset? specifies whether to continue generating bits using the previous iteration states. reset? must be set to TRUE when initializing the PN generator with a new PN seed. When reset? is set to FALSE, the PN sequence generator resumes where it stopped during the previous iteration. The default is TRUE. |
|||||||
error in (no error) can accept error information wired from previously called VIs. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs. Right-click the front panel error in control and select Explain Error or Explain Warning from the shortcut menu for more information about the error.
|
|||||||
output bit stream returns the generated pseudorandom data bits. If the PN sequence order is N, the output data is periodic with period T = 2N–1. For example, if N = 7, the output sequence repeats after every T = 127 bits. |
|||||||
seed out returns a seed for use as seed in during the next call to this VI when reset? is set to FALSE. |
|||||||
error out passes error or warning information out of a VI to be used by other VIs. Right-click the front panel error out indicator and select Explain Error or Explain Warning from the shortcut menu for more information about the error.
|
MT Generate Bits (Fibonacci, PN Order)
This polymorphic instance generates Fibonacci pseudonoise (PN) bit sequences. The selected pattern is repeated until the user-specified number of total bits is generated.
total bits specifies the total number of pseudorandom bits to be generated. The default is 128. |
|||||||
PN sequence order specifies the order of the PN bit sequence to be generated. Valid values are 5–31, inclusive. The default is 9. |
|||||||
seed in specifies the initial state of the PN generator shift register. If no seed is specified, the default seed is used. The default is 0xD6BF7DF2. |
|||||||
reset? specifies whether to continue generating bits using the previous iteration states. reset? must be set to TRUE when initializing the PN generator with a new PN seed. When reset? is set to FALSE, the PN sequence generator resumes where it stopped during the previous iteration. The default is TRUE. |
|||||||
error in (no error) can accept error information wired from previously called VIs. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs. Right-click the front panel error in control and select Explain Error or Explain Warning from the shortcut menu for more information about the error.
|
|||||||
output bit stream returns the generated pseudorandom data bits. If the PN sequence order is N, the output data is periodic with period T = 2N–1. For example, if N = 7, the output sequence repeats after every T = 127 bits. |
|||||||
seed out returns a seed for use as seed in during the next call to this VI when reset? is set to FALSE. |
|||||||
error out passes error or warning information out of a VI to be used by other VIs. Right-click the front panel error out indicator and select Explain Error or Explain Warning from the shortcut menu for more information about the error.
|
MT Generate Bits (Galois, Primitive Polynomial)
This polymorphic instance generates Galois pseudonoise (PN) bit sequences. The selected pattern is repeated until the user-specified number of total bits is generated.
total bits specifies the total number of pseudorandom bits to be generated. The default is 128. |
|||||||
specify primitive polynomial specifies the primitive polynomial for the PN bit sequence to be generated. The degree of the primitive polynomial determines the PN order. The primitive polynomial is specified by an 8-bit signed integer array. If the degree of the primitive polynomial is N, for example, p(x) =a0+a1x+a2x 2 +……+a N a N, the array contains (N+1) elements. The first element is a0, and the last element is aN. Ensure that the polynomial you provide is a primitive polynomial. For example, if the primitive polynomial is p(x)=1+x 14+x 15, then N=15, and the array contains N+1=16 elements. |
|||||||
seed in specifies the initial state of the PN generator shift register. If no seed is specified, the default seed is used. The default is 0xD6BF7DF2. |
|||||||
reset? specifies whether to continue generating bits using the previous iteration states. reset? must be set to TRUE when initializing the PN generator with a new PN seed. When reset? is set to FALSE, the PN sequence generator resumes where it stopped during the previous iteration. The default is TRUE. |
|||||||
error in (no error) can accept error information wired from previously called VIs. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs. Right-click the front panel error in control and select Explain Error or Explain Warning from the shortcut menu for more information about the error.
|
|||||||
output bit stream returns the generated pseudorandom data bits. If the PN sequence order is N, the output data is periodic with period T = 2N–1. For example, if N = 7, the output sequence repeats after every T = 127 bits. |
|||||||
seed out returns a seed for use as seed in during the next call to this VI when reset? is set to FALSE. |
|||||||
error out passes error or warning information out of a VI to be used by other VIs. Right-click the front panel error out indicator and select Explain Error or Explain Warning from the shortcut menu for more information about the error.
|
MT Generate Bits (Galois, PN Order)
This polymorphic instance generates Galois pseudonoise (PN) bit sequences. The selected pattern is repeated until the user-specified number of total bits is generated.
total bits specifies the total number of pseudorandom bits to be generated. The default is 128. |
|||||||
PN sequence order specifies the order of the PN bit sequence to be generated. Valid values are 5–31, inclusive. |
|||||||
seed in specifies the initial state of the PN generator shift register. If no seed is specified, the default seed is used. The default is 0xD6BF7DF2. |
|||||||
reset? specifies whether to continue generating bits using the previous iteration states. reset? must be set to TRUE when initializing the PN generator with a new PN seed. When reset? is set to FALSE, the PN sequence generator resumes where it stopped during the previous iteration. The default is TRUE. |
|||||||
error in (no error) can accept error information wired from previously called VIs. Use this information to decide if any functionality should be bypassed in the event of errors from other VIs. Right-click the front panel error in control and select Explain Error or Explain Warning from the shortcut menu for more information about the error.
|
|||||||
output bit stream returns the generated pseudorandom data bits. If the PN sequence order is N, the output data is periodic with period T = 2N–1. For example, if N = 7, the output sequence repeats after every T = 127 bits. |
|||||||
seed out returns a seed for use as seed in during the next call to this VI when reset? is set to FALSE. |
|||||||
error out passes error or warning information out of a VI to be used by other VIs. Right-click the front panel error out indicator and select Explain Error or Explain Warning from the shortcut menu for more information about the error.
|
Details
Pseudorandom or pseudonoise (PN) sequences, though deterministic in nature, satisfy many properties (autocorrelation, crosscorrelation, and so on) of random numbers. PN sequences are used in many applications and standards such as 802.11a and DVB. Some examples of PN sequences are m-sequences (also called maximal length shift register sequences), Gold sequences, and Kasami sequences. An m-sequence generates a periodic sequence of length L = 2m – 1 bits and is generated by Linear Feedback Shift Registers (LFSR). Two very well known implementations of m-sequences are the Fibonacci implementation and the Galois implementation.
The preceding figures shows the Fibonacci and Galois implementations of maximal length shift register m-sequences. As can be seen in these figures, m-sequences contain m shift registers. The shift register set is filled with an m-bit initial seed that can be any value except 0 (if the m bits in the m shift registers are all zero, then it is a degenerate case and the output of the generator is 0).
The following examples demonstrate bit generation.
- Inputs are specified as follows:
Primitive polynomial: 1 + X14 + X15
Initial seed: 000000010101001
The circuitry is shown in the following figure.
Seed Output 000000010101001 0+0=0 000000101010010 0+0=0 000001010100100 0+0=0 000010101001000 0+0=0 000101010010000 0+0=0 001010100100000 0+0=0 010101001000000 0+1=1 101010010000001 1+0=1 The preceding example depicts the Fibonacci implementation. This structure is used in different standards, including DVB.
- Inputs are specified as follows:
Primitive polynomial: 1 + X14 + X15
Initial seed: 000000010101001
The circuitry is shown in the following figure:
Seed Output 000000010101001 0 000000101010010 0 000001010100100 0 000010101001000 0 000101010010000 0 001010100100000 0 010101001000000 0 101010010000000 1 110100100000001 1 001001000000011 0 010010000000110 0 100100000001100 1 101000000011001 1 110000000110011 1 000000001100111 0 000000011001110 0
The preceding example illustrates how PN bits are generated using the Galois implementation.
References
- McEliece, Robert J. Finite Fields for Computer Scientists and Engineers (The Kluwer International Series in Engineering and Computer Science). New York: Springer Publishers, 1986.
- Press, William H., et al. Numerical Recipes in C: The Art of Scientific Computing. 2nd ed. Cambridge: Cambridge University Press, 1992.
- Proakis, John G. and Masoud Salehi. Communication Systems Engineering. 2d ed. Englewood Cliffs: Prentice-Hall, 2001.
- Sklar, Bernard. Digital Communications: Fundamentals and Applications. 2d ed. Englewood Cliffs: Prentice-Hall, 2001.