SVD of Noisy Data: error analysis and noise filtering (svde)

Singular value decomposition of noisy data, including "error bars" on the modes. Also useful for filtering noisy data.
486 download
Aggiornato 20 mag 2020

Visualizza la licenza

The singular value decomposition (SVD) can be used to decompose a time series of data into spatiotemporal modes. For noisy data, however, the higher SVD modes are corrupted. This corruption both (1) motivates the need for "error bars" on the SVD modes; and (2) suggests the possibility for noise filtering by retaining only the lower modes.

The svde function performs the SVD (using Matlab's built-in function, svd) and then performs error analysis to determine:
-- the root mean square error level in the given data;
-- the "error bars" (95% confidence intervals) of each SVD mode (singular value and vectors); and
-- the overall root mean square error (rmse) of each SVD mode.

These results are also used to filter the noise from the given data and form a reconstructed estimate of the underlying "clean data". Since the lower SVD modes are relatively clean, this reconstructed data set is formed using only the modes that have low enough rmse. This method yields the most-accurate-possible SVD-based reconstruction of the clean data. For examples, see the References listed below.

Syntax:
d = svde(M,varargin)

Inputs:
M = noisy data matrix
vargin = optional list of flags

Output:
d = data structure containing svde outputs

For discrete data, the proper orthogonal decomposition (POD) yields identical results as the SVD, so this code also applies to the POD of noisy data.

Cita come

Brenden Epps (2025). SVD of Noisy Data: error analysis and noise filtering (svde) (https://it.mathworks.com/matlabcentral/fileexchange/75242-svd-of-noisy-data-error-analysis-and-noise-filtering-svde), MATLAB Central File Exchange. Recuperato .

Brenden Epps and Eric Krivitzky (2019a) "Singular value decomposition of noisy data: mode corruption", Experiments in Fluids 60:121, https://doi.org/10.1007/s00348-019-2761-y

Brenden Epps and Eric Krivitzky (2019b) "Singular value decomposition of noisy data: noise filtering", Experiments in Fluids 60:126, https://doi.org/10.1007/s00348-019-2768-4

Compatibilità della release di MATLAB
Creato con R2019a
Compatibile con qualsiasi release
Compatibilità della piattaforma
Windows macOS Linux
Categorie
Scopri di più su Acoustics, Noise and Vibration in Help Center e MATLAB Answers

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Versione Pubblicato Note della release
1.1

Modified Kmin,Kmax terms in SVD_Estimate_Error_v7() to enable T < 10 case. Using T < 10 is not recommended, however, because T >> 1 is required for statistical significance.

1.0.0