Вы пытаетесь обрабатывать отсчеты, взятые с периодом 1 мкс, фильтром, спроектированным на частоту дискретизации 10 кГц.
Попробуйте этот код:
Код
clear
Fs = 10000;
f = 500; %Hz
t = 0:1/Fs:10/f
N = size(t, 2)
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:N;
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);