你只取实部的话,肯定是不能还原原有信号的。
你可以用matlab来验证一下自己的结果。
[Fortran] 纯文本查看 复制代码 PROGRAM FOURIER
IMPLICIT NONE
Real(8) , parameter :: PI = acos(-1.d0)
REAL(8)::FCT,w
CHARACTER::U
INTEGER::I,j
Integer , parameter :: N = 10001
Integer , parameter :: M = 12501
REAL(8),DIMENSION(N)::CT
OPEN(12,FILE='VACFHI.txt')
OPEN(13,FILE='testFT.txt')
DO i=1,N
READ(12,*)U,CT(I)
ENDDO
DO j=0,M-1
FCT=0
w=2.d0*pi*j/M
DO i=0,N-1
FCT=FCT+(CT(I+1)*COS(w*i))
ENDDO
WRITE(13,*)w/pi/2.d0*3.3d4,FCT
ENDDO
CLOSE(12)
CLOSE(13)
END |