honeycomb0 0 8 сентября, 2016 Опубликовано 8 сентября, 2016 (изменено) · Жалоба Вот у меня есть CIC фильтр после которого идет КИХ. Понятно, что для общего АЧХ этой связки надо перемножить АЧХ фильтров. С АЧХ КИХ фильтра вопросов нет. А вот с АЧХ CIC у меня сплошная путаница. Сам СIC у меня очень простой (т.е. первого порядка, четырехкратная децимация) и описан он очень примитивно: R = 4; % четырехкратная децимация D = 2; % задержка delayBuffer = zeros(1,D); Acum = 0; xn = zeros(1,128); xn(1) = 1; % входной сигнал, Дельта функция output = zeros(1,(length(xn) / R)); decim = 0; n = 1; % Сначала интегрируем for ii=1:length(xn) Acum = Acum + xn(ii); decim = decim + 1; % ... потом децимируем if(decim == R) % ... тут гребеньчатый фильтр Comb = Acum - delayBuffer(end); delayBuffer(2:end) = delayBuffer(1:end-1); delayBuffer(1) = Acum; output(n) = Comb; n = n + 1; decim = 0; end end Для АЧХ этого фильтра я делаю freqz(output) и получаю (см. первый график). И тут у меня начались "проблемы в понимании". Неужели АЧХ не должно выглядить как-то вот так (см. второй график)? Я догадываюсь что АЧХ на выходе "свернулось" в один лепесток из-за прореживания дециматора - это так? Как тогда понимать, что при расчете CIC фильтра, учитывают уровни подавления последующих лепестков (за счет увеличения порядка фильтра), но при этом на выходе фильтра имеем АХЧ с одним лепестком...? А так же, уровень усиления в обоих случаях разнится:( Очевидно, я что-то не так понял в CIC... Изменено 8 сентября, 2016 пользователем honeycomb0 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
thermit 1 8 сентября, 2016 Опубликовано 8 сентября, 2016 · Жалоба анализ цик сильно упрощается, если вспомнить, что цик1 это ких со всеми к-тами равными 1. Если децимация в 4 раза, то таких к-ов 4. нули такого фильтра расположены на частотах kFd/4, k=1...3, которые при децимации сворачиваются в 0. Поэтому рассматривают уровень ачх вокруг нулей +- половина полосы полезного сигнала. Исходя из требуемого подавления выбирают количество последовательно включенных циков. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
honeycomb0 0 8 сентября, 2016 Опубликовано 8 сентября, 2016 · Жалоба Интересно! Я правильно понимаю, что для АЧХ двух таких последовательных CIC фильтров мне надо "свернуть" их отдельные к-ты, например freqz(conv(ones(1,4), ones(1,4)))? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
thermit 1 8 сентября, 2016 Опубликовано 8 сентября, 2016 · Жалоба да. в той ветке, где вы задавали вопросы про цик это есть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
honeycomb0 0 8 сентября, 2016 Опубликовано 8 сентября, 2016 · Жалоба Спасибо за ответ! Вы правы - перечитал ветку 136444 и понял что там есть ответы на мои вопросы... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться