The Discrete Fourier Transform from a power perspective

 

In a Discrete Fourier Transform (DFT), the sequence of N complex numbers x0, ..., xN−1 is transformed into the sequence of N complex numbers X0, ..., XN−1 by the DFT according to the formula:

Wikipedia's page on Parseval's theorem states the relation as it applies to the DFT:

Dividing both sides of this expression by N gives:

   ...(1)

The left hand side is recognisable as proportional to power, if for example x[n] are instantaneous voltages, it equals power*resistance.

So, Parseval's theorem is stating that power is conserved between the time domain discrete sample set and the DFT output according to (1). (This does not in any way imply that the time domain discrete sample set {x[n]} is an accurate representation of any continuous function x(t) that it might loosely represent, and error in that sampling process is outside the scope of this discussion.)

If x_0, \ldots, x_{N-1} are real numbers, as they often are in practical applications, then the DFT obeys the symmetry X[k] = conjugate of X[N-k] .

It is possible to choose {x[n]} such that all X[k] are zero except for:

  • X[0]; or
  • X[N/2]; or
  • for one of k from 1 to N/2-1, X[k] and X[N-k].

In doing so, the relation at (1) appears to always hold.

Since the LHS is power*resistance, then the RHS must also be power* resistance.

Taking x[n] to be voltages, then it is possible to calculate the voltages at frequency k to deliver the power* resistance product from (|X[k]|/N)^2, the values are:

  • v[0]=|X[0]|;
  • v[k]=2^0.5*|X[k| for k=1 to N-1.

This takes account of the fact that for DC, P*R=V^2, and for AC, P*R=(2^0.5*V)^2 where V is the peak voltage or amplitude of the sinusoid.

If the power in the negative frequency bins (k=N/2+1 to N-1) is relocated to the associated positive frequency bin, then the voltages for those bins needs to be multiplied by 2^0.5 giving:

  • v[0]=|X[0]|;
  • v[k]=2*|X[k]| for k=1 to N/2-1.
  • v[N/2]=2^0.5*|X[N/2]|.

This implies:

 

for t=0,2π/N..2π. The DFT output will only reliably contain components at discrete normalised frequencies 0,1..N/2-1, so v(t) will only reliably replicate {x[n]} exactly where {x[n]} contained only normalised frequencies 0,1..N/2-1 (otherwise bin leakage in the DFT will introduce error).

Comments

Comments please to owen at owenduffy.net

Changes

Version Date Description
1.01 06/04/2008 Initial.
1.02 13/04/2008 Added "This implies..."
1.03    

V1.01 12/04/08 14:37:13 -0600 .


VK1OD on the 'net. I appreciate your feedback. © Copyright: Owen Duffy 1995, 2007. All rights reserved. Disclaimer.