readily programmable procedures for the analysis of nonlinear feedback shift registers

6
IEEE TRANSACTIONS ON COMPUTERS, VOL. C-18, NO. 9, SEPTEMBER 1969 Readily Programmable Procedures for the Analysis of Nonlinear Feedback Shift Registers FREDERIC J. MOWLE, MEMBER, IEEE Abstract-Two vector operators 0 and y are introduced. The x next-state operator 0 allows one to calculate the successors of a set of states { G from a binary nonlinear feedback shift register. The (o past-state operator y allows one to calculate the predecessors of a set of states { G}. Both of these operators, which can be easily pro- sn l sn-2 S1 s0 grammed on a digital computer, can be used to analyze autonomous and nonautonomous feedback shift registers. Analysis procedures using these operators are given for determining the cycle set of an arbitrary nonlinear FSR, for deciding if the state diagrams of the FSR are connected or strongly connected, and also for determining if the FSR is controllable. Index Terms-Connectedness, controllability of FSR's, cycle F(X3_S) sets, feedback shift registers, sequential machines, stability of FSR's, strong connectedness. Fiv 1 PRinarv feedhnck shift reoi4qter BACKGROUND MATERIAL T 11 HE MAJORITY of papers [1]-[9] which discuss analysis procedures for feedback shift registers have dealt only with the autonomous case, i.e., the case where the inputs to the machine are held constant, usu- ally at zero. Gill [6] calls these machines internal cir- cuits. For some applications in the coding area and in the generation of pseudorandom numbers there is valid reason for ignoring the input. However, if the analysis procedures are to be complete, then the analytical tools should also provide the capability to handle the non- autonomous case. The analysis procedures developed in this paper handle both the nonautonomous case as well as the autonomous case. They are also easily programmable on a digital computer which can quickly carry out the various calculations required. In this paper we will restrict ourselves to the binary case and also to machines which have only a single in- put variable. The extensions of the results to the non- binary case is straightforward. It is also quite easy to extend the results to include several feedback functions and multiple input variables. A block diagram of the binary feedback shift register is shown in Fig. 1. This is a more general feedback shift register (FSR) than the type I or II FSR discussed by Massey and Liu [4]. The input connections and feed- back connections to the device will be specified by a feedback connection vector TF = (asn-1, a-2, . . . , a,, Manuscript received July 22, 1968; revised March 13, 1969 and April 18, 1969. This work was supported by the National Science Foundation under Grant GK-1542. The author is with the School of Electrical Engineering, Purdue University, Lafayette, Ind. ao) and an input connection vector Tx= (i-l, 13n-2 We will let F(x, s) denote the feedback function for the shift register. The state of the machine will be denoted by a vector s = (sni, Sn-2, . Si, so) where each component sj is the output of one of the n delay units. 0 will be used to denote the next-state operator. Thus, if s = (Sni,-1 * si1, so) is the present state of the machine, OS = (0, Sn-1 Sn-2, S * 2, S1) (1) EDX(0Bn1y On-2) . . . ) Ol 00) where the vector addition D is modulo 2. Each of the components si, the constant multipliers, the input variable x, and the value of the feedback func- tion F(x, s) will be restricted to the binary field GF(2). Any of the possible 22r+1 distinct feedback functions will be allowed. We will also allow any of the possible input and feedback tap connections. Those states for which Os = s will be equilibrium states. For an FSR of the type shown in Fig. 1 there are four possible equilibrium states. Denoting these states by eij, i, and jC {I0, 1 } with i designating the value of the feedback function and j the input value, the com- ponents of the equilibrium states can be obtained re- cursively: ei= (en_1, en-2, . . ., e1, eo) en-1 = ian-1 0 j/3n-I (2a) (2b) k = 0, e* **, n-2. (3) 824 1' S. 1. vllvasCLy i'C'CUUawrL 01l1 1sCgmLl. (D F (x, S) (an-1, an-2) . . .) 01) 010) ek = iCtk (D j,3k (D ek+l

Upload: fj

Post on 23-Sep-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Readily Programmable Procedures for the Analysis of Nonlinear Feedback Shift Registers

IEEE TRANSACTIONS ON COMPUTERS, VOL. C-18, NO. 9, SEPTEMBER 1969

Readily Programmable Procedures for the Analysisof Nonlinear Feedback Shift Registers

FREDERIC J. MOWLE, MEMBER, IEEE

Abstract-Two vector operators 0 and y are introduced. The x

next-state operator 0 allows one to calculate the successors of a setof states {G from a binary nonlinear feedback shift register. The (opast-state operator y allows one to calculate the predecessors of a

set of states {G}. Both of these operators, which can be easily pro- sn l sn-2 S1 s0grammed on a digital computer, can be used to analyze autonomousand nonautonomous feedback shift registers. Analysis proceduresusing these operators are given for determining the cycle set of an

arbitrary nonlinear FSR, for deciding if the state diagrams of theFSR are connected or strongly connected, and also for determiningif the FSR is controllable.

Index Terms-Connectedness, controllability of FSR's, cycle F(X3_S)sets, feedback shift registers, sequential machines, stability of FSR's,strong connectedness. Fiv 1 PRinarv feedhnck shift reoi4qter

BACKGROUND MATERIALT11 HE MAJORITY of papers [1]-[9] which discuss

analysis procedures for feedback shift registershavedealt only with the autonomous case, i.e., the case

where the inputs to the machine are held constant, usu-ally at zero. Gill [6] calls these machines internal cir-cuits. For some applications in the coding area and inthe generation of pseudorandom numbers there is validreason for ignoring the input. However, if the analysisprocedures are to be complete, then the analytical toolsshould also provide the capability to handle the non-autonomous case.The analysis procedures developed in this paper

handle both the nonautonomous case as well as theautonomous case. They are also easily programmableon a digital computer which can quickly carry out thevarious calculations required.

In this paper we will restrict ourselves to the binarycase and also to machines which have only a single in-put variable. The extensions of the results to the non-binary case is straightforward. It is also quite easy toextend the results to include several feedback functionsand multiple input variables.A block diagram of the binary feedback shift register

is shown in Fig. 1. This is a more general feedback shiftregister (FSR) than the type I or II FSR discussed byMassey and Liu [4]. The input connections and feed-back connections to the device will be specified by afeedback connection vector TF = (asn-1, a-2, . . . , a,,

Manuscript received July 22, 1968; revised March 13, 1969 andApril 18, 1969. This work was supported by the National ScienceFoundation under Grant GK-1542.

The author is with the School of Electrical Engineering, PurdueUniversity, Lafayette, Ind.

ao) and an input connection vector Tx= (i-l, 13n-2

We will let F(x, s) denote the feedback function forthe shift register. The state of the machine will bedenoted by a vector s = (sni, Sn-2, . Si, so) whereeach component sj is the output of one of the n delayunits. 0 will be used to denote the next-state operator.Thus, if s = (Sni,-1 * si1, so) is the present state of themachine,

OS = (0, Sn-1 Sn-2, S* 2, S1)

(1)

EDX(0Bn1y On-2) . . .

) Ol 00)

where the vector addition D is modulo 2.Each of the components si, the constant multipliers,

the input variable x, and the value of the feedback func-tion F(x, s) will be restricted to the binary field GF(2).Any of the possible 22r+1 distinct feedback functionswill be allowed. We will also allow any of the possibleinput and feedback tap connections.Those states for which Os = s will be equilibrium

states. For an FSR of the type shown in Fig. 1 there arefour possible equilibrium states. Denoting these statesby eij, i, and jC {I0, 1 } with i designating the value ofthe feedback function and j the input value, the com-ponents of the equilibrium states can be obtained re-cursively:

ei= (en_1, en-2, . . ., e1, eo)

en-1 = ian-1 0 j/3n-I

(2a)

(2b)

k =0,e***, n-2. (3)

824

1' S. 1. vllvasCLy i'C'CUUawrL 01l1 1sCgmLl.

(D F (x, S) (an-1, an-2) . . .) 01) 010)

