在 MATLAB 中计算 FFT 图下的面积
目前,我对一组数据进行了 FFT,得到了 x 轴上的频率和 y 轴上的幅度的图。我想计算图表下方的面积来给我能量。
我不确定如何确定面积,因为我没有方程,而且我只想要图的某个区域而不是图下的整个区域。我有办法做到吗?
Currently I did a FFT of a set of data which gives me a plot with frequency at x axis and amplitude at y axis. I would like to calculate the area under the graph to give me the energy.
I am not sure how to determinate the area because I am without the equation and also I only want a certain area of the plot rather than whole area under the plot. Is there a way I can do it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
使用 Matlab 进行数值积分的方法有很多种。这是一个例子:
There are many ways to do numerical integration with Matlab. Here is an example:
FFT 是离散的,而不是连续的 - 您只需将所有 bin 值相加即可。如果您正在查看功率谱(幅度平方),那么箱值的单位是 W/Hz,因此您需要将每个值(或者只是总和)乘以以 Hz 为单位的箱宽度以获得功率(并且因此是输入样本中的总能量)。
The FFT is discrete, not continuous - you just need to sum all the bin values. If you're looking at the power spectrum (magnitude squared) then the bin values are in W/Hz, so you would need to multiply each value (or alternatively just the sum), by the bin width in Hz to get power (and hence the total energy in your input sample).