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

📄 fftsj1.f

📁 离散的快速傅立叶转换,可以减少许多傅立叶转换的时间
💻 F
字号:
Received: from stmail.isu.edu.tw (localhost [127.0.0.1])
	by mail.isu.edu.tw (8.11.6+Sun/8.11.6) with ESMTP id gBGCJ2n05434
	for <yshuang@isu.edu.tw>; Mon, 16 Dec 2002 20:19:02 +0800 (CST)
Received: from csj (localhost [127.0.0.1])
	by stmail.isu.edu.tw (8.11.6/8.11.6) with SMTP id gBGCJD917201
	for <yshuang@isu.edu.tw>; Mon, 16 Dec 2002 20:19:13 +0800 (CST)
Message-ID: <000d01c2a4fe$2f866320$b8c07f8c@csj>
From: "9101011M" <m9101011@stmail.isu.edu.tw>
To: =?big5?B?tsClw6XN?= <yshuang@isu.edu.tw>
Subject: FFT
Date: Mon, 16 Dec 2002 20:25:14 +0800
MIME-Version: 1.0
Content-Type: multipart/mixed;
	boundary="----=_NextPart_000_0009_01C2A541.3D7C5190"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 5.00.2919.6700
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6700
Content-Length: 2189
Status:   


This is a multi-part message in MIME format.

------=_NextPart_000_0009_01C2A541.3D7C5190
Content-Type: multipart/alternative;
	boundary="----=_NextPart_001_000A_01C2A541.3D7C5190"



------=_NextPart_001_000A_01C2A541.3D7C5190
Content-Type: text/plain;
	charset="big5"
Content-Transfer-Encoding: quoted-printable



------=_NextPart_001_000A_01C2A541.3D7C5190
Content-Type: text/html;
	charset="big5"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content=3D"text/html; charset=3Dbig5" http-equiv=3DContent-Type>
<META content=3D"MSHTML 5.00.2920.0" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV>&nbsp;</DIV></BODY></HTML>

------=_NextPart_001_000A_01C2A541.3D7C5190--

------=_NextPart_000_0009_01C2A541.3D7C5190
Content-Type: application/octet-stream;
	name="FFT.F"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="FFT.F"

      PROGRAM TEST_FFT
	COMPLEX*16 A(100)
	INTEGER I,K,INV,N
	OPEN(UNIT=F1,FILE='F1.TXT')
C 	K=2
      WRITE(*,*)'GIVE K,AND N=2^K'
	READ(*,*)K
	N=2**K
C      WRITE(*,*)'GIVE HOW MANY NUMBERS YOU WILL INPUT'
C      READ(*,*)N
	DO I=1,N
	  WRITE(*,*)'A(',I,')='
	  READ(*,*)A(I)
      ENDDO

	INV=0
	
	CALL FFT(A,K,INV)
	
	DO I=1,N
	  WRITE(*,*)'A(',I,')=',N*A(I)
	  WRITE(F1,*)'A(',I,')=',N*A(I)
	ENDDO

	STOP
	END



	SUBROUTINE FFT(A,M,INV)
	COMPLEX*16 A(1),U,W,T
	DOUBLE PRECISION ANG,PI
	INTEGER N,ND2,I,J,K,L,LE,LE1,IP
	PARAMETER (PI=3.141592653589793D0)
	N=2**M
	ND2=N/2
	J=1

	DO I=1,N-1
	  
	  IF(I.LT.J)THEN
	    T=A(J)
	    A(J)=A(I)
	    A(I)=T
         ENDIF

	   K=ND2

100      IF(K.LT.J)THEN
           J=J-K
	     K=K/2
	     GOTO 100
	   ENDIF
	   
	   J=J+K
	   
	ENDDO
	
	LE=1
	
	DO L=1,M
	  LE1=LE
	  LE=LE+LE
	  U=(1.D0,0.D0)
	  ANG=PI/DBLE(LE1)
	  W=DCMPLX(COS(ANG),-SIN(ANG))
	  
	  IF(INV.EQ.1) W=DCONJG(W)
	  
	  DO J=1,LE1
	  
	    DO I=J,N,LE
		  IP=I+LE1
		  T=A(IP)*U
		  A(IP)=A(I)-T
		  A(I)=A(I)+T
		ENDDO
		
		U=U*W
	  ENDDO

	ENDDO
	 
	IF(INV.NE.1)THEN
	  
	  DO I=1,N
	    A(I)=A(I)/DBLE(N)
	  ENDDO
	  
	ENDIF  	   
	
	RETURN
	END
	  	     	  
------=_NextPart_000_0009_01C2A541.3D7C5190--


⌨️ 快捷键说明

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