Commit | Line | Data |
---|---|---|
81e70d48 PH |
1 | C FFTC.FT FFT-V4A 4/22/76\r |
2 | \r | |
3 | SUBROUTINE FFTC (A,N,M,SGNEX)\r | |
4 | \r | |
5 | C-------FFT VON N=2**M KOMPLEXEN DATEN\r | |
6 | C A = IN- UND OUTPUTARRAY, LAENGE N=2**M, KOMPLEX\r | |
7 | C-------SGNEXP = VORZEICHEN DES EXPONENTEN DER E-FUNKTIONEN\r | |
8 | \r | |
9 | DIMENSION A(2,513)\r | |
10 | DIMENSION U(2),W(2),T(2),V(2)\r | |
11 | NV2=N/2\r | |
12 | NM1=N-1\r | |
13 | J=1\r | |
14 | DO 7 I=1,NM1\r | |
15 | IF (I.GE.J) GOTO 5\r | |
16 | T(1)=A(1,J)\r | |
17 | T(2)=A(2,J)\r | |
18 | A(1,J)=A(1,I)\r | |
19 | A(2,J)=A(2,I)\r | |
20 | A(1,I)=T(1)\r | |
21 | A(2,I)=T(2)\r | |
22 | 5 K=NV2\r | |
23 | 6 IF (K.GE.J) GOTO 7\r | |
24 | J=J-K\r | |
25 | K=K/2\r | |
26 | GO TO 6\r | |
27 | 7 J=J+K\r | |
28 | PI=3.141592653*SGNEX\r | |
29 | LE1=1\r | |
30 | S=0.\r | |
31 | DO 30 L=1,M\r | |
32 | LE=2*LE1\r | |
33 | U(1)=1.\r | |
34 | U(2)=0.\r | |
35 | SN=SIN(PI/FLOAT(LE))\r | |
36 | W(1)=-2.*SN*SN\r | |
37 | W(2)=S\r | |
38 | S=SN\r | |
39 | DO 20 J=1,LE1\r | |
40 | DO 10 I=J,N,LE\r | |
41 | IP=I+LE1\r | |
42 | T(1)=A(1,IP)*U(1)-A(2,IP)*U(2)\r | |
43 | T(2)=A(1,IP)*U(2)+A(2,IP)*U(1)\r | |
44 | A(1,IP)=A(1,I)-T(1)\r | |
45 | A(2,IP)=A(2,I)-T(2)\r | |
46 | A(1,I)=A(1,I)+T(1)\r | |
47 | A(2,I)=A(2,I)+T(2)\r | |
48 | 10 CONTINUE\r | |
49 | V(1)=U(1)+U(1)*W(1)-U(2)*W(2)\r | |
50 | V(2)=U(2)+U(1)*W(2)+U(2)*W(1)\r | |
51 | U(1)=V(1)\r | |
52 | U(2)=V(2)\r | |
53 | COR=.5-.5*(U(1)*U(1)+U(2)*U(2))\r | |
54 | U(1)=COR*U(1)+U(1)\r | |
55 | 20 U(2)=COR*U(2)+U(2)\r | |
56 | 30 LE1=LE\r | |
57 | RETURN\r | |
58 | END\r | |
59 | \f\1a\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 |