Mercurial > hg > x
diff fft.cpp @ 5:5f3c32dc6e17
* Adjust comment syntax to permit Doxygen to generate HTML documentation; add Doxyfile
author | Chris Cannam |
---|---|
date | Wed, 06 Oct 2010 15:19:49 +0100 |
parents | fc19d45615d1 |
children | 977f541d6683 |
line wrap: on
line diff
--- a/fft.cpp Tue Oct 05 17:03:27 2010 +0100 +++ b/fft.cpp Wed Oct 06 15:19:49 2010 +0100 @@ -4,8 +4,10 @@ #include <stdlib.h> #include "fft.h" +/** \file fft.h */ + //--------------------------------------------------------------------------- -/* +/** function Atan2: (0, 0)-safe atan2 Returns 0 is x=y=0, atan2(x,y) otherwise. @@ -16,7 +18,7 @@ else return atan2(y, x); }//Atan2 -/* +/** function BitInv: inverse bit order of Value within an $Order-bit expression. In: integer Value smaller than 2^Order @@ -35,7 +37,7 @@ return Result; }//BitInv -/* +/** function SetTwiddleFactors: fill w[N/2] with twiddle factors used in N-point complex FFT. In: N @@ -54,7 +56,7 @@ }//SetTwiddleFactors //--------------------------------------------------------------------------- -/* +/** function CFFTCbii: basic complex DIF-FFT module, applied after bit-inversed ordering of inputs In: Order: integer, equals log2(Wid) @@ -93,7 +95,7 @@ } }//CFFTCbii -/* +/** function CFFTC: in-place complex FFT In: Order: integer, equals log2(Wid) @@ -124,7 +126,7 @@ CFFTCbii(Order, W, X); }//CFFTC -/* +/** function CFFTC: complex FFT In: Input[Wid]: complex waveform @@ -149,7 +151,7 @@ }//CFFTC //--------------------------------------------------------------------------- -/* +/** function CIFFTCbii: basic complex IFFT module, applied after bit-inversed ordering of inputs In: Order: integer, equals log2(Wid) @@ -193,7 +195,7 @@ } }//CIFFTCbii -/* +/** function CIFFTC: in-place complex IFFT In: Order: integer, equals log2(Wid) @@ -223,7 +225,7 @@ CIFFTCbii(Order, W, X); }//CIFFTC -/* +/** function CIFFTC: complex IFFT In: Input[Wid]: complex spectrum @@ -243,7 +245,7 @@ }//CIFFTC //--------------------------------------------------------------------------- -/* +/** function CIFFTR: complex-to-real IFFT In: Input[Wid/2+1]: complex spectrum, imaginary parts of Input[0] and Input[Wid/2] are ignored @@ -321,7 +323,7 @@ }//CIFFTR //--------------------------------------------------------------------------- -/* +/** function CreateBitInvTable: creates a table of bit-inversed integers In: Order: interger, equals log2(size of table) @@ -339,7 +341,7 @@ //--------------------------------------------------------------------------- -/* +/** function RFFTC_ual: unaligned real-to-complex FFT In: Input[Wid]: real waveform @@ -427,7 +429,7 @@ }//RFFTC_ual //--------------------------------------------------------------------------- -/* +/** function RFFTCW: real-to-complex FFT with window In: Input[Wid]: real waveform @@ -475,7 +477,7 @@ if (!hbitinv1) free(hbitinv); }//RFFTCW -/* +/** function RFFTCW: real-to-complex FFT with window In: Input[Wid]: real waveform as _int16 array @@ -505,7 +507,7 @@ }//RFFTCW //--------------------------------------------------------------------------- -/* +/** function CFFTCW: complex FFT with window In: Window[Wid]: window function @@ -524,7 +526,7 @@ CFFTC(Order, W, X, bitinv); }//CFFTCW -/* +/** function CFFTCW: complex FFT with window In: Input[Wid]: complex waveform @@ -547,7 +549,7 @@ }//CFFTCW //--------------------------------------------------------------------------- -/* +/** function RDCT1: fast DCT1 implemented using FFT. DCT-I has the time scale 0.5-sample shifted from the DFT. In: Input[Wid]: real waveform @@ -644,7 +646,7 @@ }//RDCT1 //--------------------------------------------------------------------------- -/* +/** function RDCT4: fast DCT4 implemented using FFT. DCT-IV has both the time and frequency scales 0.5-sample or 0.5-bin shifted from DFT. @@ -691,7 +693,7 @@ }//RDCT4 //--------------------------------------------------------------------------- -/* +/** function RIDCT1: fast IDCT1 implemented using FFT. In: Input[Wid]: DCT-I of some real waveform. @@ -801,7 +803,7 @@ }//RIDCT1 //--------------------------------------------------------------------------- -/* +/** function RIDCT4: fast IDCT4 implemented using FFT. In: Input[Wid]: DCT-IV of some real waveform @@ -848,7 +850,7 @@ }//RIDCT4 //--------------------------------------------------------------------------- -/* +/** function RLCT: real local cosine transform of equal frame widths Wid=2^Order In: data[Count]: real waveform @@ -908,7 +910,7 @@ }//RLCT //--------------------------------------------------------------------------- -/* +/** function RILCT: inverse local cosine transform of equal frame widths Wid=2^Order In: spec[Fr][Wid]: the local cosine transform @@ -953,7 +955,7 @@ }//RILCT //--------------------------------------------------------------------------- -/* +/** function CMFTC: radix-2 complex multiresolution Fourier transform In: x[Wid]: complex waveform