那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

回聲消除的基本原理和調試經驗

Dbwd_Imgtec ? 來源:未知 ? 作者:胡薇 ? 2018-05-17 09:09 ? 次閱讀

本文講的回聲(Echo)是指語音通信時產生的回聲,即打電話時自己講的話又從對方傳回來被自己聽到。回聲在固話和手機上都有,小時還可以忍受,大時嚴重影響溝通交流,它是影響語音質量的重要因素之一。可能有的朋友要問了,為什么我打電話時沒有聽見自己的回聲,那是因為市面上的成熟產品回聲都被消除掉了。

回聲分為線路回聲(line echo)和聲學回聲(acoustic echo),線路回聲主要存在于固話中,是由于2-4線轉換引入的回聲,聲學回聲是由于空間聲學反射產生的回聲 。回聲消除(Echo canceller, EC)是語音前處理的重要環節,下面主要講其基本原理和調試中的一些經驗。

1、基本原理

1)自適應濾波器和自適應算法

一般濾波器的系數是固定的,而自適應濾波器的系數是變化的,是依據自適應算法來調整濾波器系數的。自適應濾波器的結構采用FIR或IIR均可,由于IIR存在穩定性問題,因此一般采用FIR。

下圖是自適應濾波器的一般結構:

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

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

2)回聲消除基本原理。

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

處理過程如下:

a) 算近端遠端語音數據的energy,確定雙方是silent還是talk。

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

c) 誤差e同時也會經過NLP(非線性處理)后產生舒適噪聲送給對方。

2、調試

EC相對較難,要做的很好很不容易。在webRTC開源前主要是大公司和專業的算法公司有好的實現方案,一般公司要想產品里有EC就去買算法庫。webRTC開源后一些核心的算法(包括AEC/ANS/AGC等)也隨之開源,這樣眾公司開始用webRTC里的算法,尤其是互聯網公司,AEC等算法基本都是用的webRTC的。

本人有兩次EC的調試經歷。第一次是在芯片公司,做語音解決方案。從公司的算法部門拿來了回聲消除實現,把它用到解決方案中。另一次是在移動互聯網公司,做實時語音通信類APP,要把webRTC的AEC用到APP中。第一次花的時間較多,要學習原理,看算法代碼,做應用程序驗證算法并且要修改系數,在產品上調試等。第二次有了第一次的基礎再加上webRTC封裝的較好從而花的時間較短。個人覺得對EC零基礎但已有EC算法代碼的基礎上去調試主要有如下幾步:

1)學習回聲消除的基本原理,涉及信號處理知識(從固定系數濾波器到系數自適應濾波器)和高等數學知識(梯度)等。因為不是做算法,掌握基本的就可以了。如果基礎扎實,當然搞得越明白越好了。

2)看算法代碼。如果有實現的設計文檔那是最好了,好多算法實現有技巧,有設計文檔的話能更好的幫助理解代碼。沒有只能硬著頭皮啃了。剛開始可能有些看不懂,多看幾遍,也許每一次都會多懂一些。

3)做個應用程序驗證算法。這個應用程序輸入是近端和遠端的PCM文件,把EC的輸出寫進一個PCM文件里,看處理效果如何。這里面也可以分幾小步:

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

b) 設一定的latency,近端的PCM和遠端的數據一樣,但是近端的PCM數據相對遠端的有一定的delay,這個值跟設定的latency值是一樣的,這時理論上輸出還是全零數據。

c) 獲取實際產品上的近端和遠端PCM數據,可以近似得到近端和遠端的latency。把這幾個作為輸入,看算法輸出,也要基本聽不見回聲。這步調好后算法基本上就可以用了。

4)在具體硬件平臺上去調。每個硬件平臺上的latency都是不一樣的。在芯片公司時有demo板,每個客戶也有他們的電路板,硬件平臺相對不多一個個獲取近遠端PCM數據調好latency就可以了。在移動互聯網公司做APP時,手機類型眾多,用上面方法太累,于是在UI上做了一個滑動條去配置latency,讓測試人員去測試找到一個相對較好的latency,然后放在配置文件里保存下來,以后這款手機就用這個latency值了。

經過上面幾步后在真正產品上的EC調試就算結束了。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 自適應濾波器

    關注

    3

    文章

    12

    瀏覽量

    10903
  • 回聲消除
    +關注

    關注

    1

    文章

    10

    瀏覽量

    8505

原文標題:音頻處理之回聲消除及調試經驗

