Могут использоваться определяемые пользователем функции вместо предопределенных функций АЧХ для @fresp.Функция вызывается из cfirpm.
Я использую функцию handle для добавления групповой задержки и частоты сетки,
Я пытаюсь много раз в этом коде
%the function handle
function [dh,dw]=fresp(n,gf)
c= exp(-1i*pi*gf*n/2 );
%dw=ones(size(gf));
[dh,dw]=freqz(c,1,100);
end
%example
n = 30; % Filter order
f = [-1 -0.5 -0.4 0.7 0.8 1]; % Frequency band edges
gf = [linspace(-1,-.5,170),linspace(-.4,-.7,100),linspace(.8,1,130)];
b = cfirpm(n,f,@fresp);
fvtool(b,1,'OverlayedAnalysis','phase');
Но я обнаружил ту же ошибку в Matlab
Error in cfirpm>eval_grid (line 455)
[DES_CRMZ, WT_CRMZ] = filt_call(M, 2*edges, 2*GRID_CRMZ, wgts,
other_params{:});
Error in cfirpm (line 284)
[Lfft, indx_edges] = eval_grid (edges, num_bands, M, L, ...
Это правильный способ использовать дескриптор функции с cfirpm?