riecovest.covariance_estimation

Covariance estimation on Riemannian manifolds.

The primary focus is estimating a signal covariance matrix R_x and a noise covariance matrix R_v from a set of noisy signal samples and noise samples. The noise and signal are assumed to be independent, so that the relationship R_y = R_x + R_v holds, where R_y is the covariance of the noisy signal.

The signal covariance matrix is assumed to be low-rank, while the noise covariance matrix is assumed to be full-rank.

References

[brunnstroemRobust2024] J. Brunnström, M. Moonen, and F. Elvander, “Robust signal and noise covariance matrix estimation using Riemannian optimization,” presented at the European Signal Processing Conference (EUSIPCO), Sep. 2024

[serizelLowrank2014] R. Serizel, M. Moonen, B. V. Dijk, and J. Wouters, “Low-rank approximation based multichannel Wiener filter algorithms for noise reduction with application in cochlear implants,” IEEE/ACM Transactions on Audio, Speech, and Language Processing, vol. 22, no. 4, pp. 785–799, Apr. 2014, doi: 10.1109/TASLP.2014.2304240.

[tylerDistributionfree1987] D. E. Tyler, “A distribution-free M-estimator of multivariate scatter,” The Annals of Statistics, vol. 15, no. 1, pp. 234–251, 1987. [ollilaComplex2012] E. Ollila, D. E. Tyler, V. Koivunen, and H. V. Poor, “Complex elliptically symmetric distributions: survey, new results and applications,” IEEE Transactions on Signal Processing, vol. 60, no. 11, pp. 5597–5625, Nov. 2012, doi: 10.1109/TSP.2012.2212433.

[valrompaeyGEVD2018] R. Van Rompaey and M. Moonen, “GEVD based speech and noise correlation matrix estimation for multichannel Wiener filter based noise reduction,” in 2018 26th European Signal Processing Conference (EUSIPCO), Sep. 2018, pp. 2544–2548. doi: 10.23919/EUSIPCO.2018.8553109.

Functions

est_covariance_manifold(ambient_dim, rank, ...)

Generic function for estimating a signal and noise covariance matrix on a Riemannian manifold.

est_gevd(Ry, Rn, rank[, est_noise_cov])

Signal and noise covariance estimation using the GEVD method.

est_manifold_airm(scm_noisy_signal, ...[, ...])

Signal and noise covariance estimation using the affine-invariant Riemannian metric distance.

est_manifold_frob(scm_noisy_signal, ...[, ...])

Signal and noise covariance estimation using the Frobenius norm distance.

est_manifold_frob_whitened(scm_noisy_signal, ...)

Signal and noise covariance estimation using the Frobenius norm distance, with pre-whitening.

est_manifold_frob_whitened_by_true_noise(...)

Signal and noise covariance estimation using the Frobenius norm distance, with pre-whitening using the 'true' noise covariance matrix.

est_manifold_tylers_m_estimator(...[, ...])

Signal and noise covariance estimation using the log-likelihood of an elliptical distribution.

est_manifold_tylers_m_estimator_nonorm(...)

Signal and noise covariance estimation using the log-likelihood of an elliptical distribution.

est_manifold_tylers_with_scale_opt(...)

Signal and noise covariance estimation using the log-likelihood of an elliptical distribution, with scaling optimization.

est_manifold_wishart(scm_noisy_signal, ...)

Signal and noise covariance estimation using the Wishart log-likelihood distance.

scm(data)

Compute the sample covariance matrix of the given data.

tyler_estimator(data[, num_iter])

Compute the Tyler estimator of the covariance matrix of the given data.