# Ensemble Classifier Based Spectrum Sensing in Cognitive Radio Networks

Authors: Hassaan Bin Ahmad
Journal: Wireless Communications and Mobile Computing
 (2019)

---

## Abstract

Spectrum sensing is one of the most important and challenging tasks in cognitive radio. To develop methods of dynamic spectrum access, robust and efficient spectrum sensors are required. For most of these sensors, the main constraints are the lack of information about the primary user’s (PU) signal, high computational cost, performance limits in low signal-to-noise ratio (SNR) conditions, and difficulty in finding a detection threshold. This paper proposes a machine learning based novel detection method to overcome these limits. To address the first constraint, detection is achieved using cyclostationary features. The constraints of low SNR, finding detection threshold, and computational cost are addressed by proposing an ensemble classifier. First, a dataset is generated containing different orthogonal frequency-division multiplexing signals at different SNRs. Then, cyclostationary features are extracted using FFT accumulation method. Finally, the proposed ensemble classifier has been trained using the extracted features to detect PU’s signal in low SNR conditions. This ensemble classifier is based on decision trees and AdaBoost algorithm. A comparison of the proposed classifier with another machine learning classifier, namely, support vector machine (SVM), is presented, clearly showing that the ensemble classifier outperforms SVM. The results of the simulation also prove the robustness and superior efficiency of the detector proposed in this paper in comparison with a cyclostationary detector without machine learning as well as the classical energy detector.


---

## Body

## 1. Introduction

With the advancement in communication technologies, there is an ever increasing requirement of high data rates. Due to limited natural frequency spectrum when compared to the needs generated by an increasing number of high data-rate devices, it is evident that currently available static frequency allocation schemes are not enough. Consequently, techniques are needed, which are able to exploit the current spectrum in new ways. In order to overcome the challenges posed by spectral congestion, the concept of cognitive radio has emerged as an attractive field of research. It has the potential of opportunistically exploiting less occupied frequency bands [1, 2]. The primary functions of a cognitive radio include the sensing, management, and sharing of spectrum [3]. One main property of the cognitive radio is autonomy in exploiting unused local spectrum. Subsequently, spectrum sensing qualifies as the most important task for establishing cognitive radios and therefore remains till date an open research problem.The term spectrum sensing means gaining awareness of real-time spectrum utilization and the presence of primary licensed users. In cognitive radio, the user having legacy rights for using a particular part of the spectrum is known as the primary user (PU), whereas the secondary user (SU), having lower priority, tries exploiting the spectrum as long as it causes no interference to signals of the primary users. As a result, the cognitive radio can be used by SUs for sensing the spectrum reliably and confirming the presence of a PU, in which case they switch to another part of the spectrum which is not being used.


### 1.1. Related Work and Motivation

There are several methods for sensing the spectrum, which have been developed recently, including energy detection (ED), waveform detection (WFD), eigenvalue based detection (EVD), and cyclostationary feature detection (CFD) [4, 5]. The method of energy detection estimates the incoming signal’s power and compares it to a previously determined threshold, thereby determining whether the PU is present or not. However, the performance of this method is significantly affected in conditions having low SNR [6]. Waveform detection method, with the highest reliability, correlates the waveforms of the reference signal and the received signal. The WFD method has a very high efficiency [7] but requires highly accurate information about the signal of the PU. In reality, however, the SUs have no information about the signal of the PU and therefore WFD cannot be used for blind detection. Eigenvalue detection method that was first proposed by Zeng and Liang [4] performs well in low SNR conditions but its high computational complexity is a disadvantage [8].The method of cyclostationary feature detection proposed initially by Gardner [9, 10] models communication signals as cyclostationary signals [11]. Cyclostationary processes have periodical statistics and are random in nature [10]. The phenomenon of cyclostationarity can occur during coding stages or modulation but can also be introduced intentionally for aiding the processes of synchronization or channel estimation [6]. The CFD offers the advantage of being used in blind context [12, 13]. Since the information about the PU’s signal is not available at all, the primary objective is to develop efficient methods of cyclostationary feature extraction [14, 15]. The cyclic spectrum of cyclostationary signals can be estimated using either the strip spectral correlation algorithm (SSCA) or the FFT accumulation method (FAM) [16].In [17], cyclostationary statistical test is used to detect OFDM signals. Reference [18] uses FRESH filters and cyclostationarity for spectrum sensing. A comparison of energy detector (ED), hybrid energy detector (HED), eigenvalue based Roy Largest Root Test (RLRT), Hybrid Roy Largest Root Test (HRLRT), cyclostationarity test, and hybrid cyclostationarity test is presented in [19]. According to [19], hybrid cyclostationary test performs the best. In [20], a joint energy and cyclostationary method is proposed for blind spectrum sensing. In [21], another cyclostationary approach is presented for blind signal detection. This approach uses a crest factor to obtain a variable threshold.To address the spectrum sensing task, recently, machine learning (ML) techniques have also been applied [22–25]. Spectrum sensing by employing support vector machine (SVM) is proposed in [22]. Spectrum sensing by using a combination of eigenvalue and SVM is proposed in [23]. Reference [24] presents spectrum sensing using artificial neural networks. An algorithm that uses a combination of covariance matrix and SVM for spectrum sensing is proposed in [25].The use of ensemble learning methods is another practical way of achieving higher detection accuracy. Recently, ensemble classifiers have been used in many detection problems and have shown promising results [26–33]. Ensemble classifiers make use of multiple learning algorithms in order to achieve a prediction efficiency higher than any of their base learners [34–36]. These classifiers use divide-and-conquer tactics for improving base learner performance to solve a complex problem [37]. Depression detection in speech using ensemble method is proposed in [26]. In [27], ensemble classifier is used for network intrusion detection. In [29], ensemble decision trees are used for electrocardiograph artifact detection. In [31], ensemble classifier is used for weather radar anomalous propagation echo detection. Ensemble classifier and AdaBoost [38] based islanding detection under smart grid environment is proposed in [33].In this paper, a spectrum sensing technique based on cyclostationary features and ensemble machine learning is proposed. The use of ensemble classifier for spectrum sensing makes the proposed method different from the existing spectrum sensing methods because ensemble machine learning combines the outputs of weak learners to get the final output. These weak learners are computationally inexpensive and thus offer an advantage over complex learning techniques. None of the existing spectrum sensing techniques use ensemble machine learning as [17] used cyclostationary features and statistical test, [18] used FRESH filters, [19] incorporated hybrid algorithm involving statistics, [20] used energy and cyclostationary feature based learning algorithm, and [21] used a random variable based detection threshold. References [22–25] have used machine learning techniques such as SVM and neural networks for spectrum sensing but no kind of ensemble machine learning has been applied till date.


### 1.2. Main Contributions

