IEEE WCNC'14 Track 1 (PHY and Fundamentals)
A Novel Peak Search & Save Cyclostationary Feature Detection Algorithm Ahmed Badawy
Tamer Khattab
Electrical Engineering Dept. Qatar University Doha, Qatar 2713 Email:
[email protected]
Electrical Engineering Dept. Qatar University Doha, Qatar 2713 Email:
[email protected]
Abstract—Spectrum sensing is a key task in any cognitive radio network. On the other hand, a literature survey in this topic shows a lack of implementation and testbeds for spectrum sensing techniques. In this paper, we plot the ROC curves for the cyclostationary detection through an extensive Monte Carlo simulation for different detection times. Then we implement the cyclostationary feature detection algorithm on an FPGA based WARP kit. We compare its implementation complexity to the conventional energy detection technique as well as our newly developed and implemented quickest detection algorithm. We then propose a peak search based FAM algorithm that speeds up the detection time. Index Terms—spectrum sensing, cyclostationary detection, energy detection, Hardware implementation.
I. I NTRODUCTION The key idea for cognitive radio networks is that they allow for higher spectrum efficiency through dynamically assigning the spectrum access [1]. In cognitive radio networks, secondary users (SU’s) utilize the unused spectrum slots in the assigned band for the primary users (PU). To do so, a robust spectrum sensing technique must be deployed at the SU’s radio. Different spectrum sensing methods were proposed over the years to detect the state of the spectrum; whether it’s occupied by the PU signal or not. The quality of the detector mainly depends on how much information the SU knows about the PU’s signal. The performance of the detector is evaluated using the receiver operating characteristic (ROC) curves. Higher probability of false alarm implies more interference with the PU signal while lower probability of detection implies less utilization efficiency of empty spectrum slots. The SU’s goal is then to achieve the highest possible probability of detection while maintaining the lowest probability of false alarm. In other words, achieving the ROC constraints even at low signal to noise ratio (SNR) levels. Detectors based on matched filtering are known to be the optimum method for spectrum sensing since they provide the highest SNR [2]. Matched filter based detector require a full prior knowledge of the PU signal This eventually leads to the need for a designated receiver for each PU’s signal, which has a high implementation complexity. A simpler approach to spectrum sensing is to perform non coherent detection through energy detection (ED). Energy detectors are easy to
978-1-4799-3083-8/14/$31.00 ©2014IEEE
implement and best suited for a quick decision. The measured energy is compared to a certain threshold to decide whether or not the PU signal is present. The main drawback is that the performance of detectors based on ED is highly susceptible to varying background noise and interference levels. The fundamentals of ED were first presented in [3]. There are different approaches for signal detection which are based on probabilistic models, one of which is maximum likelihood ratio test (MLRT). MLRT is a measure of how likely the data follow one probability model than the other. If all the distribution parameters are known, the test is MLRT. Otherwise the test is considered a general likelihood ratio test (GLRT) [4], [5]. GRLT compares the best model under the first hypothesis to the best model under the second. A more sophisticated technique that requires some information about the PU’s signal and can be used to detect random signals is cyclostationary detection (CSD). Cyclostationary detectors take advantage of the spectral redundancy or distinguished pattern of signals to determine whether or not they are present. The fundamentals of cyclo-stationary detection were presented in [6]–[8]. One main advantage of the cyclostationary detectors is that they can detect weak PU signals [9], [10]. Our literature survey on implementation of cyclostationary detection revealed a lack of experimental testbeds for this spectrum sensing technique when compared with other techniques such as the energy detection one. Examples of hardware implementation of cyclostationary detection are presented in [11]–[18]. Most of these examples implement the cyclostationary detection and compare its complexity to the conventional energy detection technique. Others, study the robustness of the cyclostationary detection technique under different implementation issues such as clock frequency offset. But, none of them neither study the ability of the cyclostationary detection technique to achieve the ROC constraints within a required detection time nor compare it to other newly developed technique such as the GLRT based ones. In this paper we first plot the ROC curves for the cyclostationary detection for different number of samples (detection time) through an extensive Monte Carlo Simulation. Then we implement the cyclostationary detection using the FFT accumulation method (FAM). We compare its implementation
253
IEEE WCNC'14 Track 1 (PHY and Fundamentals)
complexity to two other spectrum sensing technique. We then propose a peak search FAM algorithm to speed up the detection time. The rest of this paper is organized as follows: in Section II we present the cyclostationry detection technique. The Monte Carlo simulation is then addressed in section III. Section IV presents our hardware implementation for the FAM method. The results are the presented in section V. Our peak search and save algorithm is then presented in section VI. The paper is then concluded in section VII. II. C YCLOSTATIONARY D ETECTION The message sent over the sinusoidal carrier is unknown which makes it a stationary random which is when merged with the periodicity of the sinusoidal signal, cyclic prefix, spreading codes, symbol periods, pulse trains, etc. results in a cyclo-stationary random process whose statistical parameters vary periodically with time [6]–[8]: Rx (t, τ ) = Rx (t + T0 , τ )
(1)
where T0 is the period and Rx (t, τ ) is the autocorrelation function of the received signal x(t). Periodic signals can be represented using Fourier series coefficients. Fourier series expansion extracts features of the periodic signals. Fourier series representation of the autocorrelation function can be given by: τ τ Rxα ei2παt (2) Rx (t + , t − ) = 2 2 α where α is the cyclic frequency and Rxα is the cyclic autocorrelation function. The fourier coefficients of Rxα is: 1 τ τ x(t + )x(t − )∗ e−i2παt dt (3) Rxα (τ ) = lim T →∞ T T 2 2 If the cyclostationarity occurs with period T , then Rxα (τ ) has a component at α = T1 . The spectral correlation density (SCD) function Sxα (f ) is the fourier transform of the cyclic autocorrelation function Rxα : ∞ Sxα (f ) = Rxα (τ )e−i2πf τ dτ (4) −∞
1 1 Δt→∞ T →∞ Δt T
Sxα (f ) = lim
lim
Δt 2 Δt 2
XT (t, f +
α ∗ α )X (t, f − )dt 2 T 2 (5)
where Δt is the total observation time and XT (t, f + α2 ) and XT (t, f − α2 ) are the complex demodulates. The SCD function can be highly distinguishable for different modulation types even if the signals have the same power spectral densities. When α = 0, the SCD function reduces to the power spectral density. The detection procedure for the cyclostationary detector is to estimate the SCD function at the particular values of α if they are known a prioiri, i.e if, for example, the modulation type of the PU signal is priori known. Otherwise, the SCD function is calculated for a range of α. Since the additive white Gaussian noise (AWGN) is stationary, so if α = 0, the SCD of the received signal will be zero if there exists an empty slot
e i 2Skl / N '
input
Hamming Window
kpoint FFT
*
p- point FFT
S xD (kl , f )
e i 2Skl / N '
Fig. 1: Block diagram of the FAM method.
in the spectrum. Otherwise, the SCD will have an amplitude. This is summarized in (6) where s(t) is the transmitted PU signal and w(t) is the AWGN. ⎧ α Ss (f ), α = 0, signal present, ⎪ ⎪ ⎪ ⎨ 0, α = 0, signal absent, Sxα (f ) = (6) 0 0 ⎪ (f ) + S (f ), α=0, signal present, S ⎪ s w ⎪ ⎩ 0 α=0, signal absent. Sw (f ), The detection hypotheses for α = 0 are now: H1 :
H0 : Sxα (f ) = 0
(7)
Sxα (f )
(8)
=
Ssα (f )
An efficient method to estimate the SCD function is the FFT accumulation method (FAM) presented in [19] and [20]. Fig. 1 shows the block diagram of the FAM method. The complex demodulates are first estimated by sliding N -point FFT that is hopped over the data in blocks of L samples. This means that blocks of L samples are skipped between each computation of N -point FFT. The value of L is chosen to be N /4, which allows for reducing the computational complexity yet minimizing cycle leakage. N is selected according to the desired resolution in frequency (Δf ); N = fs /Δf , where fs is the sampling frequency. Each complex demodulate is then multiplied by the complex conjugate of the other. This is followed by a P -Point FFT for time smoothing. P is selected according to the desired resolution in the cyclic frequency (Δα); P = fs /LΔα. III. M ONTE C ARLO S IMULATION
Throughout our literature survey on cyclostationary detection, the ROC performance metric was rarely used to evaluate the performance of this technique. To plot the ROC curves, one has to derive a closed form expression for the probability of false alarm as well as the probability of detection. It was reported in [21] and [22] that it is mathematically intractable to derive the probability of flase alarm as well as the probability of detection for the cyclostationary detection. The difficulty in deriving those two expressions lies in the implication of (8) and (8). Under the ideal case: since the AWGN is stationary, its Sxα (f ) = 0 for ∀α = 0. So, for any threshold (λ) > 0, the probability of false alarm will always be 0 and the probability of detection will always be 1. In [23], the authors redefine (8)
254
IEEE WCNC'14 Track 1 (PHY and Fundamentals)
System Generator
Resource Estimator
EDK Processor
++ Counter1
++
ram_addr
Counter 1 ADC_I 2 ADC_Q
addr xn_re data z-1 we Windowing
1
Convert
xn_re xn_im
cast
addr data z-1 we Windowing1
enable_signal1
xk_im xn_index
xk_re xk_im
start
rfd
1 start enable_signal7
fwd_inv
1 fwd_inv enable_signal2
edone fwd_inv_we done done FFT1
busy
a ba + b
a aub b Mult1 a aub b Mult2
addr data z-1 we RAM3
xk_index
Convert1
1
xk_re
a aub b Mult
addr data z-1 we RAM2
enable_signal4
cast
dv
xk_im xn_index
xn_im
xk_index start a ba + b
rfd
a aub b Mult4 a aub b Mult5
a ba + b Add3
a
op
1 Output
SquareRoot
busy fwd_inv
Add2
a aub b Mult3
0
xk_re
xn_re
Add1
0 enable_signal6
dv
edone fwd_inv_we done FFT2
enable_signal3
Fig. 2: FPGA design for the FAM method
N = 64
N 1 (s[n] + w[n])2 e−i2παn H1 : Sxα (f ) = N n=1
(10)
This means that Sxα (f ) follows a chi-square distribution which leads to the derivation of the probability of false alarm (Pf ) and the probability of detection (Pd ) as:
∞ |Sxα (f )|2 exp − 2 Pf = d|Sxα (f )|2 (11) 2σ0 2πσ02 |Sxα (f )|2 λ Pd = Q1
4
(12) 2
4
4P σ +2σ 2 , where σ 2 is the noise variance, σ02 = 2σ N , σ1 = N P is the signal power and s1 is the power of the signal at the α peaks. Another approach was presented in [24]. Their Pf and Pd are given by: (2N + 1) λ2 (13) Pf = exp − 2δ 4
Pd = Q
2γ λ , δ 2 δB
1
0.9
0.9
0.9
0.8
0.8
0.8
0.7
0.7
0.7
0.6
0.6
0.6
0.5
(14)
where γ is the SNR, δ is the variance of the received signal 4 and δB = (2γ+1)δ 2N +1 . To better evaluate the performance of the cyclostationary detection, we plot the ROC curves using an extensive Monte Carlo simulation. Fig. 3 shows the ROC curves for different number of samples of 64, 256 and 512 each for three different SNR values of -5, -10 and -15 dB. Each Pd point was estimated after 10000 iterations. The simulated signal is a quadrature phase shift keying (QPSK) signal. We first obtain the threshold for the case where no PU signal is present for a preset Pf values. When the PU’s QOSK signal is present, after the calculation of Sxα (f ), its peaks are compared to the
0.5
0.5
0.4
0.4
0.4
0.3
0.3
0.3
0.2 0.1 0
√
s1 λ , σ 1 σ1
N = 512
1
Pd
(9)
N = 256
1
Pd
N 1 2 w [n]e−i2παn N n=1
H0 : Sxα (f ) =
Pd
as:
0
0.2 SNR=−5dB SNR=−10dB0.1 SNR=−15dB 0 0.5 1 0 Pf
0.2 SNR=−5dB SNR=−10dB0.1 SNR=−15dB 0 0.5 1 0 Pf
SNR=−5dB SNR=−10dB SNR=−15dB 0.5 Pf
1
Fig. 3: ROC curves for the cyclostationary detection for different number of samples at different SNR values.
adjusted threshold to decide on the presence or absence of the PU signal. One can infer form the ROC curves that, as expected in any spectrum sensing technique, as the SNR increases, the performance of the detector improves. Also, as the number of processed samples (which is the number of the first FFT operation) increases, the performance of the detector improves. It was shown that the detector can perform robustly at very low SNR’s. Unlike the conventional energy detection technique that fails at SNR < 0 dB. A cyclostationry detector would require a 256 samples to achieve Pd = 90% at Pf = 10% at SNR = -5 dB. At this SNR level, the energy detection method would fail to detect the presence of the PU even when increasing the number of samples. Other technique such as our newly developed quickest detection algorithm [25] would require around the same number of samples to achieve the same Pd at the same SNR and Pf . IV. H ARDWARE I MPLEMENTATION To further study the cyclostationary detection and compare its implementation complexity to other spectrum sensing tech-
255
IEEE WCNC'14 Track 1 (PHY and Fundamentals)
TABLE I: Resources Table Resources
ED
QD
CSD
Slices
985
6848
3093 4794
Flip flops
1471
10184
Block RAM’s
–
–
9
LUT’s
1327
9532
4418
IOB’s
–
–
150
Multipliers
1
6
39
nique, we implement the FAM method on the WARP kits [26]. We use one WARP node as the receiver that functions as the SU. The PU signal is QPSK derived from an Agilent E4438C vector signal generator and inputted to the RF board on the WARP kit. The WARP node consists of two daughter RF boards, which operate in the WiFi band, connected to a Xillinx virtex-4 FX100 FPGA and a clock board that is set to 40 MHz frequency. The WARP node setup starts by programming the FPGA followed by setting up the network and configuring all the amplifiers, filters and oscillator frequency and data collection through MATLAB. The signal is first filtered using a 9.5 MHz bandpass filter, amplified in the RF band, then down converted to the baseband (5 MHz), amplified in the baseband and then digitized before it is received by the FPGA. The noise variance is first measured and the SNR is then estimated. The gains of the filters is taken into consideration when estimating the SNR. Our FAM design presented in Fig.2 is carried out in ISE System Generator for DSP. The design is then incorporated with the WARP core files using Xilinx Platform Studio (XPS) and Xilinx Software Development Kit (SDK). Our design is represented in the Fix 16 15 format. We compare the resources used to implement the cyclostationary detection to the resources we used to implement two spectrum sensing techniques. The first one is the conventional ED technique and the second is our newly developed quickest detection technique that is based on GLRT [25]. Table I shows the resources used in the implementation of the three techniques. It is shown that the cylostationary detection consumes more resources than the conventional energy detection technique and less than our GLRT based algorithm.
Fig. 4: SCD for only noise
In our implementation for the two spectrum sensing techniques on the WARP node in [25], the energy detection technique failed to detect the presence of the PU signal when the SNR goes below 3 dB. The performance of the energy detection method is highly susceptible to varying background noise. The noise uncertainty parameter for the WARP node is ρ = 2, which we measured in the lab. The noise variance (σ 2 ) lies in the region σ 2 ∈ [(1/ρ)σn2 , ρσn2 ], where σn2 is the nominal noise variance. The WARP node have a considerable high ρ when compared with other radios. This causes the energy detection technique to encounter what is known as SNR wall where increasing the number of samples or in other words the sensing time will not enhance the performance of the detection algorithm. As expected, the cyclostationary detection outperforms the conventional energy technique at SNR < 3 dB but on the cost of more processing and resources. On the contrary, our GLRT based can operate all the way to SNR = -6 dB, but on the cost of consuming the largest number of resources.
V. R ESULTS The collected samples are plotted using MATLAB. We first terminate the input of the RF daughter card with a 50 ohm termination so we can collect only noise samples. Fig. (4) shows SCD function for only noise when 256 samples of x[n] are used in the estimation of Sxα (f ). This plot represents the SCD for the case of absence of the PU signal, in other words, the existence of an empty spectrum slot. One can notice that in this case, almost no peaks exist in the SCD plot. The QPSK signal is then injected into the input of the RF daughter board. Then we estimate the SNR of the received signal. Fig. 5 shows the SCD function for SNR = 0 dB, N = 64 and P = 32. It is shown that there exists four peaks at four locations. These locations represent the values of α.
Fig. 5: SCD for SNR = 0 dB, N = 64 and P = 32 In Fig. 6, we investigate how changing the resolution affects the performance of the cyclostationary detection. We reduce the number of N = 32 instead of 64 and P = 32 instead of 16. One can infer that reducing the resolution to half degraded the performance of the detector considerably since
256
IEEE WCNC'14 Track 1 (PHY and Fundamentals)
the amplitude of the peaks have attenuated significantly. SCD Estimation Using FAM
Sx
6 4 2 0 1 2
0.5 7
x 10
1
0 0 −0.5
f(Hz)
7
x 10
−1 −1
−2
alpha(Hz)
Fig. 6: SCD for SNR = 0 dB, N = 32 and P = 16 VI. P EAK S EARCH & S AVE A LGORITHM We propose a modified peak search and save based FAM (PSS-FAM) algorithm to speed up the detection procedure. Our detailed algorithm is presented below. Our algorithm does not require any prior information of the PU’s signal. The detection procedure for our algorithm is divided into two phases: a training phase and a detection phase. During the training phase, our algorithm estimates the SCD function and compares its samples sequentially to a threshold to decide on the presence or absence of the PU’s signal. Once a presence of the PU is declared, our algorithm saves the locations and number of peaks into a look up table. Each row in the look up table represents a type of signal. Once the training period is completed and the look up table is filled with all PU signals’ types, our algorithm proceeds to the second phase. The training phase is performed only once at the beginning of the deployment of our algorithm. During the detection phase, our algorithm searches for the peaks in the SCD function at the locations saved in the look up table instead of sequentially comparing every sample in the SCD function every time a decision is made. Starting from the first row down, if the samples at the locations saved exceeds the threshold, a declaration of the PU is made. In addition to that, the type of the PU signal is now known. For example, the QPSK signal tested above has four peaks at specific locations. So by comparing only the four samples at the saved locations, a quicker decision on the presence or absence of the PU QPSK signal can be made. Not only we speed up the detection time but also our algorithm consume only a little more resources to be implemented. One main objective of using our algorithm is signal identification which will allow for the prediction of the PU signal behavior. By knowing the locations and number of peaks, it can be decided, for example, if the received PU signal is an OFDM signal or a QPSK signal. By deciding on the type of signal the PU is using, the SU can predict the behavior of the PU signal and exploit such information in, for example, deciding on the on and off periods and therefore increase the efficiency of utilizing the spectrum.
Algorithm 1 Peak search & save FAM based algorithm The received signal x(t) is first passed through a bandpassfilter x(t) is then digitized using an N point ADC to get x[n] x[n] is then passed through two spectral shifters to obtain XT (n, f + α/2) and XT (n, f − α/2) obtain the conjugate of XT (n, f − α/2) estimate Sxα (f ) by correlating XT (n, f + α/2) with conjugate of XT (n, f − α/2) and averaging over T if during the training phase then sequentially, check each sample in Sxα (f ) if Sxα (f ) > Threshold then declare H1 save number and location of the peaks that exceed the threshold into a look up table else declare H0 end if else During the detection phase for all the rows in the look up table do compare the samples of Sxα (f ) in the locations saved in the rows of the look up table if Sxα (f ) > Threshold then declare H1 identify the type of the PU’s signal else declare H0 end if end for end if
VII. C ONCLUSION Our literature survey showed a lack of hardware implementation for the cyclostationary detection technique. In this paper, we plotted the ROC curves for the cyclostationary detection technique for different detection time under different SNR values using a Monte Carlo simulations. Our Monte Carlo simulation showed that it would require a 256 sample to achieve a Pd > 90% for Pf < 10% at SNR = -5 dB. Then we implemented the cyclostationary detection on an FPGAbased WARP node. We then compared the implementation complexity of the cyclostationary detection to two techniques which are the conventional energy detection technique and our newly developed quickest detection technique. The cyclostationary detection algorithm consumes more resources than the conventional energy detection algorithm and less resources than the GLRT based algorithm. We then proposed a PSSFAM algorithm to speed up the detection procedure. Our PSS-FAM algorithm does not require any prior information of the PU signal. The PSS-FAM algorithm goes through a training phase to fill up a look up table with the locations and number of the SCD function peaks. After the the estimation of the SCD, our PSS-FAM algorithm compares the values at
257
IEEE WCNC'14 Track 1 (PHY and Fundamentals)
the locations saved in the look up table then decides on the presence or absence of the PU signal instead of sequentially searching every single sample in the SCD function every time a decision is made. Not only that, but each row in the look up table represents a type of signal, which means that we can predict the behavior of the PU’s radio using this detected signal. ACKNOWLEDGMENT This work was supported by the Qatar National Research Fund (QNRF) under Grant NPRP 09-1168-2-455. R EFERENCES [1] S. Haykin, “Cognitive radio: brain-empowered wireless communications,” Selected Areas in Communications, IEEE Journal on, vol. 23, no. 2, pp. 201–220, 2005. [2] S. M. Kay, Fundamentals of Statistical Signal Processing: Detection Theory. Englewood Clifs, NJ: Prentice Hall, 1998. [3] H. Urkowitz, “Energy detection of unknown deterministic signals,” Proceedings of the IEEE, vol. 55, no. 4, pp. 523 – 531, april 1967. [4] H. V. Poor and O. Hadjiliadis. Cambridge University Press, 2008. [Online]. Available: http://dx.doi.org/10.1017/CBO9780511754678 [5] L. Lai, Y. Fan, and H. Poor, “Quickest detection in cognitive radio: A sequential change detection framework,” in Global Telecommunications Conference, 2008. IEEE GLOBECOM 2008. IEEE, 2008, pp. 1–5. [6] W. Gardner, “Signal interception: a unifying theoretical framework for feature detection,” Communications, IEEE Transactions on, vol. 36, no. 8, pp. 897 –906, aug 1988. [7] ——, “Exploitation of spectral redundancy in cyclostationary signals,” Signal Processing Magazine, IEEE, vol. 8, no. 2, pp. 14 –36, april 1991. [8] W. Gardner and C. Spooner, “Signal interception: performance advantages of cyclic-feature detectors,” Communications, IEEE Transactions on, vol. 40, no. 1, pp. 149 –159, jan 1992. [9] N. Shankar, C. Cordeiro, and K. Challapali, “Spectrum agile radios: utilization and sensing architectures,” in New Frontiers in Dynamic Spectrum Access Networks, 2005. DySPAN 2005. 2005 First IEEE International Symposium on, 2005, pp. 160–169. [10] M. Oner and F. Jondral, “Cyclostationarity based air interface recognition for software radio systems,” in Radio and Wireless Conference, 2004 IEEE, 2004, pp. 263–266. [11] A. Tkachenko, A. Cabric, and R. Brodersen, “Cyclostationary feature detector experiments using reconfigurable bee2,” in New Frontiers in Dynamic Spectrum Access Networks, 2007. DySPAN 2007. 2nd IEEE International Symposium on, april 2007, pp. 216 –219. [12] D. Cabric, S. Mishra, and R. Brodersen, “Implementation issues in spectrum sensing for cognitive radios,” in Signals, Systems and Computers, 2004. Conference Record of the Thirty-Eighth Asilomar Conference on, vol. 1, nov. 2004, pp. 772 – 776 Vol.1. [13] V. Turunen, M. Kosunen, A. Huttunen, S. Kallioinen, P. Ikonen, A. Parssinen, and J. Ryynanen, “Implementation of cyclostationary feature detector for cognitive radios,” in Cognitive Radio Oriented Wireless Networks and Communications, 2009. CROWNCOM ’09. 4th International Conference on, june 2009, pp. 1 –4. [14] S. Wang, B. Zhang, H. Liu, and L. Xie, “Parallelized cyclostationary feature detection on a software defined radio processor,” in Signals Systems and Electronics (ISSSE), 2010 International Symposium on, vol. 1, 2010, pp. 1–4. [15] Z. Ye, J. Grosspietsch, and G. Memik, “Spectrum sensing using cyclostationary spectrum density for cognitive radios,” in Signal Processing Systems, 2007 IEEE Workshop on, 2007, pp. 1–6. [16] V. Turunen, M. Kosunen, S. Kallioinen, A. Parssinen, and J. Ryynanen, “Spectrum estimator and cyclostattionary detector for cognitive radio,” in Circuit Theory and Design, 2009. ECCTD 2009. European Conference on, 2009, pp. 283–286. [17] F. Paisana, N. Prasad, A. Rodrigues, and R. Prasad, “An alternative implementation of a cyclostationary detector,” in Wireless Personal Multimedia Communications (WPMC), 2012 15th International Symposium on, 2012, pp. 45–49.
[18] G. Yu-long and C. Yan-ping, “Modification and digital implementation of fam algorithm for spectral correlation,” in Wireless Communications Signal Processing, 2009. WCSP 2009. International Conference on, 2009, pp. 1–4. [19] W. A. Gardner, Cyclostationarity in Communications and Signal Processing. Piscataway, NJ: IEEE Press, 1994. [20] W. Brown and H. Loomis, “Digital implementations of spectral correlation analyzers,” Signal Processing, IEEE Transactions on, vol. 41, no. 2, pp. 703–720, 1993. [21] A. Shahai and D. Cabric, “Cyclostationary feature detection,” in Tutorial Presented at IEEE Symposia on New Frontiers In Dynamic Spectrum Access Networks Part(II), ser. DySPAN ’05, 2005. [22] H. Kim and K. G. Shin, “In-band spectrum sensing in cognitive radio networks: energy detection or feature detection?” in Proceedings of the 14th ACM international conference on Mobile computing and networking, ser. MobiCom ’08. New York, NY, USA: ACM, 2008, pp. 14–25. [Online]. Available: http://doi.acm.org/10.1145/1409944.1409948 [23] M. Derakhshani, M. Nasiri-Kenari, and T. Le-Ngoc, “Cooperative cyclostationary spectrum sensing in cognitive radios at low snr regimes,” in Communications (ICC), 2010 IEEE International Conference on, 2010, pp. 1–5. [24] W.-j. Yue, B.-y. Zheng, and Q.-m. Meng, “Cyclostationary property based spectrum sensing algorithms for primary detection in cognitive radio systems,” Journal of Shanghai Jiaotong University (Science), vol. 14, no. 6, pp. 676–680. [Online]. Available: http://dx.doi.org/10.1007/s12204-009-0676-0 [25] A. Badawy and T. Khattab, “A hybrid spectrum sensing technique with multiple antenna based on GLRT,” in 2013 IEEE 9th International Conference on Wireless and Mobile Computing, Networking and Communications (WiMob) (WiMob’2013), Lyon, France, Oct. 2013, pp. 753– 759. [26] “Warp project.” [Online]. Available: http://warpproject.org
258