# Retrieve covariance matrix from array of fft

I have 10000 power spectral density vectors of 64 frequency bins each.

My input is therefore are 10000x64 matrix of real values.

Those are obtain from fft of time series of temporal signal I don't have. Also, I don't have the phase information but I can make assumption like randomness of the phase or constant phase.

How to retrieve the 64x64 temporal covariance matrix of the original time series from my 10000 spectra?

I suppose that all the statistics of the signal is contained within my 10000 spectra.

I'm working with MATLAB.

My trial:

noise_time_serie=ifft(SPECTRA_MATRIX')';
Noise_covariance_matrix=cov(real(noise_time_serie));

• you need a psd to start with – Stanley Pawlukiewicz Jun 13 at 23:02
• I don't understand your comment. I have 10000 psd to start with. – pierebean Jun 14 at 6:51
• that you obtained using Welch’s method? – Stanley Pawlukiewicz Jun 14 at 11:21
• The Cooley–Tukey FFT algorithm is used to get the 10000 PSDs. – pierebean Jun 14 at 14:31
• to get a psd estimate, average your magnitude squared ffts. you can average in lag space as well but it’s easier to do a single inverse transform. once you have an autocorrelation, the matrix will be Toeplitz in lags – Stanley Pawlukiewicz Jun 14 at 15:05