Design Article
Real-time tuning critical for voice quality
Bahman Barazesh, Technical Manager, Agere Systems, Allentown, PA
5/6/2002 8:12 AM EDT
Internet Protocol (IP) phones is a DSP market segment that is particularly hot. They offer enterprises the promise of lower operating costs, streamlined infrastructure and support overhead, and the possibility of running integrated or enhanced applications that combine voice with other data types.
But IP phones are complex packet-based devices that combine Ethernet and LAN technology with analog and digital voice processing. One of the stringent market requirements on IP phones is that the voice quality must equal or exceed that of traditional telephones. However, "voice quality" is not something that can be designed deterministically, but is usually a subjective factor arrived at from an educated trial and error process.
Engineers at Agere Systems have developed a Real Time Tuning (RTT) tool to assist IP phone designers in selecting a myriad of DSP coefficients such as gains, equalizers, and echo cancellers that go into a next-generation IP phone system. The tool enables the evaluation and optimization of DSP functions in a speedy, user-friendly, and graphically-oriented manner.
RTT works in conjunction with the company's IP Phone-On-A-Chip system for an IP telephone residing on a local area network. The current two-chip set integrates the functionality to interface directly to an Ethernet network, telephone handset, speakerphone, and other user interfaces. The design includes many parameter-sensitive subsystems, including two linear codecs, audio filters, audio mixers, equalizers, echo cancellers and microphone amplifiers.
RTT software runs on a PC and communicates with an IP Phone system development board via Ethernet. With RTT, the user can set internal values in the IP telephone DSP (IPT-DSP) and can monitor the state of the system in real time. Tools are provided to automate common tasks such as measuring the sensitivity of speakers and microphones being used with the IP Phone board. To facilitate testing, test buffers provide easy access to input and output points in the system to play reference audio files or save real-time audio buffers. When the audio characteristics have been adequately tuned, the settings can be saved either as coefficient source files or as an update to the final DSP image that is loaded when the IP Phone boots up.
To use the RTT software, it is necessary to have at least one IP Phone development board up and running with the sample application loaded. To use the RTT Sensitivity Measurement Tool, another development board is needed as a measurement unit.
The DSP capabilities found in the tool can be accessed via an on-screen block showing the IP Phone-On-A-Chip signal processing functions. IP Phone-On-A-Chip signal processing functions. All mixer gains, speaker volumes, microphone gains, tone levels, and sidetone levels are accessible and can be modified in real-time. Using the RTT tool, the Phone designer determines the range and number of gain steps for the product and saves them for later use. Through the same screen, three coded audio streams (PC files) can be directed to the decoders and played in real-time by the IP Phone-On-A-Chip system. Also, two real-time encoded streams can be recorded to the PC hard drive. This feature is useful to debug real-time audio issues.
When the real time tuner program is launched, the main window contains receive and transmit characteristic graphs showing the sensitivity characteristics of the speakers and microphones for both handset and speakerphone modes. To characterize the microphones and speakers on an IP Phone, the RTT software includes a sensitivity measurement tool that automates the task of determining the response of the transducers and associated circuitry. If the speaker and microphone sensitivity has been tested previously, the sensitivity values can be entered into the RTT software rather than measured by the RTT Sensitivity Measurement tool. The software requires sensitivity values for frequency points between 100 and 4000 Hz at 1/12 octave intervals and reads these values on boot-up.
To characterize the speakers and microphones on an IP Phone, the developer must determine the relationship between sound pressures and voltages on either side of a transducer. This process is partially automated by the RTT Sensitivity Measurement Tool. The software uses a second IP Phone development board as a Measurement Unit, generating output test signals and measuring input signals. Once this measurement board is calibrated, RTT can use the results to determine the response of the IP Phone being tested.
The Sensitivity Measurement Tool window allows the user to start and stop testing and to determine the specifics of the test that will be run. After that, the sensitivity measurement tool can create a consistent signal using the test speaker, so testing can begin. For a next-generation IP phone, the designer must run four sets of sensitivity tests: handset speaker, handset microphone, speakerphone speaker, and speakerphone microphone. The DSP used in the IP telephone should have separate sub-band equalizers to smooth the effective response of the handset and speakerphone microphones. The equalizer values for the 16 sub-bands (250 Hz each) can be adjusted by hand or calculated automatically by the RTT software. The automatic function saves time and calculates values for the transmit sub-band equalizers to provide a flat frequency response.
One of the most important subsystems in an IP telephone is the Acoustic Echo Canceller (AEC). Acoustic echo is caused when the signal from a telephone speaker is coupled to the telephone's microphone. Without a mechanism to cancel this echo, people talking to the speakerphone user will hear an echo of their voice. If the network delay is more than a few tens of milliseconds, the echo will be noticeable to the user and will lower the quality of the communication. The RTT software includes an adjustment tool that provides access to AEC parameters and facilitates separate testing for both the speakerphone and the handset systems.
The simplest way to perform echo cancellation is through a switched-loss algorithm. This technique turns down the volume on the incoming signal when the local user is talking, and turns down the microphone gain when the remote side is talking. This simple algorithm works fairly well during single-talk (half-duplex) situations, but can be a problem during double-talk, because the microphone signal is simply attenuated with no differentiation between undesirable echo and desirable speech from the local user.
The DSP embedded in the IP Phone-On-A-Chip solution has the ability to perform adaptive Acoustic Echo Cancellation. This technique works for the IP phone working in hands-free mode by attempting to estimate the acoustic echo coupled to the microphone and remove it before it is transmitted back to the remote user telephone. The AEC algorithm must monitor the signal at the near speaker, determine how it is transformed as it returns through the microphone, and subtract that transformed signal from the near side microphone signal. The algorithm is adaptive to compensate for changes in the acoustic environment during a phone call. An automatic gain control (AGC) is included to compensate for signal level variations due to talker's movements relative to the microphone and to adjust the signal level to maintain consistent amplitude at the remote side output.
In addition to handling acoustic echo cancellation, the IP Phone-On-A-Chip system supports a noise cancellation feature in hands free mode that can be optionally enabled by the RTT tool. Ambient noise, present in many practical situations, is a major problem for hands free phones. The DSP in the IP Phone-On-A-Chip solution supports an adaptive noise cancellation function that attenuates the ambient noise based on time domain and frequency domain characteristics of the microphone signal.
Although the most important factor in determining the quality of a speakerphone is whether or not it "sounds good," there are many objective tests that can be done to quantify the factors that contribute to a good-sounding phone. The International Telecommunications Union (ITU) has brought forth many of these parameters, and has described in Specification G.167 exactly how to test AEC devices. These capabilities should be embedded in any real-time tuning system for IP phone development.



