我想做一些会重复调用 iFFT 的建模。这将把复杂频率响应(幅度、相位)的参数模型作为输入,并产生脉冲响应作为输出。我想将此与我为房间中的扬声器测量的“窗口化”脉冲响应进行比较。测量的脉冲可以通过一个初始部分来表征,该部分对应于声音直接通过空气传播到麦克风,持续几毫秒,之后从房间表面(地板、墙壁等)反射的声音污染了麦克风。信号。未污染的部分可能是总测量脉冲的 5%。我想将 iFFT 从频率响应中生成的脉冲响应与仅测量脉冲的未污染部分进行比较。
如果需要,我可以从频率响应中计算出整个脉冲响应,然后丢弃 95% 的结果,但这似乎非常低效。在优化我的模型时,iFFT 将被计算很多次(可能是数千次),所以我想确保我可以使其尽可能高效。在这一点上,我唯一的选择似乎是使用 FFTW,然后丢弃不需要的数据(因为缺乏更好的主意)。
是否有一种快速的方法可以仅针对那些感兴趣的时间点计算逆 FFT,例如,不是针对 FFT 可以访问的整个时间跨度?例如,我可能只需要 5% 的时间点。我对 FFT 和 iFFT 的计算不是很熟悉,所以我对这个问题的答案没有洞察力。
编辑:我重新检查,如果我在 96kHz 记录一个 16k 脉冲,在反射污染信号之前只有大约 475 个“好数据”样本。这不到总记录信号的 3%。我怎样才能有效地从我的频率响应中计算出这 200 个点???