LISA-U1 / LISA-U2 series - u-blox

LISA-U1 / LISA-U2 series - u-blox
Audio
Application Note
Abstract
This document provides information and procedures to resolve
audio related problems with LISA-U1 / LISA-U2 series series
modules.
In particular, it describes the procedures for tuning the hands-free
algorithm (echo cancellation, automatic gain control, noise
reduction) and the external audio management.
www.u-blox.com
locate, communicate, accelerate
LISA-U1 / LISA-U2 series
LISA-U1 / LISA-U2 series - Application Note
Document Information
Title
LISA-U1 / LISA-U2 series
Subtitle
Audio
Document type
Application Note
Document number
UBX-13001835
Document revision
A
Document status
Preliminary
This document and the use of any information contained therein, is subject to the acceptance of the u-blox terms and conditions. They
can be downloaded from www.u-blox.com.
u-blox makes no warranties based on the accuracy or completeness of the contents of this document and reserves the right to make
changes to specifications and product descriptions at any time without notice.
u-blox reserves all rights to this document and the information contained herein. Reproduction, use or disclosure to third parties without
express permission is strictly prohibited. Copyright © 2013, u-blox AG.
UBX-13001835 - A
Page 2 of 34
LISA-U1 / LISA-U2 series - Application Note
Contents
Contents.............................................................................................................................. 3
1
Introduction .................................................................................................................. 5
1.1
2
3
Introduction to HF algorithm tuning .......................................................................... 6
2.1
HF algorithm description ....................................................................................................................... 6
2.2
HF algorithm parameters ...................................................................................................................... 7
2.2.1
2.2.2
Parameters for block activation and initialization ........................................................................... 7
Unavailable parameters ................................................................................................................. 7
2.2.3
Parameters for automatic gain control (AGC) ................................................................................ 8
2.2.4
2.2.5
Parameters for noise reduction (NR)............................................................................................... 8
Parameters for echo cancellation ................................................................................................... 9
Procedure for echo canceller tuning ......................................................................... 10
3.1
4
Storing the parameters in the profile .................................................................................................. 13
No-duplex configuration ........................................................................................... 14
4.1
5
Scope ................................................................................................................................................... 5
Procedure ........................................................................................................................................... 14
External codec management ..................................................................................... 15
5.1
LISA-U1 series ..................................................................................................................................... 15
5.2
LISA-U2 series ..................................................................................................................................... 16
5.2.1
6
DTMF decoder ............................................................................................................ 21
6.1
6.2
About ETSI DTMF................................................................................................................................ 21
About DTMF ....................................................................................................................................... 21
6.2.1
7
Scenario ...................................................................................................................................... 17
The DTMF signal definitions ......................................................................................................... 21
DTMF signaling decoder on wireless modules ......................................................... 22
7.1
Implementation .................................................................................................................................. 22
7.2
Performance criteria............................................................................................................................ 22
7.2.1
Decoder configuration ................................................................................................................. 23
7.3
DTMF performance measurements ..................................................................................................... 26
7.3.1
Speech immunity ......................................................................................................................... 26
7.3.2
Detection performance ................................................................................................................ 27
7.4
Configuration examples ...................................................................................................................... 29
7.4.1
ETSI-compliant decoder ............................................................................................................... 29
7.4.2
7.4.3
ETSI-compliant decoder with guaranteed speech channel QoS .................................................... 29
Custom DTMF detectors for low quality speech channels ............................................................ 30
Appendix .......................................................................................................................... 32
UBX-13001835 - A
Preliminary
Page 3 of 34
LISA-U1 / LISA-U2 series - Application Note
A List of Acronyms ......................................................................................................... 32
Related documents........................................................................................................... 33
Revision history ................................................................................................................ 33
Contact .............................................................................................................................. 34
UBX-13001835 - A
Preliminary
Page 4 of 34
LISA-U1 / LISA-U2 series - Application Note
1 Introduction
This document provides information and procedures for the resolution of the potential audio related problems
on LISA-U1 / LISA-U2 series modules. It also addresses the DTMF signaling decoder functionality available via the
+UDTMFD AT command, implemented following the multi-part ETSI Standard ES 201 235 [5].
As an example, the document describes a procedure for tuning the hands-free algorithm (Echo cancellation,
Automatic Gain Control, Noise Reduction) and the management of an external codec.
For a detailed description of audio parameters and AT commands, refer to the u-blox AT Commands Manual [1].
For a detailed description of LISA-U1 / LISA-U2 series module audio interface, refer to the LISA-U series System
Integration Manual [2].
The following symbols are used to highlight important information within the document:
An index finger points out key information pertaining to integration and performance.
A warning symbol indicates actions that could negatively impact or damage the module.
1.1 Scope
This document applies to the following products:
o LISA-U1 series
o
UBX-13001835 - A
LISA-U2 series
Preliminary
Page 5 of 34
LISA-U1 / LISA-U2 series - Application Note
2 Introduction to HF algorithm tuning
After connecting external audio devices (i.e. microphone and loudspeaker) to the wireless module, the far-end
user might hear an acoustic echo. This problem typically occurs when the device gain is set high to work at a
distance (i.e. in hands-free application). LISA-U1 / LISA-U2 modules provide a hands-free algorithm to remove
the echo. The HF parameters control the algorithm within the uplink audio path in use (refer to AT+USPM and
AT+UHFP command in u-blox AT Commands Manual [1]), stored in the NVM dynamic parameters profile (refer
to section 3.1 and AT&W command description in u-blox AT Commands Manual [1]).
Section 3 presents a step-by-step procedure for choosing parameters to remove the echo heard on the far-end
side. In case of HF systems with high echo coupling and high non-linearity on the loudspeaker (making the EC
cancellation ineffective), a no duplex set-up is recommended, as described in the section 4.
Section 2.1 describes the HF algorithm and parameters meaning.
2.1 HF algorithm description
LEM SYSTEM
x
Far end signal
Decoder
AFB
EC
xb
...........
C
o
d
e
c
AC
AGC
AGC
I
F
FIR
e
c
h
o
e
I
F
C
yb
r
Encoder
A
u
d
i
o
DES/SER
NR
S
F
B
-
A
F
db B
+
rb
d
s +n
Figure 1: Block diagram for hands-free
The LEM system (Loudspeaker-Enclosure-Microphone) is a non-linear, time varying system. The microphone
signal (d) is composed of near-end speech (s), echo (e) of the far end signal(x) and noise (n).
The echo canceller (EC) splits the downlink (x) and microphone (d) signal into sub-bands signals (xb, db) by 2
Analysis Filter Bank (AFB). For each sub-band a FIR filter emulates the LEM system behavior for the corresponding
sub-band and generates an estimate (yb) of the acoustic echo produced by the signal (xb) on the LEM in that
sub-band. For each sub-band the estimated echo (yb) is subtracted from the microphone sub-band signal
(db).The residual echo (rb) of each sub-band is re-combined by a Synthesis Filter Bank (SFB) to a single full
spectrum residual echo signal (r).
Since the LEM is time varying, the Adaptation Control block (AC) adapts the coefficients of each FIR filters; AC is
a block NLMS adaptive algorithm based on the residual echo (rb) heard when the near-end speaker is silent
(s=0). When the near-end speaker is not silent (double talk condition) the filter adaptation is suspended. Full
spectrum residual echo and noise (r), are then lowered by Noise Reduction (NR), Dynamic Echo Suppressor (DES,
UBX-13001835 - A
Preliminary
Page 6 of 34
LISA-U1 / LISA-U2 series - Application Note
LISA-U1 series only) or Spectral Echo Reduction (SER, LISA-U2 series only) and Automatic Gain Control (AGC).
AGC is disabled when in double talk.
2.2 HF algorithm parameters
The HF parameters of the +UHFP AT command sets the corresponding algorithm parameters: for the command
description refer to the u-blox AT Commands Manual [1].
2.2.1 Parameters for block activation and initialization
HF_ALGORITHM_INIT Range 0x0000, 0x07FF
The audio driver uses this parameter to initialize the algorithm when a call starts. This parameter is a set of flags
that control the activity and initialization of the EC, AGC and NR blocks.
Flag
LISA-U1 series
LISA-U2 series
Bit #0 set
Echo Cancellation (EC) initialization
Unused
Bit #1 set
EC restart (without coefficient initialization)
Unused
Bit #2 set
EC on
Echo Cancellation (EC) initialization and on
Bit #3 set
Unused
Unused
Bit #4 set
Noise Reduction initialization
Unused
Bit #5 set
Noise Reduction on
Noise Reduction initialization and on
Bit #6 set
Unused
Unused
Bit #7 set
Automatic Gain Control (AGC) initialization
Unused
Bit #8 set
AGC on
Automatic Gain Control (AGC) initialization and on
Bit #9 set
Dynamic Echo Suppression (DES) INIT
Unused
Bit #10 set
Dynamic Echo Suppression ACTIVE
Spectral Echo Reduction (SER) initialization and on
Table 1: HF_ALGORITHM_INIT flags explanation
Examples:
Configuration
Command
EC only
NR only
AT+UHFP=0,0x0004,,,,,,,0,0,500,8192,7500,7500,2,100,100,100,60,60,60
AT+UHFP=0,0x0020,,,,,,,0,0,500,8192,7500,7500,2,100,100,100,60,60,60
Remarks
AGC only
EC+AGC+NR
AT+UHFP=0,0x0100,,,,,,,0,0,500,8192,7500,7500,2,100,100,100,60,60,60
AT+UHFP=0,0x0124,,,,,,,0,0,500,8192,7500,7500,2,100,100,100,60,60,60
All off
AT+UHFP=0,0x0000,,,,,,,0,0,500,8192,7500,7500
Optional parameters
can be omitted
Table 2: HF_ALGORITHM_INIT examples
2.2.2 Unavailable parameters
The parameters presented in this section are not used. They are solely maintained in the command for
backwards compatibility with LEON-G100 / LEON-G200 series modules.
In the response to the test command (AT+UHFP?) their value is shown as ‘NA’ (Not Available).
In the set command, they can be omitted, e.g.:
AT+UHFP=<uplink_path_num>,<hf_algorithm_init>,,,,,,,<add_atten>,<min_atten>,<max_atten>,<nr_sw_2>,<nr_u_fak_0>, <nr_u_fak>
UBX-13001835 - A
Preliminary
Page 7 of 34
LISA-U1 / LISA-U2 series - Application Note
If they are not omitted, the value is checked to be within the allowed range.
Parameter
Range
Applicability in LISA module
HF_ALGORITHM_RESTART
0x0000 to 0x07FF
Not Used
STEP_WIDTH
0 to 32767
Not Used
LMS_LENGTH
2 to 400
Not Used
LMS_OFFSET
0 to 400
Not Used
BLOCK_LENGTH
2, 4, 5 and 8
Not Used
RXTX_RELATION
-960 to 960
Not Used
Table 3: Not available parameters range
2.2.3 Parameters for automatic gain control (AGC)
Parameter
Range
Default value
Applicability in LISA module
ADD_ATTEN
-960 to 960
0
This value is added to the calculated attenuation as bias
MIN_ATTEN
0 to 960
0
Minimum attenuation of the microphone signal by the AGC. If the
calculated attenuation is lower than MIN_ATTEN, then the
attenuation is increased to MIN_ATTEN.
MAX_ATTEN
0 to 960
500
Maximum attenuation of the microphone signal by the AGC.
If the calculated attenuation is higher than MAX_ATTEN, then the
attenuation is decreased to MAX_ATTEN.
Table 4: AGC parameters description
The AGC parameters update the following attenuations

Additional Attenuation Level (dB) = 3/32* ADD_ATTEN

Minimum Attenuation Level (dB) = 3/32* HF_MIN_ATTEN

Maximum Attenuation Level (dB) = 3/32* HF_MAX_ATTEN
2.2.4 Parameters for noise reduction (NR)
The noise reduction operates on the eight frequency bands (band 0: 0-250 Hz; band 1: 250-750 Hz...band 7:
3250-3750 Hz). In band 0 the ear is less sensitive. For each band the NR computes a gain to apply (attenuation).
Parameter
Range
Default value
Remarks
NR_SW_2
0 to 32767
8192
This is the maximum attenuation that the NR can introduce. It is
linear; where 32767 means 1 (0 dB; in this case no attenuation
allowed, so there is no noise reduction).
Very low values allow a strong attenuation but the voice can result
distorted (metallic). A good compromise is that the value is
included in the range that goes from 4096 to 16384 (-18 to -6 dB)
NR_U_FAK_0
0 to 16384
7500
This is the weighting factor for frequency band 0 (0 Hz-250 Hz).
Increasing this factor will cause a better noise reduction in this
band but also higher distortion of speech.
Linear; weighting factor =NR_U_FAK_0 / 32768
UBX-13001835 - A
Preliminary
Page 8 of 34
LISA-U1 / LISA-U2 series - Application Note
Parameter
Range
Default value
Remarks
NR_U_FAK
0 to 16384
7500
Factor of NR in the bands 1 to 7 (250 Hz -3750 Hz).
This is the weighting factor for frequency band 0 (1 to 7 (250 Hz3750 Hz)). Increasing this factor will cause a better noise reduction
in this band but also higher speech distortion.
Linear; weighting factor =NR_U_FAK_0 / 32768
Table 5: Noise reduction parameters description
Examples:
Configuration
Value
Remarks
NR_SW_2
NR_U_FAK_0
4096
16384
0.125 = -18 dB gain (18 dB is the maximum attenuation)
Weighting factor = 0.5
8192
Weighting factor = 0.25
16384
4096
Weighting factor = 0.5
Weighting factor = 0.125
NR_U_FAK
Table 6: Noise reduction parameters examples
2.2.5 Parameters for echo cancellation
The echo cancellation is a sub band (SB) design, where identical systems on each sub-band perform adaptive
linear filtering and the subsequent echo subtraction (see section 2.1). After the echo subtraction the sub-band
signals are combined back to a single full spectrum signal. EC uses three sub-bands when the speech channel
uses Narrow Band codec, 6 sub-bands with Wide Band codec.
Parameter
Range
Default value
Remarks
EC_BLOCK_LENGTH
1, 2, 4, 5, 8
2
LMS coefficient adaptation block length. It specifies the number of
frames during which the adaptive filter coefficients are updated in
the AC blocks. It can take only the values 1,2,4,5 and 8 where 1
indicates updating of filter parameters at every frame (160 samples
or 20 ms for narrow band), 4 represent updating every four
frames. The higher this number, the slower but more accurate the
adaptation converges.
EC_NR_COEFF_REAL
2 to 2000
100
Number of filter coefficients in the sub-band EC, for real sub band
(in Narrow Band mode: 0-0.8 kHz in Wide Band mode: 0-0.73
kHz).
EC_NR_COEFF_COMPLEX1
1 to 1000
100
Number of filter coefficients in the sub-band EC, for complex sub
band 1 (in Narrow Band mode: 0.8-2.4 kHz; in Wide Band mode:
0.73 -2.18 kHz)
EC_NR_COEFF_COMPLEX2
1 to 1000
100
Number of filter coefficients in the sub-band EC, for complex sub
band 2 (in Narrow Band mode: 2.4- 4 kHz; in Wide Band mode:
2.18 -3.64 kHz)
EC_NR_COEFF_COMPLEX3
1 to 1000
60
Number of filter coefficients in the sub-band EC, for complex sub
band 3 (in Narrow Band mode: Ignored; in Wide Band mode: 3.64
- 5.09 kHz)
EC_NR_COEFF_COMPLEX4
1 to 1000
60
Number of filter coefficients in the sub-band EC, for complex sub
band 4 (in Narrow Band mode: Ignored; in Wide Band mode: 5.09
- 6.56 kHz)
EC_NR_COEFF_COMPLEX5
1 to 1000
60
Number of filter coefficients in the sub-band EC, for complex sub
band 5 (in Narrow Band mode: Ignored; in Wide Band mode: 6.56
- 8 kHz)
Table 7: Echo Cancellation parameters description
UBX-13001835 - A
Preliminary
Page 9 of 34
LISA-U1 / LISA-U2 series - Application Note
Limit for the sub-band Echo canceller parameters:
<ec_nr_coeff_real>+2*(<ec_nr_coeff_complex1>+<ec_nr_coeff_complex2>+<ec_nr_coeff_complex3>+<
ec_nr_coeff_complex4>+ <ec_nr_coeff_complex5>) <2000
3 Procedure for echo canceller tuning
This is a step-by-step procedure to tune the audio path parameters for the removal of the echo heard on the farend side.
Refer to u-blox AT Commands Manual [1] for more details on the AT commands and their parameters
that are used in the tuning procedure (AT+USPM, AT+USGC, AT+UMGC, AT+UHFP, AT+UUBF, AT+UDBF,
AT&W, AT&F, AT&Y). Check the path index for uplink and downlink to be used in these commands.
1
Turn off all the hands-free algorithm by the AT command:
AT+UHFP=<uplink_path_num>,0x0000,,,,,,,0,0,500,8192,7500,7500,1,100,100,100,60,60,60
2
In case of an hands-free device implementation, set the sidetone to 0 to avoid Larsen effect through the
AT command:
AT+USTN=<downlink_path_num>,0
3
Regulate the gain on speaker and microphone used so that speech is not distorted on both uplink and
downlink. Tune the gain on the downlink path using AT+USGC command if the speech signal on the
speaker is distorted. Tune the gain on the uplink path using AT+UMGC command, if the speech signal
from the microphone is distorted.
This is very important because the echo canceller algorithm works efficiently only in linear mode. It should
be checked (if possible also by oscilloscope) that the speech signal is not clipped.
4
Begin tuning the EC parameters, starting e.g.: with the AT command:
AT+UHFP=<uplink_path_num>,0x0004,,,,,,,0,0,500,8192,7500,7500,1,100,100,100,60,60,60
Parameter
Value
Meaning
<hf_algorithm_init>
0x0004
Only echo cancellation initialization and on
<ec_block_length>
1
Start updating adaptive filter coefficients every frame.
This is the quicker convergence time of the coefficients
(1-2 s)
<ec_nr_coeff_real>
100
<ec_nr_coeff_complex1>
100
<ec_nr_coeff_complex2>
100
<ec_nr_coeff_complex3>
60
<ec_nr_coeff_complex4>
60
<ec_nr_coeff_complex5>
60

