Borrar filtros
Borrar filtros

How to calculate the percentage of wavelet coherence value and significant coherence region

9 visualizaciones (últimos 30 días)
How to calculate the percentage of wavelet coherence value and significant coherence region

Respuestas (2)

recent works
recent works el 27 de Oct. de 2023
To calculate the percentage of wavelet coherence value and identify significant coherence regions, you can follow these steps using MATLAB. Wavelet coherence is a measure of the relationship between two signals in both time and frequency domains.
  1. Load your data: Load the two signals for which you want to calculate the wavelet coherence.
  2. Calculate Continuous Wavelet Transform (CWT):
  • Use the Continuous Wavelet Transform to obtain the wavelet coefficients for both signals. You can use the cwt function in MATLAB to compute the CWT.
% Example code for CWT
[cwt_signal1, f_signal1] = cwt(signal1, 'amor', 'scal');
[cwt_signal2, f_signal2] = cwt(signal2, 'amor', 'scal');
Calculate the Cross-Wavelet Transform (XWT):
  • Compute the cross-wavelet transform of the two signals.
% Example code for XWT
xwt = cwt_signal1 .* conj(cwt_signal2);
Calculate the Wavelet Coherence:
  • Calculate the wavelet coherence using the XWT and individual wavelet transforms.
Identify Significant Coherence Regions:
  • To find regions of significant coherence, you can perform a statistical test. One common approach is to compare the wavelet coherence values against a threshold derived from a significance test, such as a chi-squared test or bootstrapping. The threshold should be chosen based on your significance level (alpha).
% Example code for finding significant coherence regions
% Set the threshold based on a chi-squared test
chi2_threshold = chi2inv(1 - alpha, 2); % 2 degrees of freedom
significant_regions = wcoherence > chi2_threshold;
Calculate the Percentage of Significant Coherence:
  • Calculate the percentage of significant coherence values relative to the total number of data points.
percentage_significant = sum(significant_regions(:)) / numel(significant_regions) * 100;
The percentage_significant will give you the percentage of the wavelet coherence values that are statistically significant according to your chosen alpha level.

胤辰 陈
胤辰 陈 el 30 de Oct. de 2023
Thank you for your help


Más información sobre Continuous Wavelet Transforms en Help Center y File Exchange.




Community Treasure Hunt

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

Start Hunting!

Translated by