首先膜拜下wikipedia:
我們已經知道dft將訊號變換為復指數訊號的線性組合,並且如果時域訊號是偶對稱的,那麼頻域將只有實部(復指數的余弦部分)。所以,如果將有限長訊號延拓為偶對稱的,就可以將其變換為余弦訊號的線性組合。
以下面的原始訊號作為例子
這個訊號的長度為4。
若原始訊號長度為n,那麼延拓後的時域週期為2n-2。
由於時域週期為2n-2,所以基頻為cos(2pi/(2n-2))。求和區間本應為[0, 2n-2-1],考慮到余弦函式是偶函式,求和區間可以限定為[0, n-1],同時對x[n]加權,並將求和結果乘以2。
一倍頻處,k=1,基函式為cos(πn/(n-1));
2n-3倍頻處,k=2n-3,基函式為cos(π(2n-3)n/(n-1))=cos(π(2n-2-1)n/(n-1))=cos(π(2n-2)n/(n-1) - πn/(n-1))=cos(πn/(n-1))。
即1倍頻和2n-3倍頻有相同的基函式。
因此,dct-1的結果x[k]與經過延拓後的時域訊號具有相同的對稱形式:
延拓後的時域週期為2n。
類似dct-1,可以分別計算出1倍頻和2n-1倍頻處的基函式,它們相差乙個負號。所以dct-ii的頻域和時域圖形*不*具備相同的對稱形式:
dct-ii變換式中的cos因子會出現非0相位,是因為拓展後的時域訊號是關於半訊號點對稱的,而cos的零相位點對著這個對稱點。
離散余弦變換
離散余弦變換 dct for discrete cosine transform 是與傅利葉變換相關的一種變換,它類似於 離散傅利葉變換 dft for discrete fourier transform 但是只使用實數。離散余弦變換相當於乙個長度大概是它兩倍的離散傅利葉變換,這個離散傅利葉變換是...
離散余弦變換 DCT
由上面的引用可見,位元速率壓縮基於變換編碼和熵值編碼兩種演算法。前者用於降低熵值,後者將資料變為可降低位元數的有效編碼方式。在mpeg標準中,變換編碼採用的是dct,變換過程本身雖然並不產生位元速率壓縮作用,但是變換後的頻率係數卻非常有利於位元速率壓縮。jpeg影象壓縮演算法 輸入影象被分成8 8或...
離散余弦變換DCT
離散余弦變換的函式如下 void dct double data,int len,double dct,int dctnum dct i log data j cos i j 0.5 3.141592653589793 len double md dct i dct i k double temp2...