Перескочил сюда из недавней темы. Попробовал то, что здесь предложено. Но изменил длину входной последовательности, чтобы было кратно степени 2.
Код
clear;
clf;
% Единичный импульс
s = [zeros(1,127) 1 zeros(1,128)];
% Импульсная характеристика фильтра
h = [0.042041 0 -0.087017 0 0.31156 0.5 0.31156 0 -0.087017 0 0.042041];
% Фильтр
s_f = filter(h,1,s);
% Дециматор в два раза
s_d = s_f(1:2:end);
% Преобразование Фурье от ИХ
grid on
hold on
plot(20 * log10(abs(fft(s_f)) + eps), 'b');
plot(20 * log10(abs(fft(s_d)) + eps), 'm');
hold off
Имею картинку, отличную от показанной топикстартером.
Если же последовательность другая, то и картинка другая.
s = [zeros(1,128) 1 zeros(1,127)];
Как это понимать?