进行信号频谱分析时的傅立叶变换 (FFT) 单位

发布于 2024-08-06 07:01:29 字数 703 浏览 5 评论 0原文

我的问题与对信号进行频谱分析的结果的物理意义有关,或者将信号放入 FFT 并解释使用合适的数值包得出的结果,

具体来说:

  • 获取一个信号,比如说一个时间 -变化的电压 v(t)
  • 将其放入 FFT(您将得到复数序列),
  • 现在取模 (abs) 并对结果求平方,即 |fft(v)|^2。

现在 y 轴上有实数了——我可以将这些称为谱系数吗?

  • 使用采样分辨率,您可以遵循食谱并将频谱系数与频率相关联。
  • 此时,您有一个频谱 g(w),x 轴上有频率,但是 y 轴上有哪些物理单位?

我的理解是,该频谱显示了各种频率的多少存在于电压信号中——它们是频谱系数,因为它们是重构原始信号所需的各种频率的正弦和余弦系数。

所以第一个问题是,这些频谱系数的单位是什么?

这很重要的原因是频谱系数可能很小,也可能很大,所以我想使用 dB 刻度来表示它们。

但要做到这一点,我必须做出选择:

  • 要么使用 20log10 dB 转换,对应于现场测量,例如电压。
  • 或者我使用 10log10 dB 转换,对应于能量测量,例如功率。

我使用的缩放比例取决于单位是什么。

任何对此的启发将不胜感激!

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!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

吃不饱 2024-08-13 07:01:29

取一个信号,一个时变电压v(t)

单位是V,值为实数。

将其放入 FFT 中——好吧,你会得到一个复数序列

单位仍然是 V,值是复数(不是 V/Hz - FFT 是直流信号变成直流电平上的一个点,而不是放大到无穷大的狄拉克δ函数)

现在取模数(abs)

单位仍然是V,值是实数 - 信号分量的幅度

并对结果求平方,即 |fft(v)|^2

单位现在是 V2,值是实数 - 信号分量幅度的平方

我应该将这些称为频谱系数吗?

它更接近功率密度,而不是通常使用的频谱系数。如果您的接收器是一个完美的电阻器,那么它将是功率,但如果您的接收器与频率相关,那么它就是“输入电压 FFT 幅度的平方”。

此时,您有一个频谱 g(w):x 轴上的频率,以及...y 轴上的物理单位是什么?

单位为V2

单位重要的另一个原因是频谱系数可能很小也可能很大,所以我想使用 dB 刻度来表示它们。但要做到这一点,我必须做出选择:是否使用 20log10 dB 转换(对应于现场测量,如电压)?或者我是否使用 10log10 dB 转换(对应于能量测量,如功率)?

您已经对电压值进行了平方,为完美的 1 欧姆电阻器提供了等效功率,因此使用 10log10。

log(x2)2 log(x),因此 20log10 |fft(v)| = 10log10 ( |fft(v)|2),因此,如果您没有对值进行平方,则可以使用 20log10。

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.

ゞ记忆︶ㄣ 2024-08-13 07:01:29

y 轴是复数(与实数相反)。幅度是原始信号的幅度,无论原始样本采用何种单位。角度是该频率分量的相位。

The y axis is complex (as opposed to real). The magnitude is the amplitude of the original signal in whatever units your original samples were in. The angle is the phase of that frequency component.

瀟灑尐姊 2024-08-13 07:01:29

这是我到目前为止所能想到的:

y 轴似乎可能以 [能量/赫兹] 为单位!?

以下是我的推导方法(欢迎反馈!):

  1. 信号 v(t) 的单位是伏特

  2. 所以在进行傅里叶积分之后: 积分 e ^iwt v(t) dt ,我们的单位应该是 [伏特*秒] 或 [伏特/赫兹](e^iwt 无单位)

  3. 取幅度平方后应给出 [伏 ^2 * s^2] 单位,或[v^2 * s/Hz]

  4. 我们知道功率成正比到伏特 ^2,所以这让我们得到 [功率 * s / Hz]

  5. 但是功率是能量变化的时间速率,即功率=能量/s,所以我们也可以写成 Energy = power * s

  6. 这给我们留下了候选结论 [Energy/Hz]。 (焦耳/赫兹?!)

...这表明了“每赫兹的能量含量”的含义,并建议将其用作积分频带并查看能量含量...如果这是真的,那将非常好...

继续...假设上述内容是正确的,那么我们正在处理能量测量,因此建议使用 10log10 转换来进入 dB 刻度,而不是 20log10...

...

Here's what I've been able to come up with so far:

The y-axis seems likely to be in units of [Energy / Hz] !?

Here's how I'm deriving this (feedback welcomed!):

  1. the signal v(t) is in volts

  2. so after taking the Fourier integral: integral e^iwt v(t) dt , we should have units of [volts*seconds], or [volts/Hz] (e^iwt is unitless)

  3. taking the magnitude squared should then give units of [volts^2 * s^2], or [v^2 * s/Hz]

  4. we know Power is proportional to volts ^2, so this gets us to [power * s / Hz]

  5. but Power is the time-rate of change in energy, i.e. power = energy/s, so we can also write Energy = power * s

  6. this leaves us with the candidate conclusion [Energy/Hz]. (Joules/Hz ?!)

... which suggests the meaning "Energy content per Hz", and suggests as a use integrating frequency bands and seeing the energy content... which would be very nice if it were true...

Continuing... assuming the above is correct, then we are dealing with an Energy measurement, so this would suggest using 10log10 conversion to get into dB scale, instead of 20log10...

...

云雾 2024-08-13 07:01:29

电阻器的功率为v^2/R瓦。信号x(t) 的功率是1 Ohm 电阻器功率的抽象。因此,无论x(t)<的物理单位如何,信号x(t)的功率都是x^2(也称为瞬时功率)。 /代码>。

例如,如果x(t)是温度,并且x(t)的单位是度C,那么功率的单位x(t)x^2C^2,当然不是瓦特。

如果对x(t)进行傅立叶变换得到X(jw)<​​/code>,那么X(jw)<​​/code>的单位是C*secC/Hz(根据傅立叶变换积分)。如果您使用 (abs(X(jw)))^2,则单位为 C^2*sec^2=C^2*sec/Hz。由于功率单位为 C^2,能量单位为 C^2*sec,因此 abs(X(jw)))^2给出能量谱密度,例如E/Hz。这与帕塞瓦尔定理一致,其中 x(t) 的能量由 (1/2*pi) 乘以 abs(X( jw)))^2 相对于 w,即 (1/2*pi)*int(abs(X(jw)))^2*dw) > (1/2*pi)*(C^2*sec^2)*2*pi*Hz > (1/2*pi)*(C^2*sec/Hz)*2*pi*Hz > E。

转换为 dB(对数刻度)刻度不会改变单位。

如果对 x(t) 样本进行 FFT(写为 x(n)),得到 X(k),则结果X(k)是周期函数的傅里叶级数系数​​的估计,其中T0秒内的一个周期是x(t)<的段/code> 已采样。如果x(t)的单位是C度,则X(k)的单位也是C代码>. abs(X(k))^2 的单位是 C^2,即功率单位。因此,abs(X(k))^2 与频率的关系图显示了 x(n) 的功率谱(不是功率谱密度),这是一个估计值x(t) 在频率 k/T0 Hz 处的一组频率分量的功率。

The power into a resistor is v^2/R watts. The power of a signal x(t) is an abstraction of the power into a 1 Ohm resistor. Therefore, the power of a signal x(t) is x^2 (also called instantaneous power), regardless of the physical units of x(t).

For example, if x(t) is temperature, and the units of x(t) are degrees C, then the units for the power x^2 of x(t) are C^2, certainly not watts.

If you take the Fourier transform of x(t) to get X(jw), then the units of X(jw) are C*sec or C/Hz (according to the Fourier transform integral). If you use (abs(X(jw)))^2, then the units are C^2*sec^2=C^2*sec/Hz. Since power units are C^2, and energy units are C^2*sec, then abs(X(jw)))^2 gives the energy spectral density, say E/Hz. This is consistent with Parseval's theorem, where the energy of x(t) is given by (1/2*pi) times the integral of abs(X(jw)))^2 with respect to w, i.e., (1/2*pi)*int(abs(X(jw)))^2*dw) > (1/2*pi)*(C^2*sec^2)*2*pi*Hz > (1/2*pi)*(C^2*sec/Hz)*2*pi*Hz > E.

Conversion to a dB (log scale) scale does not change the units.

If you take the FFT of samples of x(t), written as x(n), to get X(k), then the result X(k) is an estimate of the Fourier series coefficients of a periodic function, where one period over T0 seconds is the segment of x(t) that was sampled. If the units of x(t) are degrees C, then the units of X(k) are also degrees C. The units of abs(X(k))^2 are C^2, which are the units of power. Thus, a plot of abs(X(k))^2 versus frequency shows the power spectrum (not power spectral density) of x(n), which is an estimate the power of a set of frequency components of x(t) at the frequencies k/T0 Hz.

ま昔日黯然 2024-08-13 07:01:29

好吧,我知道答案迟到了。但我只是有理由在不同的背景下做这样的事情。我的原始数据是针对存储单元的事务的延迟值 - 我将其重新采样为 1 毫秒的时间间隔。所以原始数据 y 是“延迟,以微秒为单位”。我有 2^18 = 262144 个原始数据点,时间步长为 1 毫秒。

完成 FFT 后,我得到第 0 个分量 (DC),满足以下条件:

FFT[0] = 262144*(所有输入数据的平均值)。

所以在我看来 FFT[0] 是 N*(输入数据的平均值)。这是有道理的——每个数据点都拥有 DC 平均值作为其本身的一部分,所以你可以将它们全部加起来。

如果你看看 FFT 的定义,这也是有道理的。所有其他组件也将涉及正弦和余弦项,但实际上 FFT 只是一个求和。平均值是唯一一个恰好平等地出现在所有点中的平均值,因为 cos(0) = 1。

Well, late answer I know. But I just had cause to do something like this, in a different context. My raw data was latency values for transactions against a storage unit - I resampled it to a 1ms time interval. So original data y was "latency, in microseconds." I had 2^18 = 262144 original data points, on 1ms time steps.

After I did the FFT, I got a 0th component (DC) such that the following held:

FFT[0] = 262144*(average of all input data).

So it looks to me like FFT[0] is N*(average of input data). That sort of makes sense - every single data point possesses that DC average as part of what it is, so you add 'em all up.

If you look at the definition of the FFT that makes sense too. All of the other components would involve sine and cosine terms too, but really the FFT is just a summation. The average is just the only one that happens to be present in all points equally, because you have cos(0) = 1.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文