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. Universal Controller keeps the error between the output of the model and the output of the control system small, regardless of the transfer function of the controlled system by adjusting a number of gains in its internal feedback loop in accordance with that error. It therefore can be applied to an arbitrary electromechanical system without prior knowledge of its transfer function.

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 Universal Controller, for control of unknown systems via deconvolution; 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 the output of a model system driven by the same command signal that the Universal Controller receives. 
     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 unmodeled or unstructured dynamics. Unmodeled 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 Unmodeled Dynamics&#34; IEEE Transactions on Automatic Control Vol AC-30, pp 881-889, Sept. 1985) show that in the presence of unmodeled dynamics, a model reference adaptive control system becomes unstable if the reference input contains a high frequency sinusoid. Instability also occurs of 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 presence of unmodeled 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 unmodeled 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. Model Algorithmic Control (MAC), described in the Larimore &amp; Mahmood Report, assumes that the unit-impulse response sequence of the controlled system (the plant) be 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 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. 
     Jones et al in U.S. Pat. No. 4,663,704 show a universal process control device which combines both control and data acquisition functions. Rake et al in U.S. Pat. No. 4,639,853 teach an adaptive controller of a continuous time process which includes prediction and parameter estimation. In column 1 the Rake et al patent speaks of establishing a process model by known parameter estimation methods. Courtiol in U.S. Pat. No. 4,795,799 discloses a process control arrangement employing the deviation between the output vectors of a reference model and of the process employed. The process in this patent follows the reference model without it being necessary to know the relationship between the input variables and the output variables. Mitsuoka in U.S. Pat. No. 4,437,045 discusses a servo control system in which a reference model 2 is in parallel with a final control element 1. Adaptive control is obtained based upon the difference between the outputs of the final control element and the reference model. Pfersch in U.S. Pat. No. 3,361,394 controls an aircraft in response to gain adjusted error signals. Sumano et al in U.S. Pat. No. 4,577,270  et al control a plant with a model constructed using a Kalman filter. 
     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, valuely known, or even unknown to the control designer, and may even vary with time. 
     The invention relates to a logical network (called Universal Controller) which, when interfaced with a mechanical system or an electromechanical system, will cause the output variable of the system to closely follow the output of a model system driven by the same command signal that the Universal Controller receives. It comprises shift registers, memory banks accumulators, arithmetic units and preferably no software. 
     Universal Controller keeps the error between the output of the model and the output of the controlled system small, regardless of the transfer function of the controlled system by adjusting a number of gains in its internal feedback loop in accordance with that error. It therefore can be applied to an arbitrary electromechanical system without prior knowledge of its transfer function. Hence, the name Universal Controller. 
     In the preferred embodiment, the Universal 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 Universal Controller to any practical electromechanical system with fast sampling. The main feature of the Universal Controller is that it can be applied to an arbitrary electromechanical system with unknown transfer function. The Universal Controller will learn about the unknown system by adjusting the gains in its internal feedback loops in accordance with the difference between the system output and the model output, while keeping that error minimal at the same 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 Universal Controller. 
     The speed of the Universal 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. 
     FIG. 2 is a general block diagram of a self-adaptive control system by deconvolution, as covered in a co-pending patent application; and 
     FIG. 3 is a more general block diagram of the model reference control system of FIG. 1. 
    
    
     DETAILED DESCRIPTION 
     Application of the Universal 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;Control of Unknown Systems Via Deconvolution&#34;, presented at the 26th IEEE Conference on Decision &amp; Control, Los Angeles, Calif., 9-11 Dec. 1987. A related system called Smart Controller by the same applicants is covered by a copending patent application Ser. No. 229,590, filed Aug. 8, 1988, and is described in a paper with the same authors titled &#34;An Impulse-Response Adaptive Control System&#34; presented at the AIAA Guidance, Navigation and Control Conference, Monterey, Calif., 17-20 Aug. 1987. The two papers and the related patent application are hereby incorporated by reference, and copies of the two papers are included with this application as filed. 
     The logical network (synchronous sequential network) describing the Universal Controller is shown given in the drawing, 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 
     α: a parameter in the model system, between 0 and 1, to be selected by the user 
     a 0  : 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 deconvolution 
     G m  (z): transfer function of the model 
     y(z): model output 
     e m  (n): output error 
     Universal Controller passes the feedback error e(n)=r(n)-c(n) through an amplifier 74 and a delay unit 76 and uses a deconvolution generator 100 to deconvolute the resultant signal on line 77 with the model error on line 95 to give the optimal control variable (The gain of amplifier 74 is related to the starter signal on line 37 and a model system 80). This control signal on line 39 maintains the output error on line 95 at 
     
         e.sub.m (n)==a.sub.o [(g.sub.n -g.sub.n-3)-α(g.sub.n-1 -g.sub.n-3)] 
    
     where g n  is the nth element in the unit-impulse response of the unknown plant 50. Since most digital control systems are sampled at far greater rates than the natural frequencies of the controlled systems, g n  -g n-3  and g n-1  -g n-3  are small, and g n  vanishes with increasing n if the uncontrolled system is stable. To reduce e m  (n) further, the user may arbitrarily choose a smaller a o , as long as the inverse of first nonzero element of the error sequence e m  (n) is not so large as to preclude the implementation of the deconvolution generator 100. In this fashion, the Universal Controller makes the output of an arbitrary unknown system 50 follow the output of a model system 80 driven by the same command signal that the Universal Controller receives. 
     Note that while the unknown system 50 is analog, the Universal Controller is digital with the devices and the lines interconnecting them handling words with binary digits in parallel, a typical word length being sixteen or thirty-two binary digits, depending on the accuracy desired. A clock 10 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 deconvolution generator 100 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 O1, 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 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 line 77. A summing device 38 has one plus input from the output of the first shift register stage S1 on line O1, and another plus input from line 37. The signal supplied at line 37 by a circuit (not shown) has a value of a 0  at the initial clock pulse (n=0), a value of -αa 0  at the next clock pulse (n=1) and is zero thereafter. Mathematically this is denoted by (a 0  δ(n)-αa 0  δ(n-1)). 
     The output u(n) 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 u(t) of system 50, which responds with an analog output signal u(t) 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 Universal Controller, and is supplied to a minus input of a summing device 72. (In FIG. 1 the digital output line 53 is shown connected via dashes to the feedback line 53&#39;, since in general a feedback unit 102 shown in FIG. 3 may be inserted here to provide a feedback factor H. In the embodiment of FIG. 1, H is equal to one, which corresponds to a direct connection.) A digital command signal r(n) on line 11 is connected to a plus input of the summing device 72. The output of the summing device 72 on line 73 is an error signal e(n) which is supplied to a unit 74, where it is multiplied by a factor (1-α)a 0 . The output of unit 74 is coupled via a delay device 76 and line 77 to the plus input of the summing device A1. 
     Line 11 is also connected to an input of a model system 80, and in the system 80 via two delay devices 82 and 84 to a plus input of a summing device 86. The output of the summing device 86 is coupled via a delay device 88 to the inputs of two units 90 and 92. In unit 90 the signal is multiplied by a factor α, and the output is connected to another plus input of the summing device 86 to form a feedback loop. In unit 92 the signal is multiplied by a factor (1-α) to provide the output signal y m  of the model system 80 on line 93, which is connected to a minus input of a summing device 94. 
     The summing device 94 has a plus input from line 53 for the digital signal c(n). Its output on line 95 provides a model-difference signal e m  (n), which is equal to (c(n)-y m  (n)). 
     The circuit 100 between line 77 and device 38 is a deconvolution generator, which deconvolutes the signal supplied at line 77 with the model-difference signal at line 95 to give the control signal at line 39. The first non-zero value of the signal on line 95 is stored in memory M1 in inverted form as 1/e m  (1), and on successive clock pulses the values are stored without inversion) as words e m  (2), e m  (3), e m  (4), . . . e m  ( N-1 ), e m  ( 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. 
     
         e.sub.m (n)==a.sub.o [(g.sub.n -g.sub.n-2)-α(g.sub.n-1 -g.sub.n-2)] 
    
     OPERATION 
     To explain the operation, assume a step signal r(n) at line 11 which at time t=0 has a value zero, and just after the initial time (t=0 + ) and all clock pulses thereafter (t=nT + , n≧0), has a value &#34;one&#34;. At the time (t=0 + ), the value of c(0) on line 53 is zero. Therefore the signal on line 73 is 1, which is amplified through device 74 to supply an input of (1-α)a 0  to the delay unit 76. The starter signal as line 37 is a 0 . The signal at the input of summing device 38 is &#34;zero&#34;. Therefore the signal at line 39 is a 0 , which is converted to analog form in the device 40 and applied at line 41 as an initial input to the system 50. All the other signal levels are &#34;zero&#34; at t=0 + , including e m  (0) on line 95, the signal levels at the outputs of all the delay units, and the contents of all of the memory locations and the shift registers. 
     After the first clock pulse (n=1 and t=T + ), the signal r n  which appears on line 11 is again &#34;one&#34;, and is assumed to remain &#34;one&#34; from here on. The signal a 0  has been applied to the system 50 for one sampling period T. providing the value c 1  =g 1  a 0  on line 53 at the minus input of the summing device 72 and the plus input of the summing device 94. Since the signal on line 93 is still &#34;zero&#34;, the value loaded into the memory location M1 is 1/g 1  a 0 . The value on line 73 is 1-g 1  a 0 , which is amplified through the device 74 to supply a signal of (1-α)a 0  (1-g 1  a 0 ), to the delay unit 76. The output of unit 76 is now (1-α)a 0 , which was the input to unit 76 at the previous clock pulse. Since the signal at the minus input of the summing device A1 is &#34;zero&#34;, the output thereof to multiplier P1 is (1-α)a 0 , which is multiplied by 1/g 1  a 0  to give (1-α)/g 1  at the input of the shift register stage S1. This signal may be denoted as u 2 , namely, 
     
         u.sub.2 =(1-α)/g.sub.1 
    
     which will appear at the output of device S1 after the next clock pulse. At the present time, the output of device S1 is &#34;zero&#34;, and the signal level at lines 37, 39 and 41 is -αa 0 . 
     After the second clock pulse (n=2 and t=2T + ), the digital output of the system 50 at line 53 is g 2  a 0  +g 1  (-αa 0 ), where g 1  and g 2  are unknown characteristics of the system being controlled. In the model system 80, the signal levels at the outputs of devices 82, 84 and 86 are &#34;one&#34; and the signal at the output of device 88 is &#34;zero&#34;. Therefore, the signal at line 93 is &#34;zero&#34;. Hence the value loaded into the memory M2 is (g 2  -αg 1 )a 0 , which is the signal level at line 95. The signal at line 73 is 1-(g 2  -αg 1 )a 0 , which is amplified through the device 74 to supply a signal of (1-α)a 0  [1-(g 2  -αg 1 )a 0  ] to the delay unit 76. The signal at line 77 is now (1-α)a 0  (1-g 1  a.sub. 0). The signal level at line O1 is (1-α)/g 1 , which is multiplied by the content of memory M2 to give an input (1-α)(g 2  -αg 1 )a 0  /g 1  to the summing device A2. The output of device A3 is still &#34;zero&#34; because the signal at the output of device S2 is &#34;zero&#34;. Therefore, the signal level at the minus input of device A1 is again (1-α)(g 2  -αg 1 )a 0  /g 1 . The signal at the input of multiplier P1 is now (1-α)a 0  [1-g 1  a 0  -(g 2  -αg 1 )/g 1  ], which is multiplied by the content of memory M1 and then input to device S1. The input signal at device S1 may be denoted by u 3 , which is found to be: 
     
         u.sub.3 =(1-α)[1-g.sub.1 a.sub.0 -(g.sub.2 -αg.sub.1)/g.sub.1 ]/g.sub.1 
    
     which will appear on line O1 at the output of device S1 after the next clock pulse. The signal level at line 37 is now &#34;zero&#34; and will remain &#34;zero&#34; from here on. The signal level at lines 39 and 41 is thus (1-α)/g 1 , which is the same as the signal level at line O1. 
     After the third clock pulse (n=3 and t=3T + ) the digital output of the system 50 at line 53 is g 3  a 0  +g 2  (-αa 0 )+[(1-α)/g 1  ], where g 1 , g 2  and g 3  are unknown characteristics of the system being controlled. In the model system 80, the signal levels at the outputs of devices 82, 84 and 88 are &#34;one&#34; (which is the previous signal level at the inputs of these delay units), and the signal at the input of device 88 is 1+α. Therefore, the signal at line 93 is 1-α. Hence the value loaded into the memory M3 is (g 3  -αg 1 )a 0 , which is the signal level at line 95. The signal at line 73 is α-(g 3  -αg 2 )a 0 , which is the difference between the signal at line 11 and the signal at line 53, and which is amplified through the device 74 to supply a signal of (1-α)a 0  [1-(g 3  -αg 2 )a 0  ] to the delay unit 76. The signal at line 77 is now (1-α)a 0  [1(g 2  -αg 1 )a 0  ]. The signal level at line O1 is (1-α)[1-g 1  a 0  -(g 2  -αg 1 )/g 1  ]/g 1 , which is multiplied by the content of memory M2 to give (1-α)a 0  [1-g 1  a 0   1  -(g 2  -αg 1 )/g 1  ](g 2  -αg 1 )/g 1  as the output of multiplier P2. The output of device S2 is now(1-α)/g 1 , which is multiplied by the content of memory M3 to give (1-α)a 0  (g 3  -αg 2 )/g 1  as the output of multiplier P3. The output of device A4 is still &#34;zero&#34; because the signal at the output of device S3 is &#34;zero&#34;. Therefore, the signal level at the minus input of device A1 is the sum of the outputs of devices P3 and P2, which is 
     (1-α)a 0  [(g 3  -αg 2 )/g 1  +(1-g 1  a 0 )(g 2  -αg 1 )/ g 1  -(g 2  -αg 1 ) 2  /g 1   2 . The signal level at the input of multiplier P1 is now (1-α)a 0  [1-(g 3  -αg 2 )/g 1  -(g 2  -αg 1 )/g 1  +(g 2  -αg 1 ) 2  /g 1   2  ], which is multiplied by the content of memory M1 to give an input u 4  to device S1, where u 4  is found to be: 
     
         u.sub.4 =(1-α)[1-(g.sub.1 -αg.sub.2)/g.sub.1 -(g.sub.2 -αg.sub.1)/g.sub.1 +(g.sub.2 -αg.sub.1).sup.2 ]/g.sub.1. 
    
     This signal will appear on lines O1, 39 and 41 immediately after the next clock pulse. 
     After the fourth clock pulse (n=4 and t=4T + ), the digital output of the system 50 at line 53 is 
     
         c(4)=g.sub.4 a.sub.0 +g.sub.3 (-αa.sub.0)+g.sub.2 [(1-α)/g.sub.1 ]+g.sub.1 (1-α)[(1-g.sub.1 a.sub.0 -(g.sub.2 -αg.sub.1)/g.sub.1 ]/g.sub.1, =1-α.sup.2 +a.sub.0 (g.sub.4 -g.sub.1)-αa.sub.0 (g.sub.3 -g.sub.1) 
    
     where g 1 , g 2 , g 3  and g 4  are unknown characteristics of the system being controlled. In the model system 80 the signal levels at the outputs of devices 82 and 84 are &#34;one&#34; (which is the previous signal level at the inputs of these delay units), the signal level at the output of device 88 is 1+α, (the previous level at its input), and the signal at the input of device 88 is 1+α+a 2 . Therefore, the signal at line 93 is 1-α 2 . Hence the value loaded into the memory M4 is a 0  (g 4  -g 1 )-αa 0  (g 3  -g 1 ), which is the signal level at line 95. The signal at line 73 is a 2  -a 0  (g 4  -g 1 )+αa 0  (g 3  -g 1 ), which is the difference between the signal at line 11 and the signal at line 53, and which is amplified through the device 74 to supply a signal of (1-α)a 0  [α 2  -a 0  (g 4  -g 1 )+αa 0  (g 3  - g   1 )] to the delay unit 76. The signal level at line 77 is now (1-α)a 0  [α-(g 3  -αg 2 )a 0  ]. The signal level at line O1 is now 
     (1-α)[1-(g 3  -αa 2 )/g 1  -(g 2  -αg 1 )/g 1  +(g 2  -αg 1 ) 2  /g 1   2  ]/g 1 . which is multiplied by the content of memory M2 to give 
     (1-α)(g 2  -αg 1 )a 0  [1-(g 3  -αg 1 )/g 1  -(g 2  -αg 1 ) /g 1  +(g 2  -αg 1 ) 2  /g 1   2  ]/g 1 , (g 2  -g 1 ) 2  /g 1   2  ]/g 1 , as the output of multiplier P2. The output of device S2 is now 
     (1-α)[1-g 1  a 0  -(g 2  -αg 1 )/g 1  ]/g 1 , which is multiplied by the content of memory M3 to give a 0  (g 3  -αg 2 )(1-α)[1-g 1  a 0  -(g 2  -αg 1 )/g 1  ]/g 1  as the output of multiplier P3. The output of device S3 now is (1-α)/g 1 , which is multiplied by the content of memory M4 to give a 0  [(g 4  -g 1 )-α(g 3  -g 1 )](1-α)/g 1  as the output of multiplier P4. The output of device A5 is still &#34;zero&#34; because the signal at the output of device S4 is &#34;zero&#34;. Therefore, the signal level at the minus input of device A1 is the sum of the outputs of devices P4, P3 and P2. The signal level at the input of multiplier P1 is the difference between the signal on line 77 and the signal at minus input of device A1. The signal at the input of device S1 is the product of the signal at the output of device A1 and the content of memory M1. This signal is denoted by u 5  and can be expressed as: ##EQU1## This signal will appear on lines O1, 39 and 41 immediately after the next clock pulse. 
     After the fifth clock pulse (n=5 and t=5T + ), the digital output of the system 50 at line 53 is 
     
         c(5)=g.sub.5 a.sub.0 -g.sub.4 αa.sub.0 +g.sub.3 u.sub.2 +g.sub.2 u.sub.3 +g.sub.1 u.sub.4, 
    
     and the output of the model system 80 at line 93 is: 
     
         y.sub.m (5)=1-α.sup.3. 
    
     The difference between the model output and the system output is: 
     
         e.sub.m (5)=a.sub.0 [g.sub.5 -g.sub.2 -α(g.sub.4 -g.sub.2)], 
    
     which is loaded into memory M5. Continuing in this fashion, one can see that after the nth clock pulse, the output of the model 80 at line 93 is: 
     
         y.sub.m (n)=1-α.sup.n-2, 
    
     and the difference between the model output at line 93 and the system output at line 53, as measured at 95 is= 
     
         e.sub.m (n)=a.sub.0 [g.sub.n -g.sub.n-3 -α(g.sub.n-1 -g.sub.n-3)]. 
    
     The digital output of the system 50 at line 53 is 
     
         c(n)=g.sub.n a.sub.0 -g.sub.n-1 αa.sub.0 +g.sub.n-2 u.sub.2 + . . . +g.sub.2 u.sub.n-2 +g.sub.1 u.sub.n-1. 
    
     NOTES 
     Note that the characteristics of the controlled system, g 1 , g 2 , g 3 , . . . g n  need not be known. The fact that e m  (n) diminishes as n increases is guaranteed by the convergence of the g n  sequence and the smallness of a 0 . The smallness of the sampling period (the interval between the clock pulses) also contributes to the smallness of e m  (n) by making (g n  -g n-3 ) and (g n-1  -g n-3 ) small. When n is greater than N (the number of memory locations) the controller stores no more new output errors but in effect approximates e m  (n) by f n-N  e m  (N). This can be done because for sufficiently large N (i.e., the transient response of the controlled system occurred within NT), e m  (n) is sufficiently small so that the would-be contribution to the next-step control u n+1  by e m  (n) is insignificant, and the slight error introduced by the approximation is compensated by the feedback control loop. 
     The parameter α determines the speed of response of the model system to the reference input. To see this, let the input (r) be a constant &#34;one&#34;. The output of the model immediately after the nth clock pulse is 
     y m  (0)=y m  (1)=0 
     y m  (n)=1-α n-2  ; for n≧2 
     We see that as long as 0&lt;α&lt;1, y m  (n) approaches 1 as n increases. The larger the value of α(say α=0.99999), the slower the output y m  (n) approaches the final value of 1. If α=0.1, then at n=3 the output of the model is already 90% of the final value, and at n=4, 99.9%. Thus α=0.1 gives a very fast model for a lot of applications. We want the controlled system to perform like the model system, and we adjust α in devices 90 and 92 to get the kind of model we want. The factor (1-α) in unit 74 lets the controller know what kind of model system it is following. 
     The above explanation of the operation assumed value of r(n)=1 after t=0. For values of r(n) in general, the equations are ##EQU2## 
     The fact that the output error e m  (n) is independent of the input r(n) is a significant feature of the invention. Another feature is that it is not necessary to know the plant transfer function in order to make e m  (n) small and quickly vanishing. Still another feature is the fact that this algorithm can be implemented by a simple logical network without software. 
     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. 
     CONTROL VIA DECONVOLUTION 
     FIGS. 2 and 3 are block diagrams of two systems which use real-time deconvolution to generate a desired control signal to an unknown plant, in a feedback configuration. FIG. 2 shows a system using self-adaptive control, as covered by our co-pending patent application titled &#34;Smart Controller&#34;, Ser. No. 07/229,590 filed Aug. 8, 1988. FIG. 3 shows a &#34;Universal Controller&#34; system using model reference control as described herein and shown in more detail in FIG. 1. In both systems a deconvolution generator 100 provides a digital control signal u(n) which is converted to an analog signal via a zero order hold unit 40 to control the unknown system 50. A continuous output signal c(t) is converted to a digital signal c(n) to provide a feedback signal which is subtracted from a digital reference signal r(n) to provide an error signal e(n), and this error signal is used to generate an input signal to the deconvolution generator. In both systems, a starter signal is supplied as an initial control signal to the unknown system, via a summing device 38 coupled between the out of the deconvolution generator and the zero hold unit. 
     In the self-adaptive control system of FIG. 2, the error signal e(n) is processed in an identification unit 24 to provide an identification signal g(n) to the deconvolution generator 100. The input command line is connected directly to the deconvolution generator, and via a delay unit 12 to provide the reference signal r(n) with two time delays. The feedback signal c(n) is subtracted from the reference signal r(n) in a summing device 16. 
     In the model reference system of FIG. 3, the error signal is coupled via an error processor unit 70 to the deconvolution generator. The signal on the command line 11 is used as the reference signal r(n), which is used as an input to a summing device 72, and also to the model system 80. The output signal y m  (n) from the model system 80 is subtracted in the summing device 94 from the signal c(n) to provide one input to the deconvolution generator 100. FIG. 3 shows a feedback unit 102, having a feedback factor h (in FIG. 1 h is made equal to &#34;one&#34; to reduce the number of adjustable parameters, and a direct connection is shown for the digital signal from device 52 to device 72). The feedback signal is subtracted from the reference signal r(n) in the summing device 72, to provide the error signal e(n) which is coupled via a unit 70 to provide another input to the deconvolution generator. 
     If the feedback factor is chosen as H=1-α, then e m  =a 0  [g n  -αg n-1  -g n-3  ]. 
     If the feedback factor is chosen as H=α/(1-α), then e m  =a 0  [g n  -α(g n-1  -g n-3 )]. 
     Both cases give good control systems with simpler formulas for e m  (n), but neither has an undisputed advantage over the choice of H=1. It was therefore decided to use H=1 for the embodiment of FIG. 1. 
     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.