sin的傅里叶变换公式_傅里叶变换的由来及复数下的傅里叶变换公式证明

sin的傅里叶变换公式_傅里叶变换的由来及复数下的傅里叶变换公式证明1、考虑到一个函数可以展开成一个多项式的和,可惜多项式并不能直观的表示周期函数,由于正余弦函数是周期函数,可以考虑任意一个周期函数能否表示成为一系列正余弦函数的和。假设可以,不失一般性,于是得到:f(t)=A0+∑(n=1,∞)Ansin(nωt+Φn)2、将后面的正弦函数展开:Ansin(nωt+Φn)=AnsinΦncosnωt+AncosΦnsinnωt令a0/2=A0,an…

大家好,又见面了,我是你们的朋友全栈君。

1、  考虑到一个函数可以展开成一个多项式的和,可惜多项式并不能直观的表示周期函数,由于正余弦函数是周期函数,可以考虑任意一个周期函数能否表示成为一系列正余弦函数的和。假设可以,不失一般性,于是得到:

f(t)= A0+∑(n=1,∞) Ansin(nωt+Φn)

2、  将后面的正弦函数展开:

Ansin(nωt+Φn)=AnsinΦncosnωt+AncosΦnsinnωt

令 a0/2 =A0,an = AnsinΦn,bn=AncosΦn,x=ωt,可得

f(x)= a0/2+∑(n=1,∞)(ancosnx+bnsinnx)

对两边在区间[-π,π]积分,得

ƒ(-π->π) f(x)dx = ƒ(-π->π)a0/2dx +ƒ(-π->π)(∑(n=1,∞) (ancosnx+bnsinnx))dx

ƒ(-π->π) f(x)dx = ƒ(-π->π)a0/2dx +∑(1 -> ∞) (ƒ(-π->π)(ancosnx+bnsinnx)dx)

ƒ(-π->π) f(x)dx = ƒ(-π->π)a0/2dx +∑( 1 -> ∞) [anƒ(-π->π)cosnxdx+bnƒ(-π->π)sinnxdx]

ƒ(-π->π) f(x)dx =a0/2 * 2π  +∑( 1 -> ∞) [anƒ(-π->π)cosnxdx+bnƒ(-π->π)sinnxdx]

当n=0時

ƒ(-π->π) f(x)dx = ao * π

于是我们求出了a0的值。

ao  = ƒ(-π->π) f(x)dx /π

三角函数系{1,cosx,sinx,cos2x,sin2x,……,cosnx,sinnx,……}  ————– ⑴

在区间[-π,π]上正交,就是指在三角函数系⑴中任何不同的两个函数的乘积在区间[-π,π]上的积分等于0,即

∫[-π->π]cosnxdx=0

∫[-π->π]sinnxdx=0

∫[-π->π]sinkxcosnxdx=0

∫[-π->π]coskxcosnxdx=0

∫[-π->π]sinkxsinnxdx=0

(k,n=1,2,3…..,k≠n)

下面利用三角函数正交性求出an,在原函数两端乘以cos(nx)再进行积分。

ƒ(-π->π) f(x)*cosnx dx = ƒ(-π->π)a0/2 * cosnx dx +ƒ(-π->π)(∑(n=1,∞)(ancosnx*cosnx + bnsinnx*cosnx))dx

ƒ(-π->π) f(x)*cosnx dx = a0/2 ƒ(-π->π) cosnx dx +∑(n=1,∞)[ an ƒ(-π->π)cosnx*cosnxdx + bn ƒ(-π->π)sinnx*cosnxdx])

根据上面提到的性质,可知 ƒ(-π->π) cosnx dx =0,ƒ(-π->π)sinnx*cosnxdx =0, 因此

ƒ(-π->π) f(x)*cosnx dx = an ƒ(-π->π)[cosnx*cosnxdx]

ƒ(-π->π) f(x)*cosnx dx = an  ƒ(-π->π)[1+cos2nx)/2 dx]

