我有1000个CT数据,每个CT间隔1.2飞秒,现在对其进行傅里叶变换,只考虑实部,W是角频率想从0-1000,T是时间从0到1200飞秒。傅里叶变换后想得到横轴W(频率),纵轴FCT的图。但是结果貌似不是预期的样子,和origin中自行FFT做的图不吻合,还请各位帮忙看一下程序。谢谢诸位!
[Fortran] 纯文本查看 复制代码 PROGRAM FOURIER
IMPLICIT NONE
REAL(4)::DT,T,FCT
CHARACTER::U
INTEGER::I,W
REAL(4),DIMENSION(1001)::CT
OPEN(12,FILE='VACFHI.txt')
OPEN(13,FILE='FT.txt')
DO I=0,1000
READ(12,*)U,CT(I)
ENDDO
DO W=0,1000
DT=0.012
T=0
FCT=0
DO I=0,1000
IF (T.LT.1001) THEN
FCT=FCT+2*(CT(I)*COS(W*T)*DT)
T=T+DT
ENDIF
ENDDO
WRITE(13,*)W/(0.012/1000)*33,FCT
ENDDO
CLOSE(12)
CLOSE(13)
END
|