ek = iCtk (D j,3k (D ek+l

Page 2: Readily Programmable Procedures for the Analysis of Nonlinear Feedback Shift Registers

MOWLE: ANALYSIS PROCEDURES FOR NONLINEAR FEEDBACK SHIFT REGISTERS

If F(i, ei) = ian_@1Djfn31, then eii is an equilibriumstate: otherwise it is not.A set of states { G } from the FSR will be denoted by

the vector

G = (go, gl, g2, . . . g2n-1) (4)

where gi is equal to one if the state denoted by thedecimal subscript i, corresponding to the binary vector(in-l, in-2 . . .

I ii, io) is a member of the set {G}. In asimilar manner we will denote the feedback functionby a vector F:

F = (foo, ol, ,fo2n-2? fo2n-1f,O) fll . .I .

*fl2n-2y fl2n-1) (5)

where fij is the value of F(x, s) when x = i and s is thestate corresponding to the decimal j. We will also definevectors Fo and F, as the left and right halves of F, re-spectively.

THE NEXT-STATE OPERATOR 0

Definition 1: If G denotes a set of states I G } from an nstage FSR, then OG will denote the set of all states whichare the successors of the states in { G} . If we let 01G de-note the set of all the successors of G under the inputx= i, one readily finds that

Tx = (t3n-1 13n-2 . . .i31Bo) is the feedback connec-tion vector.