Change one <ec_nr_coeff_*> parameter at a time and measure resulting echo

Repeat the previous step to converge at a value that results in minimum echo. Perform these steps
for all the <ec_nr_coeff_*> parameters.

Parameter <uplink_path_num> in this example as well in the following is the index of the uplink
path in use. Check the uplink path in use by command:
UBX-13001835 - A
Preliminary
Page 10 of 34
LISA-U1 / LISA-U2 series - Application Note
AT+USPM?
+USPM: <main_uplink>,<main_downlink>,<alert_sound>,<headset_indication>,<vmic_ctrl>
Use <main_uplink> for <uplink_path_num> in all the examples of this procedure.

The EC parameters are optional. If omitted, the default values 2,100,100,100,60,60,60 are set.
E.g:
AT+UHFP=<uplink_path_num>,0x0004,,,,,,,0,0,500,8192,7500,7500
sets default EC parameters

Since AGC and NR are off (only echo cancellation initialized and on), any values in the allowed
ranges of the AGC and NR parameters are accepted but not used; only EC parameters are
considered. Since the algorithm is adaptive, some seconds are needed to converge after that
AT+UHFP command is issued. After the algorithm convergence, a residual echo remains. Try to
change EC parameters till there is no residual echo. In very critical case, if the echo never disappears,
try to find a minimum residual echo configuration.

Use higher values of <ec_block_length> for more stable (but slower) convergence.
E.g.:
<ec_block_length>=1
convergence time is 1-2 s
<ec_block_length>=4
convergence time is 4-6 s

Use higher values of <ec_nr_coeff_real> and <ec_nr_coeff_complex*> for a long reverberation
time.

Reconsider points 3 to 4, if this command has no effect on the echo

Parameters <ec_nr_coeff_complex3>, <ec_nr_coeff_complex4>, <ec_nr_coeff_complex5> are used
only in WB speech. Test the EC performance both in NB and WB scenarios.

If EC correctly works, a difference should be heard turning off the EC with the following AT
command:
AT+UHFP=<uplink_path_num>,0x0000,,,,,,,0,0,500,8192,7500,7500
5
Add the Dynamic Echo Suppression (LISA-U1 series only) or Spectral Echo Reduction (LISA-U2 series
only) algorithm to remove a residual echo, if present:
AT+UHFP=<uplink_path_num>,0x0404,,,,,,,0,0,500,8192,7500,7500,<ec_nr_coeff_real>,<ec_nr_coeff_complex1>,<ec_nr_coeff
_complex2>,<ec_nr_coeff_complex3>,<ec_nr_coeff_complex4>,<ec_nr_coeff_complex5>
Parameter
Value
Meaning
<hf_algorithm_init>
0x0404
Echo cancellation initialization and on; Spectral echo
Reduction initialization and on
<ec_nr_coeff_real>
As in step 4
<ec_nr_coeff_complex*>
As in step 4
UBX-13001835 - A
Preliminary
Page 11 of 34
LISA-U1 / LISA-U2 series - Application Note
6
Add the AGC algorithm to remove a minimal residual echo, if present:
AT+UHFP=<uplink_path_num>,0x0104,,,,,,,0,0,500,8192,7500,7500,<ec_nr_coeff_real>,<ec_nr_coeff_complex1>,<ec_nr_coeff
_complex2>,<ec_nr_coeff_complex3>,<ec_nr_coeff_complex4>,<ec_nr_coeff_complex5>
Parameter
Value
Meaning
<hf_algorithm_init>
0x0104
Echo cancellation initialization and on; AGC initialization
and on
<add_atten>
0
0 dB minimum AGC attenuation
<min_atten>
0
0 dB additional AGC attenuation
<max_atten>
500
500*3/32 = 47 dB maximum AGC attenuation
<ec_nr_coeff_real>
As fond in step 4
<ec_nr_coeff_complex1>
As fond in step 4
<ec_nr_coeff_complex2>
As fond in step 4
<ec_nr_coeff_complex3>
As fond in step 4
<ec_nr_coeff_complex4>
As fond in step 4
<ec_nr_coeff_complex5>
As fond in step 4
It is possible to also add spectral echo reduction initialization e.g.
<hf_algorithm_init>=0x0504
(Echo cancellation initialization and on; Spectral Echo Reduction
initialization and on; AGC initialization and on).
If residual echo is still present, try to use higher <min_atten> values.
AT+UHFP=<uplink_path_num>,0x0104,,,,,,,50,100,500,8192,7500,7500,<ec_nr_coeff_real>,<ec_nr_coeff_complex1>,<ec_nr_c
oeff_complex2>,<ec_nr_coeff_complex3>,<ec_nr_coeff_complex4>,<ec_nr_coeff_complex5>
Parameter
Value
Meaning
<add_atten>
50
50*3/32 = 4.7 dB additional AGC attenuation
<min_atten>
100
100*3/32 = 9.4 dB minimum AGC attenuation
Example of AGC settings:
AGC
<add_atten>
<min_atten>
<max_atten>
Weak AGC
0
0
200
Moderate AGC
100
100
500
Strong AGC
200
200
500
No-duplex AGC
500
500
500
Using strong AGC can decrease the performance in double talk scenario and lead to a no-duplex
configuration (see dedicated section below)
UBX-13001835 - A
Preliminary
Page 12 of 34
LISA-U1 / LISA-U2 series - Application Note
7
Add the NR algorithm to remove a residual noise on the uplink path (if present):
AT+UHFP=<uplink_path_num>,0x0124,,,,,,,<add_atten>,<min_atten>,<max_atten>,8192,7500,7500,<ec_nr_coeff_real>,<ec_n
r_coeff_complex1>,<ec_nr_coeff_complex2>,<ec_nr_coeff_complex3>,<ec_nr_coeff_complex4>,<ec_nr_coeff_complex5>
Parameter
Value
Meaning
EC parameters
As found in step 4, 5 and 6
AGC parameters
8
<hf_algorithm_init>
0x0124
Echo cancellation initialization and on; NR initialization
and on; AGC initialization and on
<nr_sw_2>
4096
20 log (4096/32767) = -18 dB minimum NR attenuation
<nr_u_fak_0>
7500
7500/32768 = 0.23 weighting factor for frequency
band 0
<nr_u_fak>
7500
7500/32768 = 0.23 weighting factor for frequency
band 1-7
As with the previous step, the NR parameters can be changed until the minimum residual noise remains
on the uplink path. To appreciate the NR effect, listen to the uplink speech in silence scenario (neither
uplink nor downlink speech, nor echo present) and switch only the NR off/on by these commands:
AT+UHFP=<uplink_path_num>,0x0000,,,,,,,0,0,500,<nr_sw_2>,<nr_u_fak_0>,<nr_u_fak>
AT+UHFP=<uplink_path_num>,0x0020,,,,,,,0,0,500,<nr_sw_2>,<nr_u_fak_0>,<nr_u_fak>
9
Finally, the parameters found can be stored in NVM dynamic parameters profile using the AT&W
command (refer to the section 3.1).
3.1 Storing the parameters in the profile
Follow this procedure to save the parameters in the NVM dynamic parameters:
1
2
3
4
Write the run-time configuration to NVRAM with the AT&W command (e.g. AT&W0; more details in the
u-blox AT Commands Manual [1]).
Assure the boot loading is performed with the desired parameter profile (e.g. profile 0 if the parameter
saving was performed with AT&W0; use AT&Y0 to select this).
Save the run-time configuration to Flash memory with the AT+CPWROFF command.
Reboot / PWR_ON reset of the device.
UBX-13001835 - A
Preliminary
Page 13 of 34
LISA-U1 / LISA-U2 series - Application Note
4 No-duplex configuration
The no-duplex set-up is recommended for HF systems with high echo coupling and high non-linearity on
loudspeaker which make the EC cancellation ineffective.
The no-duplex configuration particularly makes use of the AGC only as muting/un-muting device of the
TX path.
The operating conditions of this no-duplex configuration are:

