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

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

相关推荐

  • HEX文件格式_hex是什么格式文件

    HEX文件格式_hex是什么格式文件冒号本行数据长度本行数据起始地址数据类型数据校验码:1byte2bytes1bytenbyte1byte:05001000A2C2A280FE67:00000001FF第

    2022年8月3日
  • python编手机程序_python程序设计

    python编手机程序_python程序设计手机编程软件有很多,大部分都很难使用,操作不灵活,甚至不能安装第三方库。尝试安装了很多Python移动编程软件,发现了很多问题,不是编码效率低就是各种bug。今天,来自一位python编程小哥指导,向大家推荐两款精心挑选的手机编程软件,它们也是非常成熟的手机编程工具。QPythonOHQpython是一个轻量级的、成熟的python编程工具。它配有终端和简单的代码编辑器。它支持安装第三方库。目…

    2022年8月12日
  • 分而治之,保持胜利果实

    分而治之,保持胜利果实

    2022年1月26日
  • jupyter适合开发吗_jupyternotebook和pycharm的区别

    jupyter适合开发吗_jupyternotebook和pycharm的区别JupyterNotebook真的是让人又爱又失望,在有的场景下它极其便利,但是在很多大模型或复杂项目上,它又无能为力。在Jupytext这个项目中,作者希望既能利用Notebook的可视化优势,同时也能利用纯文本编写优势。可以说,是时候联合JupyterNotebook与PyCharm了。Jupytext项目地址:https://github.com/mwouts/jup…

    2022年8月29日
  • matlab中的length函数「建议收藏」

    matlab中的length函数「建议收藏」在MATLAB中:size:获取数组的行数和列数length:数组长度(即行数或列数中的较大值)numel:元素总数。s=size(A),当只有一个输出参数时,返回一个行向量,该行向量的第一个元素时数组的行数,第二个元素是数组的列数。[r,c]=size(A),当有两个输出参数时,size函数将数组的行数返回到第一个输出变量,将数组的列数返回到第二个输出变量

    2022年4月30日
  • Deep Reinforcement Learning 基础知识(DQN方面)「建议收藏」

    Deep Reinforcement Learning 基础知识(DQN方面)「建议收藏」##Introduction深度增强学习DeepReinforcementLearning是将深度学习与增强学习结合起来从而实现从Perception感知到Action动作的端对端学习的一种全新的算法。简单的说,就是和人类一样,输入感知信息比如视觉,然后通过深度神经网络,直接输出动作,中间没有hand-crafted工作。深度增强学习具备使机器人实现完全自主的学习一种甚至多种技能的潜力。

    2022年5月23日

发表回复

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

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