What is displayed in the filterbank function

10 views (last 30 days)
Henrik
Henrik on 23 Jul 2025
Commented: Thelma on 13 Oct 2025 at 2:11
Hi,
i'm questioning myself, weather i can see the modulus of the different wavelets in the filterbank plot or the gaussian lowpass filter. Furthermore, what does the y-axis display?? If possible give the mathmatics behind the magnitude.
Many thanks
  3 Comments
Henrik
Henrik on 28 Jul 2025
Edited: Henrik on 28 Jul 2025

Wait you fourier transfotm the wavelets? So the assertion i get is, how well the wavelet can detect certain frequencies? And this abroad the orders of my scattering network, in this case 2 orders.

Thelma
Thelma on 13 Oct 2025 at 2:11
I remember when I was working on a speech recognition project, and the filterbank was returning complete garbage; the system was choking on static! Eventually, after days of debugging, it turned out to be a simple indexing error buried deep within the Mel-frequency scaling code. Playing Slither io to relax that night felt richly deserved!

Sign in to comment.

Answers (1)

Rahul
Rahul on 30 Jul 2025
Hi Henrik,
I understand you are exploring the Wavelet Time Scattering example in MATLAB for ECG signal classification and are trying to interpreting the filter bank plots, specifically regarding the modulus of the wavelets, the Gaussian lowpass filter, and the meaning of the Y-axis in the visualizations.
While using the 'visualize(sf)' function on a 'waveletScattering' object, we can visualize the filter bank associated with that scattering configuration. This plot shows the frequency responses (magnitude) of the wavelet filters and lowpass filters across scales used in the scattering transform. In this context:
  • Each curve in the plot represents the magnitude response of a filter either a wavelet filter or the averaging (lowpass) filter. These filters are applied in the time-frequency domain to extract features across different scales and bandwidths.
  • The y-axis represents the magnitude (or modulus) of the frequency response of each filter. Mathematically, this is the absolute value of the Fourier transform of the filter response — i.e., '|Ψ̂(ω)|' for wavelets and '|φ̂(ω)|' for the lowpass filter.
  • The x-axis is frequency, normalized by the sampling frequency 'Fs', ranging from 0 to the Nyquist frequency.
  • The modulus you asked about is applied later in the scattering process not in the filter bank visualization itself. After each convolution with a wavelet, the signal undergoes a nonlinear modulus operation, followed by lowpass filtering. So, the modulus of the filter output is part of the time-scattering representation, not shown directly in the filter bank plot.
In case you want to see the modulus of the different wavelets, that refers to the scattering coefficients (output of the scattering transform), not the filters themselves. You can extract them using the following command:
S = sf(U); % where U is your input signal
Here, 'S' contains the scattering coefficients which already include the modulus operation after wavelet filtering.
If you're interested in inspecting the filters numerically or using them outside the scattering context, you can construct wavelets manually using functions like 'cwtfilterbank' or 'designfilt' functions, depending on the intended analysis.
You can find more background on the structure and mathematics behind the scattering transform and the associated wavelet filter banks in the following documentation links:
Hope this helped!

Categories

Find more on Filter Banks in Help Center and File Exchange

Products


Release

R2025a

Community Treasure Hunt

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

Start Hunting!