AN2832 Freescale Semiconductor / Motorola, AN2832 Datasheet - Page 11

no-image

AN2832

Manufacturer Part Number
AN2832
Description
Packet Telephony Remote Diagnostics on the StarCore SC140 Core
Manufacturer
Freescale Semiconductor / Motorola
Datasheet
3
This section describes an implementation of the remote diagnostic architecture presented in Section 2 on a
Freescale StarCore MSC8101 DSP. Extensive real-time tests demonstrated that the remote diagnostic software
requires fewer than 2.0 million cycles per second (MCPS), on average, for a target impulse response with up to a
128 ms span. Hybrid circuit impulse response estimation and emulation are a major part of the remote diagnostic
functionality, but other basic measurements are included.
A flexible application programming interface (API) dynamically enables/disables hybrid estimation and emulation,
providing signal levels in dBm0—such as r
information, such as ERL, bulk delay, and active portion of the impulse response. These are a small subset of the
possible remote diagnostic features in comparison to those discussed in [3], but they are critical indicators of
possible anomalies in the communication network. Proprietary schemes integrated in a media gateway system can
use these measurements to monitor ECAN performance (see Figure 4). Alert messages are generated when
troubling conditions are detected, such as a level of s
with expected ECAN behavior. Furthermore, when the remote diagnostic device is integrated within a packet
telephony development platform such as the prototype illustrated in Figure 3, it can emulate any target hybrid
impulse response—for example, one of the 8 G.168 hybrid models. It can also emulate time-varying impulse
responses, thus providing valuable help in acoustic echo canceller development and testing.
The FFT and inverse 1-D fast Fourier transform (IFFT) processing block handled most of the required processing
load, so it is discussed further. We also used other common code optimization strategies, such as precomputing the
training signal and storing it in look-up tables and efficient multi-sample processing of the FIR filtering step [10]
required for echo estimation and emulation. High-level C optimization of the FFT/IFFT increased the efficiency of
the impulse response estimation process. The speed-up efforts were conducted in two phases: system-level
optimization and kernel-level optimization.
3.1 System-Level Optimization
The original FFT/IFFT was performed in floating-point operations, which are not very efficient on fixed-point
processors. Therefore, we converted the FFT/IFFT block to fixed-point, imposing precision limitations. To validate
the functionality of the new code with ease, we defined a preprocessor so that the user can select either the fixed- or
floating-point FFT/IFFT implementation.
During the channel estimation step, a random sequence with known probability distribution is generated in real-
time and periodically transmitted through the hybrid circuit. A new training signal is generated per channel
estimation task. However, the training signal can instead be precomputed, in both the time and frequency domains,
and stored in look-up tables. If look-up tables are in use, the random sequence generator can be turned off, reducing
the total number of FFT/IFFT operations from three to two. A preprocessor macro is defined so that the user can
choose the fixed- or real-time generated random sequence.
Freescale Semiconductor
Remote Diagnostics on StarCore
#define MOT_REM_DIAG_FFT_FIX16
#define MOT_REM_DIAG_FIX_TRAINING_SEQ 1 // Enable(1) -> use fixed training sequence
Packet Telephony Remote Diagnostics on the StarCore SC140 Core, Rev. 1
0
(n), s
1
i
(n), and s
0
(n) much larger than the level of s
// Enable(1) -> use 16-bit fix-pointed FFT
// Disable(0) -> use floating point FFT
// Disable(0) -> use real-time self-generate
// training sequence for every frame
0
(n)—and providing hybrid impulse response
Remote Diagnostics on StarCore
i
(n), which is inconsistent
11

Related parts for AN2832