「高通晶元 + Android = 音質缺陷」的說法在今天看來仍然如此嗎?
謝邀,這個問題目前基本上被解決了——13年以後推出的手機可以不再這樣認為。
===冷笑的分割線===
呵呵,堂主又開始散布民科言論了,用模擬信號輸出的雜訊圖就不能解釋 SRC 么?劣質的 SRC 會造成頻率掃描圖形產生固定的網格狀失真,這是由於頻率混疊引起的後果,數學可以證明出來[1],軟體可以模擬出來,實驗也可以做出來,又有何處值得錯愕?
為證明該問題確實是由於 SRC 引起,我簡單地寫了一個在 Mathematica 上跑的小程序,對一組原始採樣頻率為 48KHz,經過最近鄰插值法處理後採樣頻率變為44.1KHz的正弦信號進行頻譜掃描的結果進行模擬,具體代碼放出來供各位參考討論:ori48000 =
Table[Round[3276.8 Sin[2 [Pi] x y/4800]], {x, 4800}, {y, 2000}];
src44100 = Table[ori48000[[Round[480. x/441.]]], {x, 4410}];
fft = Table[Abs[Fourier[src44100[[All, x]]]], {x, 2000}] /.
y_ /; y &< 1000 -&> 0;
Show[MatrixPlot[Reverse[Table[fft[[All, x]], {x, 2205}]],
PlotRange -&> All, ColorFunction -&> "TemperatureMap"],
ImageSize -&> Large, Frame -&> False, Axes -&> True, AxesStyle -&> Gray,
AspectRatio -&> 0.25]
為提高運算速度,該代碼將採樣率以及採樣深度同時縮小了 10 倍。此外該代碼還利用閾值判別對背景雜訊進行了消除。模擬結果如下所示:
以及來自步步高公司的內部資料,步步高對魅族 M9 的頻率掃描圖像:
和模擬的結果相比較,我相信結論應該是比較清楚的了。固定的網狀失真既不是來自於糟糕的電路設計也不是來自於集成晶元的問題,而是非常簡單地來自於數學上的重採樣問題,一個用 4 行代碼就能解釋清楚的問題。另外數碼多的原意是,安卓系統會強制將採樣率為 48kHz 的音頻 SRC 至 44.1kHz 下,而(原來的)高通晶元組會強制將採樣率為 44.1kHz 的音頻 SRC 至 48kHz 下,所以用 48kHz 原始音頻就可以避開強制 SRC 了?恰恰相反,使用 44.1kHz 的音源只會經過高通晶元組一道 SRC 過程,而使用 48kHz 的音源會連續經過安卓系統和高通晶元組兩道 SRC 過程——很明顯他連原文[3]都沒讀明白。
[1] 宗孔德,《多抽樣率信號處理》, 清華大學出版社, 1996[2] 趙宇為作品 - Samsung 三星 Galaxy S2 i9100 智能手機音質測評報告 [Soomal?數碼多]
[3] 數碼多的原文趙宇為作品 - Qualcomm 高通晶元組與Android音頻系統缺陷測評分析 [Soomal?數碼多]大家也許已經發現問題是如何發生的。從工作流程圖來看,系統中軟體播放節目源,將信號轉交操作系統驅動層,操作系統輸出後,轉交硬體部分最後輸出。在高通晶元組的Android手機中,Android系統如果遇到48KHz信號,會發生強制SRC到44.1KHz,而後交給高通晶元,高通晶元硬體遇到44.1KHz信號,再強制SRC到48KHz輸出。這是最悲慘的過程。當你播放一段視頻時,大多會遇到這樣的情況,因為目前視頻中音軌多數使用48KHz的採樣標準。另一種情況是,軟體播放的節目源為44.1KHz,Android支持,自然沒有問題,但高通晶元硬體層不支持,它還是要強制SRC至48KHz輸出。所以,就看到了我們提供的那張測試「全家福」的慘劇。
8064之後的高通SoC已經解決SRC採樣率問題。不用擔心了。
這種話聽過就好,別當真。沒有音質標準談什麼缺陷?
就算有缺陷,高通和安卓都仍在繼續發展中。缺陷是可以改善的。數碼多11年那篇文章,居然用模擬信號輸出的雜訊圖來解釋SRC,本身已經令人錯愕。其結論把惡聲歸罪於雙重SRC更是莫名——假如我用高通+安卓來聽48kHz原始音頻文件,是不是就不惡聲了?恐怕惡聲依舊存在。手機的音質缺陷,首先不是解碼層面的,而是D/A以後模擬信號處理模塊太糟糕。有個問題,好像高通S800的晶元解決了這個問題,不知道是怎麼解決的?有知道的同學嗎?謝謝
加個歐勝音頻獨立解碼晶元,一切問題都搞定了,自己的問題硬是扯到高通身上,明顯是外圍電路沒設計好
推薦閱讀:
※Core M性能真有如此不堪,A8X已經可以比肩了嗎?
※如何評價 ARM 的 big.LITTLE 大小核切換技術?
※如何看待高通選擇與貴州合作開發伺服器晶元?
※如何學習ARM嵌入式開發?
※樹莓派 (Raspberry Pi)或arduino能用來開發產品嗎?
TAG:ARM | 高通Qualcomm | Android | 音頻 |