Pseudo-random binary sequence generator
United States Patent 11 1 Ailett et al.  
 [451 Apr. 29, 1975 1 1 PSEUDO-RANDOM BINARY SEQUENCE GENERATOR 175] Inventors: Claude Ailett; Jacques Bigou, both of Lannion; Yves Bretecher, Perros-Guirec. all of France [731 Assignec: Societe Lannionaise dElectronique Sle-Citerel. Lannion, France [22] Filed: Dec. 17, 1973 211 Appl. No; 425,566  
 [301 Foreign Application Priority Data Dec, 15. 1972 France 4. 72444868 [521 11.5. C1 4. 235/152; 179/15 AV;179/15.55 R 151] Int. Cl. (106i [/02 158] Field ofSearch 235/152: 179/15 AV,  
 235/1555 R. 340/347 DD; 331/78 [56] References Cited UNITED STATES PATENTS 3,594,509 6/1971 Shimamura .1 179/15 AV Paine 235/152 Wu 235/152 Primary E.\&#39;uminm&#39;-Fe1ix D Gruber Assistant E,\&#39;umim&#39;r-David H Malzahn Attorney, AgenL or Firm-Craig &amp; Antonelli [57] ABSTRACT 16 Claims, 4 Drawing Figures TIME I MULTIPLEXER FTENTEUAPRZSISYS SHEET 10? 2 PSEUDO-RANDOM BINARY SEQUENCE GENERATOR The invention comes within the branch of equipment used for controlling digital operating systems, for example, pulse code telephone transmission systems. It concerns a generator for quasi-random sequences operating at a higher frequency than known generators.  
  It is a known method to use, for controlling the operation of electronic equipment of the digital type, sequences of binary signals whose repetition period is very long and which may be considered as pseudorandom sequences. Such a sequence is constituted by a sequence of bits passing at a clock rhythm. It is obtained in a cyclic counter often constituted by a shift register having k flipflops, which supplies a morphologically random sequence whose extension is 2&#39; l. Starting from a predetermined original state, the se uence asses durin 2&#34; l clock instants. The clock l P g instant whose order is 2&#34; induces the original state and the sequence begins again.  
  It is known how to generate such a sequence of 2&#34; l bits, for example, by means of a shift register comprising k flip-flops, in which the output of the last one is looped on the input ofthe first, the outputs of certain flipTlops being grouped at the input of EXCLUSIVE OR circuits (sum modulo 2), whose output is connected to the input of one of the other flip-flops of the register.  
  The internal connections thus established, taken as a whole, define what is called the characteristic polynomial&#34; of the pseudo-random sequence generator. These polynomials, having the form of l .r&#34; x&#34; x where p, q, r. are integers, must be non-reducible (that is, not have any root on the bodies of the modulo 2 integers), primitive (that is, give 2 1 different remainders in the operation as a divider of any polynomial). They may have the minimum of terms (to simplify the circuitry and with a view to standardization of the sequences). The search for the latter is difficult. Moreover, tables which have been complied after systematic research on the cyclic codes are used (see, more particularly, Error Correcting Codes,&#34; W. W. Peterson, MIT Press, Cambridge, U.S.A. (l965) ln known devices, mentioned hereinabove, the rhythm of the bits at the output of the register is equal to the clock frequency applied to the advance line of the shift register. The maximum frequency of the sequence obtained at the output is therefore limited by the maximum rhythm permitted by the flip-flops of the shift register.  
  To overcome that limitation, it is a known practice (through U.S. Pat. No. 3,678,507, for example) to combine the maximum-length shift register with a delay circuit whose delay is half the repetition period and with a multiplexer. The latter alternatively connects up the direct output of the register and the output of the delay circuit to a common circuit which therefore sends out the maximum-length sequence at a speed which is doubled in relation to the shift speed of the register. It has also. been contrived (for example, through German Patent Application published under No. 2,131,783) to triple the output speed by using two delay lines one of which corresponds to a third of the repetition period and the other of which corresponds to two thirds thereof.  
  The invention aims at producing a maximum-length sequence generator whose frequency is, as in known devices, a multiple of the shift frequency ofthe original counter but which obtains this result without the use of delay lines which, as is known, set problems relating to accuracy in the ease of great delays. Now. these delays are always greaat in a pseudo-random sequence generator because of the length of the repetition periods.  
  Starting with a maximum-length binary sequence generator which comprises a counter fitted up to effect cyclic counting at a frequency F and a time multiplexer sending out the output sequence at a frequency qF based on input sequences derived from the said counter, the invention is characterized in that the said input sequences are directly extracted from the differ ent stages ofthe said counter and/or by linear combination of the outputs of certain stages of the said counter in sum modulo 2&#34; circuits, the choice of stages and combinations being defined by the required output sequence.  
  In a preferred embodiment of the invention, the counter is fitted up to send out sequences of the same maximum length as the sequence coming from the multiplexer. In that case, these sequences may all be identical. The shifting of the sequences in the various stages may be chosen such that all the sequences to be multi plexed are directly available in the coupler, this making it possible to dispense with the modulo 2 circuits.  
  Alternatively, a cyclic counter whose capacity is a submultiple of the length of the sequence coming from the multiplexer may be used. In that case, the sequences coming from the stages of the counter may also be identical to one another and they may also be chosen so as to be able to feed directly the multiplexer.  
  In practice, the cyclic counter is constituted preferably by a shift register, looped by a sum modulo 2 circuit. It may be produced in two different ways;  
  1. The flip flops whose order is l, 2, i k are connected from one to the next. For a characteristic polynomial having a terms, such a basic register comprises (n2) sum modulo 2 circuits incorporated in the structure of the register. In that case, extraction is effected on the one hand directly on the output of a flipflop of the register and on the other hand by grouping two or several flip-flop outputs at the input of (q-l) sum modulo 2 circuits, that is, in all, q outputs of the fitted up register, which are applied to q inputs of a time multiplexer deriving its rhythm from qF. That type of fitted up register is suitable for values ofq 2&#34;, integer h.  
  2. The flip-flops of the basic register are connected together at every q. The fitted up register then comprises q sum modulo 2 circuits, incorporated in its structure. Extraction is effected directly at the outputs of q flip-flops of the register, which are connected up to (1 inputs of a time multiplexer deriving its rhythm qF. That type of fitted up register is suitable for any q.  
  To obtain at the inputs of the time multiplexer sequences identical to the reference sequence but phase shifted by a deviation r, 2s, (where s 2&#34;&#39;/q) the position and the interconnections of the sum modulo 2 circuits must be established following certain rules which will be exposed herebelow.  
  These rules are based on the establishing of a matrix table of k X k terms, corresponding to the states of the k flip-flops of the basic register existing after a certain number of clock instants after a predetermined original state (first line of k terms) and after each of the (k l following clock instants: this being in all k lines of k terms each.  
  The interconnections of the sum modulo 2 circuit exterior to the register (first type] or incorporated in the register (second type) are effected as a function of the Is which exist in the column corresponding to one of the flip-flops. taken as a reference.  
  To make it easier to understand the method for determining the interconnections. typical examples of random generators of random sequences at accelerated frequencies will be given in the following figures. among which:  
  FIG. I shows a register of the first type having It] flipflops fitted up so as to supply. at the output of a time multiplexer. a pseudorandom sequence passing at a frequency twice that of the basic register:  
  FIG. 2 shows the same register fitted up so as to provide a pass at a four-fold frequency:  
  FIG. 3 shows a register of the second type providing a pass at double speed: and  
  FIG. 4 shows a register of the second type providing a pass at triple frequency.  
  FIG. I The basic shift register 10 having 10 flip flops numbered l to 10 is arranged according to a characteristic polynomial l x ,r&#34;.  
  The result of this is a configuration comprising a looping of 10 at l and a sum modulo 2 circuit II, between 3 and 4. connected up to the output of 3 and to the output of 10. That register has an advance line which receives clock pulses having a frequency of F.  
  In order not to over-burden the figure. the advance line has not been drawn. The rhythm F has been marked to the left with an arrow. That symbol has been adopted for the four figures.  
  With its lU flip-flops. the register 10 provides a sequence of (2&#34; I) 1.023 terms.  
  To obtain a sequence having a double frequency 2F. two sequences must be applied to the inputs of a time multiplexer 30 having an output 31, the one A being extracted for example. from the fliptlop I, the other. 8. being extracted from a sum modulo 2 circuit 20. which receives the output of 2 and the output of 7, these connections ofthe circuit 20 being determined by application of the following rule:  
  Between A and B. a dephasing s I 2 512 is required to be created.  
 For that purpose. starting from a predetermined original code. for example. I 0 l) (l U U (l U 0 0. the code is determined after 51?. clock instants. This is effected conveniently. for example. on a suitable programmed calculator.  
  Then. a further (k l 9 shifts are effected. The k [U codes obtained are grouped line by line so as to constitute a matrix Table I comprising It X k terms.  
 TABLE I llll (Hll lllliltlll (IOIIIUU (IOlllOll (lllil l (lOtllIlll (llllllllUIlIlUl llltl l (IIUUUU UlUUlUlOOU ()UltltJlUlOU tltlillfltlllllfl If the reference output of the generator (basic register) is taken on the flip-flop whose order is n. the position of the is in the column whose order is it gives the list of the outputs to be summed according to modulo 2 to obtain the shifted sequence ofs in relation to the reference flip-flop.  
  Ifthe first flip-flop is taken as a reference output (A it will be seen that the first column of the matrix contains Is in the second and seventh positions. Hence. the connection of the inputs of 20 with 2 and 7 respectively. The output A of the first flip-flop and the output B of 20 are connected to the time multiplexer 30, whose output 31 supplies. at a rhythm of ZF the pseudo-random sequence generated by the shift register 10 having a frequency of F.  
  FIG. 2 The basic shift register responding to the same characteristic polynomial is wired up in the same way as in FIG. 1. It derives its rhythm from a clock F.  
  To obtain a quadrupling of the frequency. the following method is used:  
  Besides the matrix Table l above. a second Table [I having the same dimensions is constituted starting from the instant 256 and a third Table III having the same dimensions is constituted starting from the instant 768.  
 TABLE II TABLE [II It] llllllOOlllOO I (lIIUOIlUIOI) (l (lfll (lllllllll) (I DUO llllllltll ll lllllllltllltlt) (I (lltlOl l IIUIUO ()lll ()Utl l ()(lll lllllllll l IUOIIlll On locating the Is in column I, it is found that:  
  in Table l there is a l in positions 2 and 7 (as above);  
 In Table II there is a l in positions 3, 8. and 9;  
 In Table III there is a l in positions I, 5. and 10.  
  A configuration according to FIG. 2, with a circuit 21 connected to 2 and to 7 (output C,), a circuit 22 connected to 3, 8, and 9 (output B a circuit 23 connected to I, 5, and 10 (output D are immediately deduced therefrom.  
  A time multiplexer having four inputs 40, receiving A, (output of l). B C,. D provides at 41 a sequence identical to the preceding at a quadruple frequency 4F.  
  FIG. 3 In that figure. as in Flg. 4. the basic register is replaced by a *junip register where the flip-flops are connected at every q. The same number of flipflops. that is, 10. and the same characteristic polynomial have been kept.  
  Where q 2. starting with the same original code as previously. for example. (I 0 O 0 0 0 O 0 O O). a matrix table is constituted taking as a first line the code at the instant q 2. plus nine codes at the instants 3 to II, respectively.  
 Table a-Continued I I ()(Hltlllfl lllUU l ()(Hltlll Here. all the columns of the table are used (instead of only one previously). Column by column. the 1s are located, these being the sign of an interconnection concerning the flip-flop having the order of a column with the flip-flops having for their orders the positions of the is in the same column.  
 Here. the following is observed:  
 Flip-flop 1 receives the output of 9;  
 Flip-flop 2. receives the output of 10;  
 Flip flop 3 receives the output of l;  
 Flip-flop 4 receives the output of 2 H9 9 (circuit 51 )1 Flip-flop 5 receives the output of3 (circuit 52);  
 Flip-flop 6 receives the output of 4;  
 Flip-flop 7 receives the output of 5;  
 Flip-flop 8 receives the output of 6;  
 Flip-flop 9 receives the output of 7&#39;. and  
 Flip-flop 10 receives the output of 8.  
  That configuration is produced in a register 50 with the incorporated circuits 51 and S2.  
 The time multiplexer having two inputs identical to that in FIG. 1 receives the outputs A B and supplies at 31 the pseudo-random sequence having a double frequency 2F.  
  FIG 4 To obtain a tripling of the frequency, a &#34;jump register, whose flip-flops are connected at every 3, is used.  
  The same rule as in the preceding case is applied, starting from the instant 3 and for the following nine instants. The following table is thus obtained:  
 Table b ()llU l (IOUUUU ()Olltl l (llltl l (l t) (l (llll (ll 0 l (HIUUU UUIOOIOOUU The following interconnections are deduced therefrom:  
 Flipflop 1 receives the output of 8;  
 Flip-flop 2 receives the output of 9;  
 Flip-flop 3 receives the output of 10;  
 Flip-flop 4 receives the output of l 69 8 (circuit 61);  
 Flip-flop 5 receives the output of 2 9 9 (circuit 62);  
 Flip-flop 6 receives the output of3 $10 (circuit 63);  
 Flip-flop 7 receives the output of 4;  
 Flip-flop 8 receives the output of 5;  
 Flip-flop 9 receives the output of 6; and  
 Flip-flop it) receives the output of 7.  
  The corresponding configuration is produced in a register 60 with the incorporated circuits 6], 62, and 63.  
  A time multiplexer 70 having three inputs receiving A B C provides at 71 the triple-frequency random sequence.  
  It should be observed that this register is recycled after 1023/3 341 input pulses and that the sequences on the outputs A B C are distinct in relation to one another.  
  Although described with reference to several examples. the invention is not limited to these latter. More particularly. it is possible to choose a counter whose se quences have the same length as the sequence coming from the multiplexer but which distinguish themselves from that sequencev That case occurs if the counter is used according to FIG. 1 with a multiplexer having five inputs (q 5 It is also possible to replace the shift register by a more complex counter in which the number of stages is smaller than that of the corresponding shift register.  
 What is claimed is:  
  l. A binary sequence generator Comprising counter means including a plural stage shift register for effecting a cyclic counting at a frequency F. a first sum modulo 2 circuit connected between one pair of stages of said shift register and being also connected to the out put of the last stage of said shift register. a second sum modulo 2 circuit having inputs connected to the outputs of other stages of said shift register than those connected to said first sum modulo 2 circuit. and a time multiplexer connected to the output of said second sum modulo 2 circuit and the output of the first stage ofsaid shift register and receiving a multiplexing signal.  
  2. A binary sequence generator as defined in claim 1. wherein said first sum modulo 2 circuit is connected between the third and fourth stage of said shift register.  
  3. A binary sequence generator as defined in claim 2. wherein said second sum modulo 2 circuit receives inputs from the outputs of the second and seventh stages of said shift register.  
  4. A binary sequence generator as defined in claim 3, wherein the multiplexing signal applied to said time multiplexer has a frequency 2F.  
  5. A binary sequence generator as defined in claim 3, further including a third sum modulo 2 circuit having inputs connected to the outputs of the third and ninth stages of said shift register and an output connected to said time multiplexer.  
  6. A binary sequence generator as defined in claim 5. further including a fourth sum modulo 2 circuit having inputs connected to the outputs of the first and tenth stages of said shift register and an output connected to said time multiplexer.  
  7. A binary sequence generator as defined in claim 6, wherein the multiplexing signal applied to said time multiplexer has a frequency 4F.  
  8. A binary sequence generator comprising counter means for effecting a cyclic counting at a frequency F. including a plural stage shift register in which the output of each stage is connected to the input of the second succeeding stage; a first sum molulo 2 circuit inserted into one connection between stages and having an input connected to the input of the first stage of said shift register; a second sum modulo 2 circuit connected between other stages of said shift register than those to which said first sum modulo 2 circuit is connected and having an input connected to the last stage of said shift register; and a time multiplexer having inputs connected to two adjacent stages of said shift register and receiving a multiplexing signal.  
  9. A binary sequence generator as defined in claim 8, wherein said first sum modulo 2 circuit is connected between the second and fourth stages ofsaid shift register.  
  10. A binary sequence generator as defined in claim 9, wherein said second sum modulo 2 circuit is connected between the third and fifth stages of said shift register.  
  1]. A binary sequence generator as defined in claim it], wherein the multiplexing signal applied to said time multiplexer has a frequency 2F.  
  12. A binary sequence generator comprising counter means for effecting a cyclic counting at a frequency F. including a plural stage shift register in which the output of each stage is connected to the input of the third succeeding stage; a first sum molulo 2 circuit inserted into one connection between stages and having an input connected to the input of the first stage of said shift register; a second sum modulo 2 circuit connected between other stages of said shift register than those to which said first sum modulo 2 circuit is connected and having an input connected to the last stage of said shift register; a third sum modulo 2 circuit connected between still other stages of said shift register and having an input connected to the output of the next to last stage of said shift register; and a time multiplexer having inputs connected to three adjacent stages of said shift register and receiving a multiplexing signal.  
  l3. A binary sequence generator as defined in claim 12, wherein said first sum modulo 2 circuit is connected between the first and fourth stages of said shift register.  
  14. A binary sequence generator as defined in claim 13, wherein said second sum modulo 2 circuit is connected between the third and sixth stages of said shift register.  
  15. A binary sequence generator as defined in claim 14, wherein said third sum modulo 2 circuit is connected between the second and fifth stages of said shift register.  
  16. A binary sequence generator as defined in claim 15, wherein the multiplexing signal applied to said time multiplexer has a frequency 3F.