![]() |
cacao
Release 0.1.03-dev
Compute And Control For Adaptive Optics
|
Function prototypes for Adaptive Optics Control loop engine predictive control. More...
Go to the source code of this file.
Functions | |
void | __attribute__ ((constructor)) libinit_AOloopControl_PredictiveControl() |
Initialize module. More... | |
AOloopControl_PredictiveControl - 1. PREDICTIVE CONTROL | |
Predictive control using WFS telemetry | |
errno_t | AOloopControl_PredictiveControl_mapPredictiveFilter (const char *IDmodecoeff_name, long modeout, double delayfr) |
double | AOloopControl_PredictiveControl_testPredictiveFilter (const char *IDtrace_name, long modeout, double delayfr, long filtsize, const char *IDfilt_name, double SVDeps) |
imageID | AOloopControl_PredictiveControl_builPFloop_WatchInput (long loop, long PFblock, long PFblockStart, long PFblockEnd, long NBbuff) |
imageID | AOloopControl_PredictiveControl_setPFsimpleAve (char *IDPF_name, float DecayCoeff) |
Set predictive filter to simple average of previous measures. More... | |
Function prototypes for Adaptive Optics Control loop engine predictive control.
AO engine uses stream data structure
void __attribute__ | ( | (constructor) | ) |
Initialize module.
imageID AOloopControl_PredictiveControl_builPFloop_WatchInput | ( | long | loop, |
long | PFblock, | ||
long | PFblockStart, | ||
long | PFblockEnd, | ||
long | NBbuff | ||
) |
Listens to real-time telemetry streams buffers aol<loop>_modeval_ol_logbuff0 and aol<loop>_modeval_ol_logbuff1
When new buffer is complete, extract the requested values from it and write to aol<loop>_modevalol_PFb<PFblock>
[in] | loop | LONG loop index |
[in] | PFblock | LONG Block number |
[in] | PFblockStart | LONG Block start index |
[in] | PFblockEnd | LONG Block end index |
#param[in] NBbuff LONG Number of input buffers to merge for each output
errno_t AOloopControl_PredictiveControl_mapPredictiveFilter | ( | const char * | IDmodecoeff_name, |
long | modeout, | ||
double | delayfr | ||
) |
imageID AOloopControl_PredictiveControl_setPFsimpleAve | ( | char * | IDPF_name, |
float | DecayCoeff | ||
) |
Set predictive filter to simple average of previous measures.
DecayCoeff is betweeen 0 and 1 1 : no decay, pure average
This is used to give more weigth to most recent measurements
double AOloopControl_PredictiveControl_testPredictiveFilter | ( | const char * | IDtrace_name, |
long | modeout, | ||
double | delayfr, | ||
long | filtsize, | ||
const char * | IDfilt_name, | ||
double | SVDeps | ||
) |
predictive control based on SVD
input: mode values trace [ii: time, jj: mode number] mode index delayfr [delay in frame unit] filtsize [number of samples in filter]