图说Fourier变换

如同泰勒级数一样,Fourier级数是一种特殊形式的函数展开,一个函数按照泰勒级数展开时,基底函数取

1, x, x^2, x^3, \cdots, x^n

而一个函数按傅里叶级数展开时,基底函数取

1,cosx, cos2x, cos3x, \cdots, .sinx, sin2x,sin3x,\cdots.

它们构成无穷维的空间,这些无穷维空间的表示多是完备的,也就是缺少任何一个都不可以。最常遇到的函数在它的定义域内每一点都可以展开成幂级数,而傅里叶展开则需要一些条件。

与泰勒级数不同的是,在傅里叶级数中,任意两个不同的基底函数在[0,2\pi]上是正交的.也就是:

\int_{0}^{2\pi}1\cdot cos(nx)dx = 0

\int_{0}^{2\pi}1\cdot sin(nx)dx = 0

 \int_{0}^{2\pi}cos(mx)\cdot cos(nx)dx = 0\ (m\ne n)

\int_{0}^{2\pi}sin(mx)\cdot sin(nx)dx = 0\ (m\ne n)

扫描二维码关注公众号,回复: 12828072 查看本文章

\int_{0}^{2\pi}cos(mx)\cdot sin(nx)dx = 0\ (m\neq n \ or \ m = n)

这里,m,n=1,2,3,\cdots,基底函数的正交性对一个函数的傅里叶展开是至关重要的,傅里叶级数是一种很自然的函数展开形式,不但能够解决某些数学上的经典问题,而且是描述许多重要物理现象的基础,如力学,声学,电子学以及信号分析,控制科学等.

一个傅里叶级数在一般情况下表示为:

f(x)=a_0 + \sum_{n = 1}^{\infty }(a_ncos(nx) + b_nsin(nx))

其中,a_n,a_nb_n是展开系数.假定一个周期为2\pi的函数f(x)

f(x+2\pi)=f(x)

能按上式展开,之所以假定周期为2\pi是为了计算方便,因为周期为2\pi的函数,角速度为:

\omega_0 = \frac{2\pi}{T} = \frac{2\pi}{2\pi} =1

f = \frac{\omega_0}{2\pi} = \frac{1}{T} =\frac{1}{2\pi}

这样,展开后的各次谐波可以写成

cos(nw_0x) =cos(nx)

的形式.当然定义周期非2\pi也可以,只是推到过程中函数形式上会复杂一些,这里为了方便计算,定义周期为2\pi

n\omega_0=n\frac{2\pi}{T}=\frac{2n\pi}{T}=\frac{2\pi}{\frac{T}{n}}

所以,傅里叶级数可以看成一些列周期为

\frac{T}{1}, \frac{T}{2}, \frac{T}{3},\cdots, \frac{T}{n}

的三角波的叠加。

即便w_0\neq 1, 最终积分的时候,根据积化和差公式,得到包含

cos(m+n)w_0xsin(m+n)w_0x,cos(m-n)w_0x,sin(m-n)w_0x

的项,它们的角频率都是一次谐波的整数倍,也就是说,周期都可以被一次谐波整除,而积分范围是一次谐波的一个周期范围,必定包含整数个高次谐波的波形,而三角波再周期范围内积分为0,所以,积分结果也必定为0.

现在计算其中的展开系数.

对上式两边在[0,2\pi]范围进行积分,并利用正交性:

\\ \int_{0}^{2\pi}f(x)dx = \int_{0}^{2\pi}[a_0+\sum_{n=1}^{\infty }(a_ncosnx+b_nsinnx)]dx \\ = 2\pi a_0 + \sum_{n=1}^{\infty }a_n \int_{0}^{2\pi}cosnxdx + \sum_{n=1}^{\infty }b_n \int_{0}^{2\pi}sinnxdx = 2\pi a_0 + 0 + 0 = 2\pi a_0

所以:

a_0 = \frac{1}{2\pi}\int_{0}^{2\pi}f(x)dx

所以a_0是函数f(x)[0,2\pi]区间的平均值,为了计算系数a_n,按照同样的套路,对两边同乘以cos(mx)(m=1,2,3,\cdots),然后在[0,2\pi]范围积分,并利用正交性,得到:

\\ \int_{0}^{2\pi}f(x)cosmxdx = \int_{0}^{2\pi}cosmx[a_0+\sum_{n=1}^{\infty }(a_ncosnx+b_nsinnx)]dx \\ =a_0\int_{0}^{2\pi}cosmxdx + \sum_{n=1}^{\infty }b_n \int_{0}^{2\pi}cosmxsinnxdx + \sum_{n=1}^{\infty }a_n \int_{0}^{2\pi}cosmxcosnxdx \\ = 0 + 0 + \sum_{n=1}^{\infty }a_n \int_{0}^{2\pi}cosmxcosnxdx= \sum_{n=1}^{\infty }a_n \int_{0}^{2\pi}cosmxcosnxdx=a_n\int_{0}^{2\pi}cos^2nxdx \\=a_n\int_{0}^{2\pi}\frac{1+cos(2nx)}{2}dx = a_n\pi + 0 = a_n\cdot \pi

所以:

a_n =\frac{1}{\pi}\int_{0}^{2\pi}f(x)cos(nx)dx

类似,对前式两边同乘以sin(mx)(m=1,2,3,\cdots),积分后得到:

b_n =\frac{1}{\pi}\int_{0}^{2\pi}f(x)sin(nx)dx

Notes: 上面计算过程的积分范围是[0,2\pi],其实也可以选择[-\pi,\pi],计算结果系数表达式不变,只是将积分范围变为[-\pi,\pi],事实上,由于被积分的函数是以2\pi为周期的,积分范围可以选择任意一个宽度为2\pi的区间.

傅里叶变换的本质是内积,内积的本质是投影,三角函数的特殊性在于,它是一个完备的正交函数集,不同频率的三角函数之间的内积为0,也就是垂直,正交,或者毫不相关,只有频率相同的三角函数,内积才不是0(很显然,自身到自身的投影,长度一定不为0, 除非自身就是0).从这个角度看,我们求得的傅里叶系数只是再不同的函数上的投影坐标。

综上,得到傅里叶系数:

