首页 > 解决方案 > 0 Hz 时的 Matlab FFT 峰值,无偏移

问题描述

我有一个长度为 2048 的数据集。这代表 1 秒。数据集中有 2048 个条目,范围从 -200 到 +400。我想看看那里有什么频率。 z_off 我想要这个 FFT

z_off 是 1x2048 双倍

如何消除 0 Hz 处的峰值?FFT似乎也不起作用......

z_off = z-mean(z);

plot(abs(fft(z_off)));
y = fft(z_off);     
f = (0:length(y)-1)*2048/length(y);

plot(f,abs(y))
title('Magnitude')

你能帮我吗?

标签: matlabfft

解决方案


如果您在 0 Hz 处有一个峰值,那么它只是告诉您您的信号不是静止的,即它呈上升或下降趋势。这是预期的吗?

fft 告诉你在那些低频中有能量。另一种说法是,随着频率变低(或波长变长),您的信号仍在反弹。

如果这是您真正想要做的,您将需要做一些过滤(高通)来消除它。


推荐阅读