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

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

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

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

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


相关推荐

  • ajaxpro json 使用「建议收藏」

    ajaxpro json 使用「建议收藏」(一)AJAXPro之旅—神奇的小魔盒-站在巨人的肩膀上做自己的事情-博客园 -[Translatethispage]2007年9月10日…JSON.2.dll,AjaxPro.JSON.dll,web.config5个文件.其中.2结尾的是应用在.Net2.0框架下的类库.(个人使用的是2.0的,以下的教程也是应用在2.0下的)…www.cnblogs.c…

    2022年7月15日
    18
  • particles.js使用及配置

    particles.js使用及配置particles.js使用及配置参考:http://blog.csdn.net/csdn_yudong/article/details/53128570这个项目中有提供demo,可以直接下载这个

    2022年8月5日
    6
  • 将十进制转化为二进制的c语言程序_十进制111转换二进制

    将十进制转化为二进制的c语言程序_十进制111转换二进制目录十进制与二进制之间的转换十进制转换二进制C++实现十进制转换二进制二进制转换十进制C++实现二进制转换十进制十进制与二进制之间的转换十进制转换二进制十进制对2整除,得到的余数的倒序即为转换而成的二进制十进制转换二进制C++实现十进制转换二进制主函数main.cpp为:#include<iostream>#include<…

    2022年10月10日
    5
  • Java 注解(Annotation)

    Java 注解(Annotation)文章目录Annotation工作方式JDK5内建Annotation限定Override父类方法@Override标示方法为Deprecated@Deprectated抑制编译程序警告@SuppressWarnings自定义Annotation类型Annotation高级特性Annotation工作方式从Java5.0版发布以来,5.0平台提供了一个正式的annoatation功能:允许开…

    2022年7月7日
    17
  • vue绑定标签_vue自定义表单

    vue绑定标签_vue自定义表单v-modelv-model指定可以实现表单值与属性的双向绑定。即表单元素中更改了值会自动的更新属性中的值,属性中的值更新了会自动更新表单中的值绑定的属性和事件v-model在内部为不同的输入元

    2022年7月30日
    6
  • 免费国内php空间_全球vps交流网站超级vps管理器

    免费国内php空间_全球vps交流网站超级vps管理器网站名称:000webhost.com250MB硬盘空间,100GB数据流量有足够的空间存放你的网站,emails 和数据库. 服务器为百兆独享接入Internet, 所以可以提供100G的数据流量.PHP 和MySQL 数据库支持不想其他免费空间,对php和mysql的功能进行限制.在这里你可以使用最新版本的php和mysql. 所有以下php特性都支持:

    2022年9月21日
    4

发表回复

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

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