AN2834 Freescale Semiconductor / Motorola, AN2834 Datasheet - Page 7

no-image

AN2834

Manufacturer Part Number
AN2834
Description
AN2834, Packet Telephony Automatic Level Control on the StarCore SC140 Core
Manufacturer
Freescale Semiconductor / Motorola
Datasheet
3.1 Estimation of Signal Levels
The ALC device requires level estimations of three signals:
The filtering process for the estimation is defined in Section 1. With 16-bit input data to be processed by the low-
pass estimation filter, 32-bit data format is used for each signal level to preserve precision. To achieve
computational efficiency on the SC140 DSP core, the low-pass filtering process is modified in the implementation
as shown in Equation 9.
where s(n) denotes the underlying signal whose level is being estimated. Furthermore, the smoothing factor b =
1 – a is set to 2
3.2 Gain Adaptation
The trade-off between data precision and computational efficiency is a crucial design issue. To increase
computational efficiency, double-precision multiplication must be limited. However, fewer precision bits for
variables may impair the adaptation capability of the device and even cause temporal clipping distortions.
Therefore, we used a Q9.23 data format for the internal computations of the gain g(n) to provide enough precision
for both the integer and fractional parts. Meanwhile, 16-bit format is used for other variables to reduce the number
of double-precision multiplication operations.
3.3 Auxiliary Functions
In initialization or control function calls, calculation of the function 10
parameters from decibel to a fixed-point binary expression. The integer (A
function can be calculated as follows:
where
and
employed to evaluate the fractional bits, which prove to be sufficient for achieving 16-bit precision.
Freescale Semiconductor
log
is the flooring function, which corresponds to the largest integer smaller than or equal to its argument,
2
S
S
R
(10)/10
in
out
in
: Send-in signal x(n).
: Receive-in signal z(n).
–k
: Send out signal y(n).
so that shift operations can be used to avoid double-precision multiplication.
Packet Telephony Automatic Level Control on the StarCore SC140 Core, Rev. 1
– 15
P
s
. Then a fourth-order polynomial approximation of the following function is
n
=
2
P
y
A
s
f
A
n 1
=
k
i
4
=
=
2
0
c
2
ax
b – P
k
y
ax
4 k
ax
s
+
1
n 1
1
x/10
s
2
is used extensively to convert the system
i
) and fractional (A
n
Automatic Level Control on StarCore
f
) parts of this
Equation 10
Equation 9
7

Related parts for AN2834