Cyclostationary feature extraction through SCF

This is probably the last big thing I will do for the project this year. The articles are hard to read, and the maths behind the whole cyclostationary thing is daunghting at best… Anyway, I have managed to chew through some of that, and a proof of concept MATLAB simulation has been done.. There won’t be enough time to do this properly on the LabVIEW and my VSA box.. but oh well, the next person could probably carry on…

Right, for those who do not understand what cyclostationary feature is…. this is probably not for you.. In this article, I will be presenting some of the results I got by implementing a Spectral Correlation Function (SCF) in MATLAB. I will only list the articles that helped me along in my journey the past 3, 4 weeks, and also present some of the results I got from the MATLAB simulation. I will also not be explaining the equations here, nor will I be typing them out (the equations are massive, and this WordPress latex equation thing is annoying…).

If you do want more detailed explainations however, stay tunned, I plan on presenting this area of my work in my final project presentation, and I will be posting that up on the blog (sometime in October).

So then, onto the point. The articles I do recommand:

References

  1. Turunen. V., et. al, Implemetation of Cyclostationary Feature Detector for Cognitive Radios, CROWNCOM, 2009
  2. Sutton. P.D., Nolan. K.E., and Doyle. L.E., Cyclostationary Signatures in Practical Cognitive Radio Applications, IEEE Journal on Selected Areas in Communications, Vol. 26(1), 2008
  3. Xu. S., Zhao. Z., and Shang. J., Spectrum Sensing Based on Cyclostationarity, Workshop on Power Electronics and Intelligent Transportation System, 2008

There are alot of other articles on IEEE Xplore, and they are all in some ways helpful, but the 3 listed above are easier to understand, in particular the 3rd one. One comment though, is that all of them have presumptions on the signal the CR is expecting, and by doing that they can limit the range of calculations required. It is probably a necessaty at the moment, because SCF is very very very slow if you need to compute for all F and all (Alpha).

Below are just some pictures.. the first if a Cosine of 36Hz, second is white noise, and 3rd is noise + cosine. I am still not quite sure why the Cosine SCF has this flat line at (Alpha) = 0, but again, that is something to be figured out in the future. Oh also, it gets slower still with more FFT points, so yeah the bottomline is, its slow!

**I will be releasing all of my work at end of the year, before I finish up everything, so if you need the MATLAB code, then please wait a little hehe :D **

4 Comments

  1. yuexin says:

    hello
    i’m working on spectrum sensing techniques in cognitive
    radio…it is an emerging topic and we don’t find any codes
    or any help for it. And here , i find this projec can help me ,
    so it’s very kind of you to send me some matlab code…
    it would be the greatest help for me in doing my project…

    thank u in advance

  2. James says:

    as you may have noticed, the cyclostationary feature extraction is not my main area of focus, as my time is short (1 year project).

    As a result, the code is proof of concept only, and is a direct implementation of the methods mentioned in the papers (linked in the post). We may open our codebase (SVN) at the end of the year, in about 2 weeks, so you may want to check back on the blog and see if we have any updates

  3. yuexin says:

    Thank you very much

  4. mudasir says:

    Hello

    I have been going through cyclostationary and found that u have are working on cyclostationary. I was working with cyclostationary toolbox to find out cyclostationary features of BPSK and QPSK signals. I will send u my code also available on pudn cyclostationar tool box SCD for cyclic autocorrelation. it gives good result for BPSK but for QPSK and others (e.g 8psk) it gives the same result as BPSK. while there is a difference between features of BPSK and QPSK as in QPSK alpha=2xfc doesn’t have a peak. but for this algo I find the peak at alpha=2xfc for QPSK as well. How do I classify my signals. Why doesn’t this I and Q components cancels their effects in my case?

    regards
    Madd

Leave a Reply

Spam protection by WP Captcha-Free