Audio 傳輸接口及數據編碼(一)PCM PDM TDM.md


PCM是什么?

PCM 百度百科

對PCM的理解可分為三個方向:

方法:PCM :(Pulse-code modulation)脈沖編碼調制,是將模擬信號進行抽樣、量化和編碼轉化為數字信號的一種方法;

接口:一種硬件接口協議,可以傳輸單聲道,雙聲道立體聲和多聲道,i2s接口這這種接口的一個子集;

格式:一種數據格式,在軟件中音頻數據是以PCM格式進行通信傳輸,它是數字音頻的raw data.;也是一種文件格式,模擬音頻信號經模數轉換(A/D變換)直接形成的二進制序列,該文件沒有附加的文件頭和文件結束標志。Windows的Convert工具可以把PCM音頻格式的文件轉換成Microsoft的WAV格式的文件。

PCM編碼

PCM過程

聲音是一種機械波,在運算處理過程中,需要被數字化,最常見的就是通過脈沖編碼調制;下圖是聲音信號在處理過程中的流程;

其中量化模擬信號的過程如下:

Image

藍色代表模擬音頻信號,紅色的點代表采樣得到的量化數值。

采樣頻率:即取樣頻率,指每秒鍾取得聲音樣本的次數。采樣頻率越高,聲音的質量也就越好,聲音的還原也就越真實。通常人耳能聽到頻率范圍大約在20Hz~20kHz之間的聲音,為了保證聲音不失真,采樣頻率應在40kHz以上;根據奈奎斯特理論,采樣頻率只要不低於音頻信號最高頻率的兩倍,就可以無損失地還原原始的聲音。

常用的音頻采樣頻率有:8kHz、11.025kHz、22.05kHz、16kHz、37.8kHz、44.1kHz(CD)、48kHz、96kHz、192kHz等。

采樣位數:即采樣值或取樣值。它是用來衡量聲音波動變化的一個參數,也可以說是聲卡的分辨率。它的數值越大,分辨率也就越高,所發出聲音的能力越強。

聲道數:很好理解,有單聲道和立體聲之分,單聲道的聲音只能使用一個喇叭發聲(有的也處理成兩個喇叭輸出同一個聲道的聲音),立體聲的pcm可以使兩個喇叭都發聲(一般左右聲道有分工) ,更能感受到空間效果。

采樣時間/音頻幀:音頻跟視頻很不一樣,視頻每一幀就是一張圖像,而從上面的正玄波可以看出,音頻數據是流式的,本身沒有明確的一幀幀的概念,在實際的應用中,為了音頻算法處理/傳輸的方便,一般約定俗成取2.5ms~60ms為單位的數據量為一幀音頻。這個時間被稱之為“采樣時間”,其長度沒有特別的標准,它是根據編解碼器和具體應用的需求來決定的,我們可以計算一下一幀音頻幀的大小:假設某音頻信號是采樣率為8kHz、雙通道、位寬為16bit,20ms一幀,則一幀音頻數據的大小為:int size = 8000 x 2 x 16bit x 0.02s = 5120 bit = 640 byte

存儲量=(采樣頻率采樣位數聲道)*時間/8(單位:字節數)

波形聲音的碼率 = 取樣頻率 × 量化位數 × 聲道數

PCM采樣實例

以采樣位數為4位為例,量化的波形如下:

image-20210726161952297

采樣點: t1 t2 t3 t4 t5 t6 t7 ... t16 t17 t18 t19 t20

幅值: 0011 0101 0111 1001 1011 1101 1110 ... 0110 0110 0101 0011 0000

PCM接口信號

PCM的硬件接口有:PCM-clock、PCM-sync、PCM-in、PCM-out

接口時序波形如下:

PCM只有一個起始信號,左聲道數據緊跟右聲道,PCM可以傳輸多通道數據,8channel,16channel等; 用TDM的方式實現;

與I2S接口對比

I2S(Inter-IC Sound Bus)是飛利浦公司為數字音頻設備之間的音頻數據傳輸而制定的一種總線標准。在飛利浦公司的I2S標准中,既規定了硬件接口規范,也規定了數字音頻數據的格式。

I2S格式的信號無論有多少位數據,,數據的最高位總是出現在LRCK變化(也就是一幀開始)后的第2個BCLK脈沖處。這就使得接收端與發送端的有效位數可以不同。如果接收端能處理的有效位數少於發送端,可以放棄數據幀中多余的低位數據;如果接收端能處理的有效位數多於發送端,可以自行補足剩余的位。這種同步機制使得數字音頻設備的互連更加方便,而且不會造成數據錯。

TDM

Time Division Multiplexing 時分復用,PCM可以傳多達16路數據,采用時分復用的方式;

TDM將不同的信號相互交織在不同的時間段內,沿着同一個信道傳輸;在接收端再用某種方法,將各個時間段內的信號提取出來還原成原始信號的通信技術。這種技術可以在同一個信道上傳輸多路信號

像現在最流行的語音智能音箱的7麥克風矩陣,一般都是用TDM來傳的數據,同時可以傳輸7路麥克風輸入和3路以上的音頻反饋信號

TDM不像I2S有統一的標准,不同的IC廠商在應用TDM時可能略有差異,這些差異表現在時鍾的極性、聲道配置的觸發條件和對閑置聲道的處理等。

特點:比I2S節省管腳數量,支持多路傳輸,最多支持16路=16通道

PDM

Pulse Density Modulation 脈沖分時復用 是一種用數字信號表示模擬信號的調制方法

PDM則使用遠高於PCM采樣率的時鍾采樣調制模擬分量,只有1位輸出,要么為0,要么為1。

因此通過PDM方式表示的數字音頻也被稱為Oversampled 1-bit Audio。相比PDM一連串的0和1,PCM的量化結果更為直觀簡單。

PDM方式作為模數轉換的接收端,需要用到抽取濾波器(Decimation Filter),將密密麻麻的0和1代表的密度分量轉換為幅值分量,而PCM方式得到的已經是幅值分量了。

PDM方式的邏輯相對復雜,但只需要兩根線,時鍾和數據。

PCM使用等間隔采樣方法,將每次采樣的模擬分量幅度表示為N位的數字分量(N = 量化深度),因此PCM方式每次采樣的結果都是N bit字長的數據。

基於PDM的架構不同於I2S和TDM之處在於,抽取濾波器(Decimation Filter)不在發送設備,而在接收設備內部。源端輸出是原始的高采樣率(oversample)調制數據,如Sigma-Delta調制器的輸出,而不是像I2S中那樣的抽取數據。基於PDM接口的應用降低了發送設備的復雜性,由於作為接收設備的CODEC內部集成抽取濾波器,因此系統整體復雜度大大降低。對於數字麥克風而言,通過使用面向CODEC或處理器制造的更精細硅工藝,而非傳統麥克風使用的工藝,可以實現更高效率的抽取濾波器。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM