基于Qualcomm QCC5141 Adaptive ANC自適應(yīng)主動降噪的藍(lán)牙耳機(jī)方案
1、方案關(guān)鍵技術(shù)簡介
本文引用地址:http://cafeforensic.com/article/202205/434473.htm1.1 ANC 與AANC 的區(qū)別
在傳統(tǒng)的(FF)模式下(靜態(tài)ANC),ANC根據(jù)輸入信號進(jìn)行濾波以產(chǎn)生抗噪聲。假設(shè)一次和二次聲路是靜態(tài)的并且事先知道,在耳機(jī)ANC場景中是固定的,靜態(tài)ANC可以獲得最佳性能。這就要求,耳機(jī)密閉性強(qiáng),對耳朵產(chǎn)生很大的壓迫感!
一般耳機(jī)設(shè)備ANC場景是不固定的。聽筒聲學(xué)主要和次要路徑的顯著變化取決于耳機(jī)設(shè)備的位置以及設(shè)備和耳朵之間的壓力。
在AANC中有一個額外的自適應(yīng)算法。該自適應(yīng)算法接收噪聲輸入信號和誤差信號,并根據(jù)主、次路徑的變化計算出最優(yōu)濾波器值。傳統(tǒng)的FF-ANC只需要輸入信號,而自適應(yīng)算法也需要誤差信號。這種自適應(yīng)抗噪聲信號為噪聲消除提供了更好的用戶體驗(yàn),尤其是對于耳機(jī)設(shè)備。
總之AANC 耳機(jī),消噪效果好,佩戴更舒適。
如下圖:
Static ANC 與Adaptive ANC 的區(qū)別
2、硬件原理圖圖
3、軟件開發(fā)過程
3.1. 環(huán)境配置
在使用 QCC5141 開發(fā)板前,請確保下載并安裝好以下軟件 “
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. 開發(fā)流程
1)、打開MDE工具,MDE版本:2.5.1.47,點(diǎn)擊Open Project
打開ADK 20.3 (r00201.1)
2)、設(shè)置宏定義
首先設(shè)置有關(guān)的宏,
打開ANC與 Adaptive 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個麥克風(fēng),其中 有定義 MAX_SUPPORTED_MICROPHONES
#define MAX_SUPPORTED_MICROPHONES 6
在 srcdomainsaudiomicrophonesmicrohones_config.h 有MIC 的相關(guān)設(shè)置
//!@{ @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)
//!@}
接下來,配置 麥克風(fēng)的 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)、Adaptive ANC Filesystem 配置
首選確保靜態(tài)ANC定義的參數(shù)文件系統(tǒng)配置,ps_cfg>anc_tuning_config.htf是可用的,如圖:
此外,自適應(yīng)ANC在ps_cfg>aanc_parameters.htf是可用的:
6)、ANC打開,關(guān)閉與切換
ANC UI控制部分代碼:可以設(shè)置ANC打開和關(guān)閉,以及存儲幾組不同ANC參數(shù)之間的切換。
4、運(yùn)行調(diào)試與測試
4.1 Build /Deploy
Build 后,然后單擊Deploy All,就可以把程序下載到板子上
4.2 運(yùn)行
程序下載后,啟動,默認(rèn)MFB按鍵3s 可以 進(jìn)入 Anc Enable 模式
或則用Python Debug 輸入,Debug 命令:apps1.fw.call.EarbudTest_SetAncEnable()
即可進(jìn)入 ANC Mode
4.3 測試
打開 QACT ,如下圖,
就進(jìn)入AANC 的調(diào)試界面,在 AANC View 選項上,
可以進(jìn)行AANC 的調(diào)試,
把調(diào)試好的參數(shù)保存成htf 文件,復(fù)制到ADK 中,就生效了
具體 EQ 上的效果,可以用anc_filter_designer ,如下圖
可以進(jìn)行拖動,來調(diào)節(jié)一些AANC 的音效
結(jié)語
以上是方案的介紹與功能演示,基于Qualcomm QCC5141 Adaptive ANC自適應(yīng)主動降噪的藍(lán)牙耳機(jī)方案,更全面的舒適體驗(yàn)。
評論