omplete mastery of the tech- niques used to design PN generators will require knowledge of the finite field GF(2) and of the larger finite fields containing GF(2), namely GF(q), where the number q of elements in the field is a power of 2. The reader is 4 Bit Counter Figure 5.2. Counter-based PN generator. The Storage/Generation Problem referred to Appendix 5A for a tutorial description of finite fields and their properties. A completely specified Boolean function can be determined from tabu- lated values in at least two ways: (a) The Quine-McClusky algorithm [1]-[3], applied to the completely spec- ified Boolean function of Table 5.1, will yield a minimum second-order realization of the function in terms of the logical operations AND, OR, and NEGATION. (b) The sequences ah, 0, 1, 2, ...,k-1, each of length 2k, along with the all-ones sequence of length 2k, are the basis for a first-order Reed- Muller code [4]-[6]. Determination of the function described in Example 5.1 can be viewed as the result of decoding the 16-tuple, viewed as a codeword from a 4-th order Reed-Muller code of word length 16. On the average, either of these techniques will produce rather complicated logical structures when applied to a random sequence of binary symbols. The expected number of terms in the resultant function determined by the Reed-Muller approach is half the sequence length. Hence, for a k-bit clock used to produce a randomly selected PN sequence of length 2k, one would expect on the average the necessary of 2k-1 multiple input AND gates and an EXCLUSIVE OR capable of handling 2k-1 inputs. Being optimal, one would expect the Quine-McCluskey approach to require somewhat fewer operations, but nevertheless, the expected number of operations probably will still be a linear function of the period 2k. Although, on the average, the complexity of PN generators using counters is high, could there be a few exceptionally good designs of this type? There are strong reasons to believe that counters are always poor sources for inputs to funct