Wavelet Scattering Transform Errror

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

0 votos

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

Erick Axel
Erick Axel el 17 de Dic. de 2024
Hi @Swastik Sarkar Thanks for the answer. I only have one question why the invariance scale needs to be multiply by 2 in this expression: 1/(2*0.005). Do you have any documentation in which I can verify the formulas that you provided?
Erick Axel
Erick Axel el 17 de Dic. de 2024
Also I am getting the follwing error for the next setting differnet to the previous one
%% WST parametrization
x = data_segment(1).data';
Fs = 8000; %% Sampling Frequency
invScale = 0.00125; %% Invariance Scale
sf = waveletScattering('SignalLength',length(x),'InvarianceScale',invScale,'Boundary','periodic', ...
'SamplingFrequency',Fs,'QualityFactors',[1,1]); %% WST parameter setting
Error using waveletScattering/gaborparameters>convertTtoJ
The resolution of the specified scattering framework is less than 1. Try increasing the InvarianceScale.
Error in waveletScattering/gaborparameters (line 24)
J = convertTtoJ(Q,freqsigmapsi,freqsigmaphi);
Error in waveletScattering (line 170)
ftables = gaborparameters(self);
Error in WST_test_hydrophone_branched_DT (line 31)
sf = waveletScattering('SignalLength',length(x),'InvarianceScale',invScale,'Boundary','periodic', ...
Swastik Sarkar
Swastik Sarkar el 17 de Dic. de 2024
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
Editada: Swastik Sarkar el 19 de Dic. de 2024
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 AI for Signals and Images en Centro de ayuda y File Exchange.

Productos

Versión

R2023b

Preguntada:

el 13 de Dic. de 2024

Editada:

el 19 de Dic. de 2024

Community Treasure Hunt

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

Start Hunting!

Translated by