Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.1k views
in Technique[技术] by (71.8m points)

math - Units of a Fourier Transform (FFT) when doing Spectral Analysis of a Signal

My question has to do with the physical meaning of the results of doing a spectral analysis of a signal, or of throwing the signal into an FFT and interpreting what comes out using a suitable numerical package,

Specifically:

  • take a signal, say a time-varying voltage v(t)
  • throw it into an FFT (you get back a sequence of complex numbers)
  • now take the modulus (abs) and square the result, i.e. |fft(v)|^2.

So you now have real numbers on the y axis -- shall I call these spectral coefficients?

  • using the sampling resolution, you follow a cookbook recipe and associate the spectral coefficients to frequencies.
  • AT THIS POINT, you have a frequency spectrum g(w) with frequency on the x axis, but WHAT PHYSICAL UNITS on the y axis?

My understanding is that this frequency spectrum shows how much of the various frequencies are present in the voltage signal -- they are spectral coefficients in the sense that they are the coefficients of the sines and cosines of the various frequencies required to reconstitute the original signal.

So the first question is, what are the UNITS of these spectral coefficients?

The reason this matters is that spectral coefficients can be tiny and enormous, so I want to use a dB scale to represent them.

But to do that, I have to make a choice:

  • Either I use the 20log10 dB conversion, corresponding to a field measurement, like voltage.
  • Or I use the 10log10 dB conversion, corresponding to an energy measurement, like power.

Which scaling I use depends on what the units are.

Any light shed on this would be greatly appreciated!

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

take a signal, a time-varying voltage v(t)

units are V, values are real.

throw it into an FFT -- ok, you get back a sequence of complex numbers

units are still V, values are complex ( not V/Hz - the FFT a DC signal becomes a point at the DC level, not an dirac delta function zooming off to infinity )

now take the modulus (abs)

units are still V, values are real - magnitude of signal components

and square the result, i.e. |fft(v)|^2

units are now V2, values are real - square of magnitudes of signal components

shall I call these spectral coefficients?

It's closer to an power density rather than usual use of spectral coefficient. If your sink is a perfect resistor, it will be power, but if your sink is frequency dependent it's "the square of the magnitude of the FFT of the input voltage".

AT THIS POINT, you have a frequency spectrum g(w): frequency on the x axis, and... WHAT PHYSICAL UNITS on the y axis?

Units are V2

The other reason the units matter is that the spectral coefficients can be tiny and enormous, so I want to use a dB scale to represent them. But to do that, I have to make a choice: do I use the 20log10 dB conversion (corresponding to a field measurement, like voltage)? Or do I use the 10log10 dB conversion (corresponding to an energy measurement, like power)?

You've already squared the voltage values, giving equivalent power into a perfect 1 Ohm resistor, so use 10log10.

log(x2) is 2 log(x), so 20log10 |fft(v)| = 10log10 ( |fft(v)|2), so alternatively if you did not square the values you could use 20log10.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

2.1m questions

2.1m answers

60 comments

57.0k users

...