ƒ(-π->π) f(x)*cosnx dx = an [  ƒ(-π->π)1/2 dx +  ƒ(-π->π)(cos2nx/2 )dx

ƒ(-π->π) f(x)*cosnx dx = an ( π + 1/2 *( sin2nx|(-π->π))

ƒ(-π->π) f(x)*cosnx dx = an  π

得  an = 1/π ƒ(-π->π) f(x)*cosnx dx (n=1,2,3…..)

再用sin(nx)乘,再进行积分就会得到bn,

bn = 1/π ƒ(-π->π) f(x)*sinnx dx (n=1,2,3…..)

于是乎得到了一个任意函数展开成为正余弦函数的通用表达式,同时为什么会出现A0/2而不是直接的A0的原因也很明朗:就是让整个表达式更具有通用性,体现一种简洁的美。

通过了以上的证明过程,应该很容易记住傅里叶变换的公式。

到此为止,作为一个工程人员不用再去考虑了,可是作为每一个数学家他们想的很多,他们需要知道右侧的展开式为什么收敛于原函数,这个好难,有个叫Dirichlet的家伙证明出如下结论:

sin的傅里叶变换公式_傅里叶变换的由来及复数下的傅里叶变换公式证明

这里涉及两个函数

(1)事先给定一个函数f(x)

(2)根据f(x)构造一个Fourier级数,这是一个形式上的无穷项的和,和函数F(x)不一定存在.所以要判断它是否收敛.如果不收敛,f(x)与F(x)就毫无关系.

(3)如果判断出Fourier级数收敛,其和函数为F(x),而F(x)也不一定是f(x)

(4)Dirichlet定理指出,满足收敛定理2条件时,和函数F(x)恰等于f(x)在点x处左右极限的平均值.

用一个生活中的例子来阐明这过程:

(1)事先给您一只动物(如小兔)的旧衣服,小兔的旧衣服就是f(x)

(2)您根据小兔的旧衣服为它做一件新衣服,新衣服就是F(x),但是衣服F(x)未必能穿(未必收敛)

(3)即使能穿(收敛),新旧衣服也不一定大小完全一样(f与F未必相同)

(4)如果满足一定条件,新衣服F(x)在某些地方(f(x)连续点)与旧衣服f(x)完全相同.新衣服F(x)在某些地方(f(x)的不连续点,像衣服的破洞)与旧衣服f(x)是不相同的.

至此以2π为周期的傅里叶变换证明完毕,只不过我们经常遇到的周期函数我想应该不会这么凑巧是2π,于是乎任意的一个周期函数如何知道其傅里叶变换呢,数学向来都是一个很具有条理性的东西,任意周期的函数的傅里叶变换肯定也是建立在2π周期函数的基础之上的。

一个以2L为周期的函数f1(x)如何进行傅里叶变换?因为z=2π*x/(2L)=πx/L,可以用 sin z(即sinπx/L)作基函数,用πx/L替换傅里叶变换右边表达式各项中的x,不难看出就是对原f(x)图像沿x轴进行缩放L/π倍,显然这个求和后的新图像就是f1(x), 于是乎得到如下公式:

f(x)= a0/2+∑(n=1,∞)(ancos n zx +bnsin n zx) = a0/2+∑(n=1,∞)(ancosnπx/L+bnsinnπx/L)

同前面的计算方法,可得

an =  1/L ƒ(-L->L) f(x)*cosn πx/L dx      // 基函数为sin πx/L

bn =  1/L ƒ(-L->L) f(x)*sinn πx/L dx      // 基函数为sin πx/L

傅里叶函数看起来其实还是比较复杂的,有没有一种更简单的表达形式来表示呢。既然提出这个问题,肯定是有的,我个人猜想肯定是复变

函数大师在挖掘复变函数的时候,用复变函数去套用经典的傅里叶变换,偶然间发现的••••••

一个基本的欧拉公式eiθ=cosθ +i*sinθ,这个很容易可以从复数的几何意义上得知,我们通过取两个互为相反数的θ可以得到两个式子,

进而可以得到cos 和 sin 的复数表达形式:

fT(t)= a0/2+∑(n=1,∞)(ancosnω0t+bnsinnω0t)     ………..(L)

ejθ=cosθ +j*sinθ                     (1)

ej-θ= cos-θ +j*sin-θ=  cosθ-j*sinθ    (2)

(1)+( 2),得

cosθ = ( ejθ+ej-θ)  /2             (3)

据(1)和(3),得

sinθ = ( ejθ-ej-θ)  /2j

则(L)可变形为

fT(t) = a0/2+ ∑(n=1,∞)( an  ( 1/2 * (e(jnω0t)+e(-jnω0t)))+ bn( 1/2 * e(jnω0t)-e(-jnω0t))))

= a0/2+ ∑(n=1,∞)( an  ( 1/2 * (e(jnω0t)+e(-jnω0t)))- bn( j/2 * e(jnω0t)-e(-jnω0t))))

= a0/2 + ∑(n=1,∞)( (an-jbn)/2 e(jnω0t)+(an+jbn)/2 e(-jnω0t))

令 c0 = a0/2 = 1/T  ƒ(-T/2->T/2) fT(t)dt

令  cn = (an-jbn)/2 = 1/T [ ƒ(-T/2->T/2) fT(t) cosnω0t dt – j ƒ(-T/2->T/2) fT(t) sinnω0t dt]

