0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

回聲消除的基本原理和調(diào)試經(jīng)驗(yàn)

Dbwd_Imgtec ? 來(lái)源:未知 ? 作者:胡薇 ? 2018-05-17 09:09 ? 次閱讀

本文講的回聲(Echo)是指語(yǔ)音通信時(shí)產(chǎn)生的回聲,即打電話(huà)時(shí)自己講的話(huà)又從對(duì)方傳回來(lái)被自己聽(tīng)到?;芈曉诠淘?huà)和手機(jī)上都有,小時(shí)還可以忍受,大時(shí)嚴(yán)重影響溝通交流,它是影響語(yǔ)音質(zhì)量的重要因素之一??赡苡械呐笥岩獑?wèn)了,為什么我打電話(huà)時(shí)沒(méi)有聽(tīng)見(jiàn)自己的回聲,那是因?yàn)槭忻嫔系某墒?a target="_blank">產(chǎn)品回聲都被消除掉了。

回聲分為線路回聲(line echo)和聲學(xué)回聲(acoustic echo),線路回聲主要存在于固話(huà)中,是由于2-4線轉(zhuǎn)換引入的回聲,聲學(xué)回聲是由于空間聲學(xué)反射產(chǎn)生的回聲 ?;芈曄‥cho canceller, EC)是語(yǔ)音前處理的重要環(huán)節(jié),下面主要講其基本原理和調(diào)試中的一些經(jīng)驗(yàn)。

1、基本原理

1)自適應(yīng)濾波器和自適應(yīng)算法

一般濾波器的系數(shù)是固定的,而自適應(yīng)濾波器的系數(shù)是變化的,是依據(jù)自適應(yīng)算法來(lái)調(diào)整濾波器系數(shù)的。自適應(yīng)濾波器的結(jié)構(gòu)采用FIR或IIR均可,由于IIR存在穩(wěn)定性問(wèn)題,因此一般采用FIR。

下圖是自適應(yīng)濾波器的一般結(jié)構(gòu):

上圖中,x(k)為輸入信號(hào),y(k)為輸出信號(hào),d(k)為期望信號(hào),e(k)是d(k)和y(k)的誤差信號(hào)。自適應(yīng)濾波器的濾波器系數(shù)受誤差信號(hào)e(k)控制,根據(jù)e(k)的值和自適應(yīng)算法自動(dòng)調(diào)整。

自適應(yīng)算法一般采用LMS(least mean square,最小均方)算法及其變種(如NLMS算法)。LMS算法是隨機(jī)梯度算法族中的一員。具體可以看相關(guān)的文章。

2)回聲消除基本原理。

下圖是回聲消除基本原理的框圖:

處理過(guò)程如下:

a) 算近端遠(yuǎn)端語(yǔ)音數(shù)據(jù)的energy,確定雙方是silent還是talk。

b) 遠(yuǎn)端輸入經(jīng)過(guò)自適應(yīng)FIR濾波器后就得到了近似于近端輸入的數(shù)據(jù),并與近端輸入相減后得到了誤差e。誤差e作為自適應(yīng)LMS算法的輸入在需要的時(shí)候去更新自適應(yīng)FIR濾波器的系數(shù)給后面遠(yuǎn)端數(shù)據(jù)處理用。在需要的時(shí)候是指遠(yuǎn)端talk近端silent的情況,其他情況(比如double silent / double talk)下不需要更新FIR濾波器的系數(shù)。

c) 誤差e同時(shí)也會(huì)經(jīng)過(guò)NLP(非線性處理)后產(chǎn)生舒適噪聲送給對(duì)方。

2、調(diào)試

EC相對(duì)較難,要做的很好很不容易。在webRTC開(kāi)源前主要是大公司和專(zhuān)業(yè)的算法公司有好的實(shí)現(xiàn)方案,一般公司要想產(chǎn)品里有EC就去買(mǎi)算法庫(kù)。webRTC開(kāi)源后一些核心的算法(包括AEC/ANS/AGC等)也隨之開(kāi)源,這樣眾公司開(kāi)始用webRTC里的算法,尤其是互聯(lián)網(wǎng)公司,AEC等算法基本都是用的webRTC的。

本人有兩次EC的調(diào)試經(jīng)歷。第一次是在芯片公司,做語(yǔ)音解決方案。從公司的算法部門(mén)拿來(lái)了回聲消除實(shí)現(xiàn),把它用到解決方案中。另一次是在移動(dòng)互聯(lián)網(wǎng)公司,做實(shí)時(shí)語(yǔ)音通信類(lèi)APP,要把webRTC的AEC用到APP中。第一次花的時(shí)間較多,要學(xué)習(xí)原理,看算法代碼,做應(yīng)用程序驗(yàn)證算法并且要修改系數(shù),在產(chǎn)品上調(diào)試等。第二次有了第一次的基礎(chǔ)再加上webRTC封裝的較好從而花的時(shí)間較短。個(gè)人覺(jué)得對(duì)EC零基礎(chǔ)但已有EC算法代碼的基礎(chǔ)上去調(diào)試主要有如下幾步:

1)學(xué)習(xí)回聲消除的基本原理,涉及信號(hào)處理知識(shí)(從固定系數(shù)濾波器到系數(shù)自適應(yīng)濾波器)和高等數(shù)學(xué)知識(shí)(梯度)等。因?yàn)椴皇亲鏊惴?,掌握基本的就可以了。如果基礎(chǔ)扎實(shí),當(dāng)然搞得越明白越好了。

2)看算法代碼。如果有實(shí)現(xiàn)的設(shè)計(jì)文檔那是最好了,好多算法實(shí)現(xiàn)有技巧,有設(shè)計(jì)文檔的話(huà)能更好的幫助理解代碼。沒(méi)有只能硬著頭皮啃了。剛開(kāi)始可能有些看不懂,多看幾遍,也許每一次都會(huì)多懂一些。

3)做個(gè)應(yīng)用程序驗(yàn)證算法。這個(gè)應(yīng)用程序輸入是近端和遠(yuǎn)端的PCM文件,把EC的輸出寫(xiě)進(jìn)一個(gè)PCM文件里,看處理效果如何。這里面也可以分幾小步:

a) 設(shè)latency為零,近端和遠(yuǎn)端的PCM文件相同,理論上輸出是全零數(shù)據(jù)。如果是這樣,恭喜你選擇的算法有一個(gè)好的base。如果不是那就需要去調(diào)算法里的一些系數(shù)了,這也許要調(diào)好多次,最終調(diào)試結(jié)果要是算法輸出基本聽(tīng)不見(jiàn)回聲。

b) 設(shè)一定的latency,近端的PCM和遠(yuǎn)端的數(shù)據(jù)一樣,但是近端的PCM數(shù)據(jù)相對(duì)遠(yuǎn)端的有一定的delay,這個(gè)值跟設(shè)定的latency值是一樣的,這時(shí)理論上輸出還是全零數(shù)據(jù)。

c) 獲取實(shí)際產(chǎn)品上的近端和遠(yuǎn)端PCM數(shù)據(jù),可以近似得到近端和遠(yuǎn)端的latency。把這幾個(gè)作為輸入,看算法輸出,也要基本聽(tīng)不見(jiàn)回聲。這步調(diào)好后算法基本上就可以用了。

4)在具體硬件平臺(tái)上去調(diào)。每個(gè)硬件平臺(tái)上的latency都是不一樣的。在芯片公司時(shí)有demo板,每個(gè)客戶(hù)也有他們的電路板,硬件平臺(tái)相對(duì)不多一個(gè)個(gè)獲取近遠(yuǎn)端PCM數(shù)據(jù)調(diào)好latency就可以了。在移動(dòng)互聯(lián)網(wǎng)公司做APP時(shí),手機(jī)類(lèi)型眾多,用上面方法太累,于是在UI上做了一個(gè)滑動(dòng)條去配置latency,讓測(cè)試人員去測(cè)試找到一個(gè)相對(duì)較好的latency,然后放在配置文件里保存下來(lái),以后這款手機(jī)就用這個(gè)latency值了。

經(jīng)過(guò)上面幾步后在真正產(chǎn)品上的EC調(diào)試就算結(jié)束了。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 自適應(yīng)濾波器
    +關(guān)注

    關(guān)注

    3

    文章

    12

    瀏覽量

    10880
  • 回聲消除
    +關(guān)注

    關(guān)注

    1

    文章

    10

    瀏覽量

    8466

原文標(biāo)題:音頻處理之回聲消除及調(diào)試經(jīng)驗(yàn)

