轻松理解傅里叶变换

本文转载自https://www.jianshu.com/p/4cb34e716fd1

傅里叶变换

傅里叶变换实质涉及的是频域函数和时域函数的转换。

概念解释

a.先引入时域和频域这两个概念的解释。

时域

时域是真实世界,是惟一实际存在的域。可以这样理解,从我们出生开始,所接触的这个世界就是随着时间在变化的,是在运动的。

频域

频域它不是真实的,而是一个数学构造。如果说时域是惟一客观存在的域,那么频域是一个遵循特定规则的数学范畴,频域也被一些学者称为上帝视角。结合上面对时域的理解,如果时域是运动永不停止的,那么频域就是静止的。
正弦波是频域中唯一存在的波形,这是频域中最重要的规则,即正弦波是对频域的描述,因为频域中的任何波形都可用正弦波合成
通过图片来直观解释:
在时域里面,一段音乐是什么?是一个随着时间变化的震动(我们可以观察到钢琴的琴弦一会上一会下的摆动)。
相比较,在频域里面,一段音乐又是什么?是一个个音符,是乐谱。音符的个数是有限且固定的,但可以组合出无限多的乐曲。

image

b.接下来再讲解两个概念 :频谱和相位谱

频谱

在这里先引入一个通俗的解释:

image

如上图所示:
第一幅图是一个余弦波 cos(x)
第二幅图是 2 个余弦波的叠加 cos (x) +a.cos (3x)
第三幅图是 4 个余弦波的叠加
第四幅图是 10 个余弦波的叠加
那么问题来了:
随着正弦波数量逐渐的增长,他们最终会叠加成一个标准的矩形,那么可以推出什么?
不仅仅是矩形,你能想到的任何波形都是可以如此方法用正弦波叠加起来的。

接下来我们换一个角度来看看:

image

从侧面看就是矩形波在频域的样子,是不是完全认不出来了?教科书一般就给到这里然后留给了读者无穷的遐想,以及无穷的吐槽,其实教科书只要补一张图就足够了:频域图像,也就是俗称的频谱。

对比展示:

image

可以看出,从时域来看,我们会看到一个近似为矩形的波,而我们知道这个矩形的波可以被差分为一些正弦波的叠加。而从频域方向来看,我们就看到了每一个正弦波的幅值,可以发现,在频谱中,偶数项的振幅都是0,也就对应了图中的彩色直线。振幅为 0 的正弦波。
正面--时域图像 侧面--频域图像
动图展示:

image
相位谱

频谱只代表了一个正弦函数的幅值,而要准确描述一个正弦函数,我们不仅需要幅值,还需要相位,不同相位决定了波的位置,所以对于频域分析,仅仅有频谱(振幅谱)是不够的,我们还需要一个相位谱。
频谱的重点是侧面看,相位谱的重点则是从下面看。

image

如上图所示:投影点我们用粉色点来表示,红色的点表示离正弦函数频率轴最近的一个峰值,而相位差就是粉色点和红色点水平距离除以周期。将相位差画到一个坐标轴上就形成了相位谱。
【这里需要纠正一个概念:时间差并不是相位差。如果将全部周期看作2Pi或者360度的话,相位差则是时间差在一个周期中所占的比例。我们将时间差除周期再乘2Pi,就得到了相位差。】

傅里叶变换

为什么需要傅里叶变换?
如下图所示:上面我们能看到的仅仅是一个类似正弦波的波形,其幅值在按照一定的规律变化。如何记载这个波形的信息呢?尤其是量化的记载!是很困难的。那么这个时候引入傅里叶变换就可以得到一个频谱(幅值谱),主要包括3、5、7、9次谐波,一目了然!

image

傅里叶变换是一种信号分析方法,让我们对信号的构成和特点进行深入的、定量的研究。
把信号通过频谱的方式(包括幅值谱、相位谱和功率谱)进行准确的、定量的描述。
这就是傅里叶变换的主要目的。
(具体分析可参考:(https://www.sohu.com/a/224533027_99907714))

公式定义:

image

可以这样理解,
①为频率域的函数F(ω)表示为时间域的函数f(t)的积分形式
②为时间域的函数f(t)表示为频率域的函数F(ω)的积分

傅里叶变换过程图解:
image

具体看参考(https://blog.csdn.net/qq_33414271/article/details/79117586

其他性质
image
image
image

Matlab实现(频谱和相位谱)

%% 二维傅立叶变换
%读取图片
I=imread('Naruto.jpg');
img=rgb2gray(I);
%幅值图和相位谱
%进行傅立叶变换
f=fft2(img);        %傅里叶变换
f=fftshift(f);      %使图像对称,中心化
r=real(f);          %图像频域实部
i=imag(f);          %图像频域虚部
margin=log(sqrt(r.^2+i.^2));      %图像幅度谱,加log便于显示
phase=real(angle(f)*180/pi);     %图像相位谱
figure
subplot(1,3,1),imshow(img),title('源图像');
subplot(1,3,2),imshow(margin,[]),title('图像幅度谱');
subplot(1,3,3),imshow(phase,[]),title('图像相位谱');

参考(https://blog.csdn.net/qq_33414271/article/details/79117586
https://ww2.mathworks.cn/help/matlab/math/fouriertransforms.html#responsive_offcanvas

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 定义 一、傅里叶级数 法国数学家傅里叶发现,任何周期函数都可以用正弦函数和余弦函数构成的无穷级数来表示(选择正弦函...
    MiracleJQ阅读 11,416评论 1 7
  • 昨晚课程是腾哥讲的《时间管理简明逻辑学》,笔记如下: 反复听了几遍腾哥讲的课程,讲的真不错。逻辑混乱是因为我们想的...
    Anna就是我阅读 3,911评论 0 3
  • “有没有可以治疗或者养胃的食疗方子啊?” 因为学营养的原因,身边总会有朋友问诸如此类的问题。而我又在坚持日更订阅号...
    营养科普阅读 3,114评论 2 4
  • 今日体验:由于这两天没有去盘点库房,导致需要个配件没有,还得需要现调货很多时间。 核心:在不忙的时候一定要去盘点一下库房
    其实_1d17阅读 1,265评论 0 0

友情链接更多精彩内容