都說DCT和離散傅里葉變換DFT其實是一樣的,那咱們就從DFT推出DCT吧。
如果信號是實數,那麼DFT的係數有實部,有虛部,是複共軛的,也就是說正頻率的係數是負頻率係數的共軛,原理參考前兩篇博客:
連續信號的請看語音識別MFCC系列(一)——連續信號、傅里葉變換
離散信號的請看語音識別MFCC系列(二)——離散信號、離散傅里葉變換
那麼DCT最後求得的係數只有實部,沒有虛部。
有一段點的信號,我們構建一個點的序列:
這個點的序列以爲週期,對成軸對稱:
我們把向右移,設定,則對成軸對稱,下面我們簡要將其表示爲。
最終形成的點的序列的DFT爲:
因爲爲偶函數,是偶函數,爲奇函數,則:
吶,最後一行就是DCT啦,其實DCT就是講原點的信號對稱延拓爲點的序列再做個DFT啦,最後的係數沒有虛部,都是實數。