<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ep-patent-document PUBLIC "-//EPO//EP PATENT DOCUMENT 1.0//EN" "ep-patent-document-v1-0.dtd">
<ep-patent-document id="EP02380144A1" file="02380144.xml" lang="en" country="EP" doc-number="1378887" kind="A1" date-publ="20040107" status="n" dtd-version="ep-patent-document-v1-0">
<SDOBI lang="en"><B000><eptags><B001EP>ATBECHDEDKESFRGBGRITLILUNLSEMCPTIESILTLVFIROMKCYALTRBGCZEE....SK................</B001EP><B005EP>J</B005EP><B007EP>DIM360 (Ver 1.5  21 Nov 2005) -  1100000/0</B007EP></eptags></B000><B100><B110>1378887</B110><B120><B121>EUROPEAN PATENT APPLICATION</B121></B120><B130>A1</B130><B140><date>20040107</date></B140><B190>EP</B190></B100><B200><B210>02380144.2</B210><B220><date>20020702</date></B220><B250>es</B250><B251EP>en</B251EP><B260>en</B260></B200><B400><B405><date>20040107</date><bnum>200402</bnum></B405><B430><date>20040107</date><bnum>200402</bnum></B430></B400><B500><B510><B516>7</B516><B511> 7G 10L  19/00   A</B511></B510><B540><B541>de</B541><B542>Verfahren zur Erzeugung von Komfortgeräusch-Rahmen (CNF)</B542><B541>en</B541><B542>Generation method of comfort noise frames (CNF)</B542><B541>fr</B541><B542>Procédé de génération de trames bruit de confort (CNF)</B542></B540><B590><B598>1</B598></B590></B500><B700><B710><B711><snm>Teltronic S.A.U.</snm><iid>04160760</iid><irf>AX020075EP</irf><adr><str>C/F Oeste,
Malpica</str><city>50027 Zaragoza</city><ctry>ES</ctry></adr></B711></B710><B720><B721><snm>Garcia, Paloma</snm><adr><str>C/F Oeste,
Malpica</str><city>50057 Zaragoza</city><ctry>ES</ctry></adr></B721><B721><snm>Masgrau Gomez, Enrique</snm><adr><str>C/F Oeste,
Malpica</str><city>50057 Zaragoza</city><ctry>ES</ctry></adr></B721><B721><snm>Lleida Solano, Eduardo</snm><adr><str>C/F Oeste,
Malpica</str><city>50057 Zaragoza</city><ctry>ES</ctry></adr></B721></B720><B740><B741><snm>Primo de Rivera y Urquijo, Jose Antonio</snm><iid>00057461</iid><adr><str>General Martinez Campos, 51</str><city>28010 Madrid</city><ctry>ES</ctry></adr></B741></B740></B700><B800><B840><ctry>AT</ctry><ctry>BE</ctry><ctry>BG</ctry><ctry>CH</ctry><ctry>CY</ctry><ctry>CZ</ctry><ctry>DE</ctry><ctry>DK</ctry><ctry>EE</ctry><ctry>ES</ctry><ctry>FI</ctry><ctry>FR</ctry><ctry>GB</ctry><ctry>GR</ctry><ctry>IE</ctry><ctry>IT</ctry><ctry>LI</ctry><ctry>LU</ctry><ctry>MC</ctry><ctry>NL</ctry><ctry>PT</ctry><ctry>SE</ctry><ctry>SK</ctry><ctry>TR</ctry></B840><B844EP><B845EP><ctry>AL</ctry></B845EP><B845EP><ctry>LT</ctry></B845EP><B845EP><ctry>LV</ctry></B845EP><B845EP><ctry>MK</ctry></B845EP><B845EP><ctry>RO</ctry></B845EP><B845EP><ctry>SI</ctry></B845EP></B844EP></B800></SDOBI><!-- EPO <DP n="8000"> -->
<abstract id="abst" lang="en">
<p id="pa01" num="0001">A generation method of Comfort Noise Frames (CNF) in a TETRA system is described, for the generation of background noise frames in an emitter terminal, which must be transmitted during the periods of silence of said emitter terminal. The invention, also applicable to the case of the GSM standard, uses algorithmic alternatives for generating the frames by means of applying an algorithm to the parameters given by the control block terminal vocoder to the vocoder control block, the latter including a Vocal Activity Detector (VAD) and a comfort noise parameters calculation block. The method of the invention foresees the adaptation phases of the GSM standard VAD to that of TETRA, the CNF frame calculation, and the gains averaging by alternating the values of the quantizer, such that the average of the values over the subframes is as close as possible to the desired energy.<img id="iaf01" file="imgaf001.tif" wi="123" he="92" img-content="drawing" img-format="tif"/></p>
</abstract><!-- EPO <DP n="1"> -->
<description id="desc" lang="en">
<heading id="h0001"><b>Object of the Invention</b></heading>
<p id="p0001" num="0001">The present invention refers to a generation method of Comfort Noise Frames (CNF), providing essential novelty features and significant advantages with respect to the means known and used for the same purposes in the current state of the art.</p>
<p id="p0002" num="0002">More specifically, the invention proposes the development of a method by means of which it is possible to carry out the generation of frames capable of being used in background noise generation in a receiver for the purpose of the intermittent transmission from an emitter in TETRA systems, that is to say during the time periods in which said emitter is silent, this noise being obtained from said CNF frames. The method develops an algorithm for generating said frames.</p>
<p id="p0003" num="0003">The field of application of the invention is comprised within the telecommunications sector in general, and more specifically in the radio transmissions sector.</p>
<heading id="h0002"><b>Background and Summary of the Invention</b></heading>
<p id="p0004" num="0004">Skilled persons in the art know the features which define the TETRA standard based on the intermittent performance of an emission from a suitable emitting device, whose emission. must be received and completed in the corresponding receiver device. Actually, said TETRA system permits, as a functioning option, that while a person<!-- EPO <DP n="2"> --> speaking from an emitter device remains silent (absence of voice or tones), the emitter device periodically sends a frame, denominated a Comfort Noise Frame (CNF), in which the spectral features of the room noise are parameterized as if it were a normal speech signal, such that by ceasing to emit during alternating time periods, a considerable saving of the terminal feed batteries is achieved, as well as a reduction in the co-channel interferences with the rest of the system users. The sending of this frame is indicated to the receiver by means of the insertion of a CNF command in the first half of a slot, reserving the second half of the slot in order to include the parameterization of the noise.</p>
<p id="p0005" num="0005">The emitter device does not transmit this background noise information during several subsequent frames, whose number is a compromise between the desired update frequency, the danger of disconnecting from the base due to an absence of signal in the uplink, and the desired level of energetic saving and of co-channel interference reduction. In the moment in which the Vocal Activity Detector (VAD) of said emitter device detects the presence of an information signal, it immediately switches to the normal transmission mode.</p>
<p id="p0006" num="0006">Concerning the receiver device, it must be able to reconstruct the room noise signal as from said periodic frame while the silence lasts in the emitter device. The reconstruction of this signal is carried out as from the reception of a CNF command, applying an algorithm to the received CNF parameters for generating the frame with the information of the received noise, and a synthesis will be carried out in the subsequent frames, being based on a determined algorithm. When a new noise frame is received, it<!-- EPO <DP n="3"> --> proceeds in the same manner as with the first CNF command, and determined parameters used in the synthesis are updated.</p>
<p id="p0007" num="0007">Some methods and devices are already known in the state of the art, by means of which certain aspects of speech analysis-synthesis, their coding and decoding are carried out. In this sense, those currently constituting the most relevant prior art are cited below.</p>
<p id="p0008" num="0008">International patent PCT number WO 00/11648 refers to a voice decoder using a vocal activity detector in the noise coding. Said document proposes various methods for generating the speech signal in case of an absence of vocal activity, among which there is a method based on the generation of a random excitation sequence which can be generated in the voice decoder. Other proposed methods are based on the use of information relative to the energy level or to the spectral profile.</p>
<p id="p0009" num="0009">US patent number 5,642,464 discloses methods and apparatuses for noise conditioning in digital vocal compression systems with the use of linear predictive coding, and it proposes a noise signals (absence of voice) processing method consisting of the calculation of the LPC (Lineal Predictive Coding) coefficients, and for this it makes provisions for the samples of that noise interval and the samples of a plurality of prior signal intervals.</p>
<p id="p0010" num="0010">US patent number 6,240,383 refers to a voice coding and decoding system for the creation of comfort noise depending on the spectral envelope of the speech signal by means of storing the LPC parameters of the first non-speech signal prior to switching to non-speech.<!-- EPO <DP n="4"> --></p>
<p id="p0011" num="0011">The present invention refers to a generation method of Comfort Noise Frames (CNF), which has as the object obtaining such frames in the receiver terminal during the voice inactivity periods of the emitter with the applicatior of a suitable algorithm.</p>
<p id="p0012" num="0012">Thus, in the case of the present invention and given that the art used can also be used in the transmission of GSM (Global System for Mobile Communications) signals, the method foresees on one hand, the adaptation of a Voice Activity Detector (VAD) such that it can be used in TETRA terminals, and on the other hand, the development and use of algorithmic strategies capable of being performed by the comfort noise parameters calculation block in order to generate the CNF parameters to be periodically transmitted during the periods of silence.</p>
<heading id="h0003"><b>Brief Description of the Drawings</b></heading>
<p id="p0013" num="0013">These and other features and advantages of the invention will become more clearly evident based on the following detailed description of a preferred embodiment, given only as an illustrative and non-limiting example, with reference to the accompanying drawings in which:
<ul id="ul0001" list-style="none">
<li>Figures 1 and 2 show illustrative graphic representations of blocks of coding and decoding devices, respectively, according to that encompassed by the TETRA standard;</li>
<li>Figure 3 shows an illustrative diagram of the TETRA vocoder operation when the comfort noise function is active;<!-- EPO <DP n="5"> --></li>
<li>Figure 4 shows a schematic representation of a GSM type voice activity decoder (VAD), and</li>
<li>Figure 5 lastly shows a representation of a TETRA coder with indication of the extraction points of the parameters required by the VAD.</li>
</ul></p>
<heading id="h0004"><b>Description of a Preferred Embodiment Example</b></heading>
<p id="p0014" num="0014">As has previously been stated, the detailed description of the preferred embodiment of the invention will be carried out with the use of the attached drawings, for the purposes of providing, in the first place and with illustrative purposes, the representations of the conventional technique appearing in figures 1 and 2.</p>
<p id="p0015" num="0015">As can be seen, the block diagram in figure 1 corresponds to a coder structured in the emitter terminal according to the TETRA standard, and includes a vocoder block 1, and a vocoder control block 2, the latter including several sub-blocks among which a sub-block 2a is distinguished for functions in test mode, a sub-block 2b for the reset function of the coder 1, a sub-block 2c for the frame uptake function, a sub-block 2d responsible for the comfort noise function, a sub-block 2e for the speech importance function, and lastly, an enciphering interface sub-block 2f. The blocks affected by the insertion of the comfort noise are, in particular, those identified as control noise function sub-block 2d and speech importance function sub-block 2e. The voice activity detection is carried out in this last sub-block, while the comfort noise function sub-block 2d is responsible for carrying out the calculations of the parameters of the comfort noise to be<!-- EPO <DP n="6"> --> sent in the CNF slot, on the basis of the parameters given by the vocoder 1.</p>
<p id="p0016" num="0016">Concerning the decoder device according to the TETRA standard, incorporated in the receiver terminal and schematically shown in the drawing in figure 2, it includes a voice decoder control block 3 and a voice decoder block 4. In the control block 3, several sub-blocks are distinguished, such as the enciphering interface sub-block 3a, reset function sub-block 3b of the decoder 4, the missing frame generation sub-block 3c, the missing frame substitution sub-block 3d, and the sub-block 3e for functions in test mode. In this case, the blocks affected by the comfort noise are, particularly, the sub-block 3c corresponding to the missing frame generation, which detects the presence of a CNF slot and carries out the noise frames synthesis, and the missing frame substitution sub-block 3d, with which the frame provided by the missing frame generation sub-block 3c is simply inserted in the frame fed to said voice decoder 4.</p>
<p id="p0017" num="0017">According to the invention, the proposed method precisely consists of the generation of an algorithm for generating the Comfort Noise Frames (CNF) in the receiver terminal, and for this purpose the algorithmic strategies, which will be defined below, are developed. In any case, the emitter sub-blocks intervening in implementing the method correspond to those indicated by means of the numerical references 2d and 2e, that is to say, the comfort noise function and speech importance function sub-blocks, respectively, appearing in the scheme in figure 1. Of them, the speech importance function sub-block 2e in reality corresponds to a Voice Activity Detector (VAD). The VAD used<!-- EPO <DP n="7"> --> by the invention is based on the GSM standard [see: Digital cellular telecommunications system (phase 2); Voice Activity Decoder (VAD) for enhanced full rate (EFR) speech traffic channels. (GSM 06.82 version 4.0.1). Document ETSI EN 301 249 v4.0.1. (1997-12)] [1]. However, the invention foresees introducing variations in the GSM type VAD for the purpose of adapting it to the peculiarities of the TETRA standard vocoder.</p>
<p id="p0018" num="0018">On the other hand, the comfort noise function block 2d is responsible for carrying out the calculation of the parameters to be sent in a corresponding frame to a CNF slot.</p>
<p id="p0019" num="0019">Figure 3 schematically shows the operation mode of the TETRA vocoder when the noise capacity is active. In this figure, the non-shaded slots 5 correspond to speech slots or CNF slots, while the shaded (crosshatched) slots 6 correspond to the transmitter inactivity periods. When a CNF frame is transmitted, the transmission is temporarily suspended (shaded slots 6) until a speech slot 5 transmits again, or the CNF information must be updated to the receiver (CNF updating period indicated with "T" in figure 3).</p>
<p id="p0020" num="0020">As previously indicated, the method of the invention foresees introducing modifications in the GSM standard VAD system for its adaptation to the TETRA vocoder particularities, according to the description below. The particularities and features of the VAD corresponding to said GSM standard are described in detail in document [1], which has been previously mentioned.<!-- EPO <DP n="8"> --></p>
<p id="p0021" num="0021">The TETRA vocoder works with frames of 30 msec divided into four sub-frames of 7.5 msec each, while the GSM vocoder works with frames of 20 msec, with four sub-frames of 5 msec each. In addition, the TETRA vocoder accepts quantified voice samples in 16 bits (15 plus a one of sign), which are subsequently scaled by 2, which implies 15 bits. In exchange, the GSM vocoder accepts samples in 13 bits. Both differences affect the energy levels per frame, which in the case of TETRA will be 1.5x (4)2=24 times grater than that of GSM. As many of the VAD calculations require the use of magnitudes dependent on the energy of the frames, it will be precise to adapt these to the length of the TETRA frame.</p>
<p id="p0022" num="0022">The GSM standard VAD basically consists of an energy detector by threshold (high energy level indicates speech; low energy level indicates silence). This detection is carried out on a pinpoint signal by means of a filtering adapted to the features of the noise, using a continuously: adapted decision threshold according to the features of the present signal.</p>
<p id="p0023" num="0023">Figure 4 shows a scheme of blocks of the GSM system VAD with the following functionalities: block 7a, adaptive filtration and energy calculation; block 7b, periodicity detection; block 7c, tone detection; block 7d, averaged ACF; block 7e, calculation of predictor values; block 7f, spectral comparison; block 7g, threshold adaptation; block 7h, VAD decision; and block 7i, VAD persistence addition. The existence of three inputs can also be seen, respectively indicated as E<sub>1</sub>, E<sub>2</sub> and E<sub>3</sub>, coming from the TETRA vocoder, while giving one single outlet, indicated as S1, consisting of a vadflag variable, which adopts a value of "1" in the case of the presence of speech, and a "0" value in the case<!-- EPO <DP n="9"> --> of silence. The three inputs E<sub>1</sub> to E<sub>3</sub>, associated to the blocks 7a, 7b and 7c are, respectively, the 8 autocorrelation coefficients of current frame (acf) (there could be up to 10, which are those calculated by the TETRA vocoder; however, in the case of the present invention, it has been chosen to maintain the number 8, as in the GSM standard, given that the most costly calculation is that of the LPC coefficients, which must be specifically carried out in the VAD); the four lags of the adaptive code, corresponding to each one of the four sub-frames, show an estimate of the periodicity or pitch of the signal (lags); and the first four LPC reflection coefficients (rc).</p>
<p id="p0024" num="0024">The acf coefficients of the input E1 provide the necessary information for carrying out a pinpoint filtering of the input signal, improving its SNR (signal-noise ratio), and they intervene in deciding if it adapts the noise energy threshold: yes, in the case of pre-classifying the current frame as noise; no, in the case of pre-classifying it as an information signal (speech or tones). The lag values of the input E<sub>2</sub> permit detecting audible speech frames with well defined periodicity, in which case it does not update the decision threshold. The first four reflection coefficients through the input E<sub>3</sub> permit reliably detecting the presence of tones, which also determines not updating the threshold. It is interesting to point out that the three types of signal intervene in the decision to update or not update the energy threshold, but only the acf's of the input E<sub>1</sub> are those used in obtaining the energy level, on making the final decision, and in the calculation of the pinpoint filter.<!-- EPO <DP n="10"> --></p>
<p id="p0025" num="0025">For illustrative purposes, a chart is shown below with the values adopted by the different parameters of the GSM standard VAD. 
<tables id="tabl0001" num="0001">
<table frame="all">
<tgroup cols="2" colsep="1" rowsep="1">
<colspec colnum="1" colname="col1" colwidth="78.75mm"/>
<colspec colnum="2" colname="col2" colwidth="78.75mm"/>
<thead valign="top">
<row>
<entry namest="col1" nameend="col1" align="center"><b>PARAMETER</b></entry>
<entry namest="col2" nameend="col2" align="center"><b>VALUE</b></entry></row></thead>
<tbody valign="top">
<row>
<entry namest="col1" nameend="col1" align="left">Pth</entry>
<entry namest="col2" nameend="col2" align="left">130000*1,5</entry></row>
<row>
<entry namest="col1" nameend="col1" align="left">Plev</entry>
<entry namest="col2" nameend="col2" align="left">130000*1,5</entry></row>
<row>
<entry namest="col1" nameend="col1" align="left">Adp</entry>
<entry namest="col2" nameend="col2" align="left">6</entry></row>
<row>
<entry namest="col1" nameend="col1" align="left">Dec</entry>
<entry namest="col2" nameend="col2" align="left">16</entry></row>
<row>
<entry namest="col1" nameend="col1" align="left">Inc</entry>
<entry namest="col2" nameend="col2" align="left">8</entry></row>
<row>
<entry namest="col1" nameend="col1" align="left">Fac</entry>
<entry namest="col2" nameend="col2" align="left">2</entry></row>
<row>
<entry namest="col1" nameend="col1" align="left">Margin</entry>
<entry namest="col2" nameend="col2" align="left">150000000*1,5</entry></row>
<row>
<entry namest="col1" nameend="col1" align="left">Threshold (Spectral comparison)</entry>
<entry namest="col2" nameend="col2" align="left">0,056</entry></row>
<row>
<entry namest="col1" nameend="col1" align="left">FREQTH (Tone detection)</entry>
<entry namest="col2" nameend="col2" align="left">0,0973</entry></row>
<row>
<entry namest="col1" nameend="col1" align="left">PREDTH (Tone detection)</entry>
<entry namest="col2" nameend="col2" align="left">0,0447</entry></row>
<row>
<entry namest="col1" nameend="col1" align="left">LTHRESH (Periodicity detection)</entry>
<entry namest="col2" nameend="col2" align="left">2</entry></row>
<row>
<entry namest="col1" nameend="col1" align="left">NTHRESH</entry>
<entry namest="col2" nameend="col2" align="left">6</entry></row>
<row rowsep="1">
<entry namest="col1" nameend="col1" align="left">Hangconst (VAD persistence)</entry>
<entry namest="col2" nameend="col2" align="left">10</entry></row>
<row rowsep="1">
<entry namest="col1" nameend="col1" align="left">Burstconst (VAD persistence)</entry>
<entry namest="col2" nameend="col2" align="left">3</entry></row></tbody></tgroup>
</table>
</tables></p>
<p id="p0026" num="0026">Figure 5 shows a schematic view of a block diagram corresponding to a TETRA vocoder, constituted of a number of sub-blocks which will not be described in detail as they are known by themselves, and of those which reference will be made only to those intervening in the development of the method of the invention for extracting the useful information required by the VAD in order to make its decision. For this purpose, it is necessary to mention the sub-blocks 8a of autocorrelation and window selection, 8b of the Levinson-Durbin algorithmic function and 8c of the better delay and gain search. A first extraction point P<sub>1</sub>, located between blocks 8a and 8b, permits obtaining the 8<!-- EPO <DP n="11"> --> autocorrelation coefficients acf(i)=R(i) to be applied to the input E<sub>1</sub>. A second point P<sub>2</sub>, associated to the block 8c, permits extracting the periodicity lags(i) values corresponding to the four sub-frames of 7.5 msec into which each frame is divided for applying to the input E<sub>2</sub>. Lastly, a third point P<sub>3</sub>, associated to the block 8b, permits extracting the first four reflection coefficients, which are intermediate magnitudes obtained in the calculation of the A(z) LPC predictor coefficients by means of the Levinson-Durbin algorithm.</p>
<p id="p0027" num="0027">The second algorithmic strategy according to the invention consists of the calculation of the CNF frame (LSP parameters and Rp and Rc gains). The calculation of the parameters characterizing the comfort noise are described below, which are transmitted in the second frame of slot 5 (figure 3), which is marked as CNF. The structure of the frame has a similar appearance to that of a speech frame, changing the way of calculating the parameters representing it. This CNF slot is sent with a rate of a determined N number of frames (semi-slots).</p>
<p id="p0028" num="0028">A table is shown below with the structure of a frame of the TETRA vocoder, containing both the parameters to be modified and those which are given to the TETRA vocoder without any modification.<!-- EPO <DP n="12"> --> 
<tables id="tabl0002" num="0002">
<table frame="all">
<tgroup cols="3" colsep="1" rowsep="0">
<colspec colnum="1" colname="col1" colwidth="52.50mm"/>
<colspec colnum="2" colname="col2" colwidth="52.50mm"/>
<colspec colnum="3" colname="col3" colwidth="52.50mm"/>
<thead valign="top">
<row rowsep="1">
<entry namest="col1" nameend="col1" align="left"><b>Class of parameter</b></entry>
<entry namest="col2" nameend="col2" align="left"><b>Buffer memory shift</b></entry>
<entry namest="col3" nameend="col3" align="left"><b>Name of the parameter</b></entry></row></thead>
<tbody valign="top">
<row>
<entry namest="col1" nameend="col1" morerows="2" rowsep="1" align="left">Filter</entry>
<entry namest="col2" nameend="col2" align="left">+0</entry>
<entry namest="col3" nameend="col3" align="left">Code index: LSP1 to LSP3</entry></row>
<row>
<entry namest="col2" nameend="col2" align="left">+1</entry>
<entry namest="col3" nameend="col3" align="left">Code index: LSP4 to LSP6</entry></row>
<row rowsep="1">
<entry namest="col2" nameend="col2" align="left">+2</entry>
<entry namest="col3" nameend="col3" align="left">Code index: LSP7 to LSP10</entry></row>
<row>
<entry namest="col1" nameend="col1" morerows="9" rowsep="1" align="left">Sub-frame #1</entry>
<entry namest="col2" nameend="col2" align="left">+3</entry>
<entry namest="col3" nameend="col3" align="left">Pitch delay</entry></row>
<row>
<entry namest="col2" nameend="col2" align="left">+4</entry>
<entry namest="col3" nameend="col3" align="left">Code index: pulse 4</entry></row>
<row>
<entry namest="col2" nameend="col2"/>
<entry namest="col3" nameend="col3" align="left">Code index: pulse 3</entry></row>
<row>
<entry namest="col2" nameend="col2"/>
<entry namest="col3" nameend="col3" align="left">Code index: pulse 2</entry></row>
<row>
<entry namest="col2" nameend="col2"/>
<entry namest="col3" nameend="col3" align="left">Code index: pulse 1</entry></row>
<row>
<entry namest="col2" nameend="col2"/>
<entry namest="col3" nameend="col3" align="left">Global pulse sign</entry></row>
<row>
<entry namest="col2" nameend="col2" morerows="1" align="left">+5</entry>
<entry namest="col3" nameend="col3" align="left">Pulse shift</entry></row>
<row>
<entry namest="col3" nameend="col3" align="left">Code index: gains</entry></row>
<row>
<entry namest="col2" nameend="col2" align="left">+6</entry>
<entry namest="col3" nameend="col3"/></row>
<row rowsep="1">
<entry namest="col2" nameend="col2" align="left">+7</entry>
<entry namest="col3" nameend="col3"/></row>
<row>
<entry namest="col1" nameend="col1" morerows="9" rowsep="1" align="left">Sub-frame #2</entry>
<entry namest="col2" nameend="col2" align="left">+8</entry>
<entry namest="col3" nameend="col3" align="left">Pitch delay</entry></row>
<row>
<entry namest="col2" nameend="col2" align="left">+9</entry>
<entry namest="col3" nameend="col3" align="left">Code index: pulse 4</entry></row>
<row>
<entry namest="col2" nameend="col2"/>
<entry namest="col3" nameend="col3" align="left">Code index: pulse 3</entry></row>
<row>
<entry namest="col2" nameend="col2"/>
<entry namest="col3" nameend="col3" align="left">Code index: pulse 2</entry></row>
<row>
<entry namest="col2" nameend="col2"/>
<entry namest="col3" nameend="col3" align="left">Code index: pulse 1</entry></row>
<row>
<entry namest="col2" nameend="col2"/>
<entry namest="col3" nameend="col3" align="left">Global pulse sign</entry></row>
<row>
<entry namest="col2" nameend="col2" morerows="1" align="left">+10</entry>
<entry namest="col3" nameend="col3" align="left">Pulse shift</entry></row>
<row>
<entry namest="col3" nameend="col3" align="left">Code index: gains</entry></row>
<row>
<entry namest="col2" nameend="col2" align="left">+11</entry>
<entry namest="col3" nameend="col3"/></row>
<row rowsep="1">
<entry namest="col2" nameend="col2" align="left">+12</entry>
<entry namest="col3" nameend="col3"/></row>
<row>
<entry namest="col1" nameend="col1" morerows="9" rowsep="1" align="left">Sub-frame #3</entry>
<entry namest="col2" nameend="col2" align="left">+13</entry>
<entry namest="col3" nameend="col3" align="left">Pitch delay</entry></row>
<row>
<entry namest="col2" nameend="col2" align="left">+14</entry>
<entry namest="col3" nameend="col3" align="left">Code index: pulse 4</entry></row>
<row>
<entry namest="col2" nameend="col2"/>
<entry namest="col3" nameend="col3" align="left">Code index: pulse 3</entry></row>
<row>
<entry namest="col2" nameend="col2"/>
<entry namest="col3" nameend="col3" align="left">Code index: pulse 2</entry></row>
<row>
<entry namest="col2" nameend="col2"/>
<entry namest="col3" nameend="col3" align="left">Code index: pulse 1</entry></row>
<row>
<entry namest="col2" nameend="col2"/>
<entry namest="col3" nameend="col3" align="left">Global pulse sign</entry></row>
<row>
<entry namest="col2" nameend="col2" morerows="1" align="left">+15</entry>
<entry namest="col3" nameend="col3" align="left">Pulse shift</entry></row>
<row>
<entry namest="col3" nameend="col3" align="left">Code index: gains</entry></row>
<row>
<entry namest="col2" nameend="col2" align="left">+16</entry>
<entry namest="col3" nameend="col3"/></row>
<row rowsep="1">
<entry namest="col2" nameend="col2" align="left">+17</entry>
<entry namest="col3" nameend="col3"/></row>
<row>
<entry namest="col1" nameend="col1" morerows="9" rowsep="1" align="left">Sub-frame #4</entry>
<entry namest="col2" nameend="col2" align="left">+18</entry>
<entry namest="col3" nameend="col3" align="left">Pitch delay</entry></row>
<row>
<entry namest="col2" nameend="col2" morerows="1" align="left">+19</entry>
<entry namest="col3" nameend="col3" align="left">Code index: pulse 4</entry></row>
<row>
<entry namest="col3" nameend="col3" align="left">Code index: pulse 3</entry></row>
<row>
<entry namest="col2" nameend="col2"/>
<entry namest="col3" nameend="col3" align="left">Code index: pulse 2</entry></row>
<row>
<entry namest="col2" nameend="col2"/>
<entry namest="col3" nameend="col3" align="left">Code index: pulse 1</entry></row>
<row>
<entry namest="col2" nameend="col2"/>
<entry namest="col3" nameend="col3" align="left">Global pulse sign</entry></row>
<row>
<entry namest="col2" nameend="col2" morerows="1" align="left">+20</entry>
<entry namest="col3" nameend="col3" align="left">Pulse shift</entry></row>
<row>
<entry namest="col3" nameend="col3" align="left">Code index: gains</entry></row>
<row>
<entry namest="col2" nameend="col2" align="left">+21</entry>
<entry namest="col3" nameend="col3"/></row>
<row rowsep="1">
<entry namest="col2" nameend="col2" align="left">+22</entry>
<entry namest="col3" nameend="col3"/></row></tbody></tgroup>
</table>
</tables></p>
<p id="p0029" num="0029">The LSP parameters are the result of quantifying the average of the LSPs of the last four available frames: the<!-- EPO <DP n="13"> --> current one and the three immediately prior to the decision of silence by the VAD. These three frames are the last three of the 10 composing the hangover (persistence, block 7i) included in the VAD.</p>
<p id="p0030" num="0030">The differential Rp and Rc gains, corresponding to the adaptive (pitch) and random indices, are not straight averaged. This occurs because it has been seen that these values greatly vary from one noise frame to another, although it has similar features. A straight average of Rp and Rc would provide values of them that would produce an energy noise frame very different from the real one. Alternately, the pitch Ep and code Ec energies of said last four frames are averaged, and the Rp and Rc parameters corresponding to this energy are calculated. Specifically, those values steadily providing the average Ep and Ec energies are taken. The resulting expressions of Rp and Rc are the following:<maths id="math0001" num=""><math display="block"><mrow><mtext>Rc=0.5Ec - 0.25Ep + 3</mtext></mrow></math><img id="ib0001" file="imgb0001.tif" wi="43" he="4" img-content="math" img-format="tif"/></maths><maths id="math0002" num=""><math display="block"><mrow><mtext>Rp=0.5Ep - 0.25Ec + 3</mtext></mrow></math><img id="ib0002" file="imgb0002.tif" wi="43" he="4" img-content="math" img-format="tif"/></maths></p>
<p id="p0031" num="0031">They are obtained from expressions (31) to (36) in section 4.2.2.6 of document [2]: TETRA: Speech codec for full-rate traffic channel; Part 2; TETRA codec. Document ETS 300 295-2. September, 1997 (pp. 22). These Rp and Rc parameters are normally quantified by means of the 64-code codebook of the TETRA coder.</p>
<p id="p0032" num="0032">As indices of the random and of the adaptive code, the calculations are taken in the last frame.<!-- EPO <DP n="14"> --></p>
<p id="p0033" num="0033">During a determined number of subsequent frames, data is not sent. Once this number of frames has elapsed, a new update CNF frame is transmitted, calculated in the same manner.</p>
<p id="p0034" num="0034">Lastly, as a third algorithmic strategy, the method of the invention foresees performing a gains averaging. Actually, with the scheme shown in the previous section on the energies averaging, problems of sudden energy hops occur between contiguous CNF periods in the synthesis process carried out in the receiver. The scheme shown below is responsible for carrying out a certain processing on the energies for the purpose of reducing this undesired effect.</p>
<p id="p0035" num="0035">This new alternative takes advantage of the existence of 4 sub-frames for each speech frame in order to code different energy values (by means of Rp and Rc), thus achieving that the total average energy of the coded frame approximates with greater exactness the total energy desired (obtained as from the averaging of 4 noise frames).</p>
<p id="p0036" num="0036">The main problem arising consists of the lack of precision of the vector coding (6 bits), so that the difference between a value of the quantifier and the next one could be of one unit, corresponding to a multiplication factor 2 of the energy (remember that the energies are coded in log2) . Due to this, the work is now with the two values of the quantifier closest to the value of the energy to code (one above said value, and the other below), alternating said values in the sub-frames, such that the average of the 4 sub-frames is as close as possible to the desired energy. That is to say, the situation is of the type explained below:<!-- EPO <DP n="15"> --><img id="ib0003" file="imgb0003.tif" wi="159" he="29" img-content="undefined" img-format="tif"/> With (E1 + E2+ E3 + E4)/4 being a value approximate to Et (desired energy), and where E1, E2, E3, and E4 can only take two possible values, namely, the immediately greater one and the immediate lesser one to E).</p>
<p id="p0037" num="0037">The Et value corresponds to the total energy of the frame and is obtained from the averaging on the last four noise frames in the following manner:<maths id="math0003" num=""><math display="block"><mrow><msub><mrow><mtext>Et = log</mtext></mrow><mrow><mtext>2</mtext></mrow></msub><mtext> (2</mtext><mover accent="true"><mrow><msup><mrow><mtext>​</mtext></mrow><mrow><mtext>Ep</mtext></mrow></msup></mrow><mo>¯</mo></mover><mtext> + 2</mtext><mover accent="true"><mrow><msup><mrow><mtext>​</mtext></mrow><mrow><mtext>Ec</mtext></mrow></msup></mrow><mo>¯</mo></mover><mtext>)</mtext></mrow></math><img id="ib0004" file="imgb0004.tif" wi="41" he="6" img-content="math" img-format="tif"/></maths></p>
<p id="p0038" num="0038">The following diagram carries out a comparison between a situation in which the Et is approximated by using the same value for the four sub-frames, and another in which two values are permitted regarding the value to quantify.</p>
<p id="p0039" num="0039">The energy Et to quantify is shown with a dashed line, and a solid line shows the quantified value. It can be seen how, on average, the energy Et is quantified more precisely in the second situation.<img id="ib0005" file="imgb0005.tif" wi="161" he="35" img-content="undefined" img-format="tif"/><!-- EPO <DP n="16"> --><img id="ib0006" file="imgb0006.tif" wi="157" he="41" img-content="undefined" img-format="tif"/></p>
<p id="p0040" num="0040">As can be understood, the preceding explanation corresponds only to one preferred embodiment of the invention, therefore different variants and modifications are possible without changing the scope of the invention, limited only by the content of the following claims.</p>
</description><!-- EPO <DP n="17"> -->
<claims id="claims01" lang="en">
<claim id="c-en-0001" num="0001">
<claim-text>A generation method of Comfort Noise Frames (CNF), particularly applicable in combination with an emitter terminal according to the TETRA standard, by means of which said generation is carried out by applying an algorithm to the parameters given by the terminal vocoder to the vocoder control block, and in which said vocoder control block includes a Vocal Activity Detector (VAD) block and a comfort noise parameters calculation block, also applicable to the transmission of signals under the GSM standard, <b>characterized in that</b> it comprises the phases of: a) adapting the GSM standard VAD to the TETRA standard, b) calculating the CNF frame (LSP parameters, Rp and Rc gains) which must be periodically transmitted from the emitter during the state of silence of the latter, and c) gains averaging by means of the average calculation of the values of the pitch and code energies, corresponding to four frames (the current one and three previous ones), and with a transmission of the algebraic and adaptive code index values corresponding to those calculated in the last frame.</claim-text></claim>
<claim id="c-en-0002" num="0002">
<claim-text>A method according to claim 1, <b>characterized in that</b> the adaptation of the VAD is carried out with the provision of three inputs (E<sub>1</sub>, E<sub>2</sub>, E<sub>3</sub>) respectively corresponding to autocorrelation coefficients input of the current frame, extracted from among the blocks (8a) of autocorrelation and window selection, and (8b) of the Levinson-Durbin algorithm, of the TETRA coder; input of the adaptive code lags corresponding to each one of the four sub-frames, extracted in the block (8c) of better delay and gain search of the TETRA coder; and input of the first four<!-- EPO <DP n="18"> --> LPC reflection coefficients (rc), extracted in the previously mentioned block (8b).</claim-text></claim>
<claim id="c-en-0003" num="0003">
<claim-text>A method according to claim 1, <b>characterized in that</b> the calculation of parameters is carried out such that:
<claim-text>the LSP parameters are the result of quantifying the average of the LSPs of the last four available frames, namely, the current one and the three immediately prior ones, and</claim-text>
<claim-text>the Rp and Rc parameters, representative of the adaptive (pitch) and random codes, respectively, are calculated by taking into consideration the pitch(Ep) and code (Ec) energies, with the application of the following expressions:<maths id="math0004" num=""><math display="block"><mrow><mtext>Rc=0.5Ec - 0.25Ep + 3</mtext></mrow></math><img id="ib0007" file="imgb0007.tif" wi="43" he="4" img-content="math" img-format="tif"/></maths><maths id="math0005" num=""><math display="block"><mrow><mtext>Rp=0.5Ep - 0.25Ec + 3.</mtext></mrow></math><img id="ib0008" file="imgb0008.tif" wi="44" he="4" img-content="math" img-format="tif"/></maths></claim-text></claim-text></claim>
<claim id="c-en-0004" num="0004">
<claim-text>A method according to claim 1, <b>characterized in that</b> the gains averaging, carried out for the purpose of preventing sudden energy hops between contiguous CNF periods, is carried out by taking advantage of the existence of 4 sub-frames for each speech frame, carrying out the arithmetic average of the four respective energies (E1, E2, E3, E4) corresponding to said sub-frames, and such that the value of the total energy Et of the frame responds to the formula:<maths id="math0006" num=""><math display="block"><mrow><msub><mrow><mtext>Et = log</mtext></mrow><mrow><mtext>2</mtext></mrow></msub><mtext> (2</mtext><mover accent="true"><mrow><msup><mrow><mtext>​</mtext></mrow><mrow><mtext>Ep</mtext></mrow></msup></mrow><mo>¯</mo></mover><mtext> + 2</mtext><mover accent="true"><mrow><msup><mrow><mtext>​</mtext></mrow><mrow><mtext>Ec</mtext></mrow></msup></mrow><mo>¯</mo></mover><mtext>).</mtext></mrow></math><img id="ib0009" file="imgb0009.tif" wi="42" he="6" img-content="math" img-format="tif"/></maths></claim-text></claim>
</claims><!-- EPO <DP n="19"> -->
<drawings id="draw" lang="en">
<figure id="f0001" num=""><img id="if0001" file="imgf0001.tif" wi="155" he="230" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="20"> -->
<figure id="f0002" num=""><img id="if0002" file="imgf0002.tif" wi="159" he="225" img-content="drawing" img-format="tif"/></figure><!-- EPO <DP n="21"> -->
<figure id="f0003" num=""><img id="if0003" file="imgf0003.tif" wi="142" he="161" img-content="drawing" img-format="tif"/></figure>
</drawings><!-- EPO <DP n="9000"> -->
<search-report-data id="srep" lang="en" srep-office="EP" date-produced=""><doc-page id="srep0001" file="srep0001.tif" wi="153" he="231" type="tif"/><!-- EPO <DP n="9001"> --><doc-page id="srep0002" file="srep0002.tif" wi="153" he="231" type="tif"/></search-report-data>
</ep-patent-document>
