时域和频域 深度学习
时域和频域 深度学习
本文主要是作者在学习GNN时补充的信号与系统的内容,主要介绍了时域和频域的概念及其在信号处理中的应用,重点解释了傅里叶变换的原理和意义。文章通过直观的比喻和详细的数学推导,帮助读者理解这一复杂的概念。内容深入浅出,既有理论阐述,又有实际应用的解释,适合对信号处理和深度学习感兴趣的读者。
1 时域与频域
一个信号输入进入一个系统后,可以有多种方式描述(分析)这个信号,每种方式有不同的角度,不同的角度叫做域(domain),在信号与系统中常用的域有时域(time domain)和频域(frequency domain)
1.1 时域
时域(time domain)简单来说就是随着时间变化信号的变化,时域是客观存在的域,也是唯一客观的域。其自变量为时间,因变量为信号的变化,用描述信号在不同时刻取值的函数。
1.2 频域
频域(frequency domain)是把时域波形做傅里叶变换(Fourier Transform)等变换后,得到复频域的表达式。其波形为频谱图,描述频率变化和幅度变化的关系,自变量是频率,因变量是该频率信号的幅度。
1.3 时域与频域可视化解释
我这里盗用知乎大佬的一个图,在图上做一些改动,原谅我这个灵魂画师,后面补上链接。
这个图详细阐述了时域与频域之间的关系,我们输入的信号是红色的波形,在时域上的表示是红色这样,通过傅里叶变换后变成了一系列的正弦信号,每个正弦信号对应一个频率,每一个频率的信号都有不同的振幅,将振幅刻画在频域上就是深蓝色的图形。
至于什么是傅里叶变换,大家不要慌,我们先把基础的内容讲了,最后讲傅里叶变换。
2 复变函数
复变函数部分最主要的是欧拉公式:
其目的在于:使用复指数信号来表示正弦信号。
先上个图:
我个人认为,为什么要将正弦信号映射到复频域,是因为如果输入的信号在时域上是无限宽的,那么没有办法表达出来,但是在复频域上,只需要考虑绕原点旋转了几圈。
当然,3B1B的解释是,如果不在复频域,那么所有的运动都会是如下这样:
就会只在实数轴上运动,并不会展现原有的模样,比如这样:
3 傅里叶变换
这一部分网上已经有很多大佬用栗子简介讲解了,我也就只是照葫芦画瓢一下。
3.1 傅里叶变换简洁理解
就好比我们买了一杯珍珠椰果奶茶,我们想分析这杯珍珠椰果奶茶里面的成分,包含了多少珍珠,多少椰果,多少奶,多少茶,多少水,于是我们将其丢进一个滤波器中,该滤波器可以分别提取出来不同的配方,这就是傅里叶变换(Fourier transform)。
但是我们不可能分别干吃珍珠、椰果、奶、茶、水,我们想要的是珍珠椰果奶茶,所以分析好成分和比例后,按照这些比例把这些成分通过之前的滤波器再组合在一起,获得珍珠椰果奶茶,这就是傅里叶反变换(inverse Fourier transform)。
3.2 傅里叶变换图示理解
还是借用大佬这张图,因为我画不出来。
大家注意中间浅蓝色密密麻麻的信号,将红色信号分解为这些密密麻麻的浅蓝色信号是傅里叶变换,而将这些信号组合在一起构成红色信号是傅里叶反变换。
3.3 傅里叶变换详细理解
有了上面的内容后,那么可以开始详细说一下我对傅里叶变换与反变换的理解了。
- 傅里叶变换:为了得到一个信号中的所有成分,对其过滤,过滤后得到单一成分的信号,这个信号容易分析、比较和修改。
- 傅里叶反变换:根据分析的信号的成分,将这些成分组合起来还原为之前的信号。
根据前人(傅里叶与狄利赫里)的经验表明,满足狄利赫里条件的周期条件的周期信号,可以分解为一组成谐波关系的正弦信号,对于这个正弦信号,只需要三个量即可确定该运动的状态。
正弦信号公式为:
其中,
:正弦波的幅值;
:角速度或者角频率;
:初始相位角;
:时刻;
:转角
我们根据欧拉公式将正弦信号投影至复频域,得到复指数:
由于之前的定义,我们先给出傅里叶变换与傅里叶反变换的公式:
- 傅里叶变换
- 傅里叶反变换
其中,
:待分析的周期信号,
:第k个谐波成分的幅值与初始相位(也可以说是频率
对于的幅值与初始相位),
:特定频率,
:时刻相位补偿。
我相信不止我一个人最开始看到这两个公式是一头雾水,但是慢慢看下面的解释。
3.3.1 公式详解
我们先忘记上面看到的这两个公式,就当你根本没见识过。
我们先从
这个频率的信号来看:
根据3B1B的描述,
这一点对应的信号是整个图形的重心,如下图:
也就是说
是一个周期中所有输出值(信号)的平均数。
当我们将输入值(信号数量)放的无限大的时候,那么这个平均数是越来越趋近于真实值的,于是可以构成一个积分:
这里
指的是一个周期,即
,对应的
。
而关于这个结论的证明如下:
我们将
展开:
由于区间相同,和的积分等于积分的和,所以将积分代入:
既然我们把这个表达式给拆分开了,那么我们就可以得出一个结论:所有信号的平均值等于每个信号平均值的和。
上面这句话可能有点拗口,不过没关系,我们接着看,这个时候我们需要使用一个理论:
翻译过来就是:
要找到特定频率下的信号能量,就以该频率围绕一个圆旋转信号,然后沿着这条路径求一堆点的平均数。
这个圆就是说的复平面上的圆,将这句话转换成图表示如下:
这个展示的是以该频率围绕一个圆旋转信号一个周期的情况,其平均值为0,我们将这个理论代入上面拆开后的积分中,以一个周期进行循环,那么我们会得到一个神奇的结论:从
到
,除了0这个频率以外,其余频率全为0。
因为0频率这个点
,导致在这个周期内有
这个值,其余全为0,于是我们通过这个方式计算出了如下结果:
有了上面的理论后,我们将其推广开,我们需要得到的是每一个频率
的初始相位与振幅
。
这个时候我们只需要使得频率
不旋转即可,那么就乘以
于是我们的式子就变为了:
这样我们也就同样解出了
。
即:
这就是傅里叶变换。
当每个
解出来后,我们再将其求和,那么就得到了总的信号
:
这就是傅里叶反变换。
4 总结
上面的内容我觉得最主要的是:
- 时域是客观存在的,频域是一种时域的映射;
- 傅里叶变换就是将信号拆分为多个正弦信号;
- 傅里叶反变换就是将多个正弦信号合并成一个信号。
5 参考
[1]3Blue1Brown.【官方双语】微分方程概论-第四章:但什么是傅立叶级数呢?-2019-08-08.
[2]李狗嗨.为什么傅里叶变换可以把时域信号变为频域信号?[EB/OL].https://www.zhihu.com/question/279808864/answer/552617806,2020-03-11.
[3]DBinary.如何理解卷积与傅里叶变换的关系?[EB/OL].https://www.zhihu.com/question/340004682/answer/798510348,2019-08-22.
[4]百度百科.时域频域[EB/OL].https://baike.baidu.com/item/%E6%97%B6%E5%9F%9F%E9%A2%91%E5%9F%9F/9399325?fr=aladdin,2020-10-10.
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。