i= (in-1, in-2, * . *, il, io) is the binary vector cor-responding to the decimal subscript i.

A is the decimal number corresponding to the binaryvector (an1, an-2, ,* * X a,, ao), Bi is the decimal num-ber corresponding to the binary vector (bn-1, bn2,9 . . .

i

bl, bo), and Ci is the decimal number corresponding tothe binary vector ( cn1,2, - *, cl, co) where

aj = ij 0D a2

bj = ij 0 /jcj = ij 0D a, 0 3j.

(12)(13)(14)

The matrices Q and Q* are constants while the ma-trices Po and P1 are in effect permutation matriceswhich depend only on the input and feedback connec-tions for the FSR's.The terms in the next-state equations are in fact

decoupled with the state set, feedback function, andmachine structure entering as separate terms. Thisfacilitates the investigation of large classes of feedbackshift registers.

If one carries out the matrix calculation for a generalmachine, then we have for 0iG

and

OG =- oG + 0,G

0iG = [(GFi)Q + (G.Fi)Q*1[PJ] i = 0 or 1

(6)

(7)

where Q and Q*, Po and P1 are 28X28 binary matriceseach having a single nonzero entry in each row. Thesymbols - and + refer to logical AND and logical ORoperations. The overbar denotes binary complementa-tion. If we label the columns and rows of the matricesfrom 0 to 2n-1, then the 2" vectors q, q*, po, and pl,whose components designate the nonzero column ineach row, can be used to specify the matrices. This isimportant from a programming point of view since nowonly 2n words of storage will be required to specify thesematrices instead of the normal 2 2n words of storage:

= (O, O,2,2,4,4,*,n_ 2, -_ 2) (8)

q = (1, 1,3x 353 55 . ,2n- 1,2n - 1)

Po = (0,1 2 ...* 2n-1- 1,

Ao, Al, A2, * * A2n-l_l)

P1i (B0, B1 B2, . . ., B2,n-l1,Co, Cl, C2, . * C2 1_1)-

The Ai's, Bi's, and Ci's are decimal numbers deter-mined as follows.

TF = (asn-it acn-2 ,* , a,, ao) is the input connectionvector.

(9)

(0iG)T - [P.]T

gofiog9fi2

g4fi4

+ g,fil+ g3fi3

+ gofi5

g_"-fj2"2 + 2"-i12"n .92n_2fi2--2 + 92n_lfi2 _1 .-

gofio + gifiig2fi2 + g3fi3

g4fi4 + gsfi5. . .

92'-2fi2'-2 + g2'_lfi2--l

(15)

Here again the overbar denotes binary complementa-tion. This latter form is better suited for pencil andpaper calculation of FSR's of low order, while (7) isbetter suited for machine calculation.

THE PAST-STATE OPERATOR -Y

(10) Definition 2: If G denotes the set of states {G} froman n stage FSR, then yG will denote the set of all stateswhich are the predecessors of the states in {G }; y will

(11) be called the past-state operator. Letting y,G denote the(11) set of all possible predecessors under the input i,

,yG = yoG + -yiG (16)

yiG= [(GMi)Fi+ (G.Mj*)-Fi] i = O or 1 (17)where the matrices Mi and Mi* are 2"X 2" binary ma-trices with a single nonzero entry in each column. These

825

I -,

Page 3: Readily Programmable Procedures for the Analysis of Nonlinear Feedback Shift Registers

IEEE TRANSACTIONS ON COMPUTERS, SEPTEMBER 1969

matrices which are a function only of the input connec-tions and feedback connections can be specified by 2nrow vectors ino, Mo*, in1, and Mi*:

no = (0, 0, 1, 1, 2, 2,. , 2-1 - 1, 2n-1 1) (18)Mo* = (Ao, AO, A1, A1, A2, A2, . *,

(19)

(20)

(21)C2n-l-1, C2n 1_1).

The ith component of these vectors specifies the nonzerorow in the ith column. The Ai's, Bi's, and Ci's are thesame as defined for the next-state operator [(12), (13),and (14)].

If one evaluates yiG for a general machine, the resultis that

gofoo + gAfoo0

gOfo0 + gAjOl

glfo2 + gAJo2

g91O3 + gA1fo3* . .. .

g2n-l jY02nf-2 + gA2n-,fO2n-2g2n'l_lf2nP-1 + gA2n-fO2f-2n

Fig. 2. Threshold decoder.

G = (gO, gl, g2, g3, g4, g95 g96 g7)

OiG = [(G * Fi)Q + (G * Fi)Q*]lP[i]1

0

0

0OoGT=0

0

0

0

00G = (go(22)

(01G)T =

and

rgBJlO + gcoflo

gBJfl1 + gcJ i

gB1fl2 + gcJl2

(71G)T= gB,fI3 +gC413 (23)

gB2n-1_fJ2n-2 + gC2n-1-+fl2n-2

LgB2n-1,f12n-i gc2n-1-Lf12n-1

These two latter forms are quite easy to use for paperand pencil investigations of machines of low order- whilethe matrix equation (17) is more suited to machineanalysis.Example 1: As an example, consider the feedback

threshold decoder for a single error correcting convolu-tional code [10]. See Fig. 2. For this FSR, TF=(1, 1,0), Tx= (1, 0, 0).

F(x, s) = (0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1,1,1 1)

F0 = (0, 0, 0, 0, 0, 1, 0, 1) F1 = (0, 1, 0, 1,1,1,1,1)Ao = 6 A1 = 7 A2 =4 A3 = 5

B0 = 4 B1 = 5 B2 =6 B3 = 7

C0 = 2 C1 = 3 C2 =0 Ca = 1

0 0 0 0 0 0

1 0 0 (

0 1 0(

O0 1(

I0 0 0(

0 0 0(

I0 0 0 1

0 0 0(

+ gi, g2 + g3

000 0

0 0 00

0 0 00

0 0 00

1 0 00

0 1 00

O 0 10

0 001

) 0 0

) 0 0

) 0 0

) 0 1

) 0 0

1 0 0

0 1 0

3 g4, g6,

0 0

0 0

1 0

0 1

00

0

0 0

0 0

0 gol±+ g1-4

0 g2 1 + g3 1

0 g4*1 + g5.00 .g6±1+g7-0

0 g0O0+g1.01 g20±+g3.O0 g4*0+g65100 g6 0+g7-1

g95 g7, 0, 0) (24)

1 0 go-±+g1O0 1 g241+g3-00 0 g0-O+g*-00 0 g6O0+ g7O00 0 go±O+ g1 10 0 g20+g31

0 0 g ±-l+ g6-1

0 0 Lg61I +9g7-1I01G = (g4 + g95 g6 + g7, g1, g3, gO; g2, 0, 0) (25)

OG = OoG + 01G

OG = (go + g1 + g4 + g6, g2 + g3 + g6 + g7,

gl + g4 g3 +±g6gO +g95g92 +g7, 0 0) (26)

yoG = [(G Mo) Fo + (G-Mo*)Foj

7yG = [(G * M1) 41 + (G * M1*)Fi].

Using the paper and pencil method [(22) and (23)],we have

(7oG)T =

g90 1 + g6 * 0

g901 + g6'0

gl- 1 + g7 *0

g1-1 + g7 0

g2*1 + g4*0

g2 0 + g4*1

g3*1 + g *0

_g30 + gf*1..

(7yG)T =

g4 1 + g2*0

g4 *0 + g2 1

g651 + g3*0

g, +g3* 1

960 + go- 1

g6-0 + go. 1

g7*0 + gi 1

-g7-0 + gl- 1

A2n-i...1, A2n-'.l)M1 = (B0, B0, B1, B1, B2, B2, *. .

B2n-..1, B2n-i-l)

Ml* = (CO, C0, C1, C1, C2, C2, * *

(,yoG)T=

I

826

Page 4: Readily Programmable Procedures for the Analysis of Nonlinear Feedback Shift Registers

MOWLE: ANALYSIS PROCEDURES FOR NONLINEAR FEEDBACK SHIFT REGISTERS

yoG = (go, go, gl, gl, g2, g4, g3, g5) (27)

=yG= (g4, g2, g6, g3, gO, go, gl, gl) (28)

yG = 'yoG + 'y1G

= (gO+ g4, gO + g92 gl+g9,gl +g37 (29)go + g2, gO + g4, gl + g3, g1 +9g5)-

MODIFIED OPERATORSThere are times when we would like to consider a

sequence of operations. Thus as before, we will definefor input x =i

k

O.kG = V OijG (30)j=o

i

1ikG = V yjG (31 )j=o

and

okG = OokG + OAkG'ykG = 0AkG + A11G

where V denotes the logical OR operation on the com-ponents of the vectors.

ANALYSIS PROCEDURESSome of the questions one might like answered about

a particular feedback shift register are the following.Does the machine contain any cycles? Is the machinestable? Is the state diagram of the machine simply con-nected or strongly connected? Is the machine con-trollable?

Stability AnalysisDefinition 3: Following Massey [2], anautonomous

FSR is said to be stable at zero if there exists an integerK such that 6KS = 0 = (0, 0, , 0) for every state s.

Let us consider two alternate stability test proce-dures using the operators 0 and 'y.

Procedure A-Cycle Set Generator: Set G = 1 = (1, 1,1, ,* *,1) all ones. Calculate 'G,j= 1, 2, * * stoppingwhen 0,,G=0'- G.

If 0OG only contains the state 0, the FSR will bestable. It should be noted that 0JG always denotes theset of all states which lie on closed cycles. Therefore,we will denote this set by Gc.

Procedure B-Zero Going State Generator [2 ]: SetG=(1, 0, 0, , 0, 0). Calculate j0?G, j=1, 2,stopping when AJ'G - G.

Let us call this set the set of all states which eventu-ally reach zero under autonomous operation, anddenote this set by Gz.

If state 0 is an equilibrium state and Gz includes allthe states on the machine, the FSR will be stable.

It is easily shown that procedures A and B can re-quire up to 2n iterations.

driven stable if 0 is an equilibrium state and for everystate s, which can be reached from the state 0 by driv-ing the FSR with any input sequence, there exists an

integer K such that GOKS 0.Procedure C- Test for Driven Stability: Set G = (1, 0,

O, - *, 0). Calculate Gz using Procedure B; also calcu-late 0iG, j = 1, 2, * - - stopping when 0'iG = Oi-' G.

Let us denote the resulting set by GRZ, the set of allstates which can be reached from state zero. If GRz is a

subset of Gz, then the FSR will be driven stable.The test for driven stability will require no more

than 2n+1 iterations.Definition 5: A machine is connected if there exists at

least one state s* and input sequences such that every

other state on the machine either reaches s* or can bereached from s* by applying some input sequence.

In order to test for connectedness we do not need toknow s* nor do we need to determine any of the inputsequences. It is obvious that any stable machine is alsoconnected.

Procedure D-Test for Connectedness: Set G= (1, 0,

0, , 0). Calculate alternately Ui=-yAWi-l, Wi=OAUi stopping when Wi+'=Wi. Initially WO=G, Abeing either zero or one or omitted, depending on

whether one wishes to test for connectedness of theFSR under a specific input value only. If Wi includesall of the states on the FSR, then the state diagram willbe connected.The test for connectedness will require no more than

2n- 1 iterations.Definition 6: A sequential network is strongly con-

nected if there exist input sequences which will allowthe machine to be started in any state s* and ultimatelyreach any other state s**.

It should be noted that a necessary but not sufficientcondition for a sequential network to be strongly con-

nected is that 01=1 where 1 is the set {G} of allstates. If 01 1, the FSR is not strongly connected.

Procedure E-Test for Strong Connectedness: If 01 = 1,set {G} = {i}, i=O, , 2 1, G=I=(O, * * *, 0, 1,0, * - *, 0) (all zero except for the position correspond-ing to state i).For each set { i } calculate ,aiI, j = 1, * * stopping

when &ji+lI = &'AiI. If &' iI is the all one vector for each I,then the machine is strongly connected, A being 0 or 1 or

omitted depending on which input values one wishes totest.Example 2: Let us use the feedback decoder of Exam-

ple 1 to illustrate some of the other questions which can

be answered using these two operators.By inspection of (24), it can be seen that states 0 and

1 are branch states and that states 6 and 7 are startingstates under autonomous operation. It is also clear thatstates 6 and 7 have no predecessors, states 2, 3, 4, and 5have two predecessor states, and states 0 and 1 havefour predecessor states.

Definition 4: Following Massey [2], an FSR will be

827

Applying Procedure A to this inachine yields

Page 5: Readily Programmable Procedures for the Analysis of Nonlinear Feedback Shift Registers

IEEE TRANSACTIONS ON COMPUTERS, SEPTEMBER 1969

OoG = (go + gl, 92 ± g9,g4, 96, g5, g7, 0, 0)G =(1, 1,1,1,1,1,1,1)

0oG = (1, 1, 1,1, 1,1, ,O0)

002G = (1, 1, 1, 0, 1, O, 0, 0)

o3G = (1,11,1, ,0,0,O,O0)

004G = (1, 1, 0, 0, O, 0, 0, 0)

005G = (1, 0, O 0, 0, 0, 0, 0).

Thus, the feedback decoder is stable under autono-mous operation:

OG = (go + gl + g4 + g5, g2 + g3 + 96 + g7,

gl + g4, g3 + g6, g0 + g5, g2 + g7, 0, 0)

yG= (go + g4, gO + g2, gl + g5; gl + g3,

gO +ggO, o + g4, gl + g3, gl + gB)-

Applying Procedure D we have

WO = G = (1,0 ,0,0,0 ,0,0 , 0)

Ul = AWO = (1, 1, 0, 0, 1, 1, 0, 0)

W1' = yU = (1, 1, 0,1,1, 0, 0)

W2 = U2 = 4W1 = (1, 11,1,1,1,1,1).

The state diagram is connected, as would always bethe case for a stable FSR. Fig. 3 shows the state dia-gram for this FSR. However, since 01 = (1, 1, 1, 1, 1, 1,0, 0), the FSR is not strongly connected.

CONTROLLABILITY

We will use Cohn's [11] definition of controllability.Definition 7: A sequential network will be k-control-

lable if it is possible to transition between any pair ofstates (s*, s**) with an input sequence of length exactlyk. A sequential network is controllable if it is k-control-lable for some integer k> 0.

Theorem 1: A sequential network which is stronglyconnected and contains at least one equilibrium state iscontrollable.

Proof: Starting in any state s* there exists a pathto an equilibrium state, and a path from the sameequilibrium state to s**. The step difference required toassure reaching s** in exactly k transition from allstates can be obtained by delaying at the equilibriumstate. Q.E.D.

It is clear that Theorem 1 yields only a sufficientcondition for controllability. It is obvious that a neces-sary but not sufficient condition for a sequential net-work to be controllable is that it be strongly connected.A necessary and sufficient condition for control-

lability can be stated as follows. A network is control-lable if and only if there exists an integer ki for eachstate i such that 0 iGi = 1 for all i =0, . . . ,where G, is the set vector for {i }. This follows directlyfrom the definitions.

Fig. 3. State diagram for the FSR shown in Fig. 2.

Theorem 2: The minimum k for controllability is km=max ki, O<i<2n-1.Proof: Since the network is controllable, ks's exist for

each state. Also, since the machine is controllable, it isstrongly connected; thus 01 = 1. Hence if kar<km, thereexists an input sequence of length km-kka starting fromat least one state, say so, which leads to the terminalstate s** or else we are contradicting the fact that thenetwork is strongly connected.We know an input sequence of length ka exists which

will take us from s* to s,o; thus there exists input se-quences of length km= max (ki), i =0, - * * , 2n- 1which will allow transitions between any pair of statess* and s**. Q.E.D.

Corollary 1: A sequential network which is k-control-lable for k = max (kr) is controllable for all k > max (ki)and no smaller k. Proof follows from Theorem 2.

Procedure F-Test for Controllability: Use ProcedureE and test for strong connectedness.

a) If the network is strongly connected and con-tains at least one equilibrium state, then the FSR iscontrollable.

b) If the network is strongly connected but con-tains no equilibrium states, then the following bruteforce method can be used.

Set {G} = {i} i =0, . ., 2n _-1

G =I= (0,.. ,0,1,0, * * *,0) (the all zero

vector except for the ith position).

For each set {i} calculate

ojI j = 1, stopping when one of the fol-lowing occurs:

1) Oi+0I = 9iI

