Fortran Coder

查看: 4849|回复: 3
打印 上一主题 下一主题

[通用算法] 傅里叶逆变换

[复制链接]

954

帖子

0

主题

0

精华

大师

F 币
184 元
贡献
75 点

规矩勋章元老勋章新人勋章水王勋章热心勋章

QQ
楼主
发表于 2018-1-1 21:15:38 | 显示全部楼层
你只取实部的话,肯定是不能还原原有信号的。

你可以用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
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-3 20:51

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表