Far-end user speaking: Tx muted by AGC, high and constant attenuation

Far-end user silent: Tx un-muted (AGC off), both when near-end user is speaking or silent
4.1 Procedure
1
Configure AGC to high attenuation performance, e.g.:
LISA-U1 series:
AT+UHFP=<uplink_path_num>,0x0104,,,,,,,500,500,500,8192,7500,7500
or
AT+UHFP=<uplink_path_num>,0x0104,,,,,,,960,960,960,8192,7500,7500
LISA-U2 series:
AT+UHFP=<uplink_path_num>,0x0100,,,,,,,500,500,500,8192,7500,7500
or
AT+UHFP=<uplink_path_num>,0x0100,,,,,,,960,960,960,8192,7500,7500
Parameter
Value
Meaning
<hf_algorithm_init>
0x0100
Only AGC enabled
<hf_algorithm_init>
0x0104
AGC and AEC enabled
<add_atten>,<min_atten>,<max_atten>
500
500*0.05 = 25 dB add, min, max AGC attenuation
<add_atten>,<min_atten>,<max_atten>
960
960*0.05 = 48 dB add, min, max AGC attenuation
UBX-13001835 - A
Preliminary
Page 14 of 34
LISA-U1 / LISA-U2 series - Application Note
5 External codec management
2
LISA-U1 and LISA-U2 series modules provide an I S digital audio interface to connect an external audio device,
e.g. a codec. The Application Processor (AP) should manage the codec.
This section includes an example of architecture for the module / external codec / AP system. In the block
diagrams the HW implementation is highly simplified; for more detailed examples of HW implementation, refer
to LISA-U series System Integration Manual [2].
For more details about the AT commands used in the examples below, refer to u-blox AT Commands
Manual [1].
5.1 LISA-U1 series
Figure 2 shows a possible architecture for the LISA-U1 series module / external codec / AP system.
SPK_P/SPK_N
AT +USPM
AT+UI2S
LISA-U1
series module
SPK
MIC_P/MIC_N
MIC
I2S
SPK_COD
I2C
Application
Processor
CODEC_CLK
External
Codec
MIC_COD
VCC_EN
VCC REG.
Figure 2: External codec management for LISA-U1 series module
2
The external codec can be connected to LISA-U1 series module by an I S interface. The codec allows the
connection of the external microphone and speaker and acts as an A/D and D/A converter.
Generally the external codec needs to be managed, providing it of:

A power supply provided by an external regulator with possibility to be enabled/disabled by an enabling
signal (VCC_EN)

A master clock signal provided by an external generator (CODEC_CLK signal, e.g.: 13 MHz)

Some control commands to:
o
set the gains for the codec’s amplifiers
o
o
enable/disable the codec
2
configure the I S on the external codec side
2
A dedicated interface (e.g.: I C) is provided to supports these controls
UBX-13001835 - A
Preliminary
Page 15 of 34
LISA-U1 / LISA-U2 series - Application Note
In the LISA-U1 series module all the above activities to control the codec must be managed by the AP.
Furthermore, the AP should also:

Configure the I S on the module side for the compatibility with the I S settings on the codec side. This can
2
be done by I S interface that is configurable by AT+UI2S command

Force the module to route the audio signal toward the codec via I S interface. The routing of audio signal
(e.g.: switching from analog to digital path) is provided by the AT+USPM command
2
2
2
E.g.: AT+USPM=2,4,0,0
5.2 LISA-U2 series
The block diagram for LISA-U1 series also applies to LISA-U2 series. LISA-U2 series modules support additional
resources to manage the external codec:

Master Clock Control AT command +UMCLK: this command provides the codec with a 13/26 MHz clock
generated from the module.

I S control command +UI2S extension: new connection modes supported by <I2S_port> parameter.

I C control commands (+UI2CO, +UI2CW, +UI2CR, +UI2CREGR, +UI2CC). These commands allow sending
2
commands from the module to the codec through a standard I C interface.

The AP can monitor the audio activity on the module enabling the +CIEV URCs. The +CIEV URCs on the AT
terminal can be generated when the audio activities are running on the module, issuing the command
AT+CMER=1,0,0,2,1.
2
2
Figure 3 shows a possible architecture for the LISA-U2 series module / external codec / AP system.
AT +USPM
AT+UI2S
AT+CMER
AT+UMCLK
AT+UI2C*
+CIEV
LISA-U2
series module
I2C
I2S
CODEC_CLK
SPK_COD
AP
EXT CODEC
MIC_COD
VCC_EN
VCC REG.
Figure 3: External codec management for LISA-U2 series module
The section 5.2.1 shows an example of the codec management scenario based on this architecture.
The examples proposed are for a Maxim MAX9860 audio voice codec connected to a LISA-U2 series module
2
through the I S interface as in the EVK-U20 /EVK-U23 evaluation board.
UBX-13001835 - A
Preliminary
Page 16 of 34
LISA-U1 / LISA-U2 series - Application Note
5.2.1 Scenario

At system start-up, the AP should enable the codec supply by VCC_EN

Configure the module and the codec with a sequence of AT commands
Command
Response
Description
AT+USPM=5,5,0,0,2
OK
AT+UI2S=1,1,0,3
OK
AT+USPM=1,1,0,0,2
OK
AT+UMCLK=2,0
OK
AT+UI2CO=1,0,0,0x10,0
OK
AT+USPM=<main_uplink>,<main_downlink>,<alert_sound
>,<headset_indication>,<vmic_ctrl>
 <main_uplink>=5: Uplink path 5 via I2S1 (5 for e.g.
any path via I2S1 is ok)
 <main_downlink>=5: downlink path 5 via I2S1 (5 for
e.g.; any path via I2S1 is ok)
Use audio paths via I2S1. This allows setting of the I 2S
properties (I2S properties can’t be changed while I2S is in
use, i.e. the paths are via I2S).
AT+UI2S=<I2S_mode>,<I2S_port>,<I2S_clk_wa>,<I2S_sam
ple_rate>,<I2S_Master_Slave>
 <I2S_mode>=1: PCM mode
 <I2S_port>=1: Connect I2S to I2Sx connection point
 <I2S_clk_wa>=0: Dynamic mode (I2S_CLK and
I2S_WA outputs are active and running only while
audio path is active)
 <I2S_sample_rate>=3: 16 kHz sampling rate
 <I2S_Master_Slave>=0: Master mode (default value if
parameter is not specified). In master mode I2S_CLK,
I2S_WA, I2S_TX are generated by the module as
output. I2S_RX is an input signal
AT+USPM=<main_uplink>,<main_downlink>,<alert_sound
>,<headset_indication>,<vmic_ctrl>
 <main_uplink>=1: Uplink path 1 via I2S (1 for e.g.;
any path via I2S is ok)
 <main_downlink>=1: Uplink path 1 via I2S (1 for e.g.;
any path via I2S is ok)
 Change audio path to I2S. This is the port connected