A detection method is proposed in this paper, which is more promising than the above-mentioned spectrum sensing techniques and has a better detection probability. The proposed detector uses ensemble classifier and a signal’s cyclostationary features for its detection. This research paper makes the following major contributions:(1) proposing dataset generation algorithm to train and evaluate the classifier, (2) adjusting FAM for estimating the intercepted signal’s cyclic spectrum, and (3) proposing ensemble classifier based detector that uses decision trees and AdaBoost algorithm for classification. Furthermore, for performance validation of the proposed ensemble classifier based detector, an SVM and cyclostationary feature based detector is used. For comparison of these two classifiers, performance measures are presented based on accuracy, confusion matrix, receiver operating characteristics (ROC), area under the curve of the receiver operating characteristics (ROC-AUC), and other performance figures obtained from the confusion matrix. Additionally, the results of the simulations showing ROC curves compare the proposed ensemble classifier based detector with a cyclostationary detector without machine learning as well as the classical energy detection method to confirm its robustness and efficiency.The remainder of the paper is arranged in the following sections. Section2 presents the system model. Section 3 presents the proposed dataset generation algorithm. Section 4 gives a brief overview of the concept of cyclostationarity. In Section 5, FAM algorithm is presented, which is used for cyclic spectrum estimation. Proposed ensemble classifier based detector is presented in Section 6. Section 7 gives the performance comparison of the proposed classifier and SVM. The simulation results comparing the proposed detector with other techniques is presented in Section 8. Finally, conclusion and possibilities of future work are presented in the last section.


## 1.1. Related Work and Motivation

There are several methods for sensing the spectrum, which have been developed recently, including energy detection (ED), waveform detection (WFD), eigenvalue based detection (EVD), and cyclostationary feature detection (CFD) [4, 5]. The method of energy detection estimates the incoming signal’s power and compares it to a previously determined threshold, thereby determining whether the PU is present or not. However, the performance of this method is significantly affected in conditions having low SNR [6]. Waveform detection method, with the highest reliability, correlates the waveforms of the reference signal and the received signal. The WFD method has a very high efficiency [7] but requires highly accurate information about the signal of the PU. In reality, however, the SUs have no information about the signal of the PU and therefore WFD cannot be used for blind detection. Eigenvalue detection method that was first proposed by Zeng and Liang [4] performs well in low SNR conditions but its high computational complexity is a disadvantage [8].The method of cyclostationary feature detection proposed initially by Gardner [9, 10] models communication signals as cyclostationary signals [11]. Cyclostationary processes have periodical statistics and are random in nature [10]. The phenomenon of cyclostationarity can occur during coding stages or modulation but can also be introduced intentionally for aiding the processes of synchronization or channel estimation [6]. The CFD offers the advantage of being used in blind context [12, 13]. Since the information about the PU’s signal is not available at all, the primary objective is to develop efficient methods of cyclostationary feature extraction [14, 15]. The cyclic spectrum of cyclostationary signals can be estimated using either the strip spectral correlation algorithm (SSCA) or the FFT accumulation method (FAM) [16].In [17], cyclostationary statistical test is used to detect OFDM signals. Reference [18] uses FRESH filters and cyclostationarity for spectrum sensing. A comparison of energy detector (ED), hybrid energy detector (HED), eigenvalue based Roy Largest Root Test (RLRT), Hybrid Roy Largest Root Test (HRLRT), cyclostationarity test, and hybrid cyclostationarity test is presented in [19]. According to [19], hybrid cyclostationary test performs the best. In [20], a joint energy and cyclostationary method is proposed for blind spectrum sensing. In [21], another cyclostationary approach is presented for blind signal detection. This approach uses a crest factor to obtain a variable threshold.To address the spectrum sensing task, recently, machine learning (ML) techniques have also been applied [22–25]. Spectrum sensing by employing support vector machine (SVM) is proposed in [22]. Spectrum sensing by using a combination of eigenvalue and SVM is proposed in [23]. Reference [24] presents spectrum sensing using artificial neural networks. An algorithm that uses a combination of covariance matrix and SVM for spectrum sensing is proposed in [25].The use of ensemble learning methods is another practical way of achieving higher detection accuracy. Recently, ensemble classifiers have been used in many detection problems and have shown promising results [26–33]. Ensemble classifiers make use of multiple learning algorithms in order to achieve a prediction efficiency higher than any of their base learners [34–36]. These classifiers use divide-and-conquer tactics for improving base learner performance to solve a complex problem [37]. Depression detection in speech using ensemble method is proposed in [26]. In [27], ensemble classifier is used for network intrusion detection. In [29], ensemble decision trees are used for electrocardiograph artifact detection. In [31], ensemble classifier is used for weather radar anomalous propagation echo detection. Ensemble classifier and AdaBoost [38] based islanding detection under smart grid environment is proposed in [33].In this paper, a spectrum sensing technique based on cyclostationary features and ensemble machine learning is proposed. The use of ensemble classifier for spectrum sensing makes the proposed method different from the existing spectrum sensing methods because ensemble machine learning combines the outputs of weak learners to get the final output. These weak learners are computationally inexpensive and thus offer an advantage over complex learning techniques. None of the existing spectrum sensing techniques use ensemble machine learning as [17] used cyclostationary features and statistical test, [18] used FRESH filters, [19] incorporated hybrid algorithm involving statistics, [20] used energy and cyclostationary feature based learning algorithm, and [21] used a random variable based detection threshold. References [22–25] have used machine learning techniques such as SVM and neural networks for spectrum sensing but no kind of ensemble machine learning has been applied till date.


## 1.2. Main Contributions

A detection method is proposed in this paper, which is more promising than the above-mentioned spectrum sensing techniques and has a better detection probability. The proposed detector uses ensemble classifier and a signal’s cyclostationary features for its detection. This research paper makes the following major contributions:(1) proposing dataset generation algorithm to train and evaluate the classifier, (2) adjusting FAM for estimating the intercepted signal’s cyclic spectrum, and (3) proposing ensemble classifier based detector that uses decision trees and AdaBoost algorithm for classification. Furthermore, for performance validation of the proposed ensemble classifier based detector, an SVM and cyclostationary feature based detector is used. For comparison of these two classifiers, performance measures are presented based on accuracy, confusion matrix, receiver operating characteristics (ROC), area under the curve of the receiver operating characteristics (ROC-AUC), and other performance figures obtained from the confusion matrix. Additionally, the results of the simulations showing ROC curves compare the proposed ensemble classifier based detector with a cyclostationary detector without machine learning as well as the classical energy detection method to confirm its robustness and efficiency.The remainder of the paper is arranged in the following sections. Section2 presents the system model. Section 3 presents the proposed dataset generation algorithm. Section 4 gives a brief overview of the concept of cyclostationarity. In Section 5, FAM algorithm is presented, which is used for cyclic spectrum estimation. Proposed ensemble classifier based detector is presented in Section 6. Section 7 gives the performance comparison of the proposed classifier and SVM. The simulation results comparing the proposed detector with other techniques is presented in Section 8. Finally, conclusion and possibilities of future work are presented in the last section.


## 2. Proposed System Model

