【问题标题】:RMS value in frequency domain ISO 10816-1频域中的 RMS 值 ISO 10816-1
【发布时间】:2014-12-24 11:15:40
【问题描述】:

我需要在频域中计算 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)

不确定上面的 wwitch rms 命令是否等于 --->1) 或其中任何一个

【问题讨论】:

  • 最好上传图片(请使用“图片”图标)。另外,你的问题不清楚。什么是“随机码”?猜测:/length(x) 在正确的位置吗?
  • 主要问题是这两个方程是否相似。最好的选择是使用第一个,但我找不到任何线索如何在 matlab 中实现它。

标签: matlab math octave


【解决方案1】:

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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-14
    • 1970-01-01
    • 1970-01-01
    • 2015-10-11
    • 2012-02-29
    • 1970-01-01
    • 2014-02-09
    • 2019-02-14
    相关资源
    最近更新 更多