原文地址: https://terpconnect.umd.edu/~toh/spectrum/Convolution.html

什么是卷积

Convolution is an operation performed on two signals which involves multiplying one signal by a delayed or shifted version of another signal, integrating or averaging the product, and repeating the process for different delays.
Convolution is a useful process because it accurately describes some effects that occur widely in scientific measurements, such as the influence of a frequency filter on an electrical signal or of the spectral bandpass of a spectrometer on the shape of a recorded optical spectrum.

卷积是对两个信号执行的操作,包括将一个信号与另一个信号的延迟或移位版本相乘,积分或求积平均,并对不同的延迟重复该过程。 卷积是一个有用的过程,因为它准确地描述了科学测量中广泛发生的一些影响,例如,频率滤波器对电信号的影响或光谱仪的光谱带通对记录的光谱形状的影响。

如何计算傅里叶卷积

In practice, the calculation is usually performed by point-by-point multiplication of the two signals in the Fourier domain.
First, the Fourier transform of each signal is obtained. Then the two Fourier transforms are multiplied point-by-point by the rules for complex multiplication and the result is then inverse Fourier transformed. Fourier transforms are usually expressed in terms of “complex numbers”, with real and imaginary parts; if the Fourier transform of the first signal is a + ib, and the Fourier transform of the second signal is c + id, then the product of the two Fourier transforms is (a + ib)(c + id) = (ac - bd) + i(bc + ad).
Although this seems to be a round-about method, it turns out to be faster then the shift-and-multiply algorithm when the number of points in the signal is large.
Convolution can be used as a powerful and general algorithm for smoothing and differentiation. Many computer languages will perform this operation automatically when the two quantities divided are complex.

实际上,通常通过在傅立叶域中两个信号的逐点相乘来执行计算。

首先,获得每个信号的傅立叶变换。然后将两个傅立叶变换逐点乘以复杂乘法的规则,然后对结果进行傅立叶逆变换。
傅立叶变换通常用“复数”来表示,具有实部和虚部。如果第一个信号的傅立叶变换为a + ib,第二个信号的傅立叶变换为c + id,则两个傅立叶变换的乘积为(a+ib)(c+id)=(ac−bd)+i(bc+ad)(a + ib)(c + id)=(ac-bd )+ i(bc + ad)(a+ib)(c+id)=(ac−bd)+i(bc+ad)

尽管这似乎是一种环回方法,但事实证明,当信号中的点数很大时,它比移位和乘法算法要快。卷积可以用作一种强大且通用的平滑和微分算法。当两个被除数复杂时,许多计算机语言将自动执行此操作。

Fourier convolution can also be used as a very general algorithm for the smoothing and differentiation of digital signals, by convoluting the signal with a (usually) small set of numbers representing the convolution vector.
Smoothing is performed by convolution with sets of positive numbers, e.g. [1 1 1] for a 3-point boxcar. Convolution with [–1 1] computes a first derivative; [1 -2 1] computes a second derivative.
Successive convolutions by Conv1 and then Conv2 is equivalent to one convolution with the convolution of Conv1 and Conv2. First differentiation with smoothing is done by using a convolution vector in which the first half of the coefficients are negative and the second half are positive (e.g.[-1 -2 0 2 1]).

傅立叶卷积还可以用作数字信号的平滑和微分的非常通用的算法,方法是使用代表卷积矢量的(通常)小数字集对信号进行卷积。

通过对正数集进行卷积执行平滑处理,例如 [1 1 1]适用于三点棚车。 与[–1 1]的卷积计算一阶导数; [1-2-1]计算二阶导数。 由Conv1然后由Conv2进行的连续卷积等效于一次具有Conv1和Conv2的卷积的卷积。 通过使用卷积向量来完成带平滑的一次微分,其中系数的前半部分为负,后半部分为正(例如[-1 -2 0 2 1])。

实际使用样例


图例: 此处使用傅里叶卷积来确定当用光谱仪扫描时窗口1(window 1)的光谱将如何出现,该光谱仪的狭缝功能(光谱分辨率)由窗口2(window 2)的高斯函数描述。 高斯函数已经倒转,因此其最大值落在x = 0处。 产生的回旋光谱(window 3)显示,x = 110和120附近的两条线将无法分辨,但x = 40处的线将被部分分辨。

【Fourier Convolution】傅里叶卷积相关推荐

  1. FFC-SE: Fast Fourier Convolution for Speech Enhancement

    [arXiv:2204.03042v1] Motivation 谱图相位的直接估计是一个挑战.为此,提出各种解决办法.这些方法包括解耦幅度和相位估计,以及使用单独的网络进行波形合成.然而,这些方法倾向 ...

  2. 深度学习-Resolution-robust Large Mask Inpainting with Fourier Convolutions基于傅里叶卷积的对分辨率鲁棒的掩模修复

    Resolution-robust Large Mask Inpainting with Fourier Convolutions基于傅里叶卷积的对分辨率鲁棒的掩模修复 0.摘要 1.概述 2.方法 ...

  3. 傅里叶卷积实现「万物隐身」,这个神器可试玩

    来源:机器之心 将快速傅里叶卷积引入网络架构,弥补感受野不足的缺陷,来自三星.洛桑联邦理工学院等机构的研究者提出了 LaMa(large mask inpainting)方法,在一系列数据集上改进了 ...

  4. python pytorch fft_PyTorch 中的傅里叶卷积实现示例

    卷积 卷积在数据分析中无处不在.几十年来,它们一直被用于信号和图像处理.最近,它们成为现代神经网络的重要组成部分.如果你处理数据的话,你可能会遇到错综复杂的问题. 数学上,卷积表示为: 尽管离散卷积在 ...

  5. 复数卷积 tensorflow_PyTorch 中的傅里叶卷积

    欢迎关注 "小白玩转Python",发现更多 "有趣" 注意: 在这个 Github repo 中提供了1D.2D 和3D Fourier 卷积的完整方法.我还 ...

  6. 用傅里叶卷积实现万物隐身!三星这个LaMa神器可试玩!

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 转载自:机器之心  |  编辑:杜伟.陈萍 将快速傅里叶卷积引入网络架构,弥补感受野不足的缺陷,来自三星.洛 ...

  7. Fast Fourier Convolution

    Fast Fourier Convolution 背景: 感受野的概念: 卷积神经网络每一层输出的特征图(feature map)上的像素点映射回输入图像上的区域大小 例如: 扩大感受野的方法:非局部 ...

  8. PyTorch 中的傅里叶卷积

    欢迎关注 "小白玩转Python",发现更多 "有趣" 注意: 在这个 Github repo 中提供了1D.2D 和3D Fourier 卷积的完整方法.我还 ...

  9. 卷积网络基础知识---Group Convolution分组卷积

    Group Convolution分组卷积,以及Depthwise Convolution和Global Depthwise Convolution https://www.cnblogs.com/s ...

最新文章

  1. 一款比较实用齐全的jQuery 表单验证插件
  2. Linux下KVM的图形界面管理工具(virt-manager)(桌面版)
  3. VC程序编译成exe后需msvcr100.dll、msvcp100.dll才能运行的解决方法
  4. Springboot中mongodb的使用
  5. 为什么用python写爬虫_零基础,是怎么开始写Python爬虫的
  6. emlog和typecho文章采集插件-简数第三方数据采集
  7. Java中的HashMap和Hashtable有什么区别?
  8. PyTorch 1.0 中文官方教程:词嵌入:编码形式的词汇语义
  9. 计算机学习知识,如何学习计算机知识呢
  10. Python开发者必知的13个Python GUI库
  11. R语言中文社区10篇最火的文章 | 2017大盘点
  12. 完全独立与IIS的后门
  13. Visual Attention Network
  14. Python替换月份为英文缩写
  15. python 输出数据到excel设置超链接及格式设置
  16. MSE(L2损失)与MAE(L1损失)的分析
  17. 今日头条 2018 AI Camp 视频面试
  18. 如何实现廣州南方学院校园网WiFi连接的高效性
  19. Android开发之保存图片到相册的三种方法详解
  20. Dojo 1.6 最新官方教程: Hello Dojo!

热门文章

  1. 第三十二课.脉冲神经网络SNN
  2. java代码(dex)注入
  3. Dalvik中类的加载
  4. AEM:众里寻他千百度,用了SIP不迷路-识别污水处理单元中砷氧化细菌的多样性及代谢潜力...
  5. MPB:山大倪金凤组-白蚁肠道木质纤维素降解细菌的分离与培养
  6. 11月4日下午:植物保护高端论坛 (白洋、韦中)
  7. linux开机启动项6个级别_linux开机启动设置的几种方法
  8. Python使用matplotlib函数subplot可视化多个不同颜色的折线图、在折线图上为每个数据点添加数值标签
  9. R语言关联规则挖掘数据集预览、分析、筛选:项目数的分布形态(分位数、密度图)、itemFrequency函数统计每一项目在所有事务中出现的次数、最常发生的项目、数据筛选(交易的集合项目大于1)
  10. Error in lm.fit(x, y, offset = offset, singular.ok = singular.ok, ...): singular fit encountered