Filter löschen
Filter löschen

Is it correct to increase the number of voices per octave above 48 when using the wsst function?

35 Ansichten (letzte 30 Tage)
I am using the wsst( ) function and I need to improve the resolution of my results by increasing the number of voices per octave above 48; which is the maximum allowed. I have checked the code of the function and found that it is only hard-limiting this number on the input, so I would be able to modify it, but I am not aware if there are other processing consequences of this action.
In other words, is this limitation of 48 voices per octave a mere fact of limitations due to resources or it can be increased without any issue?

Antworten (1)

praguna manvi
praguna manvi am 10 Sep. 2024 um 4:38
Bearbeitet: praguna manvi am 10 Sep. 2024 um 4:56
As per my understanding, you are aiming to increase the resolution your result using the “wsst” function. Please note that modifying the “wsst” function can have unintended consequences, as it calls the “cwtfilterbank” function, which performs inclusivity checks on the “VoicesPerOctave” parameter. You can find its description in the documentation below under the output arguments and also in the “wsst” function’s code:
According to the documentation, the maximum and minimum scales specified by “VoicesPerOctave” are automatically determined by the energy spread of the wavelet in frequency and time; hence, the range is fixed between [1, 48]:
And it is possible to achieve more resolution by varying the sampling frequency and adjusting the “SamplingFrequency” and “Wavelet” parameters.
Increasing the “VoicesPerOctave” parameter can result in the computation of a large matrix that replicates the 1-D time series data D, over N_s, where N_s is the number of scales in obtained in the output of “wsst”. This leads to an output size of N_s x numel(D), which could be memory-intensive for large time series.
  1 Kommentar
Marc Heras Puig
Marc Heras Puig am 19 Sep. 2024 um 9:40
I appreciate your response, but there are some aspects of it which I am not able to fully understand.
I have checked the code in the wsst.m script and I am not able to find any reference to the "cwtfilterbank" function. In addition to this, shouldn't I receive a warning or an error message from the checks on the VoicesPerOctave parameter if the value I use is not in the desired range?
I removed the limit of 48 voices from the wsst function by creating a new one. I have also compared the results between a regular stft result of the same signals and the ones from the wsst function I used with 256 voices per octave, and they seem to be coherent. Matlab doesn't return any warning or error concerning number of voices.
Can I consider that the values I obtain are correct? Is there any other aspect that could be providing me misleading results which would appear to be correct?

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Continuous Wavelet Transforms finden Sie in Help Center und File Exchange

Produkte


Version

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by