The present disclosure relates to an endoluminal prosthesis, such as a stent graft that includes one or more fenestrations to accommodate endovascular disease, such as an aneurysm in cases where one or more side branches is involved. In one aspect, the prosthesis includes fenestrations that are pivotable to accommodate the dynamic geometry of the aortic branches.

The functional vessels of human and animal bodies, such as blood vessels and ducts, occasionally weaken or even rupture. For example, the aortic wall can weaken, resulting in an aneurysm, or it may develop a tear in one of the layers of the aortic wall resulting in an aortic dissection.
One common surgical intervention for weakened, aneurysmal or ruptured passageways or ducts involves the use of an endoluminal prosthesis to provide some or all of the functionality of the original, healthy passageway or duct and/or preserve any remaining vascular integrity by replacing a length of the existing passageway or duct wall that spans the site of failure or defect. Endoluminal prostheses may be of a unitary construction or may be comprised of multiple prosthetic modules. They also may be a single tubular device or a bifurcated branching device depending on the desired application.
In many cases, however, the damaged or defected portion of the vasculature may include a branch vessel branching from the main vessel. For example, in the case of the abdominal aorta, there are at least three major branch vessels, including the celiac, mesenteric, and renal arteries, as well as other others, leading to various other body organs. Thus, when the damaged portion of the vessel includes one or more of these branch vessels, some accommodation must be made to ensure that the prosthesis does not block or hinder blood flow through the branch vessel. In many instances, there may in insufficient healthy tissue in the aorta near the branching vessels adequately seal a prosthesis without partially or completely blocking one or more of the branching vessels.


A method and apparatus for attaching a set of components to a printed circuit board is presented. A second board includes the set of components to be attached to the printed circuit board. The second board attaches directly to the printed circuit board by attaching to pins of a through hole device, such as an application specific integrated circuit. The through hole device is mounted on one side of the printed circuit board. The through hole device comprises pins which protrude to the other side of the printed circuit board. The second board attaches to the protruding pins on the other side of the printed circuit board.

This invention relates generally to a printed circuit board, and more particularly to attaching one or more electrical circuit components to another electrical circuit component included on a printed circuit board.
As it is known in the art, a printed circuit board generally includes components, specifically electrical circuit components such as computer chips, resistors, capacitors and application specific integrated circuits. Producing the printed circuit board typically includes designing the printed circuit board by laying out various components and appropriately connecting the various components together. Once the design of the printed circuit board is complete, a large quantity of printed circuit boards is generally manufactured in accordance with the design. Large amounts of money, in terms of engineering and manufacturing time and resources, are typically expended to design and manufacture printed circuit boards.
Problems may arise when a printed circuit board needs modification. Modifications may be needed for a number of reasons. For example, a modification may be necessary to correct a problem with a component on the printed circuit board by adding other components, such as a plurality of capacitors and resistors.
Other modifications may be necessary to acquire additional functionality. For example, if a printed circuit board is included as part of a computer system, additional functionality may be achieved by adding a plurality of computer chips to an existing printed circuit board.
Adding components to a printed circuit board is typically done by hand soldering each additional component to the printed circuit board. In another technique, the additional components are glued on one side of printed circuit board and then each additional component is wired to another component on the printed circuit board.
Hand soldering and gluing the electrical components may not be suitable when adding a large quantity of components or when adding components that require connecting a large number of pins. In this case, these two methods may increase manufacturing cost and time.
Reliability and quality may also decrease since these two methods of attaching the additional components increase the chance for human error. Also, the attached components may protrude from the printed circuit board and may be disconnected from the printed circuit board as a result of physical movement or contact with other objects.
These two methods may impose an unacceptable restriction by not allowing an additional component to be placed in close physical proximity to another component, as may be required for example, for a correction in which additional capacitors are added to achieve a dampening effect. The dampening effect of a capacitor diminishes as the physical distance between the capacitor and the source to be dampened increases.
An alternative technique includes designing a new lay out of the printed circuit board to include the additional components while minimizing the distance between each additional component and its corresponding component.
Typically, a new layout may not be a feasible solution to incorporate a modification to a printed circuit board for a number of reasons. One reason may be due to time constraints. Typically, to meet production deadlines and schedules, there is insufficient time to layout a new design and to produce new printed circuit boards based on the new design. Too much additional time is required for this redesign and remanufacture a printed circuit board. Another reason may be due to cost constraints. For example, the money and time invested in the existing printed circuit board is wasted. Specifically, any printed circuit boards previously manufactured may be scrapped thereby greatly increasing costs in addition to not meeting existing production deadlines.

Method for simplified and compact component addition to a printed circuit board


Provided is a writing tool with an anti-drying device, comprising a pen holder (110), a pen tip (1) arranged in the pen holder (110), an ink cartridge (130) and a pressing rod (150). The writing tool with the anti-drying device further comprises an anti-drying device (200), wherein the anti-drying device (200) comprises a switch sleeve (210), a lifting cap (220), a tapping spring (214), a rotatable sealing cap (230), a sealing pad (240) and a support spring (244). The switch sleeve (210) is inserted in the pen holder (110), an elastic part (211) is respectively arranged on each of the two sides of the upper end of the switch sleeve (210), the switch sleeve (210) is further provided with a lifting groove (212) extending to be distributed on the elastic part (211), a rotating groove (213) is arranged on the side of the lower end of the switch sleeve (210); the lifting cap (220) is inserted in the switch cover (210), a support protrusion (221) is respectively arranged on each of the two sides of the upper end of the lifting cap (220), and the rotatable sealing cap (230) is used for turning so as to open or close an access hole (241).

Retractable press type fluorescents or markers are a type of water-based or volatile ink pen which have a button on the top, by clicking downward it, a pen tip is retracted or extends outside.
In order to prevent the ink from drying out, Korean Patent No. 10-0556569 discloses a writing instrument with an anti-dry structure, where the anti-dry structure is rotatably provided at one side inside a bottom of a penholder to prevent a pen tip from exposing to air flowing therein.
However, in order to functionally open and close an opening where the pen tip extends out or is retracted, the rotatable part of the writing instrument closely attaches to an inner wall of the bottom end of the penholder, this arrangement causes that it is incapable of smoothly rotating due to friction force therebetween, and further leading to worn-out or broken-down of the rotatable part, which may worsen sealing effect and fail to prevent inks from drying out.
In order to prevent the ink from drying out, especially to block air from flowing into a pen-tip end of a pen-tip tube body connected to the pen tip within an ink cartridge, a rubber ring in contact with the pen-tip tube body is provided in the prior art. But the retractable ink cartridge and rubber ring may rub against each other and obstruct the pen tip.


Method for the modification of the software procedures of a communications system. In modern communications systems, errors arising in the software procedures must be rapidly removed. The method effects this through the efficient insertion of required modifications, under the control of a higher-order control program.

The present invention relates to a method for the insertion of modifications into software procedures in communication systems.
In modern communications systems, besides a higher processing speed, there is a demand for availability to all subscribers at all times. This has the consequence that, for example, a communications system cannot be shut down for removal of software errors, as is the case for other data processing equipment. For this reason, methods have been developed that enable a rapid installation at short notice of small modifications in the software procedures of the communications system. With these patches, as they are known, small software modifications can be rapidly and efficiently brought about.
For simpler logical coding errors, the faulty code is thereby simply overwritten. However, if additional code must also be added during the execution of the program, the installed patch is connected with what is called a "knapsack." This contains the additional programming code required for the removal of the logical error. The correction of the modified programming code occurs during subsequent execution in that the procedure branches to the installed knapsack at the corresponding modification point, and after execution of the same, a jump back to the original programming code takes place. This process is controlled via an allocated patch management that is implemented as a data library. The addresses of the knapsacks allocated to the patches are stored therein in table form.
European patent application EP 0 492 251 describes a method for the installation at short notice of error corrections in the software procedures of a communications system. It is disclosed therein how a patch is installed by high-priority patch processes, with exclusive reservation of the relevant processors. However, it is not disclosed or taught how patches are installed in software structures having generic modules or having reusable modules.

Method for modifying the software procedures of a communications system


A brushless motor accommodated within a case and having mounted on a substrate rotor speed detection sensors and a monolithic integrated circuit which includes an inverter for driving the rotor, drive circuits for driving the inverter, power source circuit for supplying a power required by each circuit, circuits for controlling the speed of the rotor and a protection circuit for protecting the inverter from excess current.

