The Discrete Fourier Transform: Signal length (Euclidian norm) considerations

The Discrete Fourier Transform (again)

As previously outlined, the DFT of an N-length, discrete time signal x[n] can be written as

(1)   \begin{align*} X[k] &= \langle x, \phi_k \rangle \\ &= \sum_{n=0}^{N-1} x[n] e^{-2\pi i k n/N}, \hspace{0.5cm} k = 0, 1, 2, ... , N-1 \end{align*}

where k indexes the N discrete analysis frequency bins, and \langle \cdot, \cdot \rangle indicates an inner product operation. This is the most common form of the DFT defined in the DSP literature, though alternative expressions in terms of other frequency variables are possible.

Signal length in the time and frequency domains

The regular DFT is not a length preserving transform

If the DFT transformation of equation 1 was `length preserving’, and therefore a pure rotation of x[n] in \mathbb{C}_N, we would expect the signal length in the discrete time domain (\|{x}\|, evaluated as the L2-norm, aka Euclidian norm) and discrete frequency domain (\|{X}\|), to be the same. However, this is not the case, and in reference to equation 1, we will shortly demonstrate that

(2)   \begin{align*} \|{X}\| \neq \|{x}\| \end{align*}

Instead, as we’ll see below, \|{X}\| grows \sqrt{N} times as large as \|{x}\| with increasing N, which can have important implications when scaling axes with real world units, such as acoustic pressure (Pascals, or Pa), in the frequency domain.

To illustrate, the following Matlab code is helpful (note that a Matlab function, norm, is available to obtain the L2-norm, but the full expression is used here for completeness):

N           = 32;                           % Length of discrete time signal
s1          = cos(2*pi*1*(0:N-1)/N)';       % Cosine wave (amplitude 1, frequency 1) periodic in N

norm_s1     = sqrt(sum((abs(s1).^2)));      % L2-norm of the raw time domain signal
norm_s1_dft = sqrt(sum((abs(fft(s1)).^2))); % L2-norm of the DFT of the signal

Evaluating the above produces:

  • norm_s1        = 4
  • norm_s1_dft  = 22.63…

from which we observe that the discrete frequency domain norm, \|{X}\|, is exactly \sqrt{N} = \sqrt(32) \approx 5.66 times larger than \|{x}\|.

A naive interpretation suggests that the discrete frequency domain representation is somehow `longer’, or has more `energy’, than the time discrete time domain representation. However, the underlying issue is that our definition of the DFT in equation 1 does not describe a `length preserving’ transform.

Why is the regular DFT not a length-preserving transform?