 Research
 Open Access
 Published:
IQ diagram utilization in a novel modulation classification technique for cognitive radio applications
EURASIP Journal on Wireless Communications and Networking volume 2013, Article number: 289 (2013)
Abstract
We report here on the utilization of signal inphasequadrature (IQ) diagrams in a novel modulation classification (MC) technique. This MC technique is able to classify linear digital singlecarrier modulations as well as multicarrier modulations. The method uses the waveforms’ IQ diagrams and, by employing a combination of kcenter and kmeans algorithms, determines the type of modulation. Implementation and refinement of the novel singlecarrier modulation classification technique using the IQ diagrams are discussed in detail. Further, a model for classification of multicarrier signals is presented, including Gaussianity, cyclostationarity, and autocorrelation tests for further extracting orthogonal frequency division multiplexing signal parameters. Finally, results of this method are presented and compared to other classification methods, and the considerations for implementing the method in hardware are briefly discussed. As a future direction of this research, the performance of the algorithm in fading channels is an interesting topic to pursue.
1 Introduction
One of the most promising new technologies for utilizing radio spectrum efficiently is cognitive radio. A cognitive radio (CR) is defined [1] as ‘an intelligent wireless communication system that is aware of its surrounding environment, learns from the environment, and adapts its internal states to statistical variations in the incoming RF stimuli by making corresponding changes in certain operating parameters (e.g., transmit power, carrier frequency, and modulation strategy) in real time, with two primary objectives: highly reliable communications whenever and wherever needed; and efficient utilization of the radio spectrum’.
The interest in developing new spectrum utilization technologies – combined with both the introduction of softwaredefined radios (SDRs) and the realization that machine learning can be applied to radios – is creating intriguing possibilities for promising technologies that are being incorporated in CRs.
Figure 1 shows the overall behavior of a CR system. In this regard, the analysis phase of a CR consists of three main operations: signal detection, automatic (blind) MC, and demodulation of the signal. More than 20 years of research in the area of MC shows the importance of this process. Thus, MC is a very important intermediate step between signal detection and demodulation in CRs.
There are a number of MC methods reported in the literature and most of the current modulation classifiers can be categorized into two main groups: likelihoodbased (LB) and featurebased (FB) classifiers [2].
Initial attempts to implement MC algorithms, circa 1980 [3], used analogmodulated signal timedomain parameters to accomplish automatic modulation recognition. Whelchel et al. [4], for the first time, used an artificial intelligence method (neural networks), as opposed to maximum likelihood method, to perform MC. They proposed a general demodulator and compared their results to the results from the maximum likelihood method.
One of the popular methods in the literature has been the use of maximum likelihood (ML) for modulation types. Wei and Mendel [5] have formulated a likelihoodbased approach to MC that is not limited to any particular modulation class. Their approach is the closest to a constellationbased MC. However, carrier phase and clock recovery have not been addressed. Lin and Kuo [6] have also proposed a sequential probability ratio test in the context of hypothesis testing to classify among several quadrature amplitude modulation (QAM) signals. Their approach is novel in the sense that new data continuously updates the evidence. Here, we present a new method for MC, which would fall under the category of FB classifiers but it has several key differences to previous methods and introduces several new capabilities. The flow diagram of the algorithm is shown in Figure 2.
In the first step, we determine whether we have a singlecarrier or a multicarrier signal. For the case of singlecarrier modulation, we use IQ diagrams of the received signals as unique features for classification and apply a clustering algorithm to extract those features. Similar methods using the constellation shape as a classification feature have been considered in the previous work [7, 8], in which they utilize the fuzzy cmeans clustering in their algorithms.
Dealing with MC problems as a problem well suited for pattern recognition algorithms goes before the work in [9]. There have been other attempts to extract optimal features from signals. Histograms derived from functions like amplitude, instantaneous phase, frequency, or combinations of these have been used by [10] and [11]. Jondral [12] proposes a modulation classifier utilizing the pattern recognition approach for recognition of both analog and digital modulation types. They use instantaneous amplitude, phase, and frequency histograms as key features for classification. However, in this case, we have utilized a cascade of kcenter and kmeans algorithms to achieve much higher accuracy in determining the type of the modulation and also to reduce the complexity of the process. Later, we show that our new method gives better classification results compared to other methods for QAM and phaseshift keying (PSK) modulations.
For the multicarrier modulation case, a number of steps such as Gaussianity, autocorrelation, and cyclostationarity tests are performed to identify and extract the parameters of the orthogonal frequency division multiplexing (OFDM) signal in order to complete the algorithm. Most of these methods have been previously discussed in the literature [13–15] and are well known. For channel estimation of OFDM systems, other methods have also been proposed, including ML [16] and maximum a posteriori (MAP) techniques [17]. We have also proposed a method based on our clustering algorithm to correct some of the frequency offsets and IQ imbalances in a received OFDM signal. The details of these steps are presented independently in separate articles [18].
In its entirety, the problem of blind MC is very complex to solve. In order to address it, we make a few simplifying assumptions. SNR in this paper is the signaltonoise ratio of the received signal after the received filters but before the A/D converter and is an indication of the quality of the communications channel, i.e.,
Also, we assume that the signal is sufficiently oversampled. Oversampling at rate ${f}_{s}\ge 4B$, where B is the monolateral signal bandwidth (i.e., [ −B,B]), eliminates aliasing in the cyclic frequency domain. In our algorithm, oversampling at this rate is essential in detecting multicarrier signals, for which we have a cyclostationary degree of two. Finally, at this point, we are only considering additive white Gaussian noise (AWGN) channels and will consider fading channels at a later stage of the research.
We also assume an ideal A/D converter (i.e., no additional noise because of the A/D process, including dither) and a sampling rate of once per symbol at the output of the matched filter. Thus, whenever we refer to the number of samples being used in our simulations, especially our clustering simulations, we refer to samples taken from the output of the matched filter. This assumption means that we have also achieved timing recovery, which enables us to extract the IQ diagram of the signal.
In Section 2, we first discuss the architecture of the algorithm. We overview the building blocks of the algorithm. This includes an overview of Gaussianity tests, the clustering algorithm for IQ diagrams, and OFDM parameter extraction. Section 3 presents some of our results. Finally, in Section 4, we provide conclusions and future work including considerations for implementation in hardware.
2 Novel modulation classification algorithm
The first step in classifying the incoming signal is to perform a Gaussianity test to determine the presence or absence of a Gaussian signal. In OFDM modulation, all orthogonal subcarriers are transmitted simultaneously. In other words, the entire allocated channel is occupied with the aggregated sum of the narrow orthogonal subbands. Thus, the OFDMmodulated signal can be considered to be a composite of a great number of independent identically distributed (IID) random variables. Therefore, using the central limit theorem (CLT)^{a}, we can claim that the amplitude distribution of the sampled signal can be approximated with a normal (Gaussian) distribution. However, this cannot be said for the case of a singlecarrier modulated signal [15]. Hence, multi/singlecarrier classification can be made with a Gaussianity test.
A few of the Gaussianity tests that have been discussed in the literature have been proposed for this task [8, 15, 19–21]. Although there is a vast number of tests available, some of them, such as χ^{2} test or Epps test, are not well suited for digital modulation due to their high noise sensitivity. The tests that have been recommended are modified versions of the aforementioned tests, e.g., the GiannakisTsatsanis and the JarqueBera tests are modified versions of χ^{2} test.
Our study of previous work in the field of MC, especially in the classification of multicarrier signals, reveals that a thorough study of the Gaussianity test as a best fit for this purpose has not been performed. For this purpose, we extensively studied the available Gaussianity tests [22] to find the most appropriate test to classify multicarrier modulations versus singlecarrier modulations, through various simulations, considering all possible elements and employing Monte Carlo method. The approach we take to find the best suitable test is to evaluate each test in simulations under different conditions of noise and different types of modulations. The tests that are considered are JarqueBera, GiannakisTsatsanis, KolmogorovSmirnov, AndersonDarling, D’AgostinoPearson, ShapiroWilk, Cramervon Mises, and Lilliefors. We also include the χ^{2} test to compare our tests against it. The Cramervon Mises and ShapiroWilk tests have shown the fastest processing time overall. They consistently give better results compared to other tests. We have also seen that the processing time for the Cramervon Mises test is almost half as that of the ShapiroWilk test, which makes it the most suitable test for our purpose. The details of these tests and their implementations and results are presented in [18, 22].
2.1 Singlecarrier modulation
A failed Gaussianity test indicates a singlecarrier signal, which will branch the process to that of classifying various types of modulations in a singlecarrier signal. Also, after extracting parameters of the OFDM signal, we will need to identify and demodulate each of its subcarriers.
We develop a procedure for classifying the singlecarrier modulations using its constellation shape and a combination of kmeans and kcenter algorithms.
We provide here a detailed explanation of the clustering technique. This technique efficiently detects the center of clusters in each IQ diagram. In order to explain the kcenter and the kmeans algorithms, we need to first introduce a few definitions.
Definition 1
D_{ k }, the cluster size for cluster C_{ k }, is defined as the least value for which all points in C_{ k } are

within distance D_{ k } of each other, or

within distance D_{ k }/2 of some point called the cluster center.
Definition 2.
Partition S of set of points X={x_{ i }} is defined as having the following two conditions

$$\bigcup S=X$$

C_{ p }∩C_{ q }=∅ if C_{ p }∈S,C_{ q }∈S,C_{ p }≠C_{ q }.
Definition 3.
Cluster size of partition S is defined as
In all of these definitions and those that follow, k is the k^{th} cluster in the set of K clusters that belong to partition S. The quantities p and q also refer to different clusters in the same set of K clusters.
2.2 kmeans
The kmeans algorithm is our primary algorithm for clustering. It is the most common and wellknown solution for clustering [23]. This algorithm tries to minimize the typical (average) distortion that we call cost, defined as:
where x_{ i } is a member of the cluster C_{ k } and μ_{ k } is the centroid for cluster C_{ k }, defined as
For a single cluster C, the distortion will be
This cost is minimized when μ=mean(C), which is the same as Equation (4).
2.3 kcenter
kcenter clustering is similar to kmeans, but uses a different optimization criterion. We use a version of this algorithm, called greedy kcenter, to give the initial points for the kmeans algorithm. kcenter focuses on the worst case scenario, especially when there are outliers.
kcenter clustering aims at minimizing D and a cost function is expressed as follows,
It minimizes the worst case distance to centroid μ_{ k }. Although called the centroid, unlike for kmeans, μ_{ k } may not be the mean vector. In kcenter clustering, among the clusters, only the worst cluster matters, whose farthest data point yields the maximum distance to the centroid compared to the farthest data points of the other clusters.
We use the greedy kcenter algorithm to get the approximate locations of the cluster centers. Next, we use the results to initialize kmeans and then use it to improve the results to find the exact locations of the centers. This extra step of using the kcenter algorithm reduces the error considerably, especially for high SNR channels. Using the kcenter algorithm to initialize the kmeans algorithm also causes the kmeans algorithm to diverge very rapidly. The performance of this combined algorithm can be compared to the kmeans++ [24] algorithm. Our simulations show that using kcenter to initialize the kmeans algorithm may be slower than kmeans++ by a factor of two but it will be several orders of magnitude more accurate, especially in higher SNR.
Examples of the improved performance when using kcenter along with kmeans are shown in Figure 3a, b. In these figures, (i) and (ii) are the performance of the algorithm when we use both algorithms together; (iii) and (iv) are when we simply use the kmeans algorithm or the kcenter algorithm independently.
In order to measure and quantify this improvement in performance, we need to define an attribute that would help us in comparing different methods. We also use this attribute to classify different singlecarrier modulations.
For measuring the performance of the clustering algorithms and also to define a parameter that allows for comparison and classification of modulation schemes, we define a term called relative error or Cumulative Deviation Error (CDE) and denote it ε_{CDE}. This error shows the deviation of cluster centers that are found by the algorithm from the actual modulation states, with respect to number of samples used. We define this error as:
where μ_{ i } is the center of cluster i and X_{ i } is the corresponding symbol location of i^{th} symbol in a constellation with K symbols. This term measures the Euclidean distance of the calculated cluster center from the actual constellation point and normalizes it with respect to power of the signal.
Further investigation of the performance of these algorithms using CDE can be seen in Figure 4a, b, c. The simulations have been performed for up to 10,000 sample sizes and averaged over 100 runs. The signal has a 16QAM modulation with SNR = 5, 15, and 30 dB. This figure compares the CDEs and clearly shows that the kcenter algorithm yields considerably better performance than uniformly distributed random sampling for initializing the kmeans algorithm.
Now that we have these cluster centers, the next step is making the decision on the type of the modulation.
2.4 Multicarrier feature extraction
Passing the Gaussianity test indicates that we have Gaussianity in our received signal. However, we have to take note that this can be due to the presence of plain AWGN in the channel. It has been shown that an OFDM signal is cyclostationary with period T_{ s }, where T_{ s } is the symbol duration in an OFDM signal [25, 26]. So, in the next step of our algorithm, a cyclostationarity test is used to confirm if we indeed have an OFDM signal. If the test fails and no cyclostationarity is detected, then we can conclude that the incoming signal is not OFDM but rather white Gaussian noise. A byproduct of this process is the estimation of the OFDM symbol rate. After this step, the autocorrelation test determines the duration of the cyclic prefix, which as a result also gives us the data duration in an OFDM symbol.
Finally, we use a twostage process of a bank of fast Fourier transforms (FFTs) combined with our Gaussianity test to determine the number of subcarriers. In [15], we see a detailed approach toward the estimation of the number of subcarriers. To estimate the number of carriers, N, we use a bank of FFTs. We assume that the number of subcarriers is a power of two, since OFDM signals are made using inverse FFTs.
This algorithm utilizes the fact that, if the output in one of the FFT branches is perfectly demodulated, then it will have only useful data and will no longer possess a Gaussian distribution. On the other hand, all the other branches will still show Gaussian property. By increasing the number of OFDM symbols processed in this FFT bank, a more accurate result can be obtained, but accuracy would be a tradeoff with an increase in computation time to make the decision.
Assume the transmitter inverse discrete Fourier transform (IDFT) size is N and the classifier discrete Fourier transform (DFT) size $\xd1$ satisfy $\xd1=\mathit{\text{MN}}$, where M≥1 is a positive integer. The input signal to the classifier DFT is
where ${X}_{k}^{m}$ is the k^{th} data symbol of the m^{th} transmitted OFDM symbol and ${y}_{n}^{m}$ is the n^{th} IDFT output symbol of the m^{th} transmitted OFDM symbol. The classifier performs an$\phantom{\rule{0.25em}{0ex}}\xd1$point DFT hence the k^{th} entry of the DFT output is given by:
When $\frac{k}{M}=l$, where l is an integer, Equation (9) can be simplified as:
The physical meaning of Equation (10) is that, if k is a multiple of M, then Y_{ k }, the k^{th} output of$\phantom{\rule{0.25em}{0ex}}\xd1$point FFT, is the summation of M original data symbols. Those data symbols come from the $\frac{k}{M}$th subcarrier of M transmitted OFDM symbols. Since M may not be a large number, Y_{ k } shows little Gaussianity.
Therefore, the procedure will be as follows: with the incoming signal, we initiate a$\phantom{\rule{0.25em}{0ex}}\xd1$point FFT operation. The initial value of$\phantom{\rule{0.25em}{0ex}}\xd1$ is set larger than the possible maximal value of the transmitter IFFT size N. Then, we test the output of the FFT for Gaussianity. If strong Gaussianity is shown, which means $\xd1\gg N$, we divide$\phantom{\rule{0.25em}{0ex}}\xd1$ by 2 and apply the new$\phantom{\rule{0.25em}{0ex}}\xd1$point FFT. This cycle is repeated until the Gaussianity test fails, which implies the fact that $\xd1=N$. Therefore, the number of subcarriers is obtained. If no result is achieved by the end, this repetition continues until $\xd1=2$ indicates an error in this step of determining the number of subcarriers, or in previous step of determining the validity of the Gaussian tests.
A cyclic prefix is necessary to determine the start of each symbol duration, and the number of subcarriers determines the length of the FFT that we need in the signal demodulator. This then allows us to use our singlecarrier MC on each subcarrier and then demodulate it. The details of these steps have been presented in a separate article [18].
3 Results
The results presented here are obtained from simulations using MATLAB. The simulations were produced using MATLAB R2009a x64 on Windows 7. To test the algorithm against different types of modulations, we have considered the highly used modulations of MPSK and MQAM.
Figure 5a, b corresponds to results of our singlecarrier MC that uses kmeans and kcenter algorithms on IQ diagrams of modulations to determine the modulation type. The results show superior performance of this algorithm when applied to various modulation schemes.
For setting the threshold for the classifier, we calculate ε_{CDE} in different scenarios. An example is shown in Figure 6. This shows not only a clear distinction between the correct modulation type and the rest of considered modulations but also shows a clear distinction between different families of modulations, e.g., QAM vs. PSK family of modulations.
In high SNR environments (SNR ≥ 30 dB), the performance of the algorithm is almost perfect. As we move toward lower SNR (SNR ≤ 5 dB), we see that the cluster centers deviate from the actual positions of constellation symbols. For the case of PSK modulations, the degradation starts at higher SNRs compared to QAM modulations. This is due to the Euclidean distance between the symbols in PSK, which is relatively closer compared to QAM modulation with the same number of constellation points.
For the case of 256QAM modulation in Figure 5b, we see a few missing symbols in the constellation, which decreases when we double the number of samples from 512 to 1,024. This is due to the fact that, for the case of 256QAM modulation and 512 samples, there are only two samples per symbol on average in the IQ diagram and, in some cases, there are no samples present for some of the clusters in the IQ diagram. However, even for the case of 512 samples and 256QAM, the shape of the constellation is still distinguishable. In our results, we show that the algorithm is fully able to classify the type of modulation even when a few symbols are missing as seen for the case of 256QAM. It should be noted that, despite using only 512 samples of the signal, the algorithm yields accurate results even for higher order modulations such as 256QAM. This also shows that, for lower order modulations, we would need much fewer samples.
To optimize the required number of samples for the algorithm in each case, we calculate the CDE error for different sample sizes. Figure 7 shows the result of this calculation for 64QAM modulation. It is seen that there is a critical number of samples in the figure, where the error rate decreases significantly below that number compared to above it. For the case of 64QAM, this point seems to be somewhere in the neighborhood of 400 samples. Thus, for a sample size of ≈400 in the case of 64QAM, we achieve the optimum performance. For a lower number of samples, we get a very high error rate and for a higher number of samples, the improvement in the performance would not be cost effective.
We assume that N≥K, where N is the number of samples and K is the number of constellation points in a modulation (K is also defined as the number of clusters previously in this article, which converge for correct classification).
Tables 1, 2, 3 and 4 demonstrate the performance of the algorithm in different scenarios. As is evident from the results, the algorithm gives no incorrect classification for the conditions used. It either succeeds or gives a nondetection rather than a false detection of modulation. This is clearly an advantage compared to other methods. Table 2 is particularly notable, since in SNR = 2, 4, and 6 dB the algorithm classifies two different modulations as the correct modulation type. Thus, obtaining 64QAM in 100% of the cases and 8PSK in 4.1% only means that in some cases we achieve two results. This can of course be avoided if we increase our sample size.
We evaluated the performance of our MC algorithm using various simulations, and now, we compare our method to other classifiers using the logical criteria of calculation complexity, duration of calculations (i.e., how fast they classify different modulations), and their performance in low SNR (i.e., how accurately they classify). However, as mentioned in [2], it turns out that performance comparison of published classifiers is not straightforward due to a number of reasons. For example, some of the classifiers are designed to handle specific unknown parameters and, to evaluate them, they have considered different types of modulation. However, in order to compare our MC with those in the literature, we take [2] as a reference point and compare their results to our results, assuming the same parameters in our simulations. They examined a number of likelihoodbased classifiers (such as average likelihood ratio test (ALRT), quasiALRT, generalized likelihood ratio test (GLRT), and hybrid likelihood ratio test (HLRT)), and featurebased classifiers (such as cumulantbased algorithms) by choosing binary PSK (BPSK) and quadrature PSK (QPSK) as candidate modulations in one case and 16QAM and 8QAM in the other. They defined the following parameters:

P_{ cc } as the percentage of correct classification,

1000 Monte Carlo trials,

N=100 the number of symbols, and

rectaugular pulse shape.
It must be noted that the likelihoodbased tests from high complexity to low complexity are ALRT, quasiALRT, GLRT, HLRT, and quasiHLRT. We assume an ideal scenario for these simulations. Table 5 shows a comparison of our results with those presented in [2] for classification of BPSK versus QPSK modulations. As can be seen, ALRTbased classifiers still perform better in this case.
Next, we compare our results with these classifiers for QAM modulated signals. We choose classification of 16QAM versus 8QAM and compare them with results from the same article. The results are compared in Table 6. The same number of symbols as in the previous table was used for this comparison. As it can be seen, in this case, the algorithm performs much better compared to other algorithms. It shows 6 dB improvement over ALRT and 8 dB over HLRT algorithms.
It was not possible to directly compare the complexity of different algorithms with the algorithm presented in this work. However, to give an idea on how fast this algorithm can perform, we used MATLAB’s tic and toc functions in our code when performing our simulations. For 1,000 trials in the simulation, which included generation of the modulated symbols, adding noise, and classifying them, it took 10.47 s for QAM modulations and 8.31 s for PSK. Furthermore, we used the same approach to compare the performance of our clustering algorithm against kmeans++, which showed that our clustering algorithm is slower by a factor of two to three but has a better accuracy. In fact, for the example of the case in Figure 4c, if we take a sample size of 1,000, its error rate is 37 dB lower. A summary of these results can be seen in Table 7.
We now discuss the complexity of our algorithm in a more analytical manner with hardware implantation considerations in mind.
From the above characteristics of a modulation classifier, it can be seen that there are two aspects to examine in order to determine the complexity of an algorithm. The first is how well it works in realtime and, second, how computationally complex it is. Although these questions are interrelated, the methods to deal with them and their results can be completely independent of one another.
To start the evaluation and to determine the algorithm complexity, we have to divide the algorithm into subalgorithms, for each of which we can determine the complexity. If we take another look at Figure 2, we observe that the algorithm consists of three parts in the worst case scenario, which is the case of a received multicarrier signal. These three parts consist of the Gaussianity test, the OFDM feature extraction steps, and the clustering algorithm using IQ diagrams.
To address how well the algorithm deals with realtime scenarios, we have performed a number of simulations to calculate the processing time. A number of these results are presented in previous sections. However, to gain an idea of the degree of complexity of the algorithm, we use big notation, which gives the asymptotic running time for an indefinitely large input.
First, we consider the Gaussianity test. We have already concluded that the most appropriate tests for our purpose is the ShapiroWilk test and the Cramervon Mises test. In the ShapiroWilk test, the MATLAB function polycal is used. This function is based on Horner’s method of polynomial evaluation [27]. Based on this and the MATLAB code for the ShapiroWilk test, we can conclude that the test is $\mathcal{O}\left(N\right)$.
For the case of the Cramervon Mises test, the MATLAB function interp1 is used, which is the function for linear interpolation. This function is also $\mathcal{O}\left(N\right)$. Thus, we can conclude that the first stage of the algorithm is $\mathcal{O}\left(N\right)$.
The second stage, OFDM feature extraction, consists of several steps. In this stage, the most computationally complex process is the autocorrelation process. By itself, the autocorrelation function is $\mathcal{O}\left({N}^{2}\right)$. However, there are several efficient algorithms that can bring down the order of calculation to $\mathcal{O}(NlogN)$.
Finally, the last step is the clustering algorithms of kcenter and kmeans. The greedy kcenter algorithm that is used here is $\mathcal{O}(logN)$[28, 29]. For the case of kmeans, there are several different approximations. The most common algorithm that is used for kmeans and is also implemented in MATLAB is called Lloyd’s algorithm [30]. The algorithm is usually very fast, but there is no guarantee that it will converge to a global minimum, and the result may depend on the method of initialization. It can become very slow for some initial values and theoretically can take exponential time ${2}^{\Omega \left(\sqrt{N}\right)}$ to converge [31], where Ω(·) shows the lower bound of required calculations. This can also be written as exp(n/ log2e), where e is Euler’s constant. However, using the kcenter algorithm for initialization guarantees that the algorithm converges quickly. Thus, we conclude for this stage that the approximation is $\mathcal{O}(logN)$.
After considering all of these stages, the stage with the highest complexity will determine the upper limit for the order of complexity of this algorithm. As can be seen from previous arguments, the second stage with a complexity order of $\mathcal{O}(NlogN)$ has the higher bound. Thus, it can be concluded that this is the order of complexity of this MC algorithm.
It must also be noted, however, that in modern computers the complexity expressed by big notation can be irrelevant. It is more important how long those operations take and what combinations of instructions can be processed simultaneously by the CPU. Also, tremendously important in determining computing time is the ability of the algorithm to fit into cache. An algorithm that takes $\mathcal{O}\left(N\right)$ running time in theory can end up taking much longer than a different algorithm that takes $\mathcal{O}\left({N}^{2}\right)$ to compute the same result, if the $\mathcal{O}\left({N}^{2}\right)$ operates in cache and the $\mathcal{O}\left(N\right)$ trashes the cache badly.
Some of these concerns can be seen in Figures 8 and 9. Figure 8 shows how at the highest level the delay is created. First, there is the decision that is being made in MC unit, then that result has to be passed to the demodulator, and finally, the demodulator has to reconfigure itself for the new modulation scheme. Thus, in order to decrease the delay and enable the process to run realtime, each step has to be addressed separately. In the MC unit in Figure 9, there are some steps that can be conducted in parallel. For example, after the buffer outputs the samples, the MC does not have to wait for the decision of the Gaussianity test and can send copies of the samples to OFDM feature extraction block and the single carrier MC block. This would ensure that, whatever the outcome of the Gaussianity test, the processing of the next step has already begun.
It should also be mentioned that, when writing the code, some careful considerations can increase the speed of the algorithm, e.g., in the clustering algorithm in MATLAB, using bsxfun (which applies the elementbyelement binary operation to two arrays with singleton expansion enabled) instead of repmat (which replicates and tiles arrays) improves the speed by 30%. Also, when using GNU Radio along with universal software radio peripheral (USRP) in hardware implementation of the algorithm, dividing the array of samples into smaller blocks significantly reduces the latency. A reduction of size from 512byte packets to 64byte packets reduces the total round trip latency by an order of 10.
4 Conclusion
The goal of this research was to design and implement a comprehensive modulation classification system to be used in a cognitive radio. A tree structure is proposed. We have extensively studied Gaussianity tests to determine the most appropriate test available for classifying singlecarrier signals from multicarrier ones. The results show that a tradeoff must be made between the tests’ sensitivity to noise and how fast they perform. Based on the simulations, Cramervon Mises and ShapiroWilk tests both have very good processing time and achieve good results when dealing with noisy signals.
We also applied the kcenter and the kmeans clustering algorithms to develop a method of classifying different singlecarrier modulation schemes. This method proved to be very efficient in classifying the modulation schemes that have different IQ diagrams. By applying these methods and by setting appropriate threshold levels, we achieved perfect classification for SNR>5 dB when choosing between six different modulation schemes. It was shown that the performance of this algorithm is superior to the best published classifiers in being able to classify both QAM and PSK modulations with high accuracy in very low SNR.
There are further steps to improve the performance of the algorithm. For example, the performance of the algorithm in fading channels is an interesting topic, and there has not been a lot of work in the literature. Our preliminary results show that in the case of a singlecarrier modulation, the MC algorithm will not be successful unless we have further information about the channel. One possible solution to the problem in singlecarrier modulation is to add an additional step to estimate the channel before applying the algorithm. A possible solution for this has been given using sixthorder cumulants [32]. However, for the OFDM signals even in fading environments, the algorithm is successful. In this case, we already take several steps to extract the timing information of the OFDM signals and when we arrive at the final stage with the modulation of each of the subcarriers being unknown, we have the timing information necessary to build the IQ diagram. Also, currently we require preprocessing in order to build the IQ diagrams. However, extracting the timing data automatically can be another area of research for further development of this algorithm.
Finally, the algorithm is easy to implement and practical and can perform in real time using various optimizations proposed in this paper, when implementing it on available SDR boards to perform realtime MC on incoming signals.
Endnote
^{a} The CLT states that the sum of a large number of IID random variables will be approximately normally distributed (i.e., follow a Gaussian distribution, or bellshaped curve) if the random variables have a finite variance [33].
References
 1.
Haykin S: Cognitive radio: brainempowered wireless communications. IEEE J. Selected Areas Commun 2005, 23(2):201220.
 2.
Dobre O, Abdi A, BarNess Y, Su W: Survey of automatic modulation classification techniques: classical approaches and new trends. IET Commun 2007, 1(2):137156. 10.1049/ietcom:20050176
 3.
Aisbett J: Automatic modulation recognition using time domain parameters. Signal Process 1987, 13(3):323328. 10.1016/01651684(87)901307
 4.
Whelchel J, McNeill D, Hughes R, Loos M: Signal understanding: an artificial intelligence approach to modulation classification. In Proceedings of IEEE International Workshop on Languages and Algorithms, Tools for Artificial Intelligence Architectures,1989. Fairfax, VA; 23–25 Oct 1989:231236.
 5.
Wei W, Mendel J: A new maximumlikelihood method for modulation classification. In Conference Record of the TwentyNinth Asilomar Conference on Signals, Systems and Computers, 1995. Pacific Grove, CA; 30 Oct:11321136.
 6.
Lin Y, Kuo CJ: Classification of quadrature amplitude modulated (QAM) signals via sequential probability ratio test (SPRT). Signal Process 1997, 60(3):263280. 10.1016/S01651684(97)000777
 7.
