<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xml:lang="en" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="nlm-ta">Sensors</journal-id>
<journal-title>Sensors</journal-title>
<issn pub-type="epub">1424-8220</issn>
<publisher>
<publisher-name>Molecular Diversity Preservation International (MDPI)</publisher-name></publisher></journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3390/s121115292</article-id>
<article-id pub-id-type="publisher-id">sensors-12-15292</article-id>
<article-categories>
<subj-group>
<subject>Article</subject></subj-group></article-categories>
<title-group>
<article-title>A Modular Spectrum Sensing System Based on PSO-SVM</article-title></title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Cai</surname><given-names>Zhuoran</given-names></name></contrib>
<contrib contrib-type="author">
<name><surname>Zhao</surname><given-names>Honglin</given-names></name><xref ref-type="corresp" rid="c1-sensors-12-15292"><sup>*</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Yang</surname><given-names>Zhutian</given-names></name></contrib>
<contrib contrib-type="author">
<name><surname>Mo</surname><given-names>Yun</given-names></name></contrib>
<aff id="af1-sensors-12-15292">School of Electronics and Information Technology, Harbin Institute of Technology, Harbin 150001, China; E-Mails: <email>qingdaogancai@sina.com.cn</email> (Z.C.); <email>deanzty@gmail.com</email> (Z.Y.); <email>moyuntc@126.com</email> (Y.M.)</aff></contrib-group>
<author-notes>
<corresp id="c1-sensors-12-15292">
<label>*</label>Author to whom correspondence should be addressed; E-Mail: <email>hlzhao@hit.edu.cn</email>; Tel.: +86-136-0363-9389.</corresp></author-notes>
<pub-date pub-type="collection">
<year>2012</year></pub-date>
<pub-date pub-type="epub">
<day>05</day>
<month>11</month>
<year>2012</year></pub-date>
<volume>12</volume>
<issue>11</issue>
<fpage>15292</fpage>
<lpage>15307</lpage>
<history>
<date date-type="received">
<day>15</day>
<month>08</month>
<year>2012</year></date>
<date date-type="rev-recd">
<day>05</day>
<month>11</month>
<year>2012</year></date>
<date date-type="accepted">
<day>08</day>
<month>11</month>
<year>2012</year></date></history>
<permissions>
<copyright-statement>© 2012 by the authors; licensee MDPI, Basel, Switzerland.</copyright-statement>
<copyright-year>2012</copyright-year>
<license>
<p>This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/).</p></license></permissions>
<abstract>
<p>In the cognitive radio system, spectrum sensing for detecting the presence of primary users in a licensed spectrum is a fundamental problem. Energy detection is the most popular spectrum sensing scheme used to differentiate the case where the primary user's signal is present from the case where there is only noise. In fact, the nature of spectrum sensing can be taken as a binary classification problem, and energy detection is a linear classifier. If the signal-to-noise ratio (<italic>SNR</italic>) of the received signal is low, and the number of received signal samples for sensing is small, the binary classification problem is linearly inseparable. In this situation the performance of energy detection will decrease seriously. In this paper, a novel approach for obtaining a nonlinear threshold based on support vector machine with particle swarm optimization (PSO-SVM) to replace the linear threshold used in traditional energy detection is proposed. Simulations demonstrate that the performance of the proposed algorithm is much better than that of traditional energy detection.</p></abstract>
<kwd-group>
<kwd>cognitive radio</kwd>
<kwd>spectrum sensing</kwd>
<kwd>PSO-SVM</kwd>
<kwd>detection threshold</kwd></kwd-group></article-meta></front>
<body>
<sec sec-type="intro">
<label>1.</label>
<title>Introduction</title>
<p>Based on the conventional fixed spectrum allocation policy, most available radio spectra have been assigned to registered users, which lead to a serious waste of spectrum utilization. In fact, recent reports from Federal Communications Commission (FCC) have shown that only 30% of the allocated spectrum in US is fully utilized [<xref ref-type="bibr" rid="b1-sensors-12-15292">1</xref>]. Cognitive radio, which enables secondary users to utilize the spectrum when primary users are not occupying it, has been proposed as a promising technology to improve spectrum utilization efficiency [<xref ref-type="bibr" rid="b2-sensors-12-15292">2</xref>–<xref ref-type="bibr" rid="b4-sensors-12-15292">4</xref>], and has three essential components: (1) Spectrum sensing: the secondary users sense the radio spectrum environment within their operating range to detect the frequency bands which are not occupied by primary users; (2) Dynamic spectrum management: cognitive radio networks dynamically select the best available bands for communication; (3) Adaptive communications: a cognitive radio device can configure its transmission parameters (e.g., carrier frequency, transmission power) to opportunistically make best use of the ever changing available spectrum [<xref ref-type="bibr" rid="b5-sensors-12-15292">5</xref>].</p>
<p>Spectrum sensing is a fundamental task for cognitive radio. However, there are several factors that make spectrum sensing practically challenging (e.g., low signal-to-noise ratio (<italic>SNR</italic>) of primary users, noise uncertainty, multipath fading). Several sensing methods have been proposed, including likelihood ratio test (LRT) [<xref ref-type="bibr" rid="b6-sensors-12-15292">6</xref>–<xref ref-type="bibr" rid="b8-sensors-12-15292">8</xref>], energy detection method [<xref ref-type="bibr" rid="b9-sensors-12-15292">9</xref>,<xref ref-type="bibr" rid="b10-sensors-12-15292">10</xref>], match filtering (MF) method [<xref ref-type="bibr" rid="b11-sensors-12-15292">11</xref>], cyclostationary detection method [<xref ref-type="bibr" rid="b12-sensors-12-15292">12</xref>,<xref ref-type="bibr" rid="b13-sensors-12-15292">13</xref>] and the statistical covariances-based method [<xref ref-type="bibr" rid="b14-sensors-12-15292">14</xref>]. Each of them has its own advantages and disadvantages, e.g., LRT is proven to be optimal, but it requires exact channel information and distributions of the primary signal and noise. The MF-based method needs perfect knowledge of the channel responses from primary users to the receiver and accurate synchronization (otherwise, its performance will dramatically be reduced) [<xref ref-type="bibr" rid="b15-sensors-12-15292">15</xref>], it may not be possible if the primary users do not cooperate with the secondary users. The cyclostationary detection method requires the cyclic frequencies of the primary users, which may not be realistic for many spectrum reuse applications. Furthermore it needs high computation capabilities. The energy detection method does not require any primary signal information and it is robust to unknown dispersed channels and fading, but if the <italic>SNR</italic> of the received signal is low, the number of received signal samples is small and the power of noise is estimated inaccurately, the energy detection performance will decrease seriously [<xref ref-type="bibr" rid="b11-sensors-12-15292">11</xref>]. The covariances-based method also does not require any prior information, but its computation complexity is also high [<xref ref-type="bibr" rid="b14-sensors-12-15292">14</xref>].</p>
<p>As mentioned one drawback of the traditional energy detection is that if the <italic>SNR</italic> of received signal is low and the number of the received signal samples is small the corresponding performance may decrease seriously. In order to overcome this drawback a novel method with the purpose of obtaining a nonlinear threshold for energy detection based on PSO-SVM is proposed in this paper. The proposed method focuses on one single point and one antenna scenario, which can be divided into Offline module and Online module. In the Offline module, the proposed system generates two classes of training samples, one for the simulated situation that both signal and noise exist simultaneously while another case is for noise only. The normalized energy of these two classes of training samples is used as the classification feature to train the PSO-SVM. After each training step, a decision function is generated. In the Online module, the decision functions obtained in the Offline module are used as the nonlinear thresholds for energy detection to verify if the primary user is present. The experimental results show that the receiver operating characteristic (ROC) curve of proposed approach is much better than traditional energy detection. The rest of this paper is organized as follows: the PSO-SVM is introduced in Section 2. In Section 3 determination of threshold and theoretical analysis are proposed. Simulation results are given in Section 4. Conclusions are finally drawn in Section 5.</p></sec>
<sec>
<label>2.</label>
<title>PSO-SVM</title>
<sec>
<label>2.1.</label>
<title>SVM</title>
<p>In this subsection, a brief introduction to SVM, proposed by Vapnik [<xref ref-type="bibr" rid="b16-sensors-12-15292">16</xref>], is given. Let (<bold>x</bold><italic><sub>i</sub></italic>,<italic>y<sub>i</sub></italic>)<sub>1≤</sub><italic><sub>i</sub></italic><sub>≤</sub><italic><sub>N</sub></italic> be a set of <italic>N</italic> training samples, each sample <bold>x</bold><italic><sub>i</sub></italic> ∈ <italic>R<sup>d</sup></italic> is a vector, <italic>d</italic> being the dimension of the input space, belonging to a class labeled by <italic>y<sub>i</sub></italic> ∈ {1, −1}. It amounts to find weight vector <bold>w</bold> and scale <italic>b</italic>, which satisfy:
<disp-formula id="FD1">
<label>(1)</label>
<mml:math id="mm1" display="block">
<mml:semantics id="sm1">
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>〈</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>⋅</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow>
<mml:mo>〉</mml:mo></mml:mrow>
<mml:mo>+</mml:mo>
<mml:mi>b</mml:mi></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>≥</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:semantics></mml:math></disp-formula>where 〈·〉 is inner product. The aim of SVM is to find the hyper-plane which makes the samples with the same label on the same side of the hyper-plane. The quantity 1/‖<italic>w</italic>‖<sub>2</sub> is the margin, and optimal separating hyper-plane (OSH) is the separating hyper-plane which maximizes the margin. The larger the margin, the better the generalization is expected [<xref ref-type="bibr" rid="b17-sensors-12-15292">17</xref>]. To search the maximum <italic>γ</italic>, quadratic programming is usually used, leading to:
<disp-formula id="FD2">
<label>(2)</label>
<mml:math id="mm2" display="block">
<mml:semantics id="sm2">
<mml:mrow>
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:munder>
<mml:mrow>
<mml:mtext>minimize</mml:mtext></mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mi mathvariant="normal">w</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">b</mml:mi></mml:mrow></mml:mrow></mml:munder>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:msup>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>‖</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mtext mathvariant="italic">subject</mml:mtext>
<mml:mspace width="0.2em"/>
<mml:mtext mathvariant="italic">to</mml:mtext>
<mml:mspace width="0.2em"/>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>〈</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>⋅</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow>
<mml:mo>〉</mml:mo></mml:mrow>
<mml:mo>+</mml:mo>
<mml:mi>b</mml:mi></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>≥</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>⋯</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>N</mml:mi></mml:mtd></mml:mtr></mml:mtable>
<mml:mo>}</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>according to <xref rid="FD2" ref-type="disp-formula">Equation (2)</xref>, a hyper-plane 〈<bold>w</bold>·<bold>x</bold><italic><sub>i</sub></italic>〉 + <italic>b</italic> = 0 with the largest margin can be obtained. For equality constraints in <xref rid="FD2" ref-type="disp-formula">Equation (2)</xref>, they can be modified to unconstrained by integrating positive Lagrange multipliers, leading to:
<disp-formula id="FD3">
<label>(3)</label>
<mml:math id="mm3" display="block">
<mml:semantics id="sm3">
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>α</mml:mi></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:mrow>
<mml:mo>〈</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>⋅</mml:mo>
<mml:mi mathvariant="bold">w</mml:mi></mml:mrow>
<mml:mo>〉</mml:mo></mml:mrow>
<mml:mo>−</mml:mo>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>N</mml:mi></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mspace width="0.2em"/>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>〈</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>⋅</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow>
<mml:mo>〉</mml:mo></mml:mrow>
<mml:mo>+</mml:mo>
<mml:mi>b</mml:mi></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>to minimize <italic>L</italic>(<bold>w</bold>, <italic>b</italic>, <italic>α</italic>) by requiring the gradient of <italic>L</italic>(<bold>w</bold>, <italic>b</italic>, <italic>α</italic>) respect to <bold>w</bold> and <italic>b</italic> vanish, a dual form is given by:
<disp-formula id="FD4">
<label>(4)</label>
<mml:math id="mm4" display="block">
<mml:semantics id="sm4">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>=</mml:mo>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>N</mml:mi></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:msub>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>N</mml:mi></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>≥</mml:mo>
<mml:mn>0</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:semantics></mml:math></disp-formula>substituting <xref rid="FD4" ref-type="disp-formula">Equation (4)</xref> into <xref rid="FD3" ref-type="disp-formula">Equation (3)</xref> gives:
<disp-formula id="FD5">
<label>(5)</label>
<mml:math id="mm5" display="block">
<mml:semantics id="sm5">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mspace width="0.8em"/>
<mml:munder>
<mml:mrow>
<mml:mo>inf</mml:mo></mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>b</mml:mi></mml:mrow></mml:munder>
<mml:mi>L</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>α</mml:mi></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>N</mml:mi></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>j</mml:mi></mml:msub>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mi>j</mml:mi></mml:msub>
<mml:mspace width="0.2em"/>
<mml:mrow>
<mml:mo>〈</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>⋅</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mi>j</mml:mi></mml:msub></mml:mrow>
<mml:mo>〉</mml:mo></mml:mrow></mml:mrow>
<mml:mo>−</mml:mo>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>l</mml:mi></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>j</mml:mi></mml:msub>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mi>j</mml:mi></mml:msub>
<mml:mspace width="0.2em"/>
<mml:mrow>
<mml:mo>〈</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>⋅</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mi>j</mml:mi></mml:msub></mml:mrow>
<mml:mo>〉</mml:mo></mml:mrow></mml:mrow>
<mml:mo>+</mml:mo>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>l</mml:mi></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>=</mml:mo>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>l</mml:mi></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow>
<mml:mo>−</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>l</mml:mi></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>j</mml:mi></mml:msub>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mi>j</mml:mi></mml:msub>
<mml:mrow>
<mml:mo>〈</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>⋅</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mi>j</mml:mi></mml:msub></mml:mrow>
<mml:mo>〉</mml:mo></mml:mrow></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>α</mml:mi>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>According to <xref rid="FD3" ref-type="disp-formula">Equation (3)</xref> and <xref rid="FD5" ref-type="disp-formula">Equation (5)</xref>, it is obvious that 
<inline-formula>
<mml:math id="mm6" display="inline">
<mml:semantics id="sm6">
<mml:mrow>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>α</mml:mi>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mo>inf</mml:mo></mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>b</mml:mi></mml:mrow></mml:munder>
<mml:mi>L</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>α</mml:mi></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>≤</mml:mo>
<mml:mi>L</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>b</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>α</mml:mi></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></inline-formula>, thus the quadratic programming problem in <xref rid="FD3" ref-type="disp-formula">Equation (3)</xref> can be converted to:
<disp-formula id="FD6">
<label>(6)</label>
<mml:math id="mm7" display="block">
<mml:semantics id="sm7">
<mml:mrow>
<mml:mtext>maximize</mml:mtext>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>α</mml:mi>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>N</mml:mi></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow>
<mml:mo>−</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>N</mml:mi></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>j</mml:mi></mml:msub>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mi>j</mml:mi></mml:msub>
<mml:mspace width="0.2em"/>
<mml:mrow>
<mml:mo>〈</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>⋅</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mi>j</mml:mi></mml:msub></mml:mrow>
<mml:mo>〉</mml:mo></mml:mrow></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>subject to:
<disp-formula id="FD7">
<label>(7)</label>
<mml:math id="mm8" display="block">
<mml:semantics id="sm8">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>N</mml:mi></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>≥</mml:mo>
<mml:mn>0</mml:mn>
<mml:mspace width="0.2em"/>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>⋯</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>N</mml:mi></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>〈</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>⋅</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi></mml:mrow>
<mml:mo>〉</mml:mo></mml:mrow>
<mml:mo>+</mml:mo>
<mml:mi>b</mml:mi></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:semantics></mml:math></disp-formula>the third constraint condition in <xref rid="FD7" ref-type="disp-formula">Equation (7)</xref> is the Karush-Kuhn-Tucker (KKT) condition [<xref ref-type="bibr" rid="b18-sensors-12-15292">18</xref>]. There is a Lagrange multiplier <italic>a<sub>i</sub></italic> for each training sample, the training samples for which <italic>a<sub>i</sub></italic> &gt; 0 are called “support vectors”, lying on one of the two hyper-planes: 〈<bold>w</bold>·<bold>x</bold><sup>+</sup>〉 + <italic>b</italic> = +1; 〈<bold>w</bold>·<bold>x</bold><sup>−</sup>〉 + <italic>b</italic> = −1 The training samples will only appear in the form of inner products between vectors.</p>
<p>In the nonlinear case, the approach adapted to noisy data is to make a soft margin. We introduce the slack variables <italic>ξ<sub>i</sub></italic> ≥ 0, <italic>i</italic> = 1, 2, …, <italic>N</italic> so that:
<disp-formula id="FD8">
<label>(8)</label>
<mml:math id="mm9" display="block">
<mml:semantics id="sm9">
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>〈</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>⋅</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow>
<mml:mo>〉</mml:mo></mml:mrow>
<mml:mo>+</mml:mo>
<mml:mi>b</mml:mi></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>≥</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>ξ</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The generalized OSH is the solution of minimizing:
<disp-formula id="FD9">
<label>(9)</label>
<mml:math id="mm10" display="block">
<mml:semantics id="sm10">
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:mrow>
<mml:mo>〈</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>⋅</mml:mo>
<mml:mi mathvariant="bold">w</mml:mi></mml:mrow>
<mml:mo>〉</mml:mo></mml:mrow>
<mml:mo>+</mml:mo>
<mml:mi>C</mml:mi>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>N</mml:mi></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>ξ</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>subject to <xref rid="FD7" ref-type="disp-formula">Equation (7)</xref>. The parameter 
<inline-formula>
<mml:math id="mm11" display="inline">
<mml:semantics id="sm11">
<mml:mrow>
<mml:munderover>
<mml:mi>∑</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>N</mml:mi></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>ξ</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:semantics></mml:math></inline-formula> is the upper bound of the number of training errors and <italic>C</italic> is the penalty parameter to control errors.</p>
<p>In the nonlinear SVM, a kernel function is introduced to map the initial data into a feature space with a high dimension. In the new space, the data should be linearly separable. Then <xref rid="FD6" ref-type="disp-formula">Equation (6)</xref> can be converted to:
<disp-formula id="FD10">
<label>(10)</label>
<mml:math id="mm12" display="block">
<mml:semantics id="sm12">
<mml:mrow>
<mml:mtext>maximize</mml:mtext>
<mml:mspace width="0.6em"/>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>α</mml:mi>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>N</mml:mi></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow>
<mml:mo>−</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>N</mml:mi></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>j</mml:mi></mml:msub>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mi>j</mml:mi></mml:msub>
<mml:mi>K</mml:mi>
<mml:mspace width="0.2em"/>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mi>j</mml:mi></mml:msub></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>subject to <xref rid="FD7" ref-type="disp-formula">Equation (7)</xref>, and 0 ≤ <italic>α<sub>i</sub></italic> ≤ <italic>C</italic>. K(<bold>x</bold><italic><sub>i</sub></italic>, <bold>x</bold><italic><sub>j</sub></italic>) is the kernel function. As one of the most popular kernel functions, the RBF kernel function is considered in this paper, and it takes the following form:
<disp-formula id="FD11">
<label>(11)</label>
<mml:math id="mm13" display="block">
<mml:semantics id="sm13">
<mml:mrow>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mi>j</mml:mi></mml:msub></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mo>exp</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mi>g</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mi>j</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow>
<mml:mo>‖</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mo>}</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>where <italic>g</italic> is kernel parameter, and denoting the width of kernel function. If <italic>g</italic> is too big, the SVM may outfit the training data, and a too small <italic>g</italic> may make SVM algorithm not flexible enough for complex function approximation. By solving <xref rid="FD10" ref-type="disp-formula">Equation (10)</xref> we can obtain the minimum 〈<bold>w</bold>·<bold>w</bold>〉:
<disp-formula id="FD12">
<label>(12)</label>
<mml:math id="mm14" display="block">
<mml:semantics id="sm14">
<mml:mrow>
<mml:mrow>
<mml:mo>〈</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>∗</mml:mo></mml:msup>
<mml:mo>⋅</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>∗</mml:mo></mml:msup></mml:mrow>
<mml:mo>〉</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>N</mml:mi></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>j</mml:mi></mml:msub>
<mml:msup>
<mml:mrow>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mi>i</mml:mi></mml:msub></mml:mrow>
<mml:mo>∗</mml:mo></mml:msup>
<mml:msup>
<mml:mrow>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mi>j</mml:mi></mml:msub></mml:mrow>
<mml:mo>∗</mml:mo></mml:msup>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mi>j</mml:mi></mml:msub></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>where <bold>w</bold>*, 
<inline-formula>
<mml:math id="mm15" display="inline">
<mml:semantics id="sm15">
<mml:mrow>
<mml:msubsup>
<mml:mi>α</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>∗</mml:mo></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> are the solution of <xref rid="FD10" ref-type="disp-formula">Equation (10)</xref>. Then the decision function is:
<disp-formula id="FD13">
<label>(13)</label>
<mml:math id="mm16" display="block">
<mml:semantics id="sm16">
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mtext mathvariant="italic">sign</mml:mtext>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>〈</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>∗</mml:mo></mml:msup>
<mml:mo>⋅</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi></mml:mrow>
<mml:mo>〉</mml:mo></mml:mrow>
<mml:mo>+</mml:mo>
<mml:mi>b</mml:mi></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>where <bold>x</bold> is a test sample with an unknown label <italic>y</italic>. Noting that <bold>w</bold>* only depend on the training samples (<bold>x</bold><italic><sub>i</sub></italic>, <italic>y<sub>i</sub></italic>)<sub>1≤</sub><italic><sub>i</sub></italic><sub>≤</sub><italic><sub>N</sub></italic>, if we choose a set of training samples (<bold>x</bold><italic><sub>i</sub></italic>, <italic>y<sub>i</sub></italic>)<sub>1≤</sub><italic><sub>i</sub></italic><sub>≤</sub><italic><sub>N</sub></italic>, a unique decision function will be obtained by solving <xref rid="FD10" ref-type="disp-formula">Equation (10)</xref>.</p></sec>
<sec>
<label>2.2.</label>
<title>Particle Swarm Optimization</title>
<p>The parameters <italic>C</italic> and <italic>g</italic> need to be set to solve <xref rid="FD10" ref-type="disp-formula">Equation (10)</xref>. However, in a practical situation it is difficult to set these two parameters properly. In this subsection, we integrate a PSO (particle swarm optimization) method to adaptively set <italic>C</italic> and <italic>g</italic>.</p>
<p>Particle Swarm Optimization (PSO) is inspired by the social behavior of birds, birds in a swarm preying on food and cooperation with each other to search for the optimal position to obtain the food. In a PSO optimal problem, there are a group of individuals, each individual is called a “particle”, which may be a potential solution. Suppose that the solution space of optimization problem is <italic>D</italic> dimensions. The <italic>i-th</italic> particle is <italic>X<sub>i</sub></italic> = (<italic>x<sub>i</sub></italic><sub>1</sub>, <italic>x<sub>i</sub></italic><sub>2</sub>, <italic>x<sub>i</sub></italic><sub>3</sub>, …<italic>x<sub>iD</sub></italic>), the optimal position for itself is <italic>P<sub>i</sub></italic> = (<italic>p<sub>i</sub></italic><sub>1</sub>, <italic>p<sub>i</sub></italic><sub>2</sub>, <italic>p<sub>i</sub></italic><sub>3</sub>, …<italic>p<sub>iD</sub></italic>) and its speed move to this position is <italic>V<sub>i</sub></italic> = (<italic>v<sub>i</sub></italic><sub>1</sub>, <italic>v<sub>i</sub></italic><sub>2</sub>, <italic>v<sub>i</sub></italic><sub>3</sub>, …<italic>v<sub>iD</sub></italic>), the optimal swarm position is <italic>P<sub>g</sub></italic> = (<italic>p<sub>g</sub></italic><sub>1</sub>, <italic>p<sub>g</sub></italic><sub>2</sub>, <italic>p<sub>g</sub></italic><sub>3</sub>, …<italic>p<sub>gD</sub></italic>), iteration to find the optimal position is given by:
<disp-formula id="FD14">
<label>(14)</label>
<mml:math id="mm17" display="block">
<mml:semantics id="sm17">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>d</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mi>ϖ</mml:mi>
<mml:mo>⋅</mml:mo>
<mml:msubsup>
<mml:mi>v</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>d</mml:mi></mml:mrow>
<mml:mi>t</mml:mi></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>⋅</mml:mo>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>⋅</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>d</mml:mi></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>d</mml:mi></mml:mrow>
<mml:mi>t</mml:mi></mml:msubsup></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>c</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo>⋅</mml:mo>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo>⋅</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mi>d</mml:mi></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>d</mml:mi></mml:mrow>
<mml:mi>t</mml:mi></mml:msubsup></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD15">
<label>(15)</label>
<mml:math id="mm18" display="block">
<mml:semantics id="sm18">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>d</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>d</mml:mi></mml:mrow>
<mml:mi>t</mml:mi></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mi>v</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>d</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></disp-formula>where 
<inline-formula>
<mml:math id="mm19" display="inline">
<mml:semantics id="sm19">
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>d</mml:mi></mml:mrow>
<mml:mi>t</mml:mi></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> and 
<inline-formula>
<mml:math id="mm20" display="inline">
<mml:semantics id="sm20">
<mml:mrow>
<mml:msubsup>
<mml:mi>v</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>d</mml:mi></mml:mrow>
<mml:mi>t</mml:mi></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> are the <italic>d</italic>–<italic>th</italic> location and speed component of <italic>i</italic>−<italic>th</italic> particle at the <italic>t</italic>−<italic>th</italic> iteration, <italic>c</italic><sub>1</sub> and <italic>c</italic><sub>2</sub> are two positive coefficients, <italic>r</italic><sub>1</sub> and <italic>r</italic><sub>2</sub> are the random number selected from 0 to 1, <italic>ϖ</italic> is the flexible coefficient of 
<inline-formula>
<mml:math id="mm21" display="inline">
<mml:semantics id="sm21">
<mml:mrow>
<mml:msubsup>
<mml:mi>v</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>d</mml:mi></mml:mrow>
<mml:mi>t</mml:mi></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula>. The second part of <xref rid="FD12" ref-type="disp-formula">Equation (12)</xref> is called “cognitive” part which is the optimization of the particle itself, and the third part of <xref rid="FD12" ref-type="disp-formula">Equation (12)</xref> is the “swarm part”, which is the cooperation with other particles. In addition, a boundary for each particle should be set as, [−<italic>x<sub>id</sub></italic> <sub>max</sub>, <italic>x<sub>id</sub></italic> <sub>max</sub>] and <italic>v<sub>id</sub></italic> <sub>max</sub>. In the process of the iteration, if the parameter of particle is out of the range, they are replaced by the boundary value. For the optimization of the error penalty parameter <italic>C</italic> and kernel parameter <italic>g</italic>, each particle is set as (<italic>C</italic>, <italic>g</italic>), and a three cross validation is used to estimate the performance of each (<italic>C</italic>, <italic>g</italic>), training data is separated into three parts, one part is considered as the validation set and the remaining two parts are for training. Our earlier work has validated this PSO algorithm [<xref ref-type="bibr" rid="b19-sensors-12-15292">19</xref>].</p></sec></sec>
<sec sec-type="methods">
<label>3.</label>
<title>Threshold Determination and Theoretical Analysis</title>
<p>Common notation as summarized in <xref ref-type="table" rid="t1-sensors-12-15292">Table 1</xref> is used throughout this section.</p>
<sec>
<label>3.1.</label>
<title>Basic Conception of Energy Detection</title>
<p>In this subsection we introduce the general model for spectrum sensing, then review the energy detection scheme and analyze the relationship between the probability of false alarm and probability of detection.</p>
<p>Suppose that we are interested in the frequency band with carrier frequency <italic>f<sub>c</sub></italic>, bandwidth <italic>W</italic> and the received signal is sampled at sampling frequency <italic>f<sub>s</sub></italic>, respectively. When the primary user is active, the discrete received signal at the secondary user is given by [<xref ref-type="bibr" rid="b5-sensors-12-15292">5</xref>]:
<disp-formula id="FD16">
<label>(16)</label>
<mml:math id="mm22" display="block">
<mml:semantics id="sm22">
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mi>s</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>+</mml:mo>
<mml:mi>u</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>where <italic>z</italic>(<italic>n</italic>) is under hypothesis <italic>H</italic><sub>1</sub>. When the primary user is inactive, the received signal is given by:
<disp-formula id="FD17">
<label>(17)</label>
<mml:math id="mm23" display="block">
<mml:semantics id="sm23">
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mi>u</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>and this case is referred to the hypothesis <italic>H</italic><sub>0</sub>. In this paper we only focus on one single point and one antenna spectrum sensing scenario, thus for simplicity we make the following assumptions [<xref ref-type="bibr" rid="b5-sensors-12-15292">5</xref>]:</p>
<p>(AS1) The primary signal <italic>s</italic>(<italic>n</italic>) is an independent, and identically distributed (IID) random process with mean zero and unknown variance 
<inline-formula>
<mml:math id="mm24" display="inline">
<mml:semantics id="sm24">
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mo stretchy="true">[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>|</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mo stretchy="true">]</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mi>s</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula>;</p>
<p>(AS2) The noise <italic>u</italic>(<italic>n</italic>) is a Gaussian IID random process with mean zero and variance 
<inline-formula>
<mml:math id="mm25" display="inline">
<mml:semantics id="sm25">
<mml:mrow>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>|</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mi>u</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula>, which can be estimated;</p>
<p>(AS3) The primary signal <italic>s</italic>(<italic>n</italic>) is independent of the noise <italic>u</italic>(<italic>n</italic>).</p>
<p>The signal-to-noise ratio (<italic>SNR</italic>) of the actual primary user measured at the secondary receiver of interest is 
<inline-formula>
<mml:math id="mm26" display="inline">
<mml:semantics id="sm26">
<mml:mrow>
<mml:mi>λ</mml:mi>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mi>s</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mi>u</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:mfrac></mml:mrow></mml:semantics></mml:math></inline-formula>, under hypothesis <italic>H</italic><sub>1</sub>. We consider the circularly symmetric complex Gaussian (CSCG) as the noise case. For the primary signal <italic>s</italic>(<italic>n</italic>), we consider complex PSK modulated signal.</p>
<p>Two probabilities are of interest for spectrum sensing: probability of detection <italic>P<sub>d</sub></italic>, which defines, at hypothesis <italic>H</italic><sub>1</sub>, the probability of sensing method correctly detecting the presence of primary user; and probability of false alarm <italic>P<sub>f</sub></italic>, which defines, at hypothesis <italic>H</italic><sub>0</sub>, the probability of sensing method claiming the presence of primary user.</p>
<p>Energy detection is one of the most popular spectrum sensing schemes, because of it does not need any prior information about the primary signal and is easy to apply. Let <italic>τ</italic> be the available sensing time and <italic>N<sub>s</sub></italic> be the number of samples, for simplicity we assume <italic>N<sub>s</sub></italic> = <italic>τf<sub>s</sub></italic>. The test statistics are given by [<xref ref-type="bibr" rid="b5-sensors-12-15292">5</xref>]:
<disp-formula id="FD18">
<label>(18)</label>
<mml:math id="mm27" display="block">
<mml:semantics id="sm27">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:mfrac>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:munderover>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow>
<mml:mo>|</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:mfrac>
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:munderover>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>+</mml:mo>
<mml:mi>u</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow>
<mml:mo>|</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mrow></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>0</mml:mn></mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:mfrac>
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:munderover>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow>
<mml:mo>|</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mrow></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:semantics></mml:math></disp-formula>for generality, decision statistics need to be normalized with the estimated power of noise, then the normalized decision statistics are given by:
<disp-formula id="FD19">
<label>(19)</label>
<mml:math id="mm28" display="block">
<mml:semantics id="sm28">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msup>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mo>'</mml:mo></mml:mrow></mml:msup>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mi>u</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:mfrac></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mo>'</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mi>u</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:mfrac></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mn>0</mml:mn>
<mml:mrow>
<mml:mo>'</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>0</mml:mn></mml:msub></mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mi>u</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:mfrac></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:semantics></mml:math></disp-formula>if the number of signal samples <italic>N<sub>s</sub></italic> is small, the probability of false alarm <italic>P<sub>f</sub></italic> for a predefined threshold <italic>ε</italic> is given by:
<disp-formula id="FD20">
<label>(20)</label>
<mml:math id="mm29" display="block">
<mml:semantics id="sm29">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>f</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mo>Pr</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mo>'</mml:mo></mml:mrow></mml:msup>
<mml:mo>&gt;</mml:mo>
<mml:mi>ε</mml:mi>
<mml:mo>|</mml:mo>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mn>0</mml:mn></mml:msub></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mo>Pr</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mn>0</mml:mn>
<mml:mrow>
<mml:mo>'</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>&gt;</mml:mo>
<mml:mi>ε</mml:mi></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The far right-hand side of <xref rid="FD20" ref-type="disp-formula">Equation (20)</xref> indicates a class of chi-square variable with 2<italic>N<sub>s</sub></italic> degrees of freedom for complex-valued case. From <xref rid="FD20" ref-type="disp-formula">Equation (20)</xref> the threshold <italic>ε</italic> is related to the <italic>P<sub>f</sub></italic> as <italic>ε</italic> = <italic>chi</italic>2<sup>−1</sup>(<italic>P<sub>f</sub></italic>, 2<italic>N<sub>s</sub></italic>), where <italic>chi</italic>2<sup>−1</sup>(·) is inverse of the chi-square cumulative distribution function. For the same threshold <italic>ε</italic>, the probability of detection <italic>P<sub>d</sub></italic> is given by:
<disp-formula id="FD21">
<label>(21)</label>
<mml:math id="mm30" display="block">
<mml:semantics id="sm30">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>d</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mo>Pr</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mo>'</mml:mo></mml:mrow></mml:msup>
<mml:mo>&gt;</mml:mo>
<mml:mi>ε</mml:mi>
<mml:mo>|</mml:mo>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mo>Pr</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mo>'</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>&gt;</mml:mo>
<mml:mi>ε</mml:mi></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The symbol 
<inline-formula>
<mml:math id="mm31" display="inline">
<mml:semantics id="sm31">
<mml:mrow>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mo>'</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> indicates a class of non-central chi-square variable with 2<italic>N<sub>s</sub></italic> degrees of freedom and a non-centrality parameter <italic>λ</italic>, in our case, 
<inline-formula>
<mml:math id="mm32" display="inline">
<mml:semantics id="sm32">
<mml:mrow>
<mml:mi>λ</mml:mi>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mi>s</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mi>u</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:mfrac></mml:mrow></mml:semantics></mml:math></inline-formula>, extensive tables exist for the chi-square distribution, but the non-central chi-square has not been as extensively tabulated.</p>
<p>In this paper, we use approximations proposed by Patnaik [<xref ref-type="bibr" rid="b20-sensors-12-15292">20</xref>] to replace the non-central chi-square with a central chi-square having a different number of degrees of freedom and a modified threshold level, If the non-central chi-square variable has 2<italic>N<sub>s</sub></italic> degrees of freedom and non-centrality parameter <italic>λ</italic>, define a modified number of degrees of freedom <italic>D</italic> and a threshold divisor <italic>G</italic> given by:
<disp-formula id="FD22">
<label>(22)</label>
<mml:math id="mm33" display="block">
<mml:semantics id="sm33">
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>λ</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mo>/</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>λ</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>λ</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>/</mml:mo>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>λ</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:semantics></mml:math></disp-formula>then:
<disp-formula id="FD23">
<label>(23)</label>
<mml:math id="mm34" display="block">
<mml:semantics id="sm34">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>d</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mo>Pr</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mo>'</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>&gt;</mml:mo>
<mml:mi>ε</mml:mi></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mo>Pr</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mn>0</mml:mn>
<mml:mrow>
<mml:mo>'</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>&gt;</mml:mo>
<mml:mrow>
<mml:mi>ε</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>G</mml:mi></mml:mrow></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>As mentioned above, when the probability of false alarm <italic>P<sub>f</sub></italic> and the number of samples <italic>N<sub>s</sub></italic> is set, we can obtain a unique value of threshold <italic>ε</italic>, it equals to a linear classifier in binary classification problem. But if the <italic>SNR λ</italic> is low while the number of signal samples <italic>N<sub>s</sub></italic> is small, the corresponding spectrum sensing problem is linearly inseparable, and the traditional energy detection can not classify this linearly inseparable problem efficiently.</p></sec>
<sec>
<label>3.2.</label>
<title>Nonlinear Threshold System</title>
<p>To overcome the drawbacks of traditional energy detection mentioned above, the authors here propose a method in purpose of obtaining nonlinearly threshold based on PSO-SVM. The system process encompasses two distinct modules <italic>i.e.</italic>, Offline and Online, which are clearly illustrated by the <xref ref-type="fig" rid="f1-sensors-12-15292">Figure 1</xref>.</p>
<sec>
<label>3.2.1.</label>
<title>Offline Module</title>
<p>The main function of the Offline Module is to generate the nonlinear thresholds for energy detection.</p>
<p>Firstly, the proposed system generates training signal and training noise under AS1-3. Therefore the variance of training signal is a known value 
<inline-formula>
<mml:math id="mm35" display="inline">
<mml:semantics id="sm35">
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>λ</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:semantics></mml:math></inline-formula>, the variance of training noise is 
<inline-formula>
<mml:math id="mm36" display="inline">
<mml:semantics id="sm36">
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:semantics></mml:math></inline-formula>, and training <italic>SNR</italic> is <italic>λ<sub>tr</sub></italic>.</p>
<p>Secondly, based on the parameter <italic>λ<sub>tr</sub></italic> and number of signal samples <italic>N<sub>s</sub></italic>, two classes of training decision statistics under hypothesis <italic>H</italic><sub>0</sub> and hypothesis <italic>H</italic><sub>1</sub> could be obtained, which are given by:
<disp-formula id="FD24">
<label>(24)</label>
<mml:math id="mm37" display="block">
<mml:semantics id="sm37">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo></mml:mrow></mml:msub>
<mml:msub>
<mml:mi>λ</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msup>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:mfrac>
<mml:msup>
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:munderover>
<mml:mrow>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow>
<mml:mo>|</mml:mo></mml:mrow></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD25">
<label>(25)</label>
<mml:math id="mm38" display="block">
<mml:semantics id="sm38">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mn>0</mml:mn>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:msup>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:mfrac>
<mml:msup>
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:munderover>
<mml:mrow>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow>
<mml:mo>|</mml:mo></mml:mrow></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:semantics></mml:math></disp-formula>where the symbol 
<inline-formula>
<mml:math id="mm39" display="inline">
<mml:semantics id="sm39">
<mml:mrow>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>λ</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> indicates a class of non-central chi-square variables with mean 1+<italic>λ<sub>tr</sub></italic> 2<italic>N<sub>s</sub></italic> degrees of freedom, and a non-centrality parameter <italic>λ<sub>tr</sub></italic>. While the symbol 
<inline-formula>
<mml:math id="mm40" display="inline">
<mml:semantics id="sm40">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mn>0</mml:mn>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:msup></mml:mrow></mml:semantics></mml:math></inline-formula> indicates a class of central chi-square variables with mean 1 and 2<italic>N<sub>s</sub></italic> degrees of freedom.</p>
<p>Thirdly, labeling each variable of 
<inline-formula>
<mml:math id="mm41" display="inline">
<mml:semantics id="sm41">
<mml:mrow>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>λ</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> class as “+1”, and each variable of 
<inline-formula>
<mml:math id="mm42" display="inline">
<mml:semantics id="sm42">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mn>0</mml:mn>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:msup></mml:mrow></mml:semantics></mml:math></inline-formula> class as “−1”, then these two classes of variables are used as training data to train PSO-SVM mentioned in Section 2. Consequently, a separating hyper-plane 〈<bold>w</bold>*·<bold>x</bold> 〉 + <italic>b</italic> = 0 and a decision function <italic>f</italic>(<italic>x</italic>) = <italic>sign</italic>(〈<bold>w</bold>*·<bold>x</bold> 〉 + <italic>b</italic>)could be derived.</p>
<p>In the fourth step, the variables of 
<inline-formula>
<mml:math id="mm43" display="inline">
<mml:semantics id="sm43">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mn>0</mml:mn>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:msup></mml:mrow></mml:semantics></mml:math></inline-formula> class are applied to test this decision function so as to gain the probability (denoted as 
<inline-formula>
<mml:math id="mm44" display="inline">
<mml:semantics id="sm44">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>λ</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula>) that the decision function mistakenly label a 
<inline-formula>
<mml:math id="mm45" display="inline">
<mml:semantics id="sm45">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mn>0</mml:mn>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:msup></mml:mrow></mml:semantics></mml:math></inline-formula> variable as a 
<inline-formula>
<mml:math id="mm46" display="inline">
<mml:semantics id="sm46">
<mml:mrow>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>λ</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> variable.</p>
<sec>
<title>Proposition1</title>
<p>The probability of a variable mistakenly labeled by decision function is determined by the geometric distance <italic>γ</italic> which is from this variable to the separating hyper-plane.</p></sec>
<sec>
<title>Proof</title>
<p>The proof is mainly based on Rosenblatt classifier, and detailed proof is given in Appendix A.</p>
<p>The average geometric distance from variables of 
<inline-formula>
<mml:math id="mm47" display="inline">
<mml:semantics id="sm47">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mn>0</mml:mn>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:msup></mml:mrow></mml:semantics></mml:math></inline-formula> class to separating hyper-plane is given by:
<disp-formula id="FD26">
<label>(26)</label>
<mml:math id="mm48" display="block">
<mml:semantics id="sm48">
<mml:mrow>
<mml:msub>
<mml:mi>γ</mml:mi>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub>
<mml:mspace width="0.2em"/>
<mml:mo>=</mml:mo>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>〈</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>∗</mml:mo></mml:msup>
<mml:mo>⋅</mml:mo>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mn>0</mml:mn>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:msubsup></mml:mrow>
<mml:mo>〉</mml:mo></mml:mrow>
<mml:mo>+</mml:mo>
<mml:mi>b</mml:mi></mml:mrow>
<mml:mo>|</mml:mo></mml:mrow></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>∗</mml:mo></mml:msup></mml:mrow>
<mml:mo>‖</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mfrac></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>〈</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>∗</mml:mo></mml:msup>
<mml:mo>⋅</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mo>〉</mml:mo></mml:mrow>
<mml:mo>+</mml:mo>
<mml:mi>b</mml:mi></mml:mrow>
<mml:mo>|</mml:mo></mml:mrow></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>∗</mml:mo></mml:msup></mml:mrow>
<mml:mo>‖</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mfrac></mml:mrow></mml:semantics></mml:math></disp-formula>while the average geometric distance from variables of 
<inline-formula>
<mml:math id="mm49" display="inline">
<mml:semantics id="sm49">
<mml:mrow>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mn>0</mml:mn>
<mml:mo>′</mml:mo></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> class to separating hyper-plane is given by:
<disp-formula id="FD27">
<label>(27)</label>
<mml:math id="mm50" display="block">
<mml:semantics id="sm50">
<mml:mrow>
<mml:msub>
<mml:mi>γ</mml:mi>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mspace width="0.2em"/>
<mml:mo>=</mml:mo>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>〈</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>∗</mml:mo></mml:msup>
<mml:mo>⋅</mml:mo>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mn>0</mml:mn>
<mml:mo>′</mml:mo></mml:msubsup></mml:mrow>
<mml:mo>〉</mml:mo></mml:mrow>
<mml:mo>+</mml:mo>
<mml:mi>b</mml:mi></mml:mrow>
<mml:mo>|</mml:mo></mml:mrow></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>∗</mml:mo></mml:msup></mml:mrow>
<mml:mo>‖</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mfrac></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>〈</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>∗</mml:mo></mml:msup>
<mml:mo>⋅</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mo>〉</mml:mo></mml:mrow>
<mml:mo>+</mml:mo>
<mml:mi>b</mml:mi></mml:mrow>
<mml:mo>|</mml:mo></mml:mrow></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>∗</mml:mo></mml:msup></mml:mrow>
<mml:mo>‖</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mfrac></mml:mrow></mml:semantics></mml:math></disp-formula>according to <xref rid="FD26" ref-type="disp-formula">Equation (26)</xref> and <xref rid="FD27" ref-type="disp-formula">Equation (27)</xref>, it is obvious that the average geometric distance from variables of 
<inline-formula>
<mml:math id="mm51" display="inline">
<mml:semantics id="sm51">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mn>0</mml:mn>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:msup></mml:mrow></mml:semantics></mml:math></inline-formula> class to the separating hyper-plane is equal to the average geometric distance from variables of 
<inline-formula>
<mml:math id="mm52" display="inline">
<mml:semantics id="sm52">
<mml:mrow>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mn>0</mml:mn>
<mml:mo>′</mml:mo></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> class to the separating hyper-plane, and the probability distribution of 
<inline-formula>
<mml:math id="mm53" display="inline">
<mml:semantics id="sm53">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mn>0</mml:mn>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:msup></mml:mrow></mml:semantics></mml:math></inline-formula> class are same as the probability distribution of 
<inline-formula>
<mml:math id="mm54" display="inline">
<mml:semantics id="sm54">
<mml:mrow>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mn>0</mml:mn>
<mml:mo>′</mml:mo></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> class. Then, based on proposition 1, the probability that a variable of 
<inline-formula>
<mml:math id="mm55" display="inline">
<mml:semantics id="sm55">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mn>0</mml:mn>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:msup></mml:mrow></mml:semantics></mml:math></inline-formula> class mistakenly labeled as 
<inline-formula>
<mml:math id="mm56" display="inline">
<mml:semantics id="sm56">
<mml:mrow>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>λ</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> class is equal to the probability (the probability of false alarm) that a variable of 
<inline-formula>
<mml:math id="mm57" display="inline">
<mml:semantics id="sm57">
<mml:mrow>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mn>0</mml:mn>
<mml:mo>′</mml:mo></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> class is mistakenly labeled as 
<inline-formula>
<mml:math id="mm58" display="inline">
<mml:semantics id="sm58">
<mml:mrow>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mn>1</mml:mn>
<mml:mo>′</mml:mo></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> class. To conclude, it could be expressed as equation:
<disp-formula id="FD28">
<label>(28)</label>
<mml:math id="mm59" display="block">
<mml:semantics id="sm59">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>λ</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mo>Pr</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mn>0</mml:mn>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:msup></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo>Pr</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>0</mml:mn></mml:msub></mml:mrow>
<mml:mo>′</mml:mo></mml:msup></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>f</mml:mi></mml:msub></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>Each set of parameter <italic>λ<sub>tr</sub></italic> and <italic>N<sub>s</sub></italic> will be used to generate two classes of variable: 
<inline-formula>
<mml:math id="mm60" display="inline">
<mml:semantics id="sm60">
<mml:mrow>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>λ</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> and 
<inline-formula>
<mml:math id="mm61" display="inline">
<mml:semantics id="sm61">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mn>0</mml:mn>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:msup></mml:mrow></mml:semantics></mml:math></inline-formula>. A decision function marked as <italic>f<sub>N<sub>s</sub>, P<sub>f</sub></sub></italic>(<italic>x</italic>) could be obtained by training PSO-SVM with these two classes of data. Finally, the decision function <italic>f<sub>N<sub>s</sub>, P<sub>f</sub></sub></italic>(<italic>x</italic>) is stored as a non-linear threshold.</p>
<p>The process to obtain a non-linear threshold is shown in <xref ref-type="table" rid="t2-sensors-12-15292">Table 2</xref>, and some of typical training results of <italic>f<sub>N<sub>s</sub>, P<sub>f</sub></sub></italic>(<italic>x</italic>) are shown in <xref ref-type="table" rid="t3-sensors-12-15292">Table 3</xref> and <xref ref-type="fig" rid="f2-sensors-12-15292">Figure 2</xref>.</p></sec></sec>
<sec>
<label>3.2.2.</label>
<title>Online Module</title>
<p>In the Online module, the proposed system automatically chooses one of the decision functions (according to required number of signal samples <italic>N<sub>s</sub></italic> and probability of false alarm <italic>P<sub>f</sub></italic>) stored in the Offline Module as non-linear threshold to judge whether the actual primary user is present e.g., the required number of signal samples is <italic>N<sub>s</sub></italic> = 5 and probability of false alarm is <italic>P<sub>f</sub></italic> = 0.1, the proposed system would apply decision function <italic>f</italic><sub>5,0.1</sub>(<italic>x</italic>) as the non-linear threshold.</p>
<p>If a decision function <italic>f<sub>N<sub>s</sub>, P<sub>f</sub></sub></italic>(<italic>x</italic>) is chosen as the nonlinear threshold, <xref rid="FD20" ref-type="disp-formula">Equations (20)</xref> and <xref rid="FD21" ref-type="disp-formula">(21)</xref> will be converted to:
<disp-formula id="FD29">
<label>(29)</label>
<mml:math id="mm62" display="block">
<mml:semantics id="sm62">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>f</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mo>Pr</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub>
<mml:mrow>
<mml:mo>,</mml:mo></mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>f</mml:mi></mml:msub></mml:mrow></mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>T</mml:mi>
<mml:mo>'</mml:mo></mml:msup></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>∣</mml:mo>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mn>0</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>λ</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD30">
<label>(30)</label>
<mml:math id="mm63" display="block">
<mml:semantics id="sm63">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>d</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mo>Pr</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub>
<mml:mrow>
<mml:mo>,</mml:mo></mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>f</mml:mi></mml:msub></mml:mrow></mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>T</mml:mi>
<mml:mo>'</mml:mo></mml:msup></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>∣</mml:mo>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The result of spectrum sensing is given by:
<disp-formula id="FD31">
<label>(31)</label>
<mml:math id="mm64" display="block">
<mml:semantics id="sm64">
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub>
<mml:mrow>
<mml:mo>,</mml:mo></mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>f</mml:mi></mml:msub></mml:mrow></mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>T</mml:mi>
<mml:mo>'</mml:mo></mml:msup></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mspace width="0.2em"/>
<mml:mtext>Primary user is presented</mml:mtext>
<mml:mspace width="0.2em"/>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mtext>hypothesis</mml:mtext>
<mml:mspace width="0.2em"/>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub>
<mml:mrow>
<mml:mo>,</mml:mo></mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>f</mml:mi></mml:msub></mml:mrow></mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>T</mml:mi>
<mml:mo>'</mml:mo></mml:msup></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mspace width="0.2em"/>
<mml:mtext>Primary user is not presented</mml:mtext>
<mml:mspace width="0.2em"/>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mtext>hypothesis</mml:mtext>
<mml:mspace width="0.2em"/>
<mml:msub>
<mml:mi>H</mml:mi>
<mml:mn>0</mml:mn></mml:msub></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p></sec>
<sec>
<label>3.2.3.</label>
<title>Comparison with Traditional Energy Detection</title>
<p>Energy detection is the basic sensing method, which was first proposed in [<xref ref-type="bibr" rid="b9-sensors-12-15292">9</xref>] and further studied in [<xref ref-type="bibr" rid="b5-sensors-12-15292">5</xref>,<xref ref-type="bibr" rid="b10-sensors-12-15292">10</xref>]. It does not need any information of the signal to be detected and is robust to unknown dispersive channels. Energy detection compares the normalized average power of the actual received signal plus noise 
<inline-formula>
<mml:math id="mm65" display="inline">
<mml:semantics id="sm65">
<mml:mrow>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mn>1</mml:mn>
<mml:mo>′</mml:mo></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow>
<mml:mo>/</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mi>u</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:mrow></mml:mrow></mml:semantics></mml:math></inline-formula> variable with the noise power 
<inline-formula>
<mml:math id="mm66" display="inline">
<mml:semantics id="sm66">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>0</mml:mn></mml:msub></mml:mrow>
<mml:mo>'</mml:mo></mml:msup>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>0</mml:mn></mml:msub></mml:mrow>
<mml:mo>/</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mi>u</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:mrow></mml:mrow></mml:semantics></mml:math></inline-formula> to make a decision. To guarantee a reliable detection, the threshold must be set according to the actual noise power 
<inline-formula>
<mml:math id="mm67" display="inline">
<mml:semantics id="sm67">
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mi>u</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> and the number of samples <italic>N<sub>s</sub></italic> [<xref ref-type="bibr" rid="b9-sensors-12-15292">9</xref>]. The difference between the traditional Energy detection and the proposed system is that the proposed system has a Offline module to obtain decision functions as the non-linear thresholds.</p>
<p>In the Offline module, the system needs a great number of 
<inline-formula>
<mml:math id="mm68" display="inline">
<mml:semantics id="sm68">
<mml:mrow>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>λ</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> variables and 
<inline-formula>
<mml:math id="mm69" display="inline">
<mml:semantics id="sm69">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mn>0</mml:mn>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:msup></mml:mrow></mml:semantics></mml:math></inline-formula> variables to train PSO-SVM during each training process. Taking the simulation process in this article as an instance, 500 variables from 
<inline-formula>
<mml:math id="mm70" display="inline">
<mml:semantics id="sm70">
<mml:mrow>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>λ</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> and the same from 
<inline-formula>
<mml:math id="mm71" display="inline">
<mml:semantics id="sm71">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mn>0</mml:mn>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:msup></mml:mrow></mml:semantics></mml:math></inline-formula> are deployed for each training process, of which computational complexity is about <italic>O</italic>(1000<sup>3</sup>) [<xref ref-type="bibr" rid="b16-sensors-12-15292">16</xref>].</p>
<p>As the price of getting the full list of decision functions, the training times are huge. Therefore the overall computational complexity of the offline module is extremely high. However, in a real spectrum sensing situation, we only take care of the computational complexity in the Online module. The computational complexity of traditional Energy detection needs about <italic>N<sub>s</sub></italic> multiplications and additions. Hence, the computational complexity of the proposed methods is about <italic>N<sub>s</sub></italic> + 1 multiplications and additions, which is competitive with traditional Energy Detection.</p></sec></sec></sec>
<sec sec-type="results|discussion">
<label>4.</label>
<title>Results and Discussion</title>
<p>In this section, we use the decision functions stored in the Offline module as the nonlinear thresholds to simulate the probability of detection <italic>P<sub>d</sub></italic> in the Online module.</p>
<p>In <xref ref-type="fig" rid="f3-sensors-12-15292">Figure 3</xref> we compare the receiver operating characteristic curve of the proposed method and traditional energy detection for actual <italic>SNR λ</italic> = 0<italic>dB</italic> and number of signal samples <italic>N<sub>s</sub></italic> = 5. If the <italic>SNR</italic> of the actual received signal is low and the number of signal samples is small e.g., <italic>λ</italic> = 0 <italic>dB</italic> and <italic>N<sub>s</sub></italic> = 5, the corresponding spectrum sensing problem based on energy detection is a linearly inseparable binary classification problem. Traditional energy detection with a predefined threshold is a linear classifier, it cannot solve linearly inseparable problem efficiently. But the proposed method is a nonlinear classifier based on PSO-SVM, which can solve linearly inseparable problem efficiently. As shown in <xref ref-type="fig" rid="f3-sensors-12-15292">Figure 3</xref>, the performance of the proposed method is much better than traditional energy detection.</p>
<p>In <xref ref-type="fig" rid="f4-sensors-12-15292">Figure 4</xref> we compare the receiver operating characteristic curve of the proposed method and traditional energy detection in terms of actual <italic>SNR λ</italic> = 5 <italic>dB</italic> and number of signal samples <italic>N<sub>s</sub></italic> = 5. Although the actual <italic>SNR λ</italic> increases to 5 <italic>dB</italic> but the number of signal samples <italic>N<sub>s</sub></italic> = 5 is small, which means the corresponding spectrum sensing problem based on energy detection is still linearly inseparable. Therefore, as shown in <xref ref-type="fig" rid="f4-sensors-12-15292">Figure 4</xref>, the performance of proposed method is dramatically better than the traditional energy detection method.</p>
<p>In <xref ref-type="fig" rid="f5-sensors-12-15292">Figure 5</xref> we compare <italic>P<sub>d</sub></italic> of the proposed method and traditional energy detection for fixed <italic>P<sub>f</sub></italic> = 0.1 and number of signal samples <italic>N<sub>s</sub></italic> = 1,000, the corresponding performance of the proposed method is still better than energy detection. This is because although the number of sensing samples is large <italic>i.e.</italic>, 1000, but actual <italic>SNR λ</italic> is low, thus the corresponding spectrum sensing problem is linearly inseparable, however the proposed method can classify linearly inseparable problem efficiently. As shown in <xref ref-type="fig" rid="f5-sensors-12-15292">Figure 5</xref>, at <italic>λ</italic> = −20 <italic>dB</italic> the proposed method is almost three times better than traditional energy detection. With the <italic>λ</italic> increases the spectrum sensing problem coverage to linearly separable, and the difference of performance between the proposed method and the traditional energy detection also decreases.</p></sec>
<sec sec-type="conclusions">
<label>5.</label>
<title>Conclusions</title>
<p>In this paper, a novel modular spectrum sensing method for cognitive radio based on PSO-SVM is proposed. It comprises two distinct modules, <italic>i.e.</italic>, Offline and Online. In the Offline module, the decision functions with associated probabilities of false alarm are obtained. In the Online module, the primary user is detected by using the decision functions obtained in the Offline module.</p>
<p>The proposed method actually is independent from the traditional detection method, a nonlinear decision is exploited to replace the linear threshold, which drastically improves the performance of detection without increasing the computational complexity in Online phase. The approach can be used for various signal detection applications without <italic>a priori</italic> knowledge of signals and channels. Simulations have been carried to evaluate the performance of the proposed method. It has been shown that the proposed approach is more effective than the traditional energy detection approach in hostile environments. More specifically, when the received signal samples are lacking and <italic>SNR</italic> is low, the approach proposed in this paper can give a reliable performance, while the traditional energy detection approach is hypodynamic.</p>
<p>In our future research work, we will try to apply the proposed method to enhance more sophisticated detection algorithm which uses predefined linear threshold (e.g., the method proposed in [<xref ref-type="bibr" rid="b14-sensors-12-15292">14</xref>]). More specifically, secondary users are located with detected radio map thereby deploying space-time spectrum sensing. And the specific signal pattern from the primary user can be recognized by analyzing the signal detected.</p></sec></body>
<back>
<app-group>
<app id="app1">
<title>Appendix: Proof of Proposition 1</title>
<sec>
<title/>
<p>If the point (<bold>x</bold>, <italic>y</italic>) is correctly classified by the optimal hyper-plane 
<inline-formula>
<mml:math id="mm72" display="inline">
<mml:semantics id="sm72">
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:mo>〈</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>⋅</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi></mml:mrow>
<mml:mo>〉</mml:mo></mml:mrow>
<mml:mo>+</mml:mo>
<mml:mi>b</mml:mi></mml:mrow>
<mml:mo>|</mml:mo></mml:mrow></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>‖</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mfrac>
<mml:mo>≥</mml:mo>
<mml:mi>γ</mml:mi></mml:mrow></mml:semantics></mml:math></inline-formula>. In order to facilitate the analysis, we introduce an additional coordinate to expand the sample, the new sample is <bold>x̂</bold> = (<bold>x</bold>′, <italic>R</italic>)′, <italic>R</italic> is a constant, <bold>x</bold>′ is the transpose of <bold>x</bold>. Similarly we can use bias <italic>b</italic> to expand the weighted vector <italic>w</italic>, and the expanded <italic>w</italic> is <bold>ŵ</bold> = (<bold>w</bold>′, <italic>b</italic>/<italic>R</italic>)′, the iteration starts from <bold>ŵ</bold> = 0, if there is a wrong separation, the <bold>ŵ</bold> is updated accordingly. Suppose <bold>ŵ</bold><italic><sub>t</sub></italic><sub>−1</sub> is the weighed vector before the wrong separation:
<disp-formula id="FD32">
<label>(32)</label>
<mml:math id="mm73" display="block">
<mml:semantics id="sm73">
<mml:mrow>
<mml:mrow>
<mml:mo>〈</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>∧</mml:mo></mml:mover></mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>⋅</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo>∧</mml:mo></mml:mover></mml:mrow>
<mml:mi>i</mml:mi></mml:msub></mml:mrow>
<mml:mo>〉</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mrow/></mml:mover></mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>⋅</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>≤</mml:mo>
<mml:mn>0</mml:mn></mml:mrow></mml:semantics></mml:math></disp-formula>where (<bold>x</bold>, <italic>y</italic>) is the data mistakenly separated by 
<inline-formula>
<mml:math id="mm74" display="inline">
<mml:semantics id="sm74">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>∧</mml:mo></mml:mover></mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mo>'</mml:mo></mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow>
<mml:mo>/</mml:mo>
<mml:mi>R</mml:mi></mml:mrow></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow>
<mml:mo>'</mml:mo></mml:msup></mml:mrow></mml:semantics></mml:math></inline-formula> and the <italic>t</italic> − <italic>th</italic> update is given by:
<disp-formula id="FD33">
<label>(33)</label>
<mml:math id="mm75" display="block">
<mml:semantics id="sm75">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>∧</mml:mo></mml:mover></mml:mrow>
<mml:mi>t</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>'</mml:mo></mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo>/</mml:mo>
<mml:mi>R</mml:mi></mml:mrow></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow>
<mml:mo>'</mml:mo></mml:msup>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mo>'</mml:mo></mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>b</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow>
<mml:mo>/</mml:mo>
<mml:mi>R</mml:mi></mml:mrow></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow>
<mml:mo>'</mml:mo></mml:msup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>'</mml:mo></mml:msubsup>
<mml:mo>,</mml:mo>
<mml:mi>R</mml:mi></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow>
<mml:mo>'</mml:mo></mml:msup>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>∧</mml:mo></mml:mover></mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>α</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:msub>
<mml:mrow>
<mml:mover>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo>∧</mml:mo></mml:mover></mml:mrow>
<mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:semantics></mml:math></disp-formula>where <italic>b<sub>t</sub></italic>/<italic>R</italic> = <italic>b<sub>t</sub></italic><sub>−1</sub>/<italic>R</italic> + <italic>αyR</italic>, <italic>α</italic> is Lagrange multiplier and we can obtain a result:
<disp-formula id="FD34">
<label>(34)</label>
<mml:math id="mm76" display="block">
<mml:semantics id="sm76">
<mml:mrow>
<mml:mrow>
<mml:mo>〈</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>∧</mml:mo></mml:mover></mml:mrow>
<mml:mi>t</mml:mi></mml:msub>
<mml:mo>⋅</mml:mo>
<mml:mover>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>∧</mml:mo></mml:mover></mml:mrow>
<mml:mo>〉</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>〈</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>∧</mml:mo></mml:mover></mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>⋅</mml:mo>
<mml:mover>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>∧</mml:mo></mml:mover></mml:mrow>
<mml:mo>〉</mml:mo></mml:mrow>
<mml:mo>+</mml:mo>
<mml:mi>α</mml:mi>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mrow>
<mml:mo>〈</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo>∧</mml:mo></mml:mover></mml:mrow>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>⋅</mml:mo>
<mml:mover>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>∧</mml:mo></mml:mover></mml:mrow>
<mml:mo>〉</mml:mo></mml:mrow>
<mml:mo>≥</mml:mo>
<mml:mrow>
<mml:mo>〈</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>∧</mml:mo></mml:mover></mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>⋅</mml:mo>
<mml:mover>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>∧</mml:mo></mml:mover></mml:mrow>
<mml:mo>〉</mml:mo></mml:mrow>
<mml:mo>+</mml:mo>
<mml:mi>α</mml:mi>
<mml:mi>γ</mml:mi></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>Before the <italic>t-th</italic> mistaken separation there already has <italic>t</italic> − 1 wrong separations thus we can obtain:
<disp-formula id="FD35">
<label>(35)</label>
<mml:math id="mm77" display="block">
<mml:semantics id="sm77">
<mml:mrow>
<mml:mrow>
<mml:mo>〈</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>∧</mml:mo></mml:mover></mml:mrow>
<mml:mi>t</mml:mi></mml:msub>
<mml:mo>⋅</mml:mo>
<mml:mover>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>∧</mml:mo></mml:mover></mml:mrow>
<mml:mo>〉</mml:mo></mml:mrow>
<mml:mo>≥</mml:mo>
<mml:mi>t</mml:mi>
<mml:mi>α</mml:mi>
<mml:mi>γ</mml:mi></mml:mrow></mml:semantics></mml:math></disp-formula>similarly:
<disp-formula id="FD36">
<label>(36)</label>
<mml:math id="mm78" display="block">
<mml:semantics id="sm78">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mrow>
<mml:mover>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo>∧</mml:mo></mml:mover></mml:mrow>
<mml:mo>‖</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>∧</mml:mo></mml:mover></mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow>
<mml:mo>‖</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>+</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>α</mml:mi>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mover>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow>
<mml:mo>∧</mml:mo></mml:mover>
<mml:mo>⋅</mml:mo>
<mml:mover>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo>∧</mml:mo></mml:mover></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mi>α</mml:mi>
<mml:mn>2</mml:mn></mml:msup>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mrow>
<mml:mover>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo>∧</mml:mo></mml:mover></mml:mrow>
<mml:mo>‖</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd/>
<mml:mtd>
<mml:mrow>
<mml:mo>≤</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>∧</mml:mo></mml:mover></mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow>
<mml:mo>‖</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mi>α</mml:mi>
<mml:mn>2</mml:mn></mml:msup>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mrow>
<mml:mover>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo>∧</mml:mo></mml:mover></mml:mrow>
<mml:mo>‖</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>≤</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>∧</mml:mo></mml:mover></mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow>
<mml:mo>‖</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mi>α</mml:mi>
<mml:mn>2</mml:mn></mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mrow>
<mml:mover>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mo>∧</mml:mo></mml:mover></mml:mrow>
<mml:mo>‖</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mi>R</mml:mi>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd/>
<mml:mtd>
<mml:mrow>
<mml:mo>≤</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>∧</mml:mo></mml:mover></mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow>
<mml:mo>‖</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>+</mml:mo>
<mml:mn>2</mml:mn>
<mml:msup>
<mml:mi>α</mml:mi>
<mml:mn>2</mml:mn></mml:msup>
<mml:msup>
<mml:mi>R</mml:mi>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:semantics></mml:math></disp-formula>which means:
<disp-formula id="FD37">
<label>(37)</label>
<mml:math id="mm79" display="block">
<mml:semantics id="sm79">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mrow>
<mml:mover>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo>∧</mml:mo></mml:mover></mml:mrow>
<mml:mo>‖</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>≤</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>t</mml:mi>
<mml:msup>
<mml:mi>α</mml:mi>
<mml:mn>2</mml:mn></mml:msup>
<mml:msup>
<mml:mi>R</mml:mi>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:semantics></mml:math></disp-formula>and a close form is given by <xref rid="FD34" ref-type="disp-formula">Equation (34)</xref> and <xref rid="FD35" ref-type="disp-formula">Equation (35)</xref>:
<disp-formula id="FD38">
<label>(38)</label>
<mml:math id="mm80" display="block">
<mml:semantics id="sm80">
<mml:mrow>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mrow>
<mml:mover>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>∧</mml:mo></mml:mover></mml:mrow>
<mml:mo>‖</mml:mo></mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>t</mml:mi></mml:mrow></mml:msqrt>
<mml:mi>α</mml:mi>
<mml:mi>R</mml:mi>
<mml:mo>≥</mml:mo>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mrow>
<mml:mover>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>∧</mml:mo></mml:mover></mml:mrow>
<mml:mo>‖</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mrow>
<mml:mover>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo>∧</mml:mo></mml:mover></mml:mrow>
<mml:mo>‖</mml:mo></mml:mrow>
<mml:mo>≥</mml:mo>
<mml:mrow>
<mml:mo>〈</mml:mo>
<mml:mrow>
<mml:mover>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mi>t</mml:mi></mml:msub></mml:mrow>
<mml:mo>∧</mml:mo></mml:mover>
<mml:mo>⋅</mml:mo>
<mml:mover>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>∧</mml:mo></mml:mover></mml:mrow>
<mml:mo>〉</mml:mo></mml:mrow>
<mml:mo>≥</mml:mo>
<mml:mi>t</mml:mi>
<mml:mi>α</mml:mi>
<mml:mi>γ</mml:mi></mml:mrow></mml:semantics></mml:math></disp-formula>based on <xref rid="FD35" ref-type="disp-formula">Equation (35)</xref> and <xref rid="FD36" ref-type="disp-formula">Equation (36)</xref>:
<disp-formula id="FD39">
<label>(39)</label>
<mml:math id="mm81" display="block">
<mml:semantics id="sm81">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>∝</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mi>γ</mml:mi></mml:mfrac></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>Proposition 1 is proven.</p></sec></app></app-group>
<ref-list>
<title>References</title>
<ref id="b1-sensors-12-15292"><label>1.</label><citation citation-type="book"><source>Spectrum Policy Task Force Report; Technical Report TR 02-155</source><publisher-name>Federal Communications Commission</publisher-name><publisher-loc>Washington, DC, USA</publisher-loc><year>2002</year></citation></ref>
<ref id="b2-sensors-12-15292"><label>2.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Mitola</surname><given-names>J.</given-names></name><name><surname>Maguire</surname><given-names>G.Q.</given-names></name></person-group><article-title>Cognitive radio: Making software radios more personal</article-title><source>IEEE Personal Commun.</source><year>1999</year><volume>6</volume><fpage>13</fpage><lpage>18</lpage><pub-id pub-id-type="doi">10.1109/98.788210</pub-id></citation></ref>
<ref id="b3-sensors-12-15292"><label>3.</label><citation citation-type="thesis"><person-group person-group-type="author"><name><surname>Mitola</surname><given-names>J.</given-names></name></person-group><article-title>Cognitive Radio: An Integrated Agent Architecture for Software Defined Radio</article-title><source>Ph.D. Thesis</source><publisher-name>Royal Institute of Technology (KTH)</publisher-name><publisher-loc>Stockholm, Sweden</publisher-loc><year>2000</year></citation></ref>
<ref id="b4-sensors-12-15292"><label>4.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Haykin</surname><given-names>S.</given-names></name></person-group><article-title>Cognitive radio: Brain-Empowered wireless communications</article-title><source>IEEE J. Sel. Area Commun.</source><year>2005</year><volume>23</volume><fpage>201</fpage><lpage>220</lpage><pub-id pub-id-type="doi">10.1109/JSAC.2004.839380</pub-id></citation></ref>
<ref id="b5-sensors-12-15292"><label>5.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Liang</surname><given-names>Y.C.</given-names></name><name><surname>Zeng</surname><given-names>Y.H.</given-names></name><name><surname>Peh</surname><given-names>E.C.Y.</given-names></name><name><surname>Hoang</surname><given-names>A.T.</given-names></name></person-group><article-title>Sensing-throughput tradeoff for cognitive radio networks</article-title><source>IEEE Trans. Wirel. Commun.</source><year>2008</year><volume>7</volume><fpage>1326</fpage><lpage>1337</lpage><pub-id pub-id-type="doi">10.1109/TWC.2008.060869</pub-id></citation></ref>
<ref id="b6-sensors-12-15292"><label>6.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Kay</surname><given-names>S.</given-names></name></person-group><source>Fundamentals of Statistical Signal Processing: Detection Theory</source><edition>1st ed.</edition><publisher-name>Prentice-Hall</publisher-name><publisher-loc>Englewood Cliffs, NJ, USA</publisher-loc><year>1998</year></citation></ref>
<ref id="b7-sensors-12-15292"><label>7.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Quan</surname><given-names>Z.</given-names></name><name><surname>Cui</surname><given-names>S.</given-names></name><name><surname>Sayed</surname><given-names>A.H.</given-names></name></person-group><article-title>Optimal linear cooperation for spectrum sensing in cognitive radio networks</article-title><source>IEEE J. Sel. Top. Signal Process.</source><year>2008</year><volume>2</volume><fpage>28</fpage><lpage>40</lpage><pub-id pub-id-type="doi">10.1109/JSTSP.2007.914882</pub-id></citation></ref>
<ref id="b8-sensors-12-15292"><label>8.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Taricco</surname><given-names>G.</given-names></name></person-group><article-title>Optimization of linear cooperative spectrum sensing for cognitive radio networks</article-title><source>IEEE J. Sel. Top. Signal Process.</source><year>2011</year><volume>5</volume><fpage>77</fpage><lpage>86</lpage><pub-id pub-id-type="doi">10.1109/JSTSP.2010.2055537</pub-id></citation></ref>
<ref id="b9-sensors-12-15292"><label>9.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Urkowitz</surname><given-names>H.</given-names></name></person-group><article-title>Energy detection of unknown deterministic signals</article-title><source>Proc. IEEE</source><year>1967</year><volume>55</volume><fpage>523</fpage><lpage>531</lpage><pub-id pub-id-type="doi">10.1109/PROC.1967.5573</pub-id></citation></ref>
<ref id="b10-sensors-12-15292"><label>10.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Sonnenschein</surname><given-names>A.</given-names></name><name><surname>Fishman</surname><given-names>P.M.</given-names></name></person-group><article-title>Radiometric detection of spread-spectrum signals in noise of uncertainty power</article-title><source>IEEE Trans. Aerosp. Electron. Syst.</source><year>1992</year><volume>28</volume><fpage>654</fpage><lpage>660</lpage><pub-id pub-id-type="doi">10.1109/7.256287</pub-id></citation></ref>
<ref id="b11-sensors-12-15292"><label>11.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Sahai</surname><given-names>A.</given-names></name><name><surname>Cabric</surname><given-names>D.</given-names></name></person-group><article-title>Spectrum Sensing: Fundamental Limits and Practical Challenges</article-title><conf-name>Proceedings of the IEEE DySpan Conference</conf-name><conf-loc>Baltimore, MD, USA</conf-loc><conf-date>8– 11 November 2005</conf-date></citation></ref>
<ref id="b12-sensors-12-15292"><label>12.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Gardner</surname><given-names>W.A.</given-names></name></person-group><article-title>Exploitation of spectral redundancy in cyclostationary signals</article-title><source>IEEE Signal Process. Mag.</source><year>1991</year><volume>8</volume><fpage>14</fpage><lpage>36</lpage></citation></ref>
<ref id="b13-sensors-12-15292"><label>13.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Gardner</surname><given-names>W.A.</given-names></name><name><surname>Brown</surname><given-names>W.A.</given-names></name><name><surname>Chen</surname><given-names>C.K.</given-names></name></person-group><article-title>Spectral correlation of modulated signals—Part II: Digital modulation</article-title><source>IEEE Trans. Commun.</source><year>1987</year><volume>35</volume><fpage>595</fpage><lpage>601</lpage><pub-id pub-id-type="doi">10.1109/TCOM.1987.1096816</pub-id></citation></ref>
<ref id="b14-sensors-12-15292"><label>14.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zeng</surname><given-names>Y.H.</given-names></name><name><surname>Liang</surname><given-names>Y.C.</given-names></name></person-group><article-title>Spectrum—Sensing algorithms for cognitive radio based on statistical covariances</article-title><source>IEEE Trans. Veh. Technol.</source><year>2009</year><volume>58</volume><fpage>1804</fpage><lpage>1815</lpage><pub-id pub-id-type="doi">10.1109/TVT.2008.2005267</pub-id></citation></ref>
<ref id="b15-sensors-12-15292"><label>15.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Chen</surname><given-names>H.S.</given-names></name><name><surname>Gao</surname><given-names>W.</given-names></name><name><surname>Daut</surname><given-names>D.G.</given-names></name></person-group><article-title>Signature Based Spectrum Sensing Algorithms for IEEE 802.22 WRAN</article-title><conf-name>Proceedings of the IEEE International Conference on Communications</conf-name><conf-loc>Glasgow, UK</conf-loc><conf-date>24–28 June 2007</conf-date><fpage>6487</fpage><lpage>6492</lpage></citation></ref>
<ref id="b16-sensors-12-15292"><label>16.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Vapnik</surname><given-names>V.N.</given-names></name></person-group><source>The Nature of Statistical Learning Theory</source><edition>1st ed.</edition><publisher-name>Springer-Verlag</publisher-name><publisher-loc>New York, NY, USA</publisher-loc><year>1995</year></citation></ref>
<ref id="b17-sensors-12-15292"><label>17.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Chapelle</surname><given-names>O.</given-names></name><name><surname>Haffner</surname><given-names>P.</given-names></name><name><surname>Vapnik</surname><given-names>V.</given-names></name></person-group><article-title>Support vector machines for histogram-based image classification</article-title><source>IEEE Trans. Neural Netw.</source><year>1999</year><volume>10</volume><fpage>1055</fpage><lpage>1064</lpage><pub-id pub-id-type="doi">10.1109/72.788646</pub-id><pub-id pub-id-type="pmid">18252608</pub-id></citation></ref>
<ref id="b18-sensors-12-15292"><label>18.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Kuhn</surname><given-names>H.</given-names></name><name><surname>Tucker</surname><given-names>A.</given-names></name></person-group><article-title>Nonlinear Programming</article-title><conf-name>Proceedings of 2nd Berkeley Symposium on Mathematical Statistics and Probabilistics</conf-name><conf-loc>Berkeley, CA, USA</conf-loc><conf-date>31 July–12 August 1950</conf-date><fpage>481</fpage><lpage>492</lpage></citation></ref>
<ref id="b19-sensors-12-15292"><label>19.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Cai</surname><given-names>Z.R.</given-names></name><name><surname>Zhao</surname><given-names>H.L.</given-names></name><name><surname>Jia</surname><given-names>M.</given-names></name></person-group><article-title>Spectrum sensing in cognitive radio based on adaptive optimal SVM</article-title><source>Inform. Technol. J.</source><year>2011</year><volume>10</volume><fpage>1427</fpage><lpage>1431</lpage><pub-id pub-id-type="doi">10.3923/itj.2011.1427.1431</pub-id></citation></ref>
<ref id="b20-sensors-12-15292"><label>20.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Patnaik</surname><given-names>P.B.</given-names></name></person-group><article-title>The noncentral <italic>χ</italic><sub>2</sub> and <italic>F</italic> distributions and their applications</article-title><source>Biometrika</source><year>1949</year><volume>36</volume><fpage>202</fpage><lpage>232</lpage><pub-id pub-id-type="pmid">18132092</pub-id></citation></ref></ref-list>
<sec sec-type="display-objects">
<title>Figures and Tables</title>
<fig id="f1-sensors-12-15292" position="float">
<label>Figure 1.</label>
<caption>
<p>System model of the proposed method.</p></caption>
<graphic xlink:href="sensors-12-15292f1.gif"/></fig>
<fig id="f2-sensors-12-15292" position="float">
<label>Figure 2.</label>
<caption>
<p>Training Results of <xref ref-type="table" rid="t3-sensors-12-15292">Table 3</xref>.</p></caption>
<graphic xlink:href="sensors-12-15292f2.gif"/></fig>
<fig id="f3-sensors-12-15292" position="float">
<label>Figure 3.</label>
<caption>
<p>Receiver operating characteristic curve of the proposed method and traditional energy detection for number of signal samples <italic>N<sub>s</sub></italic> = 5 and actual <italic>SNR λ</italic> = 0 <italic>dB</italic>.</p></caption>
<graphic xlink:href="sensors-12-15292f3.gif"/></fig>
<fig id="f4-sensors-12-15292" position="float">
<label>Figure 4.</label>
<caption>
<p>Receiver operating characteristic curve of the proposed method and traditional energy detection for <italic>P<sub>d</sub></italic> for number of signal samples <italic>N<sub>s</sub></italic> = 5 and actual <italic>SNR λ</italic> = 5 <italic>dB</italic>.</p></caption>
<graphic xlink:href="sensors-12-15292f4.gif"/></fig>
<fig id="f5-sensors-12-15292" position="float">
<label>Figure 5.</label>
<caption>
<p><italic>P<sub>d</sub></italic> of the proposed method and traditional energy detection for number of signal samples, <italic>N<sub>s</sub></italic> = 1,000, <italic>P<sub>f</sub></italic> = 0.1 and actual <italic>SNR λ</italic> = −20 <italic>dB</italic> −0 <italic>dB</italic>.</p></caption>
<graphic xlink:href="sensors-12-15292f5.gif"/></fig>
<table-wrap id="t1-sensors-12-15292" position="float">
<label>Table 1.</label>
<caption>
<p>Notation</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="center" valign="top"><italic>N<sub>s</sub></italic></th>
<th align="center" valign="top"><bold>number of signal samples for spectrum sensing</bold></th></tr></thead>
<tbody>
<tr>
<td align="center" valign="top"><italic>s</italic> (<italic>n</italic>)</td>
<td align="center" valign="top">actual received primary signal sample</td></tr>
<tr>
<td align="center" valign="top"><italic>u</italic> (<italic>n</italic>)</td>
<td align="center" valign="top">actual received noise sample</td></tr>
<tr>
<td align="center" valign="top"><italic>s<sub>tr</sub></italic> (<italic>n</italic>)</td>
<td align="center" valign="top">training primary signal sample in offline module</td></tr>
<tr>
<td align="center" valign="top"><italic>u<sub>tr</sub></italic> (<italic>n</italic>)</td>
<td align="center" valign="top">training noise sample in offline module</td></tr>
<tr>
<td align="center" valign="top">
<mml:math id="mm82" display="inline">
<mml:semantics id="sm82">
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mi>s</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:semantics></mml:math></td>
<td align="center" valign="top">variance of actual received primary signal</td></tr>
<tr>
<td align="center" valign="top">
<mml:math id="mm83" display="inline">
<mml:semantics id="sm83">
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mi>u</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:semantics></mml:math></td>
<td align="center" valign="top">variance of actual noise</td></tr>
<tr>
<td align="center" valign="top">
<mml:math id="mm84" display="inline">
<mml:semantics id="sm84">
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>λ</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:semantics></mml:math></td>
<td align="center" valign="top">variance of training primary signal in offline module</td></tr>
<tr>
<td align="center" valign="top">
<mml:math id="mm85" display="inline">
<mml:semantics id="sm85">
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:semantics></mml:math></td>
<td align="center" valign="top">variance of training noise in offline module</td></tr>
<tr>
<td align="center" valign="top"><italic>λ</italic></td>
<td align="center" valign="top"><italic>SNR</italic> of actual received primary signal</td></tr>
<tr>
<td align="center" valign="top"><italic>λ<sub>tr</sub></italic></td>
<td align="center" valign="top"><italic>SNR</italic> of training primary signal in offline module</td></tr>
<tr>
<td align="center" valign="top"><italic>T</italic></td>
<td align="center" valign="top">actual decision statistic</td></tr>
<tr>
<td align="center" valign="top"><italic>T</italic><sub>1</sub></td>
<td align="center" valign="top">actual decision statistic at hypothesis <italic>H</italic><sub>1</sub></td></tr>
<tr>
<td align="center" valign="top"><italic>T</italic><sub>0</sub></td>
<td align="center" valign="top">actual decision statistic at hypothesis <italic>H</italic><sub>0</sub></td></tr>
<tr>
<td align="center" valign="top">
<mml:math id="mm86" display="inline">
<mml:semantics id="sm86">
<mml:mrow>
<mml:msup>
<mml:mi>T</mml:mi>
<mml:mo>'</mml:mo></mml:msup>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mi>T</mml:mi>
<mml:mo>/</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mi>u</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:mrow></mml:mrow></mml:semantics></mml:math></td>
<td align="center" valign="top">normalized actual decision statistic</td></tr>
<tr>
<td align="center" valign="top">
<mml:math id="mm87" display="inline">
<mml:semantics id="sm87">
<mml:mrow>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mn>1</mml:mn>
<mml:mo>′</mml:mo></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>1</mml:mn></mml:msub></mml:mrow>
<mml:mo>/</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mi>u</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:mrow></mml:mrow></mml:semantics></mml:math></td>
<td align="center" valign="top">normalized actual decision statistic at hypothesis <italic>H</italic><sub>1</sub></td></tr>
<tr>
<td align="center" valign="top">
<mml:math id="mm88" display="inline">
<mml:semantics id="sm88">
<mml:mrow>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mn>0</mml:mn>
<mml:mo>′</mml:mo></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mn>0</mml:mn></mml:msub></mml:mrow>
<mml:mo>/</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mi>u</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:mrow></mml:mrow></mml:semantics></mml:math></td>
<td align="center" valign="top">normalized actual decision statistic at hypothesis <italic>H</italic><sub>0</sub></td></tr>
<tr>
<td align="center" valign="top">
<mml:math id="mm89" display="inline">
<mml:semantics id="sm89">
<mml:mrow>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>λ</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></td>
<td align="center" valign="top">training decision statistic defined by <italic>N<sub>s</sub></italic>, <italic>λ<sub>tr</sub></italic> at hypothesis <italic>H</italic><sub>1</sub> in offline module</td></tr>
<tr>
<td align="center" valign="top">
<mml:math id="mm90" display="inline">
<mml:semantics id="sm90">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mn>0</mml:mn>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:msup></mml:mrow></mml:semantics></mml:math></td>
<td align="center" valign="top">training decision statistic defined by <italic>N<sub>s</sub></italic> at hypothesis <italic>H</italic><sub>0</sub> in offline module</td></tr></tbody></table></table-wrap>
<table-wrap id="t2-sensors-12-15292" position="float">
<label>Table 2.</label>
<caption>
<p>The process to obtain a non-linear threshold.</p></caption>
<table frame="hsides" rules="rows">
<tbody>
<tr>
<td align="left" valign="top">1. Generate training signal <italic>s<sub>tr</sub></italic> (<italic>n</italic>) and training noise <italic>u<sub>tr</sub></italic> (<italic>n</italic>), with 
<mml:math id="mm91" display="inline">
<mml:semantics id="sm91">
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>λ</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:semantics></mml:math>, 
<mml:math id="mm92" display="inline">
<mml:semantics id="sm92">
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>s</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:semantics></mml:math>.</td></tr>
<tr>
<td align="left" valign="top">2. Compute two classes of data: 
<mml:math id="mm93" display="inline">
<mml:semantics id="sm93">
<mml:mrow>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>λ</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math>, 
<mml:math id="mm94" display="inline">
<mml:semantics id="sm94">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mn>0</mml:mn>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:msup></mml:mrow></mml:semantics></mml:math> by <xref rid="FD24" ref-type="disp-formula">(24)</xref> and <xref rid="FD25" ref-type="disp-formula">(25)</xref>.</td></tr>
<tr>
<td align="left" valign="top">3. Train PSO-SVM with two classes of data: 
<mml:math id="mm95" display="inline">
<mml:semantics id="sm95">
<mml:mrow>
<mml:msubsup>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>λ</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math>, 
<mml:math id="mm96" display="inline">
<mml:semantics id="sm96">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mn>0</mml:mn>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:msup></mml:mrow></mml:semantics></mml:math> to obtain a decision function <italic>f</italic> (<italic>x</italic>).</td></tr>
<tr>
<td align="left" valign="top">4. Test this <italic>f</italic> (<italic>x</italic>) with the variables of 
<mml:math id="mm97" display="inline">
<mml:semantics id="sm97">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mn>0</mml:mn>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub></mml:mrow></mml:msup></mml:mrow></mml:semantics></mml:math> class to obtain 
<mml:math id="mm98" display="inline">
<mml:semantics id="sm98">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>λ</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math>, based on Proposition 1 
<mml:math id="mm99" display="inline">
<mml:semantics id="sm99">
<mml:mrow>
<mml:msubsup>
<mml:mi>P</mml:mi>
<mml:mi>e</mml:mi>
<mml:mrow>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mi>s</mml:mi></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>λ</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>f</mml:mi></mml:msub></mml:mrow></mml:semantics></mml:math>.</td></tr>
<tr>
<td align="left" valign="top">5: Return <italic>f</italic> (<italic>x</italic>) as <italic>f<sub>N<sub>s</sub>, P<sub>f</sub></sub></italic>, and store it as non-linear threshold.</td></tr></tbody></table></table-wrap>
<table-wrap id="t3-sensors-12-15292" position="float">
<label>Table 3.</label>
<caption>
<p>Typical Training Results.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th colspan="3" align="center" valign="top"><italic>N<sub>s</sub></italic> = 5</th>
<th colspan="3" align="center" valign="top"><italic>N<sub>s</sub></italic> = 10</th></tr></thead>
<tbody>
<tr>
<td align="center" valign="top"><italic>λ<sub>tr</sub></italic></td>
<td align="center" valign="top"><italic>P<sub>f</sub></italic></td>
<td align="center" valign="top"><italic>f<sub>N<sub>s</sub>, P<sub>f</sub></sub></italic>(<italic>x</italic>)</td>
<td align="center" valign="top"><italic>λ<sub>tr</sub></italic></td>
<td align="center" valign="top"><italic>P<sub>f</sub></italic></td>
<td align="center" valign="top"><italic>f<sub>N<sub>s</sub>, P<sub>f</sub></sub></italic>(<italic>x</italic>)</td></tr>
<tr>
<td align="center" valign="top">−35.7 dB</td>
<td align="center" valign="top">0.9</td>
<td align="center" valign="top"><italic>f</italic><sub>5,0.9</sub>(<italic>x</italic>)</td>
<td align="center" valign="top">−37.1 dB</td>
<td align="center" valign="top">0.9</td>
<td align="center" valign="top"><italic>f</italic><sub>10,0.9</sub>(<italic>x</italic>)</td></tr>
<tr>
<td align="center" valign="top">−29.8 dB</td>
<td align="center" valign="top">0.8</td>
<td align="center" valign="top"><italic>f</italic><sub>5,0.8</sub>(<italic>x</italic>)</td>
<td align="center" valign="top">−32.8 dB</td>
<td align="center" valign="top">0.8</td>
<td align="center" valign="top"><italic>f</italic><sub>10,0.8</sub>(<italic>x</italic>)</td></tr>
<tr>
<td align="center" valign="top">−24.9 dB</td>
<td align="center" valign="top">0.7</td>
<td align="center" valign="top"><italic>f</italic><sub>5,0.7</sub>(<italic>x</italic>)</td>
<td align="center" valign="top">−27.2 dB</td>
<td align="center" valign="top">0.7</td>
<td align="center" valign="top"><italic>f</italic><sub>10,0.7</sub>(<italic>x</italic>)</td></tr>
<tr>
<td align="center" valign="top">−20.4 dB</td>
<td align="center" valign="top">0.6</td>
<td align="center" valign="top"><italic>f</italic><sub>5,0.6</sub>(<italic>x</italic>)</td>
<td align="center" valign="top">−21.6 dB</td>
<td align="center" valign="top">0.6</td>
<td align="center" valign="top"><italic>f</italic><sub>10,0.6</sub>(<italic>x</italic>)</td></tr>
<tr>
<td align="center" valign="top">−16.5 dB</td>
<td align="center" valign="top">0.5</td>
<td align="center" valign="top"><italic>f</italic><sub>5,0.5</sub>(<italic>x</italic>)</td>
<td align="center" valign="top">−18.4 dB</td>
<td align="center" valign="top">0.5</td>
<td align="center" valign="top"><italic>f</italic><sub>10,0.5</sub>(<italic>x</italic>)</td></tr>
<tr>
<td align="center" valign="top">−6.5 dB</td>
<td align="center" valign="top">0.4</td>
<td align="center" valign="top"><italic>f</italic><sub>5,0.4</sub>(<italic>x</italic>)</td>
<td align="center" valign="top">−8.1 dB</td>
<td align="center" valign="top">0.4</td>
<td align="center" valign="top"><italic>f</italic><sub>10,0.4</sub>(<italic>x</italic>)</td></tr>
<tr>
<td align="center" valign="top">−2.8 dB</td>
<td align="center" valign="top">0.3</td>
<td align="center" valign="top"><italic>f</italic><sub>5,0.3</sub>(<italic>x</italic>)</td>
<td align="center" valign="top">−4.2 dB</td>
<td align="center" valign="top">0.3</td>
<td align="center" valign="top"><italic>f</italic><sub>10,0.3</sub>(<italic>x</italic>)</td></tr>
<tr>
<td align="center" valign="top">−0.2 dB</td>
<td align="center" valign="top">0.2</td>
<td align="center" valign="top"><italic>f</italic><sub>5,0.2</sub>(<italic>x</italic>)</td>
<td align="center" valign="top">−1.7 dB</td>
<td align="center" valign="top">0.2</td>
<td align="center" valign="top"><italic>f</italic><sub>10,0.2</sub>(<italic>x</italic>)</td></tr>
<tr>
<td align="center" valign="top">2.3 dB</td>
<td align="center" valign="top">0.1</td>
<td align="center" valign="top"><italic>f</italic><sub>5,0.1</sub>(<italic>x</italic>)</td>
<td align="center" valign="top">−0.2 dB</td>
<td align="center" valign="top">0.1</td>
<td align="center" valign="top"><italic>f</italic><sub>10,0.1</sub>(<italic>x</italic>)</td></tr></tbody></table></table-wrap></sec></back></article>
