What is displayed in the filterbank function
10 views (last 30 days)
Show older comments
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
Comming from the following example: Wavelet Time Scattering for ECG Signal Classification - MATLAB & Simulink Example

3 Comments
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!
Answers (1)
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:
- Wavelet Scattering Networks: https://www.mathworks.com/help/releases/r2025a/wavelet/ug/wavelet-scattering.html
- Continuous wavelet transform filter bank: https://www.mathworks.com/help/releases/r2025a/wavelet/ref/cwtfilterbank.html
- Design digital filter: https://www.mathworks.com/help/releases/r2025a/signal/ref/designfilt.html
Hope this helped!
0 Comments
See Also
Categories
Find more on Filter Banks in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!