2) OiI= I

3) j =22

If OiI= 1 for each state set I, then the machine iscontrollable.Example 3: Consider the following feedback shift

register (see Fig. 4):

Tp = (1,O) Tx = (1, 0) F = (1, 1,0,0 ,0 , 1,0 , 1)Ao=2 Al=3 Bo=2 B,=3 Co=0 C1= 1

828

Page 6: Readily Programmable Procedures for the Analysis of Nonlinear Feedback Shift Registers

MOWLE: ANALYSIS PROCEDURES FOR NONLINEAR FEEDBACK SHIFT REGISTERS

x,s

. _F(x,s) =Xs +Xs0

Fig. 4. FSR with F(x, s) =si±+xso.

0oG = (0, g2 + g3, gO + g1, 0)01G = (gl, g3, gO, g2)

Fig. 5. State diagram for the FSR shown in Fig. 4.

CONCLUSIONS

OG = (gl, g2 + g3, go + gl, g2) The two operators 0 and 'y have been shown to beuseful for analyzing nonlinear feedback shift registers

zyoG = (ga, g2, gi, gl) under autonomous as well as nonautonomous operation.ayG = (g2, gO, g3, gl) All of the analysis procedures presented in this paper

have been programmed on a digital computer. It is felt-yG = (g2, gO + g2, gl + g3, g1) that for a large number of nonlinear FSR's, these

