Multivariate signal denoising via Mahalanobis-EDF statistics

This code implements a wavelet based multivariate signal denoising method based on Mahalanobis distance and EDF statistics (IEE-TSP)

https://ieeexplore.ieee.org/document/9234624

You are now following this Submission

This toolbox implements the Multivariate GoF based Wavelet Denoising (MGWD) method that employs
a novel multivariate GoF test for normality for multiscale signal denoising. That is published
in IEEE Transaction in Signal Processing in October 2020. Following are the detail of the published article:

Citation: K. Naveed and N. u. Rehman, "Wavelet Based Multivariate Signal Denoising Using Mahalanobis Distance and EDF Statistics," in IEEE Transactions on Signal Processing, vol. 68, pp. 5997-6010, 2020. doi: 10.1109/TSP.2020.3029659.
Available online at https://ieeexplore.ieee.org/document/9234624
(A previous version of this article is also available online on https://arxiv.org/abs/2005.11616).

Four test signals are provided with the code for testing purposes:

Bivariate Sofar Dataset,
Eye Roll EEG Dataset,
Trivariate Exercise Dataset,
Tai Chi sequence Dataset.

Following are the details of input files:

Main_Denoise.m : This the main file that runs the code

MGWD.m : This file implements the proposed multivariate denoiisng method based on our multivariate GoF test.

cdf_calc.m, AD.m Pfa_vs_th : These are the internal functions of the proposed method whereby
a. cdf_calc.m is used to empircal CDF of the selected sample of data (used to implement the GoF test)
b. AD.m implements the Anderson Darling statistic
c. Pfa_vs_th is used to compute thresholds based on Pfa to implement the GoF test for normality.

mvrandnoise.m: Generates multichannel Gaussian noise for given covariance matrix and input SNRs for each channel.
This function can be seen as a multivariate equivalent of the MATLAB function awgn(x,SNR,'measured') (that is used
to add noise in univariate signal for desired input 'SNR'). The document 'mvrandnoise.pdf' explains the implementation
of this function.

snr.m: this function measured the SNR of an output signal with respect of the input signal.

D1_robust_COVAR.m: This function estimates noise covariance matrix from the first scale of DWT using minimum
covariance determinant method.

Procedure:

Once the code is run, user is prompted to select from the four input data sets. The user is then asked to enter the SNRs
for each individual channel.

On code execution, the output SNR values for each channel along with averaged output SNR for the whole multivariate data
is listed. The output denoised signals are also shown in the figure.

In case the user wants to apply the method on a different data set from the three sets given in this toolbox,
he/she should save that data set in a separate "test.mat" file and select the option of "Input provided by User".

Cite As

Khuram Naveed (2026). Multivariate signal denoising via Mahalanobis-EDF statistics (https://se.mathworks.com/matlabcentral/fileexchange/80599-multivariate-signal-denoising-via-mahalanobis-edf-statistics), MATLAB Central File Exchange. Retrieved .

Tags

Add Tags

Add the first tag.

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
1.0.2

Article citation added

1.0.1

Added details of the published article associated to this code

1.0.0