99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用MSGEQ7音頻頻譜分析儀芯片

電子設(shè)計(jì) ? 來源:eeweb ? 作者:Max Maxfield ? 2021-05-20 15:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

關(guān)于使用MSGEQ7音頻頻譜分析儀芯片的所有您想知道(但又害怕問到)的信息。

多年來,我已經(jīng)在幾欄中討論過使用MSGEQ7頻譜分析儀芯片的問題,但是我仍然收到問題,因此我認(rèn)為將所有相關(guān)信息集中到一個(gè)位置可能是個(gè)好主意。

音頻響應(yīng)項(xiàng)目

首先,讓我們進(jìn)行場景設(shè)置。假設(shè)我們想創(chuàng)建一些對聲音有反應(yīng)的東西,例如我當(dāng)前的Audio-Reactive Box項(xiàng)目。您可能還記得,這涉及到一個(gè)裝有假真空管的小假古董手提箱。這些燈管將使用三色LED聚寶盆從下面照亮。下圖反映了剛安裝完電子管后盒子的狀態(tài)-下一步是在電子設(shè)備上工作(我將在以后的專欄中進(jìn)行討論)。

如果我們希望我們的項(xiàng)目(在這種情況下為盒子)對外部聲音做出反應(yīng),那么我們將需要一個(gè)麥克風(fēng)。此類項(xiàng)目的一個(gè)很好的解決方案是MEMS駐極體麥克風(fēng)(一種基于靜電電容的麥克風(fēng)),并在分線板(BOB)上配有一個(gè)小型放大器

選項(xiàng)1:將音頻輸入到MCU中(不進(jìn)行FFT)

一種選擇是將麥克風(fēng)BOB的輸出直接輸入到微控制器(MCU)上的模擬輸入。對于我的大多數(shù)項(xiàng)目,我喜歡使用廉價(jià)而快樂的Arduino Nano,Uno或Mega MCU開發(fā)板。盡管這些在性能上都受到一些限制(8位數(shù)據(jù)總線,16MHz時(shí)鐘,各種內(nèi)存以及不同數(shù)量的輸入/輸出引腳),但我真的很喜歡這些小技巧。

pIYBAGCmB7WADqRtAAAiedz6rWA122.png

將音頻信號直接饋送到MCU(來源:Max Maxfield)

觀察到我已經(jīng)顯示了七個(gè)從MCU發(fā)出的LED(或LED串)。實(shí)際上,由于我們將要使用基于WS2812的NeoPixels,它們可以菊花鏈連接在一起并且可以單獨(dú)控制,因此我們可以用單個(gè)引腳驅(qū)動(dòng)所有LED,但是顯示7串字符串將使事情變得更加清晰。

理想情況下,對于此設(shè)置,麥克風(fēng)BOB的輸出應(yīng)具有2.5V的DC偏置和5V的pp(峰峰值)擺幅,這與Arduino Nano / Uno / Mega的電源匹配(一個(gè)選項(xiàng)這是來自Adafruit的具有可調(diào)增益的MAX4466)。Arduino使用10位模數(shù)轉(zhuǎn)換器ADC)。這意味著當(dāng)我們對音頻信號執(zhí)行AnalogRead()函數(shù)時(shí),Arduino會將0至5V之間的輸入電壓映射為0至1023之間的整數(shù)值。

現(xiàn)在,您可能在想,由于我們的LED要求控制值的范圍是0到255,所以這意味著我們需要將ADC的0到1023的值映射到LED的0到255的等效值,但是還不止這些這很復(fù)雜。假設(shè)我們從5Vpp正弦波開始,如下圖(a)所示:

o4YBAGCmB8GAUZCyAAHJrsoEd3c274.png

處理正弦波(來源:Max Maxfield)

在這種情況下,如果我們在一定數(shù)量的讀數(shù)上對樣本取平均值,則最終的平均值為511。問題是,如果我們要對4Vpp信號中的多個(gè)樣本取平均值,我們將獲得相同的511值。一個(gè)3Vpp信號,或者…您明白了。

因此,我們需要做的第一件事就是校正信號,如上面的(b)所示。我們可以使用一個(gè)簡單的公式來做到這一點(diǎn),如下所示:如果數(shù)字樣本的值等于或大于512,我們將其保持原樣。如果它的值為511或更低,則將其從1,023中減去。接下來,我們需要消除直流偏置,這是通過從每個(gè)值中減去511來實(shí)現(xiàn)的,如上面的(c)所示。

最后,我們需要將0到511的值映射到LED所需的0到255的值,如上面的(d)所示。我們可以使用Arduino的map()函數(shù)來實(shí)現(xiàn)這一點(diǎn)。另外,我們可以簡單地將0到511的值除以2,或者將它們向右移一位,這兩者將具有相同的效果。(如果BOB的輸出具有不同的DC偏置和/或較小的pp擺幅-例如1.25V的DC偏置和2Vpp擺幅,則可以在軟件中適當(dāng)?shù)刂匦驴s放/預(yù)處理信號。)

使用上述基本設(shè)置,每次采樣時(shí),我們可以從音頻信號中收集到的唯一信息就是其當(dāng)前幅度。關(guān)于驅(qū)動(dòng)我們的LED,我們可以利用這些信息做幾件事。例如,我們可以用相同的顏色驅(qū)動(dòng)所有LED,同時(shí)根據(jù)音頻信號的幅度改變它們的強(qiáng)度?;蛘撸覀兛梢詫⑺蠰ED完全驅(qū)動(dòng),同時(shí)根據(jù)音頻信號的幅度改變它們的顏色。而且,當(dāng)然,我們可以結(jié)合使用這些技術(shù)。

記住我們正在設(shè)想七串(組)LED,另一種可能性是將音頻信號分成七個(gè)“振幅帶”。每次采樣信號時(shí),我們都會決定要點(diǎn)亮哪些LED。如果信號落入最低振幅帶,我們可以簡單地點(diǎn)亮第一串LED。如果信號落入下一個(gè)振幅帶,我們可以僅驅(qū)動(dòng)第二串LED,或者我們可以決定同時(shí)驅(qū)動(dòng)第一串和第二串LED。依此類推,直到信號落入最高振幅帶,此時(shí)我們只能驅(qū)動(dòng)第七串LED,或者我們可以決定驅(qū)動(dòng)所有的LED。而且,當(dāng)然,我們還可以嘗試各種琴弦的振幅和顏色。

選項(xiàng)2:使用FFT軟件將音頻輸入到MCU中

如果我們決定將音頻信號分成單獨(dú)的頻段,事情將變得越來越有趣。例如,在這種情況下,我們可以使用底鼓的節(jié)拍來控制一組LED,而另一組可以響應(yīng)較高的頻率,例如一分錢的汽笛聲。

盡管隨著年齡的增長,我們聽到較高頻率的能力會下降,但是人類的正常聽力范圍會覆蓋20到20,000Hz之間的頻率。假設(shè)我們將0到20,000Hz的范圍分成以63Hz,160Hz,400Hz,1,000Hz,2,500Hz,6,250Hz和16,000Hz為中心的七個(gè)重疊頻段,如下所示:

pIYBAGCmB-iARavrAADN7-VHQqQ663.png

將音頻信號劃分為七個(gè)頻段(來源:Max Maxfield)

在這種情況下,我們可以使用七個(gè)頻帶的幅度來控制七組LED的強(qiáng)度和/或顏色,但是如何從麥克風(fēng)BOB的音頻信號中提取該頻帶信息呢?

不錯(cuò),一種選擇是使用在MCU上運(yùn)行的軟件算法來實(shí)現(xiàn)FFT(快速傅立葉變換)功能。此功能可用于將我們的信號從其原始時(shí)域形式轉(zhuǎn)換為頻域中的相應(yīng)表示形式。

o4YBAGCmB_OAQIZFAAAovgyaHBc873.png

將音頻信號直接饋送到運(yùn)行SW FFT的MCU(來源:Max Maxfield)

軟件(SW)FFT可能需要計(jì)算,但是如果您真的想走這條路,可以使用許多Arduino FFT庫(有關(guān)更多信息,請參見Adafruit的Piccolo Music Visualizer項(xiàng)目)。

說實(shí)話,如果我想使用軟件FFT的,我可能會使用一個(gè)32位Teensy 3.2(72MHz的的Cortex-M4型)或Teensy 3.6(基于的Cortex-M4F-180MHz的)單片機(jī)開發(fā)板從PJRC,以及出色的音頻FFT庫。但是,我個(gè)人更喜歡使用硬件(HW)FFT替代方案,如下所述。

選項(xiàng)#3:通過MSGEQ7音頻頻譜分析儀提供音頻
讓我們從建議的系統(tǒng)的高級視圖開始。在這種情況下,來自麥克風(fēng)BOB的輸出被饋入一個(gè)名為MSGEQ7的漂亮的8針小芯片,該芯片由一家名為Mixed Signal Integration的公司創(chuàng)建。該音頻頻譜分析儀芯片可與3.3V和5V MCU配合使用,將音頻信號劃分為前面討論的七個(gè)頻段,并以一種易于我們的MCU輕松訪問的形式顯示與這些頻段相關(guān)的幅度數(shù)據(jù)。稍后)。

pIYBAGCmB_-APyyYAAAutchUEZ0926.png

通過MSGEQ7硬件FFT饋送音頻信號(來源:Max Maxfield)

這種方法的最好之處在于,它可以消除您(和您的MCU)的所有辛苦工作。您要做的就是從MSGEQ7訪問頻帶幅度數(shù)據(jù),然后決定如何使用它來驅(qū)動(dòng)LED。

非常重要:該MSGEQ7數(shù)據(jù)表是不是很有益,因?yàn)槿藗兛赡芟M?,但它意味著該裝置預(yù)計(jì)有0.3Vpp(即300mVpp)擺動(dòng)的音頻輸入。這意味著您必須相應(yīng)地選擇麥克風(fēng)。我將在以后的專欄中討論不同的麥克風(fēng)替代品。就目前而言,我只是注意到我的好友史蒂夫·曼利(Steve Manley)已成功將MSGEQ7與來自SparkFun的男生和女歌手的INMP401 MEMS麥克風(fēng)BOB配合使用(該視頻的鏈接在本專欄的稍后部分將展示史蒂夫的解決方案)。據(jù)說該BOB“在話筒保持臂長并以正常的對話音量進(jìn)行通話時(shí),具有約200mV的峰峰值輸出?!?/p>

介紹MSGEQ7
因此,我們來介紹一下MSGEQ7本身。通孔(LTH)和表面貼裝技術(shù)(SMT)封裝都提供這種小流氓。LTH版本可從SparkFun獲得,價(jià)格僅為4.95美元(也提供MSGEQ7 BOB;我們將在短期內(nèi)返回這些內(nèi)容)

pIYBAGCmCAqAPTPnAAC2Kl_84JY148.png

8針MSGEQ7頻譜分析儀芯片和引腳排列(來源:Max Maxfield)

觀察到只有一個(gè)DATA_OUT信號,那么我們?nèi)绾问褂盟鼇碓L問與七個(gè)頻段關(guān)聯(lián)的數(shù)據(jù)?為了回答這個(gè)問題,我們需要考慮一下MSGEQ7內(nèi)部的框圖,如下所示:

pIYBAGCmCBaAeS5BAAFON8AD-9Q562.png

MSGEQ7框圖(來源:Max Maxfield)

這種工作方式是,我們使用來自MCU的兩個(gè)數(shù)字輸出來驅(qū)動(dòng)RESET和STROBE信號,并且使用MCU上的模擬輸入來從DATA_OUT信號中讀取值。首先,我們在RESET信號上使用一個(gè)正向脈沖來告知MSGEQ7,我們正在準(zhǔn)備訪問其數(shù)據(jù),然后在STROBE信號上使用一系列的七個(gè)負(fù)向脈沖來讀取與這七個(gè)頻率相關(guān)的數(shù)據(jù)樂隊(duì)。此數(shù)據(jù)表示為0V至5V之間的模擬電壓(對于3.3V供電的MCU /系統(tǒng),則為0V至3.3V),如果是Arduino及其10位ADC,則將轉(zhuǎn)換為0到1023之間的整數(shù)值。

pIYBAGCmCCeAa07oAAIU2QrPyMA248.png

MSGEQ7時(shí)序圖(來源:Max Maxfield)

當(dāng)然,我們會反復(fù)進(jìn)行此操作,從MSGEQ7讀取數(shù)據(jù),然后使用此數(shù)據(jù)來決定我們希望如何驅(qū)動(dòng)LED。下面是一個(gè)示例Arduino函數(shù),用于訪問此數(shù)據(jù)并將其存儲在7個(gè)元素的整數(shù)數(shù)組中,這些整數(shù)稱為bands []:

o4YBAGCmCDSABseDAAG-JSd6h6U417.png

觀察到我并沒有費(fèi)心在兩個(gè)對RESET信號進(jìn)行脈沖的digitalWrite()語句之間添加延遲,因?yàn)樗恢付樽钚≈禐?00ns(0.1us),該最小值很小,以至于它被固有的延遲所淹沒。函數(shù)調(diào)用自己。

MSGEQ7電路圖和分支電路板

如果計(jì)劃使用單個(gè)MSGEQ7處理單個(gè)(單聲道)音頻流,則要使用的電路圖如下所示:

pIYBAGCmCEKAXb4IAAE9wmDlMmQ890.png

具有單聲道輸入的單個(gè)MSGEQ7(來源:Max Maxfield)

觀察到C2顯示為0.1uF(該電容器可消除輸入音頻信號中的任何DC偏置)。官方MSGEQ7數(shù)據(jù)手冊中的等效電容器顯示為0.01uF,但這是不正確的。

如果您希望使用單個(gè)MSGEQ7來處理雙(立體聲)音頻流,則可以通過添加一個(gè)額外的22KΩ電阻來修改上圖的輸入,如下所示:

o4YBAGCmCE6AP-myAACU_VkMnNE230.png

支持立體聲輸入的單個(gè)MSGEQ7(來源:Max Maxfield)

與自己進(jìn)行接線相反,您可以從eBay購買MSGEQ7 BOB。售價(jià)$ 15.95加上運(yùn)費(fèi),這雖然有點(diǎn)貴,但這確實(shí)意味著您可以實(shí)地工作。需要注意的一點(diǎn)是,默認(rèn)情況下,它將附帶5針接頭連接器和立體聲插孔。如果您愿意,賣方將保留這些附件,但您下訂單時(shí)必須要求。

正如您在本視頻中看到的那樣,在Cunning Chronograph中實(shí)現(xiàn)音樂模式時(shí),我使用了一個(gè)帶有雙輸入的MSGEQ7。

在這種情況下,與使用麥克風(fēng)不同,我直接從iPod的耳塞/耳機(jī)插孔中喂入了MSGEQ7。相比之下,正如您在本視頻中看到的那樣,我的好友史蒂夫·曼利(Steve Manley)使用我們之前簡要提到的SparkFun的INMP401 MEMS麥克風(fēng)BOB在他的狡猾計(jì)時(shí)碼表中駕駛了MSGEQ7。

當(dāng)然,對于某些事情(例如我的BADASS顯示器),您想要實(shí)現(xiàn)真正的立體聲功能。在這種情況下,您可以使用兩個(gè)MSGEQ7芯片來處理左右聲道的音頻流(您可以使用MCU的單個(gè)輸出來驅(qū)動(dòng)兩個(gè)MSGEQ7上的RESET引腳;類似地,您可以使用單個(gè)輸出來驅(qū)動(dòng)STROBE引腳)。

通過觀看BADASS顯示器早期原型的視頻,您可以更好地了解所有這些工作原理

編輯:hfy

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • led
    led
    +關(guān)注

    關(guān)注

    242

    文章

    23847

    瀏覽量

    674215
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17984

    瀏覽量

    367096
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    使用MSGEQ7頻譜分析儀的技巧和竅門

    ”和“使用MSGEQ7音頻頻譜分析儀時(shí)的噪聲處理”。 您可能還記得,MSGEQ7是一款便宜的八針設(shè)備,可以接收音頻信號并將其分成與以63 Hz,160 Hz,400 Hz,1,000
    的頭像 發(fā)表于 05-20 14:50 ?8208次閱讀

    頻頻譜分析儀、矢量信號分析儀及實(shí)時(shí)頻譜分析儀的工作原理及差異

    掃頻式頻譜分析儀是傳統(tǒng)頻域測量儀器,是傳統(tǒng)結(jié)構(gòu)的掃描調(diào)諧超外差頻譜分析儀,掃頻頻譜分析儀的出現(xiàn)使得工程師在幾十年前就能夠進(jìn)行頻域測量。
    的頭像 發(fā)表于 02-22 14:53 ?4028次閱讀
    掃<b class='flag-5'>頻頻譜分析儀</b>、矢量信號<b class='flag-5'>分析儀</b>及實(shí)時(shí)<b class='flag-5'>頻譜分析儀</b>的工作原理及差異

    如何用Pico示波器做音頻頻譜分析?

    頻譜分析儀的分類有哪些?如何用Pico示波器做音頻頻譜分析?
    發(fā)表于 05-08 09:00

    什么是頻譜分析儀

    什么是頻譜分析儀 頻譜分析儀的英文全稱:Spectrum Analyzer 頻譜分析儀系統(tǒng)主要的功能是在頻域里顯示輸入信號的頻譜特性.
    發(fā)表于 11-26 11:20 ?4984次閱讀

    頻譜分析儀原理

    頻譜分析儀原理 頻譜分析儀基本原理實(shí)現(xiàn)框圖
    發(fā)表于 11-26 11:26 ?4879次閱讀

    Bird微波射頻頻譜分析儀分析

    手持式射頻頻譜分析儀 Bird微波SignalHawk?系列手持式頻譜分析儀搭配了一個(gè)緊湊型和經(jīng)濟(jì)實(shí)惠的封裝形式一流的功能模塊。Bird微波SignalHawk?系列分析儀具備相對高度便攜式
    發(fā)表于 11-10 15:28 ?1092次閱讀

    MSGEQ7 一起使用的最佳 MEMS 麥克風(fēng)

    的提示和技巧”和“使用 MSGEQ7 音頻頻譜分析儀時(shí)處理噪音”。 您可能還記得,MSGEQ7 是一款便宜且令人愉悅的八針設(shè)備,它接受音頻信號并將其分成與以 63 Hz、160 Hz、
    發(fā)表于 07-30 16:29 ?1735次閱讀
    與 <b class='flag-5'>MSGEQ7</b> 一起使用的最佳 MEMS 麥克風(fēng)

    使用MSGEQ7和32x8 NeoPixel的頻譜分析儀

    電子發(fā)燒友網(wǎng)站提供《使用MSGEQ7和32x8 NeoPixel的頻譜分析儀.zip》資料免費(fèi)下載
    發(fā)表于 11-02 14:58 ?4次下載
    使用<b class='flag-5'>MSGEQ7</b>和32x8 NeoPixel的<b class='flag-5'>頻譜分析儀</b>

    實(shí)時(shí)音頻頻譜分析儀開源分享

    電子發(fā)燒友網(wǎng)站提供《實(shí)時(shí)音頻頻譜分析儀開源分享.zip》資料免費(fèi)下載
    發(fā)表于 12-29 11:54 ?9次下載
    實(shí)時(shí)<b class='flag-5'>音頻頻譜分析儀</b>開源分享

    頻頻譜分析儀的結(jié)構(gòu)框圖

      頻譜分析儀的功能是要分辨輸入信號中各個(gè)頻率成份并測量各頻率成份的頻率和功率。為完成以上功能,在掃描-調(diào)諧頻譜分析中采用超外差方式,它能提供寬的頻率覆蓋范圍,同時(shí)允許在中頻(IF)進(jìn)行信號處理。圖1是超外差式掃頻頻譜分析儀的結(jié)
    的頭像 發(fā)表于 12-30 11:24 ?2921次閱讀
    掃<b class='flag-5'>頻頻譜分析儀</b>的結(jié)構(gòu)框圖

    2x16頻段音頻頻譜分析儀

    電子發(fā)燒友網(wǎng)站提供《2x16頻段音頻頻譜分析儀.zip》資料免費(fèi)下載
    發(fā)表于 02-13 16:36 ?1次下載
    2x16頻段<b class='flag-5'>音頻頻譜分析儀</b>

    使用Arduino制作32波段音頻頻譜分析儀/可視化

    電子發(fā)燒友網(wǎng)站提供《使用Arduino制作32波段音頻頻譜分析儀/可視化.zip》資料免費(fèi)下載
    發(fā)表于 06-25 15:49 ?8次下載
    使用Arduino制作32波段<b class='flag-5'>音頻頻譜分析儀</b>/可視化<b class='flag-5'>儀</b>

    頻頻譜分析儀與實(shí)時(shí)頻譜分析儀的區(qū)別

    在電子測量領(lǐng)域中,頻譜分析儀是一種至關(guān)重要的工具,它能夠幫助工程師和技術(shù)人員精確地測量和分析信號的頻譜特性。傳統(tǒng)的頻譜分析儀,如掃頻頻譜分析儀
    的頭像 發(fā)表于 05-13 18:04 ?3207次閱讀

    頻頻譜分析儀的工作原理和基本結(jié)構(gòu)

    頻頻譜分析儀,作為電子測量領(lǐng)域的重要工具,其重要性不言而喻。本文將對掃頻頻譜分析儀進(jìn)行全面深入的解析,包括其定義、工作原理、基本結(jié)構(gòu)以及在實(shí)際應(yīng)用中的優(yōu)勢和局限性。通過本文的介紹,讀者將能夠全面了解掃頻頻譜分析儀的相關(guān)知識,為
    的頭像 發(fā)表于 05-13 18:07 ?2412次閱讀

    頻譜分析儀音頻工程中的應(yīng)用

    頻譜分析儀音頻工程中具有廣泛的應(yīng)用,它是研究電信號頻譜結(jié)構(gòu)的儀器,能夠顯示信號的頻率分布,并測量信號失真度、調(diào)制度、譜純度等參數(shù)。以下是頻譜分析儀
    的頭像 發(fā)表于 11-27 15:36 ?1044次閱讀