FVTool: filter array as parameter

2 visualizaciones (últimos 30 días)
Nycholas Maia
Nycholas Maia el 30 de Dic. de 2017
Comentada: Nycholas Maia el 8 de En. de 2018
I would like to pass a filter vector as a parameter to FVTool to automate different plots of my MATLAB script.
Example: I have this:
plotter = fvtool(getFilter(octaveFilterBank{1}), ...
getFilter(octaveFilterBank{2}), ...
'FrequencyScale', 'log', ...
'Fs', Fs);
I want something like this:
% Init the array:
filter_array = [getFilter(octaveFilterBank{1}), ...
getFilter(octaveFilterBank{2})];
% Plot:
plotter = fvtool(filter_array, ...
'FrequencyScale', 'log', ...
'Fs', Fs);
How can I do this?

Respuesta aceptada

Gabriele Bunkheila
Gabriele Bunkheila el 8 de En. de 2018
Hi Nycholas,
Please give the following a try and let us know if it works for you:
filter1 = octaveFilter('CenterFrequency',1000);
filter2 = octaveFilter('CenterFrequency',2000);
filterArray = {getFilter(filter1), getFilter(filter2)};
fvtool(filterArray{:})
Thanks,
Gabriele.
  1 comentario
Nycholas Maia
Nycholas Maia el 8 de En. de 2018
Thank you Gabriele! You are right! Now it's working!
In my case, my final code is:
% Preallocate the filter bank:
octaveFilterBank = cell(1, 5);
for n = 1:5
% Change the Center Frequency Dinamically:
freq = 1000 * n;
% Get the filter:
filter = getFilter(octaveFilter('CenterFrequency', freq));
% Add to filter array:
octaveFilterBank{n} = filter;
end
% Plot filter array:
fvtool(octaveFilterBank{:})

Iniciar sesión para comentar.

Más respuestas (0)

Community Treasure Hunt

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

Start Hunting!

Translated by