首页/文章/ 详情

代码实战!什么是傅里叶变换?有什么用?Matlab实现FFT

8月前浏览352
上一节介绍了,我们采集的信号,实际上包含了各种各样的子信号,实际情况中,这些字信号非常复杂,我们在时域看不出来都有哪些频率成分,这时候傅里叶变换就排上用场了。

傅里叶变换的提出让人们看问题的角度从时域变成了频域,多了一个维度。快速傅里叶变换算法的提出普及了傅里叶变换在工程领域的应用,在科学计算和数字信号处理等领域,FFT至今依然是非常强大的工具之一。傅里叶变换的物理意义是把时域复杂的信号在频谱中分解出来,时域无法确定信号有哪些频率,但是在频域上看就非常清晰。  

图3-4 是用Matlab实现FFT的关键代码,x为原始信号,n为原始信号长度,输出y为FFT后单边频谱,f为频率。

图3-4 Matlab实现FFT  

比如图3-5 中的复杂信号y,y=0.1+0.9*sin(2π*25*t)+0.4*sin(2π*250*t)+0.46*sin(2π*412*t),在第一行的时域就难区分出这三种频率,直接看时域的信号波形,我们是看不出来这个信号是由哪些信号组合来的

图3-5 复杂信号的时域与频域  

但是经过傅里叶变换以后,在频域看,就非常清晰了,三种信号频率以及幅值跃然纸上,图3-5 第二行可以看到3条频率谱线,分别是0.9v@25Hz、0.4V@250Hz、0.46V@412Hz ,还有一个0.1V的直流成分,那么我们就可以通过频域轻松知道这个y的组成了:y= 0.1+0.9*sin(2*pi*25*t)+0.4*sin(2*pi*250*t)+0.46*sin(2*pi*412*t)(本节不讨论相位信息)。如果只从时域来分析的话就非常难了,FFT极大的加快了我们分析信号的效率。

-END-

来源:工程师看海
电路MATLAB
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2026-01-22
最近编辑:8月前
工程师看海
硕士 签名征集中
获赞 144粉丝 51文章 294课程 2
点赞
收藏
作者推荐
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