Let us determine if this machine is controllable. operators will aid in determining if a given machine iscontrollable, but additional work still needs to be done{i} {°} {1} {2} {3} before one can quickly determine the necessary inputI (1, 0, 0, 0) (0 1, 0 0) (0, 0,1, 0) (0 0, 0 1) sequence for a specified state pair transition in control-

lable nonlinear feedback shift registers. At present, sev-oi (0, 0, 1, 0) (1, 0, 1, 0) (0, 1, O, 1) (0, 1, 0, 0) eral promising heuristic procedures which will greatly02I (0, 1, 0 1) (0, 1 1 1) (1, 1 1, 0) (1, 0 1 0) reduce the calculation time for the controllability test

are being investigated.

(1, 17 1X 1)

ko = 4 k =3 k2 = 3 k3 = 4

Since ki's exist for each state, the FSR is controllablefor all k >kmwhere km= max {ki } = 4.The following table shows one possible set of inputs

for each pair of states. The inputs are ordered x1, X2, X3,X4.

Initial State

0 1 2 3

0 1,1,1,1 0,0,0,0 0,0,1,0 0,0,0,1

1 1,0,O,1 1,1,1,1 1,0,0,0 0,0,0,1

2 0, 0,1, 0 1, 0, 0, 0 1, 1, 1, 1 1, 0, 0,1

