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.

답변 (1개)

Swastik Sarkar
Swastik Sarkar 2024년 12월 16일

0 개 추천

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

Erick Axel
Erick Axel 2024년 12월 17일
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 2024년 12월 17일
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 2024년 12월 17일
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 2024년 12월 19일
편집: Swastik Sarkar 2024년 12월 19일
Below is some documentation I found that might help clarify the mathematical conditions of the Wavelet Scattering Transform.

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 AI for Signals and Images에 대해 자세히 알아보기

제품

릴리스

R2023b

질문:

2024년 12월 13일

편집:

2024년 12월 19일

Community Treasure Hunt

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

Start Hunting!

Translated by