我需要在频域中计算Velocity RMS值。在使用带通滤波器对信号进行滤波以接收10到1 kHz频率范围内的信号并使用FFT对频谱进行计数之后,我得到了:
我已经找到了一个函数的等式RMS:
1)
但我不确定如何在matlab中编写它。 Parseval定理等于上面的等式1)??
来自互联网的Parseval定理代码不确定是否正确:
rms = 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是否等于---> 1)或其中任何一个
答案 0 :(得分:0)
RMS代表均方根,因此您正在寻找在LaTeX中编写的公式,即sqrt(rms1)
,sqrt(rms2)
或rms
。
请注意,除非您有复杂的值,否则abs()
调用无效。
Parseval's Theorem表示您可以使用变换的平方和(在频域中)来获得平方和(或积分),而不是未变换的速度(在时域中)。因此,一旦过滤了ISO 10816中的频率,就不必转换回来。
请注意,Parseval定理是关于平方的和(或积分),而不是完整的RMS(您仍需要除以T并取平方根)。这可以解释为什么各种来源有不同的代码。
简而言之:使用sqrt(rms1)
rms = sqrt((abs(FFTDATA)/ length(data))。^ 2);