The auto-correlation of a periodic signal preserves the periodicity. For Example, we are transmitting a signal x(t) through the wireless medium. And we received the signal y(t) at the receiver.
y(t) = x(t) + n(t)
where x(t) is the additive white Gaussian noise (AWGN)
You can find that the periodicity of the autocorrelation of y(t) will be the periodicity of x(t)
In other words, we can say that the autocorrelation of the noisy signal is equal to the autocorrelation of the original periodic signal apart from 0 lag.
To find the spectral density (also known as the power spectral density, or PSD) from the autocorrelation function mathematically, you can use the Wiener-Khinchin theorem. This theorem states that the power spectral density of a stationary random process is the Fourier transform of its autocorrelation function. Here's the detailed mathematical process:
Wiener-Khinchin Theorem
Given a wide-sense stationary process X(t), let RX(Ï„) be its autocorrelation function. The power spectral density SX(f) is given by:
\( S_X(f) = \mathcal{F}\{R_X(\tau)\} = \int_{-\infty}^{\infty} R_X(\tau) e^{-j2\pi f \tau} \, d\tau \)
Where F denotes the Fourier transform, j is the imaginary unit, f is the frequency, and Ï„ is the lag.
Steps to Compute PSD from Autocorrelation Function
Steps to Compute PSD from Autocorrelation Function
Compute the Autocorrelation Function RX(Ï„):
The autocorrelation function RX(Ï„) is defined as:
RX(Ï„)=E[X(t)X(t+Ï„)]
For a discrete-time signal x[n], the autocorrelation function RX[k] can be computed as:
RX[k]=∑(n=−∞,∞) x[n]x[n+k]
Apply the Fourier Transform:
To find the PSD, take the Fourier transform of the autocorrelation function RX(Ï„) (or RX[k] in the discrete case):
For continuous signals:
SX(f)=∫(−∞,∞) RX(Ï„)exp(−j2Ï€fÏ„ dÏ„)
For discrete signals:
SX(exp(jω))=∑(k=−∞,∞) RX[k]exp(−jωk)
MATLAB Code to find the periodicity from auto-correlation of a periodic signal
Output
Another MATLAB Code to find the periodicity from autocorrelation of a noisy periodic signal