To propose a system model, a cognitive radio system that operates in a dynamic spectrum access (DSA) environment and receives signal through a single antenna is considered. The objective is the identification of spectrum holes [3], which are areas of the spectrum where no other transmitting terminals are present in a particular frequency band. This information can be used for achieving higher spectrum utilization.First, a signal detection model is set up with x being the received vector having a length N and containing signal and noise as given by(1)x=s+nwhere the letterss and n stand for the signal and noise vectors, respectively. n is represented as complex Gaussian, zero-mean, independent, and identically distributed having variance σ2, that is, n~CN(0,σ2I). The objective is to identify the presence of a signal and therefore the following null and alternative hypotheses are considered:(2)H0:x=n(3)H1:x=s+nThe above hypotheses represent a classical detection problem and a threshold should be determined to distinguish between the two hypotheses. As the signal strength varies with time, the detector should also adapt accordingly. To tackle this problem, the proposed system uses machine learning algorithm.A basic machine learning work flow is shown in Figure1. As shown in the figure, the work flow starts with the training data along with the labels. Labels are required by the machine learning algorithm to distinguish between different types of data. First, features are extracted from the available data. These features and the corresponding labels are provided to the machine learning algorithm block for training. After training the machine learning algorithm block generates a predictive model. This concludes the training phase. Now this generated predictive model is used for predicting new unknown data. In the prediction phase, features are extracted from new data. These features are, then, provided to the predictive model block for the prediction of final output.Figure 1
Basic machine learning work flow showing training and prediction phases.System model is presented in Figure2. The proposed system has two parts: training and detection (prediction). In the training part, first the cyclostationary features are extracted from the training dataset that contains the stored samples of signal and noise. Cyclic spectrum of signal plus noise is expressed as(4)Ssi+noαv=∫-∞+∞Rsi+noατe-j2πvτdτand cyclic spectrum of noise is expressed using the following expression:(5)Snoαv=∫-∞+∞Rnoατe-j2πvτdτFigure 2
Proposed system model showing cyclostationary feature extraction and ensemble classifier based detector.Then, using the extracted features, an ensemble classifier is trained and a classification model is obtained. As shown in the figure, the ensemble classifier block consists of n weak classifiers and AdaBoost algorithm. This model is then used for the detection of the PU’s signal. In the detection part, cyclostationary features are extracted from the received signal and finally the trained classification model is used for signal detection in the presence of noise. Cyclic spectrum of received signal is expressed using the following expression:(6)Sxαv=∫-∞+∞Rxατe-j2πvτdτ


## 3. Dataset Generation

Dataset contains orthogonal frequency-division multiplexing (OFDM) signals-with-noise and noise-only samples. As the supervised machine learning techniques need labeled data to distinguish between different categories, this generated data is also assigned labels.The two categories of data mentioned above are labeled as Signal and Noise, respectively. Half of the elements in dataset are those where signal is present and the rest are only noise elements. Dataset generation algorithm is presented as Algorithm1. First OFDM signals are generated with BPSK, QPSK, 16-QAM, and 64-QAM. Then signal power is adjusted depending upon the SNR value. Then white Gaussian noise (WGN) is added and also theSignal label is assigned. SNR is varied from -5dB to -15dB. Next noise-only signals are generated andNoise label is assigned. Finally we store the generated signals in the dataset. Dataset generation algorithm is proposed so as to remove any bias from the training and validation of the classifier.Algorithm 1:Dataset generation algorithm.
1: Iterations = 250 2: SNR value from -5dB to -15dB 3: ModType = BPSK (It stores the modulation type. It can have one of the four values BPSK, QPSK, 16-QAM and 64-QAM). 4: Generate OFDM signal (i) T = OFDM(ModType) (ii) S = Power Adjustment(T, SNR value) + WGN (iii) Assign Signal label 5: Generate Noise (i) N = WGN (ii) Assign Noise label 6: Dataset = concatenate(Dataset, S, N) 7: Update ModType 8: Until all ModTypes go to step 4 9: Update SNR value 10: Until all SNR values go to step 3 11: Iterations = Iterations - 1 12: Go to step 2 if iterations> 0


## 4. Cyclostationary Spectrum Analysis

In general, the presence of a cyclostationary signal can be detected using cyclic autocorrelation function (CAF) as well as cyclic spectrum (CS) [39]. The CAF can be used to reveal the cyclic frequencies concealed within a cyclostationary signal, whereas the CS is the equivalent of CAF in frequency domain [40].


### 4.1. Mathematical Background

If an autocorrelation function that varies with time,Rx(t,τ), of a zero-mean x(t), is periodic with respect to time t for any parameter τ, then it is termed as a second-order cyclostationary signal, where(7)Rxt,τ=Ext+τ2x∗t-τ2Consequently, Fourier series can be used to decompose this function.(8)Rxt,τ=∑k=1MRxkα0τej2πkα0twhereα0=1/T0 represents the fundamental cyclic frequency with T0 being the hidden period. The rank of the last harmonic is denoted by M [41]. The CAF is represented by Fourier coefficients Rxkα0(τ) [42].(9)Rxkα0τ=1T0∫-T0/2T0/2Rxt,τe-j2πkα0tdtThe following equation can also be used to estimate the coefficients in (9) [41]:(10)Rxkα0τ=limT→∞1T∫-T/2T/2Rxt,τe-j2πkα0tdtwhere the duration of time taken for the evaluation of CAF is represented byT. Equation (9) is used, while the hidden periodicity is already known [41]. If the cyclic frequency is taken as α=k·α0, the CS that is the Fourier transform of CAF [42] takes the form(11)Sxαv=∫-∞+∞Rxατe-j2πvτdτR x α ( τ ) can be approximated as shown below and mentioned by [43, 44]:(12)Rxατ=limT→∞1T∫-T/2T/2xt+τ2x∗t-τ2e-j2παtdtEquation (12) is rewritten using e-jπατ/2-τ/2=1, as shown as follows:(13)Rxατ=limT→∞1T∫-T/2T/2xt+τ2e-j2πα/2t+τ/2×x∗t-τ2e-j2πα/2t-τ/2dtCS, also known as spectral correlation function [45], can be obtained if xt+τ/2e-j2πα/2t+τ/2 is denoted by y(τ) in (13) and Fourier transform is applied:(14)Sxαv=FRxατwhere F. represents the Fourier transform.(15)Sxαv=limT→∞⁡1TFyτ×y∗-τ(16)Sxαv=limT→∞⁡1TXTv+α2XT∗v-α2whereXT(v) represents the results obtained by applying Fourier transform to the product of a rectangular window having a width T with signal x(t) and can be defined by(17)XTv=∫-T0/2T0/2xte-j2πvtdt1 / T X T v + α / 2 X T ∗ v - α / 2 is defined as the cyclic periodogram [16, 46, 47].


### 4.2. Estimation of Cyclic Spectrum