3 1, 0, 0,1 0, 0,1, 0 0, 0, 0, 0 1, 1, 1, 1

The state diagram for the FSR in Fig. 4 is shown inFig. 5.

REFERENCES[1] B. Elspas, "The theory of autonomous linear sequential net-

works," IRE Trans. Circuit Theory, vol. CT-6, pp. 45-60, March1959.

[2] J. Massey and R. Liu, "Application of Lyapunov's direct methodto the error-propagation effect in convolutional codes," IEEETrans. Information Theory (Correspondence), vol. IT-10, pp.248-250, July 1964.

[3] -, "A new diagram for feedback shift registers," Proc. 3rdAnn. Allerton Conf. on Circuit and System Theory, University ofIllinois, Urbana, pp. 73-86, October 1965.

[4] , "Equivalence of nonlinear shift-registers," IEEE Trans.Information Theory, vol. IT-10, pp. 378-379, October 1964.

[5] F. J. Mowle, "Starting state generating function for autonomousP-ary feedback shift register," Proc. 5th Ann. Allerton Conf. onCircuit and System Theory, University of Illinois, Urbana, pp.77-86, October 1967.

[61 A. Gill, Linear Sequential Circuits. New York: McGraw-Hill,1966, ch. 3, 4, and 5.

[71 S. Golomb, Shift Register Sequences. San Francisco: Holden-Day, 1967, ch. 6 and 7.

[81 F. Preparata, "State-logic relations for autonomous sequentialnetworks," IEEE Trans. Electronic Computers, vol. EC-13, pp.542-548, October 1964.

[9] , "On the realizability of special classes of autonomous se-quential networks," IEEE Trans. Electronic Computers, vol.EC-14, pp. 791-797, December 1965.

[10] J. Massey, Threshold Decoding. Cambridge, Mass.: MIT Press,1963.

[11] M. Cohn, "Controllability in linear sequential networks," IRETrans. Circuit Theory, vol. CT-9, pp. 74-78, March 1962.

Terminal State

829

oli (11 12 12 0) (17,11 17 1) (17 17 11 1) (02 12 1) 1)

04I ( I 7 1 7 1 7 1 )