小试牛刀--我的快速离散傅里叶变化matlab函数(FFT)

本文介绍了如何基于MATLAB创建一个自定义函数,以提高傅里叶变换(FFT)结果的可读性,特别是对于从示波器获取的数据。通过该函数,可以方便地获得频率分辨率、频率分量及其幅角,适用于科研和工程应用中的频率分析。文章提供了函数使用示例,展示了输出结果如何直观展示波形的频率成分和幅角信息。
摘要由CSDN通过智能技术生成

小试牛刀--我的快速离散傅里叶变化matlab函数(FFT)

想法来源

我在实验室里使用示波器观察实验数据的波形时,有时需要对实验数据进行傅里叶变换,观察其中的频谱成分。虽然有些示波器自带了数学分析工具,但是使用起来仍有不方便的地方,而且在后续的滤波时,仍需要对数据进行进一步的处理。

我在实验中,我从示波器上load的文件中,主要是两列数据,一列是时间数据,一列是强度数据,我利用matlab在对他们进行FFT分析时,主要是想获得如下数据

  1. 频率分辨率
  2. 各个频率分量
  3. 幅角

那么如何就我们从示波器中得到的文件数据去获得以上结果呢(这篇文章不是想说数学分析或者matlab命令的解释),也就是说如何就这些数据一次性从matlab代码中得出来呢?我们知道其实matlab的FFT命令得出来的结果其实可读性非常差,比如横坐标的数值代表的与纵坐标的数值代表的其实并没有对应到真实的物理量上,所以我的想法是编写一个matlab函数,可以很好地将结果与真实的物理量对应上,使其可读性高。

例子分析

那么先来看一下自己编写的函数带来的效果如何,这里并不强调其中的数学原理,主要用以在科研或者工程应用中的辅助分析为主。

首先我们有这样的一个波形

t=0:0.0001:5;
y=3*cos(2*pi*5*t)+7*cos(2*pi*8*t)-3*cos(2*pi*12*t)-5*cos(2*pi*15*t);

那么他所对应的图像如下图所示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值