Abstract:
The Controller is a logical network which, when interfaced with a mechanical system or an electromechanical system, will cause the output variable of the system to closely follow any command signal received. It comprises shift registers, memory banks, accumulators, arithmetic units and preferably no software. The device works in two stages. In the first stage it identifies the unit-impulse response of the system piece-by-piece while using the accumulated information to control the system at the same time. In the second stage it continually readjusts the stored information at each clock pulse by comparing the observed output signal and the command signal, while generating the required control variable based on the updated information. Its operation incorporates a learning process which emulates a simple form of human intelligence.

Description:
RIGHTS OF THE GOVERNMENT 
     The invention described herein may be manufactured and used by or for the Government of the United States for all governmental purposes without the payment of any royalty 
    
    
     BACKGROUND OF THE INVENTION 
     The present invention relates generally to a Smart Controller which is an impulse-response adaptive control system; or more particularly to a logical network which when interfaced with a mechanical system or an electromechanical system, will cause the output variable of the system to closely follow any command signal received. 
     Model reference control algorithms are synthesized on the basis that the plant may be described by a transfer function with unknown coefficients. A basic assumption under which the stability of these algorithms is proven is that the order of the plant transfer function be known. 
     The uncertainty in the coefficients or parameter values of a transfer function of a given order may be referred to as structured uncertainty. Most practical systems have high frequency plant dynamics which cannot be described by transfer functions of a given order for any values of the parameters. These high frequency dynamics are called unmodelled or unstructured dynamics. Unmodelled dynamics affect the performance of model reference adaptive control systems in a peculiar way. Recent studies (C. E. Rohrs et al, &#34;Robustness of Continuous-Time Adaptive Control Algorithms in the Presence of Unmodelled Dynamics&#34; IEEE Transactions on Automatic Control, Vol AC-30, pp 881-889, Sept. 1985) show that in the presence of unmodelled dynamics, a model reference adaptive control system becomes unstable if the reference input contains a high frequency sinusoid. Instability also occurs if there is a sinusoidal output disturbance at any frequency including d.c. The latter poses a serious problem because sinusoidal disturbances are common and the problem cannot be alleviated by adding a low-pass filter at the output (Rohrs et al ibid.). A remedy for this problem is to add low frequency excitation of sufficient magnitude at the input (Rohrs et al ibid. and K. J. Astrom, &#34;A Commentary on the C. E. Rohrs et al Paper . . .&#34; IEEE Transactions on Automatic Control, Vol AC-30, pp 889, Sept. 1985). A recent study (J. Krause et al, &#34;Robustness Studies in Adaptive Control&#34; , Proceedings 22nd, IEEE Conference Decision Control, San Antonio, Tex. Dec. 14-16, 1983, pp 977-981) also deals with the frequency range and the amount of excitation required to stabilize the adaptive control system in the presense of unmodelled dynamics and output disturbances. 
     Many practical systems (for example, flight control systems) exist where persistent excitation in the input signal is undesirable. Thus the problem with unmodelled dynamics reduces the appeal or even precludes the application of adaptive control to such systems 
     R. E. Kalman (&#34;Design of a Self-Optimizing Control System&#34; Transactions of ASME, Vol 80, pp 468-478, Feb. 1958) mentioned the idea of modeling a plant in terms of an impulse response sequence in the design of a self-optimizing control system. However, Kalman did not succeed in developing an adaptive controller based on on-line identification of impulse-response sequence of an unknown system. In the work of Kalman, the idea of impulse-response sequence was abandoned, and his control algorithm computes the coefficients of the rational transfer function of the unknown plant via a modified least square filtering procedure, which requires lengthy and involved calculations. Kalman&#39;s machine requires a considerable amount of programmed computation. Furthermore, in Kalman&#39;s design the order of the plant must be known. Each machine is built for plants that are lower than certain order. The computation grows exponentially with the order of the plant. Because of the computation time involved, the usefulness of the Kalman machine is limited to low order plants and low-sampling frequency digitalization. 
     Control designs based on approximate impulse-response models have been developed See R. K Mehra et al, &#34;Basic Research in Digital Stochastic Model Algorithmic Control&#34; Technical Report AFWAL-TR-80-3125; and W. E. Larimore &amp; S. Mahmood, &#34;Basic Research on Adaptive Model Algorithmic Control&#34;, Technical Report AFWAL-TR-85-3113 (available from NTIS as AD-A168 016), both from Flight Dynamics Laboratory, Wright-Patterson Air Force Base, Ohio. An application of Model Algorithmic Control (MAC) described in the Larimore &amp; Mahmood Report is presented in a technical report by J. V. Carroll and R. F. Gendron: &#34;Vectored Thrust Digital Flight Control For Crew Escape&#34;, AFWAL-TR-85-3113, Vols I-IV, also from Flight Dynamics Laboratory (Vol I available from NTIS as AD-A166 580). Model Algorithmic Control (MAC), described in the Larimore &amp; Mahmood Report assumes that the unit-impulse response sequence of the controlled system (the plant) is known. The control variable is then computed from the desired output and the unit-impulse response sequence. The Adaptive MAC requires that the unknown plant be operated open-loop and off-line initially for seven seconds to enable its unit-response be identified. The o impulse-response model is then used in the digital controller and the control loop is closed A (random) dither signal and a measurement noise of sufficient magnitude and variance are deliberately introduced and superimposed on the actual input and output to enable the repeated identification of the plant&#39;s impulse response model every seven seconds. Thus, the Adaptive MAC cannot help being contaminated by an artificially introduced dither signal at the input and measurement noise at the output and at the feedback 
     Wroblewski et al in U.S. Pat. No. 4,736,367 describe the control of a plurality of relay drivers by smart control devices using smart sensors. A driver and receiver circuit receives, interprets and converts signals from the smart control devices and smart sensors and a microcomputer supplies continuous and updated information to a display system indicative of the status of each control device and each sensor and its associated switch. In Shigemasa et al U.S. Pat. No 4,641,235 a process control apparatus is provided with process dependent switching between two different control modes. A first mode is used for steady state and a second mode is used when the process characteristics vary frequently. Process characteristics are selected by sampling. Kugath et al in U.S. Pat. No. 3,923,166 show a master-slave mechanical system where the output closely follows the input. Cameron et al in U.S. Pat. No. 4,279,013 teach an adaptive controller for machine processes and Kurakake in U.S. Pat. No. 4,338,659 shows controlling a machine tool in accordance with position error by making a comparison between commanded positional information and detected positional information. 
     SUMMARY OF THE INVENTION 
     An object of the invention is to provide a controller which is able to control a mechanical or electromechanical system whose transfer function is partially known vaguely known, or even unknown to the control designer, and may even vary with time 
     The invention relates to a logical network (called Smart Controller) which, when interfaced with a mechanical system or an electromechanical system, will cause the output variable of the system to closely follow any command signal received. It comprises shift registers, memory banks, accumulators arithmetic units and preferably no software The device works in two stages. In the first stage it identifies the unit-impulse response of the system piece-by-piece while using the accumulated information to control the system at the same time. In the second stage it continually readjusts the stored information at each clock pulse by comparing the observed output signal and the command signal, while generating the required control variable based on the updated information. Its operation incorporates a learning process which emulates a simple form of human intelligence. 
     In the preferred embodiment, the Smart Controller involves no software or programmed computation. Therefore, the computation time required after each clock pulse is in the order of nanoseconds (the time required for a signal to pass through logical gates) This makes possible the application of the Smart Controller to any practical electromechanical system with fast sampling. The main feature of the Smart Controller is that it can be applied to an arbitrary electromechanical system with unknown transfer function The Smart Controller will learn about the unknown system on the job while using the acquired information to control the system. It will adapt to the changing environment by constantly updating the acquired data when the characteristics of the unknown system are varying with time. 
     Kalman&#39;s machine requires a considerable amount of programmed computation, and therefore the computation time required after each clock pulse is orders of magnitude greater than what is required of the Smart Controller 
     The speed of the Smart controller enables it to control any mechanical or electromechanical system that has minimum phase and convergent unit-impulse response sequence. The potential uses are limitless. Examples include control of aircraft and spacecraft and their subsystems, chemical and mechanical processes nuclear reactors and manufacturing equipment This technology has extremely broad applications. 
    
    
     BRIEF DESCRIPTION OF THE DRAWING 
     FIG. 1 is a block diagram showing the system configuration during a first stage of operation (the identification-and-control stage); 
     FIG. 1a is a functional block diagram of an optional input circuit for smoothing the command signal; 
     FIG. 1b is a graph showing the response to a step function at the initial time; and 
     FIG. 2 is a block diagram showing the system configuration during a second stage of operation (the updating scheme). 
    
    
     DETAILED DESCRIPTION 
     Application of the Smart Controller to a generic aircraft model has been simulated on a digital computer, with satisfactory results. The mathematical aircraft model used was a two-degree-of-freedom short-period approximation to the longitudinal dynamics of an air-to-air medium-weight tailess delta-winged configuration, a class to which the F-16XL belongs. The results were presented in a paper by Applicants (Yeh et al) titled &#34;An Impulse-Response Adaptive Control System&#34; presented at the AIAA Guidance, Navigation and Control Conference, Monterey, CA, 17-20 August 1987. A related system called Universal Controller by the same applicants is covered by a copending patent application Ser. No. 07/265,383 filed Oct. 31, 1988.  and is described in a paper with the same authors titled &#34;Control of Unknown Systems Via Deconvolution&#34;, presented at the 26th IEEE Conference on Decision &amp; Control, Los Angeles, Calif., 9-11 Dec. 1987. The two papers are hereby incorporated by reference, and copies are included with this application as filed. 
     Two stages of a logical network (synchronous sequential network) describing the Smart Controller are given in FIGS. 1 and 2, where an unknown system 50 is the plant to be controlled, and 
     r(n): the discrete-time command 
     c(t): continuous-time system output 
     T: sampling period 
     ZOH: zero order hold 
     u o  : a parameter directly proportional to output error may be arbitrarily selected by the user 
     δ(n): unit sample function (this function has a value equal to one only when n=0, otherwise, the value of the function is zero) 
     f: a constant between 0 and 1 may be adjusted for each application 
     Δ: one period delay 
     N: number of memory storage for the unit-impulse response sequence 
     In the identification and control stage, Smart Controller computes the unit-impulse response sequence of the unknown system and outputs it at the terminal g n . Each element of the sequence is output at the corresponding sampling instant and is stored subsequently in the corresponding memory slot, except for the first slot where the inverse of g 1  is stored (if g 1  is zero then the first nonzero element of the sequence) At the same time the next-step optimal variable u n  +1 is generated by the deconvolution of the unit-impulse response sequence and the input sequence so that the output error is maintained at 
     
         e(n)=r(n)-c(n)=u.sub.o (g.sub.n-1 -g.sub.n) 
    
     Since most digital control systems are sampled at far greater rates than the natural frequencies of the controlled systems, g n-1  -g n  is small, and vanishes with increasing n if the uncontrolled system is stable. To reduce e(n) further, the user may arbitrarily choose a smaller u o , as long as the inverse of u o  in the block diagram of FIG. 1 is not too large to implement. In this fashion, the Smart Controller makes the output of an arbitrary unknown system follow a command input signal closely in the identification and control stage 
     When all the memory slots of the logical network are filled (n=N), the operation is switched over electronically to the update stage (FIG.2). In this stage, the logical network adjusts the contents in each memory slot after each sampling instant i such a way that each term in the convolution sum is increased in proportion to the output error. This increases/decreases the next-step output if the error is positive/negative, and thus reduces the magnitude of the error. 
     Note that while the unknown system 50 is analog, the Smart Controller is digital with the devices and the lines interconnecting them handling words with binary digits in parallel, a typical word length being sixteen binary digits. A clock 100 is coupled to most of the devices of the controller to trigger their operation at intervals of T seconds. A typical value for T in avionics applications may be 40 milliseconds. Devices shown in the drawing as triangles (referred to as delay devices or shift register stages) provide a delay of one clock interval by storing a digital word at the beginning of an interval, and supplying that word at its output at the beginning of the next interval. Devices represented as circles are summing devices (adders or subtracters) which provide the arithmetic sum or difference of two input words. 
     THE IDENTIFIER-CONTROLLER STAGE 
     Referring to the first-stage block diagram of FIG. 1, the Smart Controller comprises a plurality (N) of memory locations M1, M2, M3, M4 . . . MN-1, MN; with associated arithmetic multiplier 
     units P1, P2, P3, P4 . . . PN-1, PN. A shift register comprises N-2 serial stages S1, S2, S3, . . . SN-2. The outputs of the shift register stages on respective lines 01 02, 03, . . . ON-2 are each (except the last one) coupled to the input of the next stage, and also to the inputs of the multiplier devices P2, P3, P4 . . . PN-1 respectively The output of the last shift register stage on line ON-2 is coupled via a summing device 42 a delay unit 44 and line 45 to the input of the multiplier device PN, with line 45 also coupled via a device 46 which provides multiplication by a forgetting factor f to a plus input of the summing device 42. (A forgetting factor is a number between 0 and 1, tuned to the particular unknown system being controlled. For lack of a priori information on the controlled system, the forgetting factor is usually taken as 0.5. (Note that the input of stage S2 and the input of memory P2 could be connected to line 39 at the output of the summing device 38 instead of to line 01, with no difference in the operation.) 
     There are a number of arithmetic summing devices, including device A1 having its output coupled to the input of the multiplier device P1, and summing devices A2, A3, . . . AN-1 having plus inputs from outputs of the respective multiplier devices P2, P3, . . . PN-1. with the summing device AN-1 having another plus input from the output of the multiplier PN. Summing device A1 is a subtracter which has a minus input from the output of device A2, and devices A2, A3, . . . AN-2 have plus inputs from the outputs of devices A3, . . . AN-1, respectively. The summing device Al has a plus input coupled to a command input line 11. A summing device 38 has one plus input from the output of the first shift register stage S1 on line 01, and another plus input from line 37. The signal supplied at line 37 by a circuit (not shown) has value of u O  at the initial clock pulse (n=0), a value of -u O  at the next clock pulse (n=1) and is zero thereafter Mathematically this is denoted by (u 0  δ(n)-u 0  δ(n-1)). 
     The output of the summing device 38 on line 39 is supplied via a zero order hold device 40 and line 41 to an input of the unknown system 50. The zero order hold device is a circuit which responds to a digital input signal at the beginning of each clock interval, converts the value of the digital word to an analog voltage level, and then holds its output constant at that voltage level for the duration of the clock interval. The analog signal on line 41 is the control signal of system 50, which responds with an analog output signal on line 51. 
     The output on line 51 is sampled by a device 52, shown as a switch, which includes an analog-to-digital converter. The analog signal is sampled at the occurrence of each clock pulse at intervals T. The resulting digital word appears with the binary digits in parallel on line 53. This digital word, signal c n , is the feedback input to the Smart Controller, and is supplied to a minus input of a summing device 16. A digital command signal on line 11 is supplied via two delay devices 12 and 14 in tandem to plus input of the summing device 16. The output of the summing device 16 on line 17 is the error signal e n , and is multiplied in a device 18 by the value -1/u 0  and supplied via line 19 to a plus input of a summing device 20 The output of the summing device 20 on line 21, designated g n , is fed back via a delay device 22 and line 23 to another plus input. The output line 21 from the summing device 20 may be considered an &#34;identification terminal&#34;, and the signal g n  as an identification value. The first non-zero value of the signal on line 21 is stored in memory M1 in inverted form as 1/g 1 , and on successive clock pulses the values are stored (without inversion) as words g 2 , g.sub. 3, g 4 , . . . g N-1 , g N  in the memories M2, M3, M4 . . . MN-1, MN respectively. This requires some sort of steering circuit arrangement (not shown) controlled by the clock to steer the successive, words into the proper memory locations. 
     A functional block diagram of an optional input circuit for smoothing the command signal is shown in FIG. 1a. The analog command signal a&#39; is received on line 1, and converted to digital form by device 2 (similar to device 52). The digital word is then multiplied by a value (1-α) in device 4, and supplied to a plus input of a summing device 6. The output of device 6 is delayed one clock interval in device 8 and supplied to the line 11. The signal on line 11 is multiplied by the value α in device 10 and supplied to a plus input of the summing device 6. The signal (a) on line 11, delayed by two clock intervals in FIG. 1 and supplied to line 15, is the discrete-time command input r n . The value α (between 0 &amp; 1) is the inverse of a time constant, where a small value of α provides a fast rise. FIG. 1b is a graph of r n  as a function of n, showing the response to a step function in which the input on line 1 goes from zero to a&#39; at the initial time. The circuit of FIG. 1a prevents a sudden change of input command to the Smart Controller. 
     As shown by equation (22) in the paper by Applicants (Yeh et al) titled &#34;An Impulse-Response Adaptive Control System&#34; presented at the AIAA Guidance, Navigation and Control Conference, Monterey Calif., 17-20 August 1987; the input-output relation of the system for the value u n  on line 39 and the value c n  on line 53 is a summation which can be written 
     
         c.sub.n =g.sub.1 u.sub.n-1 +g.sub.2 u.sub.n-2 +g.sub.3 u.sub.n-3 +. . . +g.sub.n-1 u.sub.1 +g.sub.n u.sub.O 
    
     where g 1 , g 2 , . . . , g n  are unknown characteristics of the unknown system 50 being controlled, and are to be computed by the identifier piece-by-piece. 
     To explain the operation, it will be assumed that the circuit of FIG. 1a is used with the step function of value a&#39;. Just after the initial time (t=0 + ), the signal at the output of the device 6 is (1-α)a&#39;. All the other signal levels are zero, including r n  on line 15, c n  on line 53, e n  on line 17, and the contents of all of the memory locations and the shift register, except (or the inputs from line 37 to lines 39 and 41. Here the value u O  is supplied from line 37 via device 38 to line 39, converted to analog form in the device 40 and applied at line 41 as the input command to the system 50. 
     After the first clock pulse (n=1 and t=T + ), the signal (1-α)a&#39; which appears on line 11 is multiplied by α and added to the input (1-α)a&#39; to become (1-α 2 )a&#39; at line 7. The signal r n  at line 15 is still zero. The signal u O  has been applied to the system 50 for one sampling period T, providing the value (c 1  =g 1  u O ) on line 53 at the minus input of the summing device 16. The value of e 1  on line 17 is (-g 1  u O ), so that the signal at lines 19 and 21 is g 1 . The value loaded into the memory location M 1  is 1/g 1 . Since the output of device A2 is still zero, the command signal (1-α)a&#39; on line 11 appears via device A1 at the input of the multiplier P1, is multiplied by the word in memory M1, and is delayed by one time interval in device S1 to provide the signal (u 2  =(1-α)a&#39;/g 1 ) on line 01 for the next time. The signal from line 37 is now -u O . 
     After the second clock pulse (n=2 and t=2T + ) the signal on line 11 becomes (1-α 2 )a&#39;, the signal at the output of device 12 i (1-α)a&#39;, and the signal r n  at line 15 is still zero. The signal on line 53 at the minus input of the summing device 16 is 
     
         c.sub.2 =g.sub.2 u.sub.O +g.sub.1 u.sub.1, 
    
     where g 1  has been computed but g 2  is still unknown. Substituting u 1  =-u 0  and taking the negative gives on line 17 
     
         e.sub.2 =-c.sub.2 =-(g.sub.2 u.sub.0 -g.sub.1 u.sub.0)=u.sub.0 (g.sub.1 -g.sub.2), 
    
     and the signal at line 19 is (g 2  -g 1 ). The previous value g 1  from line 21 now appears at the output of device 22 on line 23 and is added to the value (g 2  -g 1 ) to give the value g 2  on line 21. This value g 2  is loaded into the memory location M2. The signal on line 01 is now u 2  =(1-α)a&#39;/g 1  and is applied at the input of the multiplier P2 (this signal u 2  also appears on line 39, since the signal on line 37 is now zero and remains zero). The output of the multiplier P2 is g 2  u 2 , and is applied via the summing device A2 to the minus input of the summing device A1. The command signal (1-α 2 )a&#39; on line 11 is added thereto to give ((1-α 2 )a&#39;-g 2  u 2 ) at the input of the multiplier P1, and the output of the multiplier P1 gives 
     
         u.sub.3 =((1-α.sup.2)a&#39;-g.sub.2 u.sub.2)/g.sub.1 
    
     which will appear on line 01 and line 39 for the next clock time. 
     After the third clock pulse (n=3 and t=3T + ), the signal on line 11 becomes (1-α 3 )a&#39;, the signal at the output of device 12 is (1-α 2 )a&#39;, and the signal r 3  at line 15 is (1-α)a&#39;. The signal on line 53 at the minus input of the summing device 16 is 
     
         c.sub.3 =g.sub.3 u.sub.0 +g.sub.2 u.sub.1 +g.sub.1 u.sub.2, 
    
     where g 3  is still unknown. Substituting 
     
         u.sub.2 =((1-α)a&#39;/g.sub.1), u.sub.1 =-u.sub.0, 
    
     and summing in device 16 gives on line 17 
     
         e.sub.3 =r.sub.3 -c.sub.3 =(1-α)a&#39;-(g.sub.3 u.sub.0 -g.sub.2 u.sub.0 +(1-α)a&#39;) =g.sub.2 u.sub.0 -g.sub.3 u.sub.0 
    
     and the signal at line 19 is (g 3  -g 2 ). The previous value g 2  from line 21 now appears at the output of device 22 on line 23 and is added to the value (g 3  -g 2 ) to give the value g 3  on line 21. This value g 3  is loaded into the memory location M3. The signal on line 01 is now u 3  and is applied at the input of the multiplier P2. The output of the multiplier P2 is g 2  u 3 , and the output of the multiplier P3 is g 3  u 2 , so the minus input of the summing device A1 is -(g 3  u 2  +g 2  u 3 ). The command signal (1-α 3 )a&#39; on line 11 is added thereto to give ((1-α 3 )a&#39;-(g 3  u 2  +g 2  u 3 ) ) at the input of the multiplier P1, and the output of the multiplier P1 gives 
     
         (u.sub.4 =((1-α.sup.2)a&#39;-(g.sub.3 u.sub.2 +g.sub.2 u.sub.3))/g.sub.1) 
    
     which will appear on line 01 and line 39 for the next clock time. 
     The above operation continues in response to successive clock pulses, until n is equal to N and t equals nT+. The memory locations M2, M3, M4 . . . MN-1 MN then will contain the digital words with values g 2 , g 3 , g 4  . . . g N-1 , g N  respectively, with the word in memory location Ml being 1/g 1 . The values of u n  have propagated through the shift register from device S1 through device SN-2 and the signal on line ON-2 is now u 3 . If f=1 for the multiplying device 46, the value on line 45 at the input of the multiplier PN is u 2 . The outputs (in general a combination of positive and negative values) of all of the multiplier devices P2 to PN are summed together and the sum applied to the minus inputs of the summing device A1. 
     THE UPDATING STAGE 
     When all the memory slots of the logical network are filled (n=N). the operation is switched over electronically to the update stage (FIG.2). In this stage, the logical network adjusts the contents in each memory slot after each sampling instant in such a way that each term in the convolution sum is increased in proportion to the output error This increases/decreases the next-step output if the error is positive/negative, and thus reduces the magnitude of the error. 
     Referring to the second-stage block diagram of FIG. 2, the Smart Controller in the update configuration still includes the memory locations Ml, M2, M3, M4 . . . MN-1, MN; the associated arithmetic multiplier units P1, P2, P3, P4 . . . PN-1, PN; the shift register serial stages S1, S2, S3, . . . SN-2; the summing device 42; delay unit 44; attenuation device 46; and summing devices A1, A2, A3, . . . AN-1; all connected as in stage 1 except for the inputs to the memory locations Also the command line 11 is connected to the summing device A1, the output of stage S1 is coupled via a summing device 38 and a zero order hold device 40 to an input of the unknown system 50, and the output on line 51 is sampled by the device 52 and supplied to a minus input of the summing device 16, as in stage 1. The digital command signal on line 11 is still supplied via two delay devices 12 and 14 in tandem to the plus input of the summing device 16. The starter signal on line 37 is now zero since n is greater than N 
     The input command line 1 and sampling device 2 can either be connected directly to line 11, or through the smoothing device of FIG. 1a to line 11. The configuration of FIG. 2, in addition comprises a plurality (N) of memory locations E1, E2, E3, . . . EN-1 EN; with associated arithmetic multiplier units D1, D2, D3, . . . DN-1, DN. The output of summing device 16 is multiplied by a factor b=(1/N) in a device 58 and supplied via a line 59 to minus inputs of a plurality of summing devices B1, B2, B3, . . . BN-1, BN. The line to the input of the multiplier P1 is coupled directly to a plus input of the summing device B1, and the lines from the outputs of the multipliers P2, P3, . . . PN-1, PN are coupled via respective delay devices C2, C3, . . . CN-1, CN to plus inputs of the summing devices B2, B3 . . . BN-1, BN respectively. The line 01 is coupled to the inputs of the memory locations E1 and E2; and the lines to the inputs of multiplier units P3, . . . PN-1, PN are also coupled to the inputs of the memory locations E3, . . . EN-1, EN respectively. The outputs of the multiplier units D1, D2, D3, . . . DN-1, DN are connected to the inputs of the memory locations M1, M2, M3, . . . MN-1, MN respectively. A number of synchronous electronic switching devices (not shown) are used to change from the configuration of FIG. 1 to the configuration of FIG. 2, actuated during the interval between the clock pulses at n=N and n=N+1, in response to a word being stored in the memory location MN from line 21 in FIG. 1. 
     In the operation after switching over to the update stage, the logical network adjusts the contents in each memory slot M1, M2, M3, . . . MN-1, MN after each clock pulse. The input signal words to the memory slots E1, E2, E3, . . . EN-1, EN are stored in inverted form. Thus the word u n  on line 01 is stored as 1/u n  in memory locations E1 and E2, the word u n-1  on line 02 is stored as 1/u n-1  in memory location E3, and so on up to the word u n-N+3  on line ON-2 being stored as 1/u n-N+3  in memory locations EN-1, and the word v n  on line 45 being stored as 1/v n  in memory locations EN in response to the clock pulse nT. 
     The digitized feedback signal c n  on line 53 is subtracted in device 16 from the command signal r n  delayed two clock intervals by devices 12 and 14 to provide the error signal e n  which is multiplied by the factor 1/N and supplied to the minus inputs of the summing devices B1, B2, B3, . . . BN-1, BN. In each feedback loop, there must be at least a time delay to account for the computation time which is provided in FIG. 2 by the devices C2, C3, . . . CN-1, CN. (Note that there is no device C1, as the multipliers P1 and D1 are not in a feedback loop.) The outputs of the summing devices B1, B2, B3, . . . BN-1, BN are multiplied in devices D1, D2, D3, . . . DN-1, DN respectively by the contents of the memory slots E1, E2, E3, . . . EN-1, EN respectively to update the contents of the memory slots M1, M2, M3, M4 . . . MN-1, MN respectively. The result is that each term in the convolution sum is increased in proportion to the output error. This increases the next-steP outPut if the error is positive, and decreases it if the error is negative, and thus reduces the maqnitude of the error. 
     ALTERNATIVES 
     Functions of the synchronous sequential network can also be realized by a microprocessor or a computer. In a microprocessor or computer realization, software or programmed computation is involved. The computation time required to generate the control variable for each sampling period is orders of magnitude longer than that of the logical network. The software version is also prone to numerical errors. The usefulness of the software version is thus limited to systems with low natural frequencies so that the sampling period can be long and the number of memory slots required for the impulse-response sequence can be few. 
     It is understood that certain modifications to the invention as described may be made, as might occur to one with skill in the field of the invention, within the scope of the appended claims. Therefore, all embodiments contemplated hereunder which achieve the objects of the present invention have not been shown in complete detail. Other embodiments may be developed without departing from the scope of the appended claims.