新聞中心

        EEPW首頁 > 消費電子 > 設計應用 > 基于Qualcomm QCC5141 Adaptive ANC自適應主動降噪的藍牙耳機方案

        基于Qualcomm QCC5141 Adaptive ANC自適應主動降噪的藍牙耳機方案

        作者:Self 時間:2022-05-25 來源:大大通 收藏

        1、方案關鍵技術簡介

        本文引用地址:http://www.104case.com/article/202205/434473.htm

        1.1 ANC 與AANC 的區別

        在傳統的(FF)模式下(靜態ANC),ANC根據輸入信號進行濾波以產生抗噪聲。假設一次和二次聲路是靜態的并且事先知道,在耳機ANC場景中是固定的,靜態ANC可以獲得最佳性能。這就要求,耳機密閉性強,對耳朵產生很大的壓迫感!

        一般耳機設備ANC場景是不固定的。聽筒聲學主要和次要路徑的顯著變化取決于耳機設備的位置以及設備和耳朵之間的壓力。

        在AANC中有一個額外的自適應算法。該自適應算法接收噪聲輸入信號和誤差信號,并根據主、次路徑的變化計算出最優濾波器值。傳統的FF-ANC只需要輸入信號,而自適應算法也需要誤差信號。這種自適應抗噪聲信號為噪聲消除提供了更好的用戶體驗,尤其是對于耳機設備。

        總之AANC 耳機,消噪效果好,佩戴更舒適。

        如下圖:

        Static ANC 與 的區別

        2、硬件原理圖圖

        3、軟件開發過程

        3.1. 環境配置

        在使用 開發板前,請確保下載并安裝好以下軟件 “

        1)MDE:MDE WIN 2.5.1.47

        2)Toolkit : ADK Toolkit 1.1.2.40

        3)ADK:ADK 20.3 (r00201.1)

        3.2. 開發流程

        1)、打開MDE工具,MDE版本:2.5.1.47,點擊Open Project

        打開ADK 20.3 (r00201.1)

        2)、設置宏定義

        首先設置有關的宏,

        打開ANC與 :ENABLE_ANC,ENABLE_ADAPTIVE_ANC

        3)、把 AANC capability (download_aanc.edcks) 加到 ro_fs (MDE -> Right click ro_fs -> Add Existing Files… -> 選擇audioqcc514x_qcc304xkalimba_ROM_7120kymeraprebuilt_dkcsstreplus_rom_releasedownload_aanc.edkcs文件

        4) Microphone 配置

        earbud 工程可以配置6個麥克風,其中 有定義 MAX_SUPPORTED_MICROPHONES

        #define MAX_SUPPORTED_MICROPHONES   6

        在 srcdomainsaudiomicrophonesmicrohones_config.h 有MIC 的相關設置

        //!@{ @name Parameters for microphone 0 - Left analog MIC */

        #define appConfigMic0Bias()                     (BIAS_CONFIG_MIC_BIAS_0)

        #define appConfigMic0BiasVoltage()              (3) /* 1.9v */

        #define appConfigMic0Pio()                      (0x13)

        #define appConfigMic0Gain()                     (0x5)

        #define appConfigMic0IsDigital()                (FALSE)

        #define appConfigMic0AudioInstance()            (AUDIO_INSTANCE_0)

        #define appConfigMic0AudioChannel()             (AUDIO_CHANNEL_A)

        //!@}

        //!@{ @name Parameters for microphone 1 - Right analog MIC */

        #define appConfigMic1Bias()                     (BIAS_CONFIG_MIC_BIAS_0)

        #define appConfigMic1BiasVoltage()              (3) /* 1.9v */

        #define appConfigMic1Pio()                      (0x16)

        #define appConfigMic1Gain()                     (0x5)

        #define appConfigMic1IsDigital()                (FALSE)

        #define appConfigMic1AudioInstance()            (AUDIO_INSTANCE_0)

        #define appConfigMic1AudioChannel()             (AUDIO_CHANNEL_B)

        //!@}

        接下來,配置 麥克風的 ANC 模式或者 ANC 與 cVc 共享的Run Mode模式,在srcdomainsaudiokymerakymera_config.h 中Hybrid ANC example (with 1-mic cVc sharing and mixed mic configuration):

        //!@{ @name ANC configuration for hybrid mode */

        #define appConfigAncPathEnable() (hybrid_mode_left_only)

        /*! Disable ANC tuning functionality */

        #define appConfigAncTuningEnabled() (FALSE)

        #define appConfigAncTuningMonitorMic() (microphone_none)

        /* Use microphone 3 (digital mic) for ANC feed-forward */

        #define appConfigAncFeedForwardMic() (microphone_3)

        /* Use microphone 1 (analog mic) for ANC feed-back */

        #define appConfigAncFeedBackMic() (microphone_1)

        /* ANC filter mode selection in default case */

        #define appConfigAncMode() (anc_mode_1) //!@}

        /*! microphone to use for the first SCO mic */

        #define appConfigVaMic1() (microphone_3)

        /*! microphone to use for the second and third SCO mics. These should be defined as microphone_none if using 1-mic CVC */

        #define appConfigMicExternal() (microphone_none)

        #define appConfigMicInternal() (microphone_none)

        5)、 Filesystem 配置

        首選確保靜態ANC定義的參數文件系統配置,ps_cfg>anc_tuning_config.htf是可用的,如圖:

        此外,自適應ANC在ps_cfg>aanc_parameters.htf是可用的:

        6)、ANC打開,關閉與切換

        ANC UI控制部分代碼:可以設置ANC打開和關閉,以及存儲幾組不同ANC參數之間的切換。

        4、運行調試與測試

        4.1  Build /Deploy

        Build 后,然后單擊Deploy All,就可以把程序下載到板子上

        4.2  運行

        程序下載后,啟動,默認MFB按鍵3s 可以 進入 Anc Enable 模式

        或則用Python Debug 輸入,Debug 命令:apps1.fw.call.EarbudTest_SetAncEnable()

        即可進入 ANC Mode

        4.3 測試

        打開 QACT ,如下圖,

        就進入AANC 的調試界面,在 AANC View 選項上,

        可以進行AANC 的調試,

        把調試好的參數保存成htf 文件,復制到ADK 中,就生效了

        具體 EQ 上的效果,可以用anc_filter_designer ,如下圖

        可以進行拖動,來調節一些AANC 的音效

        結語

        以上是方案的介紹與功能演示,基于 Adaptive ANC自適應主動降噪的方案,更全面的舒適體驗。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 廊坊市| 屏东县| 惠安县| 荃湾区| 基隆市| 天台县| 延边| 泗阳县| 盐池县| 平定县| 松溪县| 巩义市| 郴州市| 甘孜县| 大足县| 自治县| 清水县| 贵阳市| 临澧县| 溧阳市| 涞水县| 华池县| 大竹县| 恩平市| 全椒县| 吉林省| 庄浪县| 福鼎市| 武川县| 日土县| 景德镇市| 昌平区| 哈密市| 余江县| 南木林县| 建昌县| 清流县| 达州市| 民乐县| 车险| 若羌县|