1. Configuration
1.1. Compute Units to be registered (file cacaovars.bash
)
To enable zonal filtering, the following compute units must be enabled:
CACAO_FPSPROC_ZONALFILTERING
: Perform zonal filteringCACAO_FPSPROC_MVMGPU_DM2MVAL
: zonal to modal space translation of filtered output
The cacaovars.bash
entries for enabling predictive control are:
export CACAO_FPSPROC_ZONALFILTERING="ON"
export CACAO_FPSPROC_MVMGPU_DM2MVAL="ON"
1.2. Turning zonal filtering on/off
The zonal filtering (ZF) compute unit inserts itself between the mvalC2dm
and DMch2disp
compute units. Without ZF, mvalC2dm
writes to stream aol_dmC
. With ZF, mvalC2dm
is reconfigured to write to stream aol_zvalDM
, and compute unit zfilt
takes aol_zvalDM
as input and writes to aol_dmC
.
To switch ZF on/off:
cacao-aorun-zonalfiltering on
cacao-aorun-zonalfiltering off
2. Modal Feedback
Modal feedback is essential to AO loop stability when performing zonal filtering.
Without modal feedback, zonal filtering creates a discrepancy between the actual state of the DM correction and its modal representation aol_modevalDM
. For example, when performing trunction of the command in zonal space, the modal control loop is unaware of the trunction, and can keep “pushing” the command beyond the trunction, creating a growing discrepancy between the modal representation and the actual DM correction. It is difficult for the control loop to recover from this discrancy.
The figure below and corresponding video show such instability when implementing zonal trunction of the output command. Notice how the loop becomes unstable once trunction occurs.
With modal feedback implemented, the mval2dm
converts the truncated zonal command back into modal space (stream aol_modevalDMf
) at each loop interation. The mfilt
compute unit detects that aol_modevalDMf
has been updated, and uses it to uptdate its own internal DM correction state in modal space. The control loop is then aware of the truncation, avoiding loop instability. Compare the figure and video below (with modal feedback) from the one above.