中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PWM實現語音播放的原理是什么

發布時間:2021-12-03 19:24:28 來源:億速云 閱讀:378 作者:柒染 欄目:互聯網科技

本篇文章為大家展示了PWM實現語音播放的原理是什么,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

采用PWM進行播放語音原理

1.概述

大多數微控制器上播放音頻都是采用DAC進行輸出,因為微控制器上都不會去帶CODEC編解碼芯片,但是DAC不是每個芯片都會存在,如果沒有DAC,那又該怎么辦呢?于是PWM就成了一個不錯的選擇。因為一般的微控制器板子都會有PWM,這樣的設計大大簡化了語音設計的門檻。其原理就是PWM可以變成一個DAC,然后進行語音信號的輸出,經過功率放大器,經過喇叭,則可以將數字信號變成聲音信號正常輸出了。

 

2.聲音原理

學過物理知識的都知道,聲音其實是一種波,通過空氣振動等彈性介質傳遞到人的耳朵里引起耳膜震動,牽動大腦的聽視覺神經,經過大腦處理后,就會產生聽覺。

人能夠分辨的聲音的頻段為最低20Hz到最高20KHz。中學物理就學過,聲音的三特征是:音調、響度和音色,響度是由聲源振動的幅度決定的,振幅越大,響度越大;音調的高低和振動的頻率有關,頻率越高,音調越高;音色不同,波的特征也不同。

既然聲音是一種波形,波則有兩個特征:頻率和振幅。對于單片機來說,表述這兩個概念則需要一定的技巧,頻率是單片機本來就具有的特性,可以通過時鐘產生特定頻率的信號,對于振幅,數字信號0與1該如何表述呢?可以通過位寬深度來進行表述,比如8位的位寬深度則可以表達的量化數據為0-256之間的數據,對于數字信號,聲音數據也有采樣的位寬,所以這個也可以用單片機描述,DAC則可以用來做這個,結合定時器產生特定的頻率從而讓機器發出聲音。

 

3.DAC產生聲音的原理是什么

要想真正理解DAC是如何工作的,必須首先了解什么是模擬信號,模擬信號是一個不斷變化的電壓,它可以完美的表達不斷變化的聲波。麥克風可以將傳入的聲音轉換為代表聲音的模擬電信號,這些電信號通過揚聲器將模擬電信號轉換成原始聲音。

那么該如何記錄這些模擬信號呢?很早的時候,人們就想出了將模擬信號存儲為唱片上的凹槽。通過指針的來回移動從而表達出聲音的電模擬信號。隨著時間的推移,將這種凹槽早已變成和數字信號存儲在了硬盤或者各種磁帶中,而這些0或者1則表示音頻信號的信息。

對于聲音信號,光盤可以存儲每秒為44100次的16位深度量化二進制數據(16bit/44kHz)。于是在進行DAC輸出的時候,我們也可同樣采用16位寬的DAC進行采樣,然后以44kHz的頻率將聲音信號轉化出來,這對于MCU上去操作DAC并非難事,只需要啟用一個16位寬的DAC和一個定時器即可,定時器用于控制聲音輸出的頻率,如采樣率位44.1KHz,則按照該時鐘頻率輸出即可。

PWM實現語音播放的原理是什么

 

4.PWM又是如何實現的DAC的

在理解上述原理之后,我們來理解一下PWM,以及PWM是如何進行工作的。

PWM實現語音播放的原理是什么

PWM(Pulse Width Modulation)最簡單的理解就是MCU內部有個定時器,定時器特定的時間內將GPIO的電平翻轉一下。對于翻轉的時間間隔的比例就是占空比,而持續這兩個過程則可以算為一個周期。這種是對于數字信號的描述,我們轉變一下思維,從模擬信號的角度去理解pwm。

PWM實現語音播放的原理是什么


 

則可以看到上面的圖示了,在一個周期內,其占空比決定了平均電壓值,紅色的線表示平均電壓。對于一個周期內的數據,我們可以進行量化,其量化的方式為首先設定(0~5v)之間的電壓用(0-256表示),此時就可以有8位分辨率(2^8=256)。由于每個量化點都可以表示一個電壓,而電壓又直接和PWM的一個周期的占空比直接相關,所以可以得到占空比和量化點的關系。同樣的16位量化數據則表現的更為精確。但是如果量化的數據越大,則PWM頻率越低(計數的時間變長),這是PWM的基本權衡。執行的越快,精度就越低。這里比較關鍵,但需要好好理解,隨著PWM頻率的不斷提升,其占空比的選擇就不再那么隨意了,精度會大大的降低。

 

5.PWM的頻率與底噪的關系

音頻設備有個參數叫信噪比,是信號與噪聲的比例,模擬信號必然會產生噪聲。越好的設備信噪比越大,也就是需要非常大的增益才能聽得到底噪。

信噪比(Signal-to-noise ratio,縮寫為 SNR 或 S/N),也稱作信雜比訊雜比

通常PWM發出的聲音無法去除掉這一點,但這些聲音有時候會變得有趣,比如紅白機8bit游戲音樂。

確切的說,如果要提升音質,那么可以采用16位數據。有著如下的公式說明:

SNR(dB)=(Bit Depth)*6.02dB + 1.76dB)
 

也就是說,如果要獲得更好的聲音效果,可以有兩種辦法,第一種是降低PWM的頻率,也就是上一章節解釋的那樣,想要獲得更大的深度,則必須降低PWM的頻率。第二種則是增加PWM的數量。根據奈奎斯特采樣定理,PWM的最高頻率至少是聲音最高頻率(20Khz)的兩倍。

PWM實現語音播放的原理是什么

上圖描述了采樣頻率和PWM數量以及位寬深度的關系。如果增加PWM的數量,則可以提升采樣的精度,比如在不改變PWM的頻率下可以改變其位寬深度。

 

6.PWM音樂曲目解析

我曾經看到過一篇很有意思的文章,就是講了pwm然后用無源蜂鳴器做個播放器的播放《你笑起來真好看》這個曲目,我覺得很有意思。我的上述分析雖然不是完全的可以結合上這個原理,但是至少可以幫助理解一下樂理知識。在音樂中,節奏和節拍兩者相輔相成,構成音樂的骨架。使用PWM直接給無源蜂鳴器供電,當高電平時,無源蜂鳴器響,低電平時不響。然后給定音樂的節拍讓其響或者不響,則可以演奏出樂曲出來,而人發出的聲音卻比這個要復雜許多,高低變化的聲音,聲調的變化要展示出來,是非常有難度的事情。

PWM實現語音播放的原理是什么

上述內容就是PWM實現語音播放的原理是什么,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

pwm
AI

呼图壁县| 洛扎县| 彰化县| 阿鲁科尔沁旗| 西畴县| 韶关市| 巴彦县| 磴口县| 丽江市| 汝南县| 元江| 辽源市| 涟源市| 临城县| 石城县| 华坪县| 格尔木市| 永泰县| 团风县| 蒲江县| 宁晋县| 林口县| 临江市| 卢湾区| 图们市| 双峰县| 嘉定区| 勐海县| 仙桃市| 如东县| 镇安县| 渝北区| 嵊州市| 元谋县| 锦州市| 克拉玛依市| 巫山县| 潞城市| 舞阳县| 玛纳斯县| 辉县市|