【问题标题】:Units of a Fourier Transform (FFT) when doing Spectral Analysis of a Signal对信号进行频谱分析时的傅里叶变换 (FFT) 单位
【发布时间】:2010-12-04 04:10:59
【问题描述】:

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

具体来说:

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

所以你现在在 y 轴上有实数——我应该把这些称为光谱系数吗?

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

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

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

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

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

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

我使用哪种缩放取决于单位。

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

【问题讨论】:

  • 请注意,对于以 f 表示的傅立叶变换(不是 fft),单位为 [V.s](如果信号以伏特为单位,时间以秒为单位)。这是因为当我们积分时,结果是 y 轴的单位乘以 x 轴的单位(求曲线下的面积)。此外,信号平方的积分在时域和频域中是相同的(Parseval 定理)。左边的单位是 [V^2.s],右边的单位是 [X^2.(1/s)](f 的单位是 Hz),因此 X = [V.s]。另见physics.stackexchange.com/questions/15073/…
  • @EvgeniSergeev - 谢谢,这是对核心傅里叶变换的一个很好的解释,与基础数学有关 (+1)。
  • 我投票结束这个问题,因为它属于Physics
  • @BryanH:6 年后,不确定你是否会增加关闭它的全部价值。请记住,该网站在早期是相当不同的。一方面,stackoverflow 是当时镇上唯一的游戏。而且从对问题和答案的回答来看,SO 的读者群中仍然有很多工程师。恕我直言,我会说保持原样。

标签: math physics fft measurement spectrum


【解决方案1】:

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

在我进行 FFT 之后,我得到了第 0 个分量 (DC),因此满足以下条件:

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

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

如果您查看 FFT 的定义,这也是有意义的。所有其他组件也将涉及正弦和余弦项,但实际上 FFT 只是一个求和。平均值只是碰巧在所有点中均等存在的唯一一个,因为您有 cos(0) = 1。

【讨论】:

  • 因此,要完成这个想法,单位必须相同,因为 FFT 分量只是输入分量乘以无量纲正弦和余弦项的总和。
【解决方案2】:

电阻器的功率为v^2/R 瓦。信号x(t) 的功率是对1 Ohm 电阻器的功率抽象。因此,信号x(t)的功率为x^2(也称为瞬时功率),与x(t)的物理单位无关。

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

如果对x(t)进行傅里叶变换得到X(jw),那么X(jw)的单位为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。这与 Parseval 定理一致,其中x(t) 的能量为(1/2*pi) 乘以abs(X(jw)))^2w 的积分,即(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 seconds 是采样的x(t) 的片段。如果x(t) 的单位是度C,那么X(k) 的单位也是度Cabs(X(k))^2的单位是C^2,是功率的单位。因此,abs(X(k))^2 与频率的关系图显示了x(n) 的功率谱(不是功率谱密度),它是x(t) 在频率k/T0 Hz 处的一组频率分量的功率估计值。

【讨论】:

    【解决方案3】:

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

    y 轴的单位似乎可能是 [能量 / Hz] !?

    这是我的推导方式(欢迎提供反馈!):

    1. 信号 v(t) 以伏特为单位

    2. 所以在进行傅里叶积分后:积分 e^iwt v(t) dt ,我们应该有 [volts*seconds] 或 [volts/Hz] 的单位(e^iwt 没有单位)

    3. 取幅值的平方应该给出 [volts^2 * s^2] 或 [v^2 * s/Hz] 的单位

    4. 我们知道功率与伏特 ^2 成正比,因此我们得到 [power * s / Hz]

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

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

    ...暗示“每赫兹的能量含量”的意思,并建议将频带整合并查看能量含量...如果它是真的那将是非常好的...

    继续...假设以上是正确的,那么我们正在处理能量测量,因此这建议使用 10log10 转换来转换为 dB 标度,而不是 20log10...

    ...

    【讨论】:

    • 一切看起来都不错,只是它本身不是能量/功率。除非您有特定的阻力,否则您不应该撒谎并说它是 Volts^2。
    • 我心中有一个理想的 50 欧姆电阻(发射设备阻抗与投影仪匹配)。 P ~ V^2 / R 其中 R 为 50 ohm 恒定负载。
    • @AssadEbrahim 这是一个旧的回复,所以不确定你是否还在,但这看起来不错!此外,我相信能量是 $\Sum_{k=0}^{N-1}x[n]^2$ 而功率是 $\frac{1}{N}\Sum_{k=0}^{N-1 }x[n]^2$。因此,如果我们通过长度(即样本中的持续时间)对 FFT 进行归一化,我们最终会得到功率谱密度。这对你有意义吗?
    • 我不完全确定您的特定应用程序,但是当您在第 2 点进行傅里叶积分时,您不应该在前面包含归一化常数,单位为秒^ -1?
    【解决方案4】:

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

    单位是V,值是实数。

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

    单位仍然是 V,值是复杂的(不是 V/Hz - DC 信号的 FFT 变为 DC 电平上的一个点,而不是 dirac delta 函数缩放到无穷大)

    现在取模数(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。

    【讨论】:

    • 皮特,谢谢!当您输入回复时,我正在编辑推导。我得到能量/赫兹(见下面的推导)。
    • 是的。这就是为什么我说“不是 V/Hz - DC 信号的 FFT 成为 DC 电平上的一个点,而不是缩小到无穷大的狄拉克三角函数”。 FFT 计算在离散时间点采样的输入总和乘以无量纲值; FFT 结果的单位是其输入的单位;在这个过程中没有时间或频率的缩放。
    • @Pete -- 啊啊!我知道了。谢谢。那么,术语“谱系数”是否可以正确应用于 fft(v) 中的复数序列?
    • @PeteKirkham 为什么单位不是V*s,因为傅立叶变换是S(w) = integral(s(t) * exp(-j*w*t) * dt)?指数是无单位的,信号s(t) 以伏特为单位,dt 以秒为单位。编辑:啊,也许 FFT 算法专门跳过了 dt 比例因子。嗯,这里可能值得一提。
    【解决方案5】:

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

    【讨论】:

    • 谢谢劳伦斯;让我澄清一下:(A)我在 y 轴上得到真实值。因此,由于真正的傅立叶变换会给出复数值,因此包内可能会发生以下情况之一:(i) 它采用变换的实数值,或 (ii) 它采用变换的幅度,或 (iii ) ? (B) 原始样本以伏特为单位
    • @AKE,复杂值的实部本身并不能告诉你太多——它几乎一文不值。您可能需要幅度,即sqrt(r^2 + i^2),或者更容易计算的幅度的平方,省略sqrt
    • 实部和虚部是什么单位?相位是什么单位(意思是x轴的单位)
    • @Gulzar y 轴的 幅度 与原始输入波的 y 轴单位相同。实部和虚部与幅度的单位相同,但独立考虑它们通常没有多大意义,就像您不会只查看距离向量的一个维度一样。相位不是 x 轴,相位是极坐标形式的 y 角度 - 360° = 2π 弧度 = 1 个周期。 x 轴是频率,比例取决于样本数和采样率。有关 x 轴的详细信息,请参阅另一个问题:stackoverflow.com/q/4364823/90848
    猜你喜欢
    • 2012-05-18
    • 1970-01-01
    • 1970-01-01
    • 2021-07-12
    • 1970-01-01
    • 2021-10-07
    • 2021-09-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多