\large \left\{\begin{matrix}a_0 = \frac{1}{2\pi}\int_{0}^{2\pi}f(x)dx \quad \qquad \\a_n =\frac{1}{\pi}\int_{0}^{2\pi}f(x)cos(nx)dx \\b_n =\frac{1}{\pi}\int_{0}^{2\pi}f(x)sin(nx)dx \end{matrix}\right.

假如被积函数有周期TT,则积分区间可以用任意一个宽度为TT的区间代替,例如[-T/2+x, T/2+x].,因为无论区间怎样取,周期内积分必定相等.

从纯数学的角度讲,上面的过程是使用三角函数逼近周期函数的过程,如果在频率增加时,fourier系数快速收敛为0,则信号表现是光滑的,如果在频率较大的时候,有一些系数仍然无法收敛,则图形会变成有高频噪声的情况,可以使用低通滤波对频率进行过滤,得到低频部分.

法国数学家傅里叶在提出傅里叶级数时认为,任何一个周期信号都可以展开成傅里叶级数,后来发现还要加上一些条件,不过这些条件非常的弱,之后经过进一步补充,只有在满足狄利克雷条件时,周期信号才能够被展开成傅里叶级数。其中,狄利克雷条件的定义如下:

  1. 在一周期内,连续或只有有限个第一类间断点.(如果x_0是函数 f(x) 的间断点,且左极限及右极限都存在,满足这些条件的间断点成为第一类间断点).
  2. 在一周期内,极大值和极小值的数目应是有限个,翻译过来就是,分段单调,单调区间的个数有限.
  3. 在一周期内,信号是绝对可积的。

这三个条件是充分条件,但不是必要条件,也就是说,存在一些函数有傅里叶展开,但是却不一定满足上面这三条,但是对于满足上面三条的函数,一定可以进行傅里叶级数展开.

关于间断点的分类,见下图:

收敛情况,在f(x)的连续点,傅里叶级数收敛于:

a_0 + \sum_{n = 1}^{\infty }(a_ncos(nx) + b_nsin(nx))=f(x)

但是在f(x)的间断点,收敛于:

a_0 + \sum_{n = 1}^{\infty }(a_ncos(nx) + b_nsin(nx))=\frac{f(x-0)+f(x+0)}{2}

其中f(x-0)f(x+0)f(x)x处的左极限和右极限,这里的含义是,如果将函数按照傅里叶级数展开,这个傅里叶级数再原函数的一个连续点收敛于对应连续点的值,但是在原函数的一个间断点,则收敛于这个间断点左右极限的算数平均值.

这也侧面反应,左右极限存在是傅里叶变换可以进行的必要条件.

另外,根据条件1和条件3,也可以得出,a_n,b_n 随着系数增大,逐渐趋于0的事实,这也说明傅里叶变换后,高频分量能量趋近于零,可以忽略。

现在我们证明一下:

根据条件1和3,f(x)满足绝对可积,只有有限个第一类间断点,则可以得到f(x)函数在周期内一定有界,包括上界和下界,所以下式一定成立:

\left|f(x)\right|<A

一定成立

所以

\left|a_n\right| =\left| \frac{1}{\pi}\int_{0}^{2\pi}f(x)cos(nx)dx\right|<\left| \frac{1}{\pi}\int_{0}^{2\pi}Acos(nx)dx\right|=\frac{A}{\pi}\frac{sinnx}{n}\leq \frac{A}{n\pi}

\left|b_n\right| =\left| \frac{1}{\pi}\int_{0}^{2\pi}f(x)sin(nx)dx\right|<\left| \frac{1}{\pi}\int_{0}^{2\pi}Asin(nx)dx\right|=\frac{A}{\pi}\frac{cosnx}{n}\leq \frac{A}{n\pi}

后面还会看到傅里叶级数的复指数形式也有一个系数,它的系数表示为:

\\ F(n)=\frac{a_n-ib_n}{2}

模表示单位圆的半径幅度:

\left | F(n) \right |=\left | \frac{a_n-ib_n}{2} \right |=\frac{\sqrt{a_n^2+b_n^2}}{2}\leq \frac{\sqrt{\frac{A^2}{n^2\pi^2}+\frac{A^2}{n^2\pi^2}}}{2}=\frac{\sqrt{2}}{2}\cdot \frac{A}{n\pi}

可以看到,随着n\rightarrow \infty,傅里叶变换复指数形式的系数表示环绕圆半径也是逐渐减小的。

所以,a_n,b_n 随着系数增大,绝对值逐渐趋于0的判断成立,几何化表示就是,频域圆圈套圆圈,后面的圆圈越来越小。

傅里叶级数的复数形式推导:

根据欧拉公式:

e^{i\omega x }=cos(\omega x)+i\cdot sin(\omega x)

\omega =\frac{2\pi}{T}=\frac{2\pi}{2\pi}=1

所以

e^{ix}=cos(x)+i\cdot sin(x)

e^{-ix}=cos(x)-i\cdot sin(x)

所以:

cos(x)=\frac{e^{ix}+e^{-ix}}{2}

sin(x)=\frac{e^{ix}-e^{-ix}}{2i}

\\ f(x)=a_0 + \sum_{n = 1}^{\infty }(a_ncos(nx) + b_nsin(nx)) \\= a_0+\sum_{n = 1}^{\infty }(a_n\cdot \frac{e^{inx}+e^{-inx}}{2} + b_n\cdot \frac{e^{inx}-e^{-inx}}{2i})\\=a_0+\sum_{n = 1}^{\infty }(a_n\cdot \frac{e^{inx}+e^{-inx}}{2} - b_n\cdot \frac{e^{inx}-e^{-inx}}{2}i)\\=a_0+\sum_{n = 1}^{\infty }(\frac{a_n-ib_n}{2}e^{inx} +\frac{a_n+ib_n}{2}e^{-inx})

由于

a_n =\frac{1}{\pi}\int_{0}^{2\pi}f(x)cos(nx)dx

所以

a_{-n} =\frac{1}{\pi}\int_{0}^{2\pi}f(x)cos(nx)dx=a_n

b_{-n} =\frac{1}{\pi}\int_{0}^{2\pi}f(x)sin(-nx)dx=-b_n

注意这里是-n而不是-x,所以固定的是上式的结论.

所以:

\frac{a_n+ib_n}{2}e^{-inx} = \frac{a_{j}-ib_j}{2}e^{i\cdot jx} \qquad j = -n

所以:

\\ f(x)=a_0 + \sum_{n = 1}^{\infty }(a_ncos(nx) + b_nsin(nx)) \\= a_0+\sum_{n = 1}^{\infty }(a_n\cdot \frac{e^{inx}+e^{-inx}}{2} + b_n\cdot \frac{e^{inx}-e^{-inx}}{2i})\\=a_0+\sum_{n = 1}^{\infty }(a_n\cdot \frac{e^{inx}+e^{-inx}}{2} - b_n\cdot \frac{e^{inx}-e^{-inx}}{2}i)\\=a_0+\sum_{n = 1}^{\infty }(\frac{a_n-ib_n}{2}e^{inx} +\frac{a_n+ib_n}{2}e^{-inx})= a_0+\sum_{n = 1}^{\infty }\frac{a_n-ib_n}{2}e^{inx} +\sum_{n = 1}^{\infty }\frac{a_n+ib_n}{2}e^{-inx}\\=a_0+\sum_{n = 1}^{\infty }\frac{a_n-ib_n}{2}e^{inx} +\sum_{n = -\infty}^{-1 }\frac{a_n-ib_n}{2}e^{inx}\\=\frac{2a_0-2b_0i}{2}e^{i\cdot 0 \cdot x}+\sum_{n = 1}^{\infty }\frac{a_n-ib_n}{2}e^{inx} +\sum_{n = -\infty}^{-1 }\frac{a_n-ib_n}{2}e^{inx}

这里做一下变量代换,用a_0表示2a_0,用b_0表示2b_0,其中b_0 = 0

也就是新的公式里面的

a_0 = \frac{1}{\pi}\int_{0}^{2\pi}f(x)dx

所以,上面的式子化为:

\mathbf{\\f(x)=\frac{a_0-b_0i}{2}e^{i\cdot 0 \cdot x}+\sum_{n = 1}^{\infty }\frac{a_n-ib_n}{2}e^{inx} +\sum_{n = -\infty}^{-1 }\frac{a_n-ib_n}{2}e^{inx}\\=\sum_{n = -\infty}^{-1 }\frac{a_n-ib_n}{2}e^{inx} + \frac{a_0-b_0i}{2}e^{i\cdot 0 \cdot x}+\sum_{n = 1}^{\infty }\frac{a_n-ib_n}{2}e^{inx} =\sum_{n=-\infty}^{\infty }\frac{a_n-ib_n}{2}e^{inx}}

对于复数代数表达和自然指数表达之间的联系,做如下推导:

\\\mathbf{a+ib=\sqrt{a^2+b^2}(\frac{a}{\sqrt{a^2+b^2}}+i\frac{b}{\sqrt{a^2+b^2}})=\sqrt{a^2+b^2}(cos\varphi +isin\varphi )=\sqrt{a^2+b^2}\cdot e^{\varphi i}}

\mathbf{tan\varphi = \frac{b}{a}}

如下图:

所以:

\mathbf{\\f(x)=\frac{a_0-b_0i}{2}e^{i\cdot 0 \cdot x}+\sum_{n = 1}^{\infty }\frac{a_n-ib_n}{2}e^{inx} +\sum_{n = -\infty}^{-1 }\frac{a_n-ib_n}{2}e^{inx}\\=\sum_{n = -\infty}^{-1 }\frac{a_n-ib_n}{2}e^{inx} + \frac{a_0-b_0i}{2}e^{i\cdot 0 \cdot x}+\sum_{n = 1}^{\infty }\frac{a_n-ib_n}{2}e^{inx} =\sum_{n=-\infty}^{\infty }\frac{a_n-ib_n}{2}e^{inx}=\sum_{n=-\infty}^{\infty }\frac{1}{2}\cdot C_n\cdot e^{i\varphi_n}\cdot e^{inx}}

其中,

C_n=\sqrt{a_n^2+b_n^2} \qquad tan\varphi_n=-\frac{b_n}{a_n}

\\ F(n)=\frac{1}{2}\cdot C_n\cdot e^{i\varphi_n}=\frac{a_n-ib_n}{2}=\frac{1}{2}\bigg[\frac{1}{\pi}\int_{0}^{2\pi}f(x)cos(nx)dx - i \frac{1}{\pi}\int_{0}^{2\pi}f(x)sin(nx)dx \bigg]\\=\frac{1}{2\pi}\int_{0}^{2\pi}f(x)\bigg[cos(nx)-isin(nx)\bigg]dx=\frac{1}{2\pi}\int_{0}^{2\pi}f(x)e^{-inx}dx

\\f(x)=\sum_{n=-\infty}^{\infty }\frac{1}{2}\cdot C_n\cdot e^{i\varphi_n}\cdot e^{inx}=\sum_{n=-\infty}^{\infty }F(n)\cdot e^{inx}

所以,最终傅里叶级数变换和反变换为:

\\ F(n)=\frac{1}{2\pi}\int_{0}^{2\pi}f(x)e^{-inx}dx

\\f(x)=\sum_{n=-\infty}^{\infty }F(n)\cdot e^{inx}

前面说的三角函数是一组正交函数,实际上,e^{-inx} \quad n\in(-\infty,\infty)也是一组正交函数,并且是完备的,定义为:

\int_{-\infty}^{\infty}e^{-inx}e^{imx}dx =0 \ \ (m\neq n)

上式的一居室柯西积分定理,解析函数沿着任意封闭曲线(内部不包括奇点)的积分值为0

对于傅里叶积分的形式,是不是很像?

\\F(\omega )=\int_{-\infty }^{\infty }f(x)e^{-iwx}dx \quad (-\infty <\omega <\infty ) \\ \\f(x)=\frac{1}{2\pi}\int_{-\infty }^{\infty }F(\omega )e^{iwx}dw \quad (-\infty <\omega <\infty ) \\

实际上,傅里叶级数当T\rightarrow \infty时的极限就是傅里叶积分。

区别就在于因子\frac{1}{2\pi}放在哪里,实际上这个差别是有原因的,这里由于假定周期是2\pi,所以因子实际上是\frac{1}{T}.,傅里叶变换的时候,T\rightarrow \infty,F(n)\rightarrow 0,这样会导致幅度谱趋近于0,很难画出来表示不同频率分量的强度差异。这样,将F(n)乘以T,则转化为频率密度谱,也就是在连续频率情况下,单位频率内,有多少“幅度”,这就像是算单位体积内物体的质量一样,这样,傅里叶级数就成了傅里叶变换。

简单应用,对于函数:

f(t)=cos(t)

其复指数形式的傅里叶变换是:

f(t)=cos(t)= 1\cdot cost(t)

所以:

a_1=1,其余都为0;

所以:

\\ F(1)=\frac{1}{2}\cdot C_n\cdot e^{i\varphi_n}=\frac{a_n-ib_n}{2}=\frac{1-i\cdot 0}{2}=\frac{1}{2}

\\ F(-1)=\frac{1}{2}\cdot C_{-n}\cdot e^{i\varphi_{-n}}=\frac{a_{-n}-ib_{-n}}{2}=\frac{1-i\cdot 0}{2}=\frac{1}{2}\ \ (a_{-n}=a_n, b_{-n}=-b_n)

所以:

f(t)=\frac{1}{2}e^{-it}+\frac{1}{2}e^{it}


对于方波来说:

\\ F(\omega )=\int_{-\infty }^{\infty }f(x)e^{-iwx}dx=\int_{-\infty }^{\infty }f(x)e^{-iwx}dx=\int_{0}^{\pi}e^{-iwx}dx - \int_{\pi]}^{2\pi}e^{-iwx}dx\\=(-\frac{1}{iw})\int_{0}^{\pi}e^{-iwx}d(-iwx) - (-\frac{1}{iw}) \int_{\pi]}^{2\pi}e^{-iwx}d(-iwx)\\=(-\frac{1}{iw}) e^{-iwx}\bigg|^{\pi}_0- (-\frac{1}{iw})e^{-iwx}\bigg|^{2\pi}_{\pi}=(\frac{1}{iw})e^{-iwx}\bigg|^{2\pi}_{\pi}-\frac{1}{iw} e^{-iwx}\bigg|^{\pi}_0\\=\frac{1}{iw}(e^{-iw\cdot 2\pi}-e^{-iw\cdot \pi}-e^{-iw\cdot \pi}+1)\\=\frac{1}{in}(e^{-in\cdot 2\pi}-e^{-in\cdot \pi}-e^{-in\cdot \pi}+1)\\=\frac{1}{i\cdot n}\bigg[ cos(2\pi n)-i\cdot sin(2\pi n)-2(cos\pi n-i\cdot sin\pi n) +1\bigg]\\=\frac{1}{i\cdot n}\bigg[2-2(-1)^n\bigg]=\frac{2}{i\cdot n}\bigg[1-cos(n\pi)\bigg]=-i\frac{2}{n}\bigg[1-cosn\pi\bigg]

 对于方波,后面有求得

\\a_n=0\\ b_n=\frac{2}{n\pi}(1-cos(n\pi))

而且:

F(w)=\pi a_n-i\pi b_n=0-i\frac{2}{n}\bigg[1-cosn\pi\bigg]=-i\frac{2}{n}\bigg[1-cosn\pi\bigg]

所以,上面两个方法推推导出了同样的结果.

可以类比连续情况下的fourier 变换:

\mathbf{\\f(x)=\frac{a_0-b_0i}{2}e^{i\cdot 0 \cdot x}+\sum_{n = 1}^{\infty }\frac{a_n-ib_n}{2}e^{inx} +\sum_{n = -\infty}^{-1 }\frac{a_n-ib_n}{2}e^{inx}\\=\sum_{n = -\infty}^{-1 }\frac{a_n-ib_n}{2}e^{inx} + \frac{a_0-b_0i}{2}e^{i\cdot 0 \cdot x}+\sum_{n = 1}^{\infty }\frac{a_n-ib_n}{2}e^{inx} =\sum_{n=-\infty}^{\infty }\frac{a_n-ib_n}{2}e^{inx}=\frac{1}{2\pi}\sum_{n=-\infty}^{\infty }(\pi a_n-i\pi b_n)e^{inx}}

\mathbf{\mathbf{F(w)=\pi a_n- i\pi b_n}=\pi \frac{1}{\pi}\int_{0}^{2\pi}f(x)cos(nx)dx -i \pi \frac{1}{\pi}\int_{0}^{2\pi}f(x)sin(nx)dx=\int_{0}^{2\pi}f(x)cos(nx)dx -i\int_{0}^{2\pi}f(x)sin(nx)dx=\int_{0}^{2\pi}f(x)\cdot \bigg[cos(nx)-isin(nx)\bigg]dx=\int_{0}^{2\pi}f(x)\cdot e^{-inx}dx=\int_{0}^{2\pi}f(x)\cdot e^{-i\omega x}dx}

\mathbf{\mathbf{f(x)=\frac{1}{2\pi}\int_{-\infty }^{\infty }F(\omega )e^{i\omega x}d\omega =\frac{1}{2\pi}\int_{-\infty }^{\infty }(\pi a_n - i\pi b_n)e^{i\omega x}d\omega=\sum_{n=-\infty}^{\infty }\frac{a_n-ib_n}{2}e^{inx}}}