The present invention relates to a motor which is suitable for application as the motor for driving a fan for a room air conditioner or the like, and, more particularly, to a brushless motor incorporating an inverter which enables variable speed control.
Recently, as shown in "Japan Radio Newspaper" on Mar. 22, 1990, a high-voltage single chip three-phase inverter (hereinafter referred to as a one-chip three-phase inverter) has been developed which controls the speed of a motor by utilizing a direct power source voltage that is obtained by rectifying and smoothing a commercial AC voltage of 100 (V). The one-chip three-phase inverter is extremely small as compared with the conventional inverter and can be housed in a motor.
As shown in FIG. 1A, this three-phase one-chip inverter has a structure such that polysilicon is used as the base or substrate, and the area of each phase inverter portion is formed in a respectively separate region and is isolated by a dielectric layer, such as SiO.sub.2, and has a high withstand voltage.
The circuits in the two-dotted line of FIG. 2 are integrated on the one-chip.
FIG. 1B is a plan view showing the layout of each element of the one-chip three-phase inverter. As is clear from this diagram, this one-chip three-phase inverter comprises, in a single chip integrated circuit, six switching transistors 2 as main elements, a diode 1 for turning off the switching transistors 2 connected between the collector and the emitter of each of the switching transistors 2, a logic circuit 6 for forming a switching signal for turning on and off each of the switching transistors 2, a drive circuit 3 for on- and off- driving each switching transistor with this switching signal, an excess current protection circuit 5 for preventing the integrated circuit from being destroyed by an excess current, by detecting a current that flows through the switching transistors 2, and an internal power source 4. The integrated circuit element of the one-chip three-phase inverter has the dimensions of a 4.3 mm length and a 5.8 mm width.
In the one-chip three-phase inverter explained above, a lateral Insulated Gate Bipolar Transistor (IGBT) has been developed and employed as the switching transistor 2 to have a substantially reduced area as compared with the conventional power MOSFET. At the same time, a high-speed diode has been newly developed and employed that can be prepared in the same process as that of the lateral IGBT, so that an inverse recovery current is reduced substantially thereby to reduce substantially the switching loss of the switching transistors 2 due to inverse recovery current. Further, a power source circuit is incorporated in the one-chip three-phase inverter to require only one external power source for driving the switching transistors 2 that form the power element. The excess current protection circuit 5 is also incorporated in the one-chip three-phase inverter to prevent the integrated circuit from being destroyed by an excess current that is generated by short-circuiting of a load or the like. Further, the inverter frequency is set to 20 KHz which is higher than an audio frequency so that noise of the motor can be reduced substantially.
FIG. 2 is a block diagram showing a brushless motor that uses the one-chip three-phase inverter as described above. 7A, 7B and 7C designate Hall device sensors, 8 a sensor amplifier, 9 a speed signal formation circuit, 10 a speed correction circuit, 11 a pulse width modulation (PWM) signal formation circuit, 12 a start current limit circuit, 13 an oscillation circuit, 14 a stator, 15 the above-described one-chip three-phase inverter, and 16 an external power source.
Referring to FIG. 2, when a commercial AC voltage of 100 (V) is applied to the external power source 16, a DC power source voltage (VI) is applied to each circuit from the external power source 16. By applying a voltage (VZ) for a signal, the oscillation circuit 13 is started. When a speed command is given to the speed correction circuit 10 from an external circuit, the drive circuit 3 on- and off- drives each of the switching transistors 2 sequentially according to signals generated from the logic circuit 6. Then, a current flows to each coil provided in the stator 14 in a predetermined direction, so that a rotor; not shown, starts rotation to start the motor.
When the motor is started, the start current limit circuit 12 controls the PWM signal formation circuit 11 based on the result of detection by the excess current protection circuit 5 so that the start current flowing through each switching transistor 2 is not excessive, thereby to adjust the duty ratio of the PWM signal.
Assume that the switching transistors 2 are expressed as Q.sub.1, Q.sub.2, Q.sub.3, Q.sub.4, Q.sub.5 and Q.sub.6 and the diodes 1 to be connected to these switching transistors 2 are expressed as D.sub.1, D.sub.2, D.sub.3, D.sub.4, D.sub.5 and D.sub.6. Then, the collectors of the switching transistors Q.sub.1 to Q.sub.3 are connected to the + terminal of the external power source 16 and the emitters of the switching transistors Q.sub.4 to Q.sub.6 are connected to the terminal of the external power source 16. The emitter of the switching transistor Q.sub.1 and the collector of the switching transistor Q.sub.4 are connected to the first coil provided in the stator 14. Similarly, the emitter of the switching transistor Q.sub.2 and the collector of the switching transistor Q.sub.5 are connected to the second coil, and the emitter of the switching transistor Q.sub.3 and the collector of the switching transistor Q.sub.6 are connected to the third coil.
The drive circuit 3 turns on the switching transistors Q.sub.1, Q.sub.2 and Q.sub.3 sequentially at an electrical angle of every 120 degrees, and turns on the switching transistors Q.sub.4, Q.sub.5 and Q.sub.6 sequentially by chopping with a PWM signal at an electrical angle of every 120 degrees. The driving timings of the switching transistors Q.sub.1 to Q.sub.6 are shown as Q.sub.1 to Q.sub.6 in FIG. 3. In FIG. 3, the switching transistor Q.sub.4 is turned on and off at the same cycle and the same duty ratio as those of the PWM signal during the period from the latter half of the on-period of the switching transistor Q.sub.2 to the former half of the on-period of the switching transistor Q.sub.3, the switching transistor Q.sub.5 is turned on and off at the same cycle and the same duty ratio as those of the PWM signal during the period from the latter half of the on-period of the switching transistor Q.sub.3 to the former half of the on-period of the switching transistor Q.sub.1, and the switching transistor Q.sub.6 is turned on and off at the same cycle and the same duty ratio as those of the PWM signal during the period from the latter half of the on-period of the switching transistor Q.sub.1 to the former half of the on-period of the switching transistor Q.sub.2.
As described above, when the motor starts, the Hall device sensors 7A, 7B and 7C detect the rotation of the rotor, and generate rotor position signals of an electrical angle of 180-degree width, with phase differences of an electrical angle 120 degrees at a rotor rotation electrical angle of 360 degrees. These rotor position signals are amplified and waveform-shaped by the sensor amplifier 8 which has been adjusted to a predetermined gain. These signals are then supplied to the logic circuit 6 of the one-chip three-phase inverter 15, and one of the rotor position signals, for example the rotor position signal generated in the Hall device sensor 7A, is supplied to the speed signal formation circuit 9 so that a speed signal representing the speed of the rotor is formed by the frequency or cycle of the rotor position signal. The speed signals are supplied to the speed correction circuit 10 and compared with the speed command supplied from the outside, so that a speed correction signal is formed in accordance with the difference between the signals. The duty ratio of the PWM signal outputted from the PWM signal formation circuit 11 is controlled by the speed correction signal.
In order to improve the precision of speed detection, three speed signals obtained from the three Hall device sensors can be inputted into the speed signal formation circuit 9.
The logic circuit 6 forms a commutation signal (switching signal) for sequentially turning on and off the switching transistors Q.sub.1 to Q.sub.3 with an electrical angle 120 degrees and a deviated phase of every 120 degrees from the three-phase rotor position signals supplied from the sensor amplifier 8, and a switching signal having the same cycle and the same duty ratio as those of the PWM signal supplied from the PWM signal formation circuit 11 with the timing explained in FIG. 3 in accordance with this commutation signal, and sends these signals to the drive circuit 3.
By the above arrangement, a current conduction time for each coil provided in the stater is controlled in accordance with the duty ratio of the PWM signal that has been corrected by the speed correction signal from the speed correction circuit 10, and the rotor speed is controlled to be consistent with the external speed command. When the rotor speed changes, the output cycles of the Hall device sensors 7A, 7B and 7C also change accordingly.
As described above, the rotor speed is determined by the duty ratio of the PWM signal, and the speed of the motor can be changed by changing the duty ratio.
FIG. 4 is an exploded perspective view showing one example of a conventional motor incorporating a one-chip three-phase inverter, based on the circuit structure shown in FIG. 2. 17 designates an upper case, 18 a stator core, 19 a coil, 20 an aperture, 21A, 21B and 21C supporting members, 22 a shaft, 23A and 23B bearings, 24 a rotor, 25 a printed wiring panel, 26 a peripheral circuit, 27A, 27B and 27C bolts, 28 lead wires, 29 a lower case, 30A, 30B, 30C and 30D openings, 31 a drawing duct, 32 an opening, 33 a bolt and 34A, 34B and 34C bolt holes.
Referring to FIG. 4, the cylindrical stator core 18 having the coil 19 wound up in an internal slot is engaged inside the upper case 17. The opening 20 is provided at the center of the upper surface of the upper case 17, and an edge portion is formed at the lower end of the external periphery of the opening 20. The four bolt holes 34A, 34B, 34C and 34d (the last of which is not shown because it is located at the rear side) are provided at equal intervals around the edge portion. The bar-shaped supporting members 21A, 21B and 21C which stretch downward are provided around equal intervals at the external periphery of the lower surface of the stator core 18.
The rotor 24 is covered with a ferrite magnetic material having a thickness of about 2 mm on the peripheral surface, and the shaft 22, passing through the center of the rotor 24, is integrated. The bearings 23A are fixed to the shaft 22 above the rotor 24, and the bearings 23B are fixed to the lower end of the shaft 22. The printed wiring substrate 25, having the shaft 22 passing through it, is provided between the rotor 24 and the bearings 23B.
The lower case 29 is provided with the opening 32 at the center of the bottom and the drawing duct 31 which passes through the side. The lower case 29 is also provided with an edge portion which extends outwardly at the upper side, and the openings 30A, 30B, 30C and 30D are provided at equal intervals at the edge portion.
On the upper surface of the printed wiring substrate 25, a circuit conductor pattern for the circuit structure shown in FIG. 6 or FIG. 8 is formed, the peripheral circuits 26 including the sensor amplifier 8 and the speed signal formation circuit 9, together with the Hall device sensors 7A, 7B and 7C and the one-chip three-phase inverter 15, are mounted thereon, and the terminal of the circuit conductor pattern is guided to the lower surface of the printed wiring substrate 25, with the lead wires 28 connected to the terminal.
The rotor 24, together with the shaft 22, is inserted into the inside of the stator core 18, and the bearings 23A are fixed to the upper surface of the inside of the upper case 17. When the rotor 24 is positioned, the upper portion of the shaft 22 extends to the outside through the opening 20 of the upper case 17. The printed wiring substrate 25 is fixed to the supporting members 21A, 21B and 21C which extend below the stator core 18, by the bolts 27A, 27B and 27C. The lower case 29 is fixed to the upper case 17 so as to cover the printed wiring substrate 25 and the stator core 18, by matching the bolt holes 34A, 34B, 34C and 34D at the edge portion of the upper case 17 with the openings 30A, 30B, 30C and 30D at the edge portion of the lower case 29 respectively and by fastening bolts 33 to the bolt holes 34A, 34B, 34C and 34D through the openings 30A, 30B, 30C and 30D. In this condition, the bearings 23B at the lower end of the shaft 22 are fixed within the opening 32 of the lower case 29 and the lead wires 28 are guided to the outside from the inside of the lower case 29 through the drawing duct 31.
FIG. 5 shows a partially extended view of the room air conditioner using the above-described motor as a fan motor. The room air conditioner comprises an indoor unit 35 disposed within a room, an outdoor unit 36 disposed outside the room and a pipe 37 connected between these units. A tangential floor fan 38A and a propeller fan 38B are provided in the indoor unit 35 and the outdoor unit 36 respectively. The above-described motor can be used as drive motors 39A and 39B for driving the fans 38A and 38B respectively. Usually, the three-phase inverter of the motor has about the same size as that of the motor body. However, since a one-chip three-phase inverter is incorporated in the above motor, the control section of the outdoor unit 36 can be made more compact by that amount, and the outdoor unit 36 itself can be made more compact accordingly. This also applies to the indoor unit 35.
A high-power device such as a switching transistor within the one-chip three-phase inverter is a heat service, and therefore it present a problem that the properties of the one-chip three-phase inverter are deteriorated, resulting in reduced reliability, when the one-chip three-phase inverter is heated to a high temperature. Accordingly, it is necessary to provide a heat radiation fan in the one-chip three-phase inverter.
However, as explained with reference to FIG. 4, not only the one-chip three-phase inverter 15 but also the Hall device sensors 7A, 7B and 7C and their peripheral circuits 26 are mounted in a large number on the printed wiring substrate 25, so that there has been no space to provide a heat radiation fan in the one-chip three-phase inverter 15 according to the prior art. As a result, about 20W has been the limit to the output of the motor.

