问题标签 [fft]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
22995 浏览

audio - 您如何分析 PCM 或 WAV 样本的基频?

我有一个样本保存在 DirectX 的缓冲区中。它是从乐器演奏和捕捉的音符样本。如何分析样本的频率(就像吉他调音器一样)?我相信涉及 FFT,但我没有指向 HOWTO。

0 投票
8 回答
3812 浏览

vba - VB FFT - 卡住理解结果与频率的关系

试图理解我正在使用的 fft(快速傅立叶变换)例程(窃取)(回收)

输入是一个包含 512 个数据点的数组,它们是一个样本波形。测试数据生成到这个数组中。fft 将此数组转换为频域。试图了解 fft 数组中频率、周期、采样率和位置之间的关系。我将举例说明:

=========================================

采样率为 1000 个样本/秒。以 10Hz 生成一组样本。

输入数组在 arr(28)、arr(128)、arr(228) 处具有峰值 ... 周期 = 100 个采样点

fft 数组中的峰值位于索引 6 处(不包括 0 处的巨大值)

=========================================

采样率为 8000 个样本/秒 以 440Hz 生成一组样本

输入数组峰值包括 arr(7), arr(25), arr(43), arr(61) ... period = 18 个采样点

fft 数组中的峰值位于索引 29 处(不包括 0 处的巨大值)

=========================================

如何将 fft 数组中的峰值索引与频率相关联?

0 投票
4 回答
718 浏览

vb.net - 如何分析点数组的“噪音”

已经完成 fft(如果您有兴趣,请参阅之前的帖子!)并得到了结果,这对我有帮助。想分析一个数组的噪音/尖刺(实际上是一个 vb.nre 的集合)。嗯,怎么解释...

当信号良好时,fft 功率结果是 512 个数据点(频率桶),所有数据点(频率桶)的值都很低,但可能有 2 或 3 个数组条目,并且范围不错(即峰值很高,相对于几乎空桶中的噪声值) . 因此,当绘制图表时,我们在这几个桶中的值中有一个很好的大峰值。

当信号很差/嘈杂时,数据值的分布(最大值到最小值)很低,并且在更多的桶中存在成比例的更高噪声。

分析这个数据集的噪声有什么好处,计算量不大?某种统计方法、标准偏差或其他方法会有所帮助吗?

0 投票
9 回答
131706 浏览

c# - C# 中快速傅里叶变换 (FFT) 的实现

在哪里可以找到免费、非常快速且可靠的 C# 中 FFT 实现?

那可以用在一个产品上吗?或者有什么限制吗?

0 投票
7 回答
10598 浏览

matlab - matlab 快速傅里叶变换。卡住频率和结果之间的理解关系

我们正在尝试分析围绕圆柱体的流动,并且我们有一组从风洞实验中获得的 Cp 值。最初,我们以 20 Hz 的采样频率开始,并尝试在 matlab 中使用 FFT 找到涡旋脱落的频率。我们得到了大约 7 Hz 的频率。接下来,我们做了同样的实验,但我们唯一改变的是采样频率——从 20 Hz 到 200 Hz。我们得到涡旋脱落的频率约为 70 Hz(这是图中峰值所在的位置)。无论我们输入什么 Cp 数据,图表都不会改变。峰值不同的唯一时间是我们改变采样频率的时候。涡旋脱落频率的增加似乎与采样频率成正比,这似乎根本没有意义。

0 投票
9 回答
9255 浏览

c# - 我在哪里可以找到一个好的 FFT 示例实现/教程?

我一直在到处寻找(最好是)C# 中的示例快速傅立叶变换实现/教程。

但是,我发现的每个人都无法解释正在发生的事情,和/或评论不佳;或者他们假设您已经知道 FFT 算法,或者他们是关于如何使用 FFT 的教程。

有人知道一个好的示例/教程吗?

0 投票
5 回答
16889 浏览

matlab - 帮我理解FFT函数(Matlab)

1) 除了负频率,FFT 函数提供的最小频率是多少?是零吗?
2)如果为零,我们如何在对数刻度上绘制零?
3)结果总是对称的?或者它只是看起来是对称的?
4)如果我使用 abs(fft(y)) 比较 2 个信号,我会失去一些准确性吗?

0 投票
5 回答
6831 浏览

matlab - 歌声与音乐的分离

我想知道如何为歌曲的声乐和非声乐片段分类执行“光谱变化检测”。我们需要从光谱图中找到光谱变化。关于此的任何详细信息,特别是涉及 MATLAB?

0 投票
4 回答
1682 浏览

java - 音乐转录

我正在做一个复调音乐转录项目。我已经阅读了一些论文并阅读了解释类似任务的文章。我对问题域的许多方面感到非常困惑。希望有人能帮助我。

到目前为止,我已经从给定的 mp3 中获得了解码后的音频数据流。

我知道发病检测是转录的第一步。. 是否有任何可用的 java 库可用于检测发病。

接下来,正如我所读到的,也使用 FFT 来检测基频。

我想知道 FFT 在这些任务中的用途。(我对 FFT 不太熟悉)。是否绝对有必要对发病检测和 F0 检测执行 FFT。如果不是还有什么其他方法。我可以对我拥有的音频流执行 FFT,还是必须执行一些其他操作才能操作这些音频数据。

非常感谢。

0 投票
4 回答
60867 浏览

python - 使用快速傅里叶变换分析音频

我正在尝试在 python 中创建一个图形频谱分析仪。

我目前正在读取 16 位双通道 44​​,100 Hz 采样率音频流的 1024 字节,并将 2 个通道的幅度平均在一起。所以现在我有一系列 256 条签名短裤。我现在想在该阵列上执行 fft,使用像 numpy 这样的模块,并使用结果创建图形频谱分析仪,开始时只有 32 个柱。

我已经阅读了关于快速傅里叶变换和离散傅里叶变换的维基百科文章,但我仍然不清楚结果数组代表什么。这是我使用 numpy 在我的数组上执行 fft 后数组的样子:

我想知道这些数字究竟代表什么,以及如何将这些数字转换为 32 个条形中每个条形的高度百分比。另外,我应该将两个通道平均在一起吗?