返回列表 回复 发帖

想灌少些水, 討論一下技術問題

近水論壇水浸, 此禍由我引起, 就由我做點事吧.
不如今天討論一下CD機(轉盤)的技術性問題.....
先由我發問, 大家知不知甚麼是EFM, 等線速, SPDIF的格式, 超取樣, 超頻, 16bit/20bit/24bit/1bit的分別.
又為何DSP要有RAM, CD的tracking是怎樣做的........
大家請發言!
索驥樂傳真,不識體人心;
深情盡內歛,細意藏腦深!
支持少灌水,多探讨,坐沙发等老师讲课,这不是水吧。

原文由 [B]田雨[/B] 发表: 支持少灌水,多探讨,坐沙发等老师讲课,这不是水吧。



你也是我的老師之一!
索驥樂傳真,不識體人心;
深情盡內歛,細意藏腦深!

坐定定,来听老师讲课!

我不是老師, 但也說出一點點我知的, 有錯大家一定要指正!
先說甚麼是EFM, 全名就是Eight Fourteen Modulation, CD是16bit 44.1KHz的, 分兩組就是8bit X 2, 那8個bit存在CD上就不是用8bit, 是用14bit去代替, 有甚麼好處呢? 就是改錯, 14bit中如果缺失或有些bit錯, CD機有能力直接改正其錯誤, 出一個無誤的8bit, 四組合起來就成為了兩聲道16bit了.
好像CS8412/8414的28腳變成高電平時就代表這個改錯系統都不能改正CD的錯誤.
CD上的數據還不是全部順序排列的, 這就使錯誤分散, 更容易改錯.
DVD用的不是EFM, 是ESM, 即是8bit用16bit去表示, 改錯能力更強......
索驥樂傳真,不識體人心;
深情盡內歛,細意藏腦深!

又說說等線速.
CD是由內圈唱到外圈, 半徑會不斷增加, 圓週就不斷增大, 但data的距離是不變的, 所以CD機就會越轉越慢, 由內圈的500rpm到最外圈的200rpm. 這個轉速是怎樣得來的呢, 其實就是靠CD本身的時鐘, 一秒輸出44.1K組立體聲數據...
實際的做法可以這樣, 先讀些數據入RAM, 處理後就按時鐘不斷輸出數據, 同時偵測RAM內存在的數據有多少, 多就減慢轉速, 少就增加轉速, 這就會使等線速可以正常工作.
換句話說, 這個RAM其實亦是變相的FIFO, 對CD機的jitter可降低很多! 應該說, 沒有此RAM CD機就不能工作, EFM也不能解調!

索驥樂傳真,不識體人心;
深情盡內歛,細意藏腦深!

Banny Teacher,

Because I cannot type Chinese, always not feel good to post here. But I still want to ask some basic question.

As my limited knowledfe, there are two trends for CD encode/decode, one called 1-bit and the other called multi-bit. What is their theory and what is their pros and cons ?

Lamma

原文由 [B]lamma[/B] 发表:

Banny Teacher,

Because I cannot type Chinese, always not feel good to post here. But I still want to ask some basic question.

As my limited knowledfe, there are two trends for CD encode/decode, one called 1-bit and the other called multi-bit. What is their theory and what is their pros and cons ?

Lamma



不要介意英文中文問題, 有必要我甚至可以幫兄弟們做翻譯, 沒有問題!
其實CD的格式是16bit 44.1KHz PCM, 1bit是怎樣出來的呢?
先要知道16bit PCM是甚麼, 基本就是用16個0/1的data去代表那一刻電壓的值, 例如一部CD機最高電平是+1V, peak to peak就會是2V, 那麼+1V那一點就等於01111111111111111, 因為是用2's complement, 第一位0代表正, 1代表負. 負1V就是1000000000000000. +0.5V就是0011111111111111.
最原始的DAC就是用正負15組電阻共30組電阻去做一個電流源, 根據PCM數據去開關每一組電阻, 而MSB的電阻數值是比第二位MSB的阻值細一半, 此之為R-2R DAC, 但試想, 假如MSB的電阻是1K, 那麼LSB是甚麼呢? 是16.384M, 要30支電阻都很準確是不易的, 又因正負的控制電路可能有誤差, 又可能出現直流漂移過零失真等, 問題不是不能解決, 只是成本會高, 而後來更出現18/20/24bit的DAC, 要高精度成本就更高.
Philips與Sony就想出一個低成本但性能不差的方案, 利用PWM或PDM, 數據先經數碼濾波去減少44.1KHz以上的noise, 再用DSP把數據改做, 0111111111111111就變成256個1, 1000000000000000就變成256個0, 0011111111111111就變成011101110111........0111. 1bit每一個1就是5V, 0就是0V, 只要加一個low pass filter(積分電路), 隔開個直流, 一個decode了的analog波型就出來了. 後來又把256倍改良成384倍, BB又改良成它的Delta Sigma DAC, 再加上其他的小手段, 噪音整型(把低頻的noise推到超音頻).... 就成為了現在的1bit或Delta Sigma DAC了.

索驥樂傳真,不識體人心;
深情盡內歛,細意藏腦深!
為何要超取樣?<BR>CD機的取樣頻率本來是44.1KHz, 就算甚麼都不做, 也可以去到22KHz, 但有個大問題, 就是44.1KHz以上會出現很大的噪音, 以前沒有超取樣的CD機都會用一個多階LPF去濾除那超音頻噪聲, 為何要濾除呢, 人耳又聽不到?<BR>看看這裡5樓:http://www.feverhifi.com/viewthread.php?tid=293但多階LPF同時會出現高頻不平直, 相位漂移大, 如果用電感的話音頻訊號更要走一條很長的線, 好聲的機會就相對地低了!<BR>如果加入一個數字濾波, 如果是8倍超取樣, 那麼由22.05KHz至352.8KHz的noise就接近0(當然訊號也是0), 那個LPF就可以很低階甚至不用了. 相對地出好聲的機會也會更高. 又數字濾波的成本比模擬濾波器較低, 再加上廣告上更有優勢, 結果就是幾乎後來所有CD機都有多倍超取樣(數字濾波)了.
索驥樂傳真,不識體人心;
深情盡內歛,細意藏腦深!
為何要有18/20/24bit的DAC?
CD的格式是16bit, 加入幾多bit的DAC其訊號量都不會增加的, 18/20/24bit的DAC又有甚麼好處呢?
原因就是數字濾波器, 試想想, 8倍超取樣的數字濾波器就是兩個CD數據中插入7個新數據, 如果用10進制的話, 假如CD第一支bit是0, 第二支bit是8, 中間就會插入1,2,3,4,5,6,7, 但如果第二支bit是4又怎樣呢? 結果是插入0,1,1,2,2,3,3, 這個結果就與4倍超取樣沒有大分別. 如果第二支bit是1又怎樣呢? 結果是0,0,0,1,1,1,1, 這就與沒有超取樣一樣了, 怎樣解決呢? 方法就是加bit, 加到20bit後, 任何兩點都可以做到很平滑的插值了. 那麼說來對於8倍超取樣, 24bit是不是多餘的呢, 假如DAC的靜態噪聲超過20bit的理論值(118dB), 就不是多餘了, 但放大器, 喇叭, 室內動態範圍又有那處可以超過100dB的呢? 所以基本上24bit只是數據比20bit好, 實質如何就見人見智!
索驥樂傳真,不識體人心;
深情盡內歛,細意藏腦深!

18/20/24bit又有甚麼作用呢?
基本上CD只有16bit, 任何更多bit的DAC都不能使它增加訊息量, 那麼18/20/24bit是不是多餘的呢?
原因就是數字濾波器, 例如8倍超取樣數字濾波器, 它會在CD的第一個與第二個數據中插入7個新增數據, 假如CD的第一支bit是0(先用10進制, 更易說得明), 第二支bit是8, 中間就會插入1,2,3,4,5,6,7, 但如果CD第二支bit是4又怎樣呢? 就會插入0,1,1,2,2,3,3, 這就與4倍超取樣沒有分別了! 又如果CD的第二支bit是1又怎樣? 就會插入0,0,0,1,1,1,1, 這就與沒有超取樣沒有分別了! 解決的方法就是加bit, 例如用20bit的數字濾波器與20bit的DAC, 任何兩點間都可以插值插得很平滑了!
如此說來, 24bit是不是多餘呢? 假如24bit DAC的s/n ratio多過20bit的理論值(120dB), 24bit就不會是多餘了, 最起碼噪音會低了! 但只計DAC是不夠的, 還要計放大器, 音箱, 聽音室的噪音水平, 動態範圍......
理論歸理論, 好聽與否還要看很多其他點, 耳朵不接受數據幾好也是沒有用的! 但真正好聲的器材數據一般不會差......

索驥樂傳真,不識體人心;
深情盡內歛,細意藏腦深!

Banny,

From put CD on the tray until output analog signal. There are different steps or processes being done in a CD-Player. Let's say digital reveice IC, digital filter, sampling, DSP, LPF, I/V etc. Can you briefly explain the whole process from start to end ? Moreover, there are terms say re-clock, De-empesis, I2S interface .... can talk about them as well ... Sorry too many questions .... :(

Lamma

好貼!BS兄講解得好好,學習受教了.

雪人的发烧窝
--澳門音響DIY俱樂部--

原文由 [B]mousedog[/B] 发表:

好貼!BS兄講解得好好,學習受教了.



小弟只想拋個磚出來, 引些好玉.
老實說, 我只識一點皮毛....
索驥樂傳真,不識體人心;
深情盡內歛,細意藏腦深!

原文由 [B]lamma[/B] 发表:

Banny,

From put CD on the tray until output analog signal. There are different steps or processes being done in a CD-Player. Let's say digital reveice IC, digital filter, sampling, DSP, LPF, I/V etc. Can you briefly explain the whole process from start to end ? Moreover, there are terms say re-clock, De-empesis, I2S interface .... can talk about them as well ... Sorry too many questions .... :(

Lamma



好! 問題多多, 給我多點機會發謬論!
不過要等一等, 讓我有時間去打字.....

『banny_seng最后编辑于2007-2-9 0:03:59』

索驥樂傳真,不識體人心;
深情盡內歛,細意藏腦深!
CD由讀碟至出聲真是經過很多步的, 計有CD轉盤的控制與servo系統, 光頭的半徑控制, 對焦, lazer強度, EFM decode, 改錯, SPDIF encode, SPDIF output, 送到DAC又要DIR(SPDIF decode), 部份DAC會升頻, 數碼濾波(可加上HDCD decode, de-emphasis), DAC, I/V, LPF, 甚至有analog output buffer. 每一步都是重要的, 部份甚至是不容有錯, 要每一點都說清楚的話可能要出幾本書, 或者這只是論壇, 很多東西都無需深究, 講講大蓋理論算了, 希望我可以說到一點點, 亦希望所有有識之仕幫幫忙, 講一講.....
索驥樂傳真,不識體人心;
深情盡內歛,細意藏腦深!
不如說一說SPDIF format.
SPDIF是32bit 一組的data, 其中:
bit 1-4: sync
bit 5-8: AUX
bit 9-28: audio sample, 9-12 always 0
bit 29: audio valid
bit 30: user data
bit 31: channel status
bit 32: parity
但送出去之前再做一向個biphase mark code, 即是用00或11代表0, 10或01代表1, 所以SPDIF沒有正反相問題.
試計SPDIF的頻率: 32 X 44.1KHz ~ 32 X 2 X 44.1KHz = 1.4112MHz ~ 2.8224MHz, 中位數約是2.1MHz.
索驥樂傳真,不識體人心;
深情盡內歛,細意藏腦深!
What about any possibility to build a CD Laser Power Adjustment control on the transport during playing ?
Lamma

原文由 [B]lamma[/B] 发表: What about any possibility to build a CD Laser Power Adjustment control on the transport during playing ?
Lamma



想做此功能, 首先要明白CD機怎樣去控制Laser的power.
Laser管有三隻腳, 其中一隻是地, 一隻是laser, 還有一隻是sensor, 用作監察laser的強度.
讀CD時, laser power是經過一個servo電路去控制, 一開始時出個比較低的電流到laser二極管, sensor的阻值就會隨laser的強弱去改變, 經servo IC去供給一個直流電流給一隻三極管, 放大後就送回到laser管.
要控制監察其電流基本上有兩樣事一定要做, 一是監察, 通常會在三極管的E腳與laser之間加粒電阻, 度其電壓用I=V/R的工式就可計算laser的電流. 控制電路通常會接在sensor與地之間, 用一可變電阻去bias其阻值, 想電流大些就減其阻值, 想電流細些就增加其阻值.
當然, 以上電路都不可能在laser頭上做, 因為laser頭是活動的, 你不可能一路唱一路去度/改其電流, 通常那可變電阻會加在servo的IC邊, 那電阻也盡量接近三極管. 這兩粒零件一般都在PCB上.
索驥樂傳真,不識體人心;
深情盡內歛,細意藏腦深!
有無人用過HDCD解碼? 是否有必要呢? 首先要講甚麼是HDCD, 有興趣可看: http://en.wikipedia.org/wiki/High_Definition_Compatible_Digital但是, 有幾多CD有HDCD編碼呢? 答案是多到你唔信, 除了盒面印明有HDCD的原裝CD, 很多流行曲CD都有HDCD但無印上, 國內的引進版甚至由無HDCD的原版變成有HDCD的引進版! 以我的CD來說, 大蓋有30~35%的CD有HDCD編碼! 如果有HDCD編碼的CD在沒有HDCD解碼的DAC/CD player播會點呢? 結果是動態差一班. HDCD的原理是甚麼呢? 其實除了上面那個web site講的內容外, 更重要的是它用非線性編碼法(CD是用線性編碼), 舉個例子吧: 即是音量低時每bit的level是2倍, 音量高時每bit做2.5倍甚至3倍, 人耳對小的變化會很敏感, 對大聲時分析力會減低, 用這方法, HDCD就可以用16bit的CD放上20bit的音樂數據. 要造這個編碼, 一定要用PM出的HDCD編碼器, 原來很多錄音室都有. 但playback HDCD想不失真就不可能用一般DAC, 一定要有HDCD的解碼. 如果用有HDCD解碼的DAC播無HDCD的CD又怎樣呢, 答案是大部份的DAC都打了個小節扣, 但小部份的DAC(大多數是高價)是同無HDCD的一樣! 怎樣選擇好的HDCD解碼? 這個是一個很難答的問題, 但我盡量答得好些. 首先要找有高級HDCD的數碼濾決器, 市面上最好的只有兩種IC(特制的不計)可以買到, 就是PMD100 與 PMD200. 第二樣要留意的就是用甚麼DAC IC, 我聽過最好聲的就是Burr Brown的PCM63, PCM1702, PCM1704. 第三要留意的就是DAC播一般CD時-6dB是在Digital domain做還是analog domain做還是唔做; 唔做是最好, digital domain做是最差(差左6dB S/N ratio同分析力). 最後要留意的就是analog circuit 與電源.
索驥樂傳真,不識體人心;
深情盡內歛,細意藏腦深!
返回列表