2
$\begingroup$

Background

I have been self-studying the Discrete Fourier Transform. Suppose we have a discrete, real data vector $\vec{f}=(f_0,f_1,...,f_{N-1})^T$. The discrete Fourier transform and inverse transform can be written

\begin{align*} \hat{f}_k &= \frac{1}{\sqrt{N}}\sum_{j=0}^{N-1}f_je^{-i2\pi k \frac{j}{N}}\\ f_j&=\frac{1}{\sqrt{N}}\sum_{k=0}^{N-1} \hat{f_k} e^{i2\pi k \frac{j}{N}} \end{align*}

Question

I'm trying to understand this in terms of basis vectors. Denote the normalized basis vector corresponding to frequency $k$ as

$$ \vec{\phi}_k =\frac{1}{\sqrt{N}}(1,e^{i2\pi k \frac{1}{N}},e^{i2\pi k \frac{2}{N}},...,e^{i2\pi k \frac{N-1}{N}}) $$

Then the coefficient $\hat{f}_k$ should correspond to the projection of the data onto basis vector $\vec{\phi}_k$. However, I'm not super familiar with complex vectors and complex projections. When I naively "project" the data, I have something like this:

$$ \hat{f}_k=\vec{f}\cdot\vec{\phi}_k= \vec{f}^{\dagger}\vec{\phi}_k=\frac{1}{\sqrt{N}}\sum_{j=0}^{N-1}f_je^{i2\pi k \frac{j}{N}} $$

This expression is missing the negative sign. It seems that instead my projection should be $\vec{\phi}_k^{\dagger}\vec{f}$. What am I misunderstanding here?

If this projection is correct (albeit unconventional), how do I transform back to the data? Thinking of vectors and projections again, I think we should write

$$ \vec{f}=\hat{f}_0\vec{\phi}_0 + \hat{f}_1\vec{\phi}_1 + ... + \hat{f}_{N-1}\vec{\phi}_{N-1} $$

which is equivalent to

$$ f_j =\sum_{k=0}^{N-1}\hat{f}_k e^{i2\pi k \frac{j}{N}} $$

Since my convention takes away the negative sign in the projection step, I was thinking by symmetry I would have a negative in the exponential for the inverse step, but there isn't a negative.

Edit - Update 1

Perhaps one reason that we should write the projection as $\vec{\phi}_k^{\dagger}\vec{f}$ is that it conforms with writing the DFT as a matrix-vector operation.

The discrete Fourier transform can be written as follows. Let $\omega_N=e^{-i2\pi \frac{1}{N}}$.

$$ \hat{f}= \begin{bmatrix} \hat{f_0}\\ \hat{f_1}\\ \vdots \\ \hat{f}_{N-1} \end{bmatrix} = F\vec{f} = \begin{bmatrix} \vec{\phi}^\dagger_0 \\ \vec{\phi}^\dagger_1 \\ \vdots \\ \vec{\phi}^\dagger_{N-1} \end{bmatrix} \begin{bmatrix} f_0\\ f_1\\ \vdots \\ f_{N-1} \end{bmatrix} = \frac{1}{\sqrt{N}} \begin{bmatrix} 1 & 1 & 1 &\cdots & 1 \\ 1 & \omega_N & \omega_N^2 & \cdots & \omega_N^{N-1} \\ \vdots \\ 1 & \omega_N^{N-1} & \omega_N^{2(N-1)} & \cdots & \omega_N^{(N-1)^2} \end{bmatrix} \begin{bmatrix} f_0\\ f_1\\ \vdots \\ f_{N-1} \end{bmatrix} $$

Also, by writing my projection as

$$ \tilde{f}_k=\vec{f}\cdot\vec{\phi}_k= \vec{f}^{\dagger}\vec{\phi}_k=\frac{1}{\sqrt{N}}\sum_{j=0}^{N-1}f_je^{i2\pi k \frac{j}{N}} $$

I've essentially defined my projection coefficients as the complex conjugate of the convention. Denote my coefficents as $\tilde{f}_k$ and the conventional coefficients as $\hat{f}_k$. Then

$$ \overline{\hat{f}_k} = \overline{\vec{\phi}^\dagger_k\vec{f}} = \vec{f}^\dagger\vec{\phi}_k = \tilde{f}_k $$

Essentially, my definition of $\tilde{f}_k$ implies that my basis vectors are the complex conjugates of the basis vectors used in the conventional definition. This question shows that if a set of complex vectors form a basis for some space, then so does the set of conjugate vectors.

The moral of the story is that deciding between projection coefficients $$\tilde{f}_k = \vec{f}^T\vec{\phi}_k$$ or $$ \hat{f}_k=\vec{\phi}_k^\dagger \vec{f} $$ is equivalent to choosing basis vectors $\left\{\overline{\vec{\phi}_k}\right\}_{k=0}^{N-1}$ or $\left\{\vec{\phi}_k\right\}_{k=0}^{N-1}$, respectively. In either case, the DFT matrix provides an invertible transformation from real space to frequency space.

$\endgroup$
3
  • 1
    $\begingroup$ With your convention, you should conjugate the f_j term. This is a bit awkward because the resulting operation is conjugate linear in f, ratherthan being linear. This is the reason why people usually conjugate the exponential, producing that minus sign that you are missing. $\endgroup$ Commented Jun 7, 2022 at 13:02
  • $\begingroup$ What is the "correct" definition of projection for complex vectors? Suppose I have two complex, normalized vectors $\vec{a},\vec{b}$. Is the projection of $\vec{a}$ onto $\vec{b}$ the number $\vec{a}^{\dagger}\vec{b}$ or $\vec{b}^{\dagger}\vec{a}$? $\endgroup$
    – nwsteg
    Commented Jun 7, 2022 at 13:05
  • $\begingroup$ @GiuseppeNegro Also, if you could comment on my added details at the end of my question, I would appreciate it $\endgroup$
    – nwsteg
    Commented Jun 7, 2022 at 13:11

0

You must log in to answer this question.

Browse other questions tagged .