Questions tagged «fft»

5
如何获得FFT中每个值的频率?
我有一个FFT结果。它们存储在两个double数组中:实部数组和虚部数组。如何确定与这些阵列中的每个元素相对应的频率? 换句话说,我想创建一个数组来存储FFT的每个实部和虚部分量的频率。

8
Python / SciPy的峰值发现算法
我可以通过找到一阶导数的零交叉点或类似的东西自己写点东西,但是它似乎包含在标准库中,具有足够的通用性。有人知道吗? 我的特定应用是2D阵列,但通常将其用于查找FFT等中的峰值。 具体来说,在这些类型的问题中,有多个强峰值,然后是由噪声引起的许多较小的“峰值”,应将其忽略。这些仅仅是示例;不是我的实际数据: 一维峰: 二维峰: 峰值查找算法将找到这些峰的位置(而不仅仅是它们的值),理想情况下,可能会使用二次插值或其他方法找到真正的样本间峰,而不仅仅是具有最大值的索引。 通常,您只关心几个强峰,因此选择它们是因为它们高于某个阈值,或者因为它们是有序列表的前n个峰(按振幅排序)。 正如我说的,我自己会写这样的东西。我只是问是否有一个已知的运作良好的功能或软件包。 更新: 我翻译了一个MATLAB脚本,它在1-D情况下工作得很好,但可能会更好。 更新的更新: sixtenbe 为一维案例创建了更好的版本。

4
使用快速傅立叶变换分析音频
我正在尝试在python中创建图形频谱分析仪。 我目前正在读取16位双通道,44,100 Hz采样率音频流的1024个字节,并将两个通道的幅度平均在一起。因此,现在我有一系列256条带符号的短裤。现在,我想使用numpy之类的模块在该阵列上执行fft,并使用结果创建图形频谱分析仪,其开始时只有32条。 我已经阅读了有关快速傅立叶变换和离散傅立叶变换的维基百科文章,但是我仍然不清楚结果数组代表什么。这是我使用numpy在数组上执行fft后的数组外观: [ -3.37260500e+05 +0.00000000e+00j 7.11787022e+05 +1.70667403e+04j 4.10040193e+05 +3.28653370e+05j 9.90933073e+04 +1.60555003e+05j 2.28787050e+05 +3.24141951e+05j 2.09781047e+04 +2.31063376e+05j -2.15941453e+05 +1.63773851e+05j -7.07833051e+04 +1.52467334e+05j -1.37440802e+05 +6.28107674e+04j -7.07536614e+03 +5.55634993e+03j -4.31009964e+04 -1.74891657e+05j 1.39384348e+05 +1.95956947e+04j 1.73613033e+05 +1.16883207e+05j 1.15610357e+05 -2.62619884e+04j -2.05469722e+05 +1.71343186e+05j -1.56779748e+04 +1.51258101e+05j -2.08639913e+05 +6.07372799e+04j -2.90623668e+05 -2.79550838e+05j -1.68112214e+05 +4.47877871e+04j -1.21289916e+03 +1.18397979e+05j -1.55779104e+05 +5.06852464e+04j 1.95309737e+05 +1.93876325e+04j -2.80400414e+05 …

7
在Python中绘制快速傅立叶变换
我可以访问NumPy和SciPy,并希望为数据集创建一个简单的FFT。我有两个列表,一个是y值,另一个是这些y值的时间戳。 将这些列表输入SciPy或NumPy方法并绘制所得FFT的最简单方法是什么? 我查看了示例,但是它们都依赖于创建具有一定数量的数据点和频率等的伪造数据集,而并没有真正展示如何仅使用一组数据和相应的时间戳来做到这一点。 。 我尝试了以下示例: from scipy.fftpack import fft # Number of samplepoints N = 600 # Sample spacing T = 1.0 / 800.0 x = np.linspace(0.0, N*T, N) y = np.sin(50.0 * 2.0*np.pi*x) + 0.5*np.sin(80.0 * 2.0*np.pi*x) yf = fft(y) xf = np.linspace(0.0, 1.0/(2.0*T), N/2) import matplotlib.pyplot as plt …
98 python  numpy  scipy  fft 

4
了解FFT输出
我需要一些帮助来了解DFT / FFT计算的输出。 我是一位经验丰富的软件工程师,需要解释一些智能手机加速度计的读数,例如查找主频率。不幸的是,我15年前睡过大部分大学的EE课程,但最近几天我一直在阅读DFT和FFT(显然没有用)。 请不要回答“参加EE课程”。如果我的雇主付钱给我,我实际上打算这样做。:) 所以这是我的问题: 我已经捕获到32 Hz的信号。这是我在Excel中绘制的32分的1秒示例。 然后,我从哥伦比亚大学获得了一些用Java编写的FFT代码(遵循了“ Java中可靠而快速的FFT ”一文中的建议)。 该程序的输出如下。我相信它正在运行就地FFT,因此它对输入和输出都使用相同的缓冲区。 Before: Re: [0.887 1.645 2.005 1.069 1.069 0.69 1.046 1.847 0.808 0.617 0.792 1.384 1.782 0.925 0.751 0.858 0.915 1.006 0.985 0.97 1.075 1.183 1.408 1.575 1.556 1.282 1.06 1.061 1.283 1.701 1.101 0.702 ] Im: [0.0 0.0 …


9
快速傅立叶变换(FFT)在C#中的实现
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow的主题。 3年前关闭。 改善这个问题 在哪里可以找到C#中免费,快速,可靠的FFT实现? 那可以用在产品上吗?还是有任何限制?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.