Estimation of cyclic spectrum can be obtained using frequency smoothing or time smoothing algorithms [48, 49]. The efficiency and reliability of time smoothing algorithms, however, are better compared to frequency smoothing algorithms [16, 45, 48]. If the observation time is taken as t, the time-smoothed cyclic periodogram can be used to estimate the cyclic spectrum as follows:(18)Sxαv≈SxTwαt,vΔt=1Δt∫t-Δt/2t+Δt/2SxTwu,vduwhere(19)SxTwu,v=1TwXTwu,v+α2XTw∗u,v-α2with the width of short-time FFT window denoted byTw and the short-time Fourier transform (STFT) being(20)XTwt,v=∫t-Tw/2t+Tw/2xue-j2πvuduHere,Δf=1/Tw represents the resolution of the spectral components generated by short-time Fourier transform (STFT). Grenander’s uncertainty condition must be taken into consideration for reliably estimating CS [45].(21)Δt·Δf≫1Time smoothing algorithms that are most commonly used include the strip spectrum correlation algorithm (SSCA) and the FFT accumulation method (FAM) [16]. Since the computational efficiency of the FAM algorithm is higher than SSCA [45, 48], it is preferred over the other.


## 4.1. Mathematical Background

If an autocorrelation function that varies with time,Rx(t,τ), of a zero-mean x(t), is periodic with respect to time t for any parameter τ, then it is termed as a second-order cyclostationary signal, where(7)Rxt,τ=Ext+τ2x∗t-τ2Consequently, Fourier series can be used to decompose this function.(8)Rxt,τ=∑k=1MRxkα0τej2πkα0twhereα0=1/T0 represents the fundamental cyclic frequency with T0 being the hidden period. The rank of the last harmonic is denoted by M [41]. The CAF is represented by Fourier coefficients Rxkα0(τ) [42].(9)Rxkα0τ=1T0∫-T0/2T0/2Rxt,τe-j2πkα0tdtThe following equation can also be used to estimate the coefficients in (9) [41]:(10)Rxkα0τ=limT→∞1T∫-T/2T/2Rxt,τe-j2πkα0tdtwhere the duration of time taken for the evaluation of CAF is represented byT. Equation (9) is used, while the hidden periodicity is already known [41]. If the cyclic frequency is taken as α=k·α0, the CS that is the Fourier transform of CAF [42] takes the form(11)Sxαv=∫-∞+∞Rxατe-j2πvτdτR x α ( τ ) can be approximated as shown below and mentioned by [43, 44]:(12)Rxατ=limT→∞1T∫-T/2T/2xt+τ2x∗t-τ2e-j2παtdtEquation (12) is rewritten using e-jπατ/2-τ/2=1, as shown as follows:(13)Rxατ=limT→∞1T∫-T/2T/2xt+τ2e-j2πα/2t+τ/2×x∗t-τ2e-j2πα/2t-τ/2dtCS, also known as spectral correlation function [45], can be obtained if xt+τ/2e-j2πα/2t+τ/2 is denoted by y(τ) in (13) and Fourier transform is applied:(14)Sxαv=FRxατwhere F. represents the Fourier transform.(15)Sxαv=limT→∞⁡1TFyτ×y∗-τ(16)Sxαv=limT→∞⁡1TXTv+α2XT∗v-α2whereXT(v) represents the results obtained by applying Fourier transform to the product of a rectangular window having a width T with signal x(t) and can be defined by(17)XTv=∫-T0/2T0/2xte-j2πvtdt1 / T X T v + α / 2 X T ∗ v - α / 2 is defined as the cyclic periodogram [16, 46, 47].


## 4.2. Estimation of Cyclic Spectrum

Estimation of cyclic spectrum can be obtained using frequency smoothing or time smoothing algorithms [48, 49]. The efficiency and reliability of time smoothing algorithms, however, are better compared to frequency smoothing algorithms [16, 45, 48]. If the observation time is taken as t, the time-smoothed cyclic periodogram can be used to estimate the cyclic spectrum as follows:(18)Sxαv≈SxTwαt,vΔt=1Δt∫t-Δt/2t+Δt/2SxTwu,vduwhere(19)SxTwu,v=1TwXTwu,v+α2XTw∗u,v-α2with the width of short-time FFT window denoted byTw and the short-time Fourier transform (STFT) being(20)XTwt,v=∫t-Tw/2t+Tw/2xue-j2πvuduHere,Δf=1/Tw represents the resolution of the spectral components generated by short-time Fourier transform (STFT). Grenander’s uncertainty condition must be taken into consideration for reliably estimating CS [45].(21)Δt·Δf≫1Time smoothing algorithms that are most commonly used include the strip spectrum correlation algorithm (SSCA) and the FFT accumulation method (FAM) [16]. Since the computational efficiency of the FAM algorithm is higher than SSCA [45, 48], it is preferred over the other.


## 5. FFT Accumulation Method

If, for a signalx(t), the discrete time version is taken as x[n], the estimation of CS takes the form [21](22)Sxαn,v=1N∑n=0N-11NpXTwu,v+α2XTw∗u,v-α2where the number of discrete samples that are observed in timeΔt is represented by N and the total number of points that are contained within short-time discrete FFT is represented by NP. x[n]’s discrete Fourier transform is denoted by XTw and is given by(23)XTwn,v=∑k-Np/2Np/2-1wkxn-ke-j2πvn-kTswherex(t)’s sampling period is denoted by Ts, the data tapering window with a width Tw=NPTs seconds is represented by w(k), and x(n)’s complex demodulate is represented by the term XTwn,v+α/2. FAM, derived through (22), works by dividing the bifrequency plane (v,α) into small sections and then calculating the CS for each section.The working sequence of FAM as outlined by [6, 46] is presented as Algorithm 2. In FAM algorithm, first x[n], the sequence of input samples with N as its total length, is divided into P blocks with NP samples contained within each block. L data samples between two consecutive blocks, each having NP samples, are skipped. The value of L is fixed to NP/4. By doing so, an acceptable balance between cycle aliasing, computational efficiency, and cycle leakage is achieved. The values of NP and P are determined in accordance with the desired frequency resolution Δv and the desired cyclic frequency resolution Δα=1/Δt, respectively, as well as according to sampling frequency Fs by(24)Np=2log2⁡Fs/Δv-1+1(25)P=2log2⁡Fs/L.Δα-1+1Algorithm 2:FAM algorithm.
1: Dividex[n] into P blocks with NP samples per block. Skip L data samples between two consecutive blocks. Fix the value of L to NP/4. Determine the values of NP and P by: N p = 2 log 2 ⁡ F s / Δ v - 1 + 1 P = 2 log 2 ⁡ F s / L . Δ α - 1 + 1 2: Applyw(n), known as the hamming window across each block. 3: Obtain the complex envelopeXTw(n,v) by computing NP - points FFT of each block. Multiply the output by e-j2πα/2nTs, for downshifting XTw(n,v) in the frequency: XTw(n,v+α/2) 4: Compute the complex conjugates ofXTw(n,v+α/2). 5: Estimate CS by taking product ofXTw(n,v+α/2) with its conjugate. 6: ComputeP - points FFT of the product.where the integer part ofa is denoted by ⌊a⌋. Then w(n), known as the hamming window, is applied across each block. Choosing hamming window allows reduced cycle leakage because it has low sidelobes and skirts [16].Next, the complex envelopeXTw(n,v) is obtained by computing NP, points FFT of each block. Multiply the output by e-j2πα/2nTs, for downshifting XTw(n,v) in the frequency: XTw(n,v+α/2). Then the complex conjugates of XTw(n,v+α/2) are computed. The CS is estimated by taking product of XTw(n,v+α/2) with its conjugate. Finally P, points FFT of the product, is computed to achieve smoothing. The stages of FAM algorithm are illustrated in Figure 3. Figure 4 shows the cyclic spectrum estimation of OFDM signal with QPSK modulation. Figure 5 shows the cyclic spectrum estimation of OFDM-QPSK signal with signal-to-noise ratio equal to -10dB. This figure shows how the cyclic spectrum is affected with degradation in SNR.Figure 3
Implementation of FFT accumulation method.Figure 4
Cyclic spectral density of QPSK signal obtained using FAM algorithm.Figure 5
Cyclic spectral density of QPSK signal with SNR = -10dB, obtained using FAM algorithm.


