隨著我們對(duì)音頻無(wú)反應(yīng)項(xiàng)目的日益復(fù)雜,我們可能決定用提供自動(dòng)增益控制的麥克風(fēng)代替簡(jiǎn)單的MEMS麥克風(fēng)加放大器。
這是我以前與MSGEQ7相關(guān)的文章的后續(xù)文章:“使用MSGEQ7頻譜分析儀的技巧和竅門(mén)”和“使用MSGEQ7音頻頻譜分析儀時(shí)的噪聲處理”。
您可能還記得,MSGEQ7是一款便宜的八針設(shè)備,可以接收音頻信號(hào)并將其分成與以63 Hz,160 Hz,400 Hz,1,000 Hz,2,500 Hz為中心的七個(gè)頻段相關(guān)的振幅,6,250 Hz和16,000 Hz。然后,我們可以使用此頻率信息來(lái)執(zhí)行諸如控制閃光燈的操作。
實(shí)際上,我最近的Awesome Audio-Reactive Artifact項(xiàng)目具有一個(gè)Arduino微控制器,一個(gè)MSGEQ7和一個(gè)MEMs麥克風(fēng)以及放大器分接板(BOB)。
我現(xiàn)在正在努力解決的問(wèn)題是確定最佳的麥克風(fēng)BOB,以用于將來(lái)的任何音頻響應(yīng)項(xiàng)目。
悲傷,就涉及的MSGEQ7數(shù)據(jù)表是不是很有益,因?yàn)槿藗兛赡芟M?,但它意味著該裝置預(yù)計(jì)有0.3-VPP(即300 mV峰峰值)擺動(dòng)的音頻輸入。這意味著您必須相應(yīng)地選擇麥克風(fēng)。
INMP401 MEMS麥克風(fēng)BOB
在我的Awesome Audio-Reactive Artifact案例中,我目前正在使用基于ADMP401的INMP401 MEMS麥克風(fēng)BOB,其價(jià)格為10.95美元,來(lái)自SparkFun的人員。當(dāng)麥克風(fēng)保持手臂伸直并以正常的對(duì)話音量通話時(shí),此BOB被描述為具有約200 mV的峰峰值輸出。在播放響亮的音樂(lè)時(shí),我實(shí)際上并沒(méi)有測(cè)量輸出(我確實(shí)需要在有空余時(shí)間時(shí)執(zhí)行此操作),但是一切似乎都可以很好地播放。
INMP401 MEMS麥克風(fēng)BOB:麥克風(fēng)是右側(cè)圖像中的小黑點(diǎn)。(來(lái)源:SparkFun)
該BOB的主要優(yōu)勢(shì)之一是底部端口輸入。這意味著麥克風(fēng)的微小的1毫米直徑輸入可以與項(xiàng)目外殼齊平安裝。BOB的輸出具有VCC / 2的DC偏置,這意味著當(dāng)沒(méi)有聲音拾取時(shí),信號(hào)將以2.5 V的電壓浮動(dòng)。
MSGEQ7數(shù)據(jù)手冊(cè)建議使用由22kΩ電阻和0.1μF電容器與音頻輸入串聯(lián)形成的濾波器。已選擇這些值以通過(guò)音頻信號(hào),同時(shí)消除直流偏置。
MSGEQ7的標(biāo)準(zhǔn)輸入(來(lái)源:Max Maxfield)
請(qǐng)注意,使用R2和C2注釋(與R1和C1相反)的原因是使此原理圖與我之前的專欄中的電路相匹配。將此麥克風(fēng)BOB與MSGEQ7一起使用非常容易。您要做的就是連接電源(VCC)和接地(GND)線(在我的情況下為5 V和0 V),并將音頻(AUD)輸出連接到22kΩ電阻器(示例Arduino代碼在我的電腦中提供)。上述文章)。
我必須說(shuō),我對(duì)INMP401 MEMS麥克風(fēng)BOB感到非常滿意,我會(huì)推薦給任何人。就我的超凡音頻響應(yīng)作品而言,當(dāng)音樂(lè)以合理的音量播放時(shí),此BOB確實(shí)能很好地工作,但是-理想情況下,如果可以推的話,可以選擇-我希望動(dòng)態(tài)范圍更大一點(diǎn)。
假設(shè)我坐在一個(gè)非常安靜的房間中,離該工件有一段距離。如果我發(fā)出低級(jí)的聲音(例如,單擊手指或說(shuō)“你好”),我會(huì)希望該工件能夠以明亮的顯示效果閃耀到生活中,但是我很幸運(yùn)地看到的不僅僅是閃爍。我想我可以通過(guò)在某種程度上保持安靜的情況下,通過(guò)執(zhí)行某種滾動(dòng)平均值并增強(qiáng)任何低電平信號(hào)的方式來(lái)糾正此問(wèn)題,但是我現(xiàn)在有點(diǎn)懶。
另外,假設(shè)音樂(lè)真的很響。在這種情況下,我當(dāng)前的系統(tǒng)趨于飽和,導(dǎo)致所有LED長(zhǎng)時(shí)間處于完全點(diǎn)亮狀態(tài)。我仍然可以聽(tīng)到音樂(lè)中潛在的節(jié)奏以及頻譜各個(gè)部分的活動(dòng),因此我希望我的音頻反應(yīng)性項(xiàng)目能夠以某種方式調(diào)整其靈敏度以反映當(dāng)前的音頻音量。
駐極體麥克風(fēng)放大器—具有自動(dòng)增益控制功能的MAX9814
因此,我們來(lái)到了基于Maxim基于MAX9814的具有自動(dòng)增益控制BOB的駐極體麥克風(fēng)放大器,Adafruit的價(jià)格僅為7.95美元。
基于MAX9814的帶AGC的駐極體麥克風(fēng)BOB:在右上方的圖像中看到了直徑為1厘米的麥克風(fēng)。(來(lái)源:Adafruit)
根據(jù)其數(shù)據(jù)表,這種小巧的外觀可以在2.7 V至5.5 V的電源電壓下工作。除了電源(VDD)和接地(GND)端子(在我的情況下為5 V和0 V)之外,我們還有一個(gè)音頻輸出(OUT),增益控制輸入(GAIN)和起音/釋放比率控制輸入(AR)。
對(duì)于AR引腳,保持未連接狀態(tài)意味著我們使用默認(rèn)的起音/釋放比率1:4,000。將該引腳拉至VDD或GND可使我們將起跳/釋放比分別更改為1:2,000或1:500。但是,由于我實(shí)際上不知道攻擊/釋放比率是什么或它的作用(我是行業(yè)的數(shù)字硬件設(shè)計(jì)工程師),所以我認(rèn)為我們將其保留為默認(rèn)/未連接設(shè)置。
我們將很快再考慮GAIN輸入,但是首先,我們需要考慮“房間里的大象”,這就是這個(gè)BOB發(fā)出2Vpp(即2,000mVpp)信號(hào)與1.25信號(hào)的事實(shí)。 -VDC偏置。這將完全淹沒(méi)MSGEQ7,因此我們需要以某種方式將此2,000 mVpp信號(hào)轉(zhuǎn)換為MSGEQ7所需的相應(yīng)300 mVpp信號(hào)。
再次,我是一名數(shù)字專家,這意味著模擬領(lǐng)域的動(dòng)搖不定會(huì)使我頭痛,所以我打電話給EEWeb模擬專家Peter“ Traneus Rex” Anderson尋求建議,他為我提供了以下指導(dǎo)。
Peter首先指出,通常有很多模擬方法,但是最簡(jiǎn)單的方法之一就是使用分壓器,如下所示:
修改MSGEQ7的輸入(來(lái)源:Max Maxfield)
在這種情況下,我們僅根據(jù)分壓器使用信號(hào)名稱Vin和Vout。解決這個(gè)問(wèn)題的一種方法是用無(wú)單位的術(shù)語(yǔ)和/或比率來(lái)思考事物。我們知道,如果我們的BOB輸出的最大值Vin = 2,000 mVpp,那么我們希望電容器(并通過(guò)電容器到達(dá)MSGEQ7)看到的Vout信號(hào)為300 mVpp。甚至我的數(shù)學(xué)差也告訴我2,000 / 300 = 6.66。這意味著如果我們說(shuō)R2b = 1R(無(wú)論“ R”是什么),那么我們知道R2a必須等于6.66R ? 1R = 5.66R。
得出此結(jié)果的另一種方法是,注意我們分壓器的公式為Vout = Vin *(R2b /(R2a + R2b))。如果我們用R2b = 1R和R2a = 5.66R的值代替,則Vout = Vin *(1R /(5.66R + 1R))= Vin *(1R / 6.66R)= Vin / 6.66。而且,當(dāng)然,如果Vout = Vin / 6.66,則Vin / Vout = 6.66,這使我們回到了起點(diǎn)。
請(qǐng)注意,我們只是考慮以不同的方式看待同一件事,因?yàn)橛行┤税l(fā)現(xiàn)一種方式比另一種方式更有意義。
下一部分是使事情變得有趣的地方,因?yàn)槲覀兿M娙萜鳌翱吹健?22kΩ的值。問(wèn)題是,由于彼得在討論它們時(shí)似乎很合理,但我在這里很難說(shuō)清楚這一原因,電容器實(shí)際上“認(rèn)為” R2a和R2b是并聯(lián)的。反過(guò)來(lái),這意味著電容器所見(jiàn)的電阻將為(R2a * R2b)/(R2a + R2b)。
彼得還指出,(a)并聯(lián)的兩個(gè)電阻的總值低于每個(gè)單獨(dú)的電阻,并且(b)R2a的值明顯大于R2b的值。基于此,他建議我們首先考慮如果將R2b的值設(shè)置為比我們要尋找的22kΩ的值(例如25kΩ)大一點(diǎn),然后從那里開(kāi)始,會(huì)發(fā)生什么情況。
我使用標(biāo)準(zhǔn)的1%(E96)電阻作為基礎(chǔ),最后使用各種電阻值運(yùn)行了計(jì)算。最終,我最終將R2b設(shè)置為26.1kΩ。反過(guò)來(lái),這意味著我們理想情況下希望R2a為5.66 * 26.1kΩ= 147.72kΩ,但是最接近該值的實(shí)際值是147kΩ。如果將這些值插入“兩個(gè)并聯(lián)電阻”方程式,則電容器的電阻將為(26.1 * 147)/(26.1 + 147)= 22.16kΩ,這“足夠接近政府工作”,因?yàn)樗鼈冋f(shuō)。
因此,假設(shè)我們使用Arduino Uno微控制器開(kāi)發(fā)板作為主要處理器,那么我們的首過(guò)實(shí)施可能類(lèi)似于以下內(nèi)容:
MAX9814 BOB和MSGEQ7的首過(guò)實(shí)施(資料來(lái)源:Max Maxfield)
現(xiàn)在,請(qǐng)記住MAX9814具有自動(dòng)增益控制(AGC)。這是指一種閉環(huán)反饋系統(tǒng),其目的是盡管輸入端信號(hào)幅度發(fā)生變化,但仍要在其輸出端保持合適的信號(hào)幅度。平均或峰值輸出信號(hào)電平用于動(dòng)態(tài)調(diào)節(jié)放大器的增益,從而使電路能夠在更大范圍的輸入信號(hào)電平下令人滿意地工作。
這意味著上面的電路可以很好地完成我們的音頻響應(yīng)項(xiàng)目所需的一切(一旦我嘗試了一下,我將在以后的專欄中進(jìn)行報(bào)告)。但是,除了具有內(nèi)部AGC功能外,BOB還具有GAIN輸入。如果我們不連接此引腳,則默認(rèn)增益為60 dB(1,000);否則,默認(rèn)增益為60 dB(1,000)。如果我們將此引腳連接到GND(0 V),則增益將為50 dB(?316);如果我們使用Arduino將此引腳拉至VDD(5 V),則增益將為40 dB(100)。
如果我們希望永久使用50 dB或40 dB設(shè)置,則可以將GAIN輸入分別硬接線至0 V或5V。或者,我們可以將GAIN輸入連接到Arduino的數(shù)字輸入/輸出(I / O)引腳之一。在這種情況下,如果我們告訴Arduino使該引腳像輸入一樣工作,則BOB上的GAIN輸入將看到高阻抗Z狀態(tài),因此將默認(rèn)為其60 dB增益值。另外,如果我們告訴Arduino使該引腳充當(dāng)輸出,則可以將其驅(qū)動(dòng)為L(zhǎng)OW或HIGH,以使BOB分別使用其50 dB或40 dB增益設(shè)置。
因此,除了BOB的內(nèi)部AGC外,我們現(xiàn)在還可以應(yīng)用更高級(jí)別的增益控制。我們可以從50 dB的增益設(shè)置開(kāi)始,然后可以使用Arduino監(jiān)視從BOB發(fā)出的音頻信號(hào)。如果我們意識(shí)到該信號(hào)在一段較長(zhǎng)的時(shí)間里一直處于全強(qiáng)度狀態(tài)(尚未定義“持續(xù)”的含義),那么我們可以將增益降低到40 dB?;蛘撸绻覀円庾R(shí)到信號(hào)在一定時(shí)間內(nèi)確實(shí)很低(尚未定義“真正”和“某些”的含義),則可以將增益提高到60 dB。此外,我們可以根據(jù)需要繼續(xù)在40 dB,50 dB和60 dB之間切換主增益。這意味著我們的第二遍實(shí)現(xiàn)可能類(lèi)似于以下內(nèi)容:
MAX9814 BOB和MSGEQ7的第二遍實(shí)現(xiàn)(資料來(lái)源:Max Maxfield)
唯一棘手的是標(biāo)記為“?Circuit?”的塊。請(qǐng)記住,BOB的輸出范圍可以是0 mVpp至2,000 mVpp,都以1.25-VDC偏置為中心。我想我們可以將該信號(hào)直接輸入到Arduino的一個(gè)模擬輸入中,并在Arduino內(nèi)部進(jìn)行所有處理,但是我希望保持生活簡(jiǎn)單。
什么是“電路”的理想選擇?從BOB取0-mVpp至2,000-mVpp信號(hào),執(zhí)行滾動(dòng)平均值,并輸出0 V至2 V(或0 V至5 V)之間的DC電壓以反映滾動(dòng)值。也許這很簡(jiǎn)單,例如緩沖音頻信號(hào)(以免影響電路的其余部分),對(duì)其進(jìn)行整流并將其饋入電阻電容電路以平滑所有信號(hào)并產(chǎn)生平均值。
最后一個(gè)想法是,我想到了用數(shù)字控制等效物替換電阻器R2a和R2b的想法,這些等效值可以由Arduino通過(guò)其I2C總線設(shè)置,但是也許我們應(yīng)該再討論一天。
編輯:hfy
-
微控制器
+關(guān)注
關(guān)注
48文章
7644瀏覽量
151844 -
放大器
+關(guān)注
關(guān)注
143文章
13623瀏覽量
213963 -
mems
+關(guān)注
關(guān)注
129文章
3957瀏覽量
190936 -
麥克風(fēng)
+關(guān)注
關(guān)注
15文章
645瀏覽量
54890 -
音頻信號(hào)
+關(guān)注
關(guān)注
9文章
263瀏覽量
33560
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論