【问题标题】:Convolutional filter applied to Fourier-transformed signal应用于傅里叶变换信号的卷积滤波器
【发布时间】:2020-06-22 21:05:30
【问题描述】:

我知道两个信号卷积的傅里叶变换是它们的傅里叶变换的逐点乘积 (convolutional theorem)。我想知道的是,在已知情况下,卷积可以有意义地应用于频域中的傅立叶变换信号(例如时间序列或图像),以充当滤波器,而不是乘以方阵。此外,是否存在增加时域大小的滤波器的已知应用,即频域中的矩阵是矩形的,然后应用逆 FT 回到时域?特别是,我对这种深度学习方法的已知示例感兴趣。

【问题讨论】:

    标签: deep-learning filtering fft convolution


    【解决方案1】:

    正如您所说,两个信号的卷积是它们傅里叶变换的逐点乘积。这在两个方向上都是正确的——两个傅里叶变换信号的卷积等于两个时间序列的逐点乘积。

    您必须适当地定义“卷积” - 对于离散傅里叶变换,卷积是循环卷积。

    在时域中进行逐点块乘法肯定有有意义的用途(例如,在转换到频域之前将数据窗口应用于信号,或调制载波),因此您可以说它是有意义的在频域中进行卷积。但与仅在时域中进行操作相比,它不太可能高效。

    请注意,多年来在优化傅里叶变换方面付出了很多努力,这正是因为在频域中进行块乘法(它是 O(n))比在时域(即 O(n^2))。由于傅立叶变换为 O(n log(n)),因此 forwardTransform-b​​lockMultiply-inverseTransform 的组合通常比进行卷积更快。在另一个方向上仍然如此,因此如果您从频率数据开始,则 inverseTransform-b​​lockMultiply-forwardTransform 通常比在频域中进行卷积更快。当然,通常你已经在某处拥有原始时间数据,因此时域中的块相乘会更快。

    不幸的是,我不知道有哪些应用程序会在我的脑海中增加时域的大小。而且我对深度学习一无所知,所以在这方面我帮不了你。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-02
      • 1970-01-01
      • 2021-01-26
      • 2013-02-10
      • 1970-01-01
      • 2017-04-01
      相关资源
      最近更新 更多