 RootMeanSquare - Maple Help

SignalProcessing

 RootMeanSquare
 calculate the root mean square of a signal Calling Sequence RootMeanSquare( data ) Parameters

 data - rtable or list of data Description

 • The RootMeanSquare command takes an rtable or list of data and returns the Root Mean Square (RMS). When $A$ is a Vector with $n$ elements:

$\mathrm{RootMeanSquare}\left(A\right)=\sqrt{\frac{{\sum }_{i=1}^{n}{\left|{A}_{i}\right|}^{2}}{n}}$

 • The input is converted to a 1-D Vector of either float or complex datatype, and an error will be thrown if this is not possible. For this reason, it is most efficient for the input to already be an rtable having the appropriate datatype.
 • The RootMeanSquare command is not thread safe.
 • As the underlying implementation of the SignalProcessing package is a module, it is also possible to use the form SignalProcessing:-RootMeanSquare to access the command from the package. For more information, see Module Members. Examples

 > $\mathrm{with}\left(\mathrm{SignalProcessing}\right):$ Simple Examples

 > $X≔\mathrm{Array}\left(\left[1,2I,3\right]\right)$
 ${X}{≔}\left[\begin{array}{ccc}{1}& {2}{}{I}& {3}\end{array}\right]$ (1)
 > $\mathrm{RootMeanSquare}\left(X\right)$
 ${2.16024689946928694}$ (2)
 > $Y≔\left[3\mathrm{sqrt}\left(2\right),4\mathrm{sqrt}\left(2\right)\right]$
 ${Y}{≔}\left[{3}{}\sqrt{{2}}{,}{4}{}\sqrt{{2}}\right]$ (3)
 > $\mathrm{RootMeanSquare}\left(Y\right)$
 ${5.}$ (4)
 > $Z≔\mathrm{Matrix}\left(\left[\left[5,-10\right],\left[15,20+I\right]\right]\right)$
 ${Z}{≔}\left[\begin{array}{cc}{5}& {-10}\\ {15}& {20}{+}{I}\end{array}\right]$ (5)
 > $\mathrm{RootMeanSquare}\left(Z\right)$
 ${13.7021896060447208}$ (6) Parseval's Theorem

 • Parseval's Theorem shows that the root mean square of the Discrete Fourier Transform (DFT) of a signal is the same as that of the original signal. For example:
 > $A≔\mathrm{LinearAlgebra}:-\mathrm{RandomVector}\left(5,\mathrm{datatype}=\mathrm{complex}\left[8\right]\right)$
 ${A}{≔}\left[\begin{array}{c}{-94.}{-}{58.}{}{I}\\ {12.}{-}{7.}{}{I}\\ {21.}{-}{53.}{}{I}\\ {40.}{-}{25.}{}{I}\\ {43.}{+}{97.}{}{I}\end{array}\right]$ (7)
 > $B≔\mathrm{Vector}\left[\mathrm{column}\right]\left(\mathrm{DFT}\left(A\right)\right)$
 ${B}{≔}\left[\begin{array}{c}{9.83869910099907}{-}{20.5718253929981}{}{I}\\ {-108.101349850469}{+}{32.8995037690910}{}{I}\\ {-68.9361787597612}{-}{69.2123797669952}{}{I}\\ {-38.0783657332284}{-}{69.3476788839996}{}{I}\\ {-4.91319464252088}{-}{3.45956242008582}{}{I}\end{array}\right]$ (8)
 > $\mathrm{rms__A}≔\mathrm{RootMeanSquare}\left(A\right)$
 $\mathrm{rms__A}{≔}{76.3229978446863555}$ (9)
 > $\mathrm{rms__B}≔\mathrm{RootMeanSquare}\left(B\right)$
 $\mathrm{rms__B}{≔}{76.3229978446863555}$ (10)
 • We can also compare the original signal with the Inverse Discrete Fourier Transform (IDFT) of its DFT:
 > $C≔\mathrm{Vector}\left[\mathrm{column}\right]\left(\mathrm{InverseDFT}\left(B\right)\right)$
 ${C}{≔}\left[\begin{array}{c}{-94.0000000000000}{-}{58.}{}{I}\\ {12.0000000000000}{-}{7.00000000000001}{}{I}\\ {21.0000000000000}{-}{53.0000000000000}{}{I}\\ {40.0000000000000}{-}{25.}{}{I}\\ {43.}{+}{97.}{}{I}\end{array}\right]$ (11)
 > $\mathrm{RootMeanSquare}\left(A-C\right)$
 ${1.35981247304106290}{×}{{10}}^{{-14}}$ (12) Compatibility

 • The SignalProcessing[RootMeanSquare] command was introduced in Maple 2020.