scrapjs / gl-fourier

A series of webgl experiments to explore fourier transform calculation complexity.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Experiments on various types of Fourier Transforms. Later will be formed into a natural gl-fourier tool with various methods (hopefully).

  • DFT — due to high paralellism, it is possible to decrease complexity to O(N*N/p), where p can be equal to N. And indeed webgl calculates dft faster than fft. Tests show faster perf, but rendered result still takes time to render.
  • FFT — cooley tukey parallel implementation. Falls back to DFT on the small scale. The principle is avoiding overcalculation of already calculated values of sin/cos. That requires shader to run multiple times, which is worse than parallel overcalculation. So just omitted for now.
  • Stochastic Fourier Transform — stochastic spectrum estimation (unique method), based on formants. Requires implementing formant function, similar to phasor. (wip)

About

A series of webgl experiments to explore fourier transform calculation complexity.


Languages

Language:JavaScript 100.0%