我需要计算频域的速度均方根值。在用带通滤波器对信号进行滤波后,在10到1 kHz的频率范围内接收信号,然后用快速傅立叶变换计数频谱,得到如下结果:

我一直在为一个函数找到方程RMS:
1)

但是我不知道如何用matlab编写它。Parseval定理等于上述方程1)。
来自互联网的Parseval定理代码不确定这是正确的:
均方根=sqrt(sum((abs(X)/length(X)).^2);
因此,我在老话题上发现,s1写了这样的公式来计算RMS:
rms1 = sum(abs(FFTDATA /length(data)).^2) rms2 = sum(abs(FFTDATA .^2) / length(data)) / (length(data) ) rms1=rms2
但
rms=sqrt(rms1)
不确定上面的女巫rms comand是否等于->1)或其中任何一个。
发布于 2014-12-25 19:11:29
均方根表示均方根,所以您正在寻找用LaTeX编写的公式,例如sqrt(rms1)、sqrt(rms2)或rms。
注意,除非您有复杂的值,否则abs()调用是无用的。
Parseval定理说,您可以使用变换的平方和(在频域中)来获得平方和(或积分),而不是未经转换的速度和(在时域)。所以,一旦你过滤了ISO 10816中的频率,你就不用再转换了。
注意,Parseval定理是关于平方的和(或积分),而不是完全的均方根(你仍然必须除以T并取平方根)。这也许可以解释为什么不同的来源有不同的代码。
简而言之:将公式与sqrt(rms1)一起使用
rms = sqrt((abs(FFTDATA)/length(data)).^2);
https://stackoverflow.com/questions/27636010
复制相似问题