# Identifying whether or not a cyclostationary signal is noisy or not using the cyclic autocorrelation

I am trying to determine whether or not a given signal has been corrupted by Gaussian noise, either bandlimited (with a filter) or not. The signal in question is a BPSK or PAM signal that is upsampled and shaped by a Nyquist filter and then frequency modulated. Due to the signal being cyclostationary, I figured the best way was to use the Cyclic Autocorrelation but I am having a hard time understanding how to code it up in Matlab. This paper shows shifting the FT by some frequency $\alpha$ and then doing $F^{-1}(X(f-\alpha)*X'(f + \alpha))$ where $F^{-1}(\cdot)$ denotes the inverse DFT operation. Would I be able to just multiply it in time by a complex exponential at frequency $\alpha$ or is there more to it? Is this a valid approach or am I on a goose chase?

Thanks

You're on the right track. The cyclic autocorrelation can be estimated by inverse Fourier transformation of the cyclic periodogram. If $X_T(t, f)$ is the Fourier transform of your data block (indexed by time $t$), and $\alpha$ is your desired cycle frequency, you can form the cyclic periodogram by shifting the Fourier transform to the left and to the right by $\alpha/2$ (not by $\alpha$ as you state in your question):
$$I_x^\alpha(t, f) = \frac{1}{T} X_T(t, f+\alpha/2) X_T^*(t, f-\alpha/2)$$
Then just inverse Fourier transform that cyclic periodogram. You'll have to be careful about the case where the cycle frequency $\alpha$ is not equal to an integer number of FFT bins.