下面的公式来源于数学物理方法,本质是周期无限大时候的fourier级数.

\\ \mathbf{\\A(\omega )=\frac{1}{\pi}\int^{\infty }_{-\infty }f(t)cos\omega tdt} \\ \mathbf{B(\omega )=\frac{1}{\pi}\int^{\infty }_{-\infty }f(t)sin\omega tdt}

\\ \mathbf{\mathbf{f(x)=\frac{1}{2\pi}\int_{-\infty }^{\infty }F(\omega )e^{i\omega x}d\omega =\frac{1}{2\pi}\int_{-\infty }^{\infty }(\pi a_n - i\pi b_n)e^{i\omega x}d\omega=\frac{1}{2\pi}\int_{-\infty }^{\infty }(\pi A(\omega ) - i\pi B(\omega ))e^{i\omega x}d\omega=\frac{1}{2\pi}\int_{-\infty }^{\infty }\bigg(\int^{\infty }_{-\infty }f(t)cos\omega tdt- i\int^{\infty }_{-\infty }f(t)sin\omega tdt \bigg)e^{i\omega x}d\omega}}\\\mathbf{=\frac{1}{2\pi}\int_{-\infty }^{\infty }\int^{\infty }_{-\infty }\bigg(f(t)cos\omega t- i\cdot f(t)sin\omega t \bigg)dt e^{i\omega x}d\omega=\frac{1}{2\pi}\int_{-\infty }^{\infty }\int^{\infty }_{-\infty }\bigg(f(t)cos\omega t- i\cdot f(t)sin\omega t \bigg)dt e^{i\omega x}d\omega=\frac{1}{2\pi}\int_{-\infty }^{\infty }\int^{\infty }_{-\infty }f(t)\bigg(cos\omega t- i\cdot sin\omega t \bigg)dt e^{i\omega x}d\omega} \\ =\mathbf{ \frac{1}{2\pi}\int_{-\infty }^{\infty }\int^{\infty }_{-\infty }f(t)e^{-i\omega t}dt e^{i\omega x}d\omega}

\\ \mathbf{ =\frac{1}{2\pi}\int_{-\infty }^{\infty }\int^{\infty }_{-\infty }f(t)e^{-i\omega t}dt e^{i\omega x}d\omega =\frac{1}{2\pi}\int_{-\infty }^{\infty }\bigg[\int^{\infty }_{-\infty }f(t)e^{-i\omega t}dt\bigg] e^{i\omega x}d\omega }

所以,自然而然,中括号的内容独立出来,推导出傅里叶积分形式:

\\\mathbf{F(\omega )=\int_{-\infty }^{\infty }f(x)e^{-iwx}dx \quad (-\infty <\omega <\infty ) }\\ \\\mathbf{f(x)=\frac{1}{2\pi}\int_{-\infty }^{\infty }F(\omega )e^{iwx}d\omega \quad (-\infty <\omega <\infty )} \\

所以:

\\f(x)=\sum_{n=-\infty}^{\infty }\frac{a_n-ib_n}{2}e^{inx} = \sum_{n=-\infty}^{\infty }\frac{\sqrt{a^2_n+b^2_n}}{2}e^{\varphi i}e^{inx}=\sum_{n=-\infty}^{\infty }\frac{\sqrt{a^2_n+b^2_n}}{2}e^{(nx + \varphi) i}\\=\sum_{n=-\infty}^{\infty }\frac{\sqrt{a^2_n+b^2_n}}{2}[cos(nx+\varphi) + i sin(nx+\varphi)] \qquad \\ tan\varphi = -\frac{b_n}{a_n} \ \ cos\varphi = \frac{a_n}{\sqrt{a^2_n+b^2_n}} \ \ sin\varphi =-\frac{b_n}{\sqrt{a^2_n+b^2_n}} \\ \therefore f(x)=\sum_{n=-\infty}^{\infty }\frac{\sqrt{a^2_n+b^2_n}}{2}[cos(nx+\varphi) + i sin(nx+\varphi)] \\=\sum_{n=-\infty}^{\infty }\frac{\sqrt{a^2_n+b^2_n}}{2}[cos(nx+\varphi)] \\=\sum_{n=-\infty}^{\infty }\frac{\sqrt{a^2_n+b^2_n}}{2}[cos(nx)cos\varphi - sin(nx)sin\varphi]\\=\sum_{n=-\infty}^{\infty }[cos(nx)\cdot \frac{a_n}{2}+sin(nx)\cdot \frac{b_n}{2}]

\\\mathbf{=\sum_{n=-\infty}^{-1}[cos(nx)\cdot \frac{a_n}{2}+sin(nx)\cdot \frac{b_n}{2}] +cos(0\cdot x)\cdot \frac{a_0}{2}+sin(0\cdot x)\frac{b_0}{2}+ \sum_{n=1}^{\infty}[cos(nx)\cdot \frac{a_n}{2}+sin(nx)\cdot \frac{b_n}{2}]}\\\mathbf{=cos(0\cdot x)\cdot \frac{a_0}{2}+sin(0\cdot x)\cdot \frac{b_0}{2}+2\sum_{n=1}^{\infty}[cos(nx)\cdot \frac{a_n}{2}+sin(nx)\cdot \frac{b_n}{2}]}\\=\mathbf{ \frac{a_0}{2}+\sum_{n=1}^{\infty}[a_ncos(nx)+b_nsin(nx)]}

可见,正向推导和反向推到都成功了。

根据复数域公式,傅里叶变换可以看成是一个个的角频率不同的圆(e^{inx} \quad n = 1,2, 3, \cdots)的运动的叠加,当n>0时,是逆时针旋转的圆,当n<0时,是顺时针旋转的圆,n==0的时候,表示直流平均分量,不旋转。 不管旋转方向是什么,同意时刻它们的实部投影是时域上的值,虚部投影是0.(上面的式子可以看到大于零和小于零情况下,相同角频率的两个圆它们的相位相反,而角频率相同的情况下,任何时刻互为共轭,虚部矢量和为0,所以只有实世界的分量,也就是时域分量).


