I have an acceleration measurement in x, y and z direction, i.e. three vectors each of length 3000.

$x = [x_{1}, x_{2}, x_{3},...,x_{3000}]$ $y = [y_{1}, y_{2}, y_{3},...,y_{3000}]$ $z = [z_{1}, z_{2}, z_{3},...,z_{3000}]$

Currently I'm taking the RMS of x, y and z then I'm calculating the FFT. This produces a vector of length 3000.

$RMS = [\sqrt{x_{1}^2 + y_{1}^2 + z_{1}^2}, \sqrt{x_{2}^2 + y_{2}^2 + z_{2}^2},...,\sqrt{x_{3000}^2 + y_{3000}^2 + z_{3000}^2}]$

I've now read that it is also possible to apply the RMS in frequency domain then using the Plancherel theorem which states that:

$\sum_{n=0}^{N-1}|x_{n}|^2 = \frac{1}{N}\sum_{k=0}^{N-1}|X_{k}|^2$

if $X_{k}$ is the FFT of $x_{n}$.

As far as I understand it this would produce a single output for my three vectors of length 3000. Is that correct? Is there a possiblity to compute the RMS in frequency domain and getting a vector of length 3000?

  • $\begingroup$ I’m not aware of an RMS measurement for multidimensional signals, so I feel like its mostly up to you to decide how you want to do it. But your controlling equations seem sensible. I could well be off base though. $\endgroup$
    – Dan Szabo
    Feb 24, 2021 at 2:03

1 Answer 1


The array $[\sqrt{x_{1}^2 + y_{1}^2 + z_{1}^2}, \sqrt{x_{2}^2 + y_{2}^2 + z_{2}^2},...,\sqrt{x_{3000}^2 + y_{3000}^2 + z_{3000}^2}]$ is a vector of the Euclidean lengths of 3000 3D-space vectors.

The designation RMS (root mean square) is usually used for the square root of the arithmetic mean of the squares of serial values of the same kind. It is not used to designate the value $\sqrt{x^2 + y^2 + z^2}$, which is called the space vector length. The values used for RMS calculation can be received from a series of measurements of the same observable. The components of a 3D vector are not three instances of measurement of an observable; in fact, these vector components are viewed as three observables: the x component, the y component, and the z component.

You have 3000 samples from a series of measurements of acceleration, each instance of measurement produces three vector components of a 3D acceleration vector. When calculating RMS, you iterate over individual items which you select from a vector of measurement samples -- selecting one sample of a total of 3000 samples, squaring the selected item value, summing up these squares in the course of iteration -- then you divide the total sum by the number of samples (3000 here), and finally calculate the square root. You calculate three RMS values: an RMS for the x component of the selected acceleration vector, an RMS for the y component of the same vector, and an RMS for the z component of the same selected vector, like this: $$ RMS_x = \sqrt{{1\over N}\sum_{n=0}^{N-1}x_{n}^2}; \, RMS_y = \sqrt{{1\over N}\sum_{n=0}^{N-1}y_{n}^2}; \, RMS_z = \sqrt{{1\over N}\sum_{n=0}^{N-1}z_{n}^2} $$

These $RMS_{x,y,z}$ components are components of a root-mean-squared acceleration vector, $\overrightarrow {RMS} = [RMS_x, RMS_y, RMS_z]$

FFT and the Plancherel theorem may or may not be required for processing of your data, dependent on what processing you are going to do on the measurement data.

Notice the usage of the word vector for two different entities: the vector as an element of generalized vector space (as a set of subsequent samples from a waveform) versus the Euclidean vector (a directed segment). See https://en.wikipedia.org/wiki/Vector_(mathematics_and_physics).

It may happen that you need to compute the RMS of acceleration vector lengths, irrespective to acceleration direction in space. If this is the case, the formula is $$ RMS_{scalar} = \sqrt{{1\over N}\sum_{n=0}^{N-1}(x_{n}^2 + y_{n}^2 + z_{n}^2)} $$

subscript scalar means that, unlike $\overrightarrow {RMS}$, $RMS_{scalar}$ it is not a vector. Notice also that $RMS_{scalar} = \sqrt{RMS_x^2 + RMS_y^2 + RMS_z^2}$


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.