首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >理解DCT的输出

理解DCT的输出
EN

Stack Overflow用户
提问于 2018-04-12 12:01:54
回答 1查看 1.1K关注 0票数 0

我很难理解离散余弦变换的输出。背景:我想通过只保存DCT最相关的频率来实现一个简单的音频压缩。为了有点笼统,我会把几个音轨切成一个固定大小的片段,比如说5秒。然后,我会对每个样本做一个DCT,找出哪个是所有短片段中最重要的频率。

然而,这不起作用,这可能是由于我的夫人的DCT。例如,见下面的图像:

第一个图像显示了音频轨道的前40秒的DCT (希望使它足够长,以便我得到一个很好的混合频率)。第二幅图像显示前十秒钟的DCT。mark图像显示了前40秒反向级联(如abc->abccba)的DCT,我在2e5处添加了一个垂直标记进行比较。音乐的样本是通常的44.1千赫。

以下是我的问题:

  1. 与DCT输出向量的单个值对应的频率是多少?是垃圾桶吗?比如,如果我在bin=10000上有一个峰值,那么在现实世界中,这个频率对应于哪个频率呢?
  2. 为什么第一个情节表现出强烈的振幅,比海岸更多的频率?我的直觉是,DCT将产生高达44.1kHz的所有频率的值(如果我在#1中的假设是正确的,则为88.2k ),只是尖峰的尺度会有所不同,这将弥补音乐中的差异。
  3. 为什么第三个情节表现出比第一个更多频率的强振幅?我以为把数据连在一起,就不会有任何新的频率了。

由于DCTand FFT/DFT非常相似,我试图了解更多有关ft的信息(帮助了),但显然这还不够。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-15 14:03:08

我自己想出来的。它确实写在我在问题中发布的链接中。对应于某一bin_id的频率由(bin_id * freq/2) / (N/2)给出。这从本质上可以归结为N=freq*t的bin_id*1/t,这意味着地块有不同的粒度。因此,如果plot#1在x位置有一个最高点,plot#2可能在x/4处显示一个高点,而plot#3在x*2处显示出一个高点。

图像打击显示plot#1数据被拉伸到其大小的两倍(蓝色),而plot#3数据显示为黄色。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49796019

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档