# Units of FFT in matlab

I was browsing another topic, and I suddenly remembered that I've never quite figured out what units matlab's fft returns. I've used the fft before and found where I had signal noise by taking the power density of the fourier coefficients, which is all I really wanted to use the fft for in the first place. Still, I'm curious what would need to be done to get a useful measurement like volts/sqrt(Hz), or volts^2/Hz. The units after the FFT should still be in volts, so would all I need to do is divide by frequency, and take the complex conjugate or complex conjugate root? Anyone done this before, if so mind posting your code for me to look at? My initial search on the internet, even through the mathworks site, still reveals nothing very concrete.

The units of FFT will be in volts only as you mentioned but i dont know the procedure to get it in terms of other units.

The answer from matlab will be complex, you'll get the transfer function H(w).

To get amplitude (volt) you need to take the absolute value of the result.

abs(fft(x));

Acctually you will get (volt/radian velocity)

Right, but I'm looking for a concrete example of taking the FFT coefficients from matlab, and producing Volts/sqrt(Hz). I think my original inclination of taking zz*, dividing by frequency, and sqrt must be very close.

Sorry, it seems that matlab will return in frequency domain and not radial velocity.

y=fft(x);
z=abs(y); //Now you have V/Hz
z=z*sqrt(freq) // Now you have V/sqrt(Hz) since (freq/sqrt(freq) = sqrt(freq))

vela
Staff Emeritus
As you noted, the units for the FFT is the same as in the time domain, so if it's volts, you need to square the modulus to get a quantity proportional to the power. If I understand correctly what you're asking for, you then want to divide by $\Delta\omega$, the spacing of bins in the frequency domain. But $\Delta\omega$ is a constant, so simply squaring the FFT gives you what you want, up to an overall constant.