System Overview
The LEC removes the echo with an adaptive filter that models the transfer function of the echo generation path. It is trained during intervals when the far talker is active and the near talker is silent. This filter, once converged, can produce a close copy of the echo signal and remove it by subtracting this replica from the input signal leaving only the near-talker signal. This is then sent to the far listener.
The external interface is designed for flexibility for use in a variety of platforms. The LEC has a simple “native” interface that can be wrapped with any of several industry-defined APIs. These include the native API, an MSP Consortium M.100 wrapper and a Texas Instruments “XDAIS” wrapper, as diagrammed above.
Performance
The LEC meets the following performance requirements:
ERLE with and without NLP:
Requirement: To reduce input echo by more than 35 dB with NLP disabled.
Requirement: To reduce input echo by more than 65 dB with NLP enabled. (Reference: G168 tests 2A and 2B. Minimum G168 requirement: 14 dB after one second, level dependant thereafter.)
Acoustic echo: The LEC reduces uncancelled acoustic echo by an additional 18 dB over that presented from the incoming near data stream. (Reference: G168 tests 2A, 2B, and 12 (optional). This requirement states the ability to cancel an echo that is a result of the acoustic path from the speaker to the microphone of a speakerphone as long as the echo falls within the established echo tail span.
Convergence Time: The LEC converges to more than 20 dB of cancellation depth in less than 150 milliseconds from application of signals conducive to training. (Reference: G168 tests 2A and 2B. This requirement states that the LEC must converge rapidly so that the echo is barely or not at all perceptible at channel start-up.)
Divergence/Leakage:
Requirement:: To not diverge more than 6 dB from steady-state cancellation depth at the onset of double-talk.
Requirement: To not diverge more than 6 db from steady-state cancellation depth when silence begins on both connection ends.
Requirement: To not produce unwanted regeneration of echo when the echo path opens.
Requirement: To not diverge from convergence under narrow-band signals. (Reference: G168 tests 3A, 3B, 4,5,6 and 7.)
The above requirements state the ability of the LEC to not cease or reduce performance when conditions change on the connection during normal conversation.
Data and fax transmission Requirement: To not affect operation of Group 3 fax and data transmissions less than or equal to 9600 bps. (Reference: G168 tests 10A, 10B, 10C, and 14 (all tests optional). The above requirement is to ensure that the LEC does not harm facsimile and low-data-rate modem transactions. These modems do not issue the LEC disabler tone. When the LEC is not disabled, its presence should not affect the operation of these devices.)
Dynamic range Requirement: To operate successfully over a dynamic range of greater than 11 bits (approximately 66 dB). (This requirement states the ability of the LEC to operate over a wide range of signals such as those expected from linear as well as companding codecs operating over their entire range.
Minimum ERL Requirement: To operate correctly with as little as 6 dB of echo return loss (ERL). (This requirement states the maximum design value of ERL expected from a system in which the LEC is placed. In this case (generally considered the worst case), the echo can be as high as one half the power of the far talker signals.)
Resource Requirements
Memory utilization of the LEC is a function of the length of the specified echo tail. The table below gives the filter length as a function of echo tail length.
Filter length in taps |
Echo tail in msec. |
128 |
16 |
256 |
32 |
512 |
64 |
1024 |
128 |
This results in the following memory requirements on the TI ‘C6000 DSP:
Item |
Memory (bytes) |
Program |
11.2 K |
Core Context |
112 |
Coefficient storage |
256 per 16ms of tail |
Delay Line |
160+256 per 16ms of tail |
Disabler Context |
236 |
Comfort noise context |
76 |
Total: 32ms with all: |
1608 bytes |
Total: 128ms |
4680 bytes |
The number of cycles required per channel is also a function of echo tail length and whether the LEC’s adaptive filter is being updated.
Conditions |
MCPS |
16 ms Tail |
Updating (Peak) |
3.0 |
Filtering only (Low) |
1.8 |
Average* |
1.9 |
32 ms Tail |
Updating (Peak) |
4.0 |
Filtering only (Low) |
2.5 |
Average* |
2.6 |
128 ms Tail |
Updating (Peak) |
5.0 |
Filtering only (Low) |
3.8 |
Average* |
3.5 |
*Assumes each speaker is active approximately 40% of the time with little overlap plus overhead |
The chart below gives the number of channels that can be obtained with the G.168 LEC on a 600-MHz ‘C6412 in combination with popular voice coders.
ECAN |
None |
32ms |
48ms |
128ms |
G.711 a |
600 |
300 |
170 |
120 |
G.711 u |
600 |
300 |
170 |
120 |
G.723.1 |
75 |
60 |
55 |
48 |
G.729A,B |
75 |
60 |
55 |
48 |
G.726 |
180 |
120 |
85 |
72 |
Note: All specifications are subject to change without notice.