## 6. Proposed Ensemble Classafier Based Detector

Ensemble classifier consists of multiple weak classifiers and an algorithm to combine them. These weak classifiers are trained using the training dataset and a combined ensemble prediction model is generated. Ensemble classifiers also allow for updating the data sources of the weak classifiers, thereby eliminating the need for retraining [27]. They offer the advantage of achieving improved prediction results due to the diversity of weak classifier outputs, since each type of data may represent varied characteristics of the instance to be classified [27]. These classifiers are highly efficient in improving accuracy and reducing false alarms [27]. Figure 6 presents a summarized concept of the ensemble classifier.Figure 6
Block diagram of ensemble classifier showing the learning and prediction phases.The training dataset is given to each of the weak learners with the goal of generating their corresponding models. Each weak classifier predicts the class of the input objects, whereas final classification is obtained using the chosen combination algorithm that combines the outputs of the individual weak classifiers. Decision trees are mostly used as weak classifiers [50]. In the proposed model, decision trees have been selected as the base learners and AdaBoost algorithm has been selected to combine these base learners to form an ensemble classifier.


### 6.1. Decision Trees

Decision trees [51, 52] are algorithms that can be used for feature vector classification. Decision trees work by breaking down complex decisions into a series of simples ones, thereby making the interpretation of results easier [52]. The entire space is initially supposed to be a root node. A predictor variable then creates two child nodes by splitting the root node. The child nodes that are created from the root node hold the purest data and further splits can be made. A node that does not split is called a leaf node, also known as the terminal node [53]. The configuration of the leaf nodes is used to make predictions by following the split decisions until arriving at a leaf node.


### 6.2. AdaBoost

Boosting is a method to combine weak classifiers for performance improvement by sequentially applying the algorithm to reweighted versions of the training dataset and voting for the sequence of classifiers based on weights. Although quite simple, boosting dramatically improves the performance of many algorithms [54]. One machine learning boosting meta-algorithm known as AdaBoost, which is the short form for Adaptive Boosting, is adaptive in nature because successive weak learners are directed to focus more on the misclassified instances of preceding classifiers. Even though the individual learners are weak, the final model converges to a strong learner as long as individual learners show better performance than can be obtained by random guessing. The use of AdaBoost in combination with weak learners such as decision trees makes it one of the best contemporary classifiers [50]. In combination with decision trees as weak learners, information about each sample’s relative hardness is collected at each stage of AdaBoost and fed into the tree growing algorithm in order to make the later trees focus more on harder-to-classify instances. In machine learning problems, samples may contain numerous potential features and evaluating each one of them can lead not only to reduction in training and execution speed of the classifier but also to reduced predictive power [55]. In contrast to SVMs and neural networks, the training process of AdaBoost considers only those features that lead to an improvement to the model’s predictive power, thereby improving execution time by reducing dimensionality and omitting irrelevant features. This effect has also been observed for the proposed detector as can be seen in Section 7. Furthermore, AdaBoost is a specific method in which a boosted classifier is trained having a form as given by the following equation:(26)FTx=∑t=1Tftxwithft(x) representing a set of weak learners, taking an input object x and returning the class of the object as the output. In a machine learning problem with two classes, the absolute value of the weak learner’s output represents the classification confidence, whereas the output sign predicts the class of the object. For all samples within the training set, an output hypothesis is produced, represented by h(xi). A weak learner is chosen for every iteration t, and a coefficient αt is assigned to it in order for the resulting classifier, having t boost stages, to have a minimum cumulative training error Et.(27)Et=∑iEFt-1xi+αthxiwithFt-1(x) representing the resulting classifier that is boosted and is already built up to the preceding training stage, ft(x)=αth(x), representing the choice of weak learner under consideration to be added to the end classifier and E(F) representing an error function. Within the training set, each sample is assigned a weight equal to the sample’s current error, EFt-1(xi), at every iteration. These weights are then used to influence weak learner’s training. For decision trees, weights are used to grow trees that favor splitting up the sets of high-weight samples.For a dataset(x1,y1),(x2,y2),…,(xN,yN) having a class yi∈{-1,1} being associated with each object xi and a classifier set {k1,k2,…,kL} each having a classification kj(xi)∈{-1,1} as the output, the boosted classifier can be represented through a linear combination of weak classifiers after m-1 iterations in the following form:(28)Cm-1xi=α1k1xi+α2k2xi+⋯+αm-1km-1xiThis is extended to a better boosted classifier on themth iteration by adding a weak classifier multiple:(29)Cmxi=Cm-1xi+αmkmxiThe best choice for the weak classifierkm and the associated weight αm need to be determined for the above expression. In order to choose the best weak classifier, the total error of Cm, represented by E, defined as the cumulative exponential loss for each xi, is found as follows:(30)E=∑i=1Ne-yiCmxiIf, form>1, the weights are assumed to be wi(1)=1 and wi(m)=e-yiCm-1(xi); then the expression for total error takes the form(31)E=∑i=1Nwime-yiαmkmxiFor points that are classified correctly bykm, that is, yikm(xi)=1, and for those classified incorrectly, that is, yikm(xi)=-1, the total error can be split as follows:(32)E=∑yi=kmxiwime-αm+∑yi≠kmxiwimeαm(33)E=∑i=1Nwime-αm+∑yi≠kmxiwimeαm-e-αmSince only∑yi≠km(xi)wi(m) is dependent on km, the weak classifier km, which minimizes the total error E, is the one that minimizes ∑yi≠km(xi)wi(m) and has the lowest weighted error with the weights being wi(m)=e-yiCm-1(xi). For the weak classifier km chosen previously, the weight αm that minimizes the total error E is given by the following differentiation:(34)dEdαm=d∑yi=kmxiwime-αm+∑yi≠kmxiwimeαmdαmThis expression is set to zero and is solved forαm to give(35)αm=12ln⁡∑yi=kmxiwim∑yi≠kmxiwimIf, for the weak classifierkm, the rate of weighted error ϵm is expressed as(36)ϵm=∑yi≠kmxiwim∑yi=kmxiwimthe expression for the weightαm finally becomes(37)αm=12ln⁡1-ϵmϵm