Ahmadi N: Using fuzzy clustering and TTSAS algorithm for modulation classification based on constellation diagram. Eng. Appl. Artif. Intell 2010, 23(3):357370. Accessed 21 March 2011 [http://dx.doi.org/10.1016/j.engappai.2009.05.006] [] Accessed 21 March 2011 10.1016/j.engappai.2009.05.006
 8.
Mobasseri BG: Digital modulation classification using constellation shape. Signal Process 2000, 80(2):251277. 10.1016/S01651684(99)001279
 9.
Mobasseri B: Constellation shape as a robust signature for digital modulation recognition. In Proceedings of IEEE Military Communications Conference, MILCOM 1999. Atlantic City, NJ; 31 Oct–03 Nov 1999:442446.
 10.
Dominguez LV, Borrallo JMP, García JP, Mezcua BR: A general approach to the automatic classification of radiocommunication signals. Signal Process 1991, 22(3):239250. 10.1016/01651684(91)900128
 11.
Huan C, Polydoros A: Likelihood methods for MPSK modulation classification. IEEE Trans. Commun 1995, 43(234):14931504.
 12.
Jondral F: Foundations of Automatic Modulation Classification. ITGFachbericht 1989, 107: 201206.
 13.
Lundén J, Koivunen V, Huttunen A, Poor HV: Collaborative cyclostationary spectrum sensing for cognitive radio systems. Trans. Sig. Proc 2009, 57(11):41824195.
 14.
Shi M, BarNess Y, Su W: Blind OFDM systems parameters estimation for softwaredefined radio. 2nd IEEE International Symposium on New Frontiers in Dynamic Spectrum Access Networks, 2007. DySPAN 2007, Dublin; 17–20 April 2007:119122.
 15.
Li H, BarNess Y, Abdi A, Somekh OS, Su W: OFDM modulation classification and parameters extraction. 1st International Conference on Cognitive Radio Oriented Wireless Networks and Communications, 2006. Mykonos Island; 8–10 June 2006:16.
 16.
Cui T, Tellambura C: OFDM channel estimation and data detection with superimposed pilots. Eur. Trans. Telecommun 2011, 22: 125136. 10.1002/ett.1461
 17.
Çürük SM, Tanik Y: A simplified MAP channel estimator for OFDM systems under Rayleigh fading. Eur. Trans. Telecommun 2010, 21(4):396405. Accessed 21 March 2011 [http://dx.doi.org/10.1002/ett.1415] [] Accessed 21 March 2011
 18.
Azarmanesh O, Bilén SG: New results on a twostage novel modulation classification technique for cognitive radio applications. In Proceedings of IEEE Military Communications Conference, MILCOM 2011. Baltimore, MD; 7–10 Nov 2011.
 19.
Grimaldi D, Rapuano S, De Vito L: An automatic digital modulation classifier for measurement on telecommunication networks. IEEE Trans. Instrum. Meas 2007, 56(5):17111720.
 20.
Abdi A, Dobre O, Choudhry R, BarNess Y, Su W: Modulation classification in fading channels using antenna arrays. In Proceedings of IEEE Military Communications Conference, MILCOM 2004. Monterey; 31 Oct–03 Nov 2004:211217.
 21.
Proakis JG: Digital Communications. New York, NY: McGrawHill Series in Electrical and Computer Engineering, McGraw–Hill Education; 2001.
 22.
O Azarmanesh: A novel approach to modulation classification in cognitive radios. Phd dissertation ,. The Pennsylvania State University 2011.
 23.
Jain AK, Dubes RC: Algorithms for Clustering Data. Upper Saddle River, NJ: Prentice Hall, Inc.; 1988.
 24.
Arthur D, Vassilvitskii S: kmeans++: The advantages of careful seeding. Technical Report 2006–13, Stanford InfoLab. 2006.http://ilpubs.stanford.edu:8090/778/ Accessed 21 March 2011
 25.
Bolcskei H: Blind estimation of symbol timing and carrier frequency offset in wireless OFDM systems. IEEE Trans. Commun 2001, 49(6):988999. 10.1109/26.930629
 26.
Oner M, Jondral F: Cyclostationarity based air interface recognition for software radio systems. In IEEE Radio and Wireless Conference, 2004. Atlanta, GA; 1922 Sept 2004:263266.
 27.
Horner WG: A new method of solving numerical equations of all orders, by continuous approximation. Philos. Trans. R. Soc. London 1819, 109: 308335. Accessed 21 March 2011 [http://www.jstor.org/stable/107508] [] Accessed 21 March 2011
 28.
Archer A:Two$\mathcal{O}\left(\stackrel{\ast}{log}k\right)$approximation algorithms for the asymmetric kCenter problem. In Proceedings of the 8th International IPCO Conference on Integer Programming and Combinatorial Optimization. London, UK: Springer–Verlag; 2001:114. Accessed 21 March 2011 [http://dx.doi.org/10.1007/3540455353_1] [] Accessed 21 March 2011
 29.
Li Gørtz I, Wirth A: Asymmetry in kcenter variants. Theor. Comput. Sci 2006, 361: 188199. Accessed 21 March 2011 [http://dx.doi.org/10.1016/j.tcs.2006.05.009] [] Accessed 21 March 2011 10.1016/j.tcs.2006.05.009
 30.
Lloyd SP: Least squares quantization in pcm. IEEE Trans. Inform. Theory 1982, 28: 129137. 10.1109/TIT.1982.1056489
 31.
Arthur D, Vassilvitskii S: How slow is the kmeans method? In Proceedings of the TwentySecond Annual Symposium on Computational Geometry, SCG’06. New York, NY, USA: ACM; 2006:144153. Accessed 21 March 2011 [http://doi.acm.org/10.1145/1137856.1137880] [] Accessed 21 March 2011
 32.
Orlic V, Dukic M: Multipath channel estimation algorithm for automatic modulation classification using sixthorder cumulants. Electron. Lett 2010, 46(19):13481349. 10.1049/el.2010.1893
 33.
Papoulis A, Pillai SU: Probability, Random Variables and Stochastic Processes. New York, NY: McGraw–Hill; 2002.
Author information
Additional information
Competing interests
The authors declare that they have no competing interests.
Authors’ original submitted files for images
Below are the links to the authors’ original submitted files for images.
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 2.0 International License (https://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
About this article
Cite this article
Azarmanesh, O., Bilén, S.G. IQ diagram utilization in a novel modulation classification technique for cognitive radio applications. J Wireless Com Network 2013, 289 (2013). https://doi.org/10.1186/168714992013289
Received:
Accepted:
Published:
Keywords
 Orthogonal Frequency Division Multiplex
 Cognitive Radio
 Modulation Classification
 Orthogonal Frequency Division Multiplex Symbol
 Quadrature Amplitude Modulation