# FVTool: filter array as parameter

5 ビュー (過去 30 日間)
Nycholas Maia 2017 年 12 月 30 日
コメント済み: Nycholas Maia 2018 年 1 月 8 日
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?

サインインしてコメントする。

### 採用された回答

Gabriele Bunkheila 2018 年 1 月 8 日
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 件のコメント表示非表示 なし
Nycholas Maia 2018 年 1 月 8 日
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));
octaveFilterBank{n} = filter;
end
% Plot filter array:
fvtool(octaveFilterBank{:})

サインインしてコメントする。

### Community Treasure Hunt

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

Start Hunting!

Translated by