龙听期货论坛's Archiver

龙听 发表于 2022-9-13 15:22

傅里叶变换及相关知识

[img]http://p.algo2.net/2022/0913/ce97c8a68b1b7.jpg[/img]

上述 A 表示振幅,ω 表示角频率,φ 为初相,t 表示时间,y 表示动点的位置.

频率:单位时间内完成周期性变化的次数,是描述周期运动频繁程度的量,一秒钟内振动质点完成的全振动的次数叫振动的频率,其单位为赫(Hz) 。频率也是表示质点振动快慢的物理量,频率越大,振动越快。从波形图分析一个函数的频率的高低,可以从波形图图像中的一段时间内波的密集程度,越密集表明在这段时间内振动次数越多,频率越高.

相位:ωt+φ 为相位,相位(phase)是对于一个波,特定的时刻在它循环中的位 置:一种它是否在波峰、波谷或它们之间的某点的标度。相位描述信号波形变化的度量,通常以度 (角度)作为单位,也称作相角。 当信号波形以周期的方式变化,波形循环一周即为360° 。从波形图分析一个函数的相位,相位表示函数相的位置,也表明了相的趋势,即波往哪个方向位置振动。

初相:初相表示在时间t为0(初始状态)时的位置,从波形图上看即时间t=0波的位置,即函数在t=0时函数的位置。

角频率:也称圆频率,表示单位时间内变化的相角弧度值,从波形图上分析,角频率就是波在单位时间内的的弯曲角度或程度。角频率是描述物体振动快慢的物理量,和频率有着密切的关系。

周期:物体完成一次全振动经过的时间为一个周期T,其单位为秒。周期是表示质点振动快慢的物理量,周期越长,振动越慢。

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

以下是 y = sin( πt + 1 ) 在时域[-2π  , 2π]并且步长为0.1的图像:

[img]http://p.algo2.net/2022/0913/3c992ba94b499.png[/img]

龙听 发表于 2022-9-13 15:44

以上python3源码如下:

[img]http://p.algo2.net/2022/0913/64b73360a2d12.png[/img]

时域转频域

极坐标与直角坐标系类比

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

傅里叶级数

[img]http://p.algo2.net/2022/0913/591aca397a4e5.gif[/img]

在时域它的函数方程是y = s i n ( x )  
而它的频率是f = 1 / T = 1 / 2π

上面整个函数在频域中的图像如下

[img]http://p.algo2.net/2022/0913/d45c23eed1aec.jpg[/img]

横轴表示频率f ,纵轴表示幅值A ,上面两张图分别从时域和频域表示了正弦函数,但表达的都是同样的信息。

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

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

在广义的频率,f 可正可负,上图中旋转臂顺时针旋转,f 为负值。

如果旋转臂转的越快,则频率越高,零时刻旋转臂和水平方向的夹角,就是初始相位。

[img]http://p.algo2.net/2022/0913/95aa81545fc07.jpg[/img]

正弦波就是一个圆周运动在一条直线上的投影。所以频域的基本单元也可以理解为一个始终在旋转的圆

[img]http://p.algo2.net/2022/0913/8169cca2df0ab.gif[/img]

矩形波在频域里的另一个模样了:

[img]http://p.algo2.net/2022/0913/dfa0242d978ed.jpg[/img]
[img]http://p.algo2.net/2022/0913/f1b521a47c716.jpg[/img]
[img]http://p.algo2.net/2022/0913/9cbce0285ecff.jpg[/img]

可以发现,在频谱中,偶数项的振幅都是0,也就对应了图中的彩色直线。振幅为0的正弦波。

[img]http://p.algo2.net/2022/0913/a73cfb5552120.gif[/img]

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

[img]http://p.algo2.net/2022/0913/541c6845aa087.jpg[/img]

鉴于正弦波是周期的,我们需要设定一个用来标记正弦波位置的东西。在图中就是那些小红点。小红点是距离频率轴最近的波峰,而这个波峰所处的位置离频率轴有多远呢?为了看的更清楚,我们将红色的点投影到下平面,投影点我们用粉色点来表示。当然,这些粉色的点只标注了波峰距离频率轴的距离,并不是相位。

[img]http://p.algo2.net/2022/0913/997f83c6ebc76.jpg[/img]

这里需要纠正一个概念:时间差并不是相位差。如果将全部周期看作2 π 或者360 度的话,相位差则是时间差在一个周期中所占的比例。我们将时间差除周期再乘2 π ,就得到了相位差。

为了更好了解时间差与相位差,再次贴出正弦波的定义:

[img]http://p.algo2.net/2022/0913/95aa81545fc07.jpg[/img]

上图左边的起始旋转臂与水平方向的夹角为ϕ ,即初始相位,上图的初始相位为0。如果我们要计算这个相位差,这里提到的相位差是和初始相位为0的同频率波形之间的相位差。要求得这个相位差, 我们得有一个数据叫时间差。时间差在上图来看,正弦波向x轴正方向移动,上图左边的动圆逆时针转动,圆上与旋转臂交叉的点为动点逆时针旋转,随着时间的流动产生正弦波,之所以上两张图的x轴的那一段为时间差,下图给出了解释,注意下图的圆和正弦波的流动方向与上图相同(忘记画了),可以看出当旋转臂与水平方向有个夹角ϕ 时,经过时间的运动得到正弦波,上两张图和下面的图的时间差位置都是参照我文章开头的博主写明的时间差位置。如果原博主指的是当前正弦波y = s i n ( B x + ϕ ) 和y = s i n ( B x ) 之间的相位差,那么“正确”的时间差位置应该是下图中的这个周期的正弦波与x轴负半轴的那段时间差,这段才是ϕ 相位在单位圆中运动经过的时间差。(以上是为了讨论方便,将波形运动的圆假设为单位圆)

时间差到相位差的计算

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

[img]http://p.algo2.net/2022/0913/6d7790a075699.jpg[/img]

相位谱种的相位除了0 ,就是π ,因为c o s ( t + π ) = − c o s ( t ) ,所以实际上相位为π的波只是上下翻转了而已。

由于c o s ( t + 2 π ) = c o s ( t ),所以相位差是周期的,π 和3 π ,5 π ,7 π 都是相同的相位。所以图中的相位差均为π

下图是整合图,涵盖了上面的大部分信息

[img]http://p.algo2.net/2022/0913/9a450a6b7cc25.jpg[/img]

傅里叶变换

[img]http://p.algo2.net/2022/0913/868a906f280c3.jpg[/img]
[img]http://p.algo2.net/2022/0913/aad7383fcb048.jpg[/img]

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

[img]http://p.algo2.net/2022/0913/5be235000cc59.jpg[/img]

欧拉公式

虚数i这个概念大家在高中就接触过,但那时我们只知道它是-1的平方根,可是它真正的意义是什么呢?

[img]http://p.algo2.net/2022/0913/a55a74cfa7221.jpg[/img]

这里有一条数轴,在数轴上有一个红色的线段,它的长度是1。当它乘以3的时候,它的长度发生了变化,变成了蓝色的线段,而当它乘以-1的时候,就变成了绿色的线段,或者说线段在数轴上围绕原点旋转了180度。

我们知道乘-1其实就是乘了两次 i使线段旋转了180度,那么乘一次 i 呢——答案很简单——旋转了90度。

[img]http://p.algo2.net/2022/0913/75fb6a974948f.jpg[/img]

同时,我们获得了一个垂直的虚数轴。实数轴与虚数轴共同构成了一个复数的平面,也称复平面。这样我们就了解到,乘虚数i的一个功能——旋转。

[img]http://p.algo2.net/2022/0913/d96e35687dc98.png[/img]

[img]http://p.algo2.net/2022/0913/197f2f2a09fe7.jpg[/img]

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

页: [1]