Follow up to 47274. As explained there, I trained my non-stationary noise subtraction algorithm on 60 seconds of data (1235434291 + 60s).
Then I implemented the noise subtraction with time-domain IIR filters, and tested the performance.
First of all, the time-domain on-target performance (i.e. using the same data used for training) is good as expected. In the left plot below: blue is the original DARM during a DHARD_P injection, red is the best stationary and linear subtraction, yellow is the sum of all non-stationary contributions, green is the subtraction using the non-stationary estimate. In the right plot, blue is the coherence between DARM and just DHARD_P, while yellow is the coherence between DARM and the estimated non-stationary signal obtained from DHARD_P
Similar performance is obtained using the same filter parameters, but on a different noise injection later in the same lock (1235434490 + 38s). Same color scheme as the first plot above
Finally, the performance during a quiet period (no noise injection) during the same lock. It looks like there wasn't much DHARD_P noise to subtract, but the non-stationary subtraction is a teeny bit better (not very significant...)