Identification and compensation of power converter loop gain using machine learning models
By employing machine learning models to analyze transient output voltage data, the method addresses the invasive and inaccurate nature of existing control loop analysis techniques, achieving efficient and accurate optimization of power supply device performance.
Patent Information
- Application Number
- JP2024544796
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-01-30
- Filing Date
- 2023-01-30
- Publication Date
- 2025-03-18
AI Technical Summary
Existing techniques for analyzing and compensating control loops in power supply devices are invasive, time-consuming, and often inaccurate due to the limitations of conventional modeling approaches, which fail to account for nonlinearities and changing parameters over time.
A method using machine learning models to determine the frequency domain loop response of power supply device control loops by analyzing transient output voltage data, allowing for non-invasive and efficient identification and optimization of control loop configurations.
This approach enables rapid and accurate prediction of frequency domain loop responses, allowing for efficient optimization and maintenance of power supply device performance over varying operating conditions.
Smart Images

Figure 2025507268000001_ABST
Abstract
Description
[Technical Field]
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit of and priority to U.S. Non-Provisional Patent Application No. 18 / 103,155, filed January 30, 2023, and U.S. Provisional Patent Application No. 63 / 304,179, filed January 28, 2022, the contents of which are incorporated herein by reference in their entireties. [Background technology]
[0002] The frequency response of a control loop in a switched-mode power supply device can be identified using a network analyzer. Such identification involves measurements on the power supply device. Performing the measurements is a fairly tedious and time-consuming process. The process can also be intrusive in that the measurements typically involve opening the control loop and injecting a perturbation signal into the power supply device.
[0003] Compensating a control loop also involves specialized analysis, which can be intrusive and time-consuming. The use of general modeling approaches can be limited and / or inaccurate in supporting the design of a control loop that results in satisfactory performance of a power device. When available, commonly used analytical linearized models may yield inadequate compensation results, accounting for nonlinearities that may exist in the operation of a power device incorporating a control loop. To complicate such issues, parameters of the power components that make up a power device may change over time and / or over operating conditions. As a result, a control loop design that is theoretically satisfactory at a particular time and under particular operating conditions may be inadequate in practice.
[0004] Therefore, techniques for analysis and compensation of control loops in power supply devices are still lacking. Summary of the Invention [Means for solving the problem]
[0005] One aspect includes a method that includes receiving data indicative of a transient output voltage of a power supply device. The method also includes determining a frequency-domain loop response of a control loop of the power supply device by applying a machine learning model to the data indicative of the transient output voltage. Such a frequency-domain loop response may be referred to as a loop-gain-frequency response. As used herein, a machine learning model is a machine learning model that has been trained according to aspects of the present disclosure.
[0006] Another aspect includes a method that includes accessing data indicative of a plurality of transient output voltage waveforms corresponding to respective operating configurations of a power supply device. The method also includes accessing respective target gain responses in the frequency domain for the plurality of transient output voltage waveforms and accessing respective target phase responses in the frequency domain for the plurality of transient output voltage waveforms. The method further includes training a machine learning model that predicts a frequency-domain loop response of a control loop of the power supply device using the plurality of transient output voltage waveforms.
[0007] An additional aspect includes a computing device including at least one processor and at least one memory device storing processor-executable instructions, the processor-executable instructions, in response to execution by the at least one processor, causing the computing device to receive data indicative of a transient output voltage of a power supply device and determine a frequency-domain loop response of a control loop of the power supply device by applying a machine learning model to the data indicative of the transient output voltage.
[0008] This Summary is not intended to highlight any particular aspects of the disclosed technology, nor is it intended to limit the scope of such technology in any way. This Summary merely covers some of the many aspects of the disclosure as a brief introduction to the more detailed description that follows.
[0009] The accompanying drawings form part of this disclosure and are incorporated into the subject specification. The drawings illustrate exemplary aspects of the disclosure and, together with the following detailed description, serve to explain, at least in part, various principles, features, or aspects of the disclosure. Some aspects of the disclosure are described more fully below with reference to the accompanying drawings. However, various aspects of the disclosure may be embodied in many different forms and should not be construed as limited to the implementations set forth herein. Like numbers refer to like elements throughout. [Brief explanation of the drawings]
[0010] [Figure 1] 1 is a schematic block diagram of an example system for predicting the loop gain frequency response of a power supply device using machine learning, in accordance with one or more aspects of the present disclosure. [Figure 2] 1 is a diagram of an example of a power supply circuit coupled with a compensation circuit in accordance with one or more aspects of the present disclosure. [Figure 3] 1 includes example plots of transient output voltage in the frequency domain, gain response, and phase response in the frequency domain, in accordance with one or more aspects of the present disclosure. [Figure 4A] 1 is a block diagram of an example system for training a machine learning model in accordance with one or more aspects of the present disclosure. [Figure 4B] 1 is a block diagram of an example process flow for training a machine learning model for prediction of closed-loop gain response of a power supply device, in accordance with one or more aspects of the present disclosure. [Figure 5] 1 is a schematic block diagram of an example system for tuning a compensation device that configures the operation of a power supply device, in accordance with one or more aspects of the present disclosure. [Figure 6] 1 is a plot of an optimization path in bandwidth-phase margin space, in accordance with one or more aspects of the present disclosure. [Figure 7] 1 is a block diagram of an example device that can provide various functions of identifying and adjusting the frequency domain loop response of a control loop of a power supply device in accordance with one or more aspects of the present disclosure. [Figure 8] 1 is a flowchart of an example method for predicting a frequency-domain loop response of a control loop of a power supply device, in accordance with one or more aspects of the present disclosure. [Figure 9] 1 is a flowchart of an example method for tuning the performance of a power device according to aspects described herein. DETAILED DESCRIPTION OF THE INVENTION
[0011] The present disclosure recognizes and addresses, among other technical challenges, the problem of identifying the frequency-domain loop response of a control loop in a switched-mode power supply device and compensating for such control loop. Identifying an optimal or near-optimal configuration of the control can result in satisfactory performance and reliability of the power supply device. Power supply design and testing typically rely on intrusive measurements aimed at probing the frequency-domain loop response of the control loop. Such analysis can be time-consuming and involves measuring or otherwise obtaining the frequency-domain loop response. Compensating the control loop can be time-consuming. Compensation also involves modeling the control architecture that forms part of the power supply device. However, conventional models for some power control architectures may not be available, and even if they are available, these models may have limitations that can reduce the reliability of the control loop design.
[0012] As described in more detail below, aspects of the present disclosure include techniques, methods, and computing devices that, individually or collectively, enable efficient and non-intrusive identification of the frequency response of a control loop of a power supply device and enable adjustment of the configuration of the control loop to achieve and / or maintain desired performance. To that end, in some aspects, a machine learning model can be generated using time-domain data representing multiple transient output voltage waveforms and ground truth frequency-domain loop responses of the control loop. By using numerous (e.g., thousands or tens of thousands) operating configurations of the control loop and / or other portions of the power supply device, the machine learning model can be broadly applicable and can efficiently predict the frequency-domain loop response of the control loop based on transient output voltage waveforms in the time domain. Additionally, according to other aspects, the configuration of the power supply device can be adjusted over time based on the transient output voltage waveforms in the time domain and the predicted frequency-domain loop response of the control loop to those waveforms.
[0013] In contrast to existing techniques, aspects of the present disclosure provide non-intrusive identification of the frequency-domain loop response of a control loop under various operating conditions during operation of a power device including the control loop. Because transient output voltage waveforms are measured without injecting perturbation signals into the control loop, identifying such frequency-domain loop responses is drastically faster (e.g., by several orders of magnitude) than conventional approaches. For example, identification of the frequency-domain loop response of a control loop can be achieved in about one minute using conventional approaches after setting up an appropriate testbed. In stark contrast, the same identification of the frequency-domain loop response of a control loop can be achieved in less than about tens of milliseconds using the machine learning approach of the present disclosure. In addition, because the machine learning model arises from measured transient output waveforms of a wide range of configurations of the power device, the machine learning model incorporates the effects of nonlinearities and other characteristics of the power elements that make up the power device. As a result, the predicted frequency-domain loop response of the control loop is more accurate than other frequency-domain loop responses modeled or otherwise obtained with conventional approaches. The efficiency and accuracy of frequency-domain loop response predictions provided by the present disclosure make it possible to easily optimize, improve, or otherwise achieve satisfactory performance of a power device. Optimal or otherwise satisfactory performance can be effectively maintained over time.
[0014] 1 is a schematic block diagram of an example system 100 for prediction of a frequency-domain loop response of a control loop of a power supply device 110 using a machine learning model, in accordance with one or more aspects of the present disclosure. The example system 100 includes a power supply device 110 that can provide an output voltage to one or more load devices 130 (commonly referred to as load devices 130). Changes in the operating conditions of the load devices 130 can result in a transient output voltage V at the output of the power supply device 110. out It may cause (t).
[0015] The power supply device 110 may be embodied as a switch mode power converter. Thus, the power supply device 110 receives an input voltage V inand V in , which may generate a time-dependent output voltage by modulating V. In some cases, the modulator 114 may apply pulse width modulation (PWM) to modulate V. in The power supply device 110 may also include an output filter 118 that may smooth the modulated output voltage provided by the modulator 114. The output filter 118 may be an RC filter, an LC filter, or another type of suitable filter.
[0016] The power supply device 110 may also include a feedback control loop. The feedback control loop may receive the output voltage provided to the load device 130. In response, the feedback control loop may cause the power supply device 110 to operate in accordance with desired or satisfactory performance, even in the presence of transients due to changes in the operating conditions of the load device 130. More specifically, the feedback control loop may include, for example, an error amplifier 122 and one or more compensation components 126 (commonly referred to as compensation components 126). The error amplifier 122 may also receive a reference voltage V REF The error amplifier 122 can receive V REF and the output voltage may be sent to a compensation component 126. Based on the resulting signal, the compensation component 126 may adjust a group of operating parameters to operate the modulator 114 so that the output voltage behaves according to a desired or satisfactory performance. The modulator 114, the output filter 118, the error amplifier 122, and the compensation component 126 may comprise a device that may be referred to as a power converter. Merely by way of illustration, FIG. 2 presents an example circuit of the power supply device 110.
[0017] In the exemplary system 100, the output voltage from the power supply device 110 may also be provided to the computing device 140. Thus, the computing device 140 may receive the transient output voltage of the power supply device 110. More specifically, the computing device 140 may obtain data indicative of the transient output voltage. The computing device 140 may use the data to determine a frequency-domain loop response of a control loop of the power supply device 110. To do so, the computing device 140 may apply a machine learning model 154 to the data indicative of the transient output voltage. The computing device 140 may retain the machine learning model 154 in one or more memory devices (not shown in FIG. 1 ). The machine learning model 154 is a machine learning model that has been trained according to aspects of the present disclosure. Thus, the computing device 140 may non-intrusively identify the closed-loop gain of the power supply device 110 by applying the machine learning model 154 to the transient output voltage of the power supply device 110. Computing device 140 includes various types of computing resources, such as one or more processors, one or more memory devices, one or more network interfaces (wireless or otherwise), one or more peripheral adapters, one or more input / output (I / O) interfaces or other types, or combinations of similar resources. Computing device 140 can have various degrees of complexity and form factors. In one example implementation, computing device 140 can be part of an embedded system in which computing device 140 is assembled in the same package that includes power device 110.
[0018] Computing device 140 may provide data 160 defining a frequency-domain loop response of the control loop of power supply device 110. Such a response is represented by G(w) in FIG. 1 and may be referred to as a loop-gain frequency response. In some cases, the loop-gain frequency response may be represented by a gain response and a phase response. In other cases, the closed-loop gain response may simply be represented by a real part and an imaginary part instead of gain and phase. Computing device 140 may provide data 160 to a display device, for example, for visualization in a user interface. Additionally, or in some cases, computing device 140 may also provide one or more performance metrics based on the loop-gain frequency response. For example, computing device 140 may use the loop-gain frequency response to determine the gain bandwidth, gain margin, and phase margin of power supply device 110.
[0019] FIG. 3 includes a plot 310 of an example transient output voltage waveform that can serve as input to the machine learning model 154. FIG. 3 also includes a plot 320 of a gain response in the frequency domain of a power supply outputting a transient output voltage and a plot 330 of a phase response in the frequency domain of the power supply device. The power supply device may be, for example, the power supply device 110. Plots 320 and 330 present three traces, respectively, representing approaches used to determine the gain and phase responses in the frequency domain. The approaches include measurements, the machine learning approach of the present disclosure, and traditional modeling. It can be seen that for both the gain and phase responses, the machine learning approach predicts the observed data more accurately than the traditional approach. While not intending to be bound by the modeling or interpretation, greater predictive accuracy of the machine learning approach can result from training the machine learning model using measured transient output voltage waveforms and measured loop gain-frequency responses. By using such waveforms, the machine learning model resulting from training can incorporate various real-world factors (e.g., parasitic capacitances) associated with the operation of the power supply device.
[0020] FIG. 4A illustrates an example system 400 for training a machine learning model to predict a frequency-domain closed-loop response of a power device including a feedback control loop, according to one or more aspects of the present disclosure. The power device may be power device 110 (FIG. 1). The machine learning model may include a neural network, such as a convolutional neural network (CNN). In one example, the CNN may include an encoder section (also referred to as an encoder model) and a decoder section (also referred to as a decoder model). The machine learning model may be defined by a set of parameters (or weights). In some cases, the set of parameters may have approximately 90,000 parameters. The present disclosure is not limited in this respect and machine learning models having other numbers of parameters may be utilized.
[0021] The exemplary system 400 includes a data storage 410 containing transient data 414 indicative of transient output voltage waveforms corresponding to respective operating configurations of the power device. In some cases, the operating configurations may be generated by varying some operating parameters of at least one compensation component that is part of a feedback control loop. Additionally, or in other cases, other operating parameters of the power device may be varied to generate a particular configuration of the power device. An instrument 402 (e.g., an oscilloscope) may generate the transient data 414 from measurements on hardware including the power device. The instrument 402 may provide the transient data 414 as part of other data 406 that may also be used in training a machine learning model according to aspects of the present disclosure. As represented by the dotted line, the instrument 402 is not part of the exemplary system 400. In addition to the oscilloscope, the instrument 402 may include a frequency analyzer and / or other instruments.
[0022] The data storage 410 also includes target response data 418 indicating a target (or ground truth) frequency-domain closed-loop response for a transient output voltage waveform of the power supply device. The target response data 418 may correspond to the transient data 414. For example, the data 418 may include first data indicating respective first target frequency-domain closed-loop responses for a plurality of first transient output voltage waveforms, and the transient data 414 includes first data indicating the plurality of first transient output voltage waveforms. The instrument 402 (e.g., a frequency analyzer) may generate the data 418 from measurements on hardware including the power supply device. The instrument 402 may provide the data 418 as part of the data 406. The target (or ground truth) frequency-domain closed-loop response may be expressed as a target (or ground truth) gain response and a target phase response in the frequency domain. Such target gain response and target phase response may be represented by G(ω) and Φ(ω), respectively, where ω represents frequency.
[0023] 4A, device 402 is shown providing data 406 directly to data storage 410, although the disclosure is not limited in that respect. Data storage 410 may receive transient data 414 and target response data 418 from other types of devices other than device 402 after such data is generated by device 402 or other devices.
[0024] Having generated ground truth for each of the plurality of transient output voltages, the training module 440 included in the exemplary system 400 can train a machine learning model to predict a frequency-domain closed-loop response. To that end, the training module 440 can receive first data indicative of a plurality of transient output voltage waveforms and second data indicative of a target frequency-domain closed-loop response for each such waveform. The first data and the second data form a training data set on which the training module can operate to train the machine learning model. More specifically, the training module 440 can use the first data to generate a feature vector for each of the plurality of transient output voltage waveforms. The training module 440 can then use the respective feature vectors to predict or otherwise determine a frequency-domain closed-loop response by applying the machine learning model being trained. In some cases, the training module 440 can predict or otherwise determine a gain response in the frequency domain by applying the machine learning model to the respective feature vectors, and can model a phase response in the frequency domain. That is, for each of the respective feature vectors, the training module 440 generates a gain response in the frequency domain.
number
number
number
number
[0025] The machine learning model can be parameterized, and thus the training module 440 can train the machine learning model by determining a solution to an optimization problem for a loss function based on (i) respective target gain responses for the plurality of transient output voltage waveforms, (ii) respective target phase responses for the plurality of transient output voltage waveforms, (iii) predicted gain responses for each feature vector corresponding to the plurality of transient output voltage waveforms, and (iv) predicted phase responses. Such a solution identifies a particular set of parameters that defines the optimized machine learning model 450. The optimized machine learning model 450 is referred to as a machine learning model. The training module 440 can persist the machine learning model 450 in a data storage 460 (referred to simply as a model repository for naming purposes). While the data storage 410 and the data storage 460 are shown separately in FIG. 4A , the present disclosure is not limited in that respect, and in some cases, the data storage 410 and the data storage 460 can actually be part of the same data storage.
[0026] The loss function can be a weighted mean squared error function, and each term within the loss function is weighted by a defined frequency - dependent function W(ω). For illustrative purposes only, W(ω) can assign a larger weight near the crossover frequency of the power device (where the gain crosses 0 dB), and also assign a smaller weight at high frequencies where the target closed - loop gain response may be noisy (e.g., above half of the switching frequency of the power device). If the machine - learning model is trained to predict the gain response in the frequency domain and the phase response in the frequency domain, the loss function can be as follows: [Number] where N is the number of elements in the training dataset, e.g., the number of configurations of the power device that can be achieved by changing the operating parameters of the feedback control loop and / or other components of the power device. For example, N can be on the order of 10 4 or so.
[0027] FIG. 4B is a block diagram of an exemplary process flow for training a machine - learning model to predict loop - gain frequency response according to one or more aspects of the present disclosure. The training module 440 can implement the process flow shown in FIG. 4B. The machine - learning model receives input data representing the transient output voltage waveform of a power device (e.g., power device 110). The input data can be defined in the time domain and represent the transient output voltage waveform as a time series having a defined number Q of elements. In one example, Q = 8192. Such a waveform is denoted as V t [q] in FIG. 4B. When applied to the waveform, the model can include a down - sampling section 482 that results in a down - sampled version of V t [q]. The down - sampled version of V t [q] is denoted as V t [k] and has K elements where K < Q. In one example, K = 1024. The model can also include a section that operates on V t [k] (Vt To generate the feature vector F[ ], the feature generation and pre-processing section 484 may include a feature generation and pre-processing section 484 that can generate a feature vector based on V[ ] (a downsampled version of V[ ]). t [k] may be trimmed. Additionally, or in some cases, feature generation and preprocessing section 484 may operate on F[·]. In one example, feature generation and preprocessing section 484 may normalize the vectors to have zero mean and / or apply signal processing operations (e.g., smoothing). Parameters associated with operations corresponding to downsampling section 482 and feature generation and preprocessing section 484 may not be updated during training.
[0028] During training, the model may further include a data augmentation section 486 that can augment the feature vector before feeding it to a neural network 488 (e.g., a CNN) for prediction of loop gain frequency response. Augmenting the feature vector may include adding random variation to the signal during training to improve the robustness of the model. For example, the data augmentation section 486 may shift elements of the feature vector by a respective random amount and / or add an amount of random noise. The amount of added noise may be sufficient to shift such elements while preserving the characteristics of the input waveform. By augmenting the feature vector during training (but not during testing / production), the model being trained can adapt to the relevant characteristics of the input instead of overfitting to the noise.
[0029] In some cases, metadata may also be used as input to the neural network 488. The metadata may be known information of the power device. For example, the metadata may indicate the switching frequency and / or the values of one or more compensation parameters of the power device. Such values may include, for example, resistance and / or capacitance values. The metadata may be incorporated in various manners. In some example implementations, the metadata may be added to an intermediate vector generated by an intermediate layer of the neural network 488. More specifically, the intermediate vector may be generated by an output layer of the encoder section of the neural network 488. The intermediate vector results from the application of the encoder section to the augmented feature vector input to the neural network 488. The metadata may be added to the intermediate vector by adding metadata entries (e.g., first metadata, second metadata, etc.) as additional elements of the intermediate vector. In other words, the metadata may be represented as a metadata vector and added to the intermediate vector. Such addition results in an augmented vector that can be input to the decoder section of the neural network 488. The neural network 488 can generate an output by applying a decoder section (or decoder model) to the augmented vector.
[0030] Whether or not metadata is used, the output of the neural network section 488 provides the output of the machine learning model. The output is a model (or predicted) loop gain frequency response. Such a response can be expressed as a gain response and a phase response. The predicted closed-loop gain response is evaluated against a target closed-loop gain response using a loss function (e.g., weighted MSE) as described herein.
[0031] Because machine learning models according to aspects of the present disclosure can provide sufficient knowledge of the control loop transfer function of a power supply device, the machine learning models can be used to automatically configure the control feedback loop. Thus, one or more compensation components in the control feedback loop can be non-intrusively adjusted in response to changes in the operating conditions of a load device during operation of the power supply device. In that way, the power supply device can be configured to provide satisfactory (e.g., optimal or near-optimal) performance over a wide range of operating conditions.
[0032] To that end, as illustrated in the example system 500 of FIG. 5 , the computing device 140 may include a tuning module 510 that can adjust one or more operating parameters of the compensation component 126, thereby causing the power supply device 110 to operate in accordance with such operating parameters. The tuning module 510 may adjust the operating parameters based on an output voltage (e.g., a transient output voltage) received from the power supply device 110 and a predicted frequency-domain closed-loop gain that is also based on the output voltage. The tuning module 510 may obtain the predicted frequency-domain closed-loop gain from the predictor module 150. The operating parameters may include compensation parameters of the particular type of compensation device represented by the compensation component 126. For illustrative purposes only, in one example, the compensation device may be a Type II compensation network, and the operating parameters may be Type II compensation parameters. In another example, the compensation device may be a Type III compensation network, and the operating parameters may be Type III compensation parameters. In yet another example, for some types of digital controllers, the compensation device may include a proportional-integral-derivative (PID) controller, and the operating parameters may be poles or zeros of the PID controller.
[0033] To identify one or more operating parameters that result in satisfactory performance of power device 110, tuning module 510 may use an objective function. The objective function may be based on a transient output voltage waveform and / or a frequency-domain closed-loop gain of power device 110. The objective function may include performance metrics of power device 110. By way of example only, the objective function may be defined to maximize or otherwise achieve a desired gain bandwidth while maintaining a 60° phase margin.
number
[0034] More specifically, tuning module 510 can determine a solution to an optimization problem with respect to an objective function, the solution defining a particular group of operating parameters for power supply device 110. Determining such a solution causes power supply device 110 to operate in accordance with the particular group of operating parameters. By way of example only, in some cases, the group of operating parameters includes compensation parameters of a Type II compensation network. The compensation parameters correspond, for example, to amplifier gain values, resistor values, and capacitor values.
[0035] As mentioned, the objective function may include a performance metric of the power supply device 110. The tuning module 510 may determine a solution to the optimization problem by iteratively adjusting a group of operating parameters until a termination criterion is met. The group of operating parameters may be updated based on time-domain data indicative of a transient output voltage and a model frequency-domain closed-loop gain of the power supply device 110. The predictor module 150 may generate a model frequency-domain closed-loop gain by applying a machine learning model 154 to the time-domain data.
[0036] For illustrative purposes only, the implementation of the iteration and subsequent successive iterations is described herein as part of iteratively adjusting a group of operating parameters. The tuning module 510 may determine a first value of a performance metric (e.g., phase margin) of the power supply device 110 based on at least one of a transient output voltage or a predicted frequency-domain closed-loop response. The tuning module 510 may then adjust the group of operating parameters based on optimization rules. The optimization rules dictate how to transition between operating configurations (of the power supply) within a space of operating parameters. In other words, the optimization rules dictate how to select a next configuration from a current configuration. Examples of optimization rules include a local greedy grid search algorithm and a Bayesian optimization algorithm. The tuning module 510 may operate the power supply device 110 according to the adjusted group of operating parameters. To that end, in some cases, each operating parameter corresponds to a programmable element that configures the power supply device 110, and the tuning module 510 may send programming instructions that define a desired value of the programmable element. Examples of programmable elements include programmable resistors, programmable capacitors, and programmable amplifier gains. Another example of a programmable element is a programmable register, the particular register settings of which can define the location of a pole or zero in a control loop of the power supply device 110 and / or the slope or threshold level of a signal in the control loop.
[0037] In some cases, the tuning module 510 may determine that a termination criterion is not met. For example, the tuning module 510 may determine that a first value of the performance metric is less than a defined threshold. In response to such a determination, the tuning module 510 may implement a next iteration. Specifically, the tuning module 510 may receive time-domain data indicative of a second transient output voltage of the power supply device 110. The tuning module 510 may then determine a second predicted frequency-domain closed-loop response of the power supply device 110 by applying the machine learning model 154 to the time-domain data indicative of the second transient output voltage. The tuning module 510 may determine a second value of the performance metric based on at least one of the second transient output voltage or the predicted frequency-domain closed-loop response. The tuning module 510 may then further adjust the group of operating parameters based on the optimization rule. The tuning module 510 may operate the power supply device 110 in accordance with the further adjusted group of operating parameters.
[0038] In stark contrast to existing technology, tuning module 510 can non-intrusively configure power device 110 in response to changes in operating conditions of load device 130 during operation of power device 110. In some cases, tuning module 510 can automatically and non-intrusively adjust power device 110 to achieve desired or otherwise satisfactory performance. Additionally, or in other cases, tuning module 510 can cause power device 110 to maintain desired or otherwise satisfactory performance as power device 110 operates. FIG. 6 is a plot 610 of an optimization path (represented by straight line segments) in bandwidth-phase margin space in accordance with one or more aspects of the present disclosure. Tuning module 510 can cause power device 110 to achieve a phase margin and high-gain bandwidth greater than a threshold (e.g., 50 degrees (50°) represented by the dashed line) in fewer than 10 iterations, traversing the space of possible configurations of a group of operating parameters along the optimization path.
[0039] FIG. 7 illustrates an example of a computing device 710 that can provide various functions for identifying and adjusting a frequency-domain loop response of a control loop of a power device according to aspects of the present disclosure. The type of components for frequency-domain analysis that the computing device 710 hosts can dictate the range of frequency-domain analysis functions that the computing device 710 provides. In some cases, the computing device 710 can host, in memory, the training module 440, the prediction module 150, and the tuning module 510. Thus, the computing device 710 can generate a machine learning model (e.g., the machine learning model 154) and apply the machine learning model to time-domain data indicative of a transient output voltage to identify a frequency-domain loop response of a control loop of a power device according to aspects of the present disclosure. In other cases, the computing device 710 can host the training module 440. In yet other cases, the computing device 710 can host the predictor module 150 and / or the tuning module 510. Merely by way of example, the computing device 710 can embody or include the computing device 140. Thus, in some cases, the computing device 710 may generate a machine learning model to predict the frequency-domain loop response of a control loop of a power device, or apply a machine learning model to time-domain data indicative of the transient voltage output of the power device.
[0040] Computing device 710 can provide such functionality in response to the execution of one or more software components retained within computing device 710. Such components can make computing device 710 a particular machine for analyzing frequency-domain loop responses of control loops of power devices, among other functionality computing device 710 may have. The software components can be embodied in or include one or more processor-accessible instructions, e.g., processor-readable instructions and / or processor-executable instructions. In one scenario, at least a portion of the processor-accessible instructions can be embodied and / or executed to perform at least a portion of one or more of the example methods or techniques disclosed herein. The one or more processor-accessible instructions embodying the software components can be arranged in one or more program modules that can be compiled, linked, and / or executed on computing device 710 or another computing device, for example. Generally, such program modules include computer code, routines, programs, objects, components, information structures (e.g., data structures and / or metadata structures), etc. that can perform particular tasks (e.g., one or more operations) in response to execution by one or more processors 714 integrated in the computing device 710.
[0041] Various exemplary aspects of the present disclosure may be operational with numerous other general-purpose or special-purpose computing system environments or configurations. Examples of well-known computing devices, computing system systems, environments, and / or configurations that may be suitable for implementing various aspects of the present disclosure in connection with analyzing the frequency-domain loop response of a control loop of a power supply device may include personal computers, server computers, laptop devices, handheld computing devices such as portable tablets or electronic book readers (e-readers), wearable computing devices, and multiprocessor systems. Additional examples may include programmable consumer electronics products, networked personal computers (PCs), minicomputers, mainframe computers, blade computers, programmable logic controllers, distributed computing environments that include any of the above systems or devices, and the like.
[0042] 7, computing device 710 includes one or more processors 714, one or more input / output (I / O) interfaces 716, one or more memory devices 720 (referred to as memory 720), and a bus architecture 722 (referred to as bus 722) that operatively couples the various functional elements of computing device 710. Computing device 710 may optionally include a radio unit 712. The radio unit 712 may include one or more antennas and a communication processing unit that may enable wireless communication between computing device 710 and another device, such as a remote computing device and / or a remote sensor. Bus 722 may include at least one of a system bus, a memory bus, an address bus, or a message bus and may enable exchange of information (data and / or signaling) between processor 714, I / O interface 716, and / or memory 720, or the respective functional elements therein. In some cases, bus 722 may be in conjunction with one or more internal programming interfaces 740 (also referred to as interfaces 740) to enable such exchange of information. When processor 714 includes multiple processors, computing device 710 may utilize parallel computing.
[0043] The I / O interface 716 may enable communication of information between the computing device 710 and an external device, such as another computing device. Such communication may include direct or indirect communication, such as exchanging information between the computing device 710 and the external device over a network or elements thereof. As illustrated, the I / O interface 716 may include one or more of a network adapter, a peripheral adapter, and a display unit. Such adapters may enable or facilitate a connection between an external device and one or more of the processor 714 or memory 720. For example, a peripheral adapter may include a group of ports that may include at least one of a parallel port, a serial port, an Ethernet port, a V.35 port, or an X.21 port. In certain aspects, the parallel port may include a general purpose interface bus (GPIB), IEEE-1284, and the serial port may include recommended standard (RS)-232, V.11, Universal Serial Bus (USB), FireWire, or IEEE-1394.
[0044] The I / O interface 716 may include a network adapter that can operatively couple the computing device 710 to one or more remote computing devices or sensors (not depicted in FIG. 7 ) via one or more traffic and signaling pipes that can enable or otherwise facilitate the exchange of traffic and / or signaling between the computing device 710 and such one or more remote computing devices or sensors. Such network coupling, provided at least in part by the network adapter, can be implemented in a wired environment, a wireless environment, or both. Information communicated by the network adapter may result from the implementation of one or more operations of a method according to aspects of the present disclosure. The I / O interface 716 may include two or more network adapters in some cases.
[0045] Additionally, or in some cases, depending on the architectural complexity and / or form factor of computing device 710, I / O interface 716 may include a human-machine interface unit that may enable control of the operation of computing device 710 or that may enable communication or disclosure of operating conditions of computing device 710. The human-machine interface may be embodied in or may include a display unit. The display unit may, in some cases, include a display device with touchscreen capabilities. Additionally, or in some cases, the display unit may include lights, such as light-emitting diodes, that may communicate the operating state of computing device 710.
[0046] The bus 722 may have at least one of several types of bus structures, depending on the architectural complexity and / or form factor of the computing device 710. The bus structure may include a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. Illustratively, such architectures may comprise an Industry Standard Architecture (ISA) bus, a MicroChannel Architecture (MCA) bus, an Enhanced ISA (EISA) bus, a Video Electronics Standards Association (VESA) local bus, an Accelerated Graphics Port (AGP) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express bus, a Personal Computer Memory Card International Association (PCMCIA) bus, a Universal Serial Bus (USB), etc.
[0047] Computing device 710 may include a variety of computer-readable media. Computer-readable media may be any available media (transitory and non-transitory) that can be accessed by a computing device. In one aspect, computer-readable media may include non-transitory computer storage media (or non-transitory computer-readable storage media) and communication media. Examples of non-transitory computer-readable storage media include any available media that can be accessed by computing device 710, including both volatile and non-volatile media, and removable and / or non-removable media. Memory 720 may include computer-readable media in the form of volatile memory, such as random access memory (RAM), and / or non-volatile memory, such as read-only memory (ROM).
[0048] The memory 720 may include a function instruction storage 724 and a function data storage 728. The function instruction storage 724 may include computer-accessible instructions that, in response to execution (e.g., by at least one of the processors 714), may implement one or more of the functions of the present disclosure in connection with analyzing a frequency-domain loop response of a control loop of a power device. The computer-accessible instructions may embody or include one or more software components illustrated as a frequency-domain analysis component 726. Execution of at least one component of the frequency-domain analysis component 726 may implement one or more of the methods described herein. Such execution may cause a processor executing the at least one component (e.g., one of the processors 714) to perform at least a portion of a method disclosed herein. In some cases, the frequency-domain analysis component 726 may include a training module 440, a prediction module 150, and a tuning module 510. In other cases, the frequency-domain analysis component 726 may include a training module 740. In still other cases, the frequency domain analysis component 726 may include the predictor module 150 and / or the tuning module 510 .
[0049] A processor of processor 714 executing at least one of frequency domain analysis components 726 may retrieve data from or retain data in one or more memory elements 730 in function data storage 728 to operate according to a function programmed or otherwise configured by frequency domain analysis component 726. One or more memory elements 730 may be referred to as analysis data 730. The data stored in one or more memory elements 730 may include at least one of code instructions, data structures, or the like. For example, at least a portion of such data structures may represent a machine learning model (e.g., machine learning model 154 or machine learning model 450) and / or other data according to aspects of the present disclosure. The other data may include, for example, time domain data and frequency domain data. More specifically, one or more memory elements 730 may include transient data 414 (FIG. 4A) and target response data 418 (FIG. 4A). That is, one or more memory elements 730 may include information residing in data storage 410 and / or model repository 460.
[0050] An interface 740 (e.g., an application programming interface) may enable or facilitate communication of data between two or more components within function instruction storage 724. Data that may be communicated by interface 740 may result from the implementation of one or more operations in the methods of the present disclosure. In some cases, one or more of function instruction storage 724 or function data storage 728 may be embodied in or include removable / non-removable and / or volatile / non-volatile computer storage media.
[0051] At least a portion of at least one of the frequency domain analysis component 726 or the frequency domain analysis data 730 can program or otherwise configure one or more of the processors 714 to operate at least in accordance with the functions described herein. One or more of the processors 714 can execute at least one of the frequency domain analysis component 726 and can use at least a portion of the data in the function data storage 728 to provide an analysis of a frequency domain loop response of a control loop of a power supply device in accordance with one or more aspects described herein. In some cases, the function instruction storage 724 can embody or comprise a non-transitory computer-readable storage medium having computer-accessible instructions that, in response to execution, cause at least one processor (e.g., one or more of the processors 714) to perform a group of operations that includes the operations or blocks described in connection with the example methods disclosed herein.
[0052] Additionally, memory 720 may include processor-accessible instructions and information (e.g., data, metadata, and / or program code) that enable or facilitate operation and / or management (e.g., upgrades, software installation, any other configuration, etc.) of computing device 710. Thus, as illustrated, memory 720 may include memory element 732 (labeled operating system (O / S) instructions 732), which includes one or more program modules that embody or include one or more operating systems, such as a Windows operating system, Unix, Linux, Symbian, Android, Chromium, and virtually any OS suitable for mobile or tethered computing devices. In one aspect, the operational and / or architectural complexity of computing device 710 may dictate a suitable O / S. Memory 720 also includes system information storage 736 having data, metadata, and / or program code that enable or facilitate operation and / or management of computing device 710. Elements of O / S instructions 732 and system information storage 736 are accessible to or operable by at least one of processors 714 .
[0053] Although functional instructions 724 and other executable program components, such as O / S instructions 732, are illustrated herein as separate blocks, it should be appreciated that such software components may reside at various times in different memory components of computing device 710 and may be executed by at least one of processors 714.
[0054] Computing device 710 may include a power source (not shown) capable of providing power to components or functional elements within such device. The power source may be a rechargeable power source, such as a rechargeable battery, and may include one or more transformers to achieve a power level suitable for operation of computing device 710 and the components, functional elements, and associated circuitry therein. In some cases, the power source may be attached to a conventional power grid to recharge and ensure that such a device is operational. To that end, the power source may include an I / O interface (e.g., one of interfaces 716) for connecting to a conventional power grid. Additionally, or in other cases, the power source may include an energy conversion component, such as a solar panel, to provide additional or alternative power resources or autonomy to computing device 710.
[0055] In some scenarios, the computing device 710 may operate in a networked environment by utilizing connections to one or more remote computing devices, sensors, and / or power devices (not depicted in FIG. 7 ). Illustratively, the remote computing device may be a personal computer, a portable computer, a server, a router, a network computer, a peer device, or other common network node. As described herein, the connection (physical and / or logical) between the computing device 710 and the remote computing device or sensor may be via one or more traffic and signaling pipes, which may comprise wired and / or wireless links, as well as several network elements (routers or switches, concentrators, servers, etc.) that form a local area network (LAN), a wide area network (WAN), and / or other networks (wireless or wired) with different footprints.
[0056] One or more of the techniques disclosed herein may be implemented in a distributed computing environment, such as a grid-based environment, where tasks may be performed by remote processing devices (e.g., network servers) that are operatively coupled (e.g., communicatively linked or otherwise coupled) through a network having traffic and signaling pipes and associated network elements. In a distributed computing environment, one or more software components (e.g., program modules) may be located both on the computing device 710 and on at least one remote computing device.
[0057] Exemplary methods that can be implemented according to the present disclosure can be better understood with reference to FIGS. 8-9. For simplicity of explanation, the exemplary methods disclosed herein are presented and described as a series of acts. The exemplary methods are not limited to an order of acts, and some acts may occur in a different order and / or concurrently with other acts than those illustrated and described herein. In some cases, one or more exemplary methods disclosed herein can alternatively be represented as a series of interrelated states or events, such as a state diagram depicting a state machine. Additionally, or alternatively, an interaction diagram (or process flow) may represent a method according to aspects of the present disclosure when different entities enact different portions of the methodology. It should be noted that not all illustrated acts may be required to implement an described exemplary method according to the present disclosure. It should also be noted that two or more of the disclosed exemplary methods can be implemented in combination with each other to achieve one or more functions described herein.
[0058] The methods disclosed herein can be stored on an article of manufacture to facilitate transport and transfer of such methodologies to a computer or other type of information processing device for execution by a processor or for storage in a memory device or another type of computer-readable storage device for implementation. In one example, one or more processors performing a method or combination of methods described herein can be utilized to execute program code stored in a memory device or any computer-readable or machine-readable storage device or non-transitory medium to implement the methods described herein. The program code is configured in processor-executable form and, when executed by one or more processors, causes the implementation or performance of various operations in the methods described herein. Thus, the program code provides a processor-executable or machine-executable framework for carrying out the methods described herein. Thus, in some cases, each block of the flowchart illustrations and / or combinations of blocks in the flowchart illustrations can be implemented in response to execution of the program code.
[0059] 8 illustrates an example of a method for predicting a frequency-domain loop response of a control loop of a power supply device according to one or more aspects of the present disclosure. The example method 800 illustrated in FIG. 8 can be implemented by a single computing device or a system of computing devices. To that end, each computing device includes various types of computing resources, such as one or more processors, one or more memory devices, one or more network interfaces (wireless or otherwise), or a combination of similar resources. In some cases, each computing device may be embodied within computing device 710 (FIG. 7).
[0060] In some cases, a system of computing devices implements the example method 800. The system may be referred to as a computing system and may host the training module 440 and the predictor module 150. The computing system may implement one or more blocks of the example method 800 in response to execution of the training module 440 and / or the predictor module 150. In some cases, each computing device in a system of computing devices may be embodied in a computing device 710 (FIG. 7).
[0061] In block 810, the computing system may access or otherwise receive (e.g., via training module 440) data indicative of a plurality of transient output voltage waveforms corresponding to respective operating configurations of the power supply device. The data may be defined in the time domain.
[0062] At block 820, the computing system may access or otherwise receive (e.g., via training module 440) respective target gain responses in the frequency domain for the plurality of transient output voltage waveforms. To that end, in some cases, the computing system may receive first data indicative of respective target gain responses in the frequency domain for the plurality of transient output voltage waveforms. In some cases, the first data may be part of data 418 (FIG. 4A).
[0063] At block 830, the computing system may access or otherwise receive (e.g., via training module 440) respective target phase responses in the frequency domain for the plurality of transient output voltage waveforms. To that end, in some cases, the computing system may access or otherwise receive data (e.g., data 418 (FIG. 4A)) indicative of respective target gain responses in the frequency domain for the plurality of transient output voltage waveforms. In some cases, the second data may be part of data 418 (FIG. 4A).
[0064] In block 840, the computing system may train a machine learning model that predicts a frequency-domain loop response of the control loop of the power supply using (i) the plurality of transient output voltage waveforms, (ii) their respective gain responses in the frequency domain, and (iii) their respective phase responses in the frequency domain. The computing system may train the machine learning model, for example, via the training module 440. The trained machine learning model may be referred to as a machine learning model. As described herein, training the machine learning model may include, for example, generating feature vectors for each of the plurality of transient output voltage waveforms and using the respective feature vectors to determine a predicted gain response in the frequency domain and a predicted phase response in the frequency domain by applying the machine learning model. Such training may also include determining a solution to an optimization problem with a loss function based on the respective target gain responses, the respective target phase responses, the predicted gain responses, and the predicted phase responses, where the solution identifies a set of parameters that define the optimized machine learning model. An example of a loss function is a weighted mean squared error function, where each term in the loss function is weighted by a defined frequency-dependent function, as shown in equation (1) above. In some example implementations, a computing system may train a machine learning model (e.g., via training module 440) by implementing the process flow shown in Figure 4B. For example, the computing system may execute training module 440 to implement the process flow shown in Figure 4B.
[0065] At block 850, the computing system may access or otherwise receive (eg, via the prediction module 150) data indicative of a second transient output voltage of the power supply device.
[0066] At block 860, the computing system may determine a second frequency-domain loop response of the control loop of the power supply by applying the machine learning model to the second data (e.g., via prediction module 150). For example, the computing system may determine a gain response in the frequency domain and a phase response in the frequency domain of the power supply device by applying the machine learning model to data indicative of a second transient output voltage.
[0067] Blocks 810-840 may comprise a training process, and blocks 850 and 860 may comprise a testing or analysis process. Although the exemplary method 800 is illustrated with reference to a target gain response and a target phase response, other representations of the target closed-loop gain response (e.g., real and imaginary parts) may be utilized in the training process.
[0068] 9 illustrates an example of a method for adjusting the operation of a power supply device according to one or more aspects of the present disclosure. The example method 900 illustrated in FIG. 9 can be implemented by a single computing device or a system of computing devices. To that end, each computing device includes various types of computing resources, such as one or more processors, one or more memory devices, one or more network interfaces (wireless or otherwise), or a combination of similar resources. In some cases, each computing device may be embodied within computing device 710 (FIG. 7).
[0069] In some cases, a computing device implements the example method 900. The computing device may be embodied in or may include computing device 140 (FIG. 5). As such, the computing device may host predictor module 150 and may implement one or more blocks of example method 900 in response to execution of predictor module 150 or tuning module 510, or both.
[0070] At block 910, a computing device may receive data indicative of a transient output voltage of a power supply device (e.g., power supply device 110). The data may be defined in the time domain, and the transient output voltage may be represented as a time series having a defined number Q of elements. In one example, Q=8192.
[0071] In block 920, the computing device may determine a frequency-domain loop response of a control loop of the power supply device by applying a machine learning model (e.g., machine learning model 154) to the data indicative of the transient output voltage.
[0072] At block 930, the computing device may determine a value of the objective function. The value may be determined based on at least one of a transient output voltage or a frequency domain loop response of a control loop of the power supply.
[0073] At block 940, the computing device may update the group of operational parameters based on rules. The rules may dictate how to select a next configuration of the group of operational parameters from a current configuration of the group of operational parameters. As described herein, examples of rules include a local greedy grid search algorithm and a Bayesian optimization algorithm.
[0074] At block 950, the computing device can operate the power device according to the updated group of operating parameters. To do so, the computing device can transmit programming instructions that define desired values for each programmable element corresponding to each parameter in the group of operating parameters. The one or more programmable elements configure the operating parameters of the power device. The programming instructions can be expressed as words having a defined number of bits.
[0075] At block 960, the computing device may determine whether the next iteration of the implementation of blocks 910-950 is to be executed. A positive determination causes the computing device to take the "yes" branch and direct the flow of the example method 900 to block 910. A negative determination causes the computing device to terminate the example method 900.
[0076] After the example method 900 is completed, a particular group of operating parameters of the compensation components and / or power supply devices have been determined.
[0077] Collectively, blocks 910-960 comprise an exemplary process for determining a solution to an optimization problem with respect to an objective function based on at least one of a transient output voltage response in the time domain or a frequency domain loop response, the solution defining a group of operating parameters of compensation components of a power device.
[0078] Many other aspects will emerge from the foregoing detailed description and accompanying drawings, and these aspects are represented by the following clauses:
[0079] Clause 1 includes a method, the method including receiving data indicative of a transient output voltage of a power supply device, and determining a frequency domain loop response of a control loop of the power supply device by applying a machine learning model to the data indicative of the transient output voltage.
[0080] Clause 2 includes clause 1 and further includes determining a solution to an optimization problem with respect to the objective function based on at least one of a transient output voltage response in the time domain or a frequency domain loop response, the solution defining a group of operating parameters of a compensation component of the power supply device; and operating the compensation component of the power supply device in accordance with the group of operating parameters.
[0081] Clause 3 includes any one of clauses 1 to 2, wherein the objective function includes a performance metric of the power device, and determining a solution to the optimization problem includes iteratively adjusting the group of operating parameters based on second data indicative of a second transient output voltage of the power device and a second frequency-domain loop response of the control loop of the power device, until a termination criterion is satisfied.
[0082] Clause 4 includes any of clauses 1-3, above, wherein the iteratively adjusting includes determining a first value of the performance metric based on at least one of the transient output voltage or the frequency domain loop response; adjusting the group of operating parameters based on an optimization rule; operating the power supply device according to the adjusted group of operating parameters; receiving third data indicating a third transient output voltage of the power supply device; determining a third frequency domain loop response of the control loop of the power supply device by applying a machine learning model to the third transient output voltage; and determining a second value of the performance metric based on at least one of the third transient output voltage or the third frequency domain loop response.
[0083] Clause 5 includes any of clauses 1-4 above, wherein the group of operating parameters includes compensation parameters of a compensation network, the compensation parameters corresponding to an amplifier gain value, a resistor value, and a capacitor value.
[0084] Clause 6 includes any of clauses 1 to 5 above, wherein the computing device receives data from the power supply device indicating the transient output voltage, and the computing device is external to the power supply device and assembled in the same package that includes the power supply device.
[0085] Clause 7 includes a method including accessing data indicative of a plurality of transient output voltage waveforms corresponding to respective operating configurations of a power supply device; accessing respective target gain responses in the frequency domain of the plurality of transient output voltage waveforms; accessing respective target phase responses in the frequency domain of the plurality of transient output voltage waveforms; and training a machine learning model that predicts a frequency-domain loop response of a control loop of the power supply device using the plurality of transient output voltage waveforms, the respective target gain responses, and the respective phase responses.
[0086] Clause 8 includes clause 7, where training includes generating a feature vector for each of the plurality of transient output voltage waveforms; determining a predicted gain response in the frequency domain and a predicted phase response in the frequency domain by applying a machine learning model using the respective feature vectors; and determining a solution to an optimization problem with respect to a loss function based on the respective target gain responses, the respective target phase responses, the predicted gain responses, and the predicted phase responses, wherein the solution identifies a set of parameters that define an optimized machine learning model.
[0087] Clause 9 includes any of clauses 7 and 8 above, wherein the loss function is a weighted mean square error function, each term of the loss function being weighted by a defined frequency-dependent function.
[0088] Clause 10 includes any of the preceding clauses 7-9, wherein particular values of respective operating parameters of one or more compensation devices integrated with the power supply device define particular operating configurations of the respective operating configurations.
[0089] Clause 11 includes any of clauses 7-10 above, wherein each of the respective feature vectors has a dimension that is less than a second dimension of the vector representing a respective one of the plurality of transient output voltage waveforms.
[0090] Clause 12 includes any of clauses 7-11 above, wherein generating the respective feature vector includes applying an encoder model to a vector representing each one of the plurality of transient output voltage waveforms.
[0091] Clause 13 includes a computing device comprising: at least one processor; and at least one memory device storing processor-executable instructions that, in response to execution by the at least one processor, cause the computing device to receive data indicative of a transient output voltage of a power supply device and determine a frequency-domain loop response of a control loop of the power supply device by applying a machine learning model to the data indicative of the transient output voltage.
[0092] Clause 14 includes clause 13, where the processor is further configured to determine a solution to an optimization problem with respect to the objective function based on at least one of the frequency-domain loop responses, the solution defining a group of operating parameters of a compensation component of the power supply device; and operate the compensation component of the power supply device in accordance with the group of operating parameters.
[0093] Clause 15 includes any of the preceding clauses 13 to 14, wherein the objective function includes a performance metric of the power device, and wherein determining a solution to the optimization problem includes iteratively adjusting the group of operating parameters based on second data indicative of a second transient output voltage of the power device and a second frequency-domain loop response of the control loop of the power device until a termination criterion is satisfied.
[0094] Clause 16 includes any of clauses 13-15, above, wherein the iteratively adjusting includes determining a first value of the performance metric based on at least one of a transient output voltage, a gain response, or a phase response; adjusting a group of operating parameters based on an optimization rule; operating the compensation device according to the adjusted group of operating parameters; receiving third data indicating a third transient output voltage of the power device; determining a third frequency-domain loop response of the control loop of the power device by applying a machine learning model to the third transient output voltage; and determining a second value of the performance metric based on at least one of the third transient output voltage or the third frequency-domain loop response.
[0095] Clause 17 includes any of clauses 13-16, wherein the machine learning model includes a convolutional neural network having an encoder section and a decoder section.
[0096] Clause 18 includes any of the preceding clauses 13-17, wherein the power supply device comprises a switching modulation power converter.
[0097] Clause 19 includes any of the aforementioned clauses 13-18, wherein the power supply device comprises a switched-mode power converter and the compensation device comprises a compensation network.
[0098] Clause 20 includes any of clauses 13-19 above, wherein the group of operating parameters includes compensation parameters of a compensation network, the compensation parameters corresponding to an amplifier gain value, a resistor value, and a capacitor value.
[0099] Various aspects of the present disclosure may take the form of entirely or partially hardware aspects, entirely or partially software aspects, or a combination of software and hardware. Furthermore, as described herein, various aspects of the present disclosure (e.g., systems and methods) may take the form of a computer program product including a non-transitory computer-readable storage medium having computer-accessible instructions (e.g., computer-readable and / or computer-executable instructions), such as computer software, encoded on or otherwise embodied in such storage medium. These instructions may be readable or otherwise accessed and executed by one or more processors to perform or enable the performance of the operations described herein. The instructions may be provided in any suitable form, such as source code, compiled code, interpreted code, executable code, static code, dynamic code, assembler code, or combinations of the foregoing. Any suitable non-transitory computer-readable storage medium may be utilized to form a computer program product. For example, a computer-readable medium may include any tangible, non-transitory medium for storing information in a form readable or otherwise accessible by one or more computers or processors operatively coupled thereto. The non-transitory storage medium may include read-only memory (ROM), random access memory (RAM), magnetic disk storage medium, optical storage medium, flash memory, and the like.
[0100] Aspects of the present disclosure are described herein with reference to block diagrams and flowchart illustrations of methods, systems, devices, and computer program products. It can be understood that each block of the block diagrams and flowchart illustrations, and combinations of blocks in the block diagrams and flowchart illustrations, respectively, can be implemented by computer-accessible instructions. In particular implementations, the computer-accessible instructions can be loaded or otherwise incorporated into a general-purpose computer, a special-purpose computer, or another programmable information processing device to create a particular machine, such that the operations or functions specified in the flowchart blocks can be implemented in response to execution by the computer or processing device.
[0101] Unless expressly stated otherwise, it is in no way intended that any protocol, procedure, process, or method described herein be construed as requiring that its acts or steps be performed in a specific order. Thus, where a process or method claim does not actually recite the order in which its acts or steps are to be followed, or where the claims or description of the subject disclosure are not specifically recited to limit the steps to a specific order, no order is intended to be inferred in any respect. This applies to any possible non-expressive basis for interpretation, including questions of logic regarding the arrangement of steps or operational flow, the apparent meaning derived from grammatical construction or punctuation, the number or type of aspects described in the specification or accompanying drawings, etc.
[0102] As used in this disclosure, including the accompanying drawings, terms such as “component,” “module,” and “system” are intended to refer to a computer-related entity or entities relating to a device having one or more specific functions. An entity may be hardware, a combination of hardware and software, software, or software in execution. One or more such entities may also be referred to as a “functional element.” As an example, a component may be a processor, a processor, an object, an executable file, a thread of execution, a program, and / or a process running on a computer. For example, both an application running on a server or a network controller and the server or network controller may be components. One or more components may reside within a process and / or thread of execution, and components may be localized on one computer and / or distributed between two or more computers. These components may also execute from various computer-readable media having various data structures stored thereon. Components may communicate via local and / or remote processes according to signals comprising one or more data packets (e.g., data from one component interacting with another system via signals across a local system, a distributed system, and / or a network such as the Internet). As another example, a component may be a device having a specific functionality provided by mechanical parts operated by electrical or electronic circuits, which parts may be controlled or otherwise operated by program code executed by a processor. As yet another example, a component may be a device that provides a specific functionality without mechanical parts through electronic components, which may include a processor that executes program code that provides at least part of the functionality of the electronic component. As yet another example, an interface may include an I / O component or an application programming interface (API) component.Although the foregoing examples are directed to component aspects, the illustrated aspects or features also apply to systems, modules, and the like.
[0103] Additionally, the term "or" is intended to mean an inclusive "or" rather than an exclusive "or." That is, unless otherwise specified or clear from the context, "X employs A or B" is intended to mean any of the natural inclusive permutations. That is, if X employs A, X employs B, or X employs both A and B, then "X employs A or B" is satisfied under any of the foregoing instances. Furthermore, the articles "a" and "an," as used in this specification and the accompanying drawings, should be construed to mean "one or more" unless otherwise specified or clear from the context directed to the singular form.
[0104] Additionally, the terms "example" and "for example" are used herein to mean serving as an example or illustration. Any aspect or design described herein as an "example" or mentioned in connection with an "for example" clause should not necessarily be construed as preferred or advantageous over other aspects or designs described herein. Rather, use of the term "example" or "for example" is intended to present concepts in a concrete manner. Terms such as "first," "second," "third," etc., used in the claims and specification are for clarity only and do not necessarily denote or imply any order in time or space, unless otherwise clear by context.
[0105] The term "processor" as used in this disclosure may refer to any computing processing unit or device that includes processing circuitry capable of operating on data and / or signaling. Computing processing units or devices may include, for example, single-core processors, single processors with software multithreading execution capabilities, multi-core processors, multi-core processors with software multithreading execution capabilities, multi-core processors with hardware multithreading technology, parallel platforms, and parallel platforms with distributed shared memory. Additionally, a processor may include an integrated circuit, an application-specific integrated circuit (ASIC), a digital signal processor (DSP), a field-programmable gate array (FPGA), a programmable logic controller (PLC), a complex programmable logic device (CPLD), discrete gate or transistor logic, discrete hardware components, or any combination thereof, designed to perform the functions described herein. In some cases, a processor may utilize nanoscale architectures, such as molecular and quantum dot-based transistors, switches, and gates, to optimize space usage or improve the performance of user equipment. A processor may also be implemented as a combination of computing processing units.
[0106] Additionally, terms such as "store," "data store," "data storage," "database," and substantially any other information storage component associated with the operation and functionality of a component refer to a "memory component," or an entity embodied in "memory," or a component that includes memory. It will be appreciated that memory components described herein can be either volatile memory or nonvolatile memory, or can include both volatile and nonvolatile memory. Furthermore, memory components can be removable or fixed to a functional element (e.g., device, server).
[0107] By way of example only, non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable ROM (EEPROM), or flash memory. Volatile memory may include random access memory (RAM), which acts as external cache memory. By way of example, and not limitation, RAM is available in many forms, including synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), and direct Rambus RAM (DRRAM). Additionally, the memory component of a system or method disclosed herein is intended to include, without being limited to, these and any other suitable types of memory.
[0108] Various aspects described herein can be implemented as a method, apparatus, or article of manufacture using standard programming and / or engineering techniques. In addition, various aspects disclosed herein can also be implemented by program modules or other types of computer program instructions stored in a memory device and executed by a processor, or other combination of hardware and software, or hardware and firmware. Such program modules or computer program instructions can be loaded into a general-purpose computer, special-purpose computer, or another type of programmable data processing apparatus to create a machine, such that the instructions, executing on the computer or other programmable data processing apparatus, create means for implementing the functions disclosed herein.
[0109] The term "article of manufacture," as used herein, is intended to encompass a computer program accessible from any computer-readable device, carrier, or medium. For example, computer-readable media may include, but are not limited to, magnetic storage devices (e.g., hard drive disks, floppy disks, magnetic strips, or the like), optical disks (e.g., compact disks (CDs), digital versatile disks (DVDs), Blu-ray disks (BDs), or the like), smart cards, and flash memory devices (e.g., cards, sticks, key drives, or the like).
[0110] What has been described above includes examples of one or more aspects of the present disclosure. Of course, it is not possible to describe every conceivable combination of components or methodologies for purposes of describing these examples, and it can be recognized that many further combinations and permutations of the aspects are possible. Accordingly, the aspects disclosed and / or claimed herein are intended to embrace all such alternatives, modifications, and variations that fall within the spirit and scope of the detailed description and the appended claims. Furthermore, to the extent one or more of the terms "includes," "including," "has," "have," or "having" are used in either the detailed description or the claims, such terms are intended to be inclusive in a similar manner to the term "comprising" and are interpreted when used as transitional terms in the claims. [Explanation of symbols]
[0111] 100 systems 110 Power Device 114 Modulator 118 Output Filter 122 Error amplifier 126 Compensation Components 130 Load Device 140 Computing Devices 150 Predictor Module 154 Machine Learning Models 160 data 400 System 402 Equipment 406 Data 410 Data Storage 414 Transient Data 418 Target Response Data 440 Training Module 450 machine learning models 460 Data Storage 482 Downsampling Section 484 Feature Generation and Preprocessing Section 486 Data Extension Section 488 Neural Networks 510 Tuning Module 710 Computing Devices 712 Wireless Unit 714 processor 716 Input / Output (I / O) Interface 720 Memory Device 722 bus architecture 724 Functional Instruction Storage 726 Frequency Domain Analysis Components 728 Functional Data Storage 730 Analysis Data 732 Operating System (O / S) Instructions 740 Internal Programming Interface
Claims
1. Receiving data indicative of a transient output voltage of a power supply device; determining a frequency domain loop response of a control loop of the power supply device by applying a machine learning model to the data indicative of the transient output voltage.
2. determining a solution to an optimization problem with respect to an objective function based on at least one of a transient output voltage response in a time domain or the frequency domain loop response, the solution defining a group of operating parameters of a compensation component of the power supply device; The method of claim 1 , further comprising: operating the compensation component of the power supply device according to the group of operating parameters.
3. the objective function includes a performance metric of the power device; 3. The method of claim 2, wherein the determining the solution to the optimization problem comprises iteratively adjusting the group of operating parameters based on second data indicative of a second transient output voltage of the power device and a second frequency domain loop response of the control loop of the power device until a termination criterion is met.
4. Iterative adjustments can determining a first value of the performance metric based on at least one of the transient output voltage or the frequency domain loop response; adjusting the group of operating parameters based on optimization rules; operating the power device in accordance with the adjusted group of operating parameters; receiving third data indicative of a third transient output voltage of the power supply device; determining a third frequency domain loop response of the control loop of the power supply device by applying the machine learning model to the third transient output voltage; and determining a second value of the performance metric based on at least one of a third transient output voltage or the third frequency domain loop response.
5. The method of claim 2 , wherein the group of operating parameters includes compensation parameters of a compensation network, the compensation parameters corresponding to an amplifier gain value, a resistor value, and a capacitor value.
6. 10. The method of claim 1, wherein a computing device receives the data indicative of the transient output voltage from the power supply device, the computing device being external to the power supply device and assembled in the same package including the power supply device.
7. accessing data indicative of a plurality of transient output voltage waveforms corresponding to respective operational configurations of the power supply device; accessing a respective target gain response in a frequency domain of the plurality of transient output voltage waveforms; accessing a target phase response in a frequency domain for each of the plurality of transient output voltage waveforms; and training a machine learning model that predicts a frequency-domain loop response of a control loop of the power supply device using the plurality of transient output voltage waveforms, the respective target gain responses, and the respective target phase responses.
8. The training comprises: generating a feature vector for each of the plurality of transient output voltage waveforms; using the respective feature vectors to determine a model gain response in the frequency domain and a model phase response in the frequency domain by applying a machine learning model; 8. The method of claim 7, comprising determining a solution to an optimization problem for a loss function based on the respective target gain responses, the respective target phase responses, the model gain responses, and the model phase responses, wherein the solution identifies a set of parameters that define an optimized machine learning model.
9. 9. The method of claim 8, wherein the loss function is a weighted mean squared error function, each term of the loss function being weighted by a defined frequency dependent function.
10. The method of claim 7 , wherein particular values of respective operating parameters of one or more compensation devices integrated with the power supply device define particular operating configurations of the respective operating configurations.
11. 9. The method of claim 8, wherein each of the respective feature vectors has a dimension that is less than a second dimension of a vector representing a respective one of the plurality of transient output voltage waveforms.
12. 12. The method of claim 11, wherein said generating said respective feature vectors comprises applying an encoder model to the vectors representing said respective ones of the plurality of transient output voltage waveforms.
13. 1. A computing device comprising: At least one processor; at least one memory device storing processor-executable instructions, the processor-executable instructions being configured to, in response to execution by the at least one processor, cause the computing device to: receiving data indicative of a transient output voltage of a power supply device; at least one memory device configured to determine a frequency domain loop response of a control loop of the power supply device by applying a machine learning model to the data indicative of the transient output voltage.
14. The processor, determining a solution to an optimization problem with respect to an objective function based on at least one of the frequency domain loop responses, the solution defining a group of operating parameters of a compensation component of the power supply device; The computing device of claim 13 , further configured to: operate the compensation component of the power supply device according to the group of operating parameters.
15. the objective function includes a performance metric of the power device; 15. The computing device of claim 14, wherein determining the solution to the optimization problem comprises iteratively adjusting the group of operating parameters based on second data indicative of a second transient output voltage of the power supply device and a second frequency domain loop response of the control loop of the power supply device until a termination criterion is met.
16. The iteratively adjusting determining a first value of the performance metric based on at least one of the transient output voltage, a gain response, or a phase response; adjusting the group of operating parameters based on optimization rules; operating a compensation device according to the adjusted group of operating parameters; receiving third data indicative of a third transient output voltage of the power supply device; determining a third frequency domain loop response of the control loop of the power supply device by applying the machine learning model to the third transient output voltage; and determining a second value of the performance metric based on at least one of a third transient output voltage or the third frequency domain loop response.
17. 15. The computing device of claim 14, wherein the machine learning model comprises a convolutional neural network having an encoder section and a decoder section.
18. The computing device of claim 13 , wherein the power supply device comprises a switched modulation power converter.
19. The computing device of claim 14 , wherein the power supply device comprises a switched mode power converter and the compensation device comprises a compensation network.
20. 20. The computing device of claim 19, wherein the group of operating parameters comprises compensation parameters of the compensation network, the compensation parameters corresponding to an amplifier gain value, a resistor value, and a capacitor value.
Citation Information
Patent Citations
Digital power supply circuit, digital power supply, and correction method for digital power supply control characteristics
JP2020205691A
Control assist device, control device, and control assist method
WO2021251226A1