simpeg / aurora

software for processing natural source electromagnetic data
MIT License
13 stars 2 forks source link

TFs from covariance matrix #339

Open kkappler opened 1 month ago

kkappler commented 1 month ago

The way the matlab code was setup, transfer functions are computed one at a time by looping regression over the "output" channels. Aurora follows this pattern as well.

The regression however, cleans the data with an iterative M-estimator and the estimator class has that cleaned data, we just don't store it, but we could. If we did store the cleaned output channels after each individual output channel regression step, this would have a couple of implications:

  1. We could difference the cleaned data from the original and get a full NCM
  2. The cleaned data could be used to compute a cleaned SDM

These two entities could be used to solve both #329, and #87.

Also it is possible that we could then apply a general cleaned covariance approach to the TF.
Since the TF is just a ratio (of sums (of products)) of cross powers, the appropriate selection of these indices from the SDM should yield an equivalent TF to the one we have now.

This would also open the door to other data products (for example canonical coherences) that we could derive from the SDM.

To see if this makes sense, here is the test to do: