傅里叶变换的理解

傅里叶变换

博文参考自苗华栋知乎博主如何理解傅里叶变换公式?这个问题的解答,该博文引入了自己更深入的理解,作为笔记
博文参考自Heinrich知乎博主傅里叶分析之掐死教程(完整版)更新于2014.06.06
傅里叶变换的核心是从时域频域的变换,而这种变换是通过一组特殊的正交基来实现的。
了解傅里叶之前先了解如下公式:
在这里插入图片描述
上述 A表示振幅, ω \omega ω表示角频率, φ \varphi φ为初相,t表示时间,y表示动点的位置
频率:单位时间内完成周期性变化的次数,是描述周期运动频繁程度的量,一秒钟内振动质点完成的全振动的次数叫振动的频率,其单位为赫(Hz) 。频率也是表示质点振动快慢的物理量,频率越大,振动越快。从波形图分析一个函数的频率的高低,可以从波形图图像中的一段时间内波的密集程度,越密集表明在这段时间内振动次数越多,频率越高,
相位 ω \omega ωt+ φ \varphi φ为相位,相位(phase)是对于一个波,特定的时刻在它循环中的位 置:一种它是否在波峰、波谷或它们之间的某点的标度。相位描述信号波形变化的度量,通常以度 (角度)作为单位,也称作相角。 当信号波形以周期的方式变化,波形循环一周即为360° 。从波形图分析一个函数的相位,相位表示函数相的位置,也表明了相的趋势,即波往哪个方向位置振动。
初相:初相表示在时间t为0(初始状态)时的位置,从波形图上看即时间t=0波的位置,即函数在t=0时函数的位置。
角频率:也称圆频率,表示单位时间内变化的相角弧度值,从波形图上分析,角频率就是波在单位时间内的的弯曲角度或程度。角频率是描述物体振动快慢的物理量,和频率有着密切的关系。
周期:物体完成一次全振动经过的时间为一个周期T,其单位为秒。周期是表示质点振动快慢的物理量,周期越长,振动越慢。

相位的应用:在交流电中,相位是反映交流电任何时刻的状态的物理量。交流电的大小和方向是随时间变化的。比如正弦交流电流,它的公式是i=Isin2πfti是交流电流的瞬时值,I是交流电流的最大值,f是交流电的频率,t是时间。随着时间的推移,交流电流可以从零变到最大值,从最大值变到零,又从零变到负的最大值,从负的最大值变到零。在三角函数中2πft相当于弧度,它反映了交流电任何时刻所处的状态,是在增大还是在减小,是正的还是负的等等。因此把2πft叫做相位

以下是*y=sin( π \pi πt+1)*在时域[-2 π \pi π , 2 π \pi π]并且步长为0.1的图像
在这里插入图片描述
以上python3源码如下:

import numpy as np
import matplotlib.pyplot as plt
# 计算正弦曲线上点的 x 和 y 坐标
x = np.arange(-2 * np.pi,  2 * np.pi,  0.1)
A = 1
w = np.pi
p = 1
y = A * np.sin(w * x + p)
plt.title("test y = Asin(wx+p)")
# 使用 matplotlib 来绘制点
plt.plot(x, y)
plt.show()

时域

时域是描述一个数学函数或物理信号对时间的关系。
如下图是一段歌声的波形图
在这里插入图片描述
波形图的振幅对应的就是波的高度大小,如果要调节音量的大小,只需将整体的振幅同比例扩大即可。

如果要调节低音效果,其实高低音在波形图的表现就是指频率的高低,图像上表示波振动的密集程度,越密集音调越高,越稀疏表示音调越低,但从波形图上来看,高中低音在时域中是杂糅在一起的,就像歌声你无法确定一个时段的歌声的音调是属于高中低的哪部分,这不是说我们的听觉器官分辨不了,而是从波形图的解析来看我们无法分辨,随便改动波形图的一小部分都会同时影响到高中低音,所以如果播放器仅仅对时域信号进行处理是无法完成调节低音效果这个需求的。

和时域的这种限制类似的还有RGB空间。任何一个颜色都可以通过R/G/B(红/绿/蓝)三原色表示出来。如下图

在这里插入图片描述
通过调整三种颜色的配比,就能混合初各种颜色。
人类有三种视锥细胞,这三种视锥细胞最敏感的波长接近于红/绿/蓝,所以任何颜色对大脑来说,大部分都是这三种视锥细胞电信号的混合作用生成的
在这里插入图片描述
虽然RGB空间和我们的视锥细胞原理类似,但是在一些条件下,RGB空间仍然无法满足我们的需求,比如拍照会出现红眼(拍到了眼睛底部血管,采光设备及周围环境导致)
在这里插入图片描述
我们需要ps掉红眼,就需要在RGB空间找到红色的范围,假设(R,G,B)=(170,0,0),颜色如下
在这里插入图片描述
上图假定是红色的范围,也可以R为其他值,但GB为0,当(R,G,B)=(187,187,187)时,颜色如下
在这里插入图片描述
虽然R值增大,但G/B的大小也会影响混合的颜色,导致变成灰色,所以RGB三个值对颜色都有影响,如果想在RGB空间找到红色的范围是非常困难的,这里困难体现在RGB空间图上,如下图

在这里插入图片描述
它建立在笛卡尔坐标系中,以红、绿、蓝三种基本色为基础,进行不同程度的叠加,产生丰富而广泛的颜色,俗称三基色模式。

优点: RGB颜色空间最大的优点就是直观,容易理解。

缺点:R,G,B这3个分量是高度相关的,即如果一个颜色的某一个分量发生了一定程度的改变,那么这个颜色很可能要发生改变;人眼对于常见的红绿蓝三色的敏感程度是不一样的,因此RGB颜色空间的均匀性非常差,且两种颜色之间的知觉差异色差不能表示为该颜色空间中两点间的距离,但是利用线性或非线性变换,则可以从RGB颜色空间推导出其他的颜色特征空间。

从RGB的缺点来看,就是说明RGB变化形成的差异色差不能量化为该RGB空间中两点的距离。

这就导致了刚才说到RGB空间找到红色范围是非常困难的,这里指的范围是指在RGB变化形成的差异色差( Δ \Delta ΔR, Δ \Delta ΔG, Δ \Delta ΔB)中找到最终影响红眼的那部分范围(别单单把红色范围理解为 Δ \Delta ΔR,影响最终成色的不仅仅是R)

这里受到另一位博主的博客RGB颜色空间的启发,才想通这个范围的问题,该博主也作了RGB转换到其他颜色空间的解释。

接上面,RGB空间找到红色范围非常困难,这需要将色彩从RGB空间转换到HSV空间,HSV空间的红色范围可以很容易的表示出来。

关于HSV空间的知识参考HSV颜色空间

关于RGB空间到HSV空间的转换,这里引用自上述博主的博客解释:

HSV 在数学上定义为在 RGB 空间中的颜色的 R, G 和 B 的坐标的变换。

设 (r, g, b) 分别是一个颜色的红、绿和蓝坐标,它们的值是在 0 到 1 之间的实数。

设 max 等价于 r, g 和 b 中的最大者,设 min 等于这些值中的最小者。

要找到在 HSV 空间中的 (h, s, v) 值,这里的 h ∈ [0, 360)是角度的色相角,而 s, v ∈ [0,1] 是饱和度和亮度,计算公式为:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

HSV对用户来说是一种直观的颜色模型。我们可以从一种纯色彩开始,即指定色彩角H,并让V=S=1,然后我们可以通过向其中加入黑色和白色来得到我们需要的颜色。增加黑色可以减小V而S不变,同样增加白色可以减小S而V不变。

例如,要得到深蓝色,V=0.4 S=1 H=240度。要得到淡蓝色,V=1 S=0.4 H=240度。

一般说来,人眼最大能区分128种不同的色彩,130种色饱和度,23种明暗度。如果我们用16Bit表示HSV的话,可以用7位存放H,4位存放S,5位存放V,即745或者655就可以满足我们的需要了。

由于HSV是一种比较直观的颜色模型,所以在许多图像编辑工具中应用比较广泛,如Photoshop(在Photoshop中叫HSB)等等,但这也决定了它不适合使用在光照模型中,许多光线混合运算、光强运算等都无法直接使用HSV来实现。

在HSV空间中,红色的范围可以很容易表示,不像RGB空间那样难以量化。

在这里插入图片描述
RGB空间就和时域一样,都有自身的限制,这里引出RGB空间的表示,是为了说明和时域一样的限制,时域因为高中低音的杂糅无法调节低音,RGB空间因为无法通过差异色差( Δ \Delta ΔR, Δ \Delta ΔG, Δ \Delta ΔB)量化颜色所处范围,说白了是各颜色范围杂糅在一起。

所以我们需要进行一种变换,将在原来空间中难以处理的问题变换到方便计算的空间中去。(恍然大悟)

频域

频域是描述频率用到的空间或者是坐标系。

对于波来说,频率是每秒波形重复的数量,这里指的每秒波形的波形的起点和终点由如下解释:
赫兹 (hertz):
频率的标准单位,以德国物理学家Heinrich Hertz命名.赫兹数表示每秒周期数或每秒从一个基本状态开始以至恢复的变化循环数.在音频范围,基本状态是指没有声音时的空气压强或它的电学等效值(常电平DC信号).赫兹值越大,表示音调越高,赫兹值越大,在波形图上表现为波形密集程度很密集。
声音是一种波,光具有波粒二象性,也具有电磁波的性质,频率是物质每秒完成周期性变化的次数。
交流电波形
在这里插入图片描述
所谓低音,即使将人声的低音部分保留或者增强,对应上图左侧横线部分。而对于人声中的高音部分进行衰减,对应上图中右侧的斜坡部分。
通过整个低通滤波器,能够将低音过滤,将高音衰减。

低音效果是在频率范围内高铝问题,波形图是在时域内的图像
所以我们要找到一个沟通时域和频域的桥梁,但时域和频域表达的是同一种信息,只是表现形式不同。

时域转频域

极坐标与直角坐标系类比

一些函数在直角坐标系上是非常难以表示的,只能以参数方程表示,而在极坐标系下能简单的表示函数方程,这里是为了说明直角坐标系和极坐标系转换的便利性,域的改变能解决一些原域难以解决的问题。

傅里叶级数

标准的正弦函数
在时域它的函数方程是 y = s i n ( x ) y=sin(x) y=sin(x)
而它的频率是 f = 1 / T = 1 / 2 π f=1/T=1/2\pi f=1/T=1/2π

上面整个函数在频域中的图像如下y=sin(x)在频域的函数
横轴表示频率 f f f,纵轴表示幅值 A A A,上面两张图分别从时域和频域表示了正弦函数,但表达的都是同样的信息。

频域的图像的频率是固定值,因为 y = s i n ( x ) y=sin(x) y=sin(x)在周期的变化是固定为2 π \pi π的,可见频域的图像把时域的时间信息去掉了。

更一般的正弦函数有: y = A s i n ( 2 π f x + ϕ ) y=Asin(2\pi fx+\phi) y=Asin(2πfx+ϕ),其中f是正弦函数的频率, ϕ \phi ϕ是初始相位, A A A是幅度.

在广义的频率, f f f可正可负,上图中旋转臂顺时针旋转, f f f为负值。
如果旋转臂转的越快,则频率越高,零时刻旋转臂和水平方向的夹角,就是初始相位。

在这里插入图片描述
正弦波就是一个圆周运动在一条直线上的投影。所以频域的基本单元也可以理解为一个始终在旋转的圆
在这里插入图片描述
矩形波在频域里的另一个模样了:

下图的侧面图
包含时域和频域的空间类似图
在这里插入图片描述
可以发现,在频谱中,偶数项的振幅都是0,也就对应了图中的彩色直线。振幅为0的正弦波。

在这里插入图片描述
通过时域到频域的变换,我们得到了一个从侧面看的频谱,但是这个频谱并没有包含时域中全部的信息。因为频谱只代表每一个对应的正弦波的振幅是多少,而没有提到相位。基础的正弦波A.sin(wt+θ)中,振幅,频率,相位缺一不可,不同相位决定了波的位置,所以对于频域分析,仅仅有频谱(振幅谱)是不够的,我们还需要一个相位谱。那么这个相位谱在哪呢?我们看下图,这次为了避免图片太混论,我们用7个波叠加的图

在这里插入图片描述

