You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In addition, for power readings, we’d also like to introduce moving average process
on each _thermal_input before they are computed (max/sum/average)
to reduce the fluctuation in power readings as bellow
double StepwiseController::inputProc(void)
value = 0;
for (const auto& in : _inputs)
{
- value += _owner->getCachedValue(in);
+ value += movingAverage(in, _owner->getCachedValue(in));
}
All the processes put together will go like bellow
double StepwiseController::inputProc(void)
{
if (_computationType == "sum"")
{
value = 0;
for (const auto& in : _inputs)
{
value += movingAverage(in, _owner->getCachedValue(in));
}
……
}
}
The text was updated successfully, but these errors were encountered:
I agree that stepwise controller should support more type of input: power, margin, temp...
If we support margin as input in future, we have to add min() for it.
But I would like to say that the average should not be implemented in phosphod-pid-control, all controllers need is given inputs only.
The average can be done by virtual sensor which had existed in OpenBMC.
I believe people use stepwise controller because they don't need to take the sensor history into calculation.
we found that stepwise only supports one computation type: max()
=>Get max value of _thermal_input
But for some cases we need more computation type, EX: average and sum up the inputs for something like power readings)
So we’re proposing to add more computation type , something like bellow
In addition, for power readings, we’d also like to introduce moving average process
on each _thermal_input before they are computed (max/sum/average)
to reduce the fluctuation in power readings as bellow
All the processes put together will go like bellow
The text was updated successfully, but these errors were encountered: