Good work for the oplev noise simulations. Here are some comments/questions:
(A) The noise looks suppressed but the open-loop transfer function doesn't look so good, because it doesn't have sufficient phase margins at the UGFs (0.01 and 10 Hz).
I guess it is better to have a phase margin detector in your code so that the code automatically rejects a bad phase margin case.
Actually since the number of data points are finite, the rms detector in the simulation can not always find a sharp loop oscillation.
(B) The resultant poles and zeros seem canceling each other but the filter still has a structure. Is something wrong ?
Pole 1 frequency = 0.0497181 Hz
Pole 2 frequency = 2.01809 Hz
Zero 1 frequency = 0.0497181 Hz
Zero 2 frequency = 2.01809 Hz