15 views

Uploaded by cdelcdel

- Challenging Problems in Sequences and Series- Special Hl Level Sums
- DSP lab report
- fftw3.pdf
- FFT Thesis
- DSP NOTES
- Fundamentals of Electrical Engineering I
- Dft Properties
- Puzzles
- 001
- Dip questions
- DSP-2 (DFS & DFT) (S)
- fftw3
- DFT
- Nabor_Linear acuifer behavior.pdf
- HFT
- Manual DSP Lab
- Lecture16 Extra
- DIT-FFT
- AN3896
- 5. Questions & Answers on Discrete Fourier Transform – Properties and Applications

You are on page 1of 3

Week 1

The first week was spent reviewing the applications and derivations of the Fourier Transform and a sequential CPU implementation in C.

The Discrete Fourier Transform is defined by the following formula: Suppose we have a vector, x, where an element of x is a complex-valued number. Then, the Discrete Fourier transform of the vector, x, will be defined as follows:

Where

We start with the basic form of the DFT:

We can split the summation into two parts, one starting from j = 0 to j = = .

to j

, we arrive at an equivalent

We have successfully decomposed the original DFT into two separate summations essentially halving the problem set. By continuing to halve the problem, we can divide and conquer smaller problem sets. For n output elements, each element takes about log n calculations, the resultant running time is then ( ).

The algorithm delineated above is called a radix-2 FFT. The problem can be essentially halved until we reach only one element. The Fourier Transform of one element is itself. Other radix-n algorithms exist, which just subdivide the problem using different index partitions. The order in which elements are recursively evaluated in a radix-2 FFT is called a bit-wise permutation. We can implement the above algorithm iteratively by mimicking the recursive steps. By performing a bit-wise permutation on the original set, the iterative algorithm essentially performs the same steps done by the recursion.

A paper, Integer Fast Fourier Transform by Oraintara, Chen, and Nguyen, published in the IEEE journal has provided plenty of insight into the problem. Specifically, they use lifting schemes to eliminate multiplications. The Fourier coefficients are calculated from a series of additions and bit shifts. I plan to answer the following questions in next weeks discussion: How do we utilize lifting schemes to eliminate multiplications? o What is a biorthogonal filterbank? o What does it mean to have perfect reconstruction? How do we implement a split-radix FFT? What is the difference between fixed-FFT and integer-FFT? o Both use shifts & additions; no multiplications (different from the vanilla FFT)

Appendix: Implementations

Serial Fast Fourier Transformation (Incomplete, Full Source Code Attached in Zip)

// Fast Fourier Implementation Using Iteration (Mimics Recursion) void iterativeFFT(complex *list, int size) { unsigned int n = size; complex *A; A = bitPermutation(list, N); int s; for (s = 0; s <= log2(n); ++s) { int m = exp2(s); complex omega_m; omega_m.real = cos(2 * PI / n); omega_m.imaginary = sin(2 * PI / n); int k; for (k = 0; k <= n-1; k += m) { complex omega; omega.real = 1; omega.imaginary = 0; int j; for (j = 0; j <= m/2-1; ++j) { complex t = multiplyComplex(omega, A[k+j+m/2]); complex u = A[k+j]; A[k+j] = addComplex(u,t); A[k+j+m/2] = subComplex(u,t); omega = multiplyComplex(omega, omega_m); } } } printArray(N, A); free(A); } int main() { // allocate complex structure arrays of size N complex *A = (complex*)malloc(sizeof(complex) * N); srand(SEED_VALUE); int i; for (i = 0; i < N; ++i) { A[i].real = rand() % CEILING_LIMIT; A[i].imaginary = rand() % CEILING_LIMIT; } printf("\n"); iterativeFFT(A, N); free(A); }

- Challenging Problems in Sequences and Series- Special Hl Level SumsUploaded bysriramaniyer
- DSP lab reportUploaded bySmit Majithia
- fftw3.pdfUploaded byÀdel AB
- FFT ThesisUploaded byJude Villareal
- DSP NOTESUploaded byDev Raj
- Fundamentals of Electrical Engineering IUploaded bydak86
- Dft PropertiesUploaded byprakashrout
- PuzzlesUploaded byChillax Vicki
- 001Uploaded byprasannakumar_7
- Dip questionsUploaded byVinay
- DSP-2 (DFS & DFT) (S)Uploaded byPratik Patel
- fftw3Uploaded byMathew Francis
- DFTUploaded byWesley Mutai
- Nabor_Linear acuifer behavior.pdfUploaded byAmayrani Briseño
- HFTUploaded byasg_rus
- Manual DSP LabUploaded byRitesh Singh
- Lecture16 ExtraUploaded byAnonymous T02GVGzB
- DIT-FFTUploaded byguptavikas_1051
- AN3896Uploaded bytanatosth
- 5. Questions & Answers on Discrete Fourier Transform – Properties and ApplicationsUploaded bykibrom atsbha
- Visualization of Musical PitchUploaded bySoumendra Mishra
- Classification with Random Forest Based on Local Tangent Space Alignment and Neighborhood Preserving Embedding for MSER features: MSER_DFT_LTSA-NPE_RFUploaded byIjmret Journal
- Fourier Transform.pptxUploaded byBasim Brohi
- Lab 3 Frequency Domain ProcessingUploaded byClement Andrew
- Dtsp Extc May 2007 (6)Uploaded byVishal Arora
- DipUploaded byannaicsdepartment
- nit uk histogramUploaded byNeetesh Kumar
- S7helpUploaded byAhmed Rasel
- 17Uploaded byhakik
- Quatieri_Quatieri_chapter7chapter7Uploaded bysouvik5000

- Handbook Grid Generation 99Uploaded byMiguel Montejo
- Numerical Methods for First ODEsUploaded byMoss Kazamatsuri
- Legendre PolynomialsUploaded byEnigmanDemogorgon
- Topic 2 - Airy Stress FunctionUploaded byJoshua Mamouney
- Chenmat ReportUploaded byPenny Gildo
- VERY - Quantum Fictitious ForcesUploaded byJohn Bird
- D.H. Maling (Auth.)-Coordinate Systems and Map Projections-Pergamon (1992) Partie143Uploaded bybelil206
- ECE -SYLLUBUSUploaded bymunirajulu
- Rubik SlidesUploaded byraymond88
- MATLABUploaded byStefanija Talevska
- qonotes-v4.7Uploaded byPino Bigbird
- Martensen 1959Uploaded bytop
- Exam Mode AlUploaded byEsteban Luna Seña
- Mat 540 Quiz 5Uploaded byMonstamann
- LAFF-NLAUploaded byakr_659
- Fuzzy Logic Controller DesignUploaded bycleiton_ctba
- Practical Linear AlgebraUploaded byel_greco1982
- 6346HWUploaded byMushfiq M Rahman
- Numerical Methods Paper - 2016Uploaded bySourav Panda
- Assignment Se288Uploaded byVaibhav Monga
- ENCS 6161 - ch2Uploaded byDania Alashari
- Phys10181b HandoutUploaded byRoy Zhao
- Generating Scenario Trees for Hydro InflUploaded byBalasai Kiran
- 7 triangle congruence packetUploaded byapi-243405443
- Solution-GE201- Final_Exam-Sem-1-1433-34.pdfUploaded byاميرة حسن
- Advanced MathUploaded byshaira
- GraphicsUploaded byblal1963
- Intro to Continued FractionsUploaded byCahlen Humphreys
- Code conversion FEM - XFEMUploaded byjacobess
- Simulink Ball BeamUploaded byJosé Perez