### 6.3. Algorithm of Proposed Ensemble Classifier Based Detector

Algorithm of the proposed ensemble classifier based detector using AdaBoost is presented in Algorithm3. First the cyclostationary features are extracted using cyclic spectral estimation. Then the detector is trained using these extracted features. For cyclic spectral estimation FFT accumulation method is used.(38)Sxαn,v=1N∑n=0N-11NpXTwu,v+α2XTw∗u,v-α2Algorithm 3:Proposed ensemble classifier based detector.
1: Extract cyclostationary features of the signal using FAM Algorithm: S x α ( n , v ) =  1 N ∑ n = 0 N - 1 1 N p X T w u , v + α 2 X T w ∗ u , v - α 2 2: For feature vectors obtained in step 1 choose the weak classifierht(x) for each t in 1...T that minimizes the weighted error ϵ t =  ∑ i = 1 h t ( x i ) ≠ y i n w i , t 3: Useϵt to find out the weight α t = 1 2 ln ⁡ 1 - ϵ t ϵ t 4: Add the chosen weak learner and the weight to ensemble F t ( x ) = F t - 1 ( x ) + h t ( x ) α t 5: Update the weights in the expression forϵt for all i w i , t + 1 = w i , t e - y i α t h t ( x i ) 6: Re-normalize the weightswi,t+1 so that ∑ i w i , t + 1 = 1After obtainingSxα, the feature vector is populated. In the training phase, the feature vectors are also accompanied by their corresponding labels. In the detection phase, the feature vector is used to identify the presence of primary user. Feature vectors obtained are stored in the form {(x1,y1),…,(xN,yN)} having a class yi∈{-1,1} for each xi. Let h(x) represent weak learners, E(f(x),y,i)=e-yif(xi) represent an error function, and w1,1,w2,1,…,wn,1 set to 1/n representing initial weights. A weak classifier ht(x) is chosen for each t in 1…T which minimizes the weighted error ϵt. To find out the weight αt for the weak classifier ϵt is used. Next the chosen weak learner and the weight are added to the ensemble as(39)Ftx=Ft-1x+htxαtIn the equation ofϵt, weights are updated. Finally the weights wi,t+1 are renormalized so that their sum is equal to 1.


## 6.1. Decision Trees

Decision trees [51, 52] are algorithms that can be used for feature vector classification. Decision trees work by breaking down complex decisions into a series of simples ones, thereby making the interpretation of results easier [52]. The entire space is initially supposed to be a root node. A predictor variable then creates two child nodes by splitting the root node. The child nodes that are created from the root node hold the purest data and further splits can be made. A node that does not split is called a leaf node, also known as the terminal node [53]. The configuration of the leaf nodes is used to make predictions by following the split decisions until arriving at a leaf node.


## 6.2. AdaBoost

Boosting is a method to combine weak classifiers for performance improvement by sequentially applying the algorithm to reweighted versions of the training dataset and voting for the sequence of classifiers based on weights. Although quite simple, boosting dramatically improves the performance of many algorithms [54]. One machine learning boosting meta-algorithm known as AdaBoost, which is the short form for Adaptive Boosting, is adaptive in nature because successive weak learners are directed to focus more on the misclassified instances of preceding classifiers. Even though the individual learners are weak, the final model converges to a strong learner as long as individual learners show better performance than can be obtained by random guessing. The use of AdaBoost in combination with weak learners such as decision trees makes it one of the best contemporary classifiers [50]. In combination with decision trees as weak learners, information about each sample’s relative hardness is collected at each stage of AdaBoost and fed into the tree growing algorithm in order to make the later trees focus more on harder-to-classify instances. In machine learning problems, samples may contain numerous potential features and evaluating each one of them can lead not only to reduction in training and execution speed of the classifier but also to reduced predictive power [55]. In contrast to SVMs and neural networks, the training process of AdaBoost considers only those features that lead to an improvement to the model’s predictive power, thereby improving execution time by reducing dimensionality and omitting irrelevant features. This effect has also been observed for the proposed detector as can be seen in Section 7. Furthermore, AdaBoost is a specific method in which a boosted classifier is trained having a form as given by the following equation:(26)FTx=∑t=1Tftxwithft(x) representing a set of weak learners, taking an input object x and returning the class of the object as the output. In a machine learning problem with two classes, the absolute value of the weak learner’s output represents the classification confidence, whereas the output sign predicts the class of the object. For all samples within the training set, an output hypothesis is produced, represented by h(xi). A weak learner is chosen for every iteration t, and a coefficient αt is assigned to it in order for the resulting classifier, having t boost stages, to have a minimum cumulative training error Et.(27)Et=∑iEFt-1xi+αthxiwithFt-1(x) representing the resulting classifier that is boosted and is already built up to the preceding training stage, ft(x)=αth(x), representing the choice of weak learner under consideration to be added to the end classifier and E(F) representing an error function. Within the training set, each sample is assigned a weight equal to the sample’s current error, EFt-1(xi), at every iteration. These weights are then used to influence weak learner’s training. For decision trees, weights are used to grow trees that favor splitting up the sets of high-weight samples.For a dataset(x1,y1),(x2,y2),…,(xN,yN) having a class yi∈{-1,1} being associated with each object xi and a classifier set {k1,k2,…,kL} each having a classification kj(xi)∈{-1,1} as the output, the boosted classifier can be represented through a linear combination of weak classifiers after m-1 iterations in the following form:(28)Cm-1xi=α1k1xi+α2k2xi+⋯+αm-1km-1xiThis is extended to a better boosted classifier on themth iteration by adding a weak classifier multiple:(29)Cmxi=Cm-1xi+αmkmxiThe best choice for the weak classifierkm and the associated weight αm need to be determined for the above expression. In order to choose the best weak classifier, the total error of Cm, represented by E, defined as the cumulative exponential loss for each xi, is found as follows:(30)E=∑i=1Ne-yiCmxiIf, form>1, the weights are assumed to be wi(1)=1 and wi(m)=e-yiCm-1(xi); then the expression for total error takes the form(31)E=∑i=1Nwime-yiαmkmxiFor points that are classified correctly bykm, that is, yikm(xi)=1, and for those classified incorrectly, that is, yikm(xi)=-1, the total error can be split as follows:(32)E=∑yi=kmxiwime-αm+∑yi≠kmxiwimeαm(33)E=∑i=1Nwime-αm+∑yi≠kmxiwimeαm-e-αmSince only∑yi≠km(xi)wi(m) is dependent on km, the weak classifier km, which minimizes the total error E, is the one that minimizes ∑yi≠km(xi)wi(m) and has the lowest weighted error with the weights being wi(m)=e-yiCm-1(xi). For the weak classifier km chosen previously, the weight αm that minimizes the total error E is given by the following differentiation:(34)dEdαm=d∑yi=kmxiwime-αm+∑yi≠kmxiwimeαmdαmThis expression is set to zero and is solved forαm to give(35)αm=12ln⁡∑yi=kmxiwim∑yi≠kmxiwimIf, for the weak classifierkm, the rate of weighted error ϵm is expressed as(36)ϵm=∑yi≠kmxiwim∑yi=kmxiwimthe expression for the weightαm finally becomes(37)αm=12ln⁡1-ϵmϵm


