I'm not sure how to approach this problem. I will describe what I am trying to do, and what some of my matlab outputs look like. I'm not trained in signal processing or anything, so please be patient reading.

I have a fourier transform of some signal, and its frequency domain covariance matrix. For example, say my signal $x[f]$ is $100$ points long. Its covariance matrix $\Sigma$ is $100 \times 100$. I noticed that its diagonal is real, and when I plot it, it looks like a PSD. All the off diagonal elements are complex.

What I wish to do, is take the IFFT of the signal $x[f] \rightarrow x[t]$, and then plot $x[t]$ with error bars from the covariance $\Sigma$. Is this possible? After I take the IFFT of $x[f]$, what do I need to do to $\Sigma?$

Thank you for reading!


1 Answer 1


Maybe it helps you to note that the FFT or IFFT with length $N$ can be realized by multiplication with the Fourier matrix $F$, or its conjugate transpose divided by $N$ respectively.

If you have the covariance matrix $\Sigma$ of your signal in frequency domain, the covariance matrix of the signal after IFFT (or multiplication with $F^H/N$) is then given by the usual way to compute the covariance matrix of a linear transform, i.e.

$$\Sigma' = 1/N^2 \; F^H \Sigma F$$

Note the prefactor $1/N^2$ is just because the IFFT is given by $F^H / N$.

  • $\begingroup$ Just read the wiki article on fft matrix. I didn't know! Thanks a ton. $\endgroup$
    – bill_e
    Oct 2, 2013 at 0:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.