我正在尝试编写一个涉及傅里叶变换的自定义xaudio2效果。但是,每次调用时给出的处理方法的样本数不是2的幂(我有傅立叶变换实现的前提条件)。
有没有办法强制2个大小的样本?是否有技术允许使用2种尺寸的非功率?
答案 0 :(得分:1)
如果您的实施要求您具有2个样本大小的权力,那么您可以填充样本以强制它接受。零填充似乎是最简单/最直接的。
这篇文章解释了另一种方法:
答案 1 :(得分:1)
每次给出样本的呼叫时,不要将样本发送到FFT。缓冲(保存)它们,直到您至少有2个2次幂的样本,然后处理来自中间缓冲区的2次幂的样本。冲洗并重复。
此外,较新的FFT通常允许质数因子大于2的大小。