首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对端口音频信号fftw处理的再认识

对端口音频信号fftw处理的再认识
EN

Stack Overflow用户
提问于 2016-02-29 21:55:56
回答 2查看 355关注 0票数 2

我想使用portaudiofftwpp分析从麦克风端口获得的信号。为此,我遵循了here提供的解释。我现在的问题是:

这里声明我应该从传入的数据中分出一个窗口。我的数据已经被分块了,在我只记录了很短的一段时间后,然后对其进行处理。因此,我假设一个矩形窗口已经应用于我的数据。对吗?

现在我得到了200k个数据点,我是否应该直接将它们放入一个数组中:

代码语言:javascript
复制
    Array::array1<Complex> F(np,align);
    Array::array1<double> f(n,align);               // For out-of-place transforms
    //  array1<double> f(2*np,(double *) F()); // For in-place transforms

    fftwpp::rcfft1d Forward(n,f,F);
    fftwpp::crfft1d Backward(n,F,f);
    qDebug() << "Putting " << numSamples << " into an array!";
    for(int i = 0; i < numSamples; i++)
        f[i] = this->data.recordedSamples[i];

或者我应该把他们分开?如果我把它们都放在一个数组中,我能得到什么分辨率呢?我的采样率设置为44.1 kHz。

EN

Stack Overflow用户

发布于 2016-02-29 22:19:00

因此,我假设一个矩形窗口已经应用于我的数据。对吗?

在某种程度上,窗口通常用于滤除由于信号的突然开/关状态引起的高频失真,或者减少或重新排序频谱泄漏(https://en.wikipedia.org/wiki/Spectral_leakage)

如果要可视化fft,建议应用窗口,尤其是(非矩形)窗口。有关选项,请参见https://en.wikipedia.org/wiki/Window_function#Hann_.28Hanning.29_window

请注意,您要在fft之前应用窗口。

还是我应该拆分它们?

嗯,这取决于你的要求。但一般来说,由于窗口的原因,采样时间越长,FFT在这段时间内的精度就越高,尽管这种技术并不少见,但这是最好的。

那么我应该得到哪种分辨率?

分辨率是采样率除以样本计数。

票数 1
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35701407

复制
相关文章

相似问题

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