脉冲传播的频谱方法通常要求每一步至少有一个 FFT 和一个 iFFT。在我的例子中,我有一个二维径向对称电场(空间一维,时间一维),描述了一个强烈聚焦的光脉冲(即 NA > 0.5),同时时间相对较长(> 1 ps)。
由于强聚焦,脉冲将在时间上经历很大的曲率,这反过来会导致时间窗口变宽,并将为沿 r 轴的分辨率创建下限。此外,由于时间窗口较大,我还必须及时具有高分辨率以支持 FFT 后脉冲的主频率。
总的来说,这导致了> 8192 x 32768元素的矩阵大小r x t-维度,即我必须在两个方向上进行 8192 次 FFT 计算,每个步骤的大小为 32768 个元素,这非常麻烦。
我知道我不能减少沿 r 轴的点数,但我也知道我的脉冲(脉冲持续时间为 1 ps)通常只有 ~4 nm 的带宽,因此不需要这样的及时的高分辨率。因此,有没有办法提高 FFT 的效率,这样我就不必计算超过 32768 个点的 FFT,而是更少?
提高大时间窗口和单频脉冲的 FFT 效率
计算科学
傅里叶变换
2021-12-15 07:06:34
1个回答
如果您的信号确实是频带受限的,那么您可以对脉冲中的频率进行计算。你可以做一个 SVD 来计算你需要多少个频率来运行截断的 FFT。要记住的另一件事是 FFT 库非常高效,那么您的带限代码会比那些更高效吗?FFT 的输入是复杂的还是真实的?你用什么语言做这个?什么图书馆?
cuPY 可能是你的朋友。
其它你可能感兴趣的问题