Skip to Main Content Skip to Search
Login
File Exchange
MATLAB Newsgroup
Link Exchange
  Blogs  
 Contest 
MathWorks.com

Thread Subject: FFT - Output to RMS Equivalents

Subject: FFT - Output to RMS Equivalents

From: John Costello

Date: 02 May, 2008 13:23:03

Message: 1 of 4

I need some help converting the Matlab FFT output into
equivalent RMS levels for signal analysis.

I have numerical data from an oscilloscope that has three
primary frequencies: these are a DC component and two
separate frequencies. I can calculate the RMS of the
composite signal with a bit of integration and the use of
the RMS defintion.

The FFT routine identifies the equivalent power at the
discrete frequencies with the Matlab FFT algorithm. I am
plotting the frequency vs. the FFT * the conjugate of the
FFT to obtain the power signal. For the n point data
acquisition, I am doing the following to obtain the power:

Y = fft(v,n);

Pyy = Y.*conj(Y)/n ;

Does someone out there know how to extract the equivalent
RMS components of the other frequency content?

best regards

J. Costello


Subject: Re: FFT - Output to RMS Equivalents

From: Dave Robinson

Date: 02 May, 2008 14:27:03

Message: 2 of 4

"John Costello" <JohnCostello@ChampAero.com> wrote in
message <fvf4jm$4df$1@fred.mathworks.com>...
> I need some help converting the Matlab FFT output into
> equivalent RMS levels for signal analysis.
>
> I have numerical data from an oscilloscope that has three
> primary frequencies: these are a DC component and two
> separate frequencies. I can calculate the RMS of the
> composite signal with a bit of integration and the use of
> the RMS defintion.
>
> The FFT routine identifies the equivalent power at the
> discrete frequencies with the Matlab FFT algorithm. I am
> plotting the frequency vs. the FFT * the conjugate of the
> FFT to obtain the power signal. For the n point data
> acquisition, I am doing the following to obtain the power:
>
> Y = fft(v,n);
>
> Pyy = Y.*conj(Y)/n ;
>
> Does someone out there know how to extract the equivalent
> RMS components of the other frequency content?
>
> best regards
>
> J. Costello
>
>
Its late on Friday afternoon, so don't expect too much.

