I retuned the MICH feed-forward path. I injected noise in SRCL and measured the transfer function to DARM: TF_SRCL_DARM. Then I injected noise at the feed-forward input, with the FF shaping filters off, but with SBVio1 and SBVio2 on. I measured the transfer function from SRCLFF_IN2 to DARM: TF_SRCLFF_DARM. The optimal feed-forward filter should then be -TF_SRCL_DARM/TF_SRCL_FF. The first plot shows the measurement and the fit. Again, I decided not to fit the sharp features due to the bounce and roll filters.
I implemented the new filter in the bank 'newFF' and engaged it. The performance improved, as shown by the reduced coherence. The peak at 3 Hz also reduced a bit. See the second plot: green no feed-forward; blue old feed-forward, red new filter. The last plot compares the old (blue) and new (red) filters. With the new filter, I also switched on an AC coupling (double zero, double pole at 0.1 Hz).
Guardian code modified to load the new MICH and SRCL feedforward filters.