Design of echo cancellation device based on FM2010 chip

Publisher:信息巫师Latest update time:2011-07-30 Keywords:FM2010 Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

A normalized fast block least mean square algorithm (NFBLMS) is introduced. Compared with the LMS algorithm, it can not only effectively reduce the computational complexity, but also improve the convergence speed. A new echo control system is used, which combines linear echo cancellation with nonlinear harmonic processing to achieve good echo cancellation and convergence effects. Reference [4] proposes an all-pole IIR echo canceller, which can apply the traditional LMS algorithm and achieve good results.

1 The principle of echo generation and the main methods of eliminating echo

1.1 Basic principles of echo generation

Echoes can generally be divided into circuit echoes and acoustic echoes. Circuit echoes are mainly caused by the provider's line quality, while acoustic echoes are caused by the quality of the user's end equipment.

1.1.1 Circuit Echo

In traditional telephone systems, there is a so-called "circuit echo". The main reason for this echo is the 2-4 line conversion in the system. The mixer that completes the 2-4 conversion causes "leakage" due to impedance matching, which leads to "circuit echo".

1.1.2 Acoustic echo

The second echo source in Internet voice transmission is "acoustic echo". Acoustic echo refers to the sound played by the speaker being picked up by the microphone and sent back to the far end, which enables the far end speaker to hear his own voice. Acoustic echo is divided into direct echo and indirect echo.

Direct echo refers to the sound played by the speaker entering the microphone directly without any reflection. This echo has the shortest delay, which is related to factors such as the voice energy of the far-end speaker, the distance and angle between the speaker and the microphone, the playback volume of the speaker, and the pickup sensitivity of the microphone.

Indirect echo refers to the collection of echoes generated when the sound played by the speaker enters the microphone after being reflected once or multiple times through different paths.

Since circuit echo is mainly caused by the supplier's line quality, its elimination is usually solved by the supplier. Therefore, this article mainly discusses the method of eliminating acoustic echo.

1.2 Echo Cancellation Method

The principle of echo cancellation: Assuming that the echo heard in room A needs to be eliminated, the sound of the sending loop of room A is sent to the sampler for sampling. After sampling, the sample value is sent to the echo suppression model circuit to establish the echo suppression model, and then the echo suppression model is sent to the echo comparator that receives the echo for comparison, ultimately achieving the purpose of suppressing the echo.

Common echo cancellation methods are as follows:

(1) Local echo canceller (represented by the built-in echo canceller of the CISCO system): The echo cancellation circuit is built into the local communication terminal device to eliminate the influence of the far-end echo for the local venue.

