Re: [閒聊] 數位會不會失真?

看板Headphone作者 (阿咧?)時間10年前 (2013/09/11 16:13), 編輯推噓10(1006)
留言16則, 7人參與, 最新討論串2/2 (看更多)
※ 引述《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)

09/11 16:18, , 1F
75歐姆阻抗是指傳輸線的特徵阻抗,常見是50/75/110歐姆
09/11 16:18, 1F

09/11 16:32, , 2F
好文章 不 m 嗎 ? (好吧 我承認我也看不懂啥是 G 波包 <死>)
09/11 16:32, 2F

09/11 20:00, , 3F
這感覺像是看網路遊戲的攻略XD
09/11 20:00, 3F

09/11 21:52, , 4F
話說 聽說更高頻或更低頻的訊號 雖然單音聽不到
09/11 21:52, 4F

09/11 21:53, , 5F
但是和其他頻率混在一起時 好像經過訓練就可以分出來?
09/11 21:53, 5F

09/11 22:20, , 6F
大推,0110那邊表示的確有問題,我想指的是會有將一個DATA
09/11 22:20, 6F

09/11 22:20, , 7F
重複取兩次的情況,那指的是一秒內過去的DATA數量
09/11 22:20, 7F

09/11 22:21, , 8F
波包指的是一個方波裡包含很多sin and cos函數,頻率不同
09/11 22:21, 8F

09/11 22:22, , 9F
對應到的阻抗不相同,而整個群的表現頻率為44.1kHz
09/11 22:22, 9F

09/11 22:25, , 10F
wave packet ? 這好像不限方波喔 ?
09/11 22:25, 10F

09/11 22:26, , 11F
恩 不限
09/11 22:26, 11F

09/11 22:33, , 12F
只好快把這份文章備份起來...
09/11 22:33, 12F
這篇好像沒有講到重點,而且內容好像有錯... 但是又不知道怎麼改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)

09/12 00:09, , 13F
蛤?
09/12 00:09, 13F

09/12 00:10, , 14F
End後直接掃到日文開啟+真的很好玩 瞬間以為跑錯版
09/12 00:10, 14F
※ 編輯: INIKS 來自: 122.117.172.136 (09/12 00:40)

09/12 00:42, , 15F
這個程式很好用啊~ 把電腦變成2ch function generator XD
09/12 00:42, 15F
※ 編輯: INIKS 來自: 122.117.172.136 (09/12 00:53)

09/12 01:45, , 16F
I 兄呀 講概念性的東西不用多精準 沒有顯著錯誤就很棒囉 :)
09/12 01:45, 16F
http://inst.eecs.berkeley.edu/~ee247/fa07/lectures.html 12~17 關於DAC的投影片 ※ 編輯: INIKS 來自: 140.116.164.44 (11/14 17:27)
文章代碼(AID): #1IC2Olhm (Headphone)
討論串 (同標題文章)
文章代碼(AID): #1IC2Olhm (Headphone)