in dsp.Channelizer for 256 NumFrequencyBands response filter bank

14 visualizzazioni (ultimi 30 giorni)
Hi everyone
I have a problem for use dsp.Channelizer in Matlab R2020a
in dsp.Channelizer for 256 NumFrequencyBands response filter bank I can not understand result.
when NumFrequencyBands is 64 response of filterbank cover all normalized frequncy [-1 1] same below image
M=64;
Tap=4;
channelizer = dsp.Channelizer('NumFrequencyBands',M,'NumTapsPerBand',Tap,'StopbandAttenuation',80);
%%
fvtool(channelizer)
but when NumFrequencyBands is 128 or 256 response of filterbank in not cover all normalized frequncy [-1 1] same below image
M=64*2;
Tap=4;
channelizer = dsp.Channelizer('NumFrequencyBands',M,'NumTapsPerBand',Tap,'StopbandAttenuation',80);
%%
fvtool(channelizer)
can anyone expline for me what is the problem?

Risposte (1)

Rahul
Rahul il 15 Mag 2025
Hi Mansour,
I understand you are observing unexpected results when setting the 'NumFrequencyBands' parameter to 256 in the 'dsp.Channelizer' function. This behavior is actually a result of how the filter bank is designed to divide the spectrum. When the channelizer is configured with 256 frequency bands, it splits the entire normalized frequency range [1,1][-1, 1][1,1] into 256 narrow sub-bands, which makes the filter response look very dense and overlapping. This is expected for a polyphase filter bank that ensures there are no gaps in frequency coverage. To visualize this, you can use the following MATLAB script:
M = 256;
Tap = 4;
channelizer = dsp.Channelizer('NumFrequencyBands', M, 'NumTapsPerBand', Tap, 'StopbandAttenuation', 80);
fvtool(channelizer);
Error using dsp.Channelizer/fvtool (line 694)
This functionality is not available on remote platforms.
The 'fvtool' visualization will be helpful in showing how each sub-band is tightly packed across the spectrum. In case you want to inspect the individual bands, you can loop through them and plot each one separately:
for idx = 1:8 % Viewing the first 8 sub-bands
fvtool(channelizer, 'Analysis', 'freq', 'OverlayedAnalysis', 'off', 'Channels', idx);
title(['Frequency Response of Sub-band ', num2str(idx)]);
pause(0.5);
end
The output should provide a clearer picture of how each sub-band contributes to the overall response. The overlapping observed in the spectrum could be within the design, ensuring smooth transitions between bands to prevent aliasing.
You can execute the following commands in the MATLAB Command Window, to know more about the usage of functions mentioned in the given code snippets:
  • Polyphase FFT analysis filter bank:
web(fullfile(docroot, 'dsp/ref/dsp.channelizer-system-object.html'))
  • Filter Visualization Tool:
web(fullfile(docroot, 'signal/ref/fvtool.html'))
Hope this helps!

Categorie

Scopri di più su Filter Banks in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by