Перейти к содержанию

вопрос про АЧХ цифрового фильтра

В 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


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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация