问题标签 [dft]
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.
matlab - 验证卷积定理
我的主要目标是证明卷积定理有效(只是提醒一下:卷积定理意味着idft(dft(im) .* dft(mask)) = conv(im, mask)
)。我正在尝试对此进行编程。
这是我的代码:
我想比较resIFFT
和resConv
。我想我错过了一些铸造,因为如果我使用铸造来加倍,我会让矩阵中的数字更接近另一个。也许我在铸造或填充的地方有一些错误?
c# - 简单 DFT 低通
我在用 DFT 制作简单的低通滤波器时遇到了一些麻烦。最后,我希望能够实时转换音频,但就目前而言,我什至无法做到这一点。我在这方面没有受过培训,我只知道 FFT 将波转换为频率,而 iFFT 会这样做,以及我读过的其他一些内容。老实说,我很惊讶它的效果和到目前为止一样好。无论如何,这是代码:
samples
这里用 8Bit Unsigned PCM 填充。spos
<- 样本数
所以现在我已经为输入的 128 个样本部分计算了一堆 DFT。kick
是(我希望)DFT 中跨越 1000Hz 的样本数。IE 因为frequencies.Length / 2
包含高达rate/2
Hz 的频率幅度数据,所以frequencies[0].Length / 2 * shiftUp / (rate / 2)
=frequencies[0].Length * shiftUp / rate
应该给我正确的值
这是我遇到麻烦的部分。没有它,输出听起来很棒!这会跳过索引 0 和索引 64。它们都有一个复杂的 0 分量,我记得在某处读过索引 0 处的值很重要......
最后它撤消了转换
...把它扔回样本数组
...将其放入文件中
...然后我将其导入 Audacity 以用文物谋杀我的耳朵。
光谱显示显示代码在一定程度上有效
然而,整首歌曲中都会出现这些恼人的高音噼啪声。我听说过有关吉布斯现象和窗口函数的一些信息,但我真的不知道如何在这里应用它。该fade
变量是我对窗口函数的最佳尝试:超过 1000hz 标记的所有内容在 2 个样本中消失为 0。
有任何想法吗?
谢谢!
java - 使用 FFT 从调制信号中提取特定频率
我已经使用 FSK 用我的数据调制了载波频率信号,如下所示:
显然,我为 ZERO 发送 FREQUENCY_LOW,为 1 发送 FREQUENCY_HIGH。
现在我如何使用 FFT 解调它?我对整个时间的 FREQUENCY_LOW、FREQUENCY_HIGH 的采样幅度(存在和不存在)感兴趣。
我只知道 FFT 的基础知识,我开始写这个但它没有意义:
有人可以帮忙写代码吗?
c# - 从离散傅里叶变换数组中获取结果
我刚刚写了dft的实现。这是我的代码:
所以采样频率是 44100 Hz,我有一个 120Hz 正弦波的 50ms 段。根据结果,我在 pont 7 和 2200 处有一个 dft 函数的峰值。我做错了什么,如果没有,我应该如何解释结果?
我尝试了AFORGE的FFT方法。这是我的代码。
我曾期望得到原始符号,但我得到了一些不同的东西(一个只有正值的函数)。这正常吗?提前致谢!
python - 在 Python 中计算第 n 个 Unity 根
因此,我正在尝试编写一个算法 croot(k, n),它返回 n == n 的第 k 个统一根。我得到的答案大多是正确的,但它给了我非常奇怪的表示,对于某些数字来说似乎是错误的。这是一个例子。
输出是:
哇哇哇。所以当 k = 2 和 n = 8 时的根是错误的,因为它应该只是 i,它可以表示为 1j、j 或 1.00000j 等。有人可以帮我吗?我这样做是因为我正在尝试编写 FFT 算法。我对复数和 Python 不是很有经验,所以我很可能犯了一个简单的错误。
谢谢,
如果你们需要任何其他信息,请询问。
fft - 使用逆 DFT 从 DFT 中检索多项式系数
我正在尝试使用 DFT 将两个多项式相乘,但我不知道如何从它们相乘的 DFT 中获得最后一位。
所以有 p(x) = x - 4, dft -3, i-4, -5, -i-4 和 q(x) = x^2-1, dft 0, -2, 0, -2
度(pq)= 3
所以我们得到统一 1, i, -1, -i 的第 4 个根
pq 的 dft 为 0, 8-2i, 0, 8+2i。
有人可以告诉我现在如何从它的 dft 中获取 pq 的系数吗?
谢谢!
c++ - FFT:如何修改该算法以返回系数表示?
以下是 Cooley-Tukey FFT 算法的 base-2 实现(可在 Rosetta Code 上找到)。运行一次 FFT 后,数据数组将从系数变为点值表示。你如何转换回系数?
python - 如何读取 pdb 文件并使用 python 执行基于 FFT 的对接?
假设我有两个 PDB 文件(其中一个如下)
可以使用以下脚本在 python 中读取此文件。
现在我想生成N*N*N
维度网格并旋转和平移网格上的分子。旋转和平移可以通过使用 FFT(快速傅里叶变换)来完成。
我试着写如下
这一切实际上是为了使用 3d 网格和 FFT 对两个分子进行对接。我想知道如何进一步或更好的方法?
c# - Chris Lomont 的 C# FFT - 它是如何工作的
Chris Lomont 非常友好地为我们提供了一个使用 C# 的简洁 FFT 实现。来源可以在这里找到。函数已经写到RealFFT(double[] data, bool forward)
一半了,只需阅读函数摘要(很短:))。
如前所述(函数摘要),我正在使用该RealFFT
函数,它接受一个样本数组,所有这些样本都是实值(没有虚部)。但是,它还指出,在前两个条目之后,输出是复值,存储在交替的实部和虚部中。
我似乎无法弄清楚这一点。进行 FFT 后,您总是会得到实部和虚部。那么如何将它们打包到作为参数进入函数的数组中(因为只有实数,所以大小只有一半)?
opencv - 逆变换后的 OpenCV gpu::dft 失真图像
我正在研究图像频率过滤的 GPU 实现。我的代码在 CPU 上运行良好(我使用过类似的东西),但我花了一整天的时间试图在 GPU 上做同样的工作——但没有成功。我想在频域中应用一个滤波器,因此我需要正向变换的完整(复杂)结果。我已经读到我需要通过两个复杂的矩阵(src 和 dst)来转发 dft 以获得全谱(32FC2)。但是,我在逆变换后无法获得相同的图像(返回的图像非常失真)。
我的代码(最接近的结果):
非常感谢您的帮助和建议。