[爆卦]數位訊號處理是什麼?優點缺點精華區懶人包

為什麼這篇數位訊號處理鄉民發文收入到精華區:因為在數位訊號處理這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者INIKS (阿咧?)看板Headphone標題Re: [閒聊] 數位會不會失真?時間Wed S...

數位訊號處理 在 Janice Yan 閻奕格 Instagram 的最讚貼文

2020-05-03 19:55:50

我改觀了!!!!!!! 我對 “無線喇叭” 徹底改觀了!!! 之前注意到 KEF 是因為他們家的耳機, 但這次被 “Hi-Fi無線音樂系統” 吸引- 心想無線要怎麼達到 “Hi-Fi” 的音質?! 無線喇叭體積小,擺放的位置不受限,但也往往因為無線與小體積的“優點”而需要犧牲音質~ 但各位!KEF ...


※ 引述《max8201 (我是一隻小笨狗)》之銘言:


原PO想必對這領域很有興趣,我可以稍微幫你補充關鍵字,

然後可以照著關鍵字找相關的文章文獻,可以學到很多東西,

說不定原PO越做越有興趣,改天就來自己開發DAC系統!



不過小弟雖然是IC相關,但不是做D/A 也不是做音響的,

DSP成績也很爛,演算法不太懂,音響學也是一知半解,

如果有甚麼錯誤的地方,還請版上各位大大補充一下。


: 在開始閒聊一切以前先說:數位本身就是一種失真

所有的訊號都是失真的,在處理訊號的時候,

都是用 "訊號與雜訊比" (S/N ratio) 來當作基準,

數位的抗雜訊能力比較高,類比的抗雜訊能力比較低,並沒有絕對的數值可以參考,

不過只要失真還在規格範圍,人體的感官察覺不到的話,那就無所謂啦!


: 因為聲音是一種類比訊號,被記錄轉換為電壓訊號後,進行數位採樣
: 例如:http://ppt.cc/-vAh
: 橫軸以44.1kHz (每秒切44.1k刀) 縱軸則被量化為2的16次方來儲存
: 而在類比轉數位取樣時,是一個區間1/44100秒內的一個電壓訊號
: 不一定是一個定值,所以都是取最大V (PCM格式標準規範下)
: 於是一個WAV裡面就很多被量化的數位資料,等待著被轉換為電壓訊號
: 如果只是單純的轉換回去會發生什麼事?
: 就是階梯狀的一個訊號,通常來說再以一個低通濾波來讓他變圓滑
: 當然不是這麼簡單,否則就不會有DAC從200元-數十萬元的差別了
: 所以D-A, 數位電路的部分,只要數位接受晶片及數位類比轉換晶片確定,基本上各品牌
: 其實都大同小異,大部分都是採用買來的classic電路。
: 所以買DAC真正在買的價值還是後面的類比處理。




市面上有很多廠商提供規格很好的DAC chip,有些還有內建DSP,

不過要發揮這些晶片的實力還需要:

1. 乾淨的電源 與 穩定的時脈

2. 散熱 與 體積的取捨

3. 支援格式還需要周邊電路的配合

這也許就是價差很大的原因吧!



另外小弟有聽過的說法是,市面上的DAC系統的DAC晶片都是同一個系列的原因,

不外乎如果只有支援 16-bits 44.1KHz 這樣古老的規格,核心DAC chip規格也許很高,

在16-bits 44.1KHz下聽起來也許有差,但沒有周邊電路配合,

變成chip很貴,周邊很便宜,發揮不出實力,音響就是講求matching 搭配,

甚麼樣的前端就要相配的後極,所以低階DAC系統用好的晶片去做效益太低。





如果你對DAC chip原理有興趣,再參考下面的。

INL DNL http://www.maximintegrated.com/app-notes/index.mvp/id/641

要做好DAC核心晶片部分有很多技巧,為了讓INL DNL 在規格範圍內,

DWA(Data Weighting Averaging)是一個基本的技術,

利用隨機/平均的開啟電流鏡,來達到平均掉每個電流鏡的誤差,

達到所要求的SNR、SNDR。

或是結合DAC與Class D amplifier,DAC輸出不是階梯的方式,

直接使用PWM輸出架構,這樣輸出只要稍微濾波,似乎可以直接接上耳機。




: 而剛講到數位訊號的採樣完後,究竟數位訊號怎麼輸出到DAC
: 電壓訊號總是要隨著時間一筆一筆傳送,也就是如同原採樣的時間 44.1kHZ
: 有點像是按照同樣的頻率在把訊號吐出去,所以WAV裡面應該是沒有儲存時間檢查檔案的。


這是音源編碼的領域,

雖然沒有直接紀錄時間刻度,不過wav檔裡面有標頭檔,

紀載了這個檔案的取樣頻率,bit數等等的資料,照這些資料去還原,

不考慮硬體的非理想效應下,就會得到每一筆資料的時間。


: 但問題來了
: 現實中哪裡有真正的44.1kHZ?
: 不管是類比轉數位的採樣,還是從電腦要數位輸出的採樣
: 都不可能是真正的44.1kHZ
: 我從WaveLength 的官網看到說 即使44.08kHZ 也還是正常的運算誤差
: (再看他們DDC 的產品設計介紹提到)
: 姑且先不論類比採數位的錄音室究竟Clock準不準,電腦的Clock當然不可能準了
: 且通常還是48KHz,但這樣無彷,反正就算是真正的44.1KHZ的電腦,我猜原檔案的採樣也
: 不是44.1KHz。

錄音室領域:

在錄音的時候,相信負責任的錄音師是用高過44.1KHz/ 16bits 的規格去錄製的,

然後錄製時,會使用一組獨立的Clock去當作他的取樣率,讓ADC能正常工作,

這個clock的取樣率可以超過市面上規格很多很多,

然後要發售時,再用軟體轉成低規格的大眾格式。


所以這組clock的jitter,會變成錄音檔與原聲音的誤差來源,

最多再經過DSP,勉強抑制掉一些雜訊,相信負責任的錄音師會用很好的clock去處理,

讓clock的誤差比現場的自然噪音還低。


不過用戶端的clock是不是這麼精準,也許不是最主要的問題,

一般來說電腦的電壓源的其他雜訊的 noise floor,會高過jitter的 noise floor,

換好一點的電供或訊源,效果應該會比外接clock明顯。



: USB非同步傳輸
: 所以有聰明的人發明了非同步傳輸,Clock是從DAC端開始送出,有點像是DAC放了個棋子
: 在電腦那邊(驅動) ,那DDC及DAC的Clock是真正的44.1kHz嗎?
: 腦補區:
: 應該是用傳封包的方式(傳檔案的方式)給DDC接收到,在進行數位檔案轉電壓的動作。

非同步有個關鍵字,handshake asynchronous

這個跟電腦的clock無關,非同步就是一筆一筆傳資料,傳到DAC系統放在暫存器內,

暫存器滿了就把ok的訊號往下拉,通知電腦晚點再傳。

DAC撥音樂就是把資料,根據DAC的clock,一筆一筆送出,

所以誤差是 錄音的jitter noise + DAC 的 jitter noise

至於這兩個雜訊相加,noise floor 會變高還是不變,就很難說了。


: 超取樣
: 當然還有另外一些人也是聰明的不得了。
: 用超取樣的方式,用高於其兩倍以上的頻率去取樣,以量取勝
: 等於是說原本0110的訊號變成00111100,當然也有可能變成01111100 也有可能變成
: 00111110之類的....去消除沒有真正的44.1kHZ這件事。
: 不過這個誤差就變小了,原本0110可能誤差為0.2kHz因為被超取樣,某種程度上誤差就
: 降低了,但是隨之錯誤率也增加(因為莫名的取樣數變多),所以變好變壞?

超取樣 oversampling

常見於ADC的技術,同樣的時間內,多取幾筆資料,可以提高A/D 轉換過去的SNR,

增加A/D 的 有效位元(ENOB),本來只有14bit 是正確的(高於所有失真+noise floor),

變成16bit是正確的(高於所有失真+noise floor)。

0110 → 00111100 是把bit 數提高,不能說這就是超取樣。


另外DSP中也有oversampling這個技術,把訊號重新用比較高的取樣率重新取樣,

會帶有升頻的效果,下面會提到。



: 昇頻
: 當然也有些人用昇頻的方式用44.1kHz接到訊號後,以運算法的方式重生數位電壓訊號
: 類似非同步的概念,以運算IC的Clock重生更高Clock的訊號再以同樣的Clock丟給DAC
: 腦補區 或者重生44.1kHz(沒聽過重生44.1k)
: 是好是壞?
: 反正都沒人是準的,死馬當活馬醫


升頻,是modulation 的一種


http://analoglib.net/wordpress/wp-content/uploads/2013/05/image11.png

類比端來說,舉chopper stabilization 當例子,

把訊號頻率,調變到高於雜訊的頻率,經過電路後,再把原訊號變回來,

此時訊號調變兩次,變回原頻率,

雜訊調變一次,跑到高頻,

這時候就可以簡單的用低通濾波器濾掉。



數位端的話,就是DSP上使用的升頻(up-sample) 或是oversampling,

是把把數位訊號重新取樣,改變取樣頻率,

多出來的資料補零,於是在頻域上會有很多原本的訊號,分佈於較高的取樣頻率,

可以實現很多數位演算法,升頻(up-sample )與降頻(down sample)是DSP的基礎做法。



至於在DAC上或是播放軟體看到oversampling 多半是源訊號升頻之後,

訊號佔取樣頻率寬度變窄,可以使用簡單的數位濾波器做濾波,

減輕濾波器的負擔,讓訊號濾的比較乾淨!

詳細:
Upsampling (D/A 數位端) 與 Oversampling (A/D 類比端)的不同

Upsampling vs. Oversampling for Digital Audio
http://www.audioholics.com/audio-technologies/upsampling-vs-oversampling-for-digital-audio


Upsample 在DSP的例子

ex. anti-aliasing
http://www.youtube.com/watch?v=kKb_9rmTnHY

不過小弟不太了解演算法,這個就要請教懂DSP的人。



: 那話說回來這些失真人究竟能不能分辨?如果不能分辨,那麼就算可允許的失真範圍?
: 我先前找到一個網站: http://tonometric.com/adaptivepitch/
: 我自己亂測試自己大概可以分別出 1.5Hz左右的分別
: 中央C的LA為440Hz 假設440HZ 與 441Hz同時出現我能分別(假定神人能分辨1Hz)
: 假定為sin函數:和差化積後,出現sin[(w1+w2)/2]*sin[(w1-w2)/2]
: 也就是我能辨別的388080 Hz 這個Hz在腦中
: 大家都以為440HZ 真的就是一個440Hz的sin嗎?
: 當然不是有音色 別忘了
: 若以另一個想法: 所有的可微分函數皆可用sin 跟cos各頻率組合而成
: 所以有錄音經驗的人一開始就會覺得奇怪
: 為何我彈一個Do,錄音的頻譜卻從幾百Hz-20Khz
: 都有呢? 因為音色裡面有很多共振函數
: 但這真的很驚人,我們竟然可以辨認388.1KHz的東西
: 所以會不會突然覺得44.1KHz有點不夠用? 但還好我們目前看到只要有幾K價位以上的DAC
: 應該會用類比端調音的方式讓你無法分辨
: 以上綠字計算錯誤抱歉

388080 Hz?? 這樣表達會讓人誤會,Δ1Hz會不會好一點

之前版上分享過,相關的訊號產生軟體,不過好像被洗掉了....

http://www.ne.jp/asahi/fa/efu/soft/wg/wg.html

語系相容軟體

http://ppt.cc/vOnm

可以玩玩看

1. 系統(含耳朵)最高最低可聽到的頻率

2. 極限高頻在不同取樣率的聽感

3. 混波調變各種電子音

: 又講回數位
: USB數位線材為何能影響聲音在USB非同步傳輸情況下
: 這讓我會想知道究竟是Clock過去電腦那邊,還是是封包過去DDC那邊,如果是封包過去
: 那不就需要有暫存區給封包?
: 腦補區:線材的電容值會影響各頻率的相位變化,但在數位傳輸是以44.1kHz
: 我想75歐姆阻抗也是由此計算得知吧(好像還要包含端子)
: 但在傅利葉轉換下,數位訊號標準是方波,可得知包含很多極高頻訊號,不過我想這點不用
: 擔心,我覺得DDC會把你在醜的數位訊號解讀正確,只要Group 波包沒有瓦解就行。
: 在下物理系魯蛇,聽音樂時還是就聽音樂好了,別亂想ˊ>ˋ

另外又回到音響玄學了,我個人是相信聽起來不一樣,是真有其事,

人耳的靈敏度很奇怪,高頻低頻極限很窄,但是對頻率的差異卻很敏感。

而且很多看似玄學的東西,就好像是中醫一樣,是多年的經驗法則累積起來的,

等到生理學解剖學微生物分生等等的學理建立之後,才有辦法回頭看到這些原理。



最後我有些問題,

75歐姆阻抗是?

Group 波包是甚麼?


--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.164.44
※ 編輯: INIKS 來自: 140.116.164.44 (09/11 16:16)
yeahbo:75歐姆阻抗是指傳輸線的特徵阻抗,常見是50/75/110歐姆 09/11 16:18
Dopin:好文章 不 m 嗎 ? (好吧 我承認我也看不懂啥是 G 波包 <死>) 09/11 16:32
idareyou:這感覺像是看網路遊戲的攻略XD 09/11 20:00
a1122334424:話說 聽說更高頻或更低頻的訊號 雖然單音聽不到 09/11 21:52
a1122334424:但是和其他頻率混在一起時 好像經過訓練就可以分出來? 09/11 21:53
max8201:大推,0110那邊表示的確有問題,我想指的是會有將一個DATA 09/11 22:20
max8201:重複取兩次的情況,那指的是一秒內過去的DATA數量 09/11 22:20
max8201:波包指的是一個方波裡包含很多sin and cos函數,頻率不同 09/11 22:21
max8201:對應到的阻抗不相同,而整個群的表現頻率為44.1kHz 09/11 22:22
Dopin:wave packet ? 這好像不限方波喔 ? 09/11 22:25
max8201:恩 不限 09/11 22:26
max8201:只好快把這份文章備份起來... 09/11 22:33

這篇好像沒有講到重點,而且內容好像有錯... 但是又不知道怎麼改orz



總之重點是這套軟體


wave gen 這套軟體真的很好玩

http://www.ne.jp/asahi/fa/efu/soft/wg/wg.html


拉到最下面之後,下載150版,這版本好像可以做數位濾波!

1. 解壓縮會卡住的話,把裡面的txt檔改成英文

2. 下載語系相容軟體 http://ppt.cc/vOnm

3. 打開之後安裝,加入預設語言"日文"

4. 右鍵剛剛的WG150.exe 就可以選擇日文開啟

5. 各種波型自由使用!
※ 編輯: INIKS 來自: 122.117.172.136 (09/12 00:07)
jason543:蛤? 09/12 00:09
yys310:End後直接掃到日文開啟+真的很好玩 瞬間以為跑錯版 09/12 00:10
※ 編輯: INIKS 來自: 122.117.172.136 (09/12 00:40)
yeahbo:這個程式很好用啊~ 把電腦變成2ch function generator XD 09/12 00:42
※ 編輯: INIKS 來自: 122.117.172.136 (09/12 00:53)
Dopin:I 兄呀 講概念性的東西不用多精準 沒有顯著錯誤就很棒囉 :) 09/12 01:45

http://inst.eecs.berkeley.edu/~ee247/fa07/lectures.html

12~17 關於DAC的投影片
※ 編輯: INIKS 來自: 140.116.164.44 (11/14 17:27)

你可能也想看看

搜尋相關網站