新聞中心

EEPW首頁(yè) > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 基于Qualcomm QCC5141 Adaptive ANC自適應(yīng)主動(dòng)降噪的藍(lán)牙耳機(jī)方案

基于Qualcomm QCC5141 Adaptive ANC自適應(yīng)主動(dòng)降噪的藍(lán)牙耳機(jī)方案

作者:Self 時(shí)間:2022-05-25 來(lái)源:大大通 收藏

1、方案關(guān)鍵技術(shù)簡(jiǎn)介

本文引用地址:http://butianyuan.cn/article/202205/434473.htm

1.1 ANC 與AANC 的區(qū)別

在傳統(tǒng)的(FF)模式下(靜態(tài)ANC),ANC根據(jù)輸入信號(hào)進(jìn)行濾波以產(chǎn)生抗噪聲。假設(shè)一次和二次聲路是靜態(tài)的并且事先知道,在耳機(jī)ANC場(chǎng)景中是固定的,靜態(tài)ANC可以獲得最佳性能。這就要求,耳機(jī)密閉性強(qiáng),對(duì)耳朵產(chǎn)生很大的壓迫感!

一般耳機(jī)設(shè)備ANC場(chǎng)景是不固定的。聽(tīng)筒聲學(xué)主要和次要路徑的顯著變化取決于耳機(jī)設(shè)備的位置以及設(shè)備和耳朵之間的壓力。

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

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

如下圖:

Static ANC 與 的區(qū)別

2、硬件原理圖圖

3、軟件開(kāi)發(fā)過(guò)程

3.1. 環(huán)境配置

在使用 開(kāi)發(fā)板前,請(qǐng)確保下載并安裝好以下軟件 “

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. 開(kāi)發(fā)流程

1)、打開(kāi)MDE工具,MDE版本:2.5.1.47,點(diǎn)擊Open Project

打開(kāi)ADK 20.3 (r00201.1)

2)、設(shè)置宏定義

首先設(shè)置有關(guān)的宏,

打開(kāi)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個(gè)麥克風(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)

//!@}

接下來(lái),配置 麥克風(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)、 Filesystem 配置

首選確保靜態(tài)ANC定義的參數(shù)文件系統(tǒng)配置,ps_cfg>anc_tuning_config.htf是可用的,如圖:

此外,自適應(yīng)ANC在ps_cfg>aanc_parameters.htf是可用的:

6)、ANC打開(kāi),關(guān)閉與切換

ANC UI控制部分代碼:可以設(shè)置ANC打開(kāi)和關(guān)閉,以及存儲(chǔ)幾組不同ANC參數(shù)之間的切換。

4、運(yùn)行調(diào)試與測(cè)試

4.1  Build /Deploy

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

4.2  運(yùn)行

程序下載后,啟動(dòng),默認(rèn)MFB按鍵3s 可以 進(jìn)入 Anc Enable 模式

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

即可進(jìn)入 ANC Mode

4.3 測(cè)試

打開(kāi) QACT ,如下圖,

就進(jìn)入AANC 的調(diào)試界面,在 AANC View 選項(xiàng)上,

可以進(jìn)行AANC 的調(diào)試,

把調(diào)試好的參數(shù)保存成htf 文件,復(fù)制到ADK 中,就生效了

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

可以進(jìn)行拖動(dòng),來(lái)調(diào)節(jié)一些AANC 的音效

結(jié)語(yǔ)

以上是方案的介紹與功能演示,基于 Adaptive ANC自適應(yīng)主動(dòng)降噪的方案,更全面的舒適體驗(yàn)。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