鉴于正弦波是周期的,我们需要设定一个用来标记正弦波位置的东西。在图中就是那些小红点。小红点是距离频率轴最近的波峰,而这个波峰所处的位置离频率轴有多远呢?为了看的更清楚,我们将红色的点投影到下平面,投影点我们用粉色点来表示。当然,这些粉色的点只标注了波峰距离频率轴的距离,并不是相位。
在这里插入图片描述
这里需要纠正一个概念:时间差并不是相位差。如果将全部周期看作 2 π 2\pi 2π或者 360 360 360度的话,相位差则是时间差在一个周期中所占的比例。我们将时间差除周期再乘 2 π 2\pi 2π,就得到了相位差。
为了更好了解时间差与相位差,再次贴出正弦波的定义:
在这里插入图片描述
上图左边的起始旋转臂与水平方向的夹角为 ϕ \phi ϕ,即初始相位,上图的初始相位为0。如果我们要计算这个相位差,这里提到的相位差是和初始相位为0的同频率波形之间的相位差。要求得这个相位差, 我们得有一个数据叫时间差。时间差在上图来看,正弦波向x轴正方向移动,上图左边的动圆逆时针转动,圆上与旋转臂交叉的点为动点逆时针旋转,随着时间的流动产生正弦波,之所以上两张图的x轴的那一段为时间差,下图给出了解释,注意下图的圆和正弦波的流动方向与上图相同(忘记画了),可以看出当旋转臂与水平方向有个夹角 ϕ \phi ϕ时,经过时间的运动得到正弦波,上两张图和下面的图的时间差位置都是参照我文章开头的博主写明的时间差位置。如果原博主指的是当前正弦波 y = s i n ( B x + ϕ ) y=sin(Bx+\phi) y=sin(Bx+ϕ) y = s i n ( B x ) y=sin(Bx) y=sin(Bx)之间的相位差,那么“正确”的时间差位置应该是下图中的这个周期的正弦波与x轴负半轴的那段时间差,这段才是 ϕ \phi ϕ相位在单位圆中运动经过的时间差。(以上是为了讨论方便,将波形运动的圆假设为单位圆)

时间差到相位差的计算

假设将时间差定义为 Δ t \Delta t Δt,那么计算时间差在整个圆运动一周期T的占比 1 / T 1/T 1/T,这里的T就是正弦波的周期,假设正弦波函数公式为 y = A s i n ( 2 π f x + ϕ ) y=Asin(2\pi fx+\phi) y=Asin(2πfx+ϕ)(这个时候对应的圆不是单位圆了,但不影响我接下来对相位差的计算,只是写出一个一般式,讨论这个一般式的周期计算),那么这个正弦波的周期 T = 2 π / ω = 2 π / 2 π f T=2\pi/\omega=2\pi/2\pi f T=2π/ω=2π/2πf,再通过上面的两张图或者下面的图可以对应时间差位置到运动圆所在的那部分运动距离,可以知道 ϕ \phi ϕ的大小等于 2 π 2\pi 2π乘以 ϕ \phi ϕ对应的弧长占整个圆周的占比,而整个占比就是前面计算的 1 / T 1/T 1/T,因此最终 ϕ = 2 π / T \phi =2\pi /T ϕ=2π/T,这就是相位差的计算公式(该相位差是一个相位为 ϕ \phi ϕ的正弦波和一个相位为0的同频率正弦波之间的相位差)。

在这里插入图片描述

相位谱种的相位除了 0 0 0,就是 π \pi π,因为 c o s ( t + π ) = − c o s ( t ) cos(t+\pi)=-cos(t) cos(t+π)=cos(t),所以实际上相位为 π \pi π的波只是上下翻转了而已。
由于 c o s ( t + 2 π ) = c o s ( t ) cos(t+2\pi)=cos(t) cos(t+2π)=cos(t),所以相位差是周期的, π \pi π 3 π 3\pi 3π, 5 π 5\pi 5π, 7 π 7\pi 7π都是相同的相位。所以图中的相位差均为 π \pi π
下图是整合图,涵盖了上面的大部分信息
在这里插入图片描述

傅里叶变换

在这里插入图片描述

在这里插入图片描述
以上是离散谱,那么连续谱是什么样子呢?
想象这些离散的正弦波离得越来越近,逐渐变得连续……
直到变得像波涛起伏的大海:

在这里插入图片描述

欧拉公式

虚数i这个概念大家在高中就接触过,但那时我们只知道它是-1的平方根,可是它真正的意义是什么呢?
在这里插入图片描述
这里有一条数轴,在数轴上有一个红色的线段,它的长度是1。当它乘以3的时候,它的长度发生了变化,变成了蓝色的线段,而当它乘以-1的时候,就变成了绿色的线段,或者说线段在数轴上围绕原点旋转了180度。
我们知道乘-1其实就是乘了两次 i使线段旋转了180度,那么乘一次 i 呢——答案很简单——旋转了90度。
在这里插入图片描述
同时,我们获得了一个垂直的虚数轴。实数轴与虚数轴共同构成了一个复数的平面,也称复平面。这样我们就了解到,乘虚数i的一个功能——旋转。

