# Power, energy and amplitude spectrum from fft in MATLAB - scaling

I've looked at previous answers and none of the answers seem to agree (perhaps I'm missing something obvious):

I would like to know what the correct scaling to use is for

1. amplitude,
2. energy and
3. power density spectra

after using MATLABs fft function to convert a signal into the frequency domain.

The problem I have is that I have been through various forums and seen a number of different answers, with some people saying to divide by length (L) of the original sample and others saying to divide by sampling frequency (Fs).

I understand that you divide by L in the case of a DFT where L is the same both before and after the fft however I don't see how this becomes Fs if the lengths are different as L does not directly relate to Fs.

Additionally I would like clarification on whether the scale factor of 1/Fs after the fft is for amplitude or energy spectrum - I understand that it comes from parsevals theorem which relates the energy before and after the fft however I am seeing answers which suggest the scale factor Fs should be applied to amplitude spectrum - surely it should be root(Fs)?

• Have you seen this blog:The Power Spectrum – Irreducible Apr 25 '19 at 12:56
• Just one thing to keep in mind: you need to decide if you want to calculate the power, energy, amplitude of the discrete signal, or of the underlying, sampled continuous-time (CT) signal. When you're interested in the CT signal, you may divide by the sampling frequency or, equivalently, multiply by the sampling interval $\Delta t$, which corresponds to the $dt$ in the CT domain. – MBaz Apr 25 '19 at 13:00
• Hi @Irreducible yes I've seen articles very similar to that the problem is that it talks about 1/N as the scaling factor but that doesn't agree with what I've seen in forums which often uses 1/Fs as a scaling factor. Im sure they are related but I can't see how... – Christian T Apr 25 '19 at 13:35