离散余弦变换推导
discrete cosine transform
本文主要参考这篇知乎回答。
1974年,K. R. Rao、N. Ahmed、T. Natarajan三位教授创立了离散余弦变换(Discrete Cosine Transform, DCT)
(1)一维DCT
信号分析的课本上竟只讲了一维DCT,略有点失望呢
给一个序列/向量 s ( n ) , n = 0 , 1 , … , N − 1 s(n),n=0,1,\ldots,N-1 s(n),n=0,1,…,N−1,它的一维DCT:
{ S c o s ( 0 ) = 1 N ∑ n = 0 N − 1 x n S c o s ( k ) = 2 N ∑ n = 0 N − 1 x n cos [ ( 2 n + 1 ) k π 2 N ] , k = 1 , 2 , … , N − 1 \left\{ \begin{array}{c} S_{cos}(0)=\frac{1}{\sqrt{N}}\sum_{n=0}^{N-1}x_n \\ S_{cos}(k)=\frac{2}{\sqrt{N}}\sum_{n=0}^{N-1}x_n\cos[\frac{(2n+1)k\pi}{2N}],k=1,2,\ldots,N-1 \\ \end{array}\right. {
Scos(0)=N1∑n=0N−1xnScos(k)=N2∑n=0N−1xncos[2N(2n+1)kπ],k=1,2,…,N−1
变换核函数为实函数:
φ c o s ( k , n ) = 2 N g k cos [ ( 2 n + 1 ) k π 2 N ] , k , n = 0 , 1 , 2 , … , N − 1 \varphi_{cos}(k,n)=\sqrt{\frac2N}g_k\cos[\frac{(2n+1)k\pi}{2N}],k,n=0,1,2,\ldots,N-1 φcos(k,n)=N2