首页 > 代码库 > 离散余弦变换定义

离散余弦变换定义

在处理复数域信号时,离散傅立叶变换能够把它转换至频域,然而在实际中,大部分的信号都是处理实域信号,这样在离散傅立叶变换之后,由于其对称性,导致一半的冗余数据。在时域,信号的虚部为全0。在频域,其实部和虚部分别具有偶对称以及奇对称性。相比而言,离散余弦变换是针对时域信号的处理方法,它能够避免数据的冗余。另外,由于离散余弦变换是从离散傅立叶变换继承而来,它保留了一些离散傅立叶变换的优点。

为了对一个N点的时域信号013 进行离散余弦变换操作,首先需要对其进行扩展,扩展至2N个点,使其在时域周期性,如下:

002

这2N个点的序列的范围是[-N,N],它是一个周期信号,周期为2N,并且具有偶对称性,其对称点为m=-1/2。

003

为了使其0点对称,可以把序列往右移动1/2个单位,或者把序列的坐标轴往左移动1/2个单位,也就是定义

004这样定义之后,序列变成

005 该序列是偶对称,并且对称点在0点。下面的图可以反映这个关系

image

对该序列作傅立叶变换如下:

006

展开得到下式:008

由于偶对称,而six(-x) = -six(x),cos(-x) = cos(x),得到下式:

009

把坐标移动的式子代入:

010

上等的右边就是离散余弦变换的计算公式。对上面等式右边进一步简化为:

011其中c[n,m]定义如下:

                                                             

上面的矩阵就是余弦变换矩阵。