Blog Notes and How to Obtain Help with Your CSP Work

The CSP Blog has been getting lots of new visitors these past few months; welcome to all!

Following the CSP Blog

If you want to receive an email each time I publish a new post, click on the “Follow” button that appears to the lower right of a post:

Helping the Signal Processing Community with the CSP Blog

I’ve received several comments and some email lately asking for code that reproduces some of the figures in the posts on the spectral correlation function, cyclic autocorrelation function, and cyclic cumulants. I don’t generally give out code that implements the estimators or even that just plots estimates.

This is mostly a self-help blog. I do spend time answering questions and helping debug readers’ code. I think writing the code yourself, though painful, is the way to learn CSP. And if you learn it well, then you can use it correctly, and I look good too.

New Rule for Getting My Help

I’m also going to use a new rule for providing help. I won’t give advice, answer technical questions, or help debug your code until after you post at least one comment to the blog. So if you start with sending me an email, then you’ll not get the help. This rule will help others benefit from your work.

Suggestions?

Since this is a “Blog Notes” post, I also invite you to leave any suggestions for blog improvement or new topics in the comments.

4 thoughts on “Blog Notes and How to Obtain Help with Your CSP Work

  1. Mirko von Leipzig says:

    I’ve attempted writing some SCF code a few times (I don’t have thaaaat much spare time), but I’ve struggled testing it on real data. I assume because I’ve gotten the resolutions wrong. Is there a good rule of thumb for choosing these? I realise this is probably akin to choosing an FFT resolution where it depends on the data you expect and what features you wish to see. It would be cool if there was a way of determining ideal numbers.

    • What specific struggle did you experience? Incorrect detected cycle frequencies? No detected cycle frequencies?

      I’ve not yet done a post on the various resolutions inherent in CSP (only the post on the resolution product), but here are a few notes. If you process a block of data T seconds long, the temporal resolution of the estimate is T. The cycle resolution is 1/T. The frequency resolution depends on the estimator. For the FSM, it is the width of the smoothing function, for the TSM it is the reciprocal of the subblock length, and for the SSCA it is the number of channels (strips) times the sampling rate.

      T is chosen by constraints on the collection or simulation, but if you have options, it should be chosen to accommodate the expected SINR for the signal of interest. That is, make T larger for lower SNR or lower SINR. I typically pick the frequency resolution to be around 1-5% of the sampling rate. For the SSCA, this means something like 32, 64, or 128 strips.

      Since the choice of block length and frequency resolution always entails the spectral-analysis trade-off between estimate variability and estimate bias, I’m not sure there is an objective “ideal number(s)” to choose, even when you know a lot about the data. (Is there?)

      • Mirko von Leipzig says:

        It was usually just a mess, i.e. no visible/detected cycle frequencies. Just a sea of random noise. It would work when I used your basic examples.

        Ideally, I would like to be able to detect some pool of known modulations, with some lower limit on SNR. Response time is measured in minutes, not sub-seconds, so there are plenty of samples available. There will also be some lower limit on detectable bandwidth. So these things will be known, and I know they will relate to the resolutions chosen.

        What usually throws me is the resolution ratio >> 1. It’s very… vague. But I do understand why it is so.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s