Lmx2315 2 8 февраля, 2018 Опубликовано 8 февраля, 2018 · Жалоба В scilab (это важно) я написал функцию цифрового фильтра , например КИХ , потом хочу посмотреть его АЧХ . Для этого формирую вектор , например из 512 элементов где все элементы нули и один элемент очень большое число - аля дельта функция . Сформированый вектор подаю на функцию фильтра , получаю вектор прошедший через фильтр и его я подаю на функцию fft() , перевожу в Дб и вывожу на график. И вроде всё - ок. Вопрос такой, будет ли эта же схема работать с самодельным CIC фильтром ? Вот с таким например: 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 а то я в качестве АЧХ получил прямую линию Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться