DSP(Digital Signal Processing), 數位訊號處理在整個音訊架構中是扮演甚麼樣的角色. DSP在整個電聲領域的位置是在軟體跟硬體之間, 通常在DSP處理音訊有一些好處: 比較省電,比較快速.用下面的圖簡單做比較表.
|
軟體 |
DSP |
編譯方式 |
簡單 上層C/JAVA等等 |
困難 Assembly code or C compiler |
聲道處理 |
通常一個串流是雙聲道 |
高階或具備DAC的晶片可以直接做多聲道 |
速度 |
以目前的處理器來說, 軟體演算法已經不見得比硬體來的慢. 不過通常來說, 還是DSP的編解碼器或處理要更快些,因為Assembly code 可以做最底層的優化. | |
訊號格式 |
Floating point 32/64 bit以上 |
Floating point/fixed point 通常為16bit |
DSP的接口是ADC/DAC (analog to digital convertor), 技術內容是取樣(Sampling),量化(Quantization)與編碼(Encoding); 比較深的理論這裡不多描述. 但我們會討論 Sampling/Quantization/Encoding的意義:
1. Sampling是指時間軸上的數位化(切割成”點”, n個/s), frame 或slot 是sample的更大集合,通常語音處理上會因為特性需求訂為16~32ms為1個frame. 若sampling rate =48KHz, 則1 frame =32ms = 48K*32m = 1536 samples. 一般CD的取樣率是44.1KHz, 或常見的是48KHz, 越高代表取樣率越不失真.
2. Quantization 是指大小振福上的數位化(切割成"位階”), 越高的bit 數代表可以量化的更細緻, 好比說0.998就比1來的更精確.
3. Encoding 跟常見的wav 或者mp3不同, 學術上encode指的是更底層NRZ等硬體介面傳輸的編碼. 不過在應用上頃向於檔案格式這個解釋, 除了PCM檔以外, 每個音檔標頭(header )都記載了這個音檔的取樣速度sample rate, bit, 聲道channel, 甚至於作者, 曲風…等等資料.
DSP的核心概念是: 數位最大的單位是 0dbFS(Full Scale). 類比世界裡, 我們習慣說這個電壓是幾伏特, 無論大小或正負我們都很熟悉. 那,數位只剩下0101的世界中我們該怎麼定義呢? 在量化的段落裡面講到的, bit數越高能表達的就越精細. 也就是說如下圖:
或許會覺得有些疑惑. 數位世界最大的0dBFS到底是多大聲呢? 這又是另一個重點了. 之後我們在另外討論. 先前我們講到, DSP 的接口是 ADC/DAC, 0dBFS多大聲就要從DAC身上來著手. DAC的full scale reference voltage就是數位的0dBFS大小. 每個產品的0dBFS定義都不太依樣, 以I-phone耳機輸出來說, 0dBFS大約是0.95Vrms左右. 其他手機上,或許就不見得這麼大了.
評論