Power Spectrum Density of real valued time series data There are real valued time-series data X(t) and corresponding auto-correlation function ACF(t)=$\left<X(0)X(t)\right>$. As written in wikipedia, Power Spectrum Density (PSD) can be calculated using either of X(t) or ACF(t). If one choose to calculate PSD using ACF, I can write the following : $PSD(\omega)=\mathcal{F}\{ACF(t)\}$. However, I get PSD which is complex number with non-infinitesimal imaginary value. From the method which uses $X(t)$ for PSD, I think PSD should be real number ($PSD(\omega)=E\left[|\hat{X}(\omega)|^2\right]$). I have two choices: 1) taking only real part 2) taking norm (using |z|=$\sqrt{zz^*}$). Which one is valid method?
 A: The autocorrelation function is defined as:
$$
r_{a b}\left( i, j \right) = E\left[ a_{i} \ b_{j}^{*} \right] \tag{0}
$$
where $a(b)$ is an arbitrary time series signal and $i(j)$ is the corresponding index, respectively.  The $E\left[ x \ y \right]$ term is the expectation value between $x$ and $y$ and the asterisk indicates the complex conjugate of the argument.
The Fourier transform of a time series signal $x(t)$ is given by:
$$
\tilde{x}\left( \omega \right) = \frac{ 1 }{ \sqrt{ 2 \ \pi } } \int_{-\infty}^{\infty} \ dt \ x\left( t \right) \ e^{-i \ \omega \ t} \tag{1}
$$
where $\omega$ is the angular frequency.  The inverse involves switching $\tilde{x}$ and $x$ and changing the sign of $i$ in the exponent.
Then the power spectral density or PSD is defined by:
$$
s_{x}\left( \omega \right) = C_{o} \ \lvert \tilde{x}\left( \omega \right) \rvert^{2} \tag{2}
$$
where $C_{o}$ is a constant used for normalization and units, depending on method and/or computer language used (they each have slightly different normalizations for FFTs).
The Wiener–Khinchin theorem allows you to define the autocorrelation function of $x(t)$ in terms of the PSD or the converse.  That is, the PSD can be defined as:
$$
s_{x}\left( \omega \right) = \int_{-\infty}^{\infty} \ dt \ r_{x x}\left( t \right) \ e^{-i \ \omega \ t} \tag{3}
$$

I have two choices... Which one is valid method?

In principle, they are the same.  If you already have $x(t)$ why bother with the autocorrelation, just take the absolute value squared of the FFT of $x(t)$ (with proper normalization included based upon the specific language used).
