<?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/s120506727</article-id>
<article-id pub-id-type="publisher-id">sensors-12-06727</article-id>
<article-categories>
<subj-group>
<subject>Article</subject></subj-group></article-categories>
<title-group>
<article-title>Development of a Voice Activity Controlled Noise Canceller</article-title></title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Abid Noor</surname><given-names>Ali O.</given-names></name><xref ref-type="corresp" rid="c1-sensors-12-06727"><sup>*</sup></xref><xref ref-type="author-notes" rid="fn1-sensors-12-06727"><sup>†</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Samad</surname><given-names>Salina Abdul</given-names></name></contrib>
<contrib contrib-type="author">
<name><surname>Hussain</surname><given-names>Aini</given-names></name></contrib>
<aff id="af1-sensors-12-06727">Department of Electrical, Electronic and Systems Engineering, Faculty of Engineering and Built Environment, University Kebangsaan Malaysia, Bangi, 43600, Malaysia; E-Mails: <email>salina@vlsi.eng.ukm.my</email> (S.A.S.); <email>aini@vlsi.eng.ukm.my</email> (A.H.)</aff></contrib-group>
<author-notes>
<corresp id="c1-sensors-12-06727">
<label>*</label>Author to whom correspondence should be addressed; E-Mail: <email>alinoor.ukm@gmail.com</email>; Tel.: +603-8921-6317; Fax: +603-8921-6146.</corresp><fn id="fn1-sensors-12-06727" fn-type="present-address">
<label>†</label>
<p>Current address: School of Electrical and Electronic Engineering, Linton University College, Mantin, 71700, Malaysia.</p></fn></author-notes>
<pub-date pub-type="collection">
<year>2012</year></pub-date>
<pub-date pub-type="epub">
<day>22</day>
<month>05</month>
<year>2012</year></pub-date>
<volume>12</volume>
<issue>5</issue>
<fpage>6727</fpage>
<lpage>6745</lpage>
<history>
<date date-type="received">
<day>28</day>
<month>03</month>
<year>2012</year></date>
<date date-type="rev-recd">
<day>24</day>
<month>04</month>
<year>2012</year></date>
<date date-type="accepted">
<day>26</day>
<month>04</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 this paper, a variable threshold voice activity detector (VAD) is developed to control the operation of a two-sensor adaptive noise canceller (ANC). The VAD prohibits the reference input of the ANC from containing some strength of actual speech signal during adaptation periods. The novelty of this approach resides in using the residual output from the noise canceller to control the decisions made by the VAD. Thresholds of full-band energy and zero-crossing features are adjusted according to the residual output of the adaptive filter. Performance evaluation of the proposed approach is quoted in terms of signal to noise ratio improvements as well mean square error (MSE) convergence of the ANC. The new approach showed an improved noise cancellation performance when tested under several types of environmental noise. Furthermore, the computational power of the adaptive process is reduced since the output of the adaptive filter is efficiently calculated only during non-speech periods.</p></abstract>
<kwd-group>
<kwd>voice activity detector</kwd>
<kwd>adaptive noise canceller</kwd>
<kwd>threshold adjustment</kwd></kwd-group></article-meta></front>
<body>
<sec sec-type="intro">
<label>1.</label>
<title>Introduction</title>
<p>For many speech related applications such as hands-free telephony, hearing aids, video or teleconferencing, speaker identification and speech-controlled devices, recovering clean speech in noisy acoustical environment has been a difficult task for many years now. These applications require clean speech to function efficiently. In the past few decades, various algorithms have emerged aimed at reducing the background noise from the acquired speech signal. These algorithms can be single or multi-sensor methods. The idea behind most popular algorithms is to use an adaptive filter to reduce the interference signal [<xref ref-type="bibr" rid="b1-sensors-12-06727">1</xref>].</p>
<p>In the adaptive noise cancellation (ANC) technique, a two-sensor model is often used for speech enhancement with the arrangement shown in <xref ref-type="fig" rid="f1-sensors-12-06727">Figure 1</xref>. This structure is largely used for applications where the speech signal is isolated from the reference signal, and the noise signals are correlated in both channels. It is often assumed that the two sensors, in this case microphones, are physically separated and isolated from each other, so that no substantial speech leakage into the reference input occurs, otherwise intelligibility of the speech signal will be degraded by the adaptive process. In practice, the two microphones should be located within few centimeters [<xref ref-type="bibr" rid="b2-sensors-12-06727">2</xref>]. In the past, directional microphones and acoustic barriers are used to prevent speech leakage into the reference input [<xref ref-type="bibr" rid="b2-sensors-12-06727">2</xref>]. Voice activity detectors VADs are offered in more advanced systems nowadays [<xref ref-type="bibr" rid="b3-sensors-12-06727">3</xref>–<xref ref-type="bibr" rid="b6-sensors-12-06727">6</xref>]. The primary function of a voice activity detector is to provide an indication of speech presence, in order to facilitate speech processing as well as providing indications for the beginning and end of a speech segment. The intention of the present work is to develop a voice activity detection (VAD) system to control the operation of a two-sensor adaptive noise canceller. The use of VAD in this context has a two-fold advantage, first, the convergence behavior of the adaptive filter can be improved since the reference input will be highly correlated with the noise components in the primary input, and second, the computation power is reduced since the output of the adaptive filter will be calculated only during non-speech periods. This power saving is of great importance in many applications such as hands-free communications, where processing power must be kept as low as possible, due to size and weight limitations.</p>
<p>An example of a one-end speech of a typical telephone conversation is depicted in <xref ref-type="fig" rid="f2-sensors-12-06727">Figure 2</xref>. It is clear that in speech communications pauses and non-voiced intervals are quite long; therefore this property can be used as an advantage to improve the performance of the noise canceller, as well as reducing the computational costs, hence the power consumption of the system.</p>
<p>In the absence of speech, the primary input of the adaptive filter could be used as a reference signal for the present noise signal to adapt the filter coefficients using any type of adaptive algorithms. In this context, the least mean squares (LMS) system is commonly used for its robustness and simplicity. The LMS is a gradient search algorithm that seeks an optimum on quadratic surface. Detailed discussion and derivation of the LMS algorithm can be found in many references (e.g., [<xref ref-type="bibr" rid="b7-sensors-12-06727">7</xref>]). The noise in the reference microphone of the ANC of <xref ref-type="fig" rid="f1-sensors-12-06727">Figure 1</xref> should be a very close estimate of the noise component in the speech signal. If a speech signal is then detected, the VAD switches the reference input back to the reference sensor. The adaptive filter in the LMS system should now have the same characteristics as the noise path so that the noise is reduced to a minimum. Furthermore, the VAD freezes the filter adaptation when speech is present so that the target speech is not reduced. In the literature, several VAD schemes have been introduced, each providing a solution to a certain aspect of the problem. The main issues of VADs are threshold control [<xref ref-type="bibr" rid="b8-sensors-12-06727">8</xref>], computational complexity [<xref ref-type="bibr" rid="b9-sensors-12-06727">9</xref>] and robustness [<xref ref-type="bibr" rid="b10-sensors-12-06727">10</xref>]. In the current work, a VAD and an adaptive noise canceller are made to have a mutual control so that an improved noise cancellation performance is obtained. The paper is organized as follows. In addition to this introductory section, Section 2 presents a review of VAD techniques, Section 3 gives a general description of the proposed VAD algorithm, Section 4 gives details of the features used in the proposed voice activity detector. In Section 5, the mutual control between the VAD and the adaptive noise canceller is explained. Section 6 gives a description of the adaptive noise canceller used in this work. Section 7 presents a performance evaluation with a discussion of the results of the developed noise cancellation system, and Section 8 concludes the paper with the main aspects of the research.</p></sec>
<sec>
<label>2.</label>
<title>A Review of Voice Activity Detection Techniques</title>
<p>The process of detecting the presence of speech/non-speech is not a fully resolved problem in speech processing systems. Numerous applications such as robust speech recognition [<xref ref-type="bibr" rid="b11-sensors-12-06727">11</xref>,<xref ref-type="bibr" rid="b12-sensors-12-06727">12</xref>], real-time speech transmission on the Internet [<xref ref-type="bibr" rid="b13-sensors-12-06727">13</xref>], noise reduction and echo cancellation schemes in telecommunication systems are affected by such a process [<xref ref-type="bibr" rid="b14-sensors-12-06727">14</xref>,<xref ref-type="bibr" rid="b15-sensors-12-06727">15</xref>]. The detection of speech/non-speech is not an easy task as it may look. Most VAD algorithms fail to function properly when the level of background noise becomes severely high. During the last decade, many researchers have developed different techniques such as those found in [<xref ref-type="bibr" rid="b16-sensors-12-06727">16</xref>–<xref ref-type="bibr" rid="b18-sensors-12-06727">18</xref>] for detecting speech on a noisy signal. In these techniques, they have evaluated the influence of the VAD on the performance of speech processing systems, and most of them have focused on the development of robust algorithms with a special attention being given to the derivation and study of noise robust features and decision rules [<xref ref-type="bibr" rid="b19-sensors-12-06727">19</xref>–<xref ref-type="bibr" rid="b21-sensors-12-06727">21</xref>]. The different VAD methods include those based on energy thresholds [<xref ref-type="bibr" rid="b19-sensors-12-06727">19</xref>], pitch detection [<xref ref-type="bibr" rid="b22-sensors-12-06727">22</xref>], spectrum analysis [<xref ref-type="bibr" rid="b21-sensors-12-06727">21</xref>], zero-crossing rate [<xref ref-type="bibr" rid="b23-sensors-12-06727">23</xref>], periodicity measure [<xref ref-type="bibr" rid="b24-sensors-12-06727">24</xref>], higher order statistics in the LPC residual domain [<xref ref-type="bibr" rid="b25-sensors-12-06727">25</xref>] or combinations of different features [<xref ref-type="bibr" rid="b26-sensors-12-06727">26</xref>,<xref ref-type="bibr" rid="b27-sensors-12-06727">27</xref>]. Voice activity detection techniques relying on artificial intelligence and soft computing have emerged in recent years to surmount the problem of VAD. These techniques include the use of support vector machine [<xref ref-type="bibr" rid="b28-sensors-12-06727">28</xref>], neural networks [<xref ref-type="bibr" rid="b29-sensors-12-06727">29</xref>], and fuzzy logic [<xref ref-type="bibr" rid="b30-sensors-12-06727">30</xref>]. These classification strategies practically fail to solve the problem due to the non-stationary nature of both the speech and the background noise.</p>
<p>In speech processing systems, it is important to determine the presence of speech periods in a given signal. This task can be viewed as a statistical problem with a purpose of determining to which class a given signal belongs. The decision is based on an observation vector, usually called a feature vector, which serves as the input to a decision rule that assigns a sample vector to one of the given classes. The classification task is often quite difficult due to the increasing level of background noise, which degrades the classifier effectiveness, thus leading to detection errors. The choice of an adequate feature vector for signal detection followed by a robust decision rule is a challenging problem for VADs operating in noisy environments. Many VAD algorithms are effective in a large number of applications, however, they fail to detect properly, mainly because of the loss of discriminating power of the decision rule when the signal to noise ratio (SNR) is severely low [<xref ref-type="bibr" rid="b23-sensors-12-06727">23</xref>,<xref ref-type="bibr" rid="b26-sensors-12-06727">26</xref>]. For instance, a simple energy level detector can work effectively in high SNR levels, but would fail significantly when the SNR becomes low. In non-stationary noise environments, the use of VAD is more critical since it is needed to update the continuously varying noise statistics which have a direct impact on the system performance due to possible misclassification errors. Desirable aspects of VAD algorithms include the following.</p>
<list list-type="simple">
<list-item>
<label>-</label>
<p>A good decision rule: A physical property of speech that can be exploited to give consistent and accurate judgment in classifying segments of the signal into silence or otherwise.</p></list-item>
<list-item>
<label>-</label>
<p>Adaptability to background noise: Adapting to non-stationary background noise improves robustness, especially in wireless telephony where the user is moving.</p></list-item>
<list-item>
<label>-</label>
<p>Low computational complexity: Therefore the complexity of any VAD algorithm must be low to suit real-time implementation.</p></list-item></list></sec>
<sec>
<label>3.</label>
<title>Description of the VAD Algorithm</title>
<p>The general operation of the VAD algorithm used here is depicted by the flow chart shown in <xref ref-type="fig" rid="f3-sensors-12-06727">Figure 3</xref>. The aim of using VAD is to discriminate between active and inactive speech. As mentioned in the previous section, this problem can be solved using classification techniques such as those found in [<xref ref-type="bibr" rid="b28-sensors-12-06727">28</xref>–<xref ref-type="bibr" rid="b31-sensors-12-06727">31</xref>]. However, the non-stationary nature of both the speech and the background noise makes this problem hard to solve in practice. Therefore, it is common to use a set of parameters describing the behavior of the signal. The choice of a particular parameter is determined by the contribution of each parameter to the solution and its robustness. The parameters used for the classification have to be selected and a discriminating function has to be devised. Many standard signal parameters can be used to control the decision of a VAD such as those recommended by ITU-T [<xref ref-type="bibr" rid="b23-sensors-12-06727">23</xref>]. The VAD model developed in this paper is based on two features: full-band energy measurement and zero crossing rate calculation. These choices were dictated by the contribution of each parameter to the final classification solution and its robustness. An instantaneous parameter set is computed on frame basis. Another set of parameters similar to the instantaneous set is used to describe the noise statistics. The intermediate decisions from the individual features are used to excite a logic circuit. The output of this circuit is used to decide if speech is present or not, thus controlling the adaptive process in ANC system.</p></sec>
<sec>
<label>4.</label>
<title>Parameter Extraction</title>
<p>Speech signals have high energy contents in their voiced part, thus measuring the energy level is a very basic and efficient way of detecting silence gaps. However, in noisy uncontrolled environments, such as those encountered in mobile and portable communication systems, the measure of energy level itself in the input signal does not give a perfect solution for speech classification. The speech production system produces a set of formants determined primarily by vocal tract and nasal tract characteristics. The first formant frequencies for voiced sounds are located below 1 kHz, and more energy is located at the first formant than any other [<xref ref-type="bibr" rid="b32-sensors-12-06727">32</xref>]. However, the majority of unvoiced sounds show strong spectral concentration in higher frequency range [<xref ref-type="bibr" rid="b33-sensors-12-06727">33</xref>]. Background noises display uniform spectral distribution. It is possible to distinguish between active speech and background noise by examining the energy distribution along the frequencies.</p>
<p>Detecting the zero crossing rates from the offset-free speech samples is an efficient method to discriminate unvoiced sounds from voiced sounds and silence. The zero crossing rate of a speech signal is detected in the time domain by multiplying the sign values of adjacent speech samples. In this work, two important features are extracted from the input signal at each frame. In the following subsections, formulations as well as possible realizations of these features are given.</p>
<sec>
<label>4.1.</label>
<title>The Full Band Energy Calculation</title>
<p>The full band energy <italic>E<sub>f</sub></italic> is calculated as the logarithm of the normalized first autocorrelation coefficient <italic>A</italic>(0) which can be determined by the following [<xref ref-type="bibr" rid="b23-sensors-12-06727">23</xref>]:
<disp-formula id="FD1">
<label>(1)</label>
<mml:math id="mm1" display="block">
<mml:semantics id="sm1">
<mml:mrow>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mi>f</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>10</mml:mn>
<mml:mo>×</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo>log</mml:mo></mml:mrow>
<mml:mrow>
<mml:mn>10</mml:mn></mml:mrow></mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mn>10</mml:mn></mml:mrow></mml:mfrac>
<mml:mi>A</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The analysis window size is taken as 256 for speech samples. This energy is defined relative to a unity reference energy level. Based on the background noise level, a silence flag, <italic>f<sub>e-sil</sub></italic>, is set according to the following:
<disp-formula id="FD2">
<label>(2)</label>
<mml:math id="mm2" display="block">
<mml:semantics id="sm2">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>−</mml:mo>
<mml:mtext mathvariant="italic">sil</mml:mtext></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>f</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mi>f</mml:mi></mml:msub>
<mml:mo>&lt;</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>e</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mtext mathvariant="italic">otherwise</mml:mtext></mml:mrow></mml:mtd>
<mml:mtd/></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>where <italic>T<sub>e</sub></italic> is an initial noise threshold. The full-band energy algorithm is implemented as shown in <xref ref-type="fig" rid="f4-sensors-12-06727">Figure 4</xref>. The energy of the total signal in the presence of speech is assumed to be sufficiently larger than that of the background noise, and therefore the voice-active regions could be detected. The preset threshold value for a varying noise level is re-calculated for each analysis window.</p></sec>
<sec>
<label>4.2.</label>
<title>Initial Value of Threshold</title>
<p>The VAD algorithm is trained for a small period by a prerecorded sample that contains only background noise. The initial threshold level for various parameters is computed from these samples. For example, the initial energy threshold is obtained by taking the mean of the energies of each sample <italic>E<sub>m</sub></italic> as in:
<disp-formula id="FD3">
<label>(3)</label>
<mml:math id="mm3" display="block">
<mml:semantics id="sm3">
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>e</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mi>V</mml:mi></mml:mfrac>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn></mml:mrow>
<mml:mi>V</mml:mi></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mi>m</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>where <italic>T<sub>e</sub></italic> is the threshold estimate, <italic>V</italic> is the number of frames in prerecorded sample. The number of frames taken is a prerecorded sample of 20 frames.</p></sec>
<sec>
<label>4.3.</label>
<title>Zero Crossing Rate Calculation</title>
<p>The zero-crossing rate <italic>Z<sub>x</sub></italic> is a measure of how often a signal crosses the zero value in a given time. Zero crossing of an input signal can be calculated in the time domain by comparing the sign of adjacent signal samples. The zero crossing <italic>Z<sub>s</sub></italic> of a sampled speech <italic>S</italic>(<italic>n</italic>) is defined as [<xref ref-type="bibr" rid="b23-sensors-12-06727">23</xref>]:
<disp-formula id="FD4">
<label>(4)</label>
<mml:math id="mm4" display="block">
<mml:semantics id="sm4">
<mml:mrow>
<mml:msub>
<mml:mi>Z</mml:mi>
<mml:mi>s</mml:mi></mml:msub>
<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>n</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>N</mml:mi></mml:munderover>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:mo>sgn</mml:mo>
<mml:mo stretchy="false">[</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">]</mml:mo></mml:mrow>
<mml:mo>−</mml:mo>
<mml:mo>sgn</mml:mo>
<mml:mo stretchy="false">[</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">]</mml:mo>
<mml:mo>|</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula>where <italic>N</italic> is the analysis window size, sgn(s) is 1 for <italic>s</italic> &gt; 0, −1 for s &lt; 0. Two flags <italic>f<sub>z-vce</sub></italic> and <italic>f<sub>z-unv</sub></italic> stand for voiced and unvoiced signal respectively are set according to the following:
<disp-formula id="FD5">
<label>(5)</label>
<mml:math id="mm5" display="block">
<mml:semantics id="sm5">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>−</mml:mo>
<mml:mtext mathvariant="italic">vce</mml:mtext></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>f</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>Z</mml:mi>
<mml:mi>s</mml:mi></mml:msub>
<mml:mo>&lt;</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mtext mathvariant="italic">otherwise</mml:mtext></mml:mrow></mml:mtd>
<mml:mtd/></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD6">
<label>(6)</label>
<mml:math id="mm6" display="block">
<mml:semantics id="sm6">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>−</mml:mo>
<mml:mtext mathvariant="italic">unv</mml:mtext></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>f</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>Z</mml:mi>
<mml:mi>s</mml:mi></mml:msub>
<mml:mo>&lt;</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mtext mathvariant="italic">otherwise</mml:mtext></mml:mrow></mml:mtd>
<mml:mtd/></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>where <italic>T<sub>z1</sub></italic> and <italic>T<sub>z2</sub></italic> are thresholds for the voiced and unvoiced signal, respectively. These two thresholds are initially determined using an empirical procedure. For white background noise, the zero-crossing rate is found to be constant. However, if speech is present then <italic>Z<sub>s</sub></italic> decreases. This was verified experimentally with white noise as the background noise. <xref ref-type="fig" rid="f5-sensors-12-06727">Figure 5</xref> shows the zero crossing algorithm implementation and <xref ref-type="fig" rid="f4-sensors-12-06727">Figure 4</xref> depicts the output of the zero crossing detector for a speech signal corrupted with white noise. It can be seen from <xref ref-type="fig" rid="f6-sensors-12-06727">Figure 6</xref>, that the crossings per time frame decreases if speech is present. The zero crossings rate for each analysis window is calculated and compared with the preset threshold value. The zero crossings rate of noise is assumed to be larger than that of the speech signal. This assumption is accurate at high SNR values. However, it has problems at low SNRs [<xref ref-type="bibr" rid="b34-sensors-12-06727">34</xref>].</p></sec>
<sec>
<label>4.4.</label>
<title>Decision Module</title>
<p>Using <xref rid="FD2" ref-type="disp-formula">Equations (2)</xref>, (<xref rid="FD4" ref-type="disp-formula">4</xref>) and (<xref rid="FD5" ref-type="disp-formula">5</xref>) the VAD decision <italic>D</italic> can now be represented in logic algebra as:
<disp-formula id="FD7">
<label>(7)</label>
<mml:math id="mm7" display="block">
<mml:semantics id="sm7">
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>f</mml:mi>
<mml:mo>¯</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>−</mml:mo>
<mml:mtext mathvariant="italic">sil</mml:mtext></mml:mrow></mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>−</mml:mo>
<mml:mtext mathvariant="italic">unv</mml:mtext></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mo>−</mml:mo>
<mml:mtext mathvariant="italic">sil</mml:mtext></mml:mrow></mml:msub>
<mml:mo>∗</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>−</mml:mo>
<mml:mtext mathvariant="italic">vce</mml:mtext></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula>where −, +, * denote the logic operators (NOT, OR, AND) respectively. A decision circuit is constructed according to <xref rid="FD7" ref-type="disp-formula">Equation (7)</xref> as shown <xref ref-type="fig" rid="f7-sensors-12-06727">Figure 7</xref>. The output of this circuit is used to control the operation of the adaptive filter in the noise cancellation system. The adaptation process stops on reception of logic zero, and it continues when receiving logic one.</p></sec></sec>
<sec>
<label>5.</label>
<title>Voice Activity Controlled Noise Cancellation Technique</title>
<p>The background noise can vary between different environments and situations. For instance, from a silent room to a noisy factory or fast moving car. Problems may occur if the VAD does not switch the reference input of the noise canceller back to the reference sensor. The reference sensor could record speech and adapt the weights of the adaptive filter. Then, the adaptive filter may reduce speech signals as well as noise from the desired signal; hence the signal to noise ratio SNR is decreased. Therefore, measurement of the background noise power is required. In the literature, several methods are proposed to measure the background noise for voice activity detection purposes [<xref ref-type="bibr" rid="b6-sensors-12-06727">6</xref>] and [<xref ref-type="bibr" rid="b35-sensors-12-06727">35</xref>]. In this paper, a robust technique is used to adjust the threshold values of the VAD. The technique is based on using the information of the residual noise at the output of the noise canceller to adjust thresholds of the full-band energy and the zero crossing features described in Section 4. A schematic of this idea is shown in <xref ref-type="fig" rid="f8-sensors-12-06727">Figure 8</xref>. A set of parameters similar to the instantaneous is used to describe the noise statistics. The VAD decision is made in two steps. First, an intermediate decision is made based on the instantaneous frame parameter in one feature. Second, the final decision is made using a logic circuit which takes the intermediate decisions from the individual features to produce the final VAD result.</p>
<p>The VAD proposed here has inputs for receiving the noisy signal as well as the residual output of the noise canceller and an outgoing prompt signal to control the operation of the adaptive filter, such that the adaptive filter freezes operation when receiving logic “low” and continues to operate when receiving logic ”high”. For a sampling frequency of 16 kHz, each input signal to the VAD is divided into frames using frame sequencer which divides the incoming signals into frames of data comprising 256 contiguous samples. The energy of speech is considered to be relatively stationary over 15 ms; therefore, frames of 32 ms are used. In order to make the VAD more robust to impulsive noise, an overlap of 16 ms between adjacent frames is allowed. Frames of data are passed through feature generators as explained earlier in Section 4.</p>
<p>The residual noise <italic>r</italic> is calculated on a frame basis as the difference between the noisy input <italic>P<sub>i</sub></italic>, and the output of the adaptive noise canceller <italic>P<sub>o</sub></italic>, calculated in decibels and expressed as <italic>R</italic> as follows:
<disp-formula id="FD8">
<label>(8)</label>
<mml:math id="mm8" display="block">
<mml:semantics id="sm8">
<mml:mrow>
<mml:mi>R</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>10</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mo>log</mml:mo></mml:mrow>
<mml:mrow>
<mml:mn>10</mml:mn></mml:mrow></mml:msub>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mi>M</mml:mi></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:mi>M</mml:mi></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>10</mml:mn>
<mml:msub>
<mml:mrow>
<mml:mo>log</mml:mo></mml:mrow>
<mml:mrow>
<mml:mn>10</mml:mn></mml:mrow></mml:msub>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mi>M</mml:mi></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:mi>M</mml:mi></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi>o</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>where <italic>M</italic> is the number of samples over which the average power is calculated. The threshold <italic>T<sub>e</sub></italic> in <xref rid="FD2" ref-type="disp-formula">Equation (2)</xref> is calculated as follows:
<disp-formula id="FD9">
<label>(9)</label>
<mml:math id="mm9" display="block">
<mml:semantics id="sm9">
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mi>e</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mrow>
<mml:mo>max</mml:mo></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:mi>R</mml:mi></mml:mrow></mml:semantics></mml:math></disp-formula>where <italic>E<sub>max</sub></italic> is the maximum possible input power of the desired signal. The maximum possible power <italic>E<sub>max</sub></italic> is taken to be 75 dB, this choice is based on the data found in [<xref ref-type="bibr" rid="b36-sensors-12-06727">36</xref>]. It is worth mentioning here that the choice of 75 dB also complies with the maximum possible power on a telephone line for an A-law signal. The threshold is then compared to the average energy of each frame of the input signal <italic>E<sub>f</sub></italic>, and the result is used to make a decision. If the result is negative, the input signal to the adaptive filter contains speech and logic “low” is sent to the adaptive filter to deactivate the adaptation process. If the result of comparison is positive, then the input signals contains no speech and therefore logic “high” is sent to the adaptive filter to activate the adaptation process. This process continues until the filter reaches a steady state.</p>
<p>In a further reinforcement to the decision made by the VAD, the residual output <italic>r</italic> of the noise canceller is passed through a zero crossing rate calculation algorithm so as to adjust the zero crossing threshold <italic>T<sub>z2</sub></italic> as follows:
<disp-formula id="FD10">
<label>(10)</label>
<mml:math id="mm10" display="block">
<mml:semantics id="sm10">
<mml:mrow>
<mml:msub>
<mml:mi>Z</mml:mi>
<mml:mi>r</mml:mi></mml:msub>
<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>m</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>N</mml:mi></mml:munderover>
<mml:mrow>
<mml:mrow>
<mml:mo>|</mml:mo>
<mml:mrow>
<mml:mo>sgn</mml:mo>
<mml:mo stretchy="false">[</mml:mo>
<mml:mi>r</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>m</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:mrow></mml:mrow>
<mml:mo>−</mml:mo>
<mml:mo>sgn</mml:mo>
<mml:mo stretchy="false">[</mml:mo>
<mml:mi>r</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>m</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula>where sgn(<italic>r</italic>) is 1 for r &gt; 0, −1 for r &lt; 0 and <italic>m</italic> is an arbitrary time index. Based on frame basis, the zero crossing of the residual output <italic>Z<sub>r</sub></italic> is compared to the zero crossing of the input signal, and the unvoiced flag in <xref rid="FD7" ref-type="disp-formula">equation (7)</xref> is set as follows:
<disp-formula id="FD11">
<label>(11)</label>
<mml:math id="mm11" display="block">
<mml:semantics id="sm11">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>−</mml:mo>
<mml:mtext mathvariant="italic">unv</mml:mtext></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>f</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>Z</mml:mi>
<mml:mi>r</mml:mi></mml:msub>
<mml:mo>&lt;</mml:mo>
<mml:msub>
<mml:mi>Z</mml:mi>
<mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mtext mathvariant="italic">otherwise</mml:mtext></mml:mrow></mml:mtd>
<mml:mtd/></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p></sec>
<sec>
<label>6.</label>
<title>Description of the Adaptive Noise Canceller ANC</title>
<p>The adaptive noise canceller used in this work is as illustrated in <xref ref-type="fig" rid="f1-sensors-12-06727">Figure 1</xref>. A signal <italic>s</italic> is transmitted to a sensor that receives the signal plus uncorrelated noise <italic><sub>x</sub>ˆ</italic>. The combined signal and the noise, s+ <italic>xˆ</italic>, form the “primary input” to the canceller. A second sensor receives a noise <italic>x</italic> which is uncorrelated with the signal <italic>s</italic> but correlated with the noise <italic>xˆ</italic>. This sensor provides the “reference input” to the canceller. The primary sensor receives the noise <italic>x</italic> after being transmitted over unknown channel. The noise <italic>x</italic> is filtered to produce an output <italic>y</italic> that is a close replica of <italic>xˆ</italic>. This output of the adaptive filter is then subtracted from the primary input <italic>d</italic> to produce the system output e = <italic>d</italic> − <italic>y</italic>.</p>
<p>In noise cancellation systems, the practical objective is to produce a system output, <italic>sˆ</italic>)that is a best fit in the least-square sense to the signal, <italic>s</italic>. This objective is accomplished by feeding the system output back to the adaptive filter, and adjusting the filter through an adaptive algorithm, to minimize the total system output power. In an adaptive noise canceling system, the system output serves as the error signal for the adaptive process. The error is the difference between some desired response <italic>d</italic> and the actual filter output <italic>y</italic>. The mean square value of this resulting error signal when minimized is often referred to as the mean square error (MSE) [<xref ref-type="bibr" rid="b37-sensors-12-06727">37</xref>], and it is used here as a measure of performance of the noise canceller.</p>
<p>The core of the adaptive noise canceller used in this work is the NLMS algorithm. This algorithm can be viewed as a modification of the original LMS algorithm that gives it a time-varying step-size parameter. The weight update equations of the NLMS algorithm are given by the following:
<disp-formula id="FD12">
<label>(12)</label>
<mml:math id="mm12" display="block">
<mml:semantics id="sm12">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">w</mml:mtext>
<mml:mo>^</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">w</mml:mtext>
<mml:mo>^</mml:mo></mml:mover>
<mml:mi>n</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:mover accent="true">
<mml:mi>μ</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo>.</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mi>n</mml:mi></mml:msub>
<mml:mo>.</mml:mo>
<mml:mi>e</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD13">
<label>(13)</label>
<mml:math id="mm13" display="block">
<mml:semantics id="sm13">
<mml:mrow>
<mml:mtext>e</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi>d</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:mi>y</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD14">
<label>(14)</label>
<mml:math id="mm14" display="block">
<mml:semantics id="sm14">
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mtext mathvariant="bold">X</mml:mtext>
<mml:mi>n</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">W</mml:mtext>
<mml:mo>^</mml:mo></mml:mover>
<mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:semantics></mml:math></disp-formula>with <italic>x<sub>n</sub></italic> is a column vector of length <italic>L</italic> representing the input noise, <bold>Wˆ</bold> is the adaptive filter weights at time n, and <italic>μˆ</italic> is the a daptation step-size, which is given by:
<disp-formula id="FD15">
<label>(15)</label>
<mml:math id="mm15" display="block">
<mml:semantics id="sm15">
<mml:mrow>
<mml:mover accent="true">
<mml:mi>μ</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mo>μ</mml:mo>
<mml:mo>/</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>α</mml:mi>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mtext>X</mml:mtext>
<mml:mi mathvariant="normal">n</mml:mi></mml:msub></mml:mrow>
<mml:mo>‖</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula>where <italic>μ</italic> is the step-size gain factor, <italic>α</italic> is a small constant (greater than zero) used to avoid possible division by zero, and ‖ <italic>x<sub>n</sub></italic> ‖ is the norm or power of the input vector <bold>x</bold><italic><sub>n</sub></italic>. The value of <italic>μ</italic> is between 0 and 2 [<xref ref-type="bibr" rid="b37-sensors-12-06727">37</xref>]. Compared to the basic LMS algorithm <italic>μ</italic> has to be divided by the energy of the input data vector, thus providing a variable step size algorithm. For speech and audio applications considered in this paper, the normalized version of the LMS algorithm is used for its robustness and simplicity.</p></sec>
<sec sec-type="discussion">
<label>7.</label>
<title>Performance Evaluation and Discussion</title>
<p>In the literature, the performance of standard VAD algorithms such as G.729, AMR and AFE [<xref ref-type="bibr" rid="b23-sensors-12-06727">23</xref>] is normally quoted in terms of hit rates in speech recognition systems. This type of comparison is not appropriate for our adaptive noise cancellation purpose. As it is emphasized in Section 1, the aim of the current arrangement is to improve the performance of adaptive noise cancellers in non-stationary background noise. Therefore, in this section, we evaluate the performance of the threshold controlled ANC and compare it with an equivalent system that uses a constant threshold VAD algorithm. The former model is called the controlled ANC while the latter is named as the uncontrolled ANC.</p>
<p>As it was mentioned in Section 6, the adaptive filter adopted here is a normalized least mean square NLMS type algorithm which controls the weight coefficients of a finite impulse response FIR filter with 127 taps. This is equivalent to the total number of weights used in the noise path. The noise path used here is an approximation of a small room modeled by a finite impulse response FIR processor. The step-size gain factor value <italic>μ</italic> is set as 0.02. This parameter is deduced empirically as shown in <xref ref-type="fig" rid="f9-sensors-12-06727">Figure 9</xref>, and it is kept the same throughout the experiments.</p>
<p>Initially, the ANC structure is trained with a small section of the interference signal. The quality of the output signal is jugged by the signal to noise ratio SNR of the output, and it is calculated as:
<disp-formula id="FD16">
<label>(16)</label>
<mml:math id="mm16" display="block">
<mml:semantics id="sm16">
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">SNR</mml:mtext>
<mml:mi>o</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>10</mml:mn>
<mml:mo>×</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo>log</mml:mo></mml:mrow>
<mml:mrow>
<mml:mn>10</mml:mn></mml:mrow></mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mtext mathvariant="italic">Power of processed speech</mml:mtext></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">Output Noise Power</mml:mtext></mml:mrow></mml:mfrac></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>To measure the improvement in SNR, the signal to noise ratio at the output is compared with that of the input. The SNR of the input is calculated at the primary microphone as:
<disp-formula id="FD17">
<label>(17)</label>
<mml:math id="mm17" display="block">
<mml:semantics id="sm17">
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">SNR</mml:mtext>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>10</mml:mn>
<mml:mo>×</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo>log</mml:mo></mml:mrow>
<mml:mrow>
<mml:mn>10</mml:mn></mml:mrow></mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mtext mathvariant="italic">Primary input power</mml:mtext></mml:mrow>
<mml:mrow>
<mml:mtext mathvariant="italic">Input Noise Power</mml:mtext></mml:mrow></mml:mfrac></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The primary microphone power consists of speech power plus background noise power. Several experiments were conducted by varying the level of the noise signal. The experimental set up is as follows. A noisy speech signal (nspeech.wav) was applied to the primary input of the ANC and the VAD simultaneously. This signal was generated by adding noise to a clean speech. The speech contains a Malay utterance “kosong-satu-dua-tiga” with variable pauses. The speech was recorded in the lab for a female speaker in a noise free environment. Several types of noise signals were used to corrupt this speech. These types of noise consist of white noise, voice babble, factory noise and pink noise [<xref ref-type="bibr" rid="b38-sensors-12-06727">38</xref>]. Different noise types have different impact on the performance of the adaptive noise canceller. Clean and noisy situations are shown in <xref ref-type="fig" rid="f10-sensors-12-06727">Figures 10(a) and 10(b)</xref>, respectively. In <xref ref-type="fig" rid="f10-sensors-12-06727">Figure 10(b)</xref>, white noise is used for the noisy case.</p>
<p>The output of the VAD shows a high value if no speech is detected and a low value if speech is present. In the normal situation, when the speech signal contains high noise levels, the VAD may not be capable of measuring in an accurate way if speech is present or not, if the implemented threshold is constant. The noise measurement system implemented here is to adapt threshold values for the full-band energy and zero crossing features so as to cope with high noise situation. The VAD results and the recovered speech are shown in <xref ref-type="fig" rid="f10-sensors-12-06727">Figure 10(c,d)</xref>.</p>
<p>Different levels of SNRs at the primary input of the noise canceller were used in these tests. <xref ref-type="fig" rid="f11-sensors-12-06727">Figure 11</xref> shows a comparison of the input SNR verses output SNR for white noise environment. The output signal from the uncontrolled NLMS ANC structure showed only a small improvement in SNR of about 5 dB. On the other hand, the threshold controlled noise canceller structure showed an improvement in SNR from 5 to 10 dB in most cases and in it reaches around 15 dB in one particular case. This experiment was repeated with different SNRs at the primary input for voice babble interference, and the results are shown in <xref ref-type="fig" rid="f12-sensors-12-06727">Figure 12</xref>. Under babble noise interference, the improvement in signal noise ratio tends to be less than that of the white noise case. In most SNR levels used in the babble noise test, the improvement lies between 4 to 8 dB. This reduction in performance can be traced back to the nature of the NLMS algorithm which normally has reduced performances under colored input signals [<xref ref-type="bibr" rid="b37-sensors-12-06727">37</xref>].</p>
<p>The performance of ANC is best assessed using mean square error MSE convergence of the noise cancellation system. <xref ref-type="fig" rid="f13-sensors-12-06727">Figure 13</xref> shows a convergence comparison between the MSE plot of the controlled noise canceller and that of an uncontrolled system using white noise as background interference. It is evident that the controlled NC converges well faster than the uncontrolled NC. While the uncontrolled system is converging slowly with noticeable misadjustment and high level of excess mean square error, the controlled system exhibits a smoother convergence with better noise cancellation performance. The steady-state MSE of the controlled noise canceller is lower than that of the uncontrolled equivalent. This improvement can be justified by the correct timing of adapt/stop adaptation command from the VAD. The correct prompt from the VAD provides a good isolation between the primary and the reference inputs of the noise canceller. Furthermore, halting the adaptation process during speech periods would result in a reduction in the computational burden of the LMS adaptive algorithm. In actual fact, the rate of convergence of the LMS algorithm does depend on the number of operations executed by the adaptive filter every iteration, hence the computational complexity. However, this is not the only parameter that affects the convergence rate of the LMS algorithm. Other parameters such the step-size of the algorithm and the nature of the input data can also affect convergence speed considerably [<xref ref-type="bibr" rid="b37-sensors-12-06727">37</xref>].</p>
<p>It is clear that improvement as well as computational savings can be obtained if adaptive filtering is correctly controlled so that reduction of noise takes place only during pauses and unvoiced intervals. This improvement is targeted for limited resources digital signal processors, and it can be very useful in applications such as audio and hearing aids where power consumption and physical size are constrained to a minimum.</p>
<p>It is explained in this paper that adaptive process will take place only during non-speech intervals. During speech periods the adaptive filter halts its operation until it receives an interrupt from the VAD to resume its adaptation. When the interrupt is shorter than the time require for producing one iteration process, then the adaptive filter will not change the output until it receives a new interrupt. Such a situation would rarely occur, since real life speech pauses normally take a large amount of time compared to the time require to process an iteration by the adaptive filter. This matter also depends on the processing speed of the available digital signal processor.</p>
<p>Finally, <xref ref-type="table" rid="t1-sensors-12-06727">Table 1</xref> shows comparisons of input and output signal to noise ratios for both controlled and uncontrolled noise cancellation structures for variety of noise signals. It is evident from these results that the threshold controlled ANC structure outperforms the uncontrolled model by up to 6 dB for different type of interference signals and at different signal to noise ratio levels at the primary input of the noise canceller. The performance of the current system can be further improved by including more features of the VAD. Features such as the ratio of low-band energy to full-band energy, and long-term minimum energy [<xref ref-type="bibr" rid="b39-sensors-12-06727">39</xref>] can be calculated and included for more robustness.</p></sec>
<sec sec-type="conclusions">
<label>8.</label>
<title>Conclusions and Suggestion for Future Development</title>
<p>A variable threshold voice activity detector VAD is proposed to control the operation of a two-sensor adaptive noise canceller in variable background noise conditions. Residual output from the adaptive filter is used to adjust the threshold values of full-band energy and zero-crossing features. Results showed that an improvement in the output SNR can be obtained compared to a constant threshold model. Improved convergence behavior as well as reduced computational power can be achieved with this method. Further development can made to the current system by including more signal features for the voice activity detection operation. Features such as the ratio of low-band energy to full-band energy, and long-term minimum energy [<xref ref-type="bibr" rid="b39-sensors-12-06727">39</xref>] can be calculated and included for more robustness. Also, the impact of difference parameters such as spectral distortion, and the effect of the analysis window size on parameter extraction can be investigated.</p></sec></body>
<back>
<ref-list>
<title>Reference</title>
<ref id="b1-sensors-12-06727"><label>1.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Vaseghi</surname><given-names>V.S.</given-names></name></person-group><source>Advanced Digital Signal Processing and Noise Reduction</source><edition>4th ed.</edition><publisher-name>John Willey and Sons Ltd.</publisher-name><publisher-loc>West Sussex, UK</publisher-loc><year>2008</year></citation></ref>
<ref id="b2-sensors-12-06727"><label>2.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Liberti</surname><given-names>J.C.</given-names></name><name><surname>Pappaport</surname><given-names>T.S.</given-names></name><name><surname>Proakis</surname><given-names>J.G.</given-names></name></person-group><article-title>Evaluation of Several Adaptive Algorithms for Cancelling Acoustic Noise in Mobile Radio Environments</article-title><conf-name>Proceedings of IEEE Vehicular Technology Conference</conf-name><conf-loc>St. Louis, MO, USA</conf-loc><conf-date>19–22 May 1991</conf-date><fpage>126</fpage><lpage>132</lpage></citation></ref>
<ref id="b3-sensors-12-06727"><label>3.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Yoo</surname><given-names>I.-C.</given-names></name><name><surname>Yook</surname><given-names>D.</given-names></name></person-group><article-title>Robust voice activity detection using the spectral peaks of vowel sounds</article-title><source>ETRI J.</source><year>2009</year><volume>31</volume><fpage>451</fpage><lpage>453</lpage><pub-id pub-id-type="doi">10.4218/etrij.09.0209.0104</pub-id></citation></ref>
<ref id="b4-sensors-12-06727"><label>4.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Syed</surname><given-names>W.Q.</given-names></name><name><surname>Wu</surname><given-names>H.C.</given-names></name></person-group><article-title>Speech waveform compression using robust adaptive voice activity detection for nonstationary noise</article-title><source>EURASIP J. Audio Speech Music Process.</source><year>2008</year><pub-id pub-id-type="doi">10.1155/2008/639839</pub-id></citation></ref>
<ref id="b5-sensors-12-06727"><label>5.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Cournapeau</surname><given-names>D.</given-names></name><name><surname>Kawahara</surname><given-names>T.</given-names></name></person-group><article-title>Voice activity detection based on high order statistics and online EM algorithm</article-title><source>IEICE Trans. Inform. Syst.</source><year>2008</year><volume>E91-D</volume><fpage>2854</fpage><lpage>2861</lpage><pub-id pub-id-type="doi">10.1093/ietisy/e91-d.12.2854</pub-id></citation></ref>
<ref id="b6-sensors-12-06727"><label>6.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Górriz</surname><given-names>J.M.</given-names></name><name><surname>Ramírez</surname><given-names>J.</given-names></name></person-group><article-title>Improved Long Term Voice Activity Detection for Robust Speech Recognition</article-title><source>Recent Advances in Robust Speech Recognition Technology</source><publisher-name>Bentham Science Publishers</publisher-name><publisher-loc>Oak Park, IL, USA</publisher-loc><year>2010</year><fpage>46</fpage><lpage>59</lpage></citation></ref>
<ref id="b7-sensors-12-06727"><label>7.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Sayed</surname><given-names>A.H.</given-names></name></person-group><source>Adaptive Filters</source><publisher-name>Wiley</publisher-name><publisher-loc>Hoboken, NJ, USA</publisher-loc><year>2008</year></citation></ref>
<ref id="b8-sensors-12-06727"><label>8.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Kim</surname><given-names>J.W.</given-names></name><name><surname>Seo</surname><given-names>M.S.</given-names></name><name><surname>Choi</surname><given-names>S.I.</given-names></name><name><surname>You</surname><given-names>Y.G.</given-names></name></person-group><article-title>Voice activity detection algorithm for wireless communication systems with dynamically varying background noise</article-title><source>IEICE Trans. Commun.</source><year>2000</year><volume>E83-B</volume><fpage>1214</fpage><lpage>1218</lpage></citation></ref>
<ref id="b9-sensors-12-06727"><label>9.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Gavitt</surname><given-names>B.D.</given-names></name></person-group><article-title>The VAD tree: A process-eye view of physica memory</article-title><source>Digit. Invest.</source><year>2007</year><volume>4</volume><fpage>62</fpage><lpage>64</lpage><pub-id pub-id-type="doi">10.1016/j.diin.2007.06.008</pub-id></citation></ref>
<ref id="b10-sensors-12-06727"><label>10.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ying</surname><given-names>D.L.</given-names></name><name><surname>Shi</surname><given-names>Y.</given-names></name><name><surname>Lu</surname><given-names>X.G.</given-names></name><name><surname>Dang</surname><given-names>J.W.</given-names></name><name><surname>Soong</surname><given-names>F.</given-names></name></person-group><article-title>Robust voice activity detection based on noise eigenspace</article-title><source>Acoust. Sci. Tech.</source><year>2007</year><volume>28</volume><fpage>413</fpage><lpage>423</lpage><pub-id pub-id-type="doi">10.1250/ast.28.413</pub-id></citation></ref>
<ref id="b11-sensors-12-06727"><label>11.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Aibinu</surname><given-names>A.M.</given-names></name><name><surname>Salami</surname><given-names>M.J.E.</given-names></name><name><surname>Najeeb</surname><given-names>A.R.</given-names></name><name><surname>Azeez</surname><given-names>J.F.</given-names></name><name><surname>Rajin</surname><given-names>S.M.A.K.</given-names></name></person-group><article-title>Evaluating the Effect of Voice Activity Detection in Isolated Yoruba Word Recognition System</article-title><conf-name>Proceedings of The 4th International Conference on Mechatronics (ICOM)</conf-name><conf-loc>Kuala Lumpur, Malaysia</conf-loc><conf-date>17–19 May 2011</conf-date><fpage>1</fpage><lpage>5</lpage></citation></ref>
<ref id="b12-sensors-12-06727"><label>12.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Ilyas</surname><given-names>M.Z.</given-names></name><name><surname>Abid Noor</surname><given-names>O.A.</given-names></name><name><surname>Khairul</surname><given-names>A.I.</given-names></name><name><surname>Aini</surname><given-names>H.</given-names></name><name><surname>Salina</surname><given-names>A.S.</given-names></name></person-group><article-title>Normalized Least Mean Square Adaptive Noise Cancellation Filtering for Speaker Verification in Noisy Environments</article-title><conf-name>Proceedings of IEEE International Conference on Electronic Design</conf-name><conf-loc>Penang, Malaysia</conf-loc><conf-date>1–3 December 2008</conf-date><fpage>1</fpage><lpage>4</lpage></citation></ref>
<ref id="b13-sensors-12-06727"><label>13.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Kang</surname><given-names>J.A.</given-names></name><name><surname>Kim</surname><given-names>H.K.</given-names></name></person-group><article-title>An adaptive pcket loss recovery method based on real-time speech quality assessment and redundant speech transmission</article-title><source>ICIC Int.</source><year>2011</year><volume>7</volume><fpage>6773</fpage><lpage>6738</lpage></citation></ref>
<ref id="b14-sensors-12-06727"><label>14.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Noor</surname><given-names>A.O.A.</given-names></name><name><surname>Samad</surname><given-names>S.A.</given-names></name><name><surname>Hussain</surname><given-names>A.</given-names></name></person-group><article-title>Adaptive Filtering Using Subband Processing: Application to Background Noise Cancellation</article-title><source>Adaptive Filtering</source><publisher-name>I-Tech</publisher-name><publisher-loc>Vienna, Austria</publisher-loc><year>2011</year><fpage>109</fpage><lpage>134</lpage></citation></ref>
<ref id="b15-sensors-12-06727"><label>15.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Lin</surname><given-names>X.</given-names></name><name><surname>Khong</surname><given-names>A.W.H.</given-names></name><name><surname>Doroslovacki</surname><given-names>M.</given-names></name><name><surname>Naylor</surname><given-names>P.A.</given-names></name></person-group><article-title>Frequency-domain adaptive algorithm for network echo cancellation in VoIP</article-title><source>EURASIP J. Audio Speech Music Process.</source><year>2008</year><pub-id pub-id-type="doi">10.1155/2008/156960</pub-id></citation></ref>
<ref id="b16-sensors-12-06727"><label>16.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Cho</surname><given-names>Y.D.</given-names></name><name><surname>Kondoz</surname><given-names>A.</given-names></name></person-group><article-title>Analysis and improvement of a statistical model-based voice activity detector</article-title><source>IEEE Sign. Process. Lett.</source><year>2001</year><volume>8</volume><fpage>276</fpage><lpage>278</lpage><pub-id pub-id-type="doi">10.1109/97.957270</pub-id></citation></ref>
<ref id="b17-sensors-12-06727"><label>17.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Gazor</surname><given-names>S.</given-names></name><name><surname>Zhang</surname><given-names>W.</given-names></name></person-group><article-title>A soft voice activity detector based on a Laplacian-Gaussian model</article-title><source>IEEE Tran. Speech Audio Proc.</source><year>2003</year><volume>11</volume><fpage>498</fpage><lpage>505</lpage><pub-id pub-id-type="doi">10.1109/TSA.2003.815518</pub-id></citation></ref>
<ref id="b18-sensors-12-06727"><label>18.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Armani</surname><given-names>L.</given-names></name><name><surname>Matassoni</surname><given-names>M.</given-names></name><name><surname>Omologo</surname><given-names>M.</given-names></name><name><surname>Svaizer</surname><given-names>P.</given-names></name></person-group><article-title>Use of a CSP-Based Voice Activity Detector for Distant-Talking ASR</article-title><conf-name>Proceeding of the 8th European Conference on Speech Communication and Technology</conf-name><conf-loc>Geneva, Switzerland</conf-loc><conf-date>1–4 September 2003</conf-date><fpage>501</fpage><lpage>504</lpage></citation></ref>
<ref id="b19-sensors-12-06727"><label>19.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Woo</surname><given-names>K.</given-names></name><name><surname>Yang</surname><given-names>T.</given-names></name><name><surname>Park</surname><given-names>K.</given-names></name><name><surname>Lee</surname><given-names>C.</given-names></name></person-group><article-title>Robust voice activity detection algorithm for estimating noise spectrum</article-title><source>Electron. Lett.</source><year>2000</year><volume>36</volume><fpage>180</fpage><lpage>181</lpage><pub-id pub-id-type="doi">10.1049/el:20000192</pub-id></citation></ref>
<ref id="b20-sensors-12-06727"><label>20.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Li</surname><given-names>Q.</given-names></name><name><surname>Zheng</surname><given-names>J.</given-names></name><name><surname>Tsai</surname><given-names>A.</given-names></name><name><surname>Zhou</surname><given-names>Q.</given-names></name></person-group><article-title>Robust endpoint detection and energy normalization for real-time speech and speaker recognition</article-title><source>IEEE Trans. Speech Audio Process.</source><year>2002</year><volume>10</volume><fpage>146</fpage><lpage>157</lpage><pub-id pub-id-type="doi">10.1109/TSA.2002.1001979</pub-id></citation></ref>
<ref id="b21-sensors-12-06727"><label>21.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Marzinzik</surname><given-names>M.</given-names></name><name><surname>Kollmeier</surname><given-names>B.</given-names></name></person-group><article-title>Speech pause detection for noise spectrum estimation by tracking power envelope dynamics</article-title><source>IEEE Trans. Speech Audio Process.</source><year>2002</year><volume>10</volume><fpage>341</fpage><lpage>351</lpage><pub-id pub-id-type="doi">10.1109/TSA.2002.803420</pub-id></citation></ref>
<ref id="b22-sensors-12-06727"><label>22.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Chengalvarayan</surname><given-names>R.</given-names></name></person-group><article-title>Robust Energy Normalization Using Speech/Non-Speech Discriminator for German Connected Digit Recognition</article-title><conf-name>Proceeding of the 6th European Conference on Speech Communication and Technology</conf-name><conf-loc>Budapest, Hungary</conf-loc><conf-date>5–9 September 1999</conf-date><fpage>61</fpage><lpage>64</lpage></citation></ref>
<ref id="b23-sensors-12-06727"><label>23.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Benyassine</surname><given-names>A.</given-names></name><name><surname>Shlomot</surname><given-names>E.</given-names></name><name><surname>Su</surname><given-names>H.Y.</given-names></name></person-group><article-title>ITU-T Recommendation G.729 nnex B: A Silence compression scheme for use with G.729 optimized for V.70 digital simulatenous voice and data applications</article-title><source>IEEE Commun. Mag.</source><year>1997</year><volume>35</volume><fpage>64</fpage><lpage>73</lpage></citation></ref>
<ref id="b24-sensors-12-06727"><label>24.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Tucker</surname><given-names>R.</given-names></name></person-group><article-title>Voice activity detection using a periodicity measure</article-title><source>Proc. Inst. Elect. Eng.</source><year>1992</year><volume>139</volume><fpage>377</fpage><lpage>380</lpage></citation></ref>
<ref id="b25-sensors-12-06727"><label>25.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Nemer</surname><given-names>E.</given-names></name><name><surname>Goubran</surname><given-names>R.</given-names></name><name><surname>Mahmoud</surname><given-names>S.</given-names></name></person-group><article-title>Robust voice activity detection using higher order statistics in the LPC residual domain</article-title><source>IEEE Trans. Speech Audio Process.</source><year>2001</year><volume>9</volume><fpage>217</fpage><lpage>231</lpage><pub-id pub-id-type="doi">10.1109/89.905996</pub-id></citation></ref>
<ref id="b26-sensors-12-06727"><label>26.</label><citation citation-type="journal"><person-group person-group-type="author"><collab>ETSI</collab></person-group><article-title>Voice Activity Detector (VAD) for Adaptive Multi-Rate (AMR) Speech Traffic Channels</article-title><comment>ETSI EN 301 708 Recommendation</comment><year>1999</year></citation></ref>
<ref id="b27-sensors-12-06727"><label>27.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Tanyer</surname><given-names>S.G.</given-names></name><name><surname>Özer</surname><given-names>H.</given-names></name></person-group><article-title>Voice activity detection in nonstationary noise</article-title><source>IEEE Trans. Speech Audio Process.</source><year>2000</year><volume>8</volume><fpage>478</fpage><lpage>482</lpage><pub-id pub-id-type="doi">10.1109/89.848229</pub-id></citation></ref>
<ref id="b28-sensors-12-06727"><label>28.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Chen</surname><given-names>S.H.</given-names></name><name><surname>Chang</surname><given-names>B.R.</given-names></name></person-group><article-title>A Support Vector Machine Based Voice Activity Detection Algorithm for AMR-WB Speech Codec System</article-title><conf-name>Proceeding of Second International Conference on Innovative Computing, Information and Control (ICICIC 2007)</conf-name><conf-loc>Kumamoto, Japan</conf-loc><conf-date>5–7 September 2007</conf-date><fpage>64</fpage><lpage>67</lpage></citation></ref>
<ref id="b29-sensors-12-06727"><label>29.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Kim</surname><given-names>H.-I.</given-names></name><name><surname>Park</surname><given-names>S.U.</given-names></name></person-group><article-title>Voice activity detection algorithm based on radial basis function network</article-title><source>IEICE Trans. Commun.</source><year>2005</year><volume>E88-B</volume><fpage>1656</fpage><lpage>1657</lpage></citation></ref>
<ref id="b30-sensors-12-06727"><label>30.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Culebras</surname><given-names>R.</given-names></name><name><surname>Ramírez</surname><given-names>J.</given-names></name><name><surname>Górriz</surname><given-names>J.M.</given-names></name><name><surname>Segura</surname><given-names>J.C.</given-names></name></person-group><article-title>Fuzzy logic speech/non-speech discrimination for noise robust speech processing</article-title><source>Comput. Sci.</source><year>2006</year><volume>3991</volume><fpage>395</fpage><lpage>402</lpage></citation></ref>
<ref id="b31-sensors-12-06727"><label>31.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Francesco</surname><given-names>B.</given-names></name><name><surname>Salvatore</surname><given-names>C.</given-names></name><name><surname>Alfredo</surname><given-names>C.</given-names></name></person-group><article-title>A robust voice activity detector for wireless communications using soft computing</article-title><source>IEEE J. Sel. Area Commun.</source><year>1998</year><volume>16</volume><fpage>395</fpage><lpage>402</lpage></citation></ref>
<ref id="b32-sensors-12-06727"><label>32.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Ramírez</surname><given-names>J.</given-names></name><name><surname>Górriz</surname><given-names>J.M.</given-names></name><name><surname>Segura</surname><given-names>J.C.</given-names></name></person-group><article-title>Voice Activity Detection Fundamentals and Speech Recognition System Robustness</article-title><source>Robust Speech Recognition and Understanding</source><person-group person-group-type="editor"><name><surname>Grimm</surname><given-names>M.</given-names></name><name><surname>Kroschel</surname><given-names>K.</given-names></name></person-group><publisher-name>I-Tech</publisher-name><publisher-loc>Vienna, Austria</publisher-loc><year>2007</year><fpage>1</fpage><lpage>22</lpage></citation></ref>
<ref id="b33-sensors-12-06727"><label>33.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Rossing</surname><given-names>D.T.</given-names></name></person-group><source>Hand Book of Acoustics</source><publisher-name>Springer</publisher-name><publisher-loc>New York, NY, USA</publisher-loc><year>2007</year></citation></ref>
<ref id="b34-sensors-12-06727"><label>34.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Tanyer</surname><given-names>S.G.</given-names></name><name><surname>Hamza</surname><given-names>O.</given-names></name></person-group><article-title>Voice activity detection in nonstationary noise</article-title><source>IEEE Trans. Speech Audio Proc.</source><year>2000</year><volume>8</volume><fpage>478</fpage><lpage>482</lpage><pub-id pub-id-type="doi">10.1109/89.848229</pub-id></citation></ref>
<ref id="b35-sensors-12-06727"><label>35.</label><citation citation-type="patent"><person-group person-group-type="author"><name><surname>Crouse</surname><given-names>W.G.</given-names></name><name><surname>Knox</surname><given-names>C.R.</given-names></name></person-group><article-title>Speech Detector with Variable Threshold</article-title><patent>U.S. Patent No. 4351983</patent><day>28</day><month>September</month><year>1982</year></citation></ref>
<ref id="b36-sensors-12-06727"><label>36.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Peter</surname><given-names>N.</given-names></name></person-group><article-title>Wideband speech and audio coding</article-title><source>IEEE Commun. Mag.</source><year>1993</year><volume>31</volume><fpage>34</fpage><lpage>44</lpage></citation></ref>
<ref id="b37-sensors-12-06727"><label>37.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Haykin</surname><given-names>S.</given-names></name></person-group><source>Adaptive Filter Theory</source><edition>4th ed.</edition><publisher-name>Prentice Hall</publisher-name><publisher-loc>Upper Saddle River, NJ, USA</publisher-loc><year>2002</year></citation></ref>
<ref id="b38-sensors-12-06727"><label>38.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Steeneken</surname><given-names>H.J.M.</given-names></name><name><surname>Geurtsen</surname><given-names>F.W.M.</given-names></name></person-group><article-title>Description of the RSG.10 Noise Data Base</article-title><source>Report IZF 1988-3 TNO</source><publisher-name>Institute for Perception</publisher-name><publisher-loc>Soesterberg, The Netherlands</publisher-loc><year>1988</year></citation></ref>
<ref id="b39-sensors-12-06727"><label>39.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Ramirez</surname><given-names>J.</given-names></name><name><surname>Segura</surname><given-names>J.C.</given-names></name><name><surname>Benitez</surname><given-names>C.</given-names></name><name><surname>Torre</surname><given-names>A.</given-names></name><name><surname>Rubio</surname><given-names>A.</given-names></name></person-group><article-title>Efficient voice activity algorithms using long term speech information</article-title><source>J. Speech Commun.</source><year>2004</year><volume>42</volume><fpage>271</fpage><lpage>287</lpage><pub-id pub-id-type="doi">10.1016/j.specom.2003.10.002</pub-id></citation></ref></ref-list>
<sec sec-type="display-objects">
<title>Figures and Table</title>
<fig id="f1-sensors-12-06727" position="float">
<label>Figure 1.</label>
<caption>
<p>The two-microphone adaptive noise canceller.</p></caption>
<graphic xlink:href="sensors-12-06727f1.gif"/></fig>
<fig id="f2-sensors-12-06727" position="float">
<label>Figure 2.</label>
<caption>
<p>A typical one end telephone speech.</p></caption>
<graphic xlink:href="sensors-12-06727f2.gif"/></fig>
<fig id="f3-sensors-12-06727" position="float">
<label>Figure 3.</label>
<caption>
<p>Flow chart of the VAD algorithm using background noise information.</p></caption>
<graphic xlink:href="sensors-12-06727f3.gif"/></fig>
<fig id="f4-sensors-12-06727" position="float">
<label>Figure 4.</label>
<caption>
<p>Implementation of the full-band energy algorithm.</p></caption>
<graphic xlink:href="sensors-12-06727f4.gif"/></fig>
<fig id="f5-sensors-12-06727" position="float">
<label>Figure 5.</label>
<caption>
<p>Zero crossing rate calculation.</p></caption>
<graphic xlink:href="sensors-12-06727f5.gif"/></fig>
<fig id="f6-sensors-12-06727" position="float">
<label>Figure 6.</label>
<caption>
<p>Zero crossing detection of a noisy signal</p></caption>
<graphic xlink:href="sensors-12-06727f6.gif"/></fig>
<fig id="f7-sensors-12-06727" position="float">
<label>Figure 7.</label>
<caption>
<p>Decision Module.</p></caption>
<graphic xlink:href="sensors-12-06727f7.gif"/></fig>
<fig id="f8-sensors-12-06727" position="float">
<label>Figure 8.</label>
<caption>
<p>Thresholds adjustment using residual output information.</p></caption>
<graphic xlink:href="sensors-12-06727f8.gif"/></fig>
<fig id="f9-sensors-12-06727" position="float">
<label>Figure 9.</label>
<caption>
<p>Deducing the best value for step-size gain factor <italic>μ</italic>.</p></caption>
<graphic xlink:href="sensors-12-06727f9.gif"/></fig>
<fig id="f10-sensors-12-06727" position="float">
<label>Figure 10.</label>
<caption>
<p>(<bold>a</bold>) Original speech, (<bold>b</bold>) noisy speech, (<bold>c</bold>) VAD result and (<bold>d</bold>) Filtered speech.</p></caption>
<graphic xlink:href="sensors-12-06727f10.gif"/></fig>
<fig id="f11-sensors-12-06727" position="float">
<label>Figure 11.</label>
<caption>
<p>Comparison of SNR performance between threshold controlled and uncontrolled ANCs under white background noise.</p></caption>
<graphic xlink:href="sensors-12-06727f11.gif"/></fig>
<fig id="f12-sensors-12-06727" position="float">
<label>Figure 12.</label>
<caption>
<p>Comparison of SNR performance between threshold controlled and uncontrolled ANCs with noise babble as background interference.</p></caption>
<graphic xlink:href="sensors-12-06727f12.gif"/></fig>
<fig id="f13-sensors-12-06727" position="float">
<label>Figure 13.</label>
<caption>
<p>Mean square error convergence of controlled and uncontrolled noise cancellers.</p></caption>
<graphic xlink:href="sensors-12-06727f13.gif"/></fig>
<table-wrap id="t1-sensors-12-06727" position="float">
<label>Table 1.</label>
<caption>
<p>Comparison of controlled ANC and uncontrolled noise canceller with various background noise signals.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="center" valign="middle" rowspan="3"><bold>Noise Type</bold></th>
<th align="center" valign="middle" rowspan="3"><bold>Input SNR (dB)</bold></th>
<th colspan="2" align="center" valign="middle"><bold>Output SNR (dB)</bold></th></tr>
<tr>
<th valign="bottom" colspan="2">
<hr/></th></tr>
<tr>
<th align="center" valign="middle"><bold>Uncontrolled ANC</bold></th>
<th align="center" valign="middle"><bold>Threshold controlled ANC</bold></th></tr></thead>
<tbody>
<tr>
<td align="center" valign="top">White</td>
<td align="center" valign="top">15.42</td>
<td align="center" valign="top">23.74</td>
<td align="center" valign="top">30.65</td></tr>
<tr>
<td align="center" valign="top">Pink</td>
<td align="center" valign="top">10.33</td>
<td align="center" valign="top">20.54</td>
<td align="center" valign="top">24.23</td></tr>
<tr>
<td align="center" valign="top">Voice babble</td>
<td align="center" valign="top">13.60</td>
<td align="center" valign="top">16.46</td>
<td align="center" valign="top">21.63</td></tr>
<tr>
<td align="center" valign="top">Factory</td>
<td align="center" valign="top">8.3</td>
<td align="center" valign="top">14.35</td>
<td align="center" valign="top">20.56</td></tr></tbody></table></table-wrap></sec></back></article>
