简单的傅立叶变换

网友告知有个傅立叶变换这么个东西, 于是写了个Python程序来玩玩。

#!/usr/bin/python
import math
def main():
    hello=[0]*100000
    for i in range(0,100000):
       hello[i]=100*math.sin(i*2*math.pi/1000)+222*math.sin(i*2*math.pi/5000)
    print abs(FT(hello,0.001))/len(hello)*2
    print abs(FT(hello,0.0002))/len(hello)*2
    #print math.atan2()

def FT(data, f):
    sum=0+0j;
    for i in range(0,len(data)):
        sum += data[i]*(math.e**(-1j*2*math.pi*f*i))
    return sum

if __name__ == '__main__':
    main()
    
发表评论?

1 条评论。

  1. 傅立叶变换的快速算法叫FFT (Fast Fourier Transform)

发表评论

注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

:wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :arrow: :?: :-| :-x :-o :-P :-D :-? :) :( :!: 8-O 8)

本文链接:https://twd2.me/archives/4360QrCode