如何使用真正的kiss_fft音频分析仪?

时间:2015-05-02 23:06:41

标签: audio fft analyzer spectrum kissfft

我试图实施kiss FFT实际计算。

我确定每个人都知道我不是第一个在这里询问亲吻FFT的人,也不是具体的亲吻。我对FFT很新,但已经掌握了大部分基础知识,现在我正在尝试在ATxmega192A3的音频分析仪中实现它。

这是我复制和修改的基本代码,试图将512个8位ADC采样输入到FFT中,以获得256个输出频率区。

int size = 512;
int isinverse = 1;
kiss_fft_scalar zero;
memset(&zero,0,sizeof(zero));
kiss_fft_cpx fft_in[size];
kiss_fft_cpx fft_out[size];

kiss_fftr_cfg fft = kiss_fftr_alloc(size*2,0,0,0);

//load 512 samples from ADC into fft_in[].r and zero out fft_in[].i, fft_out[].i, and fft_out[].r

kiss_fftr(fft, (kiss_fft_scalar*) fft_in, fft_out);

以下是我的问题:

  1. 出箱有重叠吗?这意味着,如果我正在观看..说12Hz输出箱是仅显示12Hz并且没有部分地在12.1Hz中舍入(我知道音频不是那么精确,所以会有残留的物理效应导致干扰)?

  2. 我很难弄清楚如何使用kiss_fftr_cfg。我不确定所有的选项都标记在哪里,只要使用8位整数(或16位,但不是说这意味着我的所有输入样本都需要是16位?以前代码中的所有内容都是包括我在前两个int声明之外我不理解的cfg声明,并且我不确定为什么他使用memset而不是允许kiss_fftr来分配空间。我在哪里可以找到更多信息?我和已经通过kiss_fft浏览了大部分包含的文件,并且似乎没有找到有用的信息来挖掘代码而花费了数小时和数小时。

0 个答案:

没有答案