欧拉公式: e i x = c o s x + i s i n x e^{ix}=cosx+isinx eix=cosx+isinx

这个公式在数学领域的意义要远大于傅里叶分析,但是称它为宇宙第一耍帅公式是因为它的特殊形式——当x等于Pi的时候。

e i π + 1 = 0 e^{i\pi}+1=0 eiπ+1=0

这个公式关键的作用,是将正弦波统一成了简单的指数形式。我们来看看图像上的涵义:

在这里插入图片描述
欧拉公式所描绘的,是一个随着时间变化,在复平面上做圆周运动的点,随着时间的改变,在时间轴上就成了一条螺旋线。如果只看它的实数部分,也就是螺旋线在左侧的投影,就是一个最基础的余弦函数。而右侧的投影则是一个正弦函数。

这里贴出关于复数的理解,同时也是***韩昊*** 博主的博文复数的物理意义是什么?
这篇博文中的一段话:

更重要的意义在于复数运算保留了二维信息。
假如我让你计算3+5,虽然你可以轻松的计算出8,但是如果让你分解8你会有无数种分解的方法,3和5原始在各自维度上的信息被覆盖了。
但是计算3+5i的话,你依然可以分解出实部和虚部

指数形式的傅里叶变换

有了欧拉公式的帮助,我们便知道:正弦波的叠加,也可以理解为螺旋线的叠加在实数空间的投影。而螺旋线的叠加如果用一个形象的栗子来理解是什么呢?

光波

高中时我们就学过,自然光是由不同颜色的光叠加而成的,而最著名的实验就是牛顿师傅的三棱镜实验
在这里插入图片描述
所以其实我们在很早就接触到了光的频谱,只是并没有了解频谱更重要的意义。

但不同的是,傅里叶变换出来的频谱不仅仅是可见光这样频率范围有限的叠加,而是频率从0到无穷所有频率的组合。

这里,我们可以用两种方法来理解正弦波:

第一种前面已经讲过了,就是螺旋线在实轴的投影。

另一种需要借助欧拉公式的另一种形式去理解:
e i x = c o s x + i s i n x e^{ix}=cosx+isinx eix=cosx+isinx
e − i x = c o s x − i s i n x e^{-ix}=cosx-isinx eix=cosxisinx
将以上两式相加再除2,得到:
c o s ( t ) = e i t + e − i t 2 cos(t)=\frac {e^{it}+e^{-it}} {2} cos(t)=2eit+eit

这个式子可以怎么理解呢?
e i t e^{it} eit可以理解为一条逆时针旋转的螺旋线,那么e^(-it)则可以理解为一条顺时针旋转的螺旋线。而 c o s ( t ) cos(t) cos(t)则是这两条旋转方向不同的螺旋线叠加的一半,因为这两条螺旋线的虚数部分相互抵消掉了!

好了,刚才我们已经看到了大海——连续的傅里叶变换频谱,现在想一想,连续的螺旋线会是什么样子:
在这里插入图片描述
在这里插入图片描述
哈哈,是不是觉得被狠狠扇了一个耳光。数学就是这么一个把简单的问题搞得很复杂的东西。
顺便说一句,那个像大海螺一样的图,为了方便观看,我仅仅展示了其中正频率的部分,负频率的部分没有显示出来。

如果你认真去看,海螺图上的每一条螺旋线都是可以清楚的看到的,每一条螺旋线都有着不同的振幅(旋转半径),频率(旋转周期)以及相位。而将所有螺旋线连成平面,就是这幅海螺图了。

好了,讲到这里,相信大家对傅里叶变换以及傅里叶级数都有了一个形象的理解了,我们最后用一张图来总结一下:

在这里插入图片描述

原作者出色的理解,将一个复杂的数学概念讲得如此通透,由其是在三维及以下的现实世界,尽管我不是通信领域的学生,但在科研的道路上能够帮助我理解有关傅里叶变换的知识。
文章参考及部分转载内容来自:(已赞赏)
作 者:韩 昊

知 乎:Heinrich

微 博:@花生油工人

知乎专栏:与时间无关的故事

谨以此文献给大连海事大学的吴楠老师,柳晓鸣老师,王新年老师以及张晶泊老师。

转载的同学请保留上面这句话,谢谢。如果还能保留文章来源就更感激不尽了。
文章完整版来源:傅里叶分析之掐死教程(完整版)更新于2014.06.06

  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值