首頁 > 評測 > PSoC 6評測第四篇-錄音與放音

PSoC 6評測第四篇-錄音與放音

PSoC 6   耳機   PDM   PCM   ADC采樣   
  • 作者:zhanzr
  • 來源:21ic
  • [導(dǎo)讀]
  • 寫上一篇關(guān)于EInk的文章的時候,就想著要寫這一篇了.因為作者本人除了喜歡閱讀之外,還比較喜歡音樂.也喜歡聽也喜歡唱K,故此對音頻相關(guān)的技術(shù)也較為感興趣,至于水平只能說稍知一二.看到這個CY8CKIT開發(fā)套件上帶有數(shù)字麥克風,就動了心思.本文使用開發(fā)板子上的資源做一個簡單的錄音與放音實驗,研究一下相關(guān)知識.

概述

image1_copy.jpg

圖 PSoC 6與耳機

寫上一篇關(guān)于EInk的文章的時候,就想著要寫這一篇了.因為作者本人除了喜歡閱讀之外,還比較喜歡音樂.也喜歡聽也喜歡唱K,故此對音頻相關(guān)的技術(shù)也較為感興趣,至于水平只能說稍知一二.看到這個CY8CKIT開發(fā)套件上帶有數(shù)字麥克風,就動了心思.本文使用開發(fā)板子上的資源做一個簡單的錄音與放音實驗,研究一下相關(guān)知識.

錄音理論與實踐

錄音方面,簡單來講就是將聲音信號定時采集成數(shù)字信號以備后述處理.最常見的當然是駐極體的麥克風:

image2.png

圖 駐極體音頻采集參考電路

采集出來的信號叫做PCM,數(shù)學原理上就一個一維數(shù)組,其單元對應(yīng)每個時刻的聲音震動的幅度.播放時將其恢復(fù)為介質(zhì)振動即可還原當初的聲音.

信號大致這種樣子:

image3.png

圖 PCM信號參考例子

注意:上述信號為CY8CKIT板子通過PDM采樣轉(zhuǎn)換為PCM的實際例子

至于采樣率,采樣深度,壓縮算法等等,感興趣的同學可以找一找本人之前發(fā)的系列貼子,因為內(nèi)容較多在此不一一照搬過來了.

今天要使用的錄音器件并非駐極體麥克風,而是一個PDM格式的麥克風SPK0838HT4H-B,原理圖:

image4.png

圖 數(shù)字麥克風原理圖

這種麥克風出來的信號并非直接的PCM, 而是所謂的PDM信號,類似于下圖所示:

image5.png

圖 PDM信號參考例子

簡單來講,PDM信號就是1 bit的ADC采樣出來的結(jié)果.

之所以使用PDM,不使用PCM輸出,理論上有很多依據(jù).簡而言之,是因為聲音在介質(zhì)中傳播是縱向傳輸,亦即傳播方向與振動方向是相同的,故此用脈沖密度能比脈沖幅度更忠實地反映真實的情形.當然這種麥克風還有其余的優(yōu)點,如體積比駐極體的麥克風小很多,功耗也更低,穩(wěn)定性,一致性之類的參數(shù)都要強不少.目前的趨勢是駐極體形式的麥克風逐步被這種麥克風取代,如智能手機中都是使用這種麥克風.

由于采集進來的第一手數(shù)據(jù)為PDM形式,故此需要首先將其轉(zhuǎn)換為PCM格式以便進一步的處理與播放.處理的方法一般是通過軟件抽樣+濾波,Cypress的PSoC 6器件的方式較為特殊,可以使用UDB資源對PDM進行硬件解碼轉(zhuǎn)換為PCM信號,省去軟件上的處理.此處在后文詳述.

放音理論與實踐

對于PCM信號,播放起來較為直觀,直接將其輸出到DAC,再經(jīng)過可選的濾波/放大,輸出到放音設(shè)備即可播放.

但是很多微型控制器沒有DAC外設(shè),此時可以通過PWM+低通濾波器來模擬DAC進行播放.這也是所謂的D類放大器的原理.

image6.png

圖 PWM+濾波器模擬DAC

這兩種方法本文都會使用,DAC與PWM分別作為一個通道進行輸出.

頂層設(shè)計與硬件連接

image7.png

圖 頂層設(shè)計

其中有三個模塊(PDM_PCM,VDAC,UART)有Prototype水印,表示該模塊只是做演示之用,還沒有到達能應(yīng)用到產(chǎn)品的成熟度.本文也的確是僅僅作演示之用,故此可以不加理會.

首先看PDM_PCM模塊幾個參數(shù)的計算:

最終想要達到的采樣率為8KHz, Sinc抽樣率為64, HFClk1計算為16.384MHz.

下面的Audio Timer用作播放更新,故此也設(shè)定為8 KHz產(chǎn)生一次ISR:

  • 本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!

網(wǎng)友評論