(2) Heterologue echo canceller (represented by ClearOne's echo canceller): The local echo cancellation circuit is used to cancel the echo from the other end.

(3) Distributed echo cancellation: Distributed echo cancellation is a technology developed by the American Clear-

One's unique patented technology is different from single-channel echo cancellation. It has a built-in echo canceller in each microphone input of the XAP series products, which can eliminate echo more effectively and thoroughly.

2 Introduction to FM2010 and design of echo cancellation device

FM2010 is a small pin and low power echo canceller and noise suppressor launched by Fortemedia.

2.1 FM2010 Features and Echo Cancellation Principles

FM2010 is a DSP-based chip that integrates CODECs, ROM, RAM, and serial ports. Using innovative SAM (Small Array Microphone) technology and beamforming capabilities, its power consumption is only 25 mW. The conical beamforming feature can suppress noise while maintaining sound quality to improve clarity and increase sound intelligibility. FM2010 has an echo cancellation of up to 60 dB, non-stationary noise suppression of up to 20 dB, and stationary noise suppression of 18 dB. Each analog channel has an 8 kHz sampling rate and an 84 dB signal-to-noise ratio. To further reduce power consumption, FM2010 uses a specific hardware accelerator to reduce the MIPS requirement to achieve a 25 mW consumption, and comes with a sound processor with a hardware accelerator [5].

FM2010 uses the principle of adaptive echo cancellation. The essence of an acoustic echo canceller is to use an adaptive transverse filter to systematically identify the unknown echo channel, simulate the echo path, and then adjust the adaptive filtering algorithm to make its time domain impulse response close to the actual echo path, thereby obtaining an echo prediction signal. The prediction signal is then subtracted from the voice signal received by the microphone to achieve echo cancellation. Its principle is the distributed echo cancellation method. Specifically, the MIC IN of the FM2010 chip is the signal entering the microphone, that is, the user's voice input signal, which contains part of the main voice signal leaked from the local speaker. The Line IN receives the voice signal of the main voice terminal, that is, the signal output by the local speaker is directly connected to the Line IN input terminal of FM2010. The DSP chip inside FM2010 will compare the two after calculation and processing, eliminate the signal in the MIC IN signal that is the same as the Line IN end (that is, the echo audio signal), and use the principle of adaptive echo cancellation to achieve the purpose of echo cancellation [6].

2.2 Hardware circuit and PCB board design

Figure 1 is a macroscopic hardware architecture diagram (schematic diagram). As shown in the figure, FM2010 is equipped with E2PROM. The main function of E2PROM is to store initialization information, save and transmit echo cancellation parameters. The FM2010 chip in the figure is the main working chip for echo cancellation (the chip is not connected and is suspended), and is equipped with a corresponding power supply circuit and a microphone interface circuit, thereby completing the echo cancellation function as a whole.

[page]
2.3 Software Program Design

Figure 2 shows a schematic diagram of the software architecture. The software development of FM2010 echo cancellation requires several steps:

(1) Power on the echo cancellation chip and initialize the chip and E2PROM;

(2) Wait for initialization to complete;

(3) Receive call information and store it;

(4) Write the call information into the echo cancellation chip and process it.

It should be pointed out that when initializing FM2010, the power-on sequence defined in its specification must be followed, otherwise it may cause intermittent recording. That is, when initializing FM2010, the PWD high state must be set before the RESET high state, with a difference of 5ms between the two. Here is the initialization procedure for FM2010:

3 Echo Cancellation Test and Effect

In the experiment, this paper used the currently very popular and universal language chat software - Tencent QQ for voice and video communication. Under the premise of ensuring the network status, this paper connected the circuit board designed in this paper through a computer, as shown in Figure 3 (FM2010 in the figure represents the overall circuit of the circuit board designed in this paper, not just the chip itself). During the test, music was played while the call was in progress. Through the test, the experimental effects before and after the processing can be obtained under the conditions of turning on and not turning on the circuit board of this design. When this circuit board is not enabled, if there is background sound during the call, the call effect will be significantly affected. After enabling this circuit board, the background sound has been eliminated during the call, and the call effect has been significantly improved.

After the background sound suppression test, this paper also tested the echo suppression. The test was conducted on a rainy day (because the network condition is unstable on rainy days and echoes are easily generated), and the test was conducted through the QQ chat tool (the distance between the headset and the microphone was close during the test, so that the performance of this design could be further verified) to obtain the effects before and after the processing.

Through experiments, it can be clearly seen that the call quality after being processed by this design is significantly improved, most of the echoes are significantly suppressed, and the influence of the echoes on the call is effectively eliminated, that is, this design has a significant effect on suppressing echoes.

Based on the analysis of echo generation in video and voice calls, this paper specifically studies the principle of echo cancellation and introduces several commonly used echo cancellation methods. Then, according to the characteristics of the FM2010 chip, the software and hardware methods of echo cancellation are designed. Through the application in QQ video and voice communication, its effective echo cancellation is verified. In addition, this design has been applied to a nursing home in a military region in Nanjing and achieved good results.

Keywords:FM2010 Reference address:Design of echo cancellation device based on FM2010 chip

Previous article:DC speed regulation system controlled by single chip microcomputer
Next article:Single chip microcomputer design LCD digital clock (perpetual calendar)

Latest Microcontroller Articles
  • Download from the Internet--ARM Getting Started Notes
    A brief introduction: From today on, the ARM notebook of the rookie is open, and it can be regarded as a place to store these notes. Why publish it? Maybe you are interested in it. In fact, the reason for these notes is ...
  • Learn ARM development(22)
    Turning off and on interrupts Interrupts are an efficient dialogue mechanism, but sometimes you don't want to interrupt the program while it is running. For example, when you are printing something, the program suddenly interrupts and another ...
  • Learn ARM development(21)
    First, declare the task pointer, because it will be used later. Task pointer volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • Learn ARM development(20)
    With the previous Tick interrupt, the basic task switching conditions are ready. However, this "easterly" is also difficult to understand. Only through continuous practice can we understand it. ...
  • Learn ARM development(19)
    After many days of hard work, I finally got the interrupt working. But in order to allow RTOS to use timer interrupts, what kind of interrupts can be implemented in S3C44B0? There are two methods in S3C44B0. ...
  • Learn ARM development(14)
  • Learn ARM development(15)
  • Learn ARM development(16)
  • Learn ARM development(17)
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号