文章出處:【微信號:Imgtec,微信公眾號:Imagination Tech】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    基于FPGA的多路回聲消除算法的實現

    基于FPGA的多路回聲消除算法的實現中文期刊文章作  者:尹邦政 朱靜 毛茅作者機構:[1]廣州廣哈通信股份有限公司,廣東廣州510663;[2]廣州大學實驗中心,廣東廣州510006出 版 物
    發表于 05-08 10:23

    串聯諧振逆變器的基本原理

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

    電機轉動的基本原理是什么?

    電機轉動的基本原理是什么?電機運動的基本原則有哪些?
    發表于 07-21 07:59

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

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

    無線充電的基本原理是什么

    一 、無線充電基本原理無線充電的基本原理就是我們平時常用的開關電源原理,區別在于沒有磁介質耦合,那么我們需要利用磁共振的方式提高耦合效率,具體方法是在發送端和接收端線圈串并聯電容,是發送線圈處理諧振
    發表于 09-15 06:01

    RAID技術的基本原理是什么

    RAID技術的基本原理是什么?RAID技術有哪幾個優勢?
    發表于 10-14 12:01

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

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

    ARM JTAG調試基本原理

    JTAG調試原理(推薦):這篇文章主要介紹ARM JTAG調試基本原理。基本的內容包括了TAP (TEST ACCESS PORT) 和BOUNDARY-SCAN ARCHITECTURE的介紹,在此基礎上,結合ARM7TDM
    發表于 05-27 10:44 ?150次下載

    長時延環境中的回聲消除器設計

    本文討論了回聲消除器的基本原理以及軟件環境中聲音信號的時延特性,并提出了一種適用計算機軟件實現回聲消除器的改進的時延估計算法。實驗結果表明該
    發表于 08-28 10:00 ?26次下載

    如何發現與消除視頻會議中的回聲

    如何發現與消除視頻會議中的回聲  回聲是電視會議中最常見的聲音問題之一。在會議電視系統的調試過程中,回聲的發現與
    發表于 02-21 09:53 ?3223次閱讀

    基于CX20707 SPoC在安防樓宇對講中的回聲消除設計

    簡要闡述了回聲產生的原因及原理和當前主要的回聲消除技術,重點介紹了Conexant CX20707 SPoC 回聲消除芯片的基本特性,及在模
    發表于 12-26 11:18 ?205次下載
    基于CX20707 SPoC在安防樓宇對講中的<b class='flag-5'>回聲</b><b class='flag-5'>消除</b>設計

    步進馬達基本原理

    步進馬達基本原理步進馬達基本原理步進馬達基本原理
    發表于 11-30 11:55 ?8次下載

    如何使用dsPIC DSC線路回聲消除庫的詳細中文資料概述

    本章介紹 dsPIC DSC 線路回聲消除庫。此函數庫支持 dsPIC33F 和 dsPIC33E 系列器件,提供消除各種電話和數字網絡組件中產生的回聲這一功能。您可以利用本用戶指南提
    發表于 06-13 13:27 ?8次下載

    LC823450 回聲消除器的性能

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

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

    什么是回聲?什么是回聲消除?什么是噪音抑制?什么是智能降噪? 回聲是指聲波在環境中反射后到達聽者耳朵的現象。在大部分情況下,我們都不會感受到回聲
    的頭像 發表于 03-14 15:46 ?1640次閱讀
    百家乐官网智能分析| 威尼斯人娱乐场网址| 百家乐冲动| 真钱百家乐游戏排行| 沈阳市| 云顶会所| 穆棱市| 百家乐官网真钱在线| 博E百百家乐官网娱乐城| 澳门百家乐官网真人娱乐场| 现金百家乐官网赌法| 缅甸百家乐官网玩假吗| 新天地百家乐官网的玩法技巧和规则| 互博百家乐官网的玩法技巧和规则 | 封开县| 略阳县| 百家乐官网出庄几率| 百家乐官网007| 帝豪百家乐利来| 百家乐怎样玩的| 二八杠手法| 真钱百家乐游戏| 网络百家乐官网玩法| 百家乐官网图淑何看| 百家乐如何打公式| 百家乐都是什么人玩的| 大发888娱乐场开户注册| 平安县| 澳门百家乐官网赌技巧| 澳门百家乐娱乐城怎么样| 太阳城娱乐总站| 现金赌博网| 百家乐官网大小牌路的含义| 百家乐如何打公式| 大发888娱乐城电脑版下载| 百家乐官网稳赢赌法| 多伦多百家乐官网的玩法技巧和规则| 澳门百家乐战法| bet365百家乐| 百家乐官网翻天快播| 百家乐娱乐城玩法|