我知道在时域卷积是两个矩阵之间非常昂贵的操作,你可以通过在复杂平面中转换它们并使用乘法(然后在时域中)在频域中执行它
无论如何我不明白这是如何在CUDA SDK中执行的,其中数据和内核被填充并放入两个缓冲区(m_PaddedKernel和m_PaddedData),这应该是加速Cooley-Tuckey方法,然后调用函数cufftExecC2C来首先将内核(以及为什么C2C?复杂到复杂,为什么不是真实到复杂?)转换到复杂平面然后将整个数据转换到同一平面
然后定义的内核spProcess2D_kernel启动并且似乎规范化并在频域中执行数据和内核之间的乘法(如何将两个函数相乘?我认为它们意味着组成这两个函数)并返回C2C转换(仍然想知道为什么C2C而不是C2R)