## 6.3. Algorithm of Proposed Ensemble Classifier Based Detector

Algorithm of the proposed ensemble classifier based detector using AdaBoost is presented in Algorithm3. First the cyclostationary features are extracted using cyclic spectral estimation. Then the detector is trained using these extracted features. For cyclic spectral estimation FFT accumulation method is used.(38)Sxαn,v=1N∑n=0N-11NpXTwu,v+α2XTw∗u,v-α2Algorithm 3:Proposed ensemble classifier based detector.
1: Extract cyclostationary features of the signal using FAM Algorithm: S x α ( n , v ) =  1 N ∑ n = 0 N - 1 1 N p X T w u , v + α 2 X T w ∗ u , v - α 2 2: For feature vectors obtained in step 1 choose the weak classifierht(x) for each t in 1...T that minimizes the weighted error ϵ t =  ∑ i = 1 h t ( x i ) ≠ y i n w i , t 3: Useϵt to find out the weight α t = 1 2 ln ⁡ 1 - ϵ t ϵ t 4: Add the chosen weak learner and the weight to ensemble F t ( x ) = F t - 1 ( x ) + h t ( x ) α t 5: Update the weights in the expression forϵt for all i w i , t + 1 = w i , t e - y i α t h t ( x i ) 6: Re-normalize the weightswi,t+1 so that ∑ i w i , t + 1 = 1After obtainingSxα, the feature vector is populated. In the training phase, the feature vectors are also accompanied by their corresponding labels. In the detection phase, the feature vector is used to identify the presence of primary user. Feature vectors obtained are stored in the form {(x1,y1),…,(xN,yN)} having a class yi∈{-1,1} for each xi. Let h(x) represent weak learners, E(f(x),y,i)=e-yif(xi) represent an error function, and w1,1,w2,1,…,wn,1 set to 1/n representing initial weights. A weak classifier ht(x) is chosen for each t in 1…T which minimizes the weighted error ϵt. To find out the weight αt for the weak classifier ϵt is used. Next the chosen weak learner and the weight are added to the ensemble as(39)Ftx=Ft-1x+htxαtIn the equation ofϵt, weights are updated. Finally the weights wi,t+1 are renormalized so that their sum is equal to 1.


## 7. Classifier Performance Measures

To compare the performance of proposed ensemble classifier support vector machine (SVM) classifier is trained on the same extracted features. As mentioned in Introduction, SVM for spectrum sensing is proposed in [22, 23, 25]. The confusion matrix, which summarizes the number of correct and incorrect detections of instances for each event class as shown in Figure 7, is used as the basis for calculating various measures of classification efficiency. It consists of four metrics used for calculating the performance measures for a test set.Figure 7
Confusion matrix.The following performance measures are calculated and used for a comparative evaluation of the selected classifiers:(1)
True positive rate(TPR), also referred to as sensitivity, represents the fraction of correctly identified positives.(40)TPR=TPTP+FN(2)
True negative rate(TNR), also referred to as specificity, represents the fraction of correctly identified negatives.(41)TNR=TNFN+TN(3)
Positive predictive value(PPV), also referred to as precision, represents the fraction of positive results that are true positives.(42)PPV=TPTP+FP(4)
Negative predictive value(NPV) represents the fraction of negative results that are true negatives.(43)NPV=TNTN+FN(5)
False positive rate(FPR), also called fall-out, is the proportion of negatives that are incorrectly identified.(44)FPR=1-TNR=FPFP+TN(6)
False negative rate(FNR), also known as miss rate, represents the proportion of positives that are incorrectly identified.(45)FNR=1-TPR=FNFN+TP(7)
False discovery rate(FDR) represents the proportion of positive results that are incorrectly identified.(46)FDR=1-PPV=FPFP+TP(8)
Accuracy(ACC) represents the proportion of correctly identified results, both positives and negatives.(47)ACC=TP+TNTP+FN+FP+TN(9)
F1 score represents the accuracy of classification and is the harmonic mean of positive predicted value (PPV) and true positive rate (TPR) having a value between 0 and 1.(48)F1=2TP2TP+FN+FP(10)
AUC represents the area under the curve of the receiver operating characteristic curves.Figure8 shows confusion matrix of ensemble classifier. The testing dataset contains 2000 samples, out of which 1000 samples contain signal as well as noise, whereas the other 1000 were noise-only samples. Out of 1000 signal samples, ensemble classifier classifies 932 correctly and from 1000 noise samples it classifies 973 correctly.Figure 8
Confusion matrix of ensemble classifier.Figure9 shows confusion matrix of SVM. For the same dataset, SVM classifies 876 out of 1000 signal samples and 967 out of 1000 noise samples correctly. Table 1 contains a comparison between ensemble classifier and SVM, based on the performance measures mentioned above. According to these performance measures, ensemble classifier performs significantly better than SVM.Table 1
Performance comparison: ensemble classifier versus SVM.
Performance metric ECD SVM Sensitivity/true positive rate(TPR) 0.932 0.876 Specificity/true negative rate(TNR) 0.973 0.967 Precision/positive predictive value(PPV) 0.9718 0.9633 Negative predictive value(NPV) 0.9347 0.8791 Fall-out/false positive rate(FPR) 0.027 0.033 False discovery rate(FDR) 0.0282 0.0367 Miss rate/false negative rate(FNR) 0.068 0.133 Accuracy(ACC) 0.9525 0.9126 F 1 score 0.9515 0.9170 Area under the curve (AUC) 0.98 0.97Figure 9
Confusion matrix of SVM.All the performance metrics are achieved with the exact same environment for both classifiers.The computational cost of the proposed ensemble classifier is less than SVM in terms of training time, whereas the prediction speed of SVM is higher. Table2 shows the comparison of ensemble classifier and SVM in terms of accuracy, training time, and prediction speed. The ensemble classifier has a better accuracy and trains significantly quicker than SVM but has slightly lower prediction speed.Table 2
Computational cost: ensemble classifier versus SVM.
Performance metric ECD SVM Accuracy(ACC) 0.9525 0.9126 Training time 2.5519 sec 63.565 sec Prediction speed ≈ 28.57 μ s ≈ 13.15 μ sHowever, the inherent parallel implementation ability of ensemble classifiers enables them to address the issue of computational cost. As ensembles use multiple base classifiers, a parallel implementation can reduce the training as well as prediction times significantly. In [56], hardware acceleration of ensemble classifier based on decision tree is presented and targeted towards embedded applications. In [57], an FPGA based implementation is proposed for ensemble classifier using decision tree, which delivers a multifold improvement in speed. In [58], a graphic processing unit based implementation of decision tree ensembles is presented. This method also shows a significant reduction in processing time. Hence the implementation of decision tree ensembles on cognitive radio platform is becoming more realistic and this proposed solution can be a good candidate for spectrum sensing and other cognitive tasks in cognitive radio.


