В scilab (это важно) я написал функцию цифрового фильтра , например КИХ , потом хочу посмотреть его АЧХ .
Для этого формирую вектор , например из 512 элементов где все элементы нули и один элемент очень большое число - аля дельта функция .
Сформированый вектор подаю на функцию фильтра , получаю вектор прошедший через фильтр и его я подаю на функцию fft() , перевожу в Дб и вывожу на график.
И вроде всё - ок.
Вопрос такой, будет ли эта же схема работать с самодельным CIC фильтром ?
Вот с таким например:
CODE
function [y]=cic_filter(x) //M=2 N=2 R=1
n=length(x)
integrator1=0
integrator2=0
last2_integrator2=0;
last1_integrator2=0;
last2_comb1 = 0;
last1_comb1 = 0;
last2_comb2 = 0;
last1_comb2 = 0;

downsample_clock=0;

for i=1:n

integrator1 = (integrator1 + x(i))/1;
integrator2 = (integrator2 + integrator1)/1;

downsample_clock=downsample_clock+1

if downsample_clock>1
then

last2_integrator2 = last1_integrator2;
last1_integrator2 = integrator2;

comb1 = (integrator2 - last2_integrator2)/1;

last2_comb1 = last1_comb1;
last1_comb1 = comb1;

comb2 = (comb1 - last2_comb1)/1

last2_comb2 = last1_comb2;
last1_comb2 = comb2;

//y(i/downsample_clock)=comb8;
y(i)=comb2;
downsample_clock=0
end
end
endfunction


а то я в качестве АЧХ получил прямую линию