傅里叶变换概念及公式推导

傅里叶变换概念及公式推导傅里叶变换傅里叶变换的目的是可将时域(即时间域)上的信号转变为频域(即频率域)上的信号,随着域的不同,对同一个事物的了解角度也就随之改变,因此在时域中某些不好处理的地方,在频域就可以较为简单的处理。傅里叶变换公式:(w代表频率,t代表时间,e^-iwt为复变函数)傅里叶变换认为一个周期函数(信号)包含多个频率分量,任意函数(信号)f(t)可通过多个周期函数(基函数)相加而合成。从物理角度

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

傅里叶变换(FT)

傅里叶变换的目的是可将时域(即时间域)上的信号转变为频域(即频率域)上的信号,随着域的不同,对同一个事物的了解角度也就随之改变,因此在时域中某些不好处理的地方,在频域就可以较为简单的处理。

傅里叶变换公式:

傅里叶变换公式
(w代表频率,t代表时间,e^-iwt为复变函数)
傅里叶变换认为一个周期函数(信号)包含多个频率分量,任意函数(信号)f(t)可通过多个周期函数(基函数)相加而合成。
从物理角度理解傅里叶变换是以一组特殊的函数(三角函数)为正交基,对原函数进行线性变换,物理意义便是原函数在各组基函数的投影

傅里叶公式推导:

我们先从函数f(t)为周期性函数推导,之后推导非周期性函数的傅里叶变换,傅里叶公式一般就是指非周期行函数的傅里叶变换(FT)
(1)对于周期为1的函数f(t)

这里写图片描述

这里写图片描述

(这里的x我接下来用t来表示)
这里写图片描述
根据欧拉公式
这里写图片描述
这里写图片描述
这里的Ck是一个复数,Ck一般称为傅里叶系数,平时对频域的变换,一般改变的就是Ck。
这里写图片描述
例如这个图中频域方向上的图每个频域值为Ck的值
这里写图片描述
接下来求Ck的值
这里写图片描述
这里写图片描述
对函数两边积分
这里写图片描述
这里写图片描述
(上述的k指频域上的x坐标,每个k值为一种赫兹,t表示时域上的时间)
因为要模拟一个信号,信号是不能通过有限个周期函数相加而确定这样会有很大的误差,无法得到完整的近似值,于是我们便用无限的周期函数来对其近似
这里写图片描述

由此就可以看出傅里叶变换是一种时域与频域的转换关系。

(2)对于非周期函数f(t)
对于一个信号的处理,信号一般都不是周期的,因此这里就产生了对非周期函数(信号)的处理。
对于非周期函数我们可以假设为非周期函数是一个周期函数的某个部分,但这个非周期函数的t范围可以非常的大。
傅里叶变换当周期趋近于无穷,是傅里叶系数的一般化
傅里叶逆变换是对傅里叶级数的一般化
设f(t)是周期为T的函数,T趋近于无穷的周期函数
这里写图片描述
傅里叶级数[f(t)]转变为
这里写图片描述
傅里叶系数为(注:因在无限大的周期T下所以从0->T与(-T/2)->(T/2)是相同的)
这里写图片描述
在频谱图中你看到的每一条竖线就是|CK|的值
这里写图片描述
这就是一个在时域上的函数图像经过傅里叶变换转换的频谱图。
很重要的一点是 :
对于周期为1的函数频域上每条线的间隔为1
而对于周期为T的函数,频域上的间隔为1/T
时域周期与频域有反比的关系。

