matlab - 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')
你能帮我吗?
解决方案
如果您在 0 Hz 处有一个峰值,那么它只是告诉您您的信号不是静止的,即它呈上升或下降趋势。这是预期的吗?
fft 告诉你在那些低频中有能量。另一种说法是,随着频率变低(或波长变长),您的信号仍在反弹。
如果这是您真正想要做的,您将需要做一些过滤(高通)来消除它。
推荐阅读
- javascript - clearInterval "变量未定义" |
- json - Ingress-Nginx 外部身份验证的自定义响应
- oracle-apex - invoke() 方法接受哪些参数?
- amazon-web-services - 通过 OPENID 授权颁发 IAM 用户
- ssh - 无法通过新 GitLab 容器上的 ssh 密钥进行身份验证
- swift - IB中viewController上的黑屏,Xcode 12.4
- sql - 将查询从 spark.sql 转换为 impala
- javascript - TestCafe:console.log() 选择器的值
- sass - Vue3 css变量注入
- ios - 尝试构建时无法解析模块