Wavelet Scattering Transform Errror

40 visualizaciones (últimos 30 días)
Erick Axel
Erick Axel el 13 de Dic. de 2024 a las 6:04
Editada: Swastik Sarkar el 19 de Dic. de 2024 a las 3:32
I am suing the waveletScattering function but I get the following error
Error using waveletScattering/gaborparameters For the specified 'SignalLength', 'InvarianceScale', and 'QualityFactors', the wavelet frequency standard deviation is too small. Try reducing the 'QualityFactor' value(s). Error in waveletScattering (line 170) ftables = gaborparameters(self);
The length of my signal is 8000 samples, the sampling frquency is 8 Khz, the invariance scales is 0.01/2 and Q = [15,1]
Below is the setting.
Fs = 8000; %% Sampling Frequency
invScale = 0.01/2; %% Invariance Scale
sf = waveletScattering('SignalLength',length(x),'InvarianceScale',invScale,'Boundary','periodic', ...
'SamplingFrequency',Fs,'QualityFactors',[10,1]); %% WST parameter setting
I want to know why this is happing from a methamatical point of view. I want to know in detail why is this happening and why by reducng Q = [9,1] it works.

Respuestas (1)

Swastik Sarkar
Swastik Sarkar el 16 de Dic. de 2024 a las 9:39
The error occurs because a high QualityFactor results in wavelets that are too narrowly focused in frequency, potentially violating the necessary conditions for stable wavelet scattering. Reducing the QualityFactor increases the wavelets' bandwidth, ensuring they are appropriately scaled relative to the highest wavelet center frequency.
The necessary condition is that the wavelet's frequency standard deviation must not be too narrow compared to the scaling function's frequency support to ensure numerical stability and effective signal representation.
Consider the following example:
  • Assume the center frequency of the mother wavelet is around 1 kHz.
  • With a QualityFactor (Q) of 15, the 3-dB bandwidth results in a very small frequency standard deviation (1000/15 = 66.7 Hz) relative to the highest wavelet center frequency.
  • The scaling function's frequency support is determined by the invariance scale. For an invariance scale of 0.005 seconds, the scaling function captures frequencies up to approximately 1/(2*0.005) = 100 Hz.
This is problematic because the frequency standard deviation is smaller than the scaling function's frequency support (66.7 Hz < 100 Hz).
By using a lower QualityFactor (Q = 9, Standard Deviation = 1000/9 = 111.11 Hz), the wavelet's frequency standard deviation becomes sufficiently large, satisfying the condition relative to the scaling function's frequency support. This adjustment ensures that the wavelets can effectively cover the necessary frequency range without becoming too narrow, thus resolving the error and allowing the wavelet scattering transform to operate correctly.
  4 comentarios
Swastik Sarkar
Swastik Sarkar el 17 de Dic. de 2024 a las 9:37
We are utilizing half the frequency in accordance with the Nyquist theorem. Unfortunately, I don't have the documentation to substantiate the formulas at the moment. Please note that the data I've used is merely a sample, and the actual data may differ significantly from this example.
Swastik Sarkar
Swastik Sarkar el 19 de Dic. de 2024 a las 3:32
Editada: Swastik Sarkar el 19 de Dic. de 2024 a las 3:32
Below is some documentation I found that might help clarify the mathematical conditions of the Wavelet Scattering Transform.

Iniciar sesión para comentar.

Categorías

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

Productos


Versión

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by