即 T<1 ->1/T>1 频谱会被扩展
当 T>1 ->1/T<1 频谱会被压缩
特别的当T趋近于无穷,频谱间隔越来越近,最终频谱变为连续的
由此可以得到一句经常看到的话,当时域从周期转化为非周期时,频域从离散的转化为连续的。
看来把一个非周期函数看作是一个周期函数的一部分这样就能的出傅里叶变换的结果了莫?
其实是这样是不完全正确的。因为当T趋近于无穷时Ck会趋向于零使得整个傅里叶系数的公式没有意义:
设f(t)在区间a,b之间其他为0,取一个大的周期T使a>-T/2&&b>T/2,然后以T为函数扩展(|Ck|因为是复函数所以关于x轴对称)
如下图:
这里写图片描述
这里写图片描述(在a,b外函数是0)
这里写图片描述(负指数的值为1)
这里写图片描述这时这个值为一个固定的值M
这里写图片描述
Ck=0
连每个频率的系数都是0,那这f(t)还有什么用。
为此我们从另一个角度看
设gf这个公式为关于k/T的函数: gf(k/T)
这里写图片描述
(即Ck不要1/T的部分)
这里写图片描述
(这里和上面推导f(t)的结果是一样的)
因T->∞,gf(k/T)中k/T这个离散变量之间越来越趋近,1/T,2/T,3/T……这样函数就从离散的变为连续,我们将这个k/T连续变量设为s
这样这里写图片描述
关于f(t),f(t)可以看作无数个连续的gf(s)e^2πist,乘以1/T来组成将其看作累加和变换为积分。即
这里写图片描述
这样我们就最终得到了傅里叶变换公式(FT)(傅里叶变换也可以称为一种算子):
这里写图片描述
顺便给出傅里叶反变换公式:
这里写图片描述

文章参考:https://www.zhihu.com/question/19714540
https://www.zhihu.com/question/38841975
斯坦福大学课程:傅里叶变换及其应用

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/160821.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • jmeter吞吐量和并发数关系_java获取cpu使用率

    jmeter吞吐量和并发数关系_java获取cpu使用率如何计算进程调度算法的吞吐量(Howtocalculatethroughputofaprocessschedulingalgorithm)我正在尝试使用Java计算FCFS算法的吞吐量,但它总是给我零。我做得对吗?startTime=System.nanoTime();total=FCFC(copyBurstTime,copyArrivalTime);estimated…

    2022年10月21日
  • 网上书城项目总结(servlet_jsp+javaBean)

    网上书城项目总结(servlet_jsp+javaBean)          网上书城项目总结1项目大纲设计:需求分析系统设计详细设计权限设计2技术选型:Servlet+jsp+javaBeanListener+Filter+jstl+fileupload+c3p0+dbutils+mysql3开发顺序:  从dao层到service层再到web层网上书城需求分析:分别对管理员,普通用户,系统三个用户…

  • maven—奇怪的bug「建议收藏」

    maven—奇怪的bug「建议收藏」 使用Mavenue构建项目时。需要使用@Aspect、@Before注解,但是一直报错,但时Maven项目中确实导入进但还是报错。然后百度也找不出所以然,浪费了好久时间,查找了下Maven仓库中的jar包,感觉这个jar包有问题,于是删除重新进行下载,最后一个就是重新下载后的jar包,对比还是发现了不同,至于为什么下载的不一样,我想着可能是网络问题吧。…

  • 最全源码网站_短视频源码php

    最全源码网站_短视频源码php1.ASP.NET源码:http://i.aspx1.com/showforum-4.aspx2.源码之家:http://www.codejia.com/3.源码网:http://www.codepub.com/4.虾客源码:http://www.xkxz.com/5.源码开发网:http://www.codedn.com/6.洪越源代码:http://www.softhy.net/7…

  • 字符串数组转换为list集合

    字符串数组转换为list集合String[]arr={“a”,”C”,”abc”}; //asList该方法可以直接将一个数组转换为list集合,但是该集合是[只读的],不能对得到的集合进行增删改List<String>asList=Arrays.asList(arr);System.out.println(asList);//结果:[a,C,abc]Listlis…

  • js的onchange(js replace函数)

    jsonpropertychange函数当一个HTML元素的属性用js改变的时候,都能通过onpropertychange来捕获。例如一个<inputname=”text1″id=”text1″/>对象的value属性被页面的脚本修改的时候,onchange无法捕获到,而onpropertychange却能够捕获。也就是说:onpropertychange事…

发表回复

您的电子邮箱地址不会被公开。

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