to the external codec on EVB
AT+UMCLK=<mclk_mode>,<enabling_mode>
 <mclk_mode>=2: codec master clock at 13 MHz
 <enabling_mode>=0: “Audio dependent” mode (the
clock is applied to the CODEC_CLK pin only when the
audio path is active (audio samples are read on the
I2S_RX line and written on the I2S_TX line. For this
codec it is not needed to maintain the clock while I 2S
is not running, since just the voltage supply is needed
to make I2C work. Be aware that other codecs could
need to maintain the clock running also for register
programming.
This
can
be
achieved
by
<enabling_mode>=1: “Continuous” mode
AT+UI2CO=<I2C_controller_number>,<bus_mode>,<bit_ra
te>,<device_address>,<address_width>
 Open logical channel for the Maxim external codec on
I2C
 <I2C_controller_number>=1: Controller 1
 <bus_mode>=0: Bus Mode Standard (0 – 100 kb)
 <bit_rate>=0: I2C bit rate is 100 kb/s
 <device_address>=0x10: Device Address in HEX
format; this address can be found in the coded
datasheet
 <address_width>=0: 7 bit address
UBX-13001835 - A
Preliminary
Page 17 of 34
LISA-U1 / LISA-U2 series - Application Note
Command
Response
Description
AT+UI2CW="00000000108F202400 OK
00103300210000008A",18
AT+UI2CW="049E",2
OK
AT+UI2CC
OK
AT+UPAR=0,0,0
OK
AT+USAR=0
OK
AT+UI2CW=<hex_data>,<nof_byte_to_write>
 <hex_data>= first register address, value for 1st
register, value for 2nd register, etc. (17 registers values)
 <nof_byte_to_write>=18 (register address +17
registers values)
 Writing in the register configure the codec (gains, I 2S
configuration, clock configuration, etc. Refer to
Max9860 datasheet for details)
As above; write byte 0x9E in register 0x04; See Max9860
datasheet for meanings of registers values
Close logical channel on I2C
The codec is now initialized an ready to work when the
module starts audio activity; e.g. for audio test
A tone with infinite repetitions can be started by command
The module enables 13 MHz clock signal on CODEC_CLK
pin. I2S is enabled and starts to transmit tone data. The
tone is played on the loudspeaker by the codec.
The command stops the tone. The module stops
transmission of audio data on I2S and disable 13 MHz clock
signal
The codec supply is maintained up also after the codec is not used anymore.
5.2.1.1
Connection to I2S1
If the codec is connected to I2S1 (not I2S), change the initial commands in the example presented in section
5.2.1 with:
Command
Response
Description
AT+USPM=1,1,0,0,2
OK
AT+USPM=<main_uplink>,<main_downlink>,<alert_sound
>,<headset_indication>,<vmic_ctrl>

<main_uplink>=1: Uplink path 1 via I2S (1 for e.g.; any
path via I2S is ok)
 <main_downlink>=1: Uplink path 1 via I2S (1 for e.g.;
any path via I2S is ok)
Change audio path to I2S. This allows setting of the I2S1
properties (I2S1 properties can’t be changed while I2S1 is
in use, i.e. the paths are via I2S1)
AT+UI2S=1,3,0,3
OK
AT+UI2S=<I2S_mode>,<I2S_port>,<I2Sclk_wa>,<I2S_samp
le_rate>,<I2S_Master_Slave>





UBX-13001835 - A
Preliminary
<I2S_mode>=1: PCM mode
<I2S_port>=3: Connect I2S1 to I2Sx connection point
<I2Sclk_wa>=0: Dynamic mode (I2S_CLK and I2S_WA
outputs are active and running only while audio path
is active)
<I2S_sample_rate>=3: 16 kHz sampling rate
<I2S_Master_Slave>=0: Master mode (default value if
parameter is not specified). In master mode I2S1_CLK,
I2S1_WA, I2S1_TX are generated by the module as
output. I2S1_RX is an input signal
Page 18 of 34
LISA-U1 / LISA-U2 series - Application Note
Command
Response
Description
AT+USPM=5,5,0,0,2
OK
AT+USPM=<main_uplink>,<main_downlink>,<alert_sound
>,<headset_indication>,<vmic_ctrl>


<main_uplink>=5: Uplink path 5 via I2S1 (5 for e.g.;
any path via I2S1 is ok)
<main_downlink>=5: Uplink path 5 via I2S1 (5 for
e.g.; any path via I2S1 is ok)
Use audio paths via I2S1. This is the port connected to the
external codec on EVB.
Other commands for clock and codec configuration remain as above.
5.2.1.2
External Device Configuration +UEXTDCONF
To be used only with LISA-U2x0-x2S and subsequent versions.
This command can be used for an external device configuration, e.g. an audio codec, at boot time. The setting
(on / off) for each supported device is saved in NVM and applied each time the module is powered on. The
configuration for each supported device is hard-coded in the firmware.
Command
Response
AT+UEXTDCONF=0,1
OK
AT+CPWROFF
OK
Description


<device_id>=0: Maxim Max9860
connected via I2C
<configuration_enable>=1: enabled
audio
codec,
Once this procedure has been executed, it is no longer necessary to repeat the procedure in the section 5.2.1
after each system boot.
When enabled, at every start-up the module performs the actions corresponding to the following
commands:
Command
Description
AT+UMCLK=2,0
Set the external codec master clock at 13 MHz
AT+UI2CO=1,0,0,0x10,0
Open the I2C logical channel (connected to the external
codec)
Send, via I2C, the specified byte sequence (for external
codec configuration
AT+UI2CW="00000000108F20240000103300250000008A",18
Send, via I2C, the specified byte sequence (for external
codec configuration)
Close the I2C logical channel
AT+UI2CW="049E",2
AT+UI2CC
+UI2S must be set with:
o
o
<I2S_mode>=1: PCM mode
<I2S_sample_rate>=0: 8 kHz sampling rate
o
<I2S_Master_Slave>=0: Master mode
UBX-13001835 - A
Preliminary
Page 19 of 34
LISA-U1 / LISA-U2 series - Application Note
This procedure can be used if the codec supply is activated (by VCC_EN) and before the module boot and
maintained active afterwards.
<I2S_port> in +UI2S and <main_uplink>, <main_downlink> in +USPM must be set according to the
I2S/I2S1 connection, as described in the section 5.2.1.1.
The gains set for the Maxim Max9860 in the +UI2CW command are not optimized for the HW
configuration of the EVK-U20 / EVK-U23 EVB. For the EVB configuration, the setting proposed in section
5.2.1 is suggested.
UBX-13001835 - A
Preliminary
Page 20 of 34
LISA-U1 / LISA-U2 series - Application Note
6 DTMF decoder
6.1 About ETSI DTMF
The dual-tone multi-frequency (DTMF), also known as Touch Tone, is used for telephone signaling over the line
in the voice frequency band to the local exchange.
The multi-part ETSI Standard ES 201 235 [5] specifies how to apply DTMF signaling to transmitters and receivers.
It conforms to the International Telecommunication Union (ITU-T) Recommendation Q.23 [7] and it provides a
complete set of requirements for all the applications intending to use DTMF signaling.
The level of detail enables manufacturers of telecommunications equipment incorporating DTMF signaling to
design the equipment such that it facilitates highly reliable signaling. It applies to the DTMF signaling in the local
access network, in which the transmission path between transmitter and receiver corresponds to a 2-wire
analogue subscriber line, as well as to DTMF signaling over an end-to-end transmission path in the
telecommunication network.
6.2 About DTMF
The dual-tone multi-frequency signaling is a standard in telecommunication systems. It has been gaining
popularity for some years now because of its numerous advantages over the traditional telephone signaling
scheme. In the DTMF scheme, a telephone is equipped with a keypad as shown in Figure 4. The A, B, C, and D
keys are usually not present on a regular telephone keypad. Each key represents the sum of a pair of tones. One
tone is from the high-frequency group between 1 kHz and 2 kHz, and the other tone is from the low-frequency
group below 1 kHz. These frequencies are selected carefully so that the DTMF signal, which is the sum of the
two tones, can be clearly distinguished as the signaling tone even in the presence of speech waveforms that
might occur on the line.
Figure 4: Touch-Tone telephone keypad: a row and a column tone is associated with each digit
6.2.1 The DTMF signal definitions
The tone frequencies, as defined by the Precise Tone Plan, are selected such that harmonics and
inter-modulation products do not cause an unreliable signal. The frequency is not a multiple of another, the
difference between any two frequencies does not equal any of the frequencies, and the sum of any two
frequencies does not equal any of the frequencies. The frequencies were initially designed with a ratio of 21/19,
which is slightly less than a whole tone.
UBX-13001835 - A
Preliminary
Page 21 of 34
LISA-U1 / LISA-U2 series - Application Note
7 DTMF signaling decoder on wireless modules
Not supported by LISA-U1 series or by LISA-U2x0-x1S and previous version.
LISA-U2 series modules can be configured to perform DTMF detection on the RX speech channel. The DTMF
decoder is part of the In-Band modem feature and the +UDTMFD AT command is used to configure it (for more
details on the command description, refer to u-blox commands manual [1]).
7.1 Implementation
Enable the DTMF decoder via the AT command once per module power cycle and before any call set up, e.g.:
AT+UDTMFD=1,2
OK
At each call setup, the DTMF decoder is automatically enabled. During the call, the DTMF decoder provides URCs
for each detected digit, e.g.:
+UUDTMFD: 4
Here, the digit ‘4’ has been detected.
7.2 Performance criteria
Various standards bodies (ITU-T, ETSI, EIA/TIA), mobile network operators (NTT, AT&T) and other players in the
communication industry (MITEL, Bellcore) have established different performance tests and criteria for DTMF
decoders.
The u-blox decoder implementation has followed the ETSI specifications as described in the multi-part ETSI
Standard ES 201 235 [5]. However, the AT interface allows the decoder configuration for the performance
criteria customization on need.
There are two main performance indicators for DTMF detectors:

Detection performance – is the ability to correctly decode the DTMF tones in various network conditions.
The modern networks use compression which introduces distortions that may invalidate at detector input a
correctly generated DTMF tone

Speech immunity – is the DTMF talk-off abatement performance. Talk-off is the term that describes when
a human voice is able to trigger DTMF tones during a telephone call. Talk-off occurs when the DTMF
detector tries to translate sounds into DTMF tones causing false detections.
The decoder performance is also characterized by the robustness towards digit repetitions (special case of false
detection), for instance those caused by interruptions in the DTMF tones. The ETSI standard specifies that a
detected digit shall be unaffected by disturbances having a duration of less than 20 ms. Nevertheless, such a
criterion can be not sufficient to avoid false digit repetitions in case of networks characterized by high distortions
or speech frame losses.
UBX-13001835 - A
Preliminary
Page 22 of 34
LISA-U1 / LISA-U2 series - Application Note
In some conditions, the overall performance may be improved by increasing the tone duration and the pause
between tones (inter-digit interval); in this way, the performance is higher if there is the possibility to decrease
the digit transmission rate and tune the detector accordingly.
In general, the higher the speech immunity, the higher the risk of missed detections. The right trade-off between
detection performance and talk-off abatement performance depends on the application.
7.2.1 Decoder configuration
At each module power cycle, the decoder is configured with factory-programmed values.
The AT command can reconfigure the values at any time, even run-time during a call, e.g.:
AT+UDTMFD=1,2,4,400,10,3
The decoder has six configuration parameters:
Parameter
Range
Default value
Description
<urc_en>
0: disable
1: enable
N.A.
Enables the URCs on a specific AT terminal.
Mandatory parameter
<mode>
0: disabled
1: normal
2: robust
N.A.
DTMF feature enabling/disabling and activation mode
definition.
Mandatory parameter
<att_cfg>
0-15
4
Controls the accepted signal levels.
The signal is scaled down by 24 dB at the detector
input.
<threshold>
100-10000
400
Controls the accepted signal levels.
The digit recognition starts when the output of the
analysis filter bank reaches the value of 400
<immunity>
0-20
14
Calibrates the speech immunity strength.
<max_int>
1-255
2
Controls the false digit repetitions.
The expected minimum pause between the digits is
40 ms. Maximum signal interruption is 20 ms.
Table 8: +UDTMD parameter description and factory-programmed values
The factory-programmed values may vary in different products or product versions.
By default, it is suggested to activate the DTMF in robust mode.
<att_cfg> and <threshold> default values are optimized for the best performance in terms of signal level
operating range, and complying with the ETSI requirements.
7.2.1.1
Activation mode (<mode> parameter)
The detector can be activated in the normal and the so-called robust mode. The robust mode is characterized by
a reduced risk of any kind of false detections. The robustness is achieved by analyzing the input signal in the
time domain. In fact human voice, melodies and other signals, as well as speech codecs like AMR or other
disturbances from the network that potentially cause false detections, are generally “touchtone-like generators”
for very short time.
The DTMF detector in robust mode meets the ETSI expectations in terms of detection performance ETSI TR 126
975 [6].
UBX-13001835 - A
Preliminary
Page 23 of 34
LISA-U1 / LISA-U2 series - Application Note
Robust mode advantages: case study
Figure 5 shows a normalized signal as presented at the DTMF decoder input, corresponding to the digit
sequence “1,2,3,4,5”. The signal has been generated by key clicks (approx. 500 ms) on a VoIP telephone
connected with a u-blox wireless module. The short burst before every tone is actually the start of the tone itself
that is interrupted by the network after ~ 25/30 ms and restored after ~ 100 ms.
The false digit repetitions affect the normal mode. The short bursts are detected as an independent DTMF tone,
thus the detector output is “1,1,2,2,3,3,4,4,5,5”. In robust mode, the detector rejects the bursts and correctly
outputs the digits.
Figure 5: Normalized tones corresponding to digit presses ‘1’,’2’,’3’,’4’,‘5’, with interruptions caused by VoIP-based connection
7.2.1.2
Accepted signal levels (<att_cfg> and <threshold> parameter)
The <att_cfg> parameter applies attenuation to the input signal in steps of 6 dB: 0 for 0 dB attenuation, 15 for
90 dB attenuation (which corresponds to mute signal at decoder input). In general, the parameter can be used
to adapt the decoder to special network conditions (e.g. extremely high or extremely low tone levels). <att_cfg>
should be configured as low as possible but avoiding overflows. There is an overflow protection mechanism that
automatically scales down signals that lead the detector into algorithmic overflow. The automatic scaling is
acknowledged through the following URC:
+UUDTMFDE: 1
The new attenuation can be retrieved getting the last parameter of the read command, e.g.
AT+UDTMFD?
+UDTMFD: 1,2,4,100,14,2,5
OK
Here, the attenuation has been increased from 4 to 5. The overflow protection mechanism only increases the
attenuation. If overflow is notified, it is not guaranteed that the decoder performs in best condition and
additional attenuation might be required. A detection result prior to an overflow notification is considered
unreliable.
The <threshold> parameter is the current threshold applied to the signal level in order to be considered valid
(i.e. to enter the operating condition). Higher thresholds give better performance especially in terms of speech
immunity and false detections, with the cost of the increase of the lower boundary of the operating range. This
parameter is not expressed in dB.
UBX-13001835 - A
Preliminary
Page 24 of 34
LISA-U1 / LISA-U2 series - Application Note
There is a relationship between <att_cfg> and <threshold>: the decoder performance at a specific signal level
does not change if for each 6 dB attenuation increase the threshold is doubled (which corresponds to a 6 dB
increase, too).
In general, it should not be necessary to change the <att_cfg> and <threshold> parameters. Nevertheless,
standards and operators may require slightly different operating conditions for DTMF. Generally, ranges of
20-30 dB are required, while the not-operating condition may vary from -29 to -40 dBm.
The default values are selected to meet operating conditions according to the requirements from ETSI ES 201
235-4 [4], for more details refer to the Table 9.
Conditions with default values (in robust mode)
Valid
Not Valid
Signal level x (dBm0)
-36 <= x <= -3
x < -40
Table 9: Default values handling
The levels are expressed in decibels with respect to 0x7FFF clipping value.
7.2.1.3
Immunity/talk-off abatement (<immunity> parameter)
The <immunity> parameter calibrates the decoder with respect to speech immunity performance: 0 for no
immunity, 20 for maximum immunity performance. Unlike the robust mode, the talk-off abatement algorithm is
based on the spectral analysis of the signal.
For certain end-to-end applications in which the talk-off abatement is not relevant (since voice or other
disturbing signals are not injected in the voice channel), the speech immunity can be lowered or even completely
disabled, having the advantage of an improved detection performance, for instance with low bit-rate codecs.
The default immunity value (14), combined with the robust mode, complies with the ETSI requirements for
speech immunity ETSI ES 201 235-4 [4]. According to ETSI ES 201 235-3 [3], ETSI ES 201 235-4 [4], “Table 2:
Signal condition requirements, NOTE2”, the talk-off performance is not directly specified as set of requirements
for the existence or non-existence of signal conditions. The performance is indirectly specified through the
speech immunity requirements of clause 4.2 in ETSI ES 201 235-3 [3] and ETSI ES 201 235-4 [4], ‘Speech
immunity performance’.
Table 11 provides the tests results with four different detector configurations with respect to speech immunity
(default values for the other parameters used). Talk-offs represent the number of false detections during the
testing.
7.2.1.4
False digit repetitions (<max_int> parameter)
The network conditions can generate more or less short interruptions of tones that may cause false detections –
digit repetitions. ETSI requires that a decoder is unaffected by disturbances a duration of less than 20 ms, which
may be not sufficient for network conditions.
The <max_int> parameter allows the tuning of the maximum interruption that a detected tone may have, such
that is still interpreted as a single digit and thus avoiding false digit repetitions.
The <max_int> parameter also represents the minimum expected pause between two DTMF tones. Therefore if
a decoder is configured to compensate interruptions up to e.g. 80 ms (<max_int>=4), the DTMF transmitter shall
be configured to generate tones with a pause between them larger than 80 ms, otherwise the decoder
recognizes two subsequent tones associated to the same digit as a single digit.
By default <max_int> is set to 40 ms, which is ETSI compliant according to receiver’s digit recognition condition
requirement in ETSI ES 201 235-4 [4], cit. “any tone shall be preceded by the continuous absence of a valid
signal condition for more than 40 ms”.
UBX-13001835 - A
Preliminary
Page 25 of 34
LISA-U1 / LISA-U2 series - Application Note
7.2.1.5 Not configurable signal condition and tolerances / default values
Table 10 reports the not configurable signal conditions. The signal conditions and tolerances comply with ETSI ES
201 235-3 [3] and ETSI ES 201 235-4 [4].
Signal conditions an tolerances
Valid
Frequency Deviation
<= ± (1,5% + 2) Hz
Not Valid
Twist (signal level difference)
< 12 dB
Reverse Twist (signal level difference)
< 12 dB
Table 10: Not configurable factory-programmed signal conditions and tolerances on the u-blox wireless modules

Twist: the lower tones are higher in amplitude than the higher tones

Reverse twist: the lower tones are lower in amplitude than the higher tones
7.3 DTMF performance measurements
DTMF performance is measured with respect to speech immunity and detection performance.
7.3.1 Speech immunity
Speech immunity tests have been performed according to ETSI ES 201 235-4 [4] (Paragraph 4.3, Annex A and
Annex B), connecting the u-blox module with a network simulator using a full-rate speech codec. The test
results, presented in the Table 11, have been obtained with factory-programmed configuration values, only
varying the <mode> and <immunity> parameters. The full speech immunity is reached if the DTMF detector has
maximum 5 talk-offs (i.e. false detections caused by 20 minutes of speech-like test signal injected into the
detector).
<immunity> parameter value
<mode> parameter value
Talk-offs
0
normal mode
9900
0
robust mode
4800
14
normal mode
100
14
robust mode
5 (as in ETSI reference)
Table 11: ETSI Speech immunity tests, with 20 minutes test signal
The factory-configured DTMF decoder activated in robust mode passes the speech immunity test.
UBX-13001835 - A
Preliminary
Page 26 of 34
LISA-U1 / LISA-U2 series - Application Note
7.3.2 Detection performance
The detection performance measurement and benchmarking was done as in ETSI TR 126 975 [6], Chapter 10
“Performances with DTMF tones”, the tests implemented as in the described test procedure, on a sub-set of
experiments. This ETSI document is not intended to be a DTMF decoder specification. Rather, it evaluates the
transparency of the FR and AMR speech codecs to DTMF tones.
The benchmarking with the ETSI reference DTMF decoder is considered a valid performance measurement. It
points out the problems that necessitate the widely used speech codecs adopted by 2G and 3G wireless
networks: the AMR low bit rate modes are not transparent to DTMF tones (refer to ETSI TR 126 975 [6]
and Table 13).
The tests have been performed with factory-programmed configuration values, only varying the <mode> and
<immunity> parameter. Five different experiments from ETSI TR 126 975 [6] at various signals levels and with or
without frequency deviation and reverse twist have been considered. Each experiment is made up of 20
repetitions of a sequence of 16 DTMF digits with tone 80 ms duration and 80 ms pause duration.
Table 12 and Table 13 illustrate the DTMF decoder performance with respect to two different speech codecs:

FR GSM 13 kb/s codec

AMR 4.75 kb/s codec
7.3.2.1
Full rate GSM 13 kb/s codec
Each element in Table 12 reports the percentage of undetected digits and the percentage of false detections. For
each x/y table element, x represents the percentage of undetected DTMF digits and y represents the percentage
of out-of-sequence digits (false detections).
FR GSM 13 kb/s
<immunity>=0
normal mode
<immunity>=0
robust mode
<immunity>=14
normal mode
<immunity>=14
robust mode
ETSI reference
exp7: -6 dBm
0/30
0/0
0/0
0/0
0/0
exp8: -16 dBm
0/22
0/0
0/0
0/0
0/0
exp9: -26 dBm
0/8
0/0
0/0
0/0
0/0
exp10: -16 dBm+frequency deviation
0/8
0/0
0/0
0/0
0/0
exp11: -13 dBm with -6 dB (reverse)
twist
0/16
0/0
0/0
0/0
0/0
Table 12: Results for each experiment (rows) for each decoder configuration (columns)
100% of detections are achieved with the factory-programmed detector in both normal and robust
mode, without false detections.
False detections are present only in normal mode with completely disabled immunity (<immunity>=0). This
configuration, which represents a configuration at boundary conditions, is not recommended.
7.3.2.2
AMR 4.75 kb/s codec
Each element in Table 13 reports the percentage of undetected digits and the percentage of false detections. For
each x/y table element, x represents the percentage of undetected DTMF digits and y represents the percentage
of out-of-sequence digits (false detections).
UBX-13001835 - A
Preliminary
Page 27 of 34
LISA-U1 / LISA-U2 series - Application Note
AMR 4.75 kb/s codec
<immunity>=0
normal mode
<immunity>=0
robust mode
<immunity>=14
normal mode
<immunity>=14
robust mode
ETSI reference
exp7: -6 dBm
0/24.0
0/0
4.7/0
20.9/0
21.3/0
exp8: -16 dBm
0/7.8
0/0
1.6/0
22.1/0
24.8/0
exp9: -26 dBm
0/0.6
0/0
1.8/0
19.7/0
27.5/0
exp10: -16 dBm+frequency deviation
0/12.5
0.3/0
1.6/0
19.0/0
26.9/0
exp11: -13 dBm with -6 dB (reverse)
twist
0/8.1
16.6/0
11.8/0
34.7/0
35.9/0
Table 13: Results for each experiment (rows) for each decoder configuration (columns)
Better detection performance than the ETSI reference is achieved with the factory-programmed detector
in robust mode (23.28% vs 27.28% in average).
Almost 100% of detections are achieved if the immunity in robust mode is disabled.
exp11 with artificially added negative twist represents unreal/rare network situations. For more details,
refer to section 7.3.2.3.
7.3.2.3
Discussion
ETSI-compliant detector
The DTMF decoder in robust mode and default setting (<immunity> = 14) performs as expected by ETSI
requirements, both with respect to speech immunity and detection performance.
AMR transparency
ETSI verified that low-bit rate codecs, in particular the AMR 4.75 kb/s codec, are not transparent to DTMF tones,
especially the shorter ones, if an ETSI-compliant decoder is used. For instance, the AMR codecs have a tendency
to add negative twist to DTMF signals. This is revealed by results of experiment exp11, in which an additional
negative twist of 6 dB has been artificially added to DTMF tones prior AMR encoding. The DTMF factory setting
for twist valid condition has been relaxed from the minimum recommended of 6 dB in ETSI ES 201 235-4 [4] to
12 dB: for more details refer to section 7.2.1.5. Nevertheless, the exp11 signal conditions can be considered
really boundary conditions, which are rare in real network situations.
Immunity configuration
With a cost of a reduced speech immunity performance, the u-blox DTMF decoder can be tuned to be more or
less transparent to speech codec modes, acting on the <immunity> parameter. In particular, with the disabled
immunity (<immunity>=0), it can cope with distortions introduced by the AMR 4.75 kb/s codec maintaining a
detection performance close to 100%. The reduced immunity performance can be acceptable in controlled
conditions of talk-off sources. A typical application which does not need speech immunity performance is the
terminal end-to-end signaling, in which the microphone at DTMF generator side is disabled.
Normal mode
The normal mode combined with a proper level of immunity can give the right balance between the detection
performance and the speech immunity performance. See for example the detection results with AMR codec,
<immunity>=14 in normal mode detection, close to 98% hits without false detections, 100 talk-offs.
UBX-13001835 - A
Preliminary
Page 28 of 34
LISA-U1 / LISA-U2 series - Application Note
Tone duration
It is a recommendation for the transmitter. For end-to-end signaling, especially with low-bit-rate codecs, a
minimum of 80 ms for tone duration is recommended. There are generally no benefits in having tones lasting
more than 120 ms (on the contrary, the risk of false digit repetitions is increased).
Pause duration and <max_int>
It is a recommendation for the transmitter. ETSI recommends that if the transmitter automatically controls the
DTMF signaling pause duration, the duration of the pause between any individual DTMF tone combination shall
not be less than 65 ms. On need, the <max_int> can be configured accordingly to the transmitter’s
configuration, as proposed in the section 7.2.1.4.
Half-Rate (HR) codecs
The half-rate codecs may dramatically worsen the decoder performance. As stated by ETR 229 [8], “a serious
commercial application using DTMF in the speech channel should not be supported with the GSM half rate
codec.”. This statement is valid for any codec working on half-rate channels, like for instance the HR-AMR
(Half-Rate AMR). The half-rate speech channels are not only characterized by the distortions of low-bit rate
codecs, but also by a higher error rate since the actual payload data rate is halved with respect to the full rate
channel (for example, 6.5 kb/s vs 13kb/s).
The module can be configured to not perform calls on half-rate channels through AT+UDCONF command
(refer to section 7.4).
7.4 Configuration examples
The performance estimates of the following configuration examples are given for error free conditions (no
speech frame drops). The frame drops may cause false digit repetitions that can be coped with <max_int>
parameter configuration as discussed in the section 7.2.1.4.
7.4.1 ETSI-compliant decoder
It is achieved by the decoder enabled in robust mode with factory-programmed parameters:
AT+UDTMFD=1,2
OK
AT+UDTMFD?
+UDTMFD: 1,2,4,400,14,2,4
OK
Characterized by full speech immunity, the detection rate of this configuration can be less than 100% with low
bit-rate codecs, as presented in the section 7.3.
7.4.2 ETSI-compliant decoder with guaranteed speech channel QoS
To get rid of low-bit rate codecs distortions, it is possible to configure the module to support and make calls only
with a reduced speech codec set. The +UDCONF AT command configures the speech codec. For more details,
refer to the u-blox AT commands manual [1].
7.4.2.1
EFR, FR codec set restriction
For example, the ETSI-compliant decoder working with Enhanced Full Rate (EFR) and Full Rate (FR) codecs only
guarantees a 100% detection performance with full speech immunity:
UBX-13001835 - A
Preliminary
Page 29 of 34
LISA-U1 / LISA-U2 series - Application Note
AT+UDCONF=30,6
OK
AT+UDTMFD=1,2
OK
7.4.2.2
Full-rate channel restriction
It is possible to restrict the channels only excluding half-rate channels; e.g.
AT+UDCONF=30,7
OK
This configures the module to use FR, EFR and FR-AMR codecs.
For the description of +UDCONF command for speech codec configuration, refer to the u-blox AT
commands manual [1].
7.4.3 Custom DTMF detectors for low quality speech channels
A DTMF decoder can be configured to provide good performance even with low bit-rate codecs, at a cost of
lower speech immunity or restricted operating range. In both cases the transmitter shall work in controlled
condition.
The following configurations are guidelines and need actual in-field tuning and validation.
7.4.3.1
Reduced speech immunity
A good detection performance with low bit-rate codecs can be reached just by turning on the decoder in normal
mode and keeping the factory-programmed parameters:
AT+UDTMFD=1,1
OK
AT+UDTMFD?
+UDTMFD: 1,1,4,400,14,2,4
OK
According to the performance measurements, the talk-offs increase statistically from 5 to 100, while the
detection rate increases from approx 75% to 98% with the worst AMR codec case (4.75 kb/s). Varying the
immunity parameter, the balance between talk-offs and detection rate can be differently distributed.
If the talk-off performance is not an issue, the immunity can be completely disabled and robust mode turned on
(to avoid false detections).
AT+UDTMFD=1,2,,,0,2
OK
AT+UDTMFD?
+UDTMFD: 1,1,4,400,0,2,4
OK
The detection rate on worst AMR case should now be close to 100%.
UBX-13001835 - A
Preliminary
Page 30 of 34
LISA-U1 / LISA-U2 series - Application Note
7.4.3.2 Reduced operating range
The operating range reduction improves the speech immunity and in general performance vs false detection,
e.g.:
AT+UDTMFD=1,1,,1200
OK
AT+UDTMFD?
+UDTMFD: 1,1,4,3200,14,2,4
OK
This is a configuration that should have an improved talk-off with respect to section 7.4.3.1 at the cost of
reduction of a minimum operating level shift from approx -36 dBm to -18 dBm.
UBX-13001835 - A
Preliminary
Page 31 of 34
LISA-U1 / LISA-U2 series - Application Note
Appendix
A List of Acronyms
Abbreviation / Term
Explanation / Definition
AC
Adaptation Control block
AFB
Analysis Filter Bank
AGC
Automatic Gain Control
AP
Application Processor
AT
AT Command Interpreter Software Subsystem, or attention
DBF
Downlink Biquad Filters command
DES
Dynamic Echo Suppressor
DSP
Digital Signal Processing
EC
Echo Cancellation algorithm
FIR
Finite Impulse Response filter
HF
Hands-free Algorithm
LEM
Loudspeaker-Enclosure-Microphone
LMS
Least Mean Square
MGC
Microphone Gain control command
NLMS
Normalized Least Mean Square
NR
Noise Reduction algorithm
NVM
Non Volatile Memory
PSTN
Public Switched Telephone Network
RX
Receiver
SGC
Speaker Gain control command
SER
Spectral Echo Reduction
SFB
Synthesis Filter Bank
TX
Transmitter
UBF
Uplink Biquad Filters command
UBX-13001835 - A
Preliminary
Page 32 of 34
LISA-U1 / LISA-U2 series - Application Note
Related documents
[1]
u-blox AT Commands Manual, Docu No WLS-SW-11000
[2]
[3]
LISA-U series System Integration Manual, Docu No UBX-13001118
ETSI ES 201 235-3 V1.3.1, Specification of Dual Tone Multi-Frequency (DTMF) Transmitters and
Receivers; Part 3: Receivers
[4]
ETSI ES 201 235-4 V1.3.1, Specification of Dual Tone Multi-Frequency (DTMF) Transmitters and
Receivers; Part 4: Receivers for use in Terminal Equipment for end-to-end signaling
[5]
Work Items with ETSI Document Number of '201 235', see Work Programme search database,
http://www.etsi.org/
ETSI TR 126 975 V10.0.0 (2011-04), Performance characterization of the Adaptive Multi-Rate (AMR)
speech codec (also 3GPP TR 26.975 version 10.0.0 Release 10)
[6]
[7]
[8]
ITU-T Recommendation Q.23: Technical features of push-button telephone sets
ETR 229: October 1995 (GSM 06.08 version 4.0.0), Performance characterization of the GSM half rate
speech codec
All these documents are available on our homepage (http://www.u-blox.com).
For regular updates to u-blox documentation and to receive product change notifications, register on our
homepage.
Revision history
Revision
Date
Name
Status / Comments
-
Jul. 06, 2012
ague
Initial release
(Last revision with old doc number, 3G.G3-CS-12003)
A
Aug. 01, 2013
ague
Added DTMF decoder description for LISA-U2 series
UBX-13001835 - A
Preliminary
Page 33 of 34
LISA-U1 / LISA-U2 series - Application Note
Contact
For complete contact information visit us at www.u-blox.com
u-blox Offices
North, Central and South America
u-blox America, Inc.
Phone:
+1 703 483 3180
E-mail:
info_us@u-blox.com
Regional Office West Coast:
Phone:
+1 408 573 3640
E-mail:
info_us@u-blox.com
Headquarters
Europe, Middle East, Africa
u-blox AG
Phone:
+41 44 722 74 44
E-mail:
info@u-blox.com
Support: support@u-blox.com
Technical Support:
Phone:
E-mail:
+1 703 483 3185
support_us@u-blox.com
Asia, Australia, Pacific
u-blox Singapore Pte. Ltd.
Phone:
+65 6734 3811
E-mail:
info_ap@u-blox.com
Support: support_ap@u-blox.com
Regional Office Australia:
Phone:
+61 2 8448 2016
E-mail:
info_anz@u-blox.com
Support: support_ap@u-blox.com
Regional Office China (Beijing):
Phone:
+86 10 68 133 545
E-mail:
info_cn@u-blox.com
Support: support_cn@u-blox.com
Regional Office China (Shenzhen):
Phone:
+86 755 8627 1083
E-mail:
info_cn@u-blox.com
Support: support_cn@u-blox.com
Regional Office India:
Phone:
+91 959 1302 450
E-mail:
info_in@u-blox.com
Support: support_in@u-blox.com
Regional Office Japan:
Phone:
+81 3 5775 3850
E-mail:
info_jp@u-blox.com
Support: support_jp@u-blox.com
Regional Office Korea:
Phone:
+82 2 542 0861
E-mail:
info_kr@u-blox.com
Support: support_kr@u-blox.com
Regional Office Taiwan:
Phone:
+886 2 2657 1090
E-mail:
info_tw@u-blox.com
Support: support_tw@u-blox.com
UBX-13001835 - A
Preliminary
Page 34 of 34
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertising