时域卷积定理及频域卷积定理-程序员宅基地

技术标签: 专栏03-图神经网络  频域卷积定理  时域卷积定理  

前言

在这里插入图片描述

之前的文章介绍了卷积积分的计算,作为图神经网络的前置知识点,理解卷积定理有助于理解谱图卷积

卷积定理是傅立叶变换满足的一个重要性质。维基百科中卷积定理的定义如下:

卷积定理指出,两个函数(或信号)的卷积的傅里叶变换是它们傅里叶变换的逐点乘积。

更一般地说,一个域(例如,时域)中的卷积等于另一个域(例如,频域)中的逐点乘法。具体分为时域卷积定理和频域卷积定理,时域卷积定理即时域内的卷积对应频域内的乘积;频域卷积定理即频域内的卷积对应时域内的乘积,两者具有对偶关系。

连续变量的函数

卷积定理

设两个函数 g ( t ) g(t) g(t) h ( t ) h(t) h(t) 的傅里叶变换为 G G G H H H

G ( f ) ≜ F { g } ( f ) = ∫ − ∞ ∞ g ( t ) e − i 2 π f t   d t , f ∈ R H ( f ) ≜ F { h } ( f ) = ∫ − ∞ ∞ h ( t ) e − i 2 π f t   d t , f ∈ R \begin{aligned} G(f) &\triangleq \mathcal{F}\{g\}(f) = \int_{-\infty}^{\infty}g(t) e^{-i 2 \pi f t} \, dt, \quad f \in \mathbb{R}\\ H(f) &\triangleq \mathcal{F}\{h\}(f) = \int_{-\infty}^{\infty}h(t) e^{-i 2 \pi f t} \, dt, \quad f \in \mathbb{R} \end{aligned} G(f)H(f)F{ g}(f)=g(t)ei2πftdt,fRF{ h}(f)=h(t)ei2πftdt,fR其中, ≜ \triangleq 表示定义为, F \mathcal{F} F是傅里叶变换算子。通常, F { g } ( f ) \mathcal{F}\{g\}(f) F{ g}(f) 也可以表示为 F { g ( t ) } \mathcal{F}\{g(t)\} F{ g(t)} F [ g ( t ) ] \mathcal{F}[g(t)] F[g(t)] g g g h h h 的卷积定义为:
r ( t ) = { g ∗ h } ( t ) ≜ ∫ − ∞ ∞ g ( τ ) h ( t − τ )   d τ = ∫ − ∞ ∞ g ( t − τ ) h ( τ )   d τ . r(t) = \{g*h\}(t) \triangleq \int_{-\infty}^{\infty} g(\tau) h(t-\tau)\, d\tau = \int_{-\infty}^{\infty} g(t-\tau) h(\tau)\, d\tau. r(t)={ gh}(t)g(τ)h(tτ)dτ=g(tτ)h(τ)dτ.这里, ∗ * 表示卷积。两个函数其他形式的卷积有 g ( t ) ∗ h ( t ) g(t)*h(t) g(t)h(t),博文卷积积分的计算有助于理解卷积。

卷积定理表述为:
R ( f ) ≜ F { r } ( f ) = G ( f ) H ( f ) . f ∈ R ( 1 ) R(f) \triangleq \mathcal{F}\{r\}(f) = G(f) H(f). \quad f \in \mathbb{R}\quad\quad(1) R(f)F{ r}(f)=G(f)H(f).fR(1)其中 R ( f ) R(f) R(f)也可以写成如下形式: R ( f ) ≜ F [ r ( t ) ] ≜ F [ h ( t ) ∗ g ( t ) ] R(f)\triangleq \mathcal{F}[r(t)] \triangleq \mathcal{F}[h(t)*g(t)] R(f)F[r(t)]F[h(t)g(t)]

证明

根据傅里叶变换及卷积积分有:
F [ g ( t ) ∗ h ( t ) ] = ∫ − ∞ + ∞ g ( t ) ∗ h ( t ) e − i ω t d t = ∫ − ∞ + ∞ ∫ − ∞ + ∞ g ( τ ) ∗ h ( t − τ ) d τ e − i ω t d t ( 卷积展开 ) = ∫ − ∞ + ∞ ∫ − ∞ + ∞ h ( t − τ ) e − i ω t d t   g ( τ ) d τ ( 1 ) \begin{aligned} \mathcal{F}[g(t)*h(t)]&=\int_{-\infin}^{+\infin} g(t)*h(t) e^{-i\omega t}dt \\ &=\int_{-\infin}^{+\infin}\int_{-\infin}^{+\infin} g(\tau)*h(t-\tau) d\tau e^{-i\omega t}dt \qquad (卷积展开)\\ &=\int_{-\infin}^{+\infin}\int_{-\infin}^{+\infin} h(t-\tau)e^{-i\omega t}dt\, g(\tau) d\tau \qquad (1)\\\\ \end{aligned} F[g(t)h(t)]=+g(t)h(t)etdt=++g(τ)h(tτ)dτetdt(卷积展开)=++h(tτ)etdtg(τ)dτ(1) x = t − τ x=t-\tau x=tτ,则 t = x + τ t=x+\tau t=x+τ d t = d x dt=dx dt=dx,所以:
( 1 ) = ∫ − ∞ + ∞ ∫ − ∞ + ∞ h ( x ) e − i ω ( x + τ ) d x   g ( τ ) d τ = ∫ − ∞ + ∞ ∫ − ∞ + ∞ h ( x ) e − i ω x e − i ω τ d x   g ( τ ) d τ = ∫ − ∞ + ∞ h ( x ) e − i ω x ∫ − ∞ + ∞ e − i ω τ d x   g ( τ ) d τ ( x 是在 τ 的积分中是常量 , 可以移出来 ) = g ( ω ) ⋅ h ( ω ) \begin{aligned} (1)&=\int_{-\infin}^{+\infin}\int_{-\infin}^{+\infin} h(x)e^{-i\omega (x+\tau)}dx \, g(\tau) d\tau \\ &=\int_{-\infin}^{+\infin}\int_{-\infin}^{+\infin} h(x) e^{-i\omega x} e^{-i\omega \tau} dx \, g(\tau) d\tau \\ &=\int_{-\infin}^{+\infin}h(x) e^{-i\omega x} \int_{-\infin}^{+\infin} e^{-i\omega \tau} dx\, g(\tau) d\tau \qquad (x是在\tau的积分中是常量,可以移出来)\\ &=g(\omega) \cdot h(\omega) \end{aligned} (1)=++h(x)e(x+τ)dxg(τ)dτ=++h(x)exeτdxg(τ)dτ=+h(x)ex+eτdxg(τ)dτ(x是在τ的积分中是常量,可以移出来)=g(ω)h(ω)其中 ω = 2 π f \omega=2\pi f ω=2πf
证毕。 ■ \blacksquare

小结

上述为时域卷积定理的公式及证明,频域卷积定义与之类似。所以连续变量函数的卷积定理为:

时域卷积定理为: F [ g ( t ) ∗ h ( t ) ] = G ( ω ) ⋅ H ( ω ) \mathcal{F}[g(t)*h(t)]=G(\omega) \cdot H(\omega) F[g(t)h(t)]=G(ω)H(ω)

频域卷积定理为: F [ g ( t ) ⋅ h ( t ) ] = 1 2 π   G ( ω ) ∗ H ( ω ) \mathcal{F}[g(t)\cdot h(t)]={\frac1 {2\pi}} \, G(\omega) * H(\omega) F[g(t)h(t)]=2π1G(ω)H(ω)

离散变量序列

卷积定理

对于离散变量序列,有着与连续变量函数类似的定理,这里 F \mathcal{F} F 表示离散傅里叶变换算子,设两个序列 g [ n ] g[n] g[n] h [ n ] h[n] h[n] 的傅里叶变换为 G G G H H H
G ( f ) ≜ F { g } ( f ) = ∑ n = − ∞ ∞ g [ n ] ⋅ e − i 2 π f n    , f ∈ R H ( f ) ≜ F { h } ( f ) = ∑ n = − ∞ ∞ h [ n ] ⋅ e − i 2 π f n    . f ∈ R \begin{aligned} G(f) &\triangleq \mathcal{F}\{g\}(f) = \sum_{n=-\infty}^{\infty} g[n]\cdot e^{-i 2\pi f n}\;, \quad f \in \mathbb{R}\\ H(f) &\triangleq \mathcal{F}\{h\}(f) = \sum_{n=-\infty}^{\infty} h[n]\cdot e^{-i 2\pi f n}\;. \quad f \in \mathbb{R} \end{aligned} G(f)H(f)F{ g}(f)=n=g[n]ei2πfn,fRF{ h}(f)=n=h[n]ei2πfn.fR

序列 g g g h h h 的离散卷积的定义为:

r [ n ] ≜ ( g ∗ h ) [ n ] = ∑ m = − ∞ ∞ g [ m ] ⋅ h [ n − m ] = ∑ m = − ∞ ∞ g [ n − m ] ⋅ h [ m ] . r[n] \triangleq (g * h)[n] = \sum_{m=-\infty}^\infty g[m]\cdot h[n - m] = \sum_{m=-\infty}^\infty g[n-m]\cdot h[m]. r[n](gh)[n]=m=g[m]h[nm]=m=g[nm]h[m]. ( g ∗ h ) [ n ] (g * h)[n] (gh)[n]也可以表示为 g [ n ] ∗ h [ n ] g[n]*h[n] g[n]h[n]

离散序列的卷积定理为:

R ( f ) = F { g ∗ h } ( f ) =   G ( f ) H ( f ) R(f) = \mathcal{F}\{g * h\}(f) =\ G(f) H(f) R(f)=F{ gh}(f)= G(f)H(f) \quad
R ( ω ) = F { g ∗ h } ( ω ) =   G ( ω ) H ( ω ) R(\omega) = \mathcal{F}\{g * h\}(\omega) =\ G(\omega) H(\omega) R(ω)=F{ gh}(ω)= G(ω)H(ω)

证明

本证明来自劉奕文教授的Lecture《The Discrete-Time Fourier Transform and
Convolution Theorems: A Brief Tutorial》(pdf)

Y ( ω ) = ∑ n = − ∞ ∞ y [ n ] e − j ω n = ∑ n = − ∞ ∞ ( ∑ m = − ∞ ∞ g [ m ] ⋅ h [ n − m ] ) e − j ω n = ∑ m = − ∞ ∞ g [ m ] ( ∑ m = − ∞ ∞ h [ n − m ] e − j ω n ) = ∑ m = − ∞ ∞ g [ m ] ( ∑ m = − ∞ ∞ h [ n − m ] e − j ω ( n − m )   e − j ω ( m ) ) = ∑ m = − ∞ ∞ g [ m ] e − j ω ( m ) ( ∑ m = − ∞ ∞ h [ n − m ] e − j ω ( n − m ) ) = ∑ m = − ∞ ∞ g [ m ] e − j ω ( m ) H ( ω ) = G ( ω ) H ( ω ) \begin{aligned} Y(\omega) &= {\sum_{n=-\infty}^\infty }y[n]e^{-j\omega n} \\ &={\sum_{n=-\infty}^\infty } \Bigg( {\sum_{m=-\infty}^\infty } g[m] \cdot h[n-m] \Bigg)e^{-j\omega n} \\ &={\sum_{m=-\infty}^\infty } g[m] \Bigg( {\sum_{m=-\infty}^\infty } h[n-m] e^{-j\omega n} \Bigg) \\ &={\sum_{m=-\infty}^\infty } g[m] \Bigg( {\sum_{m=-\infty}^\infty } h[n-m] e^{-j\omega (n-m)}\, e^{-j\omega (m)}\Bigg) \\ &={\sum_{m=-\infty}^\infty } g[m] e^{-j\omega (m)} \Bigg( {\sum_{m=-\infty}^\infty } h[n-m] e^{-j\omega (n-m)} \Bigg) \\ &={\sum_{m=-\infty}^\infty } g[m] e^{-j\omega (m)} H(\omega) \\ &=G(\omega) H(\omega) \\ \end{aligned} Y(ω)=n=y[n]ejωn=n=(m=g[m]h[nm])ejωn=m=g[m](m=h[nm]ejωn)=m=g[m](m=h[nm]e(nm)e(m))=m=g[m]e(m)(m=h[nm]e(nm))=m=g[m]e(m)H(ω)=G(ω)H(ω) ■ \blacksquare

小结

上述为时域卷积定理的公式及证明,频域卷积定义与之类似。所以离散变量序列的卷积定理为:

时域卷积定理为: F [ g ∗ h ] = G ( ω ) ⋅ H ( ω ) \mathcal{F}[g*h]=G(\omega) \cdot H(\omega) F[gh]=G(ω)H(ω)

频域卷积定理为: F [ g ⋅ h ] = 1 2 π   G ( ω ) ∗ H ( ω ) \mathcal{F}[g\cdot h]={\frac1 {2\pi}} \, G(\omega) * H(\omega) F[gh]=2π1G(ω)H(ω)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u012762410/article/details/127104625

智能推荐

计算机网络春招面试复习:计算机网络基础知识点_计算机春招基础知识-程序员宅基地

文章浏览阅读417次。1. OSI,TCP/IP,五层协议的体系结构,以及各层协议OSI分层 (7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。TCP/IP分层(4层):网络接口层、 网际层、运输层、 应用层。五层协议 (5层):物理层、数据链路层、网络层、运输层、 应用层。每一层的协议如下:物理层:RJ45、CLOCK、IEEE802.3 (中继器,集线器)数据链路:PPP、FR、HDLC、VLAN、MAC (网桥,交换机)网络层:IP、ICMP、ARP、RARP、OSPF、IPX、RIP、I_计算机春招基础知识

关闭Linux蜂鸣器_linux蜂鸣器发声和关闭命令-程序员宅基地

文章浏览阅读738次。在linux(CentOS)中,我们常用Tab键进行命令补全或者esc按键,但是系统总是提示滴滴声,让人很烦躁。即使把音频设备关掉,或者虚拟机的音频设备也关掉,还是有这个声音。用vi 编辑 /etc/inputrc 文件,找到“#set bell-style none”,取消注释。在~/.bashrc或者~/.cshrc(这取决于你的linux采用的是什么shell)但是此文件是只读文件,修改需要root权限,在我当前的办公环境下无法完成修改。网上有的方法是只添加第一行,我个人添加两行后解决了这个问题。_linux蜂鸣器发声和关闭命令

Java学习-17天-程序员宅基地

文章浏览阅读218次。第一阶段:J2SE实训内容1)Java语法;2)变量,方法;3)构造方法;4)String字符串;5)This的使用;6)面向对象;7)一维数组;8)二维数组;9)排序;10)数据结构;11)文件操作;12)IO流操作;13)socket网络通信编程;14)Swing;15)线程,多线程;阶段培训目标掌握常见的数据结构和实用算法;培养良好的企业级编程习惯。掌握面向对象的

搭建三相整流桥_双交流可以接3相整流桥吗-程序员宅基地

文章浏览阅读714次。0三相电接入调压器1调压器接到三相整流桥,两者之间加保险丝2有了调压器,缓慢调节上升电压,电容不会一下子跑很大的电流,就可以不用缓冲电阻..._双交流可以接3相整流桥吗

纯Python:在给定pvalue的情况下比较cafe结果文件中任意两个节点的基因数目_cafe计算基因家族分支节点为0-程序员宅基地

