				% DTMF dekódolás FIR szûrõvel
t=0:1/10000:.1;
x=1209;
y=941;
dtmf=sin(x*2*pi*t)+sin(y*2*pi*t);
Wp=y/5000;
Ws=x/5000;
n=100;
f=[0 Wp Ws 1];
m=[1 1  0  0];
mh=[0 0 1 1];
[b]=remez(n,f,m);
[d]=remez(n,f,mh);
a=1;c=1;
fy=filter(b,a,dtmf);
fx=filter(d,c,dtmf);

z=fy;       %fy 941 Hz, fx 1209 Hz
clear n p
i=2;
for j=100:900
	if z(j)<0 & z(j-1)>=0
        n(i)=j;     %nullátmenet
		%n(i)=j-abs(asin(z(j)))/(abs(asin(z(j)))+abs(asin(z(j-1)))); %arcos sinus interpoláció
		%n(i)=j-abs((z(j)))/(abs((z(j)))+abs((z(j-1))));    %lineáris interpoláció
		p(i)=n(i)-n(i-1);
		i=i+1;
	end
end
m=mean(p(3:length(p)));
10000/m

figure(1)
plot(z)