zoukankan      html  css  js  c++  java
  • 频域分辨率与DFT,DCT,MDCT理解

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

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

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

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

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

    DCT和DFT比较

    再引用wikipedia上对DCT的解释

    注意里面的解释: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的论文。有时间另将分析。

  • 相关阅读:
    解决vue空格换行报错问题
    基本的项目开发流程(前后端开发)
    whl包构建
    Python虚拟环境创建
    页面适配 JS
    SpringBoot整合Ehcache3
    SpringBoot文件分片上传
    SpringBoot访问jar包静态文件
    SpringBoot整合Minio文件存储
    SpringBoot多环境配置文件打包
  • 原文地址:https://www.cnblogs.com/gaozehua/p/3516556.html
Copyright © 2011-2022 走看看