The present disclosure relates generally to controller design. In particular, but not by way of limitation, the present disclosure relates to systems, methods and apparatuses for designing a controller using a “stability region” as a performance metric to be optimized.
Some radio frequency (RF) power generation systems use an integral control mechanism to optimize target power tracking. This mechanism recalls a last control value from a previous state when starting a new state, which can be effective for linear loads, but becomes a source of instability, chaos, and bifurcation for non-linear loads, such as plasma loads. In particular, during the time in which the controller saves a last control value to memory and then recalls this value for controlling a start of the next state, the load condition may have changed since non-linear loads can be chaotic. The result may be a response to the control value at the start of the state that is far from expected.
These challenges are overcome by design and introduction of an H∞ controller into the power generation system. In particular, the power generation system can be modeled as a plant G(s) with a closed-loop feedback controller K(s) where the plant and controller are related at least via weights W(s). Initial parameters and weights W(s) for this model can be selected as initial guesses and then passed, along with one or more first performance metrics (e.g., controller speed and tracking error), to an optimization algorithm. This optimization includes two phases starting with an H∞ loopshaping optimization that produces an optimized controller K′N(s), where N is a number of a current loop of the optimization starting with 1. The optimized controller, starting with K′1(s), can be passed to a second phase of the optimization that includes a test or simulation of the optimized controller to see how it performs relative to one or more second performance metrics (which may, but does not have to, include one or more of the first performance metrics). The simulation can be performed in a software-based model, on an actual physical implementation of the power generation system, or on a combination of software and the hardware version of the power generation system. The resulting data from the simulation can be analyzed relative to the one or more second performance metrics to determine if the optimized controller, K′1(s), is an optimized solution. Typically, at least a few optimization loops are carried out before the optimization converges on an optimal solution for the controller K′(s). Accordingly, after analyzing simulation results for the first optimized controller K′1(s), the optimization can select new parameters and weights and re-run the two phases of the optimization. In particular, the H∞ loopshaping optimization forms a second optimized controller K′2(s), which is then sent through the simulation and the resulting data analyzed to quantify whether the solution is approaching a convergence. Comparing the results from the first two simulations provides a means to determine which direction to head with a next set of parameters and weights and to then produce a third optimized controller K′3(s). This looping can continue until convergence occurs, or until the simulation results between two or more optimized controllers K′N(s) are within a threshold of each other. When this occurs, a latest optimized controller K′N(s) can be selected as the final design, and programmed into the power generation system (e.g., into an FPGA for controlling a DC section's rail voltage and an RF power amplifier's drive or phase voltage).
The following presents a simplified summary relating to one or more aspects and/or embodiments disclosed herein. As such, the following summary should not be considered an extensive overview relating to all contemplated aspects and/or embodiments, nor should the following summary be regarded to identify key or critical elements relating to all contemplated aspects and/or embodiments or to delineate the scope associated with any particular aspect and/or embodiment. Accordingly, the following summary has the sole purpose to present certain concepts relating to one or more aspects and/or embodiments relating to the mechanisms disclosed herein in a simplified form to precede the detailed description presented below.
Some embodiments of the disclosure may be characterized as a generator including a power generation section, a match network, and a control section. The match network can be coupled to an output of the power generation section. The control section can be configured to receive a target waveform and can be configured to receive feedback from an output of the generator. The control section can include an optimized controller designed using a two-part optimization where each iteration of the optimization sees (1) a first optimization for a model controller based on a first one or more performance metrics that forms an optimized controller K′N(s), and (2) a second optimization of weights for the optimized controller based on a second one or more performance metrics, where N identifies the iteration. The optimized controller can receive the feedback and the target waveform, and can control an output of the power generation section based on the feedback and the target waveform.
Other embodiments of the disclosure may also be characterized as a method including forming a model for a controller of a power supply configured to delivery power to a strongly nonlinear and/or chaotic plasma load. The method also includes selecting a first one or more performance metrics for optimizing the controller and selecting initial guesses of weights and parameters of the model. The method also includes performing an initial H∞ loopshaping optimization of the model where the weight and parameters of the model are variables to be optimized to form an optimized model of the controller. The method further includes simulating the optimized model of the controller for a range of power setpoints and cable lengths between the power supply and the strongly nonlinear and/or chaotic plasma load to form a stability region grid comprising a grid of stable and unstable points. The method further includes selecting a second one or more performance metrics, and analyzing the stability region grid to quantify performance of the optimized model of the controller in terms of the second one or more performance metrics. The method yet further includes selecting new weights and parameters for the model and repeating the performing, the simulating, the selecting, and the analyzing, until performance of the optimized model of the controller converges.
Other embodiments of the disclosure can be characterized as a non-transitory, tangible computer readable storage medium, encoded with processor readable instructions to perform a method for designing an H∞ controller. The method includes forming a model for a controller of a power supply configured to delivery power to a strongly nonlinear and/or chaotic plasma load. The method also includes selecting a first one or more performance metrics for optimizing the controller and selecting initial guesses of weights and parameters of the model. The method also includes performing an initial H∞ loopshaping optimization of the model where the weight and parameters of the model are variables to be optimized to form an optimized model of the controller. The method further includes simulating the optimized model of the controller for a range of power setpoints and cable lengths between the power supply and the strongly nonlinear and/or chaotic plasma load to form a stability region grid comprising a grid of stable and unstable points. The method further includes selecting a second one or more performance metrics, and analyzing the stability region grid to quantify performance of the optimized model of the controller in terms of the second one or more performance metrics. The method yet further includes selecting new weights and parameters for the model and repeating the performing, the simulating, the selecting, and the analyzing, until performance of the optimized model of the controller converges
Various objects and advantages and a more complete understanding of the present disclosure are apparent and more readily appreciated by referring to the following detailed description and to the appended claims when taken in conjunction with the accompanying drawings:
To overcome the challenges of providing power to a non-linear load, the present disclosure describes systems, methods, and apparatus for designing a more robust controller using a two-phase optimization comprising a H∞ loopshaping optimization followed by a determination and quantification of a “stability region.” These two phases are looped until the stability region converges.
The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any embodiment described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments.
Preliminary note: the flowcharts and block diagrams in the following Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, some blocks in these flowcharts or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
It will be understood that, although the terms first, second, third etc. may be used herein to describe various elements, components, regions, layers and/or sections, these elements, components, regions, layers and/or sections should not be limited by these terms. These terms are only used to distinguish one element, component, region, layer or section from another region, layer or section. Thus, a first element, component, region, layer or section discussed below could be termed a second element, component, region, layer or section without departing from the teachings of the present disclosure.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. As used herein, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items, and may be abbreviated as “/”.
Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and/or the present specification and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
Overview of the Optimization
The control problem that the herein disclosed systems, methods, and apparatus address considers both stability and tracking performance for a plant with significant nonlinearities and a high degree of uncertain dynamics (i.e., the plasma load is nonlinear and possibly chaotic). Optimization in this disclosure is split into two phases with the first using H∞ loopshaping to select parameters of the controller transfer function and the second phase optimizing for weights applied to the optimized controllers from the first phase. More specifically, in a first phase, controllers (e.g., H∞ controllers) are designed that optimize transient performance in the context of maintaining robustness guarantees for a predefined bound on the non-linearity in the system models. However, these designs make certain assumptions about system stability and data availability. The second phase sees controllers designed in a more generalized fashion such that weights can be selected to optimize a “generator stability region” with respect to cable length. In this way, users deploying a generator can calibrate the generator controller parameters and maximize stability during the generator commissioning rather than having to rely on a factor calibration.
Overview of System for Using Optimized Controller
The plasma processing system 400 includes a power generation system 402 that provides a multi-level pulsed waveform to a non-linear plasma load 404 based on a user-defined power output or target waveform 406. The power generation system (or “generator” for short) 402 can include a user interface 408, an optional master control unit (MCU) 410, a control section (e.g., an FPGA) 412, and power generation and sensors 414. A match network 416 can be arranged within the generator 402 (as shown) or outside the generator 402. The H∞ controller can be implemented as part of the control section 412.
A user desired power output, or target waveform, is provided to a user interface 408, which is optionally adjusted by a microcontroller unit (MCU) 410 to help with average power tracking, and passed to a control section 412. The MCU is used for relatively slow, high-level processing and complex algorithms, while the control section 412 is implemented in an FPGA or other high-speed electronics and handles simple control algorithms. Thus, where the MCU 410 is implemented, a two-loop control approach can be used with a fast inner loop implementing simple control algorithms, and more complex processes running on the slower outer loop. In some embodiments, the optimized controllers disclosed herein can alleviate the need for the MCU 410, in which case the target waveform can be provided directly to the control section 412.
The control section 412 uses real-time measurements to perform real-time setpoint tracking, thereby constituting the fast inner loop of the feedback control system. The control section 412 can also perform averaging of the feedback and provide the averaged measurements back to the MCU 410. The MCU 410 may use a proportional-integral-derivative controller. The MCU 410 can use the averaged feedback to modify the user- defined setpoint values, passing these modified values to the control section 412. The MCU 410 can be continuously updated with the goal of matching the average power delivered to the target waveform. The MCU 410 can be tailored to make the average power track a second order critically damped system.
The control section 412 uses a multilevel pulsing algorithm for rail and drive/phase voltage. The goal of the algorithm is to minimize fluctuations in rail voltage, while keeping the value as low as possible, subject to keeping the drive/phase voltage close to its desired reference (or threshold) value. To implement this multilevel pulsing algorithm, the control section 412 can include controllers for rail voltage and drive/phase voltage. The H∞ controller 450 can reside within this control section 412, receive feedback from sensors in a power generation and sensors 414 and can help provide real-time control of the rail voltage and drive/phase voltage. These voltages are provided by a DC section and a power amplifier in the power generation and sensors 414. The DC section provides a rail voltage to the power amplifier, which provides granular adjustments to power output to track the target waveform (e.g., a pulsed multi-level waveform such as that seen in
The UI 508 provides a phase/drive threshold or reference voltage, Vø_ref, selected by the user as well as a target multi-level pulsed waveform (e.g., such as that seen in
For the purposes of this disclosure, a nonlinear plasma load can be weakly nonlinear, strongly nonlinear, chaotic, or strongly nonlinear and chaotic. Traditional feedback systems are inoperable relative to strongly nonlinear and/or chaotic loads.
Overview of Method to Design Optimized Controller
One embodiment of the optimization algorithm can be seen in
Initial parameters and weights W(s) can be selected based on customer needs (Block 204), including the selection of parameters and weights to apply to a model of the power generation system, or the plant G(s), based on a closed loop feedback controller K(s) that provides feedback to the driver/phase controller. The initial guesses can be random or based on preferred values (e.g., nominal values based on previous parameters or standard calibration methods). Some non-limiting examples of initial parameters can include Ck, Tk, Kp, and where Ck is a two-pole roll-off weight gain (DC gain), Tk is a time constant of the weight (or bandwidth), Kp is a proportional gain of the PI portion of the weight, and Ki is an integral gain portion of the PI portion of the weight. These parameters can be optimized through the second phase of optimization seen in
Weights W(s) are selected by the customer so that the shaped plant, Gs=W2GW1, has a desired loop shape magnitude, where G is the actual plant and represents a transfer function for the nonlinear plasma load. The weights W(s) can be further modified to include desired features of the controller (e.g., notches, integral action). One non-limiting example of a selected weight is given as:
Where this definition of the weight shapes the DC gain via Ck, the bandwidth via Tk, and integrates a proportional-integral (PI) controller for low frequency and steady state tracking. The proportional and integral gains, Kp and KI, determine how aggressively the tracking is pursued. A model of the plant G(s) can be selected, for instance, taking into consideration the dynamic perturbations accounted for via one of Equations 4-11 to be discussed in the next section.
These initial guesses are passed to the optimization 201, which has two different phases of optimization, starting with an H∞ loopshaping optimization 206 as the first phase. The first phase optimizes for controller stability and can be characterized by an equation—hence, the H∞ loopshaping optimization 206 can be applied. However, the second phase optimizes for stability in terms of the plasma (nonlinear and possibly chaotic) and cable length, which cannot be characterized by a simple equation (and may include some stochasticity). As such, the H∞ loopshaping optimization 206 is not applicable to this second phase of the optimization, and instead the disclosure uses an iterative simulation and convergence approach based on different or overlapping performance metrics to the first phase (see Blocks 208, 210, 212, and 216). In many embodiments, a novel stability region size or area is used as a performance metric (or one of the performance metrics) in this second phase. As will be seen, a stability region grid and analysis thereof, is used as an illustrative example of this second phase of the optimization 201. However, those of skill in the art will appreciate that other optimizations can be used for the second phase, and thus the disclosure is not limited to calculation and quantification of a stability region for the second phase of the optimization 201.
The first phase or loopshaping 206 produces an optimized controller, K′N(s), or nominal controller, that is designed as a peak in variability of the parameters and dynamic structure of the controller. This can be done through a derivation procedure or “μ synthesis” for example, where μ synthesis can use robust control numerical methods. In other words, the optimized controller is designed for a worst-case scenario, or designed to maintain robust stability margins. This is partially what is meant by “robust:” a controller that can operate effectively within bounds or a worst-case scenario. Accordingly, the first phase of the optimization 201 is responsible for guiding the controller design toward a robust design and the generation of an optimized controller K′N(s).
Details of the First Phase of Optimization
More specifically, a model of the controller, K, and the power generation and sensors (or plant) G, is shown in
y=(I+GK)−1GKr+(I+GK)−1d−(I+GK)−1GKn (Equation 1)
u=K(I+GK−1r−K(I+GK)−1d−K(I+GK−1n (Equation 2)
e=(I+GK)−1r−(I+GK−1d−(I+GK)−1n (Equation 3)
Other parameters of the model in
This model can be further enhanced by accounting for dynamic perturbations in the plant G, for instance by selecting a model of the unstructured uncertainties of the plant, G, or a set of perturbed power generation systems 402 or plants, G(s) as they relate to the nominal model G0(s) and some perturbation Δs. In an embodiment, these transfer functions can be selected from one of the following eight depending on design goals:
Right coprime factor perturbations:
G(s)=NM−1=(N+ΔN)(M+ΔM)−1 (Equation 4)
Left coprime factor perturbations:
G(s)=({tilde over (M)}+Δ{tilde over (M)})−1(Ñ+ΔÑ) (Equation 5)
Inverse output multiplicative perturbation:
(G(s))−1=(G0(s)−1)[I+ΔS] (Equation 6)
Inverse input multiplicative perturbation:
(G(s))−1=[I+ΔS](G0(s)−1) (Equation 7)
Output multiplicative perturbation:
G(s)=[I+ΔS]G0(s) (Equation 8)
Input multiplicative perturbation:
G(s)=G0(s)[I+ΔS] (Equation 9)
Input additive perturbation:
(G(s))−1=(G0(s)−1)+Δ(s) (Equation 10)
Additive perturbation:
G(s)=G0(s)+Δ(s) (Equation 11)
Where G0(s) is a nominal model description of the physical system, and where ΔN(s) and ΔM(s) are stable perturbations with bounded H∞ norm:
The additive uncertainty representations (e.g., Equations 10-11) give an account of absolute error between actual dynamics and the nominal model, while the multiplicative representations (e.g., Equations 6-9) show relative errors. Further details of these plant definitions can be found in D.-W. Gu et al., Robust Control Design with MATLAB, Advanced Textbooks in Control and Signal Processing, DOI 10.1007/978-1-4471-4682-7_2. Springer-Verlag London 2013.
With this model in hand, the H∞ loopshaping (Block 206) optimizes for one or more first performance metrics that may include, but is not limited to, any one or more of tracking, disturbance attenuation, noise rejection, and less control energy. In other words, the H∞ loopshaping can minimize for one or more of the following:
good tracking:
∥(I+GK)−1∥∞ (Equation 13)
good disturbance attenuation:
∥(I+GK)−1∥∞ (Equation 14)
good noise rejection:
∥(I+GK)−1GK∥∞ (Equation 15)
less energy controller:
∥K(I+GK)−1∥∞ (Equation 16)
Each of these four norms are derived from Equations 1-3, and one sees that good tracking and good disturbance attenuation are minimized by the same function, for instance minimizing the influence of disturbance, d, on the output y in Equation 1. Similarly, minimizing for noise rejection via Equation 15 means minimizing the influence of noise, n, in Equation 1. Where one or more of the above are to be used for the first performance metric, they can be combined into a mixed sensitivity problem, such as Equation 17 for good tracking and low control signal energy:
This example cost function can also be interpreted as the design objectives of nominal performance, good tracking or disturbance attenuation, and robust stabilization, with regard to additive perturbation. Those of skill in the art will appreciate that Equation 17 is an example only, and that other optimization norms for other combinations of the metrics represented by Equations 13-16 can also be used.
Additionally, it will also be appreciated that a sensitivity function is defined as:
S:=(I+GK)−1 (Equation 18)
And a complementary sensitivity function is defined as:
:=(I+GK)−1 GK (Equation 19)
Since the sum of the sensitivity function and the complementary sensitivity function is 1, increasing S leads to a decrease in and vice versa. Accordingly, it is not trivial to optimize for any of Equations 13-16 since the sensitivity and complementary sensitivity functions move in opposite directions. Since the sensitivity and complementary sensitivity functions optimize in opposite directions, one can optimize over specific frequency ranges via use of weights, W1 and W2. More specifically, the first weight, W1, can be chosen as a high-gain low-pass filter type as seen in Equation 20, and W2 is often set to 1.
Where one recalls that the weights are optimized in the second phase, not in the H∞ loopshaping. Said another way, the first phase of optimization seeks to minimize the sensitivity function, S, at low frequency, and minimize the complementary sensitivity function, at high frequency (since disturbance d is a low-frequency phenomena, and noise n is a high frequency phenomena), and to do this, the first weight, W1, tends to be high at low frequency and low at high frequency. The second weight, W2, can be arbitrary selected or can be optimized.
The H∞ loopshaping optimization 206 can use λ or μ numerical methods to determine static parameters or a dynamic structure of the controller K(s) such that the optimization 206 ensures that given a certain level of uncertainty (parametric or dynamic) of the power generation system (e.g., 402) is guaranteed to achieve the desired first performance metric(s) (e.g., speed of response and tracking capability) in real time in the worst-case scenario. The optimization 206 may also find an optimized controller K′(s) that can perform better than the worst-case scenario.
Having selected one or more first performance metrics, the H∞ loopshaping optimization (e.g., normalized coprime factor synthesis approach, among others), can be used in a first phase of the disclosed optimization algorithm to produce an optimized controller K(s) (Block 206) that can be further optimized via a second portion of the disclosed optimization algorithm. In loop-shaping the controller structure and gains are selected such that the magnitude of the frequency response of the open loop transfer function has particular characteristics—or a particular shape. The controller K(s) is obtained as the solution to the H∞ optimal control problem shown in
K=W1KSW2 (Equation 21)
Gs=W2GW1 (Equation 22)
The H∞ optimal controller synthesis solution provides Ks solving for the global minimum of the selected first performance metric or selected first mixed performance metric, and the resulting optimized controller K′N(s) provides robust stability to coprime factor uncertainty for the shaped plant Gs, with robustness level Y.
One can think of the whole optimization (first and second phases) as selecting the weights, W1 and W2, so that the shaped plant, Gs=W2GW1 has a desired loop shape magnitude. The controller K=W1KsW2 will provide the same loop shape magnitude and stability margins for the original plant G. Hence the term loopshaping—one simply chooses the desired loop shape magnitude and the H∞ optimization and second phase of optimization solves for the controller that delivers as close to that as it can, whilst still having good robust stability margins. Desired features in the controller can be included in the weights, W1 and W2. With a better appreciation of the options available in the first phase 206 of the optimization 201, one can next turn to details of the second phase of the method 200 (i.e., how is the optimized controllers K′N(s) further optimized in terms of the weights W(s)).
Details of the Second Phase of Optimization
The second phase of the optimization 201 determines the parameters that make up the weight function W(s), for instance, the parameters Ck, Tk, Kp, and Ki. More specifically, the second phase begins with the test or simulation 208, which can be carried out on a test bed in software, hardware, or both. This test bed should simulate or be a customer's physical system (e.g., a plasma processing system). For instance, the first optimized controller K′1(s) can be tested on a physical power generation system providing pulsed power to a plasma load, or simulated in software modeling a physical power generation system in concert with a simulated plasma load. In other embodiments, the simulation can start on software, and later switch to hardware-based simulation, for instance, when the convergence 212 falls below a threshold, but has yet reached convergence (i.e., 212=No, but the convergence value is below a threshold). One embodiment of this alternative optimization 301 is shown in
In some embodiments, the simulation can include simulating a target waveform (a target simulated waveform) of pulsed power with at least one pulse above and below a setpoint power, such as 800 W, for a given cable length or impedance rotation angle, and monitoring whether the optimized controller K′N(s) tracks the target waveform within thresholds of error (e.g., average tracking error . . . often within 10%) and time (e.g., see
For the simulation, a slow rail controller and a fast drive/phase controller can be assumed with the form:
Where Cp and Tp are open loop parameters.
This simulation can be performed for each combination of power setpoint and cable length to form a stability region grid. An example of such a grid is shown in
The stability region grid for the first optimized controller K′1(s) can be analyzed (Block 210) and that, along with a selection of a desired one or more second performance metrics 203 (e.g., stability region size/area), provides a qualitative value associated with the stability region grid. For instance, this second performance metric can be stability region size at a particular power.
The quantified analysis can be passed to a convergence decision 212, which looks to see whether quantitative values for the one or more second performance metrics are converging as compared to previous optimized controllers. Convergence is not possible for the first optimized controller K′1(s) since no previous results are available to compare to. As such, Decision 212=No, and new parameters and weights are selected 216 to feed into a second loop of the optimization 201. Thus ends the second phase, and a return to the first phase or the H∞ optimization 206. The new weights and parameters can be selected in a linear fashion, based on a more complex relation to previous values, or arbitrarily. This selection will be based on the type of convergence algorithm being pursued and is not limiting of the optimization 201.
In the second loop of the optimization 201, the H∞ loopshaping optimization 206 produces a second optimized controller K′2(s) based on the newly-selected parameters and weights from 216. This second optimized controller K′2(s) is then passed through the test/simulation 208 to produce a second stability region grid that is analyzed 210 based again on the second performance metric. The value returned from this analysis 210 is compared to the value from the first loop through the optimization 201 and convergence is determined 212, which is also typically not possible on this second loop. At least a third loop is needed in most embodiments before convergence is possible (i.e., 212=Yes).
The convergence determination 212 looks at the one or more second performance metrics selected in 203. For instance, the selected performance metric could be stability region area, and
It should also be noted that, where stability region size or area is used as the second performance metric, the power setpoint (for stability region size) or range of power setpoints (for stability region area) is selected as part of the second performance metric. For instance, where stability region area is used, a range of 800-1000 W could be selected, which in
Once convergence has occurred (Decision 212=Yes), the optimized controller K′N(s) for that iteration (the Nth iteration) is selected as the final design (Block 214), and this ends the second phase and thus the optimization 201. The final controller design can be written as:
With the final weight, W(s) written as:
The final controller can be implemented as the H∞ controller 450 or 550. (e.g., in an FPGA program).
To reduce latency and allow for more real-time target waveform tracking, the simulations 208 to form the stability region grid for the optimized controller K′N(s), can be parallelized. For instance, the “parsim” command in MATLAB can be used to process multiple stability region grid points in parallel.
The methods described in connection with the embodiments disclosed herein may be embodied directly in hardware, in processor-executable code encoded in a non-transitory tangible processor readable storage medium, or in a combination of the two. Referring to
This display portion 1012 generally operates to provide a user interface for a user, and in several implementations, the display is realized by a touchscreen display. In general, the nonvolatile memory 1020 is non-transitory memory that functions to store (e.g., persistently store) data and processor-executable code (including executable code that is associated with effectuating the methods described herein). In some embodiments for example, the nonvolatile memory 1020 includes bootloader code, operating system code, file system code, and non-transitory processor-executable code to facilitate the execution of a method described with reference to
In many implementations, the nonvolatile memory 1020 is realized by flash memory (e.g., NAND or ONENAND memory), but it is contemplated that other memory types may be utilized as well. Although it may be possible to execute the code from the nonvolatile memory 1020, the executable code in the nonvolatile memory is typically loaded into RAM 1024 and executed by one or more of the N processing components in the processing portion 1026.
The N processing components in connection with RAM 1024 generally operate to execute the instructions stored in nonvolatile memory 1020 to enable operation of an H∞ controller. For example, non-transitory, processor-executable code to effectuate the methods described with reference to
In addition, or in the alternative, the processing portion 1026 may be configured to effectuate one or more aspects of the methodologies described herein (e.g., the method described with reference to
The input component 1030 operates to receive signals (e.g., the target waveform or power setpoint) that are indicative of one or more aspects of the desired generator 402 output. The signals received at the input component may include, for example, a target waveform. The output component generally operates to provide one or more analog or digital signals to effectuate an operational aspect of the H∞ controller or control section 412.
The depicted transceiver component 1028 includes N transceiver chains, which may be used for communicating with external devices via wireless or wireline networks. Each of the N transceiver chains may represent a transceiver associated with a particular communication scheme (e.g., WiFi, Ethernet, Profibus, etc.).
Some portions are presented in terms of algorithms or symbolic representations of operations on data bits or binary digital signals stored within a computing system memory, such as a computer memory. These algorithmic descriptions or representations are examples of techniques used by those of ordinary skill in the data processing arts to convey the substance of their work to others skilled in the art. An algorithm is a self-consistent sequence of operations or similar processing leading to a desired result. In this context, operations or processing involves physical manipulation of physical quantities. Typically, although not necessarily, such quantities may take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared or otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to such signals as bits, data, values, elements, symbols, characters, terms, numbers, numerals or the like. It should be understood, however, that all of these and similar terms are to be associated with appropriate physical quantities and are merely convenient labels. Unless specifically stated otherwise, it is appreciated that throughout this specification discussions utilizing terms such as “processing,” “computing,” “calculating,” “determining,” and “identifying” or the like refer to actions or processes of a computing device, such as one or more computers or a similar electronic computing device or devices, that manipulate or transform data represented as physical electronic or magnetic quantities within memories, registers, or other information storage devices, transmission devices, or display devices of the computing platform.
The terms and expressions employed herein are used as terms and expressions of description and not of limitation, and there is no intention, in the use of such terms and expressions, of excluding any equivalents of the features shown and described or portions thereof. Each of the various elements disclosed herein may be achieved in a variety of manners. This disclosure should be understood to encompass each such variation, be it a variation of an embodiment of any apparatus embodiment, a method or process embodiment, or even merely a variation of any element of these. Particularly, it should be understood that the words for each element may be expressed by equivalent apparatus terms or method terms—even if only the function or result is the same. Such equivalent, broader, or even more generic terms should be considered to be encompassed in the description of each element or action. Such terms can be substituted where desired to make explicit the implicitly broad coverage to which this invention is entitled.
As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
As used herein, the recitation of “at least one of A, B and C” is intended to mean “either A, B, C or any combination of A, B and C.” The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present disclosure. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the disclosure. Thus, the present disclosure is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.