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

傅里叶变换概念及公式推导傅里叶变换傅里叶变换的目的是可将时域(即时间域)上的信号转变为频域(即频率域)上的信号,随着域的不同,对同一个事物的了解角度也就随之改变,因此在时域中某些不好处理的地方,在频域就可以较为简单的处理。傅里叶变换公式:(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账号...

(1)


相关推荐

  • 怎么用vscode运行java_捷达vs9参数配置

    怎么用vscode运行java_捷达vs9参数配置首先,当然是先下载VSCode官方链接:https://code.visualstudio.comVSCode(VisualStudioCode)官网选择匹配自己的操作系统版本就好(Windows,macOS,Linux),敢说自己是「Codeediting.Redefined.」,看得出来VSCode的底气。VSCode三大特点:免费、开源、跨平台下载运行后,会看到如下的Welcome「欢迎」界面。【VSCode】的颜值和【Github】夜间版都属一流

  • linux安装siege

    linux安装siegesiege安装笔记本文介绍centos和ubuntu安装方法centos安装下载:[root@siege-4.0.4]#wgethttp://download.joedog.org/siege/siege-4.0.4.tar.gz解压:[root@siege-4.0.4]#tarzxvfsiege-4.0.4.tar.gz打开解压包:…

    2022年10月28日
  • 卸载vs2012的步骤_plsql卸载详细步骤

    卸载vs2012的步骤_plsql卸载详细步骤要卸载VS系列时才发现卸载VS还是很麻烦的事情,经过研究网上的卸载工具都没什么用,还是要自己手动卸载才彻底些。手动卸载步骤:VisualStudioExpressEditions进入控制面板,运行添加或删除程序 卸载”MSDNLibraryforVisualStudio2005Beta” 卸载”MicrosoftSQLServer2005Expr

  • pycharm修改编码格式_vim 修改文件编码

    pycharm修改编码格式_vim 修改文件编码Pycharm修改文件编码FileEncoding

  • 2022最新Java面试宝典(史上最全,BAT大厂面试必备,用心看完该篇就够了,建议先关注点赞加收藏)

    2022最新Java面试宝典(史上最全,BAT大厂面试必备,用心看完该篇就够了,建议先关注点赞加收藏)史上最全Java面试宝典,BAT大厂必备,建议先点赞收藏,内容持续更新中。。。。序号名称地址1Java基础面试题2Java并发编程面试题3Java异常面试题4Java虚拟机(JVM)面试题5Java集合面试题6Linux面试题7Memcache面试题8Mybatiss面试题9MySQL面试题10Netty面试题11Nginx面试题12RabbitMQ面试题13Re

  • python工具包大全_python 库 包 模块

    python工具包大全_python 库 包 模块首先,先向大家介绍一下什么是werkzeug,Werkzeug是一个WSGI工具包,他可以作为一个Web框架的底层库。这里稍微说一下,werkzeug不是一个web服务器,也不是一个web框架,而是一个工具包,官方的介绍说是一个WSGI工具包,它可以作为一个Web框架的底层库,因为它封装好了很多Web框架的东西,例如Request,Response等等。例如我最常用的Flask框架就是一Werkzeug为基础开发的,这也是我要解析一下Werkzeug底层的原因,因为我想

发表回复

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

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