Thanks to the Realtek 2832U I'm just discovering the world of Software Defined Radio. There are a lot of signals I'm able to pick up with this device, but identifying them is not always easy and cannot be done automatically.

When scanning for radio transmissions, I can look at a waterfall plot and see whether a broadcast is AM, FM or a handful of digital modes I have learnt to identify, but this is slow and error prone. I am wondering whether there is a way to automate this.

What I am after is an algorithm to examine the block of RF spectrum that has been digitised, to identify any signals along with their transmission modes. For example, in a particular part of the spectrum it might identify three broadcasts, two that are FM and one that is a POCSAG data stream.

I am thinking that for this you would need to generate some sort of signature for each detected signal, and then compare that to a list of known modulation types. Is it possible to generate a signature like this, taking into account the different amplitudes (signal strength) that result from varying distances to the transmitter? The signature (i.e. an identifying number) would need to be the same for all instances of that signal - for instance, each consumer FM radio station would have the same signature.

I am not really sure where to start, or how to deal with the bandwidth ranges involved (some signals are narrow and close together, others are very wide.) I'm also unsure whether you would have to pick out strong signals first and only process those (losing weaker ones) or whether you would examine the spectrum uniformly regardless of the power level at that particular frequency, discarding any frequencies that matched the signature for "no signal present."

The reason I am asking is that I would like to write a program that can tune the radio to a given frequency and then display all the transmissions it picks up, decoding them all automatically where possible. In order to do this, it must be able to identify signals in enough detail to demodulate them.

  • 3
    $\begingroup$ I know this topic is complex and I remember many grad students working on areas of this, so I would recommend reading papers on this subject (just Google "modulation classification" to get started). Unless someone on this board has worked on that subject and can actually provide a better explanation. $\endgroup$ Jul 13, 2012 at 12:40
  • 1
    $\begingroup$ This is a difficult problem that people have worked on for a while. If you come up with a survey system that correctly identifies key signal parameters automatically you could make a lot of money. $\endgroup$
    – Jim Clay
    Jul 13, 2012 at 13:53

2 Answers 2


Yes, this is quite a studied problem in certain fields. I co-own a patent on it and we used one out of many approaches. We broke the problem into a feature extraction step and then a classification step. Some features can be the bandwidth, the continuity of the phase, the amount of phase clusters for digital modulation, etc. Then we used a Mahalanobis distance comparison to known modulations. I've also seen linear discriminants and neural networks used to process the features.

Certain modulations also exhibit certain shapes once you square them, cube them, etc. and then compute the power spectral density. Often if you do an FM or AM demodulation you can see spectral lines for digital modulations. Cyclostationary computations can also be helpful in digital modulation detection. The post above is right in regards to the search topic: "modulation classification"


I think you can plot the spectral cyclic density function of the modulated signal to extract out vital parameters.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.