Forums

Cyclic Spectral Estimation (Matlab)

Started by ryujin_ssdt May 25, 2007
Cyclostationarity is a common property of man-made digital signals that
has a vast number of uses in digital communications:
http://spincom.ece.umn.edu/papers04/bib05eurasip.pdf 
 
 To make use of cyclostationarity it is necessary to estimate the Cyclic
Cross Autocorrelation or the Cyclic Cross Spectrum of the received
signals. 
 
 In a simulation how do I estimate these two values?? I have searched a
lot of forums, boards and mailing lists and I am unable to find a Matlab
code to estimate the Cyclic Cross Autocorrelation nor the Cyclic Cross
Spectrum of noisy signal vectors. 
 
 I have read some papers by Gardner and Giannikis but they are heavy in
maths, that I am not good at, and no pseudo algorithm is presented to help
me implement it in Matlab. 
 
 
 Maybe obtaining these estimates is so trivial that is considered common
knowledge or it is so hard to do that everybody is avoiding it?? 
 
 If anyone knows of a function/program (Matlab ) to estimate the Cyclic
Cross Spectrum and Cyclic Cross Spectra of two modulated signals with AWGN
noise please let me know.. 
 
 thanks 

_____________________________________
Do you know a company who employs DSP engineers?  
Is it already listed at http://dsprelated.com/employers.php ?
On May 25, 3:37 am, "ryujin_ssdt" <hsan...@gmail.com> wrote:
> Cyclostationarity is a common property of man-made digital signals that > has a vast number of uses in digital communications:http://spincom.ece.umn.edu/papers04/bib05eurasip.pdf > > To make use of cyclostationarity it is necessary to estimate the Cyclic > Cross Autocorrelation or the Cyclic Cross Spectrum of the received > signals. > > In a simulation how do I estimate these two values?? I have searched a > lot of forums, boards and mailing lists and I am unable to find a Matlab > code to estimate the Cyclic Cross Autocorrelation nor the Cyclic Cross > Spectrum of noisy signal vectors. > > I have read some papers by Gardner and Giannikis but they are heavy in > maths, that I am not good at, and no pseudo algorithm is presented to help > me implement it in Matlab. > > Maybe obtaining these estimates is so trivial that is considered common > knowledge or it is so hard to do that everybody is avoiding it?? > > If anyone knows of a function/program (Matlab ) to estimate the Cyclic > Cross Spectrum and Cyclic Cross Spectra of two modulated signals with AWGN > noise please let me know.. > > thanks >
I don't know about Giannakis' work, but realize that when you work with discrete points in the frequency domain, you already implicitly assume that the signal is periodic in the time domain. This also applies to second order estimates. Meaning that in a sense everybody is already doing cyclostationary analysis when they estimate the spectrum of a signal via the DFT/FFT. Other than that, I only know of the "cyclic periodogram" for estimating the spectrum of a signal assuming that it's cyclostationary. It's not very different from the "traditional" periodogram. Is this what you are looking for? Just like in non-cyclostationary spectral estimation, it can either be very complicated or very simple, depending on whether you want parametric vs. non-parametric estimates. Hope that helps, Julius
The cyclic periodogram is the basis method from which all other methods are
derived (i.e. FAM, SSCA methods). It would be great if you can provide me a
little example (in matlab) on how to estimate the cyclic periodogram of two
sequences x(n) and y(n).

I want this estimate to work on time selective time difference of arrival
methods.


Thanks,

>On May 25, 3:37 am, "ryujin_ssdt" <hsan...@gmail.com> wrote: >> Cyclostationarity is a common property of man-made digital signals
that
>> has a vast number of uses in digital
communications:http://spincom.ece.umn.edu/papers04/bib05eurasip.pdf
>> >> To make use of cyclostationarity it is necessary to estimate the
Cyclic
>> Cross Autocorrelation or the Cyclic Cross Spectrum of the received >> signals. >> >> In a simulation how do I estimate these two values?? I have searched
a
>> lot of forums, boards and mailing lists and I am unable to find a
Matlab
>> code to estimate the Cyclic Cross Autocorrelation nor the Cyclic Cross >> Spectrum of noisy signal vectors. >> >> I have read some papers by Gardner and Giannikis but they are heavy
in
>> maths, that I am not good at, and no pseudo algorithm is presented to
help
>> me implement it in Matlab. >> >> Maybe obtaining these estimates is so trivial that is considered
common
>> knowledge or it is so hard to do that everybody is avoiding it?? >> >> If anyone knows of a function/program (Matlab ) to estimate the
Cyclic
>> Cross Spectrum and Cyclic Cross Spectra of two modulated signals with
AWGN
>> noise please let me know.. >> >> thanks >> > >I don't know about Giannakis' work, but realize that when you work >with >discrete points in the frequency domain, you already implicitly >assume >that the signal is periodic in the time domain. This also applies to >second >order estimates. Meaning that in a sense everybody is already doing >cyclostationary analysis when they estimate the spectrum of a signal >via the DFT/FFT. > >Other than that, I only know of the "cyclic periodogram" for >estimating the >spectrum of a signal assuming that it's cyclostationary. It's not >very >different from the "traditional" periodogram. Is this what you are >looking >for? > >Just like in non-cyclostationary spectral estimation, it can either be >very >complicated or very simple, depending on whether you want parametric >vs. non-parametric estimates. > >Hope that helps, >Julius > >
_____________________________________ Do you know a company who employs DSP engineers? Is it already listed at http://dsprelated.com/employers.php ?
I give up, since I first posted this message two months ago I have been
trying to develop the simple cyclic periodogram. I thought my math skillz
were bad but now I know they are far below high school level...

- Background -

a real valued, discrete stochastic process x(n) with zero mean E{x(n)}=0
is periodically correlated (i.e. cyclostationary) if it's auto-correlation
function R(t;tau) = E{x(n + tau/2)x(n - tau/2)} is periodic with integer
period T.

Since R(t;tau) is periodic we can express it as with Fourier Series as:

  R(t;tau) = sum for all alpha R(alpha,tau)*exp(j*2*pi*alpha*t)

The Fourier Coefficients (aka cyclic correlations) are then

  R(alpha;tau) = 1/T sum t=0 to T-1 R(t;tau)*exp(-j*2*pi*alpha*t)

Finally the Cyclic Spectra (what I need to calculate) is

  S(alpha;w) = F{R(alpha;tau)}  where F{} is the Fourier Transform


So far this is how most authors present the theory of cyclostationarity.
But then magically I am intoduced the cyclic periodogram that is an
estimator of S(alpha;w).

 - cyclic periodogram -

   I(alpha,w) = (1/T)*X(w + alpha/2)*X'(w - alpha/2)

where X(w) is the finite Fourier transform of x(n).

here I am not that lost as I understand this estimator comes from the fact
that S(alpha;w) can be expressed as the cross correlation of frequency
shifted versions of x(n) by exp(j*pi*alpha) and exp(-j*pi*alpha).

Now my problem is how to implement that cyclic periodogram in Matlab??.

Second a nice explanation on how to jump from S(alpha;w) to I(alpha;w)
would be great... I get stuck at this point:

R(alpha;tau) = (1/T) * sum from t=0 to T-1 E{x(n-tau/2)x(n+tau/2)} *
exp(-j*2*pi*alpha*t)


thanks