4.10.26 · D4Advanced Topics (Elite Level)

Exercises — Fourier analysis — DFT, FFT algorithm (Cooley-Tukey)

2,011 words9 min readBack to topic

Throughout, the same two symbols recur. Let me pin them down in plain words before anything else:

Figure — Fourier analysis — DFT, FFT algorithm (Cooley-Tukey)

Level 1 — Recognition

Problem 1.1

State the value of , , and without computing any exponential, using only "where does the clockwise rotation land?"

Recall Solution 1.1

Picture the clock in the figure above with tick marks. Each step is one-eighth of a turn.

  • : zero steps taken, still at the start .
  • : four steps = half a full turn = the point directly opposite .
  • : eight steps = one full turn, back home . What we used: and "half a turn is ." No calculator, just geometry of the circle.

Problem 1.2

In the DFT formula , which index is the input position and which is the output frequency? What does always equal in words?

Recall Solution 1.2
  • = input position (which sample), it is the thing being summed over.
  • = output frequency (which coefficient you are building).
  • : the plain sum of all samples (the "DC term", equal to the average). At frequency zero the wave never rotates, so every sample counts with weight .

Level 2 — Application

Problem 2.1

Compute the DFT of (a single spike at position ), .

Recall Solution 2.1

Only is nonzero, so every sum collapses to its term: Result: . What it means: a perfectly sharp spike in time is perfectly flat in frequency — it contains every frequency equally. This is the discrete cousin of "a delta contains all frequencies."

Problem 2.2

Compute the DFT of the constant signal , .

Recall Solution 2.2

This is a Geometric Series with ratio .

  • : ratio , all four terms are , sum .
  • : but , so .

Result: . What it means: a constant is pure frequency — the exact mirror image of Problem 2.1. Flat in time single spike in frequency.

Problem 2.3

Compute the full DFT of directly.

Recall Solution 2.3

Recall . Only survive.

  • : .
  • : .
  • : .
  • : .

Result: . The two nonzero spikes at and are the frequency pair of a discrete cosine-like wave.


Level 3 — Analysis

Problem 3.1

Prove that for real input , the DFT satisfies (the bar means complex conjugate). Then say why this halves the work of storing a real signal's spectrum.

Recall Solution 3.1

Start from the definition at frequency : Use (full turns do nothing): Now the conjugate. Because is real, , and (conjugating flips the rotation direction). So Why it saves work: the upper half of the spectrum is just the conjugate mirror of the lower half. Store and you know the rest for free — real audio spectra are kept this way.

Problem 3.2

Verify the orthogonality claim of the parent note numerically for : show , where . Explain which line of the argument makes it vanish.

Recall Solution 3.2

That is . The vanishing line: the ratio is not , yet , so the Geometric Series sum . Orthogonality is nothing but this geometric-series cancellation — the wave completes whole turns and averages to zero.


Level 4 — Synthesis

Problem 4.1

Compute the FFT of using one Cooley–Tukey split (even/odd), and interpret the result. Twiddles you may need: .

Recall Solution 4.1

Split into even and odd positions.

  • Even part .
  • Odd part .

Length-4 DFT of the even part is all zeros: for all . Length-4 DFT of the odd part is (by Problem 2.2 logic, now ): , i.e. .

Butterfly recombine and for :

  • : ; .
  • : , so and .

Result: . Interpretation: the signal is "constant " plus "the fastest wave ." Those show as the DC spike at (value ) and the Nyquist spike at (value ) — see Nyquist. Every other frequency is exactly absent.

Problem 4.2

Using the recurrence , count the exact number of complex multiplications (twiddle multiplies) a radix-2 FFT performs for , and compare to the naïve DFT's .

Recall Solution 4.2

Count per level. At each of the levels there are butterflies, and each butterfly uses one twiddle multiply . So the FFT multiply count is (Some of those are trivial multiplies by ; even counting them we get .) Naïve DFT: complex multiplies. Ratio: fewer, already at the tiny size . At the same formula gives the parent note's speedup.


Level 5 — Mastery

Problem 5.1

Two length-4 sequences and are treated as coefficients of polynomials, and you want their circular convolution (length 4). Use the Convolution Theorem: transform, multiply pointwise, inverse-transform. Then verify by direct convolution.

Recall Solution 5.1

Circular convolution definition: .

Route via the DFT (the theorem: convolution in time = pointwise product in frequency). First with : Then : Pointwise product :

  • .
  • .
  • .
  • (real inputs conjugate symmetry, Problem 3.1).

Inverse DFT , with :

  • .
  • .

So . Direct check (polynomial multiply then wrap mod 4): , coefficients — nothing wraps, so it matches. ✓ What we proved: multiplying in the frequency domain is the same as convolving in time. This is why the FFT makes polynomial and integer multiplication fast.

Problem 5.2

A DFT convention question with a numeric consequence. Physicist Alice uses the forward DFT with a factor out front and no factor on the inverse; the parent note uses the opposite. For , compute Alice's and confirm it equals times the parent's .

Recall Solution 5.2

Parent's . Alice's forward transform carries : . Indeed . ✓ Why it matters: the factor (squared norm of a basis vector, from Linear Algebra — Orthogonal Bases) has to live somewhere. Whether it sits on the forward map, the inverse, or splits as on each is pure convention — but you must know which one your library uses or your amplitudes are off by a factor of .


Recap

Recall Self-test checklist

Which time-domain signal has a totally flat spectrum? ::: A single spike — its DFT is all s. Which spectrum comes from a constant signal? ::: A single spike at : . Real-input symmetry of the spectrum? ::: . Butterfly count of multiplies for a radix-2 FFT? ::: . How do you turn convolution into fast arithmetic? ::: Transform both, multiply pointwise, inverse-transform (Convolution Theorem). To get linear (not circular) convolution from the DFT, what must you do? ::: Zero-pad to length so no wraparound occurs.