※ 引述《wahaha99 (此方不可長)》之銘言:
: 嗯...本著小白不怕死的實驗精神,做了幾項實驗,順便跑了RMAA
: ....這個結果有夠歡樂的:
: http://biotoxicity.0fees.net/RMAA2/Comparison.htm
: Original 96K: 原生96K檔案
: 96K by PPHS: PPHS 從 48K 升頻到 96K (Ultra mode)
: 96K by AIR no-int: AIR(本人惡搞SRC) 從48K升頻到96K (不含插補)
: 96K by AIR: AIR(本人惡搞SRC) 從48K升頻到96K (含插補)
: 嗯...被AIR惡搞過後Noise level竟然勝過原生的!? 不可能啊XD 計算出了什麼問題吧?
: 不過除了頻率響應以外....失真是 AIR插補 < AIR不補 < PPHS
: 嗯,這太豪洨了,沒有演算法可言的東西也能有神效嗎?
: 當然不用高興的太早, 頻率響應.... AIR 很.慘.....
: 放大看就根本是個半圓 XD (原因不明 有請高手解釋)
: 而且因為沒有LPF, 過24k後面一整個歡樂.... 出現了傳說中的頻譜鏡射......
: (好了,這下子真的驗證為什麼oversampling 都要放digital LPF)
: 某首歌的截圖: http://biotoxicity.0fees.net/RMAA2/mirror.gif
: (這是AIR不含插補的圖,插補後好一點點....)
: ...這是什麼東東 = =;;;; 感覺像是方波引起的,請高手解釋吧
: 結論:
: 1.天下沒有白吃的午餐...(我朋友說用牛頓曲線可以逼到很近啦 多近不知道)
: 2.聽起來怎樣不知道...我只知道這很惡搞.....
: 3.下次要惡搞前應該要先去K一K訊號原理....(數學啊...orz)
從 DFT 的定義開始(http://en.wikipedia.org/wiki/Discrete_Fourier_transform)
N-1
X_k = Σ x_n exp(-2πi k n/N)
n=0
x_n 為時域資料,n = 0,1,2,...,N-1
X_k 為頻域資料,k = 0,1,2,...,N-1
我要偷懶只算不含補差,只有昇頻的部分
|假設原來的數據:0, 1, 2 ... (x_n ←→X_k )
|昇頻後變成這樣:0, 0, 1, 1, 2, 2... (x'_n←→X'_k)
2N-1
X'_k = Σ x'_n exp(-2πi k n/2N)
n=0
N-1 N-1
= Σ x'_2n exp(-2πi k 2n/2N) + Σ x'_2n+1 exp(-2πi k (2n+1)/2N)
n=0 n=0
N-1
= Σ x_n exp(-2πi k n/N) * [ 1 + exp(-2πi k/2N) ]
n=0
= X_k * [ 1 + exp(-2πi k/2N) ]
這個多出來的係數 abs[ 1 + exp(-2πi k/2N) ] 隨 k 遞減,當 0 < k < N
---
補上線性內插的結果
|假設原來的數據:0, 1, 2, ... (x_n ←→X_k )
|昇頻後變成這樣:0, 0.5, 1, 1.5, 2, ... (x'_n←→X'_k)
X'_k = (過程省略,再省略一兩個多餘項)
= X_k * [ 1 + 0.5 exp(-2πi k/2N) + 0.5 exp(2πi k/N) ]
--
: 嗯...本著小白不怕死的實驗精神,做了幾項實驗,順便跑了RMAA
: ....這個結果有夠歡樂的:
: http://biotoxicity.0fees.net/RMAA2/Comparison.htm
: Original 96K: 原生96K檔案
: 96K by PPHS: PPHS 從 48K 升頻到 96K (Ultra mode)
: 96K by AIR no-int: AIR(本人惡搞SRC) 從48K升頻到96K (不含插補)
: 96K by AIR: AIR(本人惡搞SRC) 從48K升頻到96K (含插補)
: 嗯...被AIR惡搞過後Noise level竟然勝過原生的!? 不可能啊XD 計算出了什麼問題吧?
: 不過除了頻率響應以外....失真是 AIR插補 < AIR不補 < PPHS
: 嗯,這太豪洨了,沒有演算法可言的東西也能有神效嗎?
: 當然不用高興的太早, 頻率響應.... AIR 很.慘.....
: 放大看就根本是個半圓 XD (原因不明 有請高手解釋)
: 而且因為沒有LPF, 過24k後面一整個歡樂.... 出現了傳說中的頻譜鏡射......
: (好了,這下子真的驗證為什麼oversampling 都要放digital LPF)
: 某首歌的截圖: http://biotoxicity.0fees.net/RMAA2/mirror.gif

: ...這是什麼東東 = =;;;; 感覺像是方波引起的,請高手解釋吧
: 結論:
: 1.天下沒有白吃的午餐...(我朋友說用牛頓曲線可以逼到很近啦 多近不知道)
: 2.聽起來怎樣不知道...我只知道這很惡搞.....
: 3.下次要惡搞前應該要先去K一K訊號原理....(數學啊...orz)
從 DFT 的定義開始(http://en.wikipedia.org/wiki/Discrete_Fourier_transform)
N-1
X_k = Σ x_n exp(-2πi k n/N)
n=0
x_n 為時域資料,n = 0,1,2,...,N-1
X_k 為頻域資料,k = 0,1,2,...,N-1
我要偷懶只算不含補差,只有昇頻的部分
|假設原來的數據:0, 1, 2 ... (x_n ←→X_k )
|昇頻後變成這樣:0, 0, 1, 1, 2, 2... (x'_n←→X'_k)
2N-1
X'_k = Σ x'_n exp(-2πi k n/2N)
n=0
N-1 N-1
= Σ x'_2n exp(-2πi k 2n/2N) + Σ x'_2n+1 exp(-2πi k (2n+1)/2N)
n=0 n=0
N-1
= Σ x_n exp(-2πi k n/N) * [ 1 + exp(-2πi k/2N) ]
n=0
= X_k * [ 1 + exp(-2πi k/2N) ]
這個多出來的係數 abs[ 1 + exp(-2πi k/2N) ] 隨 k 遞減,當 0 < k < N
---
補上線性內插的結果
|假設原來的數據:0, 1, 2, ... (x_n ←→X_k )
|昇頻後變成這樣:0, 0.5, 1, 1.5, 2, ... (x'_n←→X'_k)
X'_k = (過程省略,再省略一兩個多餘項)
= X_k * [ 1 + 0.5 exp(-2πi k/2N) + 0.5 exp(2πi k/N) ]
--
All Comments