Each component in the FFT spectrum represents (once you
have taken into account any scaling caused by the FFT
algorithm itself) the amplitude of the complex sinewave
component. From memory there is a well known relationship
between the amplitude and RMS value of a sine wave - (so
well known I can't remember it;-) other than to say it
contains good factors such as square-root of 2. So if you
compute the amplitude rather than power spectrum I guess
you can apply this scaling factor to each and every
component frequency. I guess a simple bit of algebra will
allow you to scale it so it applies equally well in the
power domain.

Hope that helps

Dave Robinson

Subject: Re: FFT - Output to RMS Equivalents

From: John Costello

Date: 02 May, 2008 15:03:03

Message: 3 of 4

Dave

Thanks for your update. I am aware of the sqrt(2)
equivalence for a simple sinusoid with an RMS equivalent...

what I am wrestling with at the moment is...

a composite signal with a dc offset, and two extra (could
be more) sinuodal frequencies modulated (or superimposed)
on the dc carrier....

The output of the FFT algorithm produces a discrete number
of complex numbers corresponding to x + iy for each
frequency...

The product of x + iy times its conjugate x - iy yields the
absolute value or magnitude squared....

so, when plotted as power (or the signal FFT squared)...
against frequency, I obtain a plot of a squared term vs.
frequency...

For argument sake suppose the power coefficient of the
first major term in the plot occurs at 100 Hz and has an
amplitude of 10, the second major term occurs at 1 KHz and
has an amplitude of 5....

Is there a simple mechanism for exracting the RMS
equivalents for the 100 Hz and 1 KHz content, equivalent
amplitude of the RMS signal for each of the discrete
frequencies? Since I'm working with a squared relationship
between power (squared term) back to equivalent amplitude
of a voltage waveform for either 100 Hz or 1 KHz...

Thanks for your input on this issue.

cheers

John Costello

"Dave Robinson" <dave.robinson@somewhere.biz> wrote in
message <fvf8bn$pb9$1@fred.mathworks.com>...
> "John Costello" <JohnCostello@ChampAero.com> wrote in
> message <fvf4jm$4df$1@fred.mathworks.com>...
> > I need some help converting the Matlab FFT output into
> > equivalent RMS levels for signal analysis.
> >
> > I have numerical data from an oscilloscope that has
three
> > primary frequencies: these are a DC component and two
> > separate frequencies. I can calculate the RMS of the
> > composite signal with a bit of integration and the use
of
> > the RMS defintion.
> >
> > The FFT routine identifies the equivalent power at the
> > discrete frequencies with the Matlab FFT algorithm. I
am
> > plotting the frequency vs. the FFT * the conjugate of
the
> > FFT to obtain the power signal. For the n point data
> > acquisition, I am doing the following to obtain the
power:
> >
> > Y = fft(v,n);
> >
> > Pyy = Y.*conj(Y)/n ;
> >
> > Does someone out there know how to extract the
equivalent
> > RMS components of the other frequency content?
> >
> > best regards
> >
> > J. Costello
> >
> >
> Its late on Friday afternoon, so don't expect too much.
>
> Each component in the FFT spectrum represents (once you
> have taken into account any scaling caused by the FFT
> algorithm itself) the amplitude of the complex sinewave
> component. From memory there is a well known relationship
> between the amplitude and RMS value of a sine wave - (so
> well known I can't remember it;-) other than to say it
> contains good factors such as square-root of 2. So if you
> compute the amplitude rather than power spectrum I guess
> you can apply this scaling factor to each and every
> component frequency. I guess a simple bit of algebra will
> allow you to scale it so it applies equally well in the
> power domain.
>
> Hope that helps
>
> Dave Robinson

Subject: Re: FFT - Output to RMS Equivalents

From: NZTideMan

Date: 04 May, 2008 10:18:34

Message: 4 of 4

On May 3, 3:03=A0am, "John Costello" <JohnCoste...@ChampAero.com> wrote:
> Dave
>
> Thanks for your update. =A0I am aware of the sqrt(2)
> equivalence for a simple sinusoid with an RMS equivalent...
>
> what I am wrestling with at the moment is...
>
> a composite signal with a dc offset, and two extra (could
> be more) sinuodal frequencies modulated (or superimposed)
> on the dc carrier....
>
> The output of the FFT algorithm produces a discrete number
> of complex numbers corresponding to x + iy for each
> frequency...
>
> The product of x + iy times its conjugate x - iy yields the
> absolute value or magnitude squared....
>
> so, when plotted as power (or the signal FFT squared)...
> against frequency, I obtain a plot of a squared term vs.
> frequency...
>
> For argument sake suppose the power coefficient of the
> first major term in the plot occurs at 100 Hz and has an
> amplitude of 10, the second major term occurs at 1 KHz and
> has an amplitude of 5....
>
> Is there a simple mechanism for exracting the RMS
> equivalents for the 100 Hz and 1 KHz content, equivalent
> amplitude of the RMS signal for each of the discrete
> frequencies? =A0Since I'm working with a squared relationship
> between power (squared term) back to equivalent amplitude
> of a voltage waveform for either 100 Hz or 1 KHz...
>
> Thanks for your input on this issue.
>
> cheers
>
> John Costello
>
> "Dave Robinson" <dave.robin...@somewhere.biz> wrote in
> message <fvf8bn$pb...@fred.mathworks.com>...
>
>
>
> > "John Costello" <JohnCoste...@ChampAero.com> wrote in
> > message <fvf4jm$4d...@fred.mathworks.com>...
> > > I need some help converting the Matlab FFT output into
> > > equivalent RMS levels for signal analysis.
>
> > > I have numerical data from an oscilloscope that has
> three
> > > primary frequencies: =A0these are a DC component and two
> > > separate frequencies. =A0I can calculate the RMS of the
> > > composite signal with a bit of integration and the use
> of
> > > the RMS defintion.
>
> > > The FFT routine identifies the equivalent power at the
> > > discrete frequencies with the Matlab FFT algorithm. =A0I
> am
> > > plotting the frequency vs. the FFT * the conjugate of
> the
> > > FFT to obtain the power signal. =A0For the n point data
> > > acquisition, I am doing the following to obtain the
> power:
>
> > > Y =3D fft(v,n);
>
> > > Pyy =3D Y.*conj(Y)/n ;
>
> > > Does someone out there know how to extract the
> equivalent
> > > RMS components of the other frequency content?
>
> > > best regards
>
> > > J. Costello
>
> > Its late on Friday afternoon, so don't expect too much.
>
> > Each component in the FFT spectrum represents (once you
> > have taken into account any scaling caused by the FFT
> > algorithm itself) the amplitude of the complex sinewave
> > component. From memory there is a well known relationship
> > between the amplitude and RMS value of a sine wave - (so
> > well known I can't remember it;-) other than to say it
> > contains good factors such as square-root of 2. So if you
> > compute the amplitude rather than power spectrum I guess
> > you can apply this scaling factor to each and every
> > component frequency. I guess a simple bit of algebra will
> > allow you to scale it so it applies equally well in the
> > power domain.
>
> > Hope that helps
>
> > Dave Robinson- Hide quoted text -
>
> - Show quoted text -


A clue:
The RMS value includes the DC or mean, whereas the amplitudes from the
FFT exclude the mean ( it is in the zeroth frequency bin).

Tags for this Thread

Add a New Tag:

Separated by commas
Ex.: root locus, bode

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

rssFeed for this Thread

envelope graphic E-mail this page to a colleague

Public Submission Policy
NOTICE: Any content you submit to MATLAB Central, including personal information, is not subject to the protections which may be afforded information collected under other sections of The MathWorks, Inc. Web site. You are entirely responsible for all content that you upload, post, e-mail, transmit or otherwise make available via MATLAB Central. The MathWorks does not control the content posted by visitors to MATLAB Central and, does not guarantee the accuracy, integrity, or quality of such content. Under no circumstances will The MathWorks be liable in any way for any content not authored by The MathWorks, or any loss or damage of any kind incurred as a result of the use of any content posted, e-mailed, transmitted or otherwise made available via MATLAB Central. Read the complete Disclaimer prior to use.
Related Topics