问题标签 [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 投票
1 回答
3468 浏览

algorithm - 快速平均平方差函数

我想知道是否有人知道一种快速(即 O(N log(N)) )计算周期信号的平均平方差函数(ASDF)或平均幅度差函数(AMDF)的方法,或者它甚至是可能的.

我知道可以使用 FFT 来计算周期性互相关。例如,在 Matlab 代码中,

相当于快得多

是否有类似的“快速”算法

或者

?

0 投票
6 回答
35655 浏览

python - Python中基于FFT的二维卷积和相关性

scipy(或其他流行的库)中是否有基于 FFT 的 2D 互相关或卷积函数?

有这样的功能:

  • scipy.signal.correlate2d- “直接方法实现的convolveND大数据会很慢”
  • scipy.ndimage.correlate- “使用精确计算(即非 FFT)将数组与给定内核相关联。”
  • scipy.fftpack.convolve.convolve,我不太明白,但似乎是错误的

numarray 有一个带switch的correlate2d()函数fft=True,但我猜 numarray 被折叠成 numpy,我找不到这个函数是否包含在内。

0 投票
1 回答
2895 浏览

c++ - 图像的 FFT

我有一个关于 fftw 的任务,我正在尝试编写一个小程序来创建图像的 fft。我正在使用 CImg 来读取和写入图像。但我得到的只是一张带有单个白点的深色图像:(

我很可能以错误的方式做这件事,如果有人能解释应该如何做,我将不胜感激。我不需要代码,我只需要知道执行此操作的正确方法是什么。

这是我的代码:

0 投票
3 回答
12558 浏览

audio - Is there an FFT that uses a logarithmic division of frequency?

Wikipedia's Wavelet article contains this text:

The discrete wavelet transform is also less computationally complex, taking O(N) time as compared to O(N log N) for the fast Fourier transform. This computational advantage is not inherent to the transform, but reflects the choice of a logarithmic division of frequency, in contrast to the equally spaced frequency divisions of the FFT.

Does this imply that there's also an FFT-like algorithm that uses a logarithmic division of frequency instead of linear? Is it also O(N)? This would obviously be preferable for a lot of applications.

0 投票
2 回答
5387 浏览

matlab - MATLAB 中的反向频谱图 A La Aphex Twin

我正在尝试将图像转换为 MATLAB 中的音频信号,方法是将其视为频谱图,就像 Aphex Twin 在Windowlicker上的歌曲一样。不幸的是,我无法获得结果。

这是我目前所拥有的:

所以,我对图像的列进行傅里叶逆变换,然后将它们放在一起形成一个信号。此外,此函数使用 MATLAB 的图像处理工具箱来读取图像。目标是有一些变化

导致看起来像原始图像的东西。我将非常感谢任何帮助!我只是在学习信号处理,所以如果有明显的误解,请不要感到惊讶。谢谢!


编辑:谢谢戴夫!我让它工作了!我最终得到了这个:

替代文字 替代文字

0 投票
3 回答
2595 浏览

python - 用于快速傅里叶变换 (FFT) 的推荐 Python 模块是什么?

将速度作为一个问题,选择另一种语言可能会更好,但是在 Python 中进行一维快速傅立叶变换 (FFT) 时,您选择的库/模块/实现是什么?

0 投票
4 回答
1895 浏览

algorithm - 使用快速傅里叶变换的多项式乘法

我正在阅读 CLRS(CORMEN) (第 834 页)中的上述主题,此时我陷入了困境。

谁能解释一下下面的表达式,

来自,

在哪里,

0 投票
3 回答
8323 浏览

audio - 向我解释 FFT

我想获取音频 PCM 数据并在其中找到峰值。具体来说,我想返回峰值出现的频率和时间。

我对此的理解是,我必须获取 PCM 数据并将其转储到一个数组中,将其设置为实际值,并将复杂部分设置为 0。然后我进行 FFT,然后我得到一个数组。如果数组中的每个数字都是一个幅度值,我如何获得与每个数字相关的频率?另外,我是取实数和复数部分的大小还是只丢弃复数?

最后,如果我想在一首歌曲中找到峰值,我是否只需将一个小窗口设置为 FFT 并将其滑过所有音频?关于该窗口应该有多大的任何建议?

0 投票
4 回答
35095 浏览

python - Python中频谱图的FFT

我将如何使用 Python 从 WAV PCM 文件中读取频率峰值,然后能够生成它的图像以进行频谱图分析?

我正在尝试制作一个程序,允许您读取任何音频文件,将其转换为 WAV PCM,然后找到峰值和频率截止。

0 投票
4 回答
2251 浏览

c++ - FFT 问题(返回随机结果)

我有这段代码,但它不断返回从 0 到大约 1050 的随机频率。请你帮我理解为什么会这样。

我的数据长度为 1024,采样率为 8192,数据是一个短数组,其中填充了来自麦克风的输入数据。

谢谢,

尼尔。

编辑:更改了代码,但它仍然返回随机频率。