频域分辨率与DFT,DCT,MDCT理解

搞了这么久音频算法,有些细节还没有很清楚。

比如DFT和DCT有哪些区别,DFT系数为什么会是对称的,同样帧长的数据,各自的频域分辨率是多少?

今天决定搞清楚这些问题,

首先DFT的系数对称(2N点的数据做DFT,变换系数关于N点位置对称)是因为DFT的的变换基是对0~2π分析的,因为0到π和π到2π对称所以会对称。可以参见DFT公式

频域分辨率与DFT,DCT,MDCT理解

而DCT的系数就不会对称(2N点的数据做DCT,变换系数不对称)是因为DCT的变换基是对0~π分析的,故不会存在变换关系,可参加DCT变换。(以DCT2型为例子)

频域分辨率与DFT,DCT,MDCT理解

DCT和DFT比较

频域分辨率与DFT,DCT,MDCT理解

 

再引用wikipedia上对DCT的解释

频域分辨率与DFT,DCT,MDCT理解

注意里面的解释:DCT相当于一个长度是他两倍的实偶函数DFT。那么下面的问题来了,同样长度N的信号做DCT和DFT,各自的频域分辨率是多少。

 

注意,

上面引用给出另外两个引申,

第一:DST相当于一个长度是它两倍实奇函数DFT。

第二:MDCT相当于对交叠的数据进行DCT。

 

第二类问题:

对采样率为f hz的信号进行长度为2N的DFT分析它的频域分辨率是多少,第2N个信号表示多少hz:

答案:分辨率是f/2N。得到的第2N个频域系数,他代表的2π,也就是f Hz的信号。

对采样率为f hz的信号进行长度为2N的MDCT分析它的频域分辨率是多少,第N个信号表示多少hz(注意MDCT的输入是输出的2倍):

答案:分辨是是f/2N。得到的第N个频域系数,他代表的π,也就是f/2 Hz的信号。

对采样率为f hz的信号进行长度为2N的DCT分析它的频域分辨率是多少,,第2N个信号表示多少hz:

答案:分辨是是f/2N。得到的第2N个频域系数,他代表的π,也就是f/2 Hz的信号。

 

蓝色:表示注意。

红色:表示不确定。

 

红色的部分我不确认我分析的结果,希望有人能给些帮助。

 

本文不含MDCT,MLT和DCT的详细区别,编码特性等等,尤其是针对MLT和MDCT建议查阅Malvar的论文。有时间另将分析。

频域分辨率与DFT,DCT,MDCT理解

上一篇:poj1936_All in All


下一篇:JS function立即调用的几种写法