Algoritma Fast Fourier Transform menghitung dekomposisi Fourier dengan asumsi bahwa titik inputnya sama-sama diberi spasi dalam domain waktu, . Bagaimana jika tidak? Apakah ada algoritma lain yang bisa saya gunakan, atau beberapa cara saya bisa memodifikasi FFT, untuk menjelaskan apa yang secara efektif tingkat sampling variabel?
Jika solusinya tergantung pada bagaimana sampel didistribusikan, ada dua situasi khusus yang paling saya minati:
- Laju pengambilan sampel konstan dengan jitter: mana adalah variabel yang didistribusikan secara acak. Misalkan aman untuk mengatakan .
- Menjatuhkan sampel dari laju pengambilan sampel yang konstan: mana
Motivasi: pertama-tama, ini adalah salah satu pertanyaan dengan suara lebih tinggi pada proposal untuk situs ini. Tetapi di samping itu, beberapa waktu yang lalu saya terlibat dalam diskusi tentang penggunaan FFT (ditanyakan oleh pertanyaan tentang Stack Overflow ) di mana beberapa data input dengan titik sampel tidak merata muncul. Ternyata cap waktu pada data salah, tetapi membuat saya berpikir tentang bagaimana seseorang dapat mengatasi masalah ini.
sumber
Tambahan untuk jawaban yang diterima. Berikut ini tautan ke implementasi sumber terbuka metode Greengard dan Lee: https://finufft.readthedocs.io/en/latest/ Ini memiliki pembungkus untuk C, fortran, MATLAB, oktaf, dan python. Saya percaya FINUFFT ditulis dalam bahasa C ++.
Itu dipelihara dan digunakan di NYU Courant institute, SFU, Flatiron institute (tentu saja), University of Texas Austin dan universitas negeri Florida. Setidaknya ini yang saya tahu.
Saya sendiri menggunakan versi yang lebih lama, karena saya malas. Lihat: https://cims.nyu.edu/cmcl/nufft/nufft.html
sumber
Yang menarik adalah Transformasi Fourier Diskrit Terkompensasi Tanggal:
Ferraz-Mello, S., 1981, Perkiraan periode dari pengamatan spasi yang tidak seimbang , The Astronomical Journal, 302: 757-763 .
sumber