Multivariate signal denoising via Mahalanobis-EDF statistics
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 (2025). 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 .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
MGWD MATLAB Toolbox
| Version | Published | Release Notes | |
|---|---|---|---|
| 1.0.2 | Article citation added |
|
|
| 1.0.1 | Added details of the published article associated to this code |
|
|
| 1.0.0 |
|
