离散余弦变换

1. 简介

离散余弦变换类似于离散傅里叶变换,但是只使用实数。离散余弦变换相当于一个长度大概是它两倍的离散傅里叶变换。

2. 定义

离散余弦变换是一个线性的可逆函数 F:RnRnF: R^n \rightarrow R^n,其中 RR 是实数集。

2.1 DCT-1

fm=12(x0+(1)mxn1)+k=1n2xkcos(πn1mk)\begin{array}{c} f_m = {1 \over 2}(x_0 + (-1)^m x_{n-1}) + \sum_{k=1}^{n-2} x_k cos({\pi \over n-1}mk) \end{array}

边界条件:xkx_k 相对于 k=0k = 0 点偶对称,并且相对于 k=n1k = n-1 点偶对称;对 fmf_m 的情况也类似。

【注】DCT-1 不适用于 n<2n \lt 2 的情况,其他 DCT 类型都适用于所有的整数 nn

2.2 DCT-2

fm=k=0n1xkcos(πnm(k+12))\begin{array}{c} f_m = \sum_{k=0}^{n-1}x_k cos({\pi \over n}m(k + {1 \over 2})) \end{array}

边界条件:xkx_k 相对于 k=12k = -{1 \over 2} 点偶对称,并且相对于 k=n12k = n-{1 \over 2} 点奇对称;对 fmf_m 相对于 m=0m = 0 点偶对称,并且相对于 m=nm = n 点奇对称。

【注】DCT-2 是最常用的一种形式,通常直接被称为 DCT 。

2.3 DCT-3

fm=12x0+k=1n1xkcos(πn(m+12)k)\begin{array}{c} f_m = {1 \over 2}x_0 + \sum_{k=1}^{n-1}x_k cos({\pi \over n}(m + {1 \over 2})k) \end{array}

边界条件:xkx_k 相对于 k=0k = 0 点偶对称,并且相对于 k=nk = n 点奇对称;对 fmf_m 相对于 m=12m = -{1 \over 2} 点偶对称,并且相对于 m=n12m = n - {1 \over 2} 点偶对称。

2.4 DCT-4

fm=k=0n1xkcos(πn(m+12)(k+12))\begin{array}{c} f_m = \sum_{k=0}^{n-1} x_k cos({\pi \over n}(m + {1 \over 2})(k + {1 \over 2})) \end{array}

边界条件:xkx_k 相对于 k=12k = -{1 \over 2} 点偶对称,并且相对于 k=n12k = n - {1 \over 2} 点奇对称;对 fmf_m 类似。

2.5 DCT-5 ~ 8

上述四种 DCT-1 ~ 4 是和偶数阶的实偶 DFT 对应的。原则上,还有四种 DCT(DCT-5 ~ 8)变换时和奇数阶的实偶 DFT 对应的,其分母中都有一个 n+12n + {1 \over 2} 的系数。