Brushless motor incorporating an integrated circuit having a single chip peripheral circuit


Controller scaling and parameterization are described. Techniques that can be improved by employing the scaling and parameterization include, but are not limited to, controller design, tuning and optimization. The scaling and parameterization methods described here apply to transfer function based controllers, including PID controllers. The parameterization methods also apply to state feedback and state observer based controllers, as well as linear active disturbance rejection (ADRC) controllers. Parameterization simplifies the use of ADRC. A discrete extended state observer (DESO) and a generalized extended state observer (GESO) are described. They improve the performance of the ESO and therefore ADRC. A tracking control algorithm is also described that improves the performance of the ADRC controller. A general algorithm is described for applying ADRC to multi-input multi-output systems. Several specific applications of the control systems and processes are disclosed.

A feedback (closed-loop) control system 10, as shown in Prior Art FIG. 1, is widely used to modify the behavior of a physical process, denoted as the plant 110, so it behaves in a specific desirable way over time. For example, it may be desirable to maintain the speed of a car on a highway as close as possible to 60 miles per hour in spite of possible hills or adverse wind; or it may be desirable to have an aircraft follow a desired altitude, heading and velocity profile independently of wind gusts; or it may be desirable to have the temperature and pressure in a reactor vessel in a chemical process plant maintained at desired levels. All these are being accomplished today by using feedback control, and the above are examples of what automatic control systems are designed to do, without human intervention.
The key component in a feedback control system is the controller 120, which determines the difference between the output of the plant 110, (e.g. the temperature) and its desired value and produces a corresponding control signal u (e.g., turning a heater on or off). The goal of controller design is usually to make this difference as small as possible as soon as possible. Today, controllers are employed in a large number of industrial control applications and in areas like robotics, aeronautics, astronautics, motors, motion control, thermal control, and so on.
Classic Controllers
Classic Control Theory provides a number of techniques an engineer can use in controller design. Existing controllers for linear, time invariant, and single-input single output plants can be categorized into three forms: the proportional/integral/derivative (PID) controllers, transfer function based (TFB) controllers, and state feedback (SF) controllers. The PID controller is defined by the equationu=KPe+KI∫e+KDė  (1)where u is the control signal and e is the error between the set point and the process output being controlled. This type of controller has been employed in engineering and other applications since the early 1920s. It is an error based controller that does not require an explicit mathematical model of the plant. The TFB controller is given in the form of
                                          U                                      (              s              )                                =                                                    G                c                                                          (                s                )                                                                E                                            (                s                )                                                    ,                                                                              G              c                                                  (              s              )                                =                                    n                                            (                s                )                                                    d                                            (                s                )                                                                        (        2        )            where U(s) and E(s) are Laplace Transforms of u and e defined above, and n(s) and d(s) are polynomials in s. The TFB controller can be designed using methods in control theory based on the transfer function model of the plant, Gp(s). A PID controller can be considered a special case of a TFB controller because it has an equivalent transfer function of
                                          G            c                                          (            s            )                          =                              k            p                    +                                    k              i                        s                    +                                    k              d                                    s                                              (        3        )            The State Feedback (SF) Controller