## 8. Simulation Results

Various OFDM signals, that is, 64-QAM, 16-QAM, BPSK, and QPSK, are selected for analyzing the proposed algorithm’s performance. The results achieved for the 64-QAM and QPSK signals are presented in this paper. To compare the proposed ensemble classifier based detector (ECD) with non-machine-learning detectors, a cyclostationary detector and energy detector are considered. The crest factor based cyclostationary detector (CFCD) compared here is presented by [21]. This detector uses crest factor for threshold calculation. The following characteristics of the intercepted signal are considered: data frequency =1000Hz, carrier frequency =2000Hz, and sampling frequency =8000Hz. Tw=20ms, which represents the sliding window time duration, and Δt=100ms, which is the time duration for the observation of the intercepted signal, are taken as detector parameters. As a result, the frequency resolution of the detector Δv=1/Tw=500Hz and the cyclic frequency resolution of the detector Δα=1/Δt=10Hz. Both the proposed detector and CFCD are simulated with the same parameters. To compare the proposed detector with energy detector, a window size of 100ms is used. The selection of simulation parameters is based on the existing research. Similar parameters are used in [17–19, 21, 24, 25]. These parameters are chosen in order to compare the results of the proposed technique with those of the existing techniques. Figure 10 depicts SNR versus probability of detection (Pd) curves for the OFDM 64-QAM signal, which clearly indicates that the proposed technique performs very well in detecting the signal in low SNR situations.Figure 10
Probability of detection versus SNR keepingPfa constant for a 64-QAM signal.It is apparent from Figure10 that the algorithm detects the signal within a Gaussian channel having an SNR value of -13dB with Pd≥0.9. In this case, the value of Pfa is fixed at 0.1. Furthermore, the proposed algorithm can successfully detect the signal of the primary user within a Gaussian channel having an SNR value of -12dB with Pd≥0.93 in the case where the value of Pfa is fixed at 0.01. It can also be inferred from Figure 10 that the signal of the primary user can be detected with ease having Pfa≤0.1 for SNR ≥ -11dB.Figure11 shows ROC curves of proposed ensemble classifier detector for -10dB, -12dB, and -15dB. Input consists of the following signals: OFDM BPSK, OFDM QPSK, OFDM 16-QAM, and OFDM 64-QAM. This ROC plot shows an overall performance of the detector.Figure 11
ROC curves of proposed ECD. Input consists of all types of signals.For an evaluation of the detector’s robustness, the ROC curves are generated for various SNR values for OFDM 64-QAM as depicted in Figure12. The results achieved previously are confirmed through these ROC curves. The relationship between Pd and Pfa for various SNR values can be understood in a better way using these curves. OFDM QPSK is the second type of signal chosen for simulations. In this case, for an SNR value of -10dB, the detector easily detects the signal with Pfa=0.001 and Pd=0.99. For an SNR value of -12dB, the signal is easily detected with Pfa=0.002 and Pd=0.9. For SNR values of less than -15dB, however, it becomes difficult for the proposed ensemble classifier based detector to optimally detect PU’s signal as depicted in Figure 13.Figure 12
ROC curves showing ECD performance for OFDM 64-QAM signal for various SNR values.Figure 13
ROC curves showing ECD performance for OFDM QPSK signal for various SNR values.Figure14 shows the ROC curve comparison of cyclostationary ensemble classifier detector, cyclostationary SVM detector, and energy detector, when SNR is -15dB. It can be seen that ECD has the best performance. At Pfa=0.1, Pd of ECD is 0.73, Pd of SVM is 0.6, and Pd of ED is 0.15. Figure 15 shows the comparison of ROC curve for ensemble classifier detector, crest factor cyclostationary detector, and energy detector, when SNR is -12dB. It can be seen clearly that ECD performs much better than the competition. At Pfa=0.1, Pd of ECD is 0.99, Pd of CFCD is 0.52, and Pd of ED is 0.19.Figure 14
ROC curves of proposed ECD versus SVM versus ED.Figure 15
ROC curves of proposed ECD versus CFCD versus ED.The robustness of ensemble classifier based detector (ECD) is compared to that of crest factor based cyclostationary detector (CFCD) and the classical energy detector (ED).The same simulation parameters have been used for all techniques so that the comparison can be justified. OFDM 64-QAM is chosen as the type of signal. Probabilities of detection of ECD, CFCD, and ED are evaluated for SNR values from -18dB to 0dB forPfa=0.1 and the results of the simulation are presented in the Figure 16.Figure 16
Probability of detection versus SNR keepingPfa constant at 0.1 for a comparison of the three detectors.It can be observed that ECD detects the signal of the primary user within a channel having SNR = -13dB withPd=0.9 for a value of Pfa=0.1, whereas the CFDC and ED detect the same signal with Pd=0.9 and with SNR values of only -10dB and -3dB, respectively. Pd versus SNR curves presented in Figure 16 confirm that ECD has the capability of detecting PU’s signal even in very low SNR environments. It outperforms both CFCD and ED.


## 9. Conclusion and Future Work

The detection ability of the signal of the primary user in a low SNR environment is essential for cognitive radio. Several spectrum sensing techniques are already proposed but each of these techniques has its limitations. These limitations include(1) computational cost, (2) detection of primary user without prior knowledge of signal parameters, (3) detection of primary user in low SNR conditions, and (4) selection of detection threshold. In this research, a novel ensemble classifier and cyclostationary feature based signal detector (ECD) are proposed. Cyclostationary features of communication signals are extracted and used by the ensemble classifier for the detection of PU’s signal. The proposed spectrum sensing technique addresses all the above-mentioned challenges.In this research, first a dataset generation algorithm is proposed. In order to train the machine learning classifier a training dataset is required. This dataset is generated using the proposed dataset generation algorithm and contains all the combinations of signal and noise configuration in Gaussian channel with low SNR conditions. Signal-to-noise ratio is varied from -5dB to -15dB and signal modulations include BPSK, QPSK, 16-QAM, and 64-QAM.Cyclostationary features are extracted using FFT accumulation method. Ensemble classifier is trained, which uses decision trees and AdaBoost algorithm. Moreover, for comparison of performance, SVM is also trained using the same extracted features. Classifiers are compared with the help of ROC curves and confusion matrix. Based on these performance metrics, it is evident that the ensemble classifier outperforms SVM. Furthermore, based on the simulation results and ROC curves, the proposed ECD is also more efficient then crest factor cyclostationary detector (CFCD) and classical energy detector (ED).The future work may include the following. The combination of cyclostationary features and ensemble classifiers for spectrum sensing is a new area, and, therefore, there is a need for further exploration of relevant theories. To name a few examples, the algorithm’s computational complexity can be reduced further. In addition, analysis of the impact that multiple antennas would have on the detection probability can be analyzed. Future research can also address extraction of some new features and various combinations of different features to achieve even better performance. Other ensemble classifiers with different combining strategies and heterogeneous weak learners could also be potentially explored.



---

*Source: 9250562-2019-01-01.xml*