diff options
| author | FreeArtMan <dos21h@gmail.com> | 2021-08-25 09:52:04 +0100 | 
|---|---|---|
| committer | FreeArtMan <dos21h@gmail.com> | 2021-08-25 09:52:04 +0100 | 
| commit | 6b0a499024166602128c586e73604461828c792a (patch) | |
| tree | ad48345344aeb7233726c59c491a30c04678e368 /md | |
| parent | 6f60605d73bb79943b940f25c6e60fb30d7c1bb0 (diff) | |
| download | md-content-6b0a499024166602128c586e73604461828c792a.tar.gz md-content-6b0a499024166602128c586e73604461828c792a.zip  | |
Update fft implementation
Diffstat (limited to 'md')
| -rw-r--r-- | md/writeup/naive_fft_implementation_in_c.md | 18 | 
1 files changed, 15 insertions, 3 deletions
diff --git a/md/writeup/naive_fft_implementation_in_c.md b/md/writeup/naive_fft_implementation_in_c.md index 6d7293e..80c1ea6 100644 --- a/md/writeup/naive_fft_implementation_in_c.md +++ b/md/writeup/naive_fft_implementation_in_c.md @@ -25,18 +25,23 @@ IOWA FFT source on implementation side.  ### DFT  +Formula for most simple Discreate Fourier Transformation. Also most slowest one. + +Official DFT formula  $$X(k) = F_{D}[x(nT)]  = $$       $$ \sum_{n=0}^{N-1} x(nT) e^{-jk\omega nT} , k=0,1,...,N-1 $$ +My wording of DFT algorithm: +Go over data array and sumup multiplication of each "frequency" $$e^{-jk\omega nT}$$ over data array $$x(nT)$$ + + +  ```c  void dft(double *x_i, double *x_q, int n, int inv) {      double Wn,Wk; -    //static array -    //double Xi[DATA_SIZE],Xq[DATA_SIZE]; -    //dynamic array      double *Xi, *Xq;      double c,s;      int i,j; @@ -72,6 +77,13 @@ void dft(double *x_i, double *x_q, int n, int inv) {  }  ```  ### FFT + +This is more advanced version of Fourier Transformation, with rearrangement of data there is possible to +reduce amount of calculations and that give speed increase.  +DFT speed is  +$$ O(N^2)$$ +and FFT becomes as $$ O(N\log N) $$ +  #### Shuffling arrays   ```c  | 
