在频域中找到RMS值

时间:2014-04-28 13:04:36

标签: matlab signal-processing

我想在频域找到RMS值,我使用这个网站寻求帮助

http://www.dsprelated.com/showmessage/123177/1.php

但它是使用FFT计算的,但如果我使用的是句号而不是此代码

X = fft(x)

Parseval's Theorem

sum(x.^2) =  sum(abs(X).^2)/N

RMS == sqrt(sum(x.^2))/N) = sqrt(sum(abs(X/N).^2))

在周期图的情况下代码如何变化?提前感谢

1 个答案:

答案 0 :(得分:2)

周期图P = P(f)表示信号x = x(t)的功率如何在不同频率上分布。因此,可以将其视为将频率fx处评估的f的傅立叶变换的绝对值的平方相关联的函数。

换句话说,就您的注释而言,x = x(t)的周期图为P(f) = |X|^2(f)

因此,RMS满足

 RMS = sqrt(sum(P))/N.

<强> CAVEAT:

我对你的标准化因素并不十分确信。原则上,Parseval定理指出傅里叶变换是L^2与其自身的等距同构。因此,一旦傅里叶变换完成,就保持信号的范数。 尽管如此,此类转换的不同定义可能会导致不同的归一化因子(例如您的1/N)。简而言之,应该注意这个常数。