1.函数在一个周期内的解析式为:

 f(x) = \left\{\begin{matrix} e^x \qquad x > -\pi \ and \ x < 0\\ 1 \qquad x > 0 \ and \ x < \pi \end{matrix}\right.

周期函数下图所示:

\\a_0 = \frac{1}{2\pi}\int_{0}^{2\pi}f(x)dx = \frac{1}{2\pi}\int_{-\pi}^{\pi}f(x)dx = \frac{1}{2\pi}\int_{-\pi}^{0}e^xdx + \frac{1}{2\pi}\int_{0}^{\pi}1\cdot dx \\= \frac{1}{2\pi}e^x \bigg|^0_{-\pi}+ \frac{1}{2\pi}x \bigg|^\pi_{0} = \frac{1-e^{-\pi}}{2\pi} + \frac{\pi - 0}{2\pi} = \frac{1-e^{-\pi}}{2\pi} + \frac{1}{2}

\\ a_n =\frac{1}{\pi}\int_{0}^{2\pi}f(x)cos(nx)dx=\frac{1}{\pi}\int_{-\pi}^{\pi}f(x)cos(nx)dx \\= \frac{1}{\pi}\int_{-\pi}^{0}e^xcos(nx)dx + \frac{1}{\pi}\int_{0}^{\pi}1\cdot cos(nx)dx \\=\frac{1}{\pi}\int_{-\pi}^{0}e^xcos(nx)dx + \frac{1}{n\pi}\int_{0}^{\pi} cos(nx)dnx = \frac{1}{\pi}\int_{-\pi}^{0}e^xcos(nx)dx +\frac{1}{n\pi}sin(nx)\bigg|^\pi_{0}\\=\frac{1}{\pi}\int_{-\pi}^{0}e^xcos(nx)dx=\frac{1}{\pi}\int_{-\pi}^{0}cos(nx)de^x=\frac{1}{\pi}e^xcos(nx) - \frac{n}{\pi}\int_{-\pi}^{0}-sin(nx)e^xdx \\=\frac{1}{\pi}e^xcos(nx) +\frac{n}{\pi}\int_{-\pi}^{0}sin(nx)de^x=\frac{1}{\pi}e^xcos(nx) +\frac{n}{\pi}e^x sin(nx)- \frac{n}{\pi}\int_{-\pi}^{0}e^xdsin(nx)\\=\frac{1}{\pi}e^xcos(nx) +\frac{n}{\pi}e^x sin(nx)- \frac{n^2}{\pi}\int_{-\pi}^{0}e^xcos(nx)dx

所以:

\frac{1}{\pi}\int_{-\pi}^{0}e^xcos(nx)dx=\frac{1}{\pi}e^xcos(nx) +\frac{n}{\pi}e^x sin(nx)- \frac{n^2}{\pi}\int_{-\pi}^{0}e^xcos(nx)dx

所以:

\\ a_n:\frac{1}{\pi}\int_{-\pi}^{0}e^xcos(nx)dx=\frac{\frac{1}{\pi}e^xcos(nx) +\frac{n}{\pi}e^x sin(nx)}{1+n^2} \bigg|^0_{-\pi}=\frac{1}{\pi(1+n^2)}-\frac{\frac{1}{\pi}(-1)^ne^{-\pi}}{1+n^2}\\=\frac{1}{\pi(1+n^2)}-\frac{(-1)^ne^{-\pi}}{\pi(1+n^2)} = \frac{1-(-1)^ne^{-\pi}}{\pi(1+n^2)}

同理:

\\b_n =\frac{1}{\pi}\int_{0}^{2\pi}f(x)sin(nx)dx=\frac{1}{\pi}\int_{-\pi}^{\pi}f(x)sin(nx)dx \\=\frac{1}{\pi}\int_{-\pi}^{0}e^xsin(nx)dx + \frac{1}{\pi}\int_{0}^{\pi}1 \cdot sin(nx)dx \\=\frac{1}{\pi}\int_{-\pi}^{0}e^xsin(nx)dx + \frac{1}{n\pi}\int_{0}^{\pi}sin(nx)dnx = \frac{1}{\pi}\int_{-\pi}^{0}e^xsin(nx)dx + \frac{1}{n\pi}(-cos(nx)) \bigg|^{\pi}_{0}\\= \frac{1}{\pi}\int_{-\pi}^{0}e^xsin(nx)dx +\frac{​{(-1)}^{n+1} +1}{n\pi} = \frac{1}{\pi}\int_{-\pi}^{0}sin(nx)de^x +\frac{​{(-1)}^{n+1} +1}{n\pi}= \frac{1}{\pi}e^xsin(nx) -\frac{1}{\pi}\int_{-\pi}^{0}e^xdsin(nx)+\frac{​{(-1)}^{n+1} +1}{n\pi} \\= \frac{1}{\pi}e^xsin(nx) -\frac{n}{\pi}\int_{-\pi}^{0}e^xcos(nx)dx+\frac{​{(-1)}^{n+1} +1}{n\pi} \\= \frac{1}{\pi}e^xsin(nx) -\frac{n}{\pi}\int_{-\pi}^{0}cos(nx)de^x+\frac{​{(-1)}^{n+1} +1}{n\pi} \\= \frac{1}{\pi}e^xsin(nx) -\frac{n}{\pi}(e^xcos(nx)+n\int_{-\pi}^{0}e^xsin(nx)dx)+\frac{​{(-1)}^{n+1} +1}{n\pi} \\=\frac{1}{\pi}e^xsin(nx)-\frac{n}{\pi}e^xcos(nx)-\frac{n^2}{\pi}\int_{-\pi}^{0}e^xsin(nx)dx

+\frac{​{(-1)}^{n+1} +1}{n\pi}

所以:

\\ \frac{1}{\pi}\int_{-\pi}^{0}e^xsin(nx)dx+\frac{​{(-1)}^{n+1} +1}{n\pi}\\=\frac{1}{\pi}e^xsin(nx)-\frac{n}{\pi}e^xcos(nx)-\frac{n^2}{\pi}\int_{-\pi}^{0}e^xsin(nx)dx+\frac{​{(-1)}^{n+1} +1}{n\pi}

所以

\frac{1}{\pi}\int_{-\pi}^{0}e^xsin(nx)dx=\frac{\frac{1}{\pi}e^xsin(nx)-\frac{n}{\pi}e^xcos(nx)}{1+n^2} = \frac{e^xsin(nx)-ne^xcos(nx)}{\pi(1+n^2)} \bigg|^0_{-\pi}

\\ \frac{1}{\pi}\int_{-\pi}^{0}e^xsin(nx)dx=\frac{\frac{1}{\pi}e^xsin(nx)-\frac{n}{\pi}e^xcos(nx)}{1+n^2} = \frac{e^xsin(nx)-ne^xcos(nx)}{\pi(1+n^2)} \bigg|^0_{-\pi}\\=\frac{0-n}{\pi(1+n^2)} - \frac{0-ne^{-\pi}(-1)^{n}}{\pi(1+n^2)} = \frac{-n}{\pi(1+n^2)} +\frac{ne^{-\pi}(-1)^{n}}{\pi(1+n^2)}=\frac{ne^{-\pi}(-1)^{n}-n}{\pi(1+n^2)}

所以

\\ b_n=\frac{1}{\pi}\int_{-\pi}^{0}e^xsin(nx)dx+\frac{​{(-1)}^{n+1} +1}{n\pi}\\=\frac{ne^{-\pi}(-1)^{n}-n}{\pi(1+n^2)}+\frac{​{(-1)}^{n+1} +1}{n\pi}

综合上面的推导,得出傅里叶系数分别为:

\\a_0 = \frac{1-e^{-\pi}}{2\pi} + \frac{1}{2}

\\ a_n= \frac{1-(-1)^ne^{-\pi}}{\pi(1+n^2)}

\\ b_n=\frac{ne^{-\pi}(-1)^{n}-n}{\pi(1+n^2)}+\frac{​{(-1)}^{n+1} +1}{n\pi}

octave计算各次的系数分别为:

\\a_0 = 0.6523\\ a_1=0.1660 \\ a_2=0.060911\\ a_3=0.033207\\ a_4=0.017915\\ a_5=0.012772\\ a_6=8.2312e-03=0.0082312\\ b_1=0.4706\\ b_2=-0.1218\\ b_3=0.1126 \\ b_4=-0.071660 \\ b_5=0.063465\\ b_6=-0.049387

得到包括六次谐波的函数表达式为:

\\f(x)=0.6523+0.1660cos(x)+0.4706sin(x)+0.060911cos(2x)-0.1218sin(2x)+0.033207cos(3x)+0.1126sin(3x)+0.017915cos(4x)-0.071660sin(4x)+0.012772cos(5x)+0.063465sin(5x)+0.00823cos(6x)-0.049387sin(6x)

其图形是下图,可以看到,基本上与原函数重合,这也说明上面的积分过程是正确的。

octave计算过程:

\frac{2}{n\pi}(1-cos(n\pi))


下面用python绘制一幅精确点的图形,下面的图形包含10000个谐波,可以看到,已经非常逼近原函数图形了。

# -*- coding: utf-8 -*-
"""
Created on Mon Feb  1 13:57:21 2021

@author: czl
"""
from pylab import *
x = mgrid[-20:20:0.01]

def fourier_wave():
    a0 = (1-exp(-pi))/(2*pi)+1/2
    s=a0
    for n in range(1,10000,1):
        s0 = ((1-(-1)**n*exp(-pi))/(pi*(1+n**2))*cos(n*x)+((n*exp(-pi)*(-1)**n-n)/(pi*(1+n**2))+((-1)**(n+1)+1)/(n*pi))*sin(n*x))
        s=s+s0
    plot(x,s,'orange',linewidth=0.6)
    title('fourier_transform')
    show()    

fourier_wave()

2.方波:

f(x) = \left\{\begin{matrix} -1 \qquad x > -\pi \ and \ x < 0\\ 1 \qquad x > 0 \ and \ x < \pi \end{matrix}\right.

  

a_0=\frac{1}{2\pi}\int_{0}^{2\pi}f(x)dx = \frac{1}{2\pi}\int_{-\pi}^{\pi}f(x)dx =0

\\ a_n =\frac{1}{\pi}\int_{0}^{2\pi}f(x)cos(nx)dx=\frac{1}{\pi}\int_{-\pi}^{\pi}f(x)cos(nx)dx \\=\frac{1}{\pi}\int_{-\pi}^{0}-1\cdot cos(nx)dx + \frac{1}{\pi}\int_{0}^{\pi}1\cdot cos(nx)dx\\=\frac{1}{\pi}\int_{0}^{\pi}1\cdot cos(nx)dx+\frac{1}{\pi}\int_{0}^{\pi}1\cdot cos(nx)dx\\=\frac{2}{n\pi}\int_{0}^{\pi} cos(nx)dnx=\frac{2}{n\pi}\cdot sinnx\bigg|^\pi_{0} = 0

\\ b_n =\frac{1}{\pi}\int_{0}^{2\pi}f(x)sin(nx)dx=\frac{1}{\pi}\int_{-\pi}^{\pi}f(x)sin(nx)dx \\= \frac{1}{\pi}\int_{-\pi}^{0}-1\cdot sin(nx)dx+\frac{1}{\pi}\int_{0}^{\pi}1\cdot sin(nx)dx\\=\frac{1}{\pi}\int_{0}^{\pi}sinnx dx+\frac{1}{\pi}\int_{0}^{\pi}sin(nx)dx=\frac{2}{n\pi}\int_{0}^{\pi}sin(nx)dnx=\frac{2}{n\pi}(-cosnx)\bigg|^\pi_{0}\\=\frac{2}{n\pi}(1-cos(n\pi))

所以:

b_n=\left\{\begin{matrix} \frac{4}{n\pi} \qquad n = 1, 3, 5, \cdots\\ 0 \qquad n=2,4, 6, \cdots \end{matrix}\right.

所以:

f(x)= \frac{4}{\pi}(sinx+\frac{1}{3}sin3x +\frac{1}{5}sin5x + \cdots)

geogebra函数图形:

# -*- coding: utf-8 -*-
"""
Created on Mon Feb  1 13:57:21 2021

@author: czl
"""
from pylab import *
x = mgrid[-20:20:0.01]

def fourier_wave():
    a0 = 0
    s=a0
    for n in range(0,1000,1):
        s0 = 4/((2*n+1)*pi)*sin((2*n+1)*x)
        s=s+s0
    plot(x,s,'orange',linewidth=0.6)
    title('fourier_transform')
    show()    

fourier_wave()

得到如下图像:


3.另一类型的方波

f(x) = \left\{\begin{matrix} 1 \qquad x > -\pi/2 \ and \ x < \pi/2\\ -1 \qquad x > \pi/2 \ and \ x < 3\pi/2 \end{matrix}\right.

\\a_0=\frac{1}{2\pi}\int_{0}^{2\pi}f(x)dx = \frac{1}{2\pi}\int_{-\pi/2}^{3\pi/2}f(x)dx =\frac{1}{2\pi}\int_{-\pi/2}^{\pi/2}f(x)dx+\frac{1}{2\pi}\int_{\pi/2}^{3\pi/2}f(x)dx \\=0

\\ b_n =\frac{1}{\pi}\int_{0}^{2\pi}f(x)sin(nx)dx=\frac{1}{\pi}\int_{-\pi/2}^{3\pi/2}f(x)sin(nx)dx \\= \frac{1}{\pi}\int_{-\pi/2}^{\pi/2}1\cdot sin(nx)dx+\frac{1}{\pi}\int_{\pi/2}^{3\pi/2}-1\cdot sin(nx)dx\\=\frac{1}{\pi}\int_{-\pi/2}^{\pi/2}1\cdot sin(nx)dx-\frac{1}{\pi}\int_{\pi/2}^{3\pi/2}1\cdot sin(nx)dx\\=\frac{1}{n\pi}(-cosnx)\bigg|^{\pi/2}_{-\pi/2} - \frac{1}{n\pi}(-cosnx)\bigg|^{3\pi/2}_{\pi/2}=0

\\ a_n =\frac{1}{\pi}\int_{0}^{2\pi}f(x)cos(nx)dx=\frac{1}{\pi}\int_{-\pi/2}^{3\pi/2}f(x)cos(nx)dx \\=\frac{1}{\pi}\int_{-\pi/2}^{\pi/2}1\cdot cos(nx)dx + \frac{1}{\pi}\int_{\pi/2}^{3\pi/2}-1\cdot cos(nx)dx\\=\frac{1}{\pi}\int_{-\pi/2}^{\pi/2}1\cdot cos(nx)dx-\frac{1}{\pi}\int_{\pi/2}^{3\pi/2}1\cdot cos(nx)dx\\=\frac{1}{n\pi}\cdot( sinnx\bigg|^{\pi/2}_{-\pi/2} - sinnx\bigg|^{3\pi/2}_{\pi/2})=\frac{1}{n\pi}\cdot( 2sin\frac{n\pi}{2} - sinnx\bigg|^{3\pi/2}_{\pi/2})\\=\frac{1}{n\pi}\cdot( 2sin\frac{n\pi}{2} - (sin\frac{3n\pi}{2} - sin\frac{n\pi}{2}))=\frac{1}{n\pi}\cdot( 3sin\frac{n\pi}{2} - sin\frac{3n\pi}{2})\\=\frac{1}{n\pi}\cdot( 3sin\frac{n\pi}{2} - sin(\frac{n\pi}{2}+n\pi))=\frac{1}{n\pi}\cdot( 3sin\frac{n\pi}{2} - (-1)^nsin(\frac{n\pi}{2}))

所以

a_n=\left\{\begin{matrix} \frac{(-1)^{\frac{n-1}{2}}4}{n\pi} \qquad n=1,3,5, \cdots \\ 0, \quad n=2,4,6,\cdots \end{matrix}\right.

所以:

\\f(x)=\frac{4}{\pi}(cos(x)-\frac{1}{3}cos(3x)+\frac{1}{5}cos(5x)+\cdots)\\= \frac{4}{\pi}(sin(x+\frac{\pi}{2})+\frac{1}{3}sin(3x+\frac{3\pi}{2})+\frac{1}{5}sin(5x+\frac{5\pi}{2})+\cdots)

对比前图,这里的表达式表示沿着横轴左移\frac{\pi}{2}角度,和前图的解析式形式完全一致.

geogebra验证:

n=17次的谐波是上图的样子.

python验证:

# -*- coding: utf-8 -*-
"""
Created on Mon Feb  1 13:57:21 2021
@author: czl
"""
from pylab import *
x = mgrid[-20:20:0.01]
 
def fourier_wave():
    a0 = 0
    s=a0
    for n in range(0,100,1):
        s0 = ((-1)**n*4)/((2*n+1)*pi)*cos((2*n+1)*x)
        s=s+s0
    plot(x,s,'orange',linewidth=0.6)
    title('fourier_transform')
    show()    
 
fourier_wave()

python绘制的图像:


函数4:

f(x) = \left\{\begin{matrix} 0 \qquad x > -\pi \ and \ x < 0\\ 1 \qquad x > 0 \ and \ x < \pi \end{matrix}\right.

\\a_0 = \frac{1}{2\pi}\int_{0}^{2\pi}f(x)dx = \frac{1}{2\pi}\int_{-\pi}^{\pi}f(x)dx = \frac{1}{2\pi}\int_{-\pi}^{0}0\cdot dx + \frac{1}{2\pi}\int_{0}^{\pi}1\cdot dx \\= \frac{1}{2\pi}x \bigg|^\pi_{0} = \frac{\pi - 0}{2\pi} = \frac{1}{2}

\\ a_n =\frac{1}{\pi}\int_{0}^{2\pi}f(x)cos(nx)dx=\frac{1}{\pi}\int_{-\pi}^{\pi}f(x)cos(nx)dx \\=\frac{1}{\pi}\int_{-\pi}^{0}0\cdot cos(nx)dx + \frac{1}{\pi}\int_{0}^{\pi}1\cdot cos(nx)dx\\=\frac{1}{\pi}\int_{0}^{\pi}1\cdot cos(nx)dx=\frac{1}{n\pi}\int_{0}^{\pi} cos(nx)dnx=\frac{1}{n\pi}\cdot sinnx\bigg|^\pi_{0} = 0

\\ b_n =\frac{1}{\pi}\int_{0}^{2\pi}f(x)sin(nx)dx=\frac{1}{\pi}\int_{-\pi}^{\pi}f(x)sin(nx)dx \\= \frac{1}{\pi}\int_{-\pi}^{0}0\cdot sin(nx)dx+\frac{1}{\pi}\int_{0}^{\pi}1\cdot sin(nx)dx\\=\frac{1}{\pi}\int_{0}^{\pi}sin(nx)dx=\frac{1}{n\pi}\int_{0}^{\pi}sin(nx)dnx=\frac{1}{n\pi}(-cosnx)\bigg|^\pi_{0}\\=\frac{1}{n\pi}(1-cos(n\pi))

所以:

b_n=\left\{\begin{matrix} \frac{2}{n\pi} \qquad n = 1, 3, 5, \cdots\\ 0 \qquad n=2,4, 6, \cdots \end{matrix}\right.

f(x)= \frac{1}{2}+\frac{2}{\pi}(sinx+\frac{1}{3}sin3x +\frac{1}{5}sin5x + \cdots)

geogebra图像为:

python图像:


# -*- coding: utf-8 -*-
"""
Created on Mon Feb  1 13:57:21 2021
@author: czl
"""
from pylab import *
x = mgrid[-20:20:0.01]
 
def fourier_wave():
    a0 = 1/2
    s=a0
    for n in range(0,100,1):
        s0 = 2/(pi*(2*n+1))*sin((2*n+1)*x)
        s=s+s0
    plot(x,s,'orange',linewidth=0.6)
    title('fourier_transform')
    show()    
 
fourier_wave()

函数5:

f(x) = \left\{\begin{matrix} 1 \qquad x > -\frac{\pi}{2} \ and \ x < \frac{\pi}{2}\\ 0 \qquad x > \frac{\pi}{2} \ and \ x < \frac{3\pi}{2} \end{matrix}\right.

\\ a_0=\frac{1}{2\pi}\int_{0}^{2\pi}f(x)dx = \frac{1}{2\pi}\int_{-\frac{\pi}{2}}^{\frac{3\pi}{2}}f(x)dx =\frac{1}{2\pi}\int_{-\frac{\pi}{2}}^{\frac{\pi}{2}}f(x)dx = \frac{1}{2\pi}\int_{-\frac{\pi}{2}}^{\frac{\pi}{2}}1\cdot dx\\=\frac{1}{2\pi}\bigg|^{\frac{\pi}{2}}_{-\frac{\pi}{2}}=\frac{1}{2}

\\ b_n =\frac{1}{\pi}\int_{0}^{2\pi}f(x)sin(nx)dx=\frac{1}{\pi}\int_{-\pi/2}^{3\pi/2}f(x)sin(nx)dx \\= \frac{1}{\pi}\int_{-\pi/2}^{\pi/2}1\cdot sin(nx)dx+\frac{1}{\pi}\int_{\pi/2}^{3\pi/2}0\cdot sin(nx)dx\\=\frac{1}{\pi}\int_{-\pi/2}^{\pi/2}1\cdot sin(nx)dx=\frac{1}{n\pi}(-cosnx)\bigg|^{\pi/2}_{-\pi/2} =0

\\ a_n =\frac{1}{\pi}\int_{0}^{2\pi}f(x)cos(nx)dx=\frac{1}{\pi}\int_{-\pi/2}^{3\pi/2}f(x)cos(nx)dx \\=\frac{1}{\pi}\int_{-\pi/2}^{\pi/2}1\cdot cos(nx)dx + \frac{1}{\pi}\int_{\pi/2}^{3\pi/2}0\cdot cos(nx)dx\\=\frac{1}{\pi}\int_{-\pi/2}^{\pi/2}1\cdot cos(nx)dx=\frac{1}{n\pi}\cdot sinnx\bigg|^{\pi/2}_{-\pi/2} =\frac{1}{n\pi}\cdot 2sin\frac{n\pi}{2}\\= \frac{2sin\frac{n\pi}{2}}{n\pi}

a_n=\left\{\begin{matrix} \frac{(-1)^{\frac{n-1}{2}}2}{n\pi} \qquad n=1,3,5, \cdots \\ 0, \quad n=2,4,6,\cdots \end{matrix}\right.

f(x)=\frac{1}{2}+\frac{2}{\pi}(cos(x)-\frac{1}{3}cos(3x)+\frac{1}{5}cos(5x)+\cdots)

geogebra图形:yu

python图形:

# -*- coding: utf-8 -*-
"""
Created on Mon Feb  1 13:57:21 2021
@author: czl
"""
from pylab import *
x = mgrid[-20:20:0.01]
 
def fourier_wave():
    a0 = 1/2
    s=a0
    for n in range(0,100,1):
        s0 = ((-1)**n*2)/((2*n+1)*pi)*cos((2*n+1)*x)
        s=s+s0
    plot(x,s,'orange',linewidth=0.6)
    title('fourier_transform')
    show()    
 
fourier_wave()


锯齿函数的傅里叶变换:

f(x)=\left\{\begin{matrix} \frac{1}{2}(\pi - x) \quad (0<x\leqslant 2\pi)\\ f(x+2\pi) \qquad others \end{matrix}\right.

\\a_0=\frac{1}{2\pi}\int_{0}^{2\pi}f(x)dx = \frac{1}{2\pi}\int_{0}^{2\pi}\frac{1}{2}(\pi-x)dx=0

a_n=\frac{1}{\pi}\int_{0}^{2\pi}\frac{1}{2}(\pi-x)cosnx dx= \frac{1}{2\pi}(\pi\int_{0}^{2\pi}cosnxdx-\int_{0}^{2\pi}xcosnxdx)=0

\\b_n=\frac{1}{\pi}\int_{0}^{2\pi}\frac{1}{2}(\pi -x)sinnxdx=\frac{1}{2\pi}\int_{0}^{2\pi}(\pi -x)sinnxdx\\=\frac{1}{2\pi}\int_{0}^{2\pi}\pi sinnxdx-\frac{1}{2\pi}\int_{0}^{2\pi}x sinnxdx=-\frac{1}{2\pi}\int_{0}^{2\pi}x sinnxdx \\=\frac{1}{2n\pi}\int_{0}^{2\pi}x dcosnx =\frac{1}{2n\pi}(xcosnx-\int_{0}^{2\pi}cosnxdx)\\= \frac{1}{2n\pi}(xcosnx-\frac{1}{n}sinnx)\bigg|^{2\pi}_{0}=\frac{1}{2\pi}\frac{2\pi}{n} = \frac{1}{n}

于是:

f(x)=\sum_{n=1}^{\infty }\frac{sinnx}{n}

geogebra图形为:

python图形为:

验证,在x=0,\pm \pi,\pm4\pi,\cdots,收敛于

\frac{f(x-0)+f(x+0)}{2}=0

但是在连续点,收敛于级数

f(x)=\sum_{n=1}^{\infty }\frac{sinnx}{n}

python绘图代码为:

# -*- coding: utf-8 -*-
"""
Created on Mon Feb  1 13:57:21 2021
@author: czl
"""
from pylab import *
x = mgrid[-20:20:0.01]
 
def fourier_wave():
    a0 = 0
    s=a0
    for n in range(1,100,1):
        s0 = sin(n*x)/n
        s=s+s0
    plot(x,s,'orange',linewidth=0.6)
    title('fourier_transform')
    show()    
 
fourier_wave()

函数:

f(x) = \left\{\begin{matrix} x^2 \qquad x > -\pi \ and \ x < \pi\\ \left f(x+2n\pi) \end{matrix} \right.

\\a_0=\frac{1}{2\pi}\int_{0}^{2\pi}f(x)dx = \frac{1}{2\pi}\int_{-\pi}^{\pi}x^2dx=\frac{1}{2\pi}\cdot \frac{x^3}{3}\bigg|^{\pi}_{-\pi}=\frac{1}{2\pi}\cdot \frac{2\pi^3}{3}=\frac{\pi^2}{3}

\\ b_n =\frac{1}{\pi}\int_{0}^{2\pi}f(x)sin(nx)dx=\frac{1}{\pi}\int_{-\pi}^{\pi}x^2\cdot sin(nx)dx=0

\\a_n=\frac{1}{\pi}\int_{0}^{2\pi}f(x)cos(nx)dx=\frac{1}{\pi}\int_{-\pi}^{\pi}x^2cos(nx)dx=\frac{1}{n\pi}\int_{-\pi}^{\pi}x^2dsin(nx)\\=\frac{1}{n\pi}(x^2sin(nx)-\int_{-\pi}^{\pi}sin(nx)dx^2)=\frac{1}{n\pi}(x^2sin(nx)-2\int_{-\pi}^{\pi}xsin(nx)dx)\\=\frac{1}{n\pi}(x^2sin(nx)+\frac{2}{n}(xcosnx-\frac{1}{n}sinnx))\bigg|^{\pi}_{-\pi}=(-1)^n\frac{4}{n^2}\

python绘图:

# -*- coding: utf-8 -*-
"""
Created on Mon Feb  1 13:57:21 2021
@author: czl
"""
from pylab import *
x = mgrid[-20:20:0.01]
 
def fourier_wave():
    a0 = (pi**2)/3
    s=a0
    for n in range(1,300,1):
        s0 = ((-1)**n)*(4/(n**2))*cos(n*(x))
        s=s+s0
    plot(x,s,'orange',linewidth=0.6)
    title('fourier_transform'   )
    show()    
 
fourier_wave()

geogebra绘图:

对于

f(x) = \left\{\begin{matrix} -x^2 \qquad x > -\pi \ and \ x < \pi\\ \left f(x+2n\pi) \end{matrix} \right.

\\a_0=\frac{1}{2\pi}\int_{0}^{2\pi}f(x)dx =- \frac{1}{2\pi}\int_{-\pi}^{\pi}x^2dx=-\frac{1}{2\pi}\cdot \frac{x^3}{3}\bigg|^{\pi}_{-\pi}=-\frac{1}{2\pi}\cdot \frac{2\pi^3}{3}=-\frac{\pi^2}{3}

\\ b_n =\frac{1}{\pi}\int_{0}^{2\pi}f(x)sin(nx)dx=-\frac{1}{\pi}\int_{-\pi}^{\pi}x^2\cdot sin(nx)dx=0

\\a_n=(-1)^{n+1}\frac{4}{n^2}

python制图:

python 代码:

# -*- coding: utf-8 -*-
"""
Created on Mon Feb  1 13:57:21 2021
@author: czl
"""
from pylab import *
x = mgrid[-20:20:0.01]
 
def fourier_wave():
    a0 = -(pi**2)/3
    s=a0
    for n in range(1,300,1):
        s0 = ((-1)**(n+1))*(4/(n**2))*cos(n*(x))
        s=s+s0
    plot(x,s,'orange',linewidth=0.6)
    title('fourier_transform'   )
    show()    
 
fourier_wave()

三角波的傅里叶变换:

f(x)=\left\{\begin{matrix}x \quad (0<x\leqslant \pi)\\ -x \qquad -\pi\leqslant x<0 \end{matrix}\right.

\\a_0=\frac{1}{2\pi}\int_{0}^{2\pi}f(x)dx = \frac{1}{2\pi}\int_{0}^{\pi}xdx + \frac{1}{2\pi}\int_{\pi}^{2\pi}(2\pi-x)dx\\=\frac{1}{2\pi}\int_{0}^{\pi}xdx+\frac{1}{2\pi}\int_{\pi}^{2\pi}2\pi dx-\frac{1}{2\pi}\int_{\pi}^{2\pi}xdx\\= \frac{1}{2\pi}(\frac{x^2}{2}\bigg|^{\pi}_{0} + 2\pi\cdot x\bigg|^{2\pi}_\pi - \frac{x^2}{2}\bigg|^{2\pi}_{\pi})=\frac{1}{2\pi}(\frac{\pi^2}{2}+2\pi^2-\frac{3\pi^2}{2})=\frac{\pi}{2}

\\ b_n =\frac{1}{\pi}\int_{0}^{2\pi}f(x)sin(nx)dx=\frac{1}{\pi}\int_{-\pi}^{\pi}f(x)\cdot sin(nx)dx\\=\frac{1}{\pi}\int_{-\pi}^{0}-x\cdot sin(nx)dx+\frac{1}{\pi}\int_{0}^{\pi}x\cdot sin(nx)dx \\= \frac{1}{\pi}\int_{0}^{\pi}x\cdot sin(nx)dx+\frac{1}{\pi}\int_{0}^{\pi}x\cdot sin(nx)dx\\= \frac{2}{\pi}\int_{0}^{\pi}x\cdot sin(nx)dx=\frac{2}{n\pi}\int_{0}^{\pi}x\cdot sin(nx)dnx=-\frac{2}{n\pi}\int_{0}^{\pi}x dcosnx \\= -\frac{2}{n\pi}(xcosnx - \int_{0}^{\pi}cosnxdx )=-\frac{2}{n\pi}(xcosnx - \frac{1}{n}\int_{0}^{\pi}cosnxdnx )\\= -\frac{2}{n\pi}(xcosnx - \frac{1}{n}sin(nx) )\bigg|^{\pi}_{0}=(-1)^{n+1}\frac{2}{n}

b_n求解错误,实际上由于奇函数在原点对称区间求积分,b_n=0

\\a_n=\frac{1}{\pi}\int_{0}^{2\pi}f(x)cos(nx)dx=\frac{1}{\pi}\int_{-\pi}^{\pi}f(x)cos(nx)dx\\=\frac{1}{\pi}\int_{-\pi}^{0}-x\cdot cos(nx)dx+\frac{1}{\pi}\int_{0}^{\pi}x\cdot cos(nx)dx\\=\frac{1}{\pi}\int_{0}^{\pi}x\cdot cos(nx)dx + \frac{1}{\pi}\int_{0}^{\pi}x\cdot cos(nx)dx=\frac{2}{\pi}\int_{0}^{\pi}x\cdot cos(nx)dx\\=\frac{2}{n\pi}\int_{0}^{\pi}x\cdot cos(nx)dnx=\frac{2}{n\pi}(xsinnx -\int_{0}^{\pi}sin(nx)dx )\\= \frac{2}{n\pi}(xsinnx -\frac{1}{n}\int_{0}^{\pi}sin(nx)dnx )\\= \frac{2}{n\pi}(xsinnx +\frac{1}{n}cos(nx) )\bigg|^{\pi}_{0}=\frac{2}{n^2\pi}[(-1)^n -1]

python图形:

python代码:

# -*- coding: utf-8 -*-
"""
Created on Mon Feb  1 13:57:21 2021
@author: czl
"""
from pylab import *
x = mgrid[-20:20:0.01]
 
def fourier_wave():
    a0 = pi/2
    s=a0
    for n in range(1,100,1):
        s0 = ((2/((n**2)*pi)) * ((-1)**n -1))*cos(n*x)
        s=s+s0
    plot(x,s,'orange',linewidth=0.6)
    title('fourier_transform')
    show()    
 
fourier_wave()

相位变化后的三角波

f(x)=\left\{\begin{matrix}\pi-x \quad (0<x\leqslant \pi)\\ x+\pi \qquad -\pi\leqslant x<0 \end{matrix}\right.

\\a_0=\frac{1}{2\pi}\int_{0}^{2\pi}f(x)dx = \frac{1}{2\pi}\int_{-\pi}^{0}(x+\pi)dx + \frac{1}{2\pi}\int_{0}^{\pi}(\pi-x)dx\\=\frac{1}{2\pi}\int_{0}^{\pi}(\pi-x)dx+\frac{1}{2\pi}\int_{0}^{\pi}(\pi-x)dx=\frac{1}{\pi}\int_{0}^{\pi}(\pi-x)dx\\= \frac{1}{\pi}\cdot(\pi x-\frac{x^2}{2})\bigg|^{\pi}_{0}=\frac{\pi}{2}hanshu

\\ b_n =\frac{1}{\pi}\int_{0}^{2\pi}f(x)sin(nx)dx=\frac{1}{\pi}\int_{-\pi}^{\pi}f(x)\cdot sin(nx)dx=0

\\a_n=\frac{1}{\pi}\int_{0}^{2\pi}f(x)cos(nx)dx=\frac{1}{\pi}\int_{-\pi}^{\pi}f(x)cos(nx)dx\\=\frac{1}{\pi}\int_{-\pi}^{0}(\pi+x)\cdot cos(nx)dx+\frac{1}{\pi}\int_{0}^{\pi}(\pi-x)\cdot cos(nx)dx\\=\frac{1}{\pi}\int_{\pi}^{0}(\pi-x)\cdot cos(nx)d(-x)+\frac{1}{\pi}\int_{0}^{\pi}(\pi-x)\cdot cos(nx)dx\\=\frac{1}{\pi}\int_{0}^{\pi}(\pi-x)\cdot cos(nx)dx+\frac{1}{\pi}\int_{0}^{\pi}(\pi-x)\cdot cos(nx)dx\\= \frac{2}{\pi}\int_{0}^{\pi}(\pi-x)\cdot cos(nx)dx= \frac{2}{\pi}\int_{0}^{\pi}\pi\cdot cosnx dx-\frac{2}{\pi}\int_{0}^{\pi}x\cdot cosnx dx\\= \frac{2}{n}\int_{0}^{\pi}cosnx dnx-\frac{2}{\pi}\int_{0}^{\pi}x\cdot cosnx dx\\= \frac{2}{n}\cdot sinnx\bigg|^{\pi}_{0} -\frac{2}{n^2\pi}[(-1)^n -1] = 0-\frac{2}{n^2\pi}[(-1)^n -1]=-\frac{2}{n^2\pi}[(-1)^n -1]

python绘图:

代码:

# -*- coding: utf-8 -*-
"""
Created on Mon Feb  1 13:57:21 2021
@author: czl
"""
from pylab import *
x = mgrid[-20:20:0.01]
 
def fourier_wave():
    a0 = pi/2
    s=a0
    for n in range(1,100,1):
        s0 = -((2/((n**2)*pi)) * ((-1)**n -1))*cos(n*x)
        s=s+s0
    plot(x,s,'orange',linewidth=0.6)
    title('fourier_transform')
    show()    
 
fourier_wave()

占空比不为1/2的方波:

f(x)=\left\{\begin{matrix} -1, \qquad x>-\pi \ and \ x<-\frac{\pi}{2}\\ 1, x>-\frac{\pi}{2}\ and \ x <\pi \end{matrix}\right.

\\a_0=\frac{1}{2\pi}\int_{0}^{2\pi}f(x)dx = \frac{1}{2\pi}\int_{-\pi}^{-\frac{\pi}{2}}(-1)dx + \frac{1}{2\pi}\int_{-\frac{\pi}{2}}^{\pi}(1)dx\\=\frac{1}{2\pi}(-x\bigg|^{-\frac{\pi}{2}}_{-\pi} + x\bigg|^{\pi}_{-\frac{\pi}{2}})=\frac{1}{2}

\\ b_n =\frac{1}{\pi}\int_{0}^{2\pi}f(x)sin(nx)dx=\frac{1}{\pi}\int_{-\pi}^{-\frac{\pi}{2}}(-1)\cdot sin(nx)dx+\frac{1}{\pi}\int_{-\frac{\pi}{2}}^{\pi}(1)\cdot sin(nx)dx\\=\frac{1}{n\pi}\int_{-\pi}^{-\frac{\pi}{2}}(-1)\cdot sin(nx)dnx+\frac{1}{n\pi}\int_{-\frac{\pi}{2}}^{\pi}(1)\cdot sin(nx)dnx\\=\frac{1}{n\pi}(cosnx\bigg|^{-\frac{\pi}{2}}_{-\pi}-cosnx\bigg|^{\pi}_{-\frac{\pi}{2}})=\left\{\begin{matrix} \frac{2}{n\pi}, \qquad n = 1, 3, 5, \cdots \\ -\frac{4}{n\pi}, \qquad n/2=1, 3, 5, \cdots\\ 0, \qquad n/2 = 2, 4, 6, \cdots \end{matrix}\right.

\\a_n=\frac{1}{\pi}\int_{0}^{2\pi}f(x)cos(nx)dx=\frac{1}{\pi}\int_{-\pi}^{-\frac{\pi}{2}}(-1)\cdot cos(nx)dx+\frac{1}{\pi}\int_{-\frac{\pi}{2}}^{\pi}(1)\cdot cos(nx)dx\\=\frac{1}{n\pi}\int_{-\pi}^{-\frac{\pi}{2}}(-1)\cdot cos(nx)dnx+\frac{1}{n\pi}\int_{-\frac{\pi}{2}}^{\pi}(1)\cdot cos(nx)dnx\\=\frac{1}{n\pi}(-sinnx\bigg|^{-\frac{\pi}{2}}_{-\pi}+sinnx\bigg|^{\pi}_{-\frac{\pi}{2}})=2sin\frac{n\pi}{2}=\left\{\begin{matrix} 0, \qquad n = 2, 4, 6, \cdots \\ \frac{2}{n\pi}, n=4i+1, i = 1, 2,3, \cdots\qquad, \\ \frac{-2}{n\pi},n=4i+3, i = 1,2, 3, \cdots \end{matrix}\right.

\\f(x)=\frac{1}{2}+\frac{2}{\pi}cos(x)+\frac{2}{\pi}sin(x)-\frac{4}{2\pi}cos2x+\frac{2}{3\pi}cos(3x)-\frac{2}{3\pi}sin(3x)+\frac{2}{5\pi}cos(5x)+\frac{2}{5\pi}sin(5x)+\cdots

python代码:

# -*- coding: utf-8 -*-
"""
Created on Mon Feb  1 13:57:21 2021
@author: czl
"""
from pylab import *
x = mgrid[-20:20:0.01]
 
def fourier_wave():
    a0 = 1/2
    s=a0
    
    for n in range(1,1000,1):
        if (n%4 == 0):
            an = 0
            bn = 0
        elif (n%4 == 1):
            an = 2/(n*pi)
            bn = 2/(n*pi)
        elif (n%4 == 2):
            an = 0
            bn = -4/(n*pi)
        elif (n%4 == 3):
            an = -2/(n*pi)
            bn = 2/(n*pi)

        s0 = an*cos(n*x)+bn*sin(n*x)
        s=s+s0
        
    plot(x,s,'orange',linewidth=0.6)
    title('fourier_transform')
    show()    
 
fourier_wave()

geogebra绘图结果:

别看这个函数简单,但它妹的收敛速度太慢,9次谐波绘制才是上图的屎样,实在绘不下去了,还好python绘制的图能够说明并且保证积分过程是无误的。


函数:

f(x)=\left\{\begin{matrix} sin(x) \qquad x>0 \ and\ x< \pi \\ f(x+\pi) \quad \quad \quad \quad \qquad \quad \quad \end{matrix}\right.

\\a_0=\frac{1}{\pi}\int_{0}^{\pi}f(x)dx = \frac{1}{\pi}\int_{0}^{\pi}sinx dx=\frac{1}{\pi}\cdot (-cosx)\bigg|^{\pi}_0=\frac{1}{\pi}\cdot((-(-1))-(-1))\\=\frac{1}{\pi}\cdot 2=\frac{2}{\pi}

\\ b_n =\frac{2}{\pi}\int_{0}^{\pi}f(x)sin(2nx)dx=\frac{2}{\pi}\int_{0}^{\pi}sinx\cdot sin(2nx)dx\\=\frac{1}{\pi}\int_{0}^{\pi}[cos(2nx-x)-cos(2nx+x)]dx=\frac{1}{\pi}\bigg(\frac{sin(2nx-x)}{2n-1}\bigg|^{\pi}_0 - \frac{sin(2nx+x)}{2n+1}\bigg|^{\pi}_0 \bigg)\\=0

\\ b_n =\frac{2}{\pi}\int_{0}^{\pi}f(x)cos(2nx)dx=\frac{2}{\pi}\int_{0}^{\pi}sinx\cdot cos(2nx)dx\\=\frac{1}{\pi}\int_{0}^{\pi}[sin(x+2nx)+sin(x-2nx)]dx\\=\frac{1}{\pi}\bigg(-\frac{cos(x+2nx)}{2n+1}\bigg|^{\pi}_0 - (-1)\cdot \frac{cos(x-2nx)}{1-2n}\bigg|^{\pi}_0 \bigg)\\=\frac{1}{\pi}\bigg(-\frac{cos(x+2nx)}{2n+1}\bigg|^{\pi}_0 - \frac{cos(x-2nx)}{2n-1}\bigg|^{\pi}_0 \bigg)\\= \frac{1}{\pi}\bigg(\frac{2}{2n+1}-\frac{2}{2n-1}\bigg)=-\frac{4}{\pi}\cdot \frac{1}{4n^2-1}

python绘制的图形为:

  

python代码:

# -*- coding: utf-8 -*-
"""
Created on Mon Feb  1 13:57:21 2021

@author: czl
"""
from pylab import *
x = mgrid[-10:10:0.01]

def fourier_wave():
    a0 = 2/pi
    s=a0
    for n in range(1,1000,1):
        s0 = -4/pi * (1/(4*(n**2) -1))*cos((2*n)*x)
        s=s+s0
    plot(x,s,'orange',linewidth=0.6)
    title('fourier_transform')
    show()    

fourier_wave()

奇异周期函数:

f(x) = \left\{\begin{matrix} x^2 \qquad x > 0\ and \ x < \pi\\ \left -x \qquad x>-\pi \ \ x < 0 \ \ \ \ \end{matrix} \right.

\\a_0=\frac{1}{2\pi}\int_{0}^{2\pi}f(x)dx =\frac{1}{2\pi}\int^{0}_{-\pi}-x dx +\frac{1}{2\pi} \int^{\pi}_{0]}x^2dx=\frac{1}{2\pi}\bigg[(-\frac{x^2}{2})\bigg|^{0}_{-\pi}+\frac{x^3}{3}\bigg|^{\pi}_0\bigg]\\=\frac{1}{2}\bigg[\frac{\pi}{2}+\frac{\pi^2}{3}\bigg]

\\ b_n =\frac{1}{\pi}\int_{0}^{2\pi}f(x)sin(nx)dx=\frac{1}{\pi}\bigg[\int_{-\pi}^{0}-x\cdot sin(nx)dx+\int^{\pi}_{0}x^2sin(nx)dx\bigg]\\=\frac{1}{n\pi}\bigg[\int^{0}_{-\pi}-x\cdot sin(nx)d(nx) + \int^{\pi}_{0}x^2sin(nx)d(nx)\bigg]\\=\frac{1}{n\pi}\bigg[\int^{0}_{-\pi}x d cos(nx)-\int^{\pi}_{0}x^2d cos(nx)\bigg]\\=\frac{1}{n\pi}\bigg[ \bigg(xcosnx\bigg|^{0}_{-\pi} -\int^{0}_{-\pi}cos(nx)dx \bigg)-\int^{\pi}_{0}x^2dcos(nx)\bigg]\\=\frac{1}{n\pi}\bigg[ \bigg(xcosnx\bigg|^{0}_{-\pi} -\frac{1}{n}sin(nx)\bigg|^{0}_{-\pi}\bigg)-\int^{\pi}_{0}x^2dcos(nx)\bigg]\\=\frac{1}{n\pi}\bigg[ \bigg(xcosnx\bigg|^{0}_{-\pi} -\frac{1}{n}sin(nx)\bigg|^{0}_{-\pi}\bigg)-\bigg(x^2cos(nx)\bigg|^{\pi}_0-\frac{2}{n}\int^{\pi}_{0}xcosnxdnx\bigg)\bigg]\\=\frac{1}{n\pi}\bigg[ \bigg(xcosnx\bigg|^{0}_{-\pi} -\frac{1}{n}sin(nx)\bigg|^{0}_{-\pi}\bigg)-\bigg(x^2cos(nx)\bigg|^{\pi}_0-\frac{2}{n}\int^{\pi}_{0}xdsinnx\bigg)\bigg]

\\=\frac{1}{n\pi}\bigg[ \bigg(xcosnx\bigg|^{0}_{-\pi} -\frac{1}{n}sin(nx)\bigg|^{0}_{-\pi}\bigg)-\bigg(x^2cos(nx)\bigg|^{\pi}_0-\frac{2}{n}\bigg(xsinnx \bigg|^{\pi}_0 -\int^{\pi}_{0}sinnx dx\bigg) \bigg)\bigg]\\=\frac{1}{n\pi}\bigg[ \bigg(xcosnx\bigg|^{0}_{-\pi} -\frac{1}{n}sin(nx)\bigg|^{0}_{-\pi}\bigg)-\bigg(x^2cos(nx)\bigg|^{\pi}_0-\frac{2}{n}\bigg(xsinnx \bigg|^{\pi}_0 +\frac{1}{n}cosnx\bigg|^{\pi}_{0}\bigg) \bigg)\bigg]\\=\frac{1}{n\pi}\bigg[ 0-(-\pi)(-1)^n-0-\bigg( \pi^2(-1)^n -0-\frac{2}{n}(0+\frac{1}{n}((-1)^n - 1)\bigg)\bigg]\\= \frac{1}{n\pi}\bigg[\pi(-1)^n-\bigg(\pi^2(-1)^n-\frac{2}{n^2}((-1)^n-1)\bigg) \bigg]\\= \frac{1}{n\pi}\bigg[\pi(-1)^n-\pi^2(-1)^n+\frac{2[(-1)^n-1]}{n^2}\bigg]

\\a_n=\frac{1}{\pi}\int_{0}^{2\pi}f(x)cos(nx)dx=\frac{1}{\pi}\int_{-\pi}^{0}-xcos(nx)dx+\frac{1}{\pi}\int_{0}^{\pi}x^2cos(nx)dx\\=\frac{1}{\pi}\int_{-\pi}^{0}-xcos(nx)dx+\frac{1}{n\pi}\bigg[x^2sin(nx)+\frac{2}{n}(xcosnx-\frac{1}{n}sinnx)\bigg]\bigg|^{\pi}_{0}\\=\frac{1}{n\pi}\int_{-\pi}^{0}-xdsinnx+\frac{1}{n\pi}\bigg[x^2sin(nx)+\frac{2}{n}(xcosnx-\frac{1}{n}sinnx)\bigg]\bigg|^{\pi}_{0}\\=\frac{1}{n\pi}\bigg(-xsinnx\bigg|^{0}_{-\pi}+\int^{0}_{-\pi}sinnx dx\bigg)+\frac{1}{n\pi}\bigg[x^2sin(nx)+\frac{2}{n}(xcosnx-\frac{1}{n}sinnx)\bigg]\bigg|^{\pi}_{0}\\=\frac{1}{n\pi}\bigg(-xsinnx\bigg|^{0}_{-\pi}-\frac{1}{n}cosnx\bigg|^{0}_{-\pi}\bigg)+\frac{1}{n\pi}\bigg[x^2sin(nx)+\frac{2}{n}(xcosnx-\frac{1}{n}sinnx)\bigg]\bigg|^{\pi}_{0}\\=\frac{1}{n\pi}\bigg(0-0-\frac{1}{n}+\frac{1}{n}(-1)^n\bigg)+\frac{1}{n\pi}\bigg[\frac{2\pi(-1)^n}{n}\bigg]\\=\frac{(-1)^n-1}{n^2\pi}+\frac{1}{n\pi}\bigg[\frac{2\pi(-1)^n}{n}\bigg]

积分没有问题,但发现ubuntu上用python2.7绘制的图形还不太精确,但是windows10上的anaconda则没有问题,网上说是由于广为人知的phthon2.7浮点BUG导致:  

ubuntu平台绘制:

anaconda绘制:

python代码:

# -*- coding: utf-8 -*-
"""
Created on Mon Feb  1 13:57:21 2021
@author: czl
"""
from pylab import *
x = mgrid[-20:20:0.01]
 
def fourier_wave():
    a0 = (1/2)*((pi/2)+(pi**2)/3)
    s=a0
    
    for n in range(1,1000,1):
        bn = (1/(n*pi))*(pi*((-1)**n) -(pi**2)*((-1)**n) + (2*((-1)**n-1))/(n**2))
        an = (((-1)**n - 1) + 2*pi*((-1)**n))/((n**2)*pi)
        s0 = an*cos(n*x)+bn*sin(n*x)
        s=s+s0
        
    plot(x,s,'orange',linewidth=0.6)
    title('fourier_transform')
    show()    
 
fourier_wave()

图象

f(x) = \left\{\begin{matrix} x^2 \qquad x > 0\ and \ x < \pi\\ \left e^{-x} \qquad x>-\pi \ \ x < 0 \ \ \ \ \end{matrix} \right.

geogebra图象:

\\a_0=\frac{1}{2\pi}\int_{0}^{2\pi}f(x)dx =\frac{1}{2\pi}\int^{0}_{-\pi}e^{-x} dx +\frac{1}{2\pi} \int^{\pi}_{0]}x^2dx=\frac{1}{2\pi}\bigg[(-e^{-x})\bigg|^{0}_{-\pi}+\frac{x^3}{3}\bigg|^{\pi}_0\bigg]\\=\frac{1}{2\pi}\bigg[e^\pi - 1+\frac{\pi^3}{3}\bigg]

\\ b_n =\frac{1}{\pi}\int_{0}^{2\pi}f(x)sin(nx)dx=\frac{1}{\pi}\bigg[\int_{-\pi}^{0}e^{-x}\cdot sin(nx)dx+\int^{\pi}_{0}x^2sin(nx)dx\bigg]\\=\frac{1}{\pi}\bigg[-\frac{e^{-x}(sinnx+ncosnx)}{n^2+1}\bigg|^{0}_{-\pi}+\frac{(2-n^2x^2)cosnx+2nxsinnx}{n^3}\bigg|^{\pi}_0\bigg]\\=\frac{1}{\pi}\bigg[\frac{-n+ ne^{\pi}(-1)^n}{n^2+1}+\frac{(2-n^2\pi^2)(-1)^n-2}{n^3}\bigg]

\\a_n=\frac{1}{\pi}\int_{0}^{2\pi}f(x)cos(nx)dx=\frac{1}{\pi}\int_{-\pi}^{0}e^{-x}cos(nx)dx+\frac{1}{\pi}\int_{0}^{\pi}x^2cos(nx)dx\\=\frac{1}{\pi}\bigg[\frac{e^{-x}(nsinnx-cosnx)}{n^2+1}\bigg|^{0}_{-\pi}+\frac{(n^2x^2-2)sinnx+2nxcosnx}{n^3}\bigg|^{\pi}_0\bigg]\\= \frac{1}{\pi}\bigg[\frac{-1+e^\pi(-1)^n}{n^2+1}+\frac{2n\pi(-1)^n}{n^3}\bigg]

代码:

# -*- coding: utf-8 -*-
"""
Created on Mon Feb  1 13:57:21 2021
@author: czl
"""
from pylab import *
 
x = mgrid[-20:20:0.01]
 
def fourier_wave():
    a0 = (1/(2*pi))*(exp(pi)-1+(pi**3)/3)
    s=a0
    
    for n in range(1,1000,1):
        bn = (1/(pi))*(((n*exp(pi)*(-1)**n)-n)/(n**2+1)+((2-n**2*pi**2)*(-1)**n - 2)/(n**3))
        an = (1/(pi))*(((exp(pi)*(-1)**n)-1)/(n**2+1)+(2*n*pi*(-1)**n)/(n**3))
        s0 = an*cos(n*x)+bn*sin(n*x)
        s=s+s0
        
    plot(x,s,'orange',linewidth=0.6)
    title('fourier_transform')
    show()    
 
fourier_wave()

 图像:


f(x)=\left\{\begin{matrix} -0.8 \qquad x>-\pi \ and \ x < -\frac{\pi}{3}\\ -0.4 \qquad x > -\frac{\pi}{3}\ and \ x < -\frac{\pi}{6}\\ -0.2 \qquad x>-\frac{\pi}{6} \ and \ x< 0 \\3 \qquad x>0 \ and \ x < \frac{5\pi}{6} \\ 1 \qquad x > \frac{5\pi}{6} \ and \ x < \pi \end{matrix}\right.

\\a_0=\frac{1}{2\pi}\int_{0}^{2\pi}f(x)dx=\frac{1}{2\pi}\bigg[ (-0.8)\bigg|^{-\frac{\pi}{3}}_{-\pi}+(-0.4)\bigg|^{-\frac{\pi}{6}}_{-\frac{\pi}{3}}+(-0.2)\bigg|^{0}_{-\frac{\pi}{6}}+3\bigg|^{\frac{5\pi}{6}}_0 + 1\bigg|^{\pi}_{\frac{5\pi}{6}}\bigg]\\=\frac{1}{2\pi}\bigg[\frac{15\pi}{6}+\frac{\pi}{6}-\frac{\pi}{30}-\frac{2\pi}{30}-\frac{16\pi}{30}\bigg]=\frac{61}{60}

\int msin(nx)dx =-\frac{mcosnx}{n}+C

\int mcos(nx)dx =\frac{msinnx}{n}+C

\\ b_n =\frac{1}{\pi}\int_{0}^{2\pi}f(x)sin(nx)dx=\\\mathbf{ \frac{1}{\pi}\bigg[\frac{(-0.8)(-cosnx)}{n}\bigg|^{-\frac{\pi}{3}}_{-\pi} +\frac{(-0.4)(-cosnx)}{n}\bigg|^{-\frac{\pi}{6}}_{-\frac{\pi}{3}}+\frac{(-0.2)(-cosnx)}{n}\bigg|^{0}_{-\frac{\pi}{6}}+\frac{3(-cosnx)}{n}\bigg|^{\frac{5\pi}{6}}_0 +\frac{(-cosnx)}{n}\bigg|^{\pi}_{\frac{5\pi}{6}}\bigg]}

\\a_n=\frac{1}{\pi}\int_{0}^{2\pi}f(x)cos(nx)dx=\\ \frac{1}{\pi}\bigg[\frac{(-0.8)sinnx}{n}\bigg|^{-\frac{\pi}{3}}_{-\pi} +\frac{(-0.4)sinnx}{n}\bigg|^{-\frac{\pi}{6}}_{-\frac{\pi}{3}}+\frac{(-0.2)sinnx}{n}\bigg|^{0}_{-\frac{\pi}{6}}+\frac{3sinnx}{n}\bigg|^{\frac{5\pi}{6}}_0 +\frac{sinnx}{n}\bigg|^{\pi}_{\frac{5\pi}{6}}\bigg]

python代码:

# -*- coding: utf-8 -*-
"""
Created on Mon Feb  1 13:57:21 2021
@author: czl
"""
from pylab import *

x = mgrid[-20:20:0.01]
 
def fourier_wave():
    a0 = 61/60
    s=a0
    
    for n in range(1,1000,1):
        bn = (1/(pi))*( (((-0.8)*(-cos(n*(-pi/3))) - (-0.8)*(-cos(n*(-pi))))/n) +(((-0.4)*(-cos(n*(-pi/6))) - (-0.4)*(-cos(n*(-pi/3))))/n) + (((-0.2)*(-cos(n*(0))) - (-0.2)*(-cos(n*(-pi/6))))/n)+ (((3)*(-cos(n*(5*pi)/6)) - (3)*(-cos(n*(0))))/n) + (((1)*(-cos(n*(pi))) - (1)*(-cos(n*(5*pi)/6)))/n))
        an = (1/(pi))*( (((-0.8)*(sin(n*(-pi/3))) - (-0.8)*(sin(n*(-pi))))/n) +(((-0.4)*(sin(n*(-pi/6))) - (-0.4)*(sin(n*(-pi/3))))/n) + (((-0.2)*(sin(n*(0))) - (-0.2)*(sin(n*(-pi/6))))/n)+ (((3)*(sin(n*(5*pi)/6)) - (3)*(sin(n*(0))))/n) + (((1)*(sin(n*(pi))) - (1)*(sin(n*(5*pi)/6)))/n))
        s0 = an*cos(n*x)+bn*sin(n*x)
        s=s+s0
        
    plot(x,s,'orange',linewidth=0.6)
    title('fourier_transform')
    show()    
 
fourier_wave()

图像:


前面的周期均为2\pi的周期函数,现在用一个周期为\pi的函数,看有什么不同.

周期为\pi,则基波的角速度\omega =2.

f(x) = \left\{\begin{matrix} 1 \qquad x > -\pi/4 \ and \ x < \pi/4\\ -1 \qquad x > \pi/4 \ and \ x < 3\pi/4 \end{matrix}\right.

函数图形:

\\\mathbf{a_0=\frac{1}{T}\int_{-\frac{T}{2}}^{\frac{T}{2}}f(x)dx = \frac{1}{\pi}\int_{-\pi/4}^{3\pi/4}f(x)dx =\frac{1}{\pi}\int_{-\pi/4}^{\pi/4}f(x)dx+\frac{1}{\pi}\int_{\pi/4}^{3\pi/4}f(x)dx =0}

\\ b_n =\frac{2}{T}\int_{-\frac{T}{2}}^{\frac{T}{2}}f(x)sin(\frac{2\pi}{T} nx)dx=\frac{2}{\pi}\int_{-\pi/2}^{\pi/2}f(x)sin(2nx)dx=\frac{2}{\pi}\int_{-\pi/4}^{3\pi/4}f(x)sin(2nx)dx \\= \frac{2}{\pi}\int_{-\pi/4}^{\pi/4}1\cdot sin(2nx)dx+\frac{2}{\pi}\int_{\pi/4}^{3\pi/4}(-1)\cdot sin(2nx)dx\\=\frac{2}{\pi}\int_{-\pi/4}^{\pi/4}1\cdot sin(2nx)dx-\frac{2}{\pi}\int_{\pi/4}^{3\pi/4}1\cdot sin(2nx)dx\\=\frac{1}{n\pi}(-cos2nx)\bigg|^{\pi/4}_{-\pi/4} - \frac{1}{n\pi}(-cos2nx)\bigg|^{3\pi/4}_{\pi/4}=0

\\ a_n =\frac{2}{T}\int_{-\frac{T}{2}}^{\frac{T}{2}}f(x)cos(\frac{2\pi}{T} nx)dx=\frac{2}{\pi}\int_{-\pi/2}^{\pi/2}f(x)cos(2nx)dx=\frac{2}{\pi}\int_{-\pi/4}^{3\pi/4}f(x)cos(2nx)dx \\= \frac{2}{\pi}\int_{-\pi/4}^{\pi/4}1\cdot cos(2nx)dx+\frac{2}{\pi}\int_{\pi/4}^{3\pi/4}(-1)\cdot cos(2nx)dx\\=\frac{2}{\pi}\int_{-\pi/4}^{\pi/4}1\cdot cos(2nx)dx-\frac{2}{\pi}\int_{\pi/4}^{3\pi/4}1\cdot cos(2nx)dx\\=\frac{1}{n\pi}(sin2nx)\bigg|^{\pi/4}_{-\pi/4} - \frac{1}{n\pi}(sin2nx)\bigg|^{3\pi/4}_{\pi/4}

图像:

代码:

# -*- coding: utf-8 -*-
"""
Created on Mon Feb  1 13:57:21 2021
@author: czl
"""
from pylab import *

x = mgrid[-5:5:0.01]

def fourier_wave():
    a0 = 0
    s=a0
    
    for n in range(1,1000,1):
        an=(1/(n*pi))*(sin(2*n*pi/4) - sin(-2*n*pi/4)) - (1/(n*pi))*(sin(2*n*3*pi/4) - sin(2*n*pi/4)) 
        bn=0
        s0 = an*cos(2*n*x)+bn*sin(2*n*x)
        s=s+s0

    plot(x,s,'orange',linewidth=0.6)
    title('fourier_transform')
    show()    
 
fourier_wave()

参数信息:

\\a_0 = 0\\ a_1=1.273\\ a_2=0\\ a_3=-0.424\\ a_4=0\\ a_5=0.255\\ a_6=0\\ a_7=-0.182\\ a_8=0\\ a_9=0.141\\ a_10=0\\ a_{11}=-0.116

\\\mathbf{f(x)=1.273cos(2x)-0.424cos(6x)+0.255cos(10x)-0.182cos(14x)+0.141cos(18x)-0.116cos(22x)}

geogebra图像是:


也是,完美符合!

实践证明,迪利克雷条件真是比较宽松的条件,宽松到,几乎可以做出论断,但凡周期函数,皆可傅里叶!

最后,以几张图结尾,下图是方波在各次1-17谐波时候的图形,最高次是红色代表17次谐波图形,,也是最接近方波的。

 单独看17次谐波的结果:

锯齿波的傅里叶变换直观图,最高次8次谐波。

第八次谐波的情况:

下面这幅图很有意思,它说明同样角度的正弦和余弦级数多项式和图形并不一定相似:


在频域看世界,世界是静止的,因为只有一组不变的频率摆在那里。 我们的世界有着统一而优美的运行机制,这使我想到,在现实生活中看到的纷繁复杂的现象,有没有可能是同一个事物的不同角度在这个世界的投影。想象一下,世界上每一个看似混乱的表象,背后实际上都是一条时间轴上按照或有或无的规则变化的曲线,这些曲线都是由无穷无尽的正弦波叠加而成。这些看似不规则的变化,内蕴的竟然是规则的正弦波在时间上的投影,那么你的脑海中会产生一个什么画面呢?

我们眼中的世界就像是皮影戏的大屏幕,幕后面有无数的齿轮,大齿轮带动小齿轮,小齿轮带动更小的,在最外面的齿轮上有一个小人投影到屏幕上,那就是我们看到的,我们知道这个小人在按照有或者无的规律表演,却看不透它背后的驱动机制。

这个小人会思考吗?它会是我们吗? 真的有自由意志吗?还是一切都是确定好的?

结束!

猜你喜欢

转载自blog.csdn.net/tugouxp/article/details/113485640