文章出處:【微信號(hào):Imgtec,微信公眾號(hào):Imagination Tech】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    步進(jìn)電機(jī)基本原理

    本帖最后由 eehome 于 2013-1-5 09:48 編輯 步進(jìn)電機(jī)基本原理
    發(fā)表于 08-16 16:17

    基于FPGA的多路回聲消除算法的實(shí)現(xiàn)

    基于FPGA的多路回聲消除算法的實(shí)現(xiàn)中文期刊文章作  者:尹邦政 朱靜 毛茅作者機(jī)構(gòu):[1]廣州廣哈通信股份有限公司,廣東廣州510663;[2]廣州大學(xué)實(shí)驗(yàn)中心,廣東廣州510006出 版 物
    發(fā)表于 05-08 10:23

    串聯(lián)諧振逆變器的基本原理

    串聯(lián)諧振通常伴有逆變器。該組合稱(chēng)為串聯(lián)諧振逆變器。什么是基本原理?讓我簡(jiǎn)要介紹串聯(lián)諧振逆變器的一些基本原理。]首先給你看一張圖片:
    發(fā)表于 11-07 10:21

    電機(jī)轉(zhuǎn)動(dòng)的基本原理是什么?

    電機(jī)轉(zhuǎn)動(dòng)的基本原理是什么?電機(jī)運(yùn)動(dòng)的基本原則有哪些?
    發(fā)表于 07-21 07:59

    線性電源的基本原理是什么

    多路線性電源 AC-DC穩(wěn)壓電源 低紋波電源 可調(diào)線性電源 原理圖PCB目錄多路線性電源 AC-DC穩(wěn)壓電源 低紋波電源 可調(diào)線性電源 原理圖PCB基本原理芯片選型原理圖&3D-PCB具體
    發(fā)表于 07-30 07:47

    無(wú)線充電的基本原理是什么

    一 、無(wú)線充電基本原理無(wú)線充電的基本原理就是我們平時(shí)常用的開(kāi)關(guān)電源原理,區(qū)別在于沒(méi)有磁介質(zhì)耦合,那么我們需要利用磁共振的方式提高耦合效率,具體方法是在發(fā)送端和接收端線圈串并聯(lián)電容,是發(fā)送線圈處理諧振
    發(fā)表于 09-15 06:01

    RAID技術(shù)的基本原理是什么

    RAID技術(shù)的基本原理是什么?RAID技術(shù)有哪幾個(gè)優(yōu)勢(shì)?
    發(fā)表于 10-14 12:01

    串口通信的基本原理是什么?

    同步通信和異步通信的區(qū)別是什么?串口通信的基本原理是什么?
    發(fā)表于 12-13 06:46

    ARM JTAG調(diào)試基本原理

    JTAG調(diào)試原理(推薦):這篇文章主要介紹ARM JTAG調(diào)試基本原理?;镜膬?nèi)容包括了TAP (TEST ACCESS PORT) 和BOUNDARY-SCAN ARCHITECTURE的介紹,在此基礎(chǔ)上,結(jié)合ARM7TDM
    發(fā)表于 05-27 10:44 ?150次下載

    長(zhǎng)時(shí)延環(huán)境中的回聲消除器設(shè)計(jì)

    本文討論了回聲消除器的基本原理以及軟件環(huán)境中聲音信號(hào)的時(shí)延特性,并提出了一種適用計(jì)算機(jī)軟件實(shí)現(xiàn)回聲消除器的改進(jìn)的時(shí)延估計(jì)算法。實(shí)驗(yàn)結(jié)果表明該
    發(fā)表于 08-28 10:00 ?26次下載

    如何發(fā)現(xiàn)與消除視頻會(huì)議中的回聲

    如何發(fā)現(xiàn)與消除視頻會(huì)議中的回聲  回聲是電視會(huì)議中最常見(jiàn)的聲音問(wèn)題之一。在會(huì)議電視系統(tǒng)的調(diào)試過(guò)程中,回聲的發(fā)現(xiàn)與
    發(fā)表于 02-21 09:53 ?3203次閱讀

    步進(jìn)馬達(dá)基本原理

    步進(jìn)馬達(dá)基本原理步進(jìn)馬達(dá)基本原理步進(jìn)馬達(dá)基本原理
    發(fā)表于 11-30 11:55 ?8次下載

    如何使用dsPIC DSC線路回聲消除庫(kù)的詳細(xì)中文資料概述

    本章介紹 dsPIC DSC 線路回聲消除庫(kù)。此函數(shù)庫(kù)支持 dsPIC33F 和 dsPIC33E 系列器件,提供消除各種電話(huà)和數(shù)字網(wǎng)絡(luò)組件中產(chǎn)生的回聲這一功能。您可以利用本用戶(hù)指南提
    發(fā)表于 06-13 13:27 ?8次下載

    LC823450 回聲消除器的性能

    LC823450 回聲消除器的性能
    發(fā)表于 11-14 21:08 ?0次下載
    LC823450 <b class='flag-5'>回聲</b><b class='flag-5'>消除</b>器的性能

    什么是回聲?什么是回聲消除?什么是噪音抑制?什么是智能降噪?

    什么是回聲?什么是回聲消除?什么是噪音抑制?什么是智能降噪? 回聲是指聲波在環(huán)境中反射后到達(dá)聽(tīng)者耳朵的現(xiàn)象。在大部分情況下,我們都不會(huì)感受到回聲
    的頭像 發(fā)表于 03-14 15:46 ?1239次閱讀