= 1/T  ƒ(-T/2->T/2)fT(t)(cosnω0t- jsinnω0t)dt  = 1/T  ƒ(-T/2->T/2)fT(t)(cos-nω0t + jsin-nω0t)dt

= 1/T  ƒ(-T/2->T/2)fT(t) e(-jnωot) dt  ( n=1,2,3…)

同理  c_n = (an+jbn)/2 = 1/T [ ƒ(-T/2->T/2) fT(t) ejnω0t dt    ( n=1,2,3…)

cn = 1/T  ƒ(-T/2->T/2)fT(t) e-jnω0t dt  ( n =±1,±2,±3,……)

据 ωon=ωn 得

cn == 1/T  ƒ(-T/2->T/2)fT(t) e(-jωnt) dt

看出来了么,在不同波形图(f(x)表达式不同)中,同一个正弦函数曲线(ωn 或频率相同),它们的系数不同,是因为f(x)不同,无它。

fT(t) = c0+∑(n=1,∞)[ cn ejωnt +c_n e-jωnt ]

fT(t) = c0+∑(n=-∞,∞)[ cn ejωnt]       ( n =0,±1,±2,±3,……)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/160845.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • this关键字与super关键字详解

    this关键字与super关键字详解一.this关键字1.实例一:(1)需求:使用Java类描述一个动物;(2)实例:classAnimal{ Stringname; //成员变量 Stringcolor; publicAnimal(Stringn,Stringc){ name=n; color=c; } publicvoideat(){ Stringname=

    2022年6月15日
    32
  • 网络RJ45接口详解[通俗易懂]

    网络RJ45接口详解[通俗易懂]RJ45简介图1RJ45模块RJ45模块用于实现PHY之间的互连,包括PHY芯片经信号变压器与RJ45接口相连,如图1所示。RJ45连接器由插头和插座组成,RJ45插头又称水晶头,如图3-10所示。这两种元件组成的连接器连接于导线之间,以实现导线的电气连续性。RJ45连接器就是连接器中的最重要的一种插座。RJ45插座分屏蔽型和非屏蔽型两种。RJ是RegisteredJack的…

    2022年9月17日
    1
  • Github提交代码却没有显示绿色小格子?帮你找回绿格子!

    Github提交代码却没有显示绿色小格子?帮你找回绿格子!辛辛苦苦提交的代码却没有绿格子?在github上提交代码之后,进入github上面查看自己的提交,可以看看刚刚的提交内容,但是却一直没有显示绿格子,一个原因是本地git的配置邮箱和github上面的邮箱不一致。解决方法:查看你的本地配置邮箱在命令行中输入:gitconfiguser.email查看你的本地配置邮箱.看看是否和github上面绑定的邮箱一致,如果不一致则更改一下。…

    2022年9月28日
    3
  • SQL2005关于quotename的用法(转)[通俗易懂]

    SQL2005关于quotename的用法(转)[通俗易懂]首先,sqlserver里的标识符有一定的规则,比如 你createtableabc123(…)那么中间含有空格,它不是符合规则的。你会写做createtable[abc123](….)即以[]来定界标识符。quotename将字串成为有效的标识符。它有什么用呢?我举个例子:你有个表名字叫做aa[]bb当

    2022年7月25日
    10
  • java学生宿舍管理系统,来了就点个赞再走呗,即将毕业的兄弟有福了

    java学生宿舍管理系统,来了就点个赞再走呗,即将毕业的兄弟有福了引言:上次写了一个学生成功管理系统,有个老铁说不会运行,我答应给他写一个项目,并且附上运行的文档,于是这几天就利用摸鱼时间、晚上休息时间、中午午休时间写了这个宿舍管理系统,从表的设计和代码的编写都是自己弄的,数据库用mysql,web容器用tomcat,开发工具用eclipse\myeclipse,java方面入口都是用servlet,数据库连接用c3p0,总之都是用到比较基础的东西来写的,简单易懂,对于正在做毕业设计和刚入门时间不长的兄弟们来说,应该是比较好的学习代码了,希望对大家有所帮助。一张

    2022年7月16日
    19
  • Linux系列——VMware虚拟机配置端口转发(端口映射),实现远程访问[通俗易懂]

    Linux系列——VMware虚拟机配置端口转发(端口映射),实现远程访问[通俗易懂]前言本文所写的远程为各个电脑在同一个网段内本文主要详细介绍如何远程访问虚拟机里面的项目!机器:虚拟机(装在电脑1里)、电脑1(宿主机)、电脑2、电脑3、电脑4、电脑n…操作步骤:step1:打开虚拟机,选择编辑–虚拟网络编辑器step2:选择VMnet8,点击NAT设置,弹出一个设置窗口step3:添加一个端口转发主机端口:随便选取一个宿主机没有被占用……

    2022年8月21日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号