|
subroutine fft(n,xok,m,c,d)
complex xok(n),u,w,t
nv2=n/2
nm1=n-1
j=1
do 7 i=1,nm1
if(i.ge.j)goto5
t=xok(j)
xok(j)=xok(i)
xok(i)=t
5 k=nv2
6 if(k.ge.j)goto7
j=j-k
k=k/2
goto6
7 j=j+k
pi=3.1416
do 20 l=1,m
le=2**l
le1=le/2
u=(1.,0.)
si=-1.*c*sin(pi/le1)
w=cmplx(cos(pi/le1),si)
do 20 j=1,le1
do 10 i=j,n,le
ip=i+le1
t=xok(ip)*u
xok(ip)=xok(i)-t
10 xok(i)=xok(i)+t
20 u=u*w
do 33 i=1,n
33 xok(i)=xok(i)/(nv2*d)
xok(1)=xok(1)/2.
return
end
E-mail: info@telesys.ru