The SF controller can be defined byu=r+K{circumflex over (x)}  (4)and is based on the state space model of the plant:{dot over (x)}(t)=Ax(t)+Bu(t),y(t)=Cx(t)+Du(t)  (5)When the state x is not accessible, a state observer (SO):{circumflex over ({dot over (x)}=A{circumflex over (x)}+Bu+L(y−ŷ)  (6)is often used to find its estimate, {circumflex over (x)}. Here r is the set point for the output to follow.Controller Tuning
Over the years, the advances in control theory provided a number of useful analysis and design tools. As a result, controller design moved from empirical methods (e.g., ad hoc tuning via Ziegler and Nichols tuning tables for PID) to analytical methods (e.g., pole placement). The frequency response method (Bode and Nyquist plots) also facilitated analytical control design.
Conventionally, controllers are individually designed according to design criteria and then individually tuned until they exhibit an acceptable performance. Practicing engineers may design controllers, (e.g., PID) using look-up tables and then tune the controllers using trial and error techniques. But each controller is typically individually designed, tuned, and tested.
Tuning controllers has perplexed engineers. Controllers that are developed based on a mathematical model of the plant usually need their parameters to be adjusted, or "tuned" as they are implemented in hardware and tested. This is because the mathematical model often does not accurately reflect the dynamics of the plant. Determining appropriate control parameters under such circumstances is often problematic, leading to control solutions that are functional but ill-tuned, yielding lost performance and wasted control energy.
Additionally, and/or alternatively, engineers design using analytical (e.g., pole placement) techniques, but once again tune with trial and error techniques. Since many industrial machines and engineering applications are built to be inherently stable, acceptable controllers can be designed and tuned using these conventional techniques, however, acceptable performance may not approach optimal performance.
One example conventional technique for designing a PID controller included obtaining an open-loop response and determining what, if anything, needed to be improved. By way of illustration, the designer would build a candidate system with a feedback loop, guess the initial values of the three gains (e.g., kp, kd, ki) in PID and observe the performance in terms of rise time, steady state error and so on. Then, the designer might modify the proportional gain to improve rise time. Similarly, the designer might add or modify a derivative controller to improve overshoot and an integral controller to eliminate steady state error. Each component would have its own gain that would be individually tuned. Thus, conventional designers often faced choosing three components in a PID controller and individually tuning each component. Furthermore, there could be many more parameters that the design engineer must tune if a TFB or a state feedback state observer (SFSOB) controller is employed.
Another observation of control design is that it is not portable. That is, each control problem is solved individually and its solution cannot be easily modified for another control problem. This means that the tedious design and tuning process must be repeated for each control problem. The use of state observers is useful in not only system monitoring and regulation but also detecting as well as identifying failures in dynamical systems. Since almost all observer designs are based on the mathematical model of the plant, the presence of disturbances, dynamic uncertainties, and nonlinearities pose great challenges in practical applications. Toward this end, the high-performance robust observer design problem has been topic of considerable interest recently, and several advanced observer designs have been proposed. Although satisfactory in certain respects, a need remains for an improved strategy for an observer and incorporation and use of such in a control system.
State Observers
Observers extract real-time information of a plant's internal state from its input-output data. The observer usually presumes precise model information of the plant, since performance is largely based on its mathematical accuracy. Closed loop controllers require both types of information. This relationship is depicted in 3200 of FIG. 32. Such presumptions, however, often make the method impractical in engineering applications, since the challenge for industry remains in constructing these models as part of the design process. Another level of complexity is added when gain scheduling and adaptive techniques are used to deal with nonlinearity and time variance, respectively.
Disturbance Estimation Observes and Disturbance Rejection
Recently, disturbance rejection techniques have been used to account for uncertainties in the real world and successfully control complex nonlinear systems. The premise is to solve the problem of model accuracy in reverse by modeling a system with an equivalent input disturbance d that represents any difference between the actual plant P and a derived/selected model Pn of the plant, including external disturbances w. An observer is then designed to estimate the disturbance in real time and provide feedback to cancel it. As a result, the augmented system acts like the model Pn at low frequencies, making the system accurate to Pn and allowing a controller to be designed for Pn. This concept is illustrated in 3900 of FIG. 39.
The most common of these techniques is the disturbance observer (DOB) structure (Endo, S., H. Kobayashi, C. J. Kempf, S. Kobayashi, M. Tomizuka and Y. Hori (1996). "Robust Digital Tracking Controller Design for High-Speed Positioning Systems." Control Eng. Practice, 4:4, 527-536; Kim, B. K., H.-T. Choi, W. K. Chung and I. H. Suh (2002). "Analysis and Design of Robust Motion Controllers in the Unified Framework." J. of Dynamic Systems, Measurement, and Control, 124, 313-321; Lee, H. S. and M. Tomizuka (1996). "Robust Motion Controller Design for High-Accuracy Positioning Systems." IEEE Trans. Ind. Electron., 43:1, 48-55; Tesfaye, A., H. S. Lee and M. Tomizuka (2000). "A Sensitivity Optimization Approach to Design of a Disturbance Observer in Digital Motion Control." IEEE/ASME Trans. on Mechatronics, 5:1, 32-38; Umeno, T. and Y. Hori (1991). "Robust Speed Control of DC Servomotors Using Modern Two Degrees of Freedom Controller Design". IEEE Trans. Ind. Electron., 38:5, 363-368). It uses simple binomial Q-filters, allowing the observer to be parameterized, i.e. tuned by a single bandwidth parameter. A model deliberately different from P is also suggested in E. Schrijver and J. van Dijk, "Disturbance Observers for Rigid Mechanical Systems: Equivalence, Stability, and Design," Journal of Dynamic Systems, Measurement, and Control, vol. 124, no. 4, pp. 539-548, 2002 to facilitate design, but no guidelines are given other than it should be as simple as possible, cautioning stability and performance may be in danger. Another obstacle is that a separate observer must be designed to provide state feedback to the controller. In existing research, derivative approximates are used in this way but their effect on performance and stability has yet to be analyzed. Furthermore, the controller design is dependent on the DOB design, meaning that derivative approximates can not be arbitrarily selected.
Multiple DOBs were used to control a multivariable robot by treating it as a set of decoupled single-input single-output (SISO) systems, each with disturbances that included the coupled dynamics (Bickel, R. and M. Tomizuka (1999). "Passivity-Based Versus Disturbance Observer Based Robot Control: Equivalence and Stability." J. of Dynamic Systems, Measurement, and Control, 121, 41-47; Hori, Y., K. Shimura and M. Tomizuka (1992). "Position/Force Control of Multi-Axis Robot Manipulator Based on the TDOF Robust Servo Controller For Each Joint." Proc. of ACC, 753-757; Kwon, S. J. and W. K. Chung (2002). "Robust Performance of the Multiloop Perturbation Compensator." IEEE/ASME Trans. Mechatronics, 7:2, 190-200; Schrijver, E. and J. Van Dijk (2002) Disturbance Observers for Rigid Mechanical Systems: Equivalence, Stability, and Design." J. of Dynamic Systems, Measurement, and Control, 124, 539-548.
Another technique, referred to as the unknown input observer (UIO), estimates the states of both the plant and the disturbance by augmenting a linear plant model with a linear disturbance model (Burl, J. B. (1999). Linear Optimal Control, pp. 308-314. Addison Wesley Longman, Inc., Calif.; Franklin, G. F., J. D. Powell and M. Workman (1998). Digital Control of Dynamic Systems, Third Edition, Addison Wesley Longman, Calif.; Johnson, C. D. (1971). "Accommodation of External Disturbances in Linear Regulator and Servomechanism Problems." IEEE Trans. Automatic Control, AC-16:6, 635-644; Liu, C.-S., and H. Peng (2002). "Inverse-Dynamics Based State and Disturbance Observer for Linear Time-Invariant Systems." J. of Dynamic Systems, Measurement, and Control, 124, 375-381; Profeta, J. A. III, W. G. Vogt and M. H. Mickle (1990). "Disturbance Estimation and Compensation in Linear Systems." IEEE Trans. Aerospace and Electronic Systems, 26:2, 225-231; Schrijver, E. and J. van Dijk (2002) "Disturbance Observers for Rigid Mechanical Systems: Equivalence, Stability, and Design." J. of Dynamic Systems, Measurement, and Control, 124, 539-548). Unlike the DOB structure, the controller and observer can be designed independently, like a Luenberger observer. However, it still relies on a good mathematical model and a design procedure to determine observer gains. An external disturbance w is generally modeled using cascaded integrators (1/sh). When they are assumed to be piece-wise constant, the observer is simply extended by one state and still demonstrates a high degree of performance.
Extended State Observer (ESO)
In this regard, the extended state observer (ESO) is quite different. Originally proposed by Han, J. (1999). "Nonlinear Design Methods for Control Systems." Proc. 14th IFAC World Congress, in the form of a nonlinear UIO and later simplified to a linear version with one tuning parameter by Gao, Z. (2003). "Scaling and Parameterization Based Controller Tuning." Proc. of ACC, 4989-4996, the ESO combines the state and disturbance estimation power of a UIO with the tuning simplicity of a DOB. One finds a decisive shift in the underlying design concept as well. The traditional observer is based on a linear time-invariant model that often describes a nonlinear time-varying process. Although the DOB and UIO reject input disturbances for such nominal plants, they leave the question of dynamic uncertainty mostly unanswered in direct form. The ESO, on the other hand, addresses both issues in one simple framework by formulating the simplest possible design model Pd=1/sn for a large class of uncertain systems. Pd is selected to simplify controller and observer design, forcing P to behave like it at low frequencies rather than Pn. As a result, the effects of most plant dynamics and external disturbances are concentrated into a single unknown quantity. The ESO estimates this quantity along with derivatives of the output, giving way to the straightforward design of a high performance controller.
Active Disturbance Rejection Control (ADRC)
Originally proposed by Han, J. (1999). "Nonlinear Design Methods for Control Systems." Proc. 14th IFAC World Congress, a nonlinear, non-parameterized active disturbance rejection control (ADRC) is a method that uses an ESO. A linear version of the ADRC controller and ESO were parameterized for transparent tuning by Gao, Z. (2003). "Scaling and Parameterization Based Controller Tuning." Proc. of ACC, 4989-4996. Its practical usefulness is seen in a number of benchmark applications already implemented throughout industry with promising results (Gao, Z., S. Hu and F. Jiang (2001). "A Novel Motion Control Design Approach Based on Active Disturbance Rejection." Proc. of 40th IEEE Conference on Decision and Control; Goforth, F. (2004). "On Motion Control Design and Tuning Techniques." Proc. of ACC; Hu, S. (2001). "On High Performance Servo Control Solutions for Hard Disk Drive." Doctoral Dissertation, Department of Electrical and Computer Engineering, Cleveland State University; Hou, Y., Z. Gao, F. Jiang and B. T. Boulter (2001). "Active Disturbance Rejection Control for Web Tension Regulation." Proc. of 40th IEEE Conf. on Decision and Control; Huang, Y., K. Xu and J. Han (2001). "Flight Control Design Using Extended State Observer and Nonsmooth Feedback." Proc. of 40th IEEE Conf. on Decision and Control; Sun, B and Z. Gao (2004). "A DSP-Based Active Disturbance Rejection Control Design for a 1 KW H-Bridge DC-DC Power Converter." To appear in: IEEE Trans. on Ind. Electronics; Xia, Y., L. Wu, K. Xu, and J. Han (2004). "Active Disturbance Rejection Control for Uncertain Multivariable Systems With Time-Delay, 2004 Chinese Control Conference). It was also applied to a fairly complex multivariable aircraft control problem (Huang, Y., K. Xu and J. Han (2001). "Flight Control Design Using Extended State Observer and Nonsmooth Feedback." Proc. of 40th IEEE Conf. on Decision and Control).
What is needed is a control framework for application to systems throughout industry that are complex and largely unknown to the personnel often responsible for controlling them. In the absence of required expertise, less tuning parameters are needed than current approaches, such as multi-loop PID, while maintaining or even improving performance and robustness.
Linear Active Disturbance Rejection Controller (LADRC)
In addition to the above controllers, a more practical controller is the recently developed from Active Disturbance Rejection Controller (ADRC). Its linear form (LADRC) for a second order plant is introduced below as an illustration. The unique distinction of ADRC is that it is largely independent of the mathematical model of the plant and is therefore better than most controllers in performance and robustness in practical applications.
Consider an example of controlling a second order plantÿ=−a{dot over (y)}−by +w+bu  (7)where y and u are output and input, respectively, and w is an input disturbance. Here both parameters, a and b, are unknown, although there is some knowledge of b, (e.g., b0≈b, derived from the initial acceleration of y in step response). Rewrite (7) asÿ=−a{dot over (y)}−by+w+(b−b0)u+b0u=ƒ+b0u  (8)where ƒ=−a{dot over (y)}−by+w+(b−b0)u. Here ƒ is referred to as the generalized disturbance, or disturbance, because it represents both the unknown internal dynamics, −a{dot over (y)}−by+(b−b0)u and the external disturbance w(t).
  u  =                              -                      f            ^                          +                  u          0                                                      b      0
If an estimate of ƒ, {circumflex over (ƒ)} can be obtained, then the control law reduces the plant to ÿ=(ƒ−{circumflex over (ƒ)})+u0 which is a unit-gain double integrator control problem with a disturbance (ƒ−{circumflex over (ƒ)}).
Thus, rewrite the plant in (8) in state space form as
                    {                                                                                x                      .                                        1                                    =                                      x                    2                                                                                x                                        .                                    2                                =                                                      x                    3                                    +                                                            b                      0                                                            u                                                                                x                                        .                                    3                                =                h                                                                                y                  =                                      x                    1                                                                                (        9        )            with x3=ƒ added as an augmented state, and h={dot over (ƒ)} is seen as an unknown disturbance. Now ƒ can be estimated using a state observer based on the state space model
                                                                                x                                .                            =                              Ax                +                Bu                +                Eh                                                                                y                =                Cz                                                                          where                                                                              A                =                                  ⌊                                                                                0                                                                    1                                                                    0                                                                                0                                                                    0                                                                    1                                                                                0                                                                    0                                                                    0                                                                              ⌋                                            ,                              B                =                                  ⌊                                                                                0                                                                                b                          0                                                                                0                                                                              ⌋                                            ,                              C                =                                  [                                                                                1                                                                    0                                                                                0                            ]                                                    ,                                                      E                            =                                                          ⌊                                                                                0                                                                                0                                                                                1                                                                                ⌋                                                                                (        10        )            Now the state space observer, denoted as the linear extended state observer (LESO), of (10) can be constructed asż=Az+Bu+L(y−ŷ)ŷ=Czand if ƒ is known or partially known, it can be used in the observer by taking h={dot over (ƒ)} to improve estimation accuracy.ż=Az+Bu+L(y−ŷ)+Eh ŷ=Cz  (11a)The observer can be reconstructed in software, for example, and L is the observer gain vector, which can be obtained using various methods known in the art like pole placement,L=[β1β2β3]T  (12)where [ ]T denotes transpose. With the given state observer, the control law can be given as:
                    u        =                                            -                              z                3                                      +                          u              0                                            b            0                                              (        13        )            Ignoring the inaccuracy of the observer,ÿ=(ƒ−z3)+u0≈u0  (14)which is an unit gain double integrator that can be implemented with a PD controlleru0=kp(r−z1)−kdz2  (15)Tracking Control
Command following refers to the output of a controlled system meeting design requirements when a specified reference trajectory is applied. Oftentimes, it refers to how closely the output y compares to the reference input r at any given point in time. This measurement is known as the error e=r−y.
Control problems can be categorized in two major groups; point-to-point control and tracking control. Point-to-point applications call for a smooth step response with minimal overshoot and zero steady state error, such as when controlling linear motion from one position to the next and then stopping. Since the importance is placed on destination accuracy and not on the trajectory between points, conventional design methods produce a controller with inherent phase lag in order to produce a smooth output. Tracking applications require precise tracking of a reference input by keeping the error as small as possible, such as when controlling a process that does not stop. Since the importance is placed on accurately following a changing reference trajectory between points, the problem here is that any phase lag produces unacceptably large errors in the transient response, which lasts for the duration of the process. Although it does not produce a response without overshoot, it does produce a much smaller error signal than the point-to-point controller. The significance is in its ability to reduce the error by orders of magnitude. A step input may be used in point-to-point applications, but a motion profile should be used in tracking applications.
Various methods have been used to remove phase lag from conventional control systems. All of them essentially modify the control law to create a desired closed loop transfer function equal to one. As a result, the output tracks the reference input without any phase lag and the effective bandwidth of the overall system is improved. The most common method is model inversion where the inverse of the desired closed loop transfer function is added as a prefilter. Another method proposed a zero Phase Error Tracking Controller (ZPETC) that cancels poles and stable zeros of the closed loop system and compensates for phase error introduced by un-cancelable zeros. Although it is referred to as a tracking controller, it is really a prefilter that reduces to the inverse of the desired closed loop transfer function when unstable zeros are not present. Other methods consist of a single tracking control law with feed forward terms in place of the conventional feedback controller and prefilter, but they are application specific. However, all of these and other previous methods apply to systems where the model is known.
Model inaccuracy can also create tracking problems. The performance of model-based controllers is largely dependent on the accuracy of the model. When linear time-invariant (LTI) models are used to characterize nonlinear time-varying (NTV) systems, the information becomes inaccurate over time. As a result, gain scheduling and adaptive techniques are developed to deal with nonlinearity and time variance, respectively. However, the complexity added to the design process leads to an impractical solution for industry because of the time and level of expertise involved in constructing accurate mathematical models and designing, tuning, and maintaining each control system.
There have been a number of high performance tracking algorithms that consist of three primary components: disturbance rejection, feedback control, and phase error compensation implemented as a prefilter. First, disturbance rejection techniques are applied to eliminate model inaccuracy with an inner feedback loop. Next, a stabilizing controller is constructed based on a nominal model and implemented in an outer feedback loop. Finally, the inverse of the desired closed loop transfer function is added as a prefilter to eliminate phase lag. Many studies have concentrated on unifying the disturbance rejection and control part, but not on combining the control and phase error compensation part, such as the RIC framework. Internal model control (IMC) cancels an equivalent output disturbance. B. Francis and W. Wonham, "The Internal Model Principal of Control Theory," Automatica, vol 12, 1976, pp. 457-465. E. Schrijver and J. van Dijk, "Disturbance Observers for Rigid Mechanical Systems Equivalence, Stability, and Design," Journal of Dynamic Systems, Measurement, and Control, vol. 124, December 2002, pp. 539-548 uses a basic tracking controller with a DOB to control a multivariable robot. The ZPETC has been widely used in combination with the DOB framework and model based controllers.
Thus, having reviewed controllers and observers, the application now describes example systems and methods related to controllers and observers.
Web Processing Applications
Web tension regulation is a challenging industrial control problem. Many types of material, such as paper, plastic film, cloth fabrics, and even strip steel are manufactured or processed in a web form. The quality of the end product is often greatly affected by the web tension, making it a crucial variable for feedback control design, together with the velocities at the various stages in the manufacturing process. The ever-increasing demands on the quality and efficiency in industry motivate researchers and engineers alike to explore better methods for tension and velocity control. However, the highly nonlinear nature of the web handling process and changes in operating conditions (temperature, humidity, machine wear, and variations in raw materials) make the control problem challenging.
Accumulators in web processing lines are important elements in web handling machines as they are primarily responsible for continuous operation of web processing lines. For this reason, the study and control of accumulator dynamics is an important concern that involves a particular class of problems. The characteristics of an accumulator and its operation as well as the dynamic behavior and control of the accumulator carriage, web spans, and tension are known in the art.
Both open-loop and closed-loop methods are commonly used in web processing industries for tension control purposes. In the open-loop control case, the tension in a web span is controlled indirectly by regulating the velocities of the rollers at either end of the web span. An inherent drawback of this method is its dependency on an accurate mathematical model between the velocities and tension, which is highly nonlinear and highly sensitive to velocity variations. Nevertheless, simplicity of the controller outweighs this drawback in many applications. Closing the tension loop with tension feedback is an obvious solution to improve accuracy and to reduce sensitivity to modeling errors. It requires tension measurement, for example, through a load cell, but is typically justified by the resulting improvements in tension regulation.
Most control systems will unavoidably encounter disturbances, both internal and external, and such disturbances have been the obstacles to the development of high performance controller. This is particularly true for tension control applications and, therefore, a good tension regulation scheme must be able to deal with unknown disturbances. In particular, tension dynamics are highly nonlinear and sensitive to velocity variations. Further, process control variables are highly dependent on the operating conditions and web material characteristics. Thus, what are needed are systems and methods for control that are not only overly dependent on the accuracy of the plant model, but also suitable for the rejection of significant internal and external disturbances.
Jet Engine Control Applications
A great deal of research has been conducted towards the application of modern multivariable control techniques on aircraft engines. The majority of this research has been to control the engine at a single operating point. Among these methods are a multivariable integrator windup protection scheme (Watts, S. R. and S. Garg (1996). "An Optimized Integrator Windup Protection Technique Applied to a Turbofan Engine Control," AIAA Guidance Navigation and Control Conf.), a tracking filter and a control mode selection for model based control (Adibhatla S. and Z. Gastineau (1994). "Tracking Filter Selection And Control Mode Selection For Model Based Control." AIAA 30th Joint Propulsion Conference and Exhibit), an Hm method and linear quadratic Gaussian with loop transfer recovery method (Watts, S. R. and S. Garg (1995). "A Comparison Of Multivariable Control Design Techniques For A Turbofan Engine Control." International Gas Turbine and Aeroengine Congress and Expo.), and a performance seeking control method (Adibhatla, S. and K. L. Johnson (1993). "Evaluation of a Nonlinear Psc Algorithm on a Variable Cycle Engine." AIAA/SAE/ASME/ASEE 29th Joint Propulsion Conference and Exhibit). Various schemes have been developed to reduce gain scheduling (Garg, S. (1997). "A Simplified Scheme for Scheduling Multivariable Controllers." IEEE Control Systems) and have even been combined with integrator windup protection and Hm (Frederick, D. K., S. Garg and S. Adibhatla (2000). "Turbofan Engine Control Design Using Robust Multivariable Control Technologies. IEEE Trans. on Control Systems Technology).
Conventionally, there have been a limited number of control techniques for full flight operation (Garg, S. (1997). "A Simplified Scheme for Scheduling Multivariable Controllers." IEEE Control Systems; and Polley, J. A., S. Adibhatla and P. J. Hoffman (1988). "Multivariable Turbofan Engine Control for Full Conference on Decision and Control Flight Operation." Gas Turbine and Expo). However, there has been no development of tuning a controller for satisfactory performance when applied to an engine. Generally, at any given operating point, models can become inaccurate from one engine to another. This accuracy increases with model complexity, and subsequently design and tuning complexity. As a result, very few of these or similar aircraft design studies have led to implementation on an operational vehicle.
The current method for controlling high performance jet engines remains multivariable proportional-integral (PI) control (Edmunds, J. M. (1979). "Control System Design Using Closed-Loop Nyquist and Bode Arrays." Int. J on Control, 30:5, 773-802, and Polley, J. A., S. Adibhatla and P. J. Hoffman (1988). "Multivariable Turbofan Engine Control for Full Conference on Decision and Control. Flight Operation." Gas Turbine and Expo). Although the controller is designed by implementing Bode and Nyquist techniques and is tunable, a problem remains due to the sheer number of tuning parameters compounded by scheduling.
Health Monitoring and Fault Detection
The terms "health", "fault", "diagnosis", and "tolerance" are used in broad terms. Some literature defines a fault as an unpermitted deviation of at least one characteristic property or variable by L. H. Chiang, E. Russell, and R. D. Braatz, Fault Detection and Diagnosis in Industrial Systems, Springer-Verlag, February 2001. Others define it more generally as the indication that something is going wrong with the system by J. J. Gertler, "Survey of model-based failure detection and isolation in complex plants," IEEE Control Systems Magazine, December 1988.
Industry is increasingly interested in actively diagnosing faults in complex systems. The importance of fault diagnosis can be seen by the amount of literature associated with it. There are a number of good survey papers by (J. J. Gertler, "Survey of model-based failure detection and isolation in complex plants," IEEE Control Systems Magazine, December 1988. V. Venkatasubramanian, R. Rengaswamy, K. Yin, and S. N. Kavuri, "A review of process fault detection and diagnosis part i: Quantitative model-based methods," Computers and Chemical Engineering, vol. 27, pp. 293-311, April 2003, (P. M. Frank, "Fault diagnosis in dynamic systems using analytical and knowledge-based redundancy: a survey and some new results," Automatica, vol. 26, no. 3, pp. 459-474, 1990, K. Madani, "A survey of artificial neural networks based fault detection and fault diagnosis techniques," International Joint Conference on Neural Networks, vol. 5, pp. 3442-3446, July 1999, P. M. Frank, "Analytical and qualitative model-based fault diagnosis-a survey and some new results," European Journal of Control, 1996, P. M. Frank and X. Ding, "Survey of robust residual generation and evaluation methods in observer-based fault detection," Journal of Process Control, 1997, J. Riedesel, "A survey of fault diagnosis technology [for space power systems]," in Proceedings of the 24th Intersociety IECEC-89. Conversion Engineering Conference, 1989, pp. 183-188, A. Willsky, "A survey of design methods for failure detection in dynamic systems," NASA STI/Recon Technical Report N, vol. 76, pp. 11 347-+, 1975, M. Kinnaert, "Fault diagnosis based on analytical models for linear and nonlinear systems—a tutorial," Department of Control Engineering and System Analysis, Université Libre de Bruxelles, Tech. Rep., 2004.) and books by (L. H. Chiang, E. Russell, and R. D. Braatz, Fault Detection and Diagnosis in Industrial Systems, Springer-Verlag, February 2001, M. Blanke, M. Kinnaert, J. Junze, M. Staroswiecki, J. Schroder, and J. Lunze, Diagnosis and Fault-Tolerant Control, Springer-Verlag, August 2003, R. Patton, P. M. Frank, and R. N. Clark, Issues of Fault Diagnosis for Dynamic Systems, Springer-Verlag Telos, 2000, S. Simani, C. Fantuzzi, and R. Patton, Model-based Fault Diagnosis in Dynamic Systems Using Identification Techniques. Springer-Verlag, January 2003, E. Russell, L. H. Chiang, and R. D. Braatz, Data-Driven Methods for Fault Detection and Diagnosis in Chemical Processes (Advances in Industrial Control). Springer-Verlag, 2000, M. Basseville and I. V. Nikiforov, Detection of Abrupt Changes: Theory and Application. Prentice-Hall, Inc, April 1993.) which collect many of the issues and solutions for faults.
There are four main categories of fault diagnosis. Fault detection is the indication that something is going wrong with the system. Fault isolation determines the location of the failure. Failure identification is the determination of the size of the failure. Fault accommodation and remediation is the act or process of correcting a fault. Most fault solutions deal with the first three categories and do not make adjustments to closed loop systems. The common solutions can be categorized into a six major areas:                1. Analytical redundancy by (J. J. Gertler, "Survey of model-based failure detection and isolation in complex plants," IEEE Control Systems Magazine, December 1988, A. Willsky, "A survey of design methods for failure detection in dynamic systems," NASA STI/Recon Technical Report N, vol. 76, pp. 11 347-+, 1975, E. Y. Chow and A. S. Willsky, "Analytical redundancy and the design of robust failure detection systems," IEEE Transactions on Automatic Control, October 1982.)        2. Statistical analysis by (L. H. Chiang, E. Russell, and R. D. Braatz, Fault Detection and Diagnosis in industrial Systems, Springer-Verlag, February 2001, E. Russell, L. H. Chiang, and R. D. Braatz, Data-Driven Methods for Fault Detection and Diagnosis in Chemical Processes (Advances in Industrial Control). Springer-Verlag, 2000, M. Basseville and I. V. Nikiforov, Detection of Abrupt Changes: Theory and Application. Prentice-Hall, Inc, April 1993.)        3. Knowledge/fuzzy logic systems        4. Neural networks by (K. Madani, "A survey of artificial neural networks based fault detection and fault diagnosis techniques," International Joint Conference on Neural Networks, vol. 5, pp. 3442-3446, July 1999, J. W. Hines, D. W. Miller, and B. K. Hajek, "Fault detection and isolation: A hybrid approach," in American Nuclear Society Annual Meeting and Embedded Topical Meeting on Computer-Based Human Support Systems Technology, Methods and Future, Philadelphia, Pa., Oct. 29-Nov. 2 1995.)        5. Hybrid solutions by (J. W. Hines, D. W. Miller, and B. K. Hajek, "Fault detection and isolation: A hybrid approach," in American Nuclear Society Annual Meeting and Embedded Topical Meeting on Computer-Based Human Support Systems: Technology, Methods and Future, Philadelphia, Pa., Oct. 29-Nov. 2 1995.)        6. Fault tolerant control by (M. Kinnaert, "Fault diagnosis based on analytical models for linear and nonlinear systems—a tutorial," Department of Control Engineering and System Analysis, Université Libre de Bruxelles, Tech. Rep., 2004, M. Blanke, M. Kinnaert, J. Junze, M. Staroswiecki, J. Schroder, and J. Lunze, Diagnosis and Fault-Tolerant Control, Springer-Verlag, August 2003)
Some of these methods attempt to remove the need for accurate mathematical models yet require other implicit models. Analytical redundancy by (E. Y. Chow and A. S. Willsky, "Analytical redundancy and the design of robust failure detection systems," IEEE Transactions on Automatic Control, October 1982.), the most popular method, relies heavily on mathematical models.
Often detailed model information is not available although diagnostics of the dynamic control system are still important. A less developed but important problem is characterizing what can be determined from input output data with few assumptions about the plant.
Without adequate knowledge of the plant, disturbances, faults, and modeling errors, it is difficult to build an effective estimator. For the most part, each of these issues has been approached independently.

Controllers, observers, and applications thereof


A multi-valued image signal I(x,y) is compared with a threshold signal TH by a comparator to produce a binary image signal P(x,y), and an error signal E(x,y) is determined from the binary image signal P(x,y) and the multi-valued image signal I(x,y). Error diffusion coefficients W1(k,l), W2(k,l), W3(k,l) are prepared in advance which correspond respectively to the filter characteristics of a "Jarvis-type filter", an "elongate rectangular filter", and a "Floyd-type filter". A mixing ratio setting circuit determines mixing ratios t1(I.sub.0), t2(I.sub.0), t3(I.sub.0) depending on the multi-valued image signal. The mixing ratios t1(I.sub.0), t2(I.sub.0), t3(I.sub.0) are accumulated and added to the error diffusion coefficients W1(k,l), W2(k,l), W3(k,l), and an error signal E(x-k,y-l) and an error diffusion coefficient W(k,l,I.sub.0) are accumulated and added, producing a diffusion error signal .DELTA.E(x,y). The diffusion error signal .DELTA.E(x,y) is added to the multi-valued image signal I.sub.0 (x,y), producing-a corrected multi-valued image signal I(x,y), which is then compared with the threshold signal TH by the comparator to generate a binary image signal P(x,y).

1. Field of the Invention
The present invention relates to a method of and an apparatus for binarizing an image signal based on an error diffusion process.
2. Description of the Related Art
For reproducing a gradation image on a display unit or a printer which is capable of displaying only binary representations, a supplied gradation image signal which is a multi-valued image signal is converted into a binary image signaled made up of only 0s and 1s. There is known an error diffusion process for binarizing a multi-valued image signal.
According to the error diffusion process, when a multi-valued image signal representing an input pixel is converted into a binary image signal by comparison with a threshold signal, an error produced by the binarization is distributed and added to pixels in the vicinity of the input pixel, and a resultant multi-valued image signal is binarized as a new multi-valued image signal representing the input pixel.
If it is assumed that a multi-valued image signal representing an input pixel (x,y) is represented by I(x,y) (x indicates the position of the input pixel in a main scanning direction and y indicates the position of the input pixel in an auxiliary scanning direction) and a binary image signal converted from the multi-valued image signal is represented by P(x,y), then a binarization error signal E(x,y) is expressed by: EQU E(x,y)=I(x,y)-P(x,y). (1)
The binarization error signal E(x,y) determined according to the equation (1) is diffused into nearby pixels around the pixel (x,y) under consideration, according to equation (2): EQU I(x,y)=I.sub.0 (x,y)+.DELTA.E(x,y), (2)
replacing the multi-valued image signal I(x,y) representing the input pixel. The replaced multi-valued image signal I(x,y) is compared with a predetermined threshold signal, producing a binary image signal P(x,y). In the equation (2), ##EQU1## where W(k,l) represents an error diffusion coefficient which is used to diffuse the binarization error signal E(x,y) at a certain ratio.
The above error diffusion process for converting multi-valued image signals into binary image signals is effective in reproducing continuous gradation signals representing halftone-dot images or photographic images while suppressing the generation of moire patterns.
However, the error diffusion process is disadvantageous in that it allows a striped pattern peculiar to a binarized image or an undesirable texture (fine pattern) in a range of certain density levels to be generated depending on the manner in which the error diffusion coefficient W(k,l) is established. Furthermore, a dot pattern having different densities in main and auxiliary scanning directions may be produced thereby giving raise to some periodical image patterns.
For example; if a "Floyd-type filter" is used (see FIG. 4A of the accompanying drawings where * represents a pixel under consideration) for establishing error diffusion coefficients W(k-1,1-1), W(k,1-1), W(k+1,1-1), W(k-1,1) respectively with respect to multi-valued image signals I(x-1,y-1), I(x,y-1), I(x+1,y-1), I(x-1,y) that are located within two pixels from a multi-valued image signal I(x,y) of a pixel under consideration then a dot pattern is produced which is dense in a main scanning direction and coarse in an auxiliary scanning direction in highlight and shadow ranges of a binarized halftone dot image, making the image form with noticeable regular patterns, and a distinct staggered texture appears in intermediate-density ranges.
If an "elongate rectangular filter" is used (see FIG. 4B of the accompanying drawings) for establishing an error diffusion coefficient W(k,l) with respect to a multi-valued image signal I(x,y) that is located within four pixels in a main scanning direction and two pixels in an auxiliary scanning direction from a multi-valued image signal I(x,y) of a pixel under consideration then a texture which is long in the main scanning direction is generated in intermediate-density ranges of a binarized halftone dot image, and a dot pattern is-produced which is dense in the main scanning direction and coarse in the auxiliary scanning direction in ranges of the binarized halftone dot image except for highlight ranges, intermediate-density ranges, and shadow ranges.
If a "Jarvis-type filter" is used (see FIG. 4C of the accompanying drawings) for establishing an error diffusion coefficient W(k,l) with respect to a multi-valued image signal I(x,y) that is located within three pixels from a multi-valued image signal I(x,y) of a pixel under consideration then a dot pattern is produced which is dense in a main scanning direction and coarse in an auxiliary scanning direction in highlight and shadow ranges of a binarized halftone dot image, and a peculiar striped pattern is generated in ranges of the binarized halftone dot image except for highlight ranges, intermediate-density ranges, and shadow ranges.

Method of and apparatus for binarizing image signals


A circuit Θ is coupled to an individual node Nin, in a circuit for which repeated logical values of that individual node can be identified as having a set of flip-flops Fj dependent thereon, with the effect that if the individual node Nin remains unchanged for one or more clock cycles, the set of dependent flip-flops Fj can be disabled for the second and succeeding clock cycles. The circuit Θ conditionally generates a clock-enabling signal Nout in response thereto. One such circuit Θ conditionally includes a logical controller, whose output is coupled using a fan-out node to both an input to a state machine and a fan-in logic circuit (such as an AND gate). The flip-flop is clocked normally; its output is coupled to that same fan-in logic circuit, whose output Nout is coupled to the set of dependent flip-flops Fj.

In integrated circuits there are often a substantial number of flip-flops, and related types of circuits, such as buffers and registers. Generally, each flip-flop has a clock input C, a data input D, and a data output Q. The flip-flop is disposed so that when the clock input C is changed, the data input D is stored in the flip-flop, with the effect that the value of data output Q will be set, on the next cycle of the clock input C, to the value of data input D. Due to the design of these circuits and the nature of the transistors used in that design, each flip-flop consumes dynamic power when used, even if the new value Dt+1 stored in the flip-flop does not change from its old value Dt.
Known systems include those which disable entire subunits of a chip when not in use, e.g., a processor might disable clocking of its floating point sub-processor when that unit is not needed. One such system is taught in U.S. Pat. No. 5,025,387 (Frane), in which an MPU generates a HALT signal, which is used to "disable" its own clock. In Frane, to "disable" the clock signal means that the clock signal is still generated and used, but at a lower frequency that the rest of the circuit. Lowering the frequency of the clock signal reduces the number of times each flip-flop in the MPU must actually change state (and thus consume power).
U.S. Pat. No. 7,095,251 B2 (Wilcox et al.) states that disabling entire registers of flip-flops is known, including detecting those entire registers whose value does not change, and inserting circuit elements to disable those registers in response to those circumstances, at least in those cases where the register is large enough to justify the additional circuit elements. Wilcox shows a system which mixes full-cycle gating and half-cycle gating, which might allow for finer control of area and power consumption.
Wilcox mentions the possibility of comparing a flip-flop's output with its input using an XOR gate, or other logically equivalent circuits, but states that such an approach suffers from too many drawbacks to be practical.

Clock gating by usage of implied constants


A thin film transistor includes a source electrode, a drain electrode, a semiconducting layer, a first conductive layer, a second conductive layer, an insulating layer and a gate electrode. The drain electrode is spaced apart from the source electrode. The first conductive layer is sandwiched between the source electrode and the semiconductor layer. The second conductive layer is sandwiched between the drain electrode and the semiconductor layer. The gate electrode is insulated from the source electrode, the drain electrode, the first conductive layer, the second conductive layer, and the semiconductor layer by the insulating layer. A first work-function of a first material of the first conductive layer and the second conductive layer is same as a second work-function of a second material of the semiconductor layer.

1. Technical Field
The present invention relates to thin film transistors and, particularly, to a carbon nanotube based thin film transistor.
2. Description of Related Art
A typical thin film transistor (TFT) is made of a substrate, a gate electrode, an insulation layer, a drain electrode, a source electrode, and a semiconducting layer. The thin film transistor performs a switching operation by modulating an amount of carriers accumulated in an interface between the insulation layer and the semiconductor layer from an accumulation state to a depletion state, with applied voltage to the gate electrode, to change an amount of the current passing between the drain electrode and the source electrode.
Bipolar TFT has the characteristic of high switching ratio and symmetry, and can be applied in the process of frequency multiplication and frequency mixing. However, because work-function of the material of the source electrode and the drain electrode is not the same as that of the semiconductor layer, a Schottky barrier is created between the semiconductor layer and the source electrode or the drain electrode. Thus, holes or electrons are selectively generated; thereby the symmetry of bipolar TFT is destroyed.
What is needed, therefore, is a TFT that can overcome the above-described shortcomings.


An electric adjustment device for sofa headrest includes a first fixing member, a second fixing member, and a drive device having an output end that linearly reciprocates. One end of the second fixing member is pivotally connected to the first fixing member, and the drive device is pivotally connected to the first fixing member and arranged flush with the first fixing member. A sliding direction of the output end is perpendicular to a pivotal axis about which the second fixing member is pivotable to the first fixing member. Specifically, the second fixing member is extended downward to form a fixed end for fixing to a backrest support frame. The electric adjustment device is installed in the headrest support frame instead of the backrest support frame, so that other functional parts are installed inside internal space of the backrest support frame which improves the function of the sofa.

Usually, in order to make a user feel more comfortable, the sofa headrest is designed to be angle-adjustable. For example, a hinge is arranged between a sofa body and a headrest, and the headrest is manually adjusted. Or, preferably, an adjustment device having an automatic device drivers is installed in the backrest support frame of the sofa. Furthermore, a movable part of the adjustment device is fixedly connected to the headrest support frame, and the adjustment device moves to automatically adjust the angle of the headrest.
Chinese Patent No. 104172793 discloses a multifunctional lifting device which has a large volume and high height, and a movable part of the lifting device swings up and down relative to the device body. Furthermore, the movable part is inserted upward into the headrest support frame for fixing, so the existing adjustment device is only installed in the backrest support frame in general. Therefore, the inner space inside the backrest support frame is occupied, and it is difficult to install other functional devices such as massage devices and physiotherapy devices, which limits the sofa function.
Thus, it's necessary to provide an electric adjustment device for sofa headrest which has compact structure and does not need to be installed inside the backrest support frame of the sofa.

Electric adjustment device for sofa headrest and sofa support device

DONGGUAN WEIHONG SMART HOME TECHNOLOGY CO., LTD.


Method and apparatus for automatically compensating for spring fatigue and aging, mechanical wear, and the like in a stud welding machine. In order to hold plunge time at an ideal constant value, the plunge times of each weld are measured and a running average is generated to adjust the command to drop the stud onto the workpiece as necessary to hold plunge time substantially at the ideal constant value.

A stud welder comprises a power source and a gun or head which includes a collet to carry a stud to be welded to a workpiece. Welding is performed by first contacting the stud and the workpiece, and passing a relatively low current, called a pilot current, through the stud and workpiece. While this pilot current is flowing, the stud is lifted or moved away from the workpiece by a relatively short predetermined distance by means of a lift solenoid. This creates a pilot arc. Then, a much larger current, called the main arc current, is sent through the arc which was drawn when the stud was raised with respect to the workpiece. The main current is applied for a predetermined time sufficient to cause the stud and the workpiece to melt. Then, after a predetermined time after the main arc is stopped, the stud is urged into the workpiece to thereby weld the stud to the workpiece.
The time between the cessation of the main arc until actual contact of the stud on the workpiece is critical. This time is called "plunge time". If the plunge time is too long, the stud and/or the workpiece will have cooled to the point where no weld will occur. If the plunge time is too short, then the molten metal will splash, and a poor weld or no weld will result.


An illuminated knob assembly includes a base. The base includes an annular track on an upper base surface of the base. A PC board is disposed in the track. The PC board includes a plurality of light sources disposed on an upper board surface of the board. A light transmitting plate is positioned over the PC board so as to transmit light therethrough from the light sources. A bezel is fitted over the light transmitting plate and includes gradated openings corresponding to different conditions of operation. The openings permit light to pass therethrough from the light transmitting plate and a knob is disposed adjacent the bezel. The knob includes a light pointer configured to receive and transmit light from the light transmitting plate.

Presently, about 80% of families in the United States own and use a barbeque, also known as a grill. While once only a summertime activity confined to the daytime, barbequing is now done throughout the year, in all weather, and even after sunset. So they may be used even when ambient light is low or largely non-existent, many different types of apparatus and system in order to provide illumination to barbecues.
Some of the known lighting systems attach to or around the lids of the barbeque or are intended to be positioned on or around the barbeque. These known systems take up valuable space of the barbeque work surface and are vulnerable to physical damage during use of the barbeque. For example, one such lighting system includes a gooseneck-mounted lamp that is attachable to the barbeque by a clamp.
An important aspect of operating a barbeque grill is modulating the amount of heat generated at one or more cooking surfaces or areas of the barbeque. This is typically accomplished through the adjustment of one or more controls. The control is typically a knob, lever or a suitable hand control mechanism. In a gas grill, the control is attached to a valve that controls the flow of fuel, typically propane, delivered to burners underneath the cooking surface or surfaces. For example, during initial lighting of a gas barbeque grill the one or more control knob is typically turned to a position that permits full flow of fuel to the one or more burners to light them. After lighting, the flow of fuel is typically reduced to heat the grill to and maintain an optimal cooking temperature. After the desired temperature is reached, the flow of fuel may be further reduced to prevent overheating or burning of the food.
Despite the importance of the operation of the controls of a barbeque, the front vertical face of known barbeque grills are poorly illuminated. Known lighting systems throw light above but not generally perpendicular to the control panel. As a result, the controls are only partially lit while portions of the controls and control panel are in the shadow cast by the lights or not illuminated at all.
In a low light condition, it can be difficult to detect the setting of the control knob (or knobs where there are several individually controlled burners) or correlate a setting of the knob to a temperature of the grill.
Accordingly, there is a demand therefore for a simple, safe, and effective assembly that provides illumination to a control knob or control panel of a barbeque grill or any other application where illumination is needed of a control knob. The present invention satisfies the demand.


To provide a display apparatus which is intended to improve the miniaturization and illumination efficiency, an indicator 8 is disposed on the rear surface side of a transparent display panel 3. A printed board 5 mounts a movement 7 on the front surface thereof so as not to overlap the movement 7 and the transparent display panel 3 and mounts the indicator 8 on the rear surface thereof. LEDs 6 for the transparent display panel are mounted on the front surface of the printed board 5 so as to oppose to the outer peripheral surface of the transparent display panel 3.

1. Field of the Invention
The present invention relates to a display apparatus and, in particular, relates to a display apparatus including a transparent display panel on which indexes are formed and an indicator which is disposed on the rear surface side of the transparent display panel and indicates the indexes.
2. Description of the Related Art
A display apparatus shown in FIG. 4, for example, is proposed as the aforesaid display apparatus (a patent document 1). As shown in the figure, a display apparatus 100 includes a transparent display panel 3, an indicator 8, a printed board 5, a movement 7 and an LED 6 for the transparent display panel serving as a light source.
The transparent display panel 3 is configured by a light guide member formed by translucent resin. The transparent display panel includes a display panel main body 32, which is arranged in a manner that indexes such as characters and graduations 31 are printed by white on the rear surface side thereof, and a guide portion 33 which is provided beneath the display panel main body 32 and protrudes toward the rear surface side.
The indicator 8 is disposed on the rear surface side of the display panel main body 32 and indicates the index. The printed board 5 is disposed on the rear surface side of the indicator 8. The movement 7 for rotating the indicator 8 is mounted on the rear surface of the printed board 5 and the LED 6 for the transparent display panel for illuminating the transparent display panel 3 is mounted on the front surface of the printed board. The LED 6 for the transparent display panel is provided on the printed board 5 in an opposite manner to the guide portion 33.
However, in the aforesaid configuration, it is required to provide the guide portion 33 at the transparent display panel 3 in order to illuminated the transparent display panel 3. To this end, since such a space shown by A is required, there arises a problem that the size of the display apparatus becomes large. Further, since light is guided to the display panel main body 32 via the guide portion 33, there arises a problem that the illumination efficiency is degraded.
Patent Document 1: JP-A-2004-69514


Aspects described herein relate to various methods, systems and apparatuses that may improve methods of determining network performance. One or more aspects relate to performing one or more network tests based on a controller device and one or more measurement devices. The controller device may be configured to determine one or more network tests and initiate performance of the one or more network tests. The one or more measurement devices may be configured to perform the one or more network tests. One or more additional aspects may relate to determining one or more rankings of wireless networks. A ranking may be determined based on measurement data that is associated with aspects of network performance, based on results of one or more surveys, based on one or more user types, and/or based on weights that adjust the importance of factors including the measurement data and the results of a survey.

Wireless networks may provide a variety of services to devices. For example, a wireless network may provide, among other services, a video streaming service, a voice call service, an Internet data service, and a text messaging services. Users may enter a contractual relationship with a service provider so that the users' devices are able to connect to the service provider's wireless network and consume the services. Users may choose a service provider based on the performance of the service provider's wireless network. For example, one wireless network may have better coverage than another wireless network in the same geographic area, and a user may choose a service provider based on which wireless network has better coverage. Service providers may advertise where their wireless network performs better than competitor's wireless networks. Users and service providers may both find that conventional methods for determining wireless network performance are inadequate.

Determining wireless network performance


A method of an aspect includes receiving an instruction. The instruction indicates a first source of a first packed data including state data elements ai, bi, ei, and fi for a current round (i) of a secure hash algorithm 2 (SHA2) hash algorithm. The instruction indicates a second source of a second packed data. The first packed data has a width in bits that is less than a combined width in bits of eight state data elements ai, bi, ci, di, ei, fi, gi, hi of the SHA2 hash algorithm. The method also includes storing a result in a destination indicated by the instruction in response to the instruction. The result includes updated state data elements ai+, bi+, ei+, and fi+ that have been updated from the corresponding state data elements ai, bi, ei, and fi by at least one round of the SHA2 hash algorithm.

1. Field
Embodiments relate to instruction processing apparatus. In particular, embodiments relate to instruction processing apparatus and instructions to process secure hash algorithms.
2. Background Information
Secure Hash Standard (SHS) (FIPS PUB 180-3), a Federal Information Processing Standards Publication, was published by the National Institute of Standards and Technology, in October, 2008. The SHS standard specifies secure hash algorithms SHA-224, SHA-256, SHA-384, and SHA-512. These four has algorithms are also collectively referred to herein as SHA2 has algorithms, SHA2 algorithms, SHA2 hashes, or the like.
These SHA2 hash algorithms allow computing a message digest representing a condensed representation of input data referred to as a message. When a message with a length less than 2^64 bits (for SHA-224 and SHA-256) or less than 2^128 bits (for SHA-384 and SHA-512) is input to the hash algorithm, a result called a message digest is output. The message digest is also sometimes referred to as a digest or a hash. The message digest is 224-bits for SHA-224, 256-bits for SHA-256, 384-bits for SHA-384, or 512-bits for SHA-512. SHA-224 and SHA-256 are based on a 32-bit word length. SHA-384 and SHA-512 are based on a 64-bit word length.
The hash algorithms specified in this Standard are called secure because, for a given algorithm, it is considered computationally infeasible 1) to find a message that corresponds to a given message digest, or 2) to find two different messages that produce the same message digest. This means that any change to a message will, with a very high probability, result in a different message digest.
The SHA2 algorithms are widely used in electronic devices for authentication, verification, identification, integrity checking, security, or other purposes. They may be used for various different purposes. One common use of the SHA2 algorithms is to verify the integrity of and/or detected changes to messages. For example, an initial message digest may be generated for a message, and then later another message digest may be regenerated for the message and should be the same as the initial message digest assuming the message itself has not been changed. Other examples of applications of secure hash functions include, but are not limited to, generating digital signatures, message authentication codes, verifying the integrity of files or messages, identifying files or data, and pseudorandom generation and key derivation.
FIG. 1 illustrates details of a single round of an SHA2 algorithm 100. A total of sixty-four rounds similar to the round shown may be used to compute the final message digest. Eight state words ai, bi, ci, di, ei, fi, gi, and hi 101 are input to the round. The eight state words are also referred to in the standard as the eight working variables. For SHA-224 and SHA-256 each of these state words are 32-bits. For SHA-384 and SHA-512 each of these state words are 64-bits. Also input to the round are a message input to the current round (i.e., W(i)) 102 and a constant input to the current round (i.e., K(i)) 103. A set of SHA2 operations 104 are performed for each round. The set of operations includes a number of modulo additions (shown by the boxes with plus signs inside), and evaluation of functions known as Ch, Σ1, Maj, and Σ0. There is also a remapping of the state words. The output of the round is eight updated state words ai+1, b1+1, ci+1, di+1, ei+1, fi+1, gi+1, and h1+1 105.
The set of operations for each of the sixty-four rounds include the following operations:                Σ0(a)=(a ROTR 2) XOR (a ROTR 13) XOR (a ROTR 22)        Σ1(e)=ROTR 6) XOR (e ROTR 11) XOR (e ROTR 25)        Maj(a, bi c)=(a AND b) XOR (a AND c) XOR (b AND c)        Ch(e, f, g)=(e AND f) XOR ((NOT e) AND g)        T1=h+Σ1(e)+Ch(e, f, g)+Ki+Wi         T2=Σ0(a)+Maj(a, b, c)        h=g        g=f        f=e        e=d+T1         d=c        c=b        b=a        a=T1+T2
In the above, "ROTR" designates a bitwise right rotate operation by the number of bits its right, "XOR" designates a logical exclusive OR operation, "AND" designates a logical AND operation, "NOT" designates a logical NOT operation. The rotation amounts are specific for SHA-256. Other SHA2 algorithms use different shift and rotate amounts.
As can be seen, each round of the SHA2 algorithms involves a large number of operations. In addition, generating the message digest involves sixty-four of such rounds. One significant challenge is that conventionally implementing the SHA2 algorithms involves executing a large number of instructions on a processor. Commonly, each round of the SHA2 algorithms may take from several to many instructions. For example, in one possible implementation, within a round separate instructions may be used to perform each of the rotations, logical AND, XOR, and NOT operations, additions, etc. This, compounded with the fact that there are sixty-four rounds, may tend to make the implementation of the SHA2 algorithms very computationally intensive and to take a significant amount of time.

This patent is subject to a terminal disclaimer.

Instructions processors, methods, and systems to process secure hash algorithms