Здравствуйте. Хочу задать вопрос по проектированию рекурсивных цифровых фильтров. Нужно спроектировать ФНЧ (любой) с полосой пропускания до 500 герц. Для этого использую MatLab6.1. С помощью инструмента FDAtool получаю коефициенты фильтра. Проблема заключается в том , что при любой частоте сигнал на выходе равен сигналу на входе. Не могу понять в чем проблема.
Fs = 10000; t = 1e-6:1e-6:1e-2;
f = 500; %Hz
x = sin(2*pi*t*f);
plot(t,x); xlabel('Samples(1 sample = 10 us)'); ylabel('Magnitude'); grid on;
a = [6.4889e-2,1.2977e-1,6.4889e-2]; b = [1.1615,-4.21066e-1];
for k = 1:1:Fs; if(k == 1); y(1) = a(1)*x(1); end; if(k == 2); y(2) = x(2)*a(1) + x(1)*a(2) + y(1)*b(1); end; if(k > 2); y(k) = x(k)*a(1) + x(k-1)*a(2) + x(k-2)*a(3) + y(k-1)*b(1) + y(k-2)*b(2); end;
end;
figure; plot(t,y);
|