Linear Sequential Machines 1 Zvi Kohavi and Niraj K. Jha Introduction A linear sequential machine is a network which has a finite number of input and output terminals and is composed of interconnections of three types of basic components (unit delays, modulo-p adders and modulo-p scalar multipliers) • The input signals are elements of a finite field GF(p) = {0,1,…,p-1} • The operations performed by the basic components on their inputs are carried out according to the rules of GF(p) Block diagram: number of delay elements -- dimension x1 x2 xl z1 z2 zm Adders and multipliers y1 Y1 y2 Y2 yk Yk 2 Linear Machine For a machine to be linear: its response to a linear combination of inputs must preserve the scale factor and the principle of superposition • • • Thus, each basic component must be linear Cannot use an AND gate: z = x1x2 modulo 2 Or an OR gate: z = x1 + x2 + x1x2 modulo 2 Linear components: 1. Unit delays: y(t) = Y(t-1) 2. Modulo-p adders: z = x1 + x2 + … + xl (modulo p) 3. Modulo-p scalar multipliers: z = cx (modulo p), where c is an element of GF(p) Y(t) y(t) = Y(t--1) x1 x2 + xl (a) Unit delay. x1 + x2 + … + xl (modulo p) (b) Modulo-p adder. x c cx (modulo p) (c) Modulo-p scalar multiplier. 3 Example Example: A four-terminal, four-dimensional linear machine over GF(3) 2 x1 + y1 + y2 + y3 + 2 y4 + z1 z2 x2 Linear machine over GF(2): binary machine Inert (or quiescent) machine: a linear machine whose delay elements are initially in the zero state • Used as encoding and decoding devices 4 Feedforward Shift Registers Simplest type of inert linear machines: two-terminal shift register which contains only feedforward paths and whose output is a modulo-p sum of selected input digits x Yk a1 ak-1 ak yk + Y2 y2 + a0 Y1 y1 + z • z = a0x + a1Dx + … + akDkx – D0 = 1: identity operator – z = D2x: for all t >= 2, z(t) = x(t-2) – Initial conditions: y1(0) = y2(0) = … = yk(0) = 0 • Rewrite equation as: z = (a0 + a1D + … + akDk)x, or – T(D): transfer function 5 Example Example: Consider the inert linear machine over GF(2) below where z(t) = x(t) + x(t-1) + x(t-3) • • Corresponding polynomial: z = x + Dx + D3x Transfer function: x + + z 6 Serial/Parallel Connection of Machines Consider two linear machines with input x1 (x2), output z1 (z2) and transfer function T1 (T2) • Transfer function T3 of the serial connection: – • Since x2 and z1 are identical: Transfer function T4 of the parallel connection: T4 = T1 + T2 Example: Let T1 = D2 + 2D + 1 and T2 = D + 1 over GF(3) • • Then T3 = (D2 + 2D + 1)(D + 1) = D3 + 1 T4 = (D2 + 2D + 1) + (D + 1) = D2 + 2 7 Impulse Response and Null Sequences Impulse response h of an inert linear machine: its response to 100…0 • Impulse response of the feedforward shift register: a0a1…ak0…0 x Yk • • a1 ak-1 ak yk + Y2 y2 + a0 Y1 y1 + z After at most k+1 time units: the output of the k-dimensional feedforward shift register is a sequence of 0’s Response of an inert linear machine to an arbitrary input sequence: can be obtained from its impulse response through discrete “convolution” in GF(p) 8 Example Example: Impulse response of T1 = 1 + D + D3 is h = 110100…0 • Response of T1 to input sequence 1011: obtained by addition (modulo 2) + D2h + D3h of sequences as follows h 9 Null Sequence Null sequence X0: nonzero input sequence that generates an output sequence consisting of 0’s • Thus, TX0 is a sequence of 0’s • Any linear combination of null sequences is also a null sequence Example: Null sequence for T1 = 1 + D + D3 determined as follows: 0 = X0 + DX0 + D3X0 X0 = DX0 + D3X0 • Select an arbitrary (nonzero) sequence of length 3 (in general, equal to dimension k) and specify subsequent digits – Selection of 001 X0 = (001)1101001 – After seven digits: the null sequence repeats itself 10 Example Example: Null sequence for polynomial T = 1 + 2D2 + D3 over GF(3) 0 = X0 + 2D2X0 + D3X0 Adding 2X0 to both sides and recalling that 2X0 + X0 = 0 in modulo 3: 2X0 = 2D2X0 + D3X0 Multiplying both sides by 2 yield: X0 = D2X0 + 2D3X0 Starting with 111, null sequence: X0 = (111)00202122102220010121120111 Maximal sequences: null sequences that contain pk-1 digits • All possible k-tuples except 00…0 11 Inverse Machines A polynomial T(D), where z = Tx, has an inverse, denoted by 1/T(D), if there exists a network which realizes x = (1/T)z Example: Machine and its inverse: x Yk --ak x • • a1 ak-1 ak yk + Y2 y2 + a0 Y1 y1 z + + + + --ak-1 --a1 1/a0 wi z w0 Note that (-a) modulo p = (p-a) modulo p When the inverse machine is fed the impulse response of the original machine, i.e., a0a1…ak00…0: its response is the original message x = 100…0 12 Inverse Machines (Contd.) Inverse is realizable only if a0 0 • An inert linear machine described by delay polynomial T has a linear inverse described by T-1, which decodes without delay: if and only if T contains a nonzero constant term which is prime to modulo p • For a binary machine: a0 must be 1 • If T does not contain a nonzero constant term: no instantaneous inverse can be found – However, an inverse, which decodes the original input after a finite delay, can be found – Let ai be the scalar associated with the lowest power of D for which ai 0, i.e., T = Di + ai+1Di+1 + … + akDk – The inverse is given by: – Or: 13 Example Example: A machine with T1 = 1 + D + D3 and its inverse with T1-1 = 1/(1+D+D3) x + x z + w0 + + wi z 14 Linear Machines with Nonzero Initial Conditions The inverse of an inert linear machine might not be inert • Hence, its response to a sequence of zero input symbols is not necessarily a sequence of zero output symbols: but may be null sequence X0, whose starting digits are determined by the initial state of the inverse Example: Let the input symbols of T1 and T1-1 be 0’s • If they are inert: their respective output symbols will be all 0’s • If they are not inert: output symbols will depend on their initial states • Autonomous behavior: behavior of a noninert linear machine whose input is a sequence of 0’s • Cycle sets: the two loops in the state diagram of T1-1 100 111 110 101 111 101 110 011 010 001 011 001 010 100 000 000 15 (a) T1 = 1 + D + D3. (b) T1--1 = 1/(1 + D + D3). Inert Linear Machines and Rational Transfer Functions Realization of rational polynomials: consider the inert linear machine whose output z is given by z = x + Dx + D2x + D4x + Dz + D3z This can be rewritten as: z(1 + D + D3) = x(1 + D + D2 + D4) The transfer function: Trivial, but inefficient, realization: Serially connect two inert linear machines given by polynomials 1 + D + D2 + D4 and 1/(1 + D + D3) • Requires seven delay elements Minimal realization: determined by the highest degree in either the numerator or denominator of the transfer function • Only four delay elements necessary 16 Example (Contd.) Example (contd.): Rewrite equation as x + z = D(x + z) + D2x + D3z + D4x Or x + z = D{(x + z) + D{x + D(z + Dx)}} Chain realization of T2 and T2-1 x + + + x+z + z 1 + D + D2 + D4 . (a) Realization of T2 = 1 + D + D3 x + + + T2--1 1 + D + D3 . = 1 + D + D2 + D4 x+z + z (b) Realization of 17 Chain Realization Chain realization of an arbitrary transfer function over GF(2): x x k + k-1 2 + + 1 x+z + z x+z z Realization of x z ak ak-1 a1 a0 + + + + --bk --bk-1 --b1 18 Example Example: Realize the following transfer function over GF(3) x 2 2 + + 2 2 + + z 19 Impulse Response and Transfer Function Synthesis of an inert linear machine from its impulse response: • If the impulse response is realizable: it consists of two components – transient component ht and periodic component hp • For a k-dimensional inert linear machine: the period of the response to a sequence of 0’s is at most pk-1 = n-1, where n is the number of states • Thus, a necessary condition for an impulse response h to be realizable: it ultimately becomes periodic • Since the length of the transient response is at most k + 1: the transfer function of a realizable two-terminal k-dimensional inert linear machine can be specified uniquely by observing the first k + pk symbols in the impulse response 20 Example Example: Consider impulse response 1010100, 1110100, 1110100, … of an inert linear machine over GF(2) • The impulse response can be separated as h = ht + hp Impulse: 10000000000000000... Tp h: 10101001110100111... ht: 01000000000000000... hp: 11101001110100111... , , (a) Impulse response and its components. x + z Tt (b) T = Tp + Tt . • From ht: Tt = D • Periodic component hp described by: 1 + D + D2 + D4 • Since the period is 7: Tp = (1 + D + D2 + D4)(1 + D7 + D14 + …) = • Hence: 21 Multiterminal Machines A multiterminal inert linear machine with l input terminals and m output terminals can be characterized by a set of lm transfer functions: • Tij is evaluated when xi = 0 for all i j One possible realization (not necessarily minimal): x1 T11 T12 T1m T21 T22 T2m x2 z1 + z2 + + zm xl Tl1 Tl2 Tlm 22 The General Model The matrix formulation: Consider a k-dimensional linear machine over GF(p), with l inputs and m outputs • Next-state equation for delay Yi: • Matrix form: • Or • • Y(t) = y(t+1) = Ay(t) + Bx(t) A, B, C, D: characterizing matrices A: characteristic matrix 23 The General Model (Contd.) Output function zi: • Matrix form: • Or z(t) = Cy(t) + Dx(t) 24 Definition A machine is said to be linear over a finite field GF(p) if its states can be identified with the elements of a vector space, and its next state and output functions can be specified by a pair of matrix equations GF(p): Y(t) = Ay(t) + Bx(t) z(t) = Cy(t) + Dx(t) • Dimension of the machine: dimension of the state vector • The machine is Moore or Mealy: depending on whether D is or is not identically zero Example: A four-terminal machine and its characterizing matrices 2 x1 x2 + y1 + y2 + y3 + 2 y4 + z1 z2 25 The Response of Linear Machines Relationship between the input sequence to machine {A,B,C,D} and its corresponding output sequence: or autonomous response forced response where 26 Autonomous Response Internal circuit: that part of the circuit that can be specified by A alone • It contains only the delay elements and their interconnections, while the input and output lines have been deleted Autonomous response: generally determined from the analysis of the internal circuit Y(t) = y(t+1) = Ay(t) • Since the internal circuit is autonomous: the -successor Sj of state Si [where Si = yi(t)] is given by: yj(t) = A yi(t) where denotes the number of state transitions • The sequence of predecessors of a given state is established by constructing the inverse internal circuit: – Such an inverse exists: only if each state has a unique predecessor – For an internal circuit given by A: the inverse is given by A-1 – Thus, the inverse circuit exists: if and only if A is nonsingular 27 Reduction of Linear Machines Let L be a k-dimensional linear machine over GF(p) • To describe an experiment of length k: compactly represent earlier equations as Z(k) = Kky(0) + VkX(k) • Kk: diagnostic (or distinguishing) matrix • For initial states Sa and Sb: corresponding state vectors are ya(0) and yb(0) 28 Reduction of Linear Machines (Contd.) If Sa is equivalent to Sb: then Kkya(0) = Kkyb(0) Since the second term VkX(k) is independent of the initial state • To simplify the computation: X(k) may be selected as the all-zero sequence X(k) = 0 • Thus, the output equation reduces to: Z(k) = Kky(0) Theorem: A k-dimensional linear machine {A,B,C,D} is definitely diagnosable of order k if and only if diagnostic matric Kk has k linearly independent rows • A linear machine is in reduced form: if and only if the rank of Kk is k • Every reduced k-dimensional linear machine is definitely diagnosable of order k, and is finite memory of order less than or equal to k: observability and predictability properties 29 Example Example: Consider linear machine L1 over GF(2) given by • Diagnostic matrix K3 is obtained and Z(3) becomes: • Since the rank of K3 is 3: the dimension of L1 cannot be reduced • For a given initial state: the values of y1(0), y2(0), y3(0) are specified • Matrix Z(t) yields the response of L1 to distinguishing sequence 000 – E.g., if the initial state is (111): then in response to 000, sequences z1 = 010 and z2 = 100 are produced 30 The Minimization Procedure Let L be a k-dimensional linear machine {A,B,C,D} over GF(p), and let r be the rank of the diagnostic matrix, r < k • Define an r x k matrix T consisting of the first r linearly independent rows of Kk, and a k x r matrix R denoting the right inverse of T, s.t. TR = Ir • Define an r-dimensional machine L* with characterizing matrices {A*,B*,C*,D*}, s.t. A* = TAR, B* = TB, C* = CR, and D* = D Theorem: State y of L is equivalent to state y* = Ty of L*. Machine L* is a reduced machine equivalent to L 31 Example Example: Consider linear machine L2 over GF(2), defined by • The rank of K3 is 2: thus L2 is reducible • The first two rows of K3 are linearly independent: therefore • The right inverse R of T is constructed by selecting a set of r linearly independent columns from T – Since the rank of T is r and column rank equals row rank: such a set always exists – Form an r x r matrix Q from these columns and find its inverse Q-1 32 Example (Contd.) Example (contd.): The right inverse R, which is a k x r matrix, is formed by placing in it the rows of Q-1 in positions corresponding to the columns selected from T, and where all other rows are set to zero • In our case: • From definitions of characterizing matrices of L2*: 33 Example (Contd.) Circuit diagram of reduced machine L2*: x + y2 + y1 + z 34 Example Example: Consider linear machine L3 given by {A,B,C,D} over GF(2) and shown in the figure x2 + x1 + + y1 + y2 + + y3 + + z1 y4 + + z2 35 Example (Contd.) Example (contd.): • Q occupies the first three columns of T and Q-1 the first three rows of R, since the linearly independent columns in T have been selected from positions 1, 2, and 3 36 Example (Contd.) Example (contd.): 37 Example (Contd.) Example (contd.): The reduced circuit corresponding to {A*,B*,C*,D*} is: x2 x1 z1 + + + y1 + y2 y3 + + + z2 38 Example (Contd.) The first three linearly independent rows of K3* are the rows of I3 in natural order: • Matrix (A*)t is related to At by: (A*)t = TAtR and diagnostic matrix K* is related to K by K* = KR • Thus, for initial state ya* = [y1*,y2*,y3*] and the all-0 input sequence: the output corresponding to the unit vector rows of K3* are identical to values y1*, y2*, y3* 39 Identification of Linear Machines Let sequential machine M have pk states, denoted by Sa, Sb, .., Spk • Let the l-dimensional vector x and m-dimensional vector z denote the input and output vectors, respectively • Construct a distinguishing table, which contains the output symbols generated by M in response to a sequence of 0’s • The table contains pk columns corresponding to the states of M – It is formed block by block: the ith block corresponds to z(t) at t = i – The table thus contains at most k blocks of m rows each: corresponding to z(0), z(1), …, z(k-1) – The process of adding blocks to the table is terminated: when, for some t, the set of rows contained in block z(t) is linearly dependent on the rows in preceding blocks Example: Machine M4 and its distinguishing table U 40 First Test First test: based on the fact that, for every linear machine, the all-0’s sequence is a distinguishing sequence • If M is reduced: the columns of U must be distinct, since otherwise there would be two or more states in M which are indistinguishable under the all-0’s sequence, and M is not linear – The U in the example satisfies the test Let U* be the table consisting of the first r linearly independent rows of U, and let Si denote the ith column of U* • Assuming that a linear realization of M is possible: let states A, B, … of M correspond to ya, yb, … of its linear realization L • This is accomplished: by selecting the pk columns of U* as the state assignment for the pk states of L • For machine L4, the linear realization of M4, we have 41 Identification (Contd.) To obtain {A,B,C,D} of L: we select r linearly independent columns from U*, corresponding to r state vectors of L, and form an r x r matrix v s.t. v = [ya,yb,…,yr] Hence, the next-state function of L under 0 input symbols is: [Ya0,Yb0,…,Yr0] = Av where Yi0 denotes the 0-successor of yi. Since v is nonsingular: A = [Ya0,Yb0,…,Yr0]v-1 If all r unit vectors appear in U*: v can be chosen as Ir, which yields v = v-1 Thus, A = [Ya0,Yb0,…,Yr0] Whenever the number of states pk = pr, i.e., k = r: v can be specified as Ir 42 Identification (Contd.) Similarly, for x(t) = 0: [za0,zb0,…,zr0] = Cv where zi0 denotes the output symbol produced by L when in state yi and excited by x = 0. Thus: C = [za0,zb0,…,zr0]v-1 and when v = Ir: C = [za0,zb0,…,zr0] In order to obtain B and D: let us denote a unit input vector as ui, where the ith component of ui is 1 and all other components are 0’s We know that: Bx = Y – Ay In order to obtain B: we select some state yi (preferably the zero state if it exists in U*) and specify B in terms of the constraints imposed on it by yi and the unit input vectors 43 Identification (Contd.) Let the input consist of unit vectors: u = [u1,u2,…,ul] The next-state vector, Yiuj, denotes the uj-successor of yi. Thus: Yiu = [Yiu1,Yiu2,…,Yiul] and Bu = Yiu - Ayi or B = [Yiu – Ayi]u-1 Since u generally consists of unit vectors, and y is the zero state: B = [Yiu1,Yiu2,…,Yiul] Similarly: D = {[ziu1,ziu2,…,ziul] - Ayi}u-1 where ziuj is the output vector associated with the transition from yi under uj. Thus, the reduced equation is: D = [ziu1,ziu2,…,ziul] 44 Example Example: Returning to machine M4, we specify v to be We obtain: The only unit input vector is u = [1]: hence Yi1 is the 1-successor of yi Since the zero state is contained in U*: let yi = yd. Thus, The state and output equations are: 45 Example (Contd.) The final test is to verify that the above equations indeed represent M4 under all input and state combinations: this is accomplished by verifying each state transition and its corresponding output symbol • E.g., substituting ya for A and 0 for x(t): the machine should go to state yb and produce output symbol 11, corresponding to entry B,11 in column 0, row A • Indeed: • The characterizing matrices are thus verified. Linear realization: + x + y2 + z1 y1 z2 46 Example Example: Machine M5 and its distinguishing table are given below • Checked rows are linearly independent • Since U* contains all possible eight 3-tuples: identification procedure is continued 47 Example (Contd.) Example (contd.): Select We obtain: Setting u = [1] and yi = ya = 0: Thus: Matrices are verified to correspond to M5: x y3 + y2 y1 z1 + z2 48 Example Example: Consider the four-state up-down Gray-code counter and its distinguishing table The state assignment is given by: • Though M6 has only four states: its minimal realization is of a third dimension • v cannot be chosen as the identity matrix: and zero state yi = 0 is not contained in the state assignment – Hence, simplified equations cannot be used: matrix inversion cannot be avoided 49 Example (Contd.) Let Hence, we obtain Let yi1 = ya. Then x Minimum-dimension linear circuit: + y3 + y2 + y1 50 z1 z2 Application of Linear Machines to Error Correction Consider the communication-system model shown below • Message, denoted X: consists of a sequence over GF(p) of length n • Encoder, with transfer function T: transforms the message into another sequence over GF(p) of length n – This sequence is referred to as the transmitted sequence, designated Z: where Z = TX • Sequence Z is transmitted through a noisy channel: whose output sequence Z is called the received sequence • In the channel: a noise sequence over GF(p), denoted N, is added to the transmitted sequence, s.t. the received sequence is equal to Z=Z+N = TX + N X Message Encoder Z Transmitted sequence Channel + Received sequence Z Decoder Received message X Noise sequence, N 51 Decoder Decoder, with transfer function T-1: processes the received sequence and produces X s.t. X = T-1Z = T-1(TX + N) = X + T-1N Example: Consider the communication system shown below • • • • Information digits: the first four digits Checking digits: the remaining three digits Checking digits in X: always 0 If X is received with three 0’s in the last three positions: no noise present – Else, error correction is necessary X: 1010000 T = 1 + D2 + D3 Z: 1001110 + Z: 1101110 T--1 = 1 1 + D2 + D3 X: 1111110 N: 0100000 52 Example (Contd.) When an error occurs: obtain T-1N and subtract from X • Since the last three digits of X were originally 0’s: the last three digits of X must consist only of digits of T-1N, without any contribution from X • If only a single error occurred at time t: T-1N is simply the response of decoder T-1 to a unit impulse at t • Hence, the checking digits of X consist of a subsequence of three digits of the impulse response of T-1 • The decoder is chosen s.t. its impulse response has a maximal period of seven digits: this ensures that by observing the subsequence contained in the last three digits of X, we can determine T-1N uniquely • Suppose 1010000 is to be transmitted: – Impulse response of the decoder: 1011100 – Checking digits of X: identical to fourth, fifth and sixth digits of the impulse response » Thus, we conclude that noise impulse occurred in the second information digit X: 1010000 T = 1 + D2 + D3 Z: 1001110 + N: 0100000 Z: 1101110 T--1 = 1 1 + D2 + D3 X: 1111110 53 Single-error Correction To correct single errors in messages over GF(2) containing m information digits and k checking digits • We need a decoder whose impulse response is of length m + k: with each string of k successive digits different from every other subsequence of length k • Such an impulse response can be obtained from: a decoder whose transfer function is of degree k and whose impulse response is maximal, i.e., of length m + k = 2k -1 • If the last k digits of X are not zeros: T-1N must be subtracted from X – Accomplished by shifting X over the decoder’s impulse response: until the last k digits of X match a corresponding subsequence of the impulse response – This is always possible: since the impulse response contains every nonzero subsequence of length k – The modulo-2 sum of X and the digits of the impulse response appearing directly below it: yield X 54