文章浏览阅读112次。cafe运行结果文件中,在给定p值的情况下比较任意两个节点的所有基因家族内的基因数目差异。注意:请在代码内部176行指定节点,以的格式,184行指定pvalue值。输入文件head 20。_cafe计算基因家族分支节点为0

怎么去思考一个问题,提高解决问题的能力_提一个问题,解决一个问题不同觉悟-程序员宅基地

文章浏览阅读1w次,点赞4次,收藏10次。怎么去思考一个问题,提高解决问题的能力前言:#:本文转发自【半路歌雨】#:http://blog.jboost.cn/think-like-a-programmer.html#:如有侵权,联系即删技术人员的价值,不在于你能写出多么优美的代码,也不在于你能设计出一个多么大而全的高屋建瓴的架构,而在于你实实在在的解决问题的能力,在于你使用技术手段服务于业务的能力”。导入:先罗列一两个遇到的现象:某同事汇报,测试提了一个Bug,当某个用户绑定的卡信息超过50个的时候,后台显示数据就会出现混乱,问能_提一个问题,解决一个问题不同觉悟

随便推点

Python 音频添加水印_python 音频提取水印-程序员宅基地

文章浏览阅读454次,点赞9次,收藏6次。【代码】Python 音频添加水印。_python 音频提取水印

学习编程需要什么英语基础?_学编程应该学习那些英语-程序员宅基地

文章浏览阅读847次。转自:http://student.csdn.net/space.php?uid=112600&do=blog&id=8648开篇声明一下,这又是一篇文不对题的文章。基本上,我是要讲学习编程时,如何同时学习英语。我会向大家介绍两个方法:一种是学习编程的方法,一种是学习英语的方法。像这样的学习方法,通常在网上是卖多钱呢?这里有一家国际网站,我们来查一下:看,光光是学习编程的方法,这家培训所要卖1万5000元,并且只有6个月时间,而光培训英语,这家网站要收大家3万元!!并且它们都不是8心8箭_学编程应该学习那些英语

开发与运维_开发 运维-程序员宅基地

文章浏览阅读1.8k次。是不是开发要比运维轻松一点,听说运维7*24小时待命_开发 运维

『VulnHub系列』symfonos: 3-Walkthrough_kali nc -lncp 1234-程序员宅基地

文章浏览阅读976次。靶机发布日期:2019年7月20日。经过了曲折的页面、目录枚举,发现shellshock漏洞,随后使用MSF获取到了shell。提权过程中先后使用手工、脚本对信息进行收集,最后使用pspy发现了root权限运行的ftpclient.py脚本。tcpdump嗅探到ftp服务的用户名、密码,随后登录SSH,修改ftpclient.py脚本获得root权限。_kali nc -lncp 1234

MQTT客户端、代理(broker)和连接建立_mqtt broker-程序员宅基地

文章浏览阅读1.7k次,点赞15次,收藏22次。在IoT场景中,一个MQTT客户端通常代理一个发布者或订阅者。一个发布者客户端发送信息,而订阅者客户端接收信息。但是,一个MQTT客户端可既是发布者又是订阅者。一个MQTT客户端可以是任意设备,从一个微控制器到一个大的服务器,运行着MQTT库且通过网络连接到MQTT代理(broker)。一个MQTT库是一个实现了MQTT协议的软件模块或包,为设备或程序提供一个接口和MQTT通信。这些库可以更轻松的将MQTT支持添加到应用程序和设备中,而无需从头开始实现协议。_mqtt broker

Hadoop学习笔记(HDP)-Part.01 关于HDP-程序员宅基地

文章浏览阅读744次,点赞8次,收藏11次。Ambari是一种基于Web的工具,支持Apache Hadoop集群的创建、管理和监控。Ambari已支持大多数Hadoop组件,包括HDFS、MapReduce、Hive、Pig、Hbase、Zookeeper、Sqoop和Hcatalog等。Apache Ambari支持HDFS、MapReduce、Hive、Pig、Hbase、Zookeepr、Sqoop和Hcatalog等的集中管理。也是5个顶级hadoop管理工具之一。