⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mfftc9.f

📁 FFT源代码汇集(各种FFT源代码)
💻 F
字号:
      SUBROUTINE MFFTC9(C,FAC)**   PURPOSE:*       ELEMENTARY COOLEY-TUKEY RADIX 5 STEP APPLIED TO A VECTOR-OF*       2-VECTORS-OF-COMPLEX C[IMS,NM [IVS,NV [IES,NE]]].*       SEE REF.[1] FOR NOTATIONS.*       THIS ROUTINE CAN BE USED ONLY BY ROUTINE MFFTIS, WHICH CONTROLS*       ITS OPERATION THROUGH THE MFFTPA COMMON**   DUMMY ARGUMENTS :**   C   ARRAY BEING FOURIER  TRANSFORMED*   FAC PHASE FACTORS, PREPARED BY MFFTP; NOT MODIFIED IN OUTPUT*      COMMON /MFFTPA/  IMS,IVS,IES,NM,NV,NE,MX,LX,MLIM,MSTEP,LLIM,LSTEP,     $ NUSTEP,IVLIM,ILIM,MD2LIM,LD2LIM      INTEGER NUSTEP      COMPLEX C(0:NUSTEP-1,0:4),FAC(0:*)      COMPLEX T1,T2,T3,T4,T5      REAL SIN72,RAD5D4,S36D72      PARAMETER (     $ SIN72 =  9.51056516295153572116439333E-1,     $ RAD5D4 =  5.59016994374947424102293417E-1,     $ S36D72 =  6.18033988749894848204586834E-1 )       IF(LX.NE.1)THEN          DO 200 MU=0,MLIM,MSTEP            DO 150 IV=MU,MU+IVLIM,IVS              ILAMF=0              ILAMF2=NUSTEP              ILAMF3=2*NUSTEP              ILAMF4=3*NUSTEP              DO 100 ILAM=IV,IV+ILIM                T1=C(ILAM,1)*FAC(ILAMF)+C(ILAM,4)*FAC(ILAMF4)                T2=C(ILAM,2)*FAC(ILAMF2)+C(ILAM,3)*FAC(ILAMF3)                T3=(C(ILAM,1)*FAC(ILAMF)-C(ILAM,4)*FAC(ILAMF4))*SIN72                T4=(C(ILAM,2)*FAC(ILAMF2)-C(ILAM,3)*FAC(ILAMF3))*SIN72                T5=T1+T2                T1=RAD5D4*(T1-T2)                T2=C(ILAM,0)-0.25*T5                C(ILAM,0)=C(ILAM,0)+T5                T5=T2+T1                T2=T2-T1                T1=T3+S36D72*T4                T3=S36D72*T3-T4                C(ILAM,1)=T5+CMPLX(-AIMAG(T1),REAL(T1))                C(ILAM,4)=T5-CMPLX(-AIMAG(T1),REAL(T1))                C(ILAM,2)=T2+CMPLX(-AIMAG(T3),REAL(T3))                C(ILAM,3)=T2-CMPLX(-AIMAG(T3),REAL(T3))                ILAMF=ILAMF+1                ILAMF2=ILAMF2+1                ILAMF3=ILAMF3+1                ILAMF4=ILAMF4+1100           CONTINUE150         CONTINUE200       CONTINUE      ELSE          DO 400 MU=0,MLIM,MSTEP            DO 350 IV=MU,MU+IVLIM,IVS              DO 300 ILAM=IV,IV+ILIM                T1=C(ILAM,1)+C(ILAM,4)                T2=C(ILAM,2)+C(ILAM,3)                T3=(C(ILAM,1)-C(ILAM,4))*SIN72                T4=(C(ILAM,2)-C(ILAM,3))*SIN72                T5=T1+T2                T1=RAD5D4*(T1-T2)                T2=C(ILAM,0)-0.25*T5                C(ILAM,0)=C(ILAM,0)+T5                T5=T2+T1                T2=T2-T1                T1=T3+S36D72*T4                T3=S36D72*T3-T4                C(ILAM,1)=T5+CMPLX(-AIMAG(T1),REAL(T1))                C(ILAM,4)=T5-CMPLX(-AIMAG(T1),REAL(T1))                C(ILAM,2)=T2+CMPLX(-AIMAG(T3),REAL(T3))                C(ILAM,3)=T2-CMPLX(-AIMAG(T3),REAL(T3))300           CONTINUE350         CONTINUE400       CONTINUE      ENDIF      END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -