- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我对傅立叶变换的有限理解是,您应该能够在不更改原始数据的情况下在时域和频域之间切换。所以,这里是我(认为我)正在做的事情的总结:
使用 kiss_fft_next_fast_size(994)
确定我应该使用 1000。
使用 kiss_fft_alloc(...)
创建一个kiss_fft_cfg,nfft = 1000
。
通过将额外的点填充为零,将我的输入数据从 994 扩展到 1000。
将 kiss_fft_cfg 连同我的输入和输出数组传递给 kiss_fft(...)
。
使用 kiss_fft_alloc(...)
创建一个 inverse kiss_fft_cfg nfft = 1000
。
将逆 kiss_fft_cfg 传递给 kiss_fft(...)
输入前一个输出数组。
期望返回原始数据,但得到的每个数据正好大 1000 倍!
我放了一个full example here ,我的 50 多行代码可以在最后找到。虽然我可以通过将每个结果除以 OPTIMAL_SIZE
的值(即 1000)来解决这个问题,但这个修复让我非常不安,却不明白为什么。
请问我做错了什么愚蠢的事情吗?
最佳答案
这是意料之中的:逆离散傅里叶变换(可以使用快速傅里叶变换实现)需要除以 1/N:
The normalization factor multiplying the DFT and IDFT (here 1 and 1/N) and the signs of the exponents are merely conventions, and differ in some treatments. The only requirements of these conventions are that the DFT and IDFT have opposite-sign exponents and that the product of their normalization factors be 1/N. A normalization of \sqrt{1/N} for both the DFT and IDFT makes the transforms unitary, which has some theoretical advantages. But it is often more practical in numerical computation to perform the scaling all at once as above (and a unit scaling can be convenient in other ways).
关于c++ - Kiss FFT 似乎将数据乘以它转换的点数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12036374/
我有一个问题需要分而治之解决。有一个包含 N 个点的集合 S。如果有一个平行于轴的正方形,只包含S中的两个点p1和p2,则我们称p1和p2为 friend 点。 现在,我需要使用分而治之算法来计算 S
为 iPad 编程时,字体(和其他)大小以“磅”为单位指定。我已经看到将点作为独立于屏幕分辨率的像素的引用。但是我无法确定一个点的实际大小(即以英寸为单位)。一个点是否等于标准 iPad 屏幕上的一个
我有一个来自 Hadley Wickham 的 ggplot2 书中的问题。 我在这里有这个数据框: class % group_by(class) %>% summarise(n = n
好的,这是一些代码( pdfDocument 是 com.itextpdf.text.Document ): PdfPTable table = new PdfPTable(1); PdfPCell
我正在尝试添加一个 if 语句,如果小于 17,则将另一张牌添加到 DealerHand 中。 目前,它只是记录: 7 19 [ { suit: '♦', value: 9, points: 9 },
我正在编写一个程序,我需要: 对图像的每个像素进行测试 如果测试结果为真,我必须向点云中添加一个点 如果测试结果为假,什么都不做 我已经在 CPU 端 C++ 上编写了一个工作代码。现在我需要使用 C
我是一名优秀的程序员,十分优秀!