為什麼這篇數位訊號處理鄉民發文收入到精華區:因為在數位訊號處理這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者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)
這篇好像沒有講到重點,而且內容好像有錯... 但是又不知道怎麼改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)
http://inst.eecs.berkeley.edu/~ee247/fa07/lectures.html
12~17 關於DAC的投影片
※ 編輯: INIKS 來自: 140.116.164.44 (11/14 17:27)