【问题标题】:Harmonic mean when a DC signal is present存在直流信号时的谐波平均值
【发布时间】:2017-05-13 06:23:20
【问题描述】:

我有一个噪声信号的输出,保存为一组余弦。

我有一组从0x Hz 的频率(x 是一个很大的数),以及一组相同大小的振幅。

当频率的加权是相应幅度的大小时,我想计算出当前频率的调和平均值。

例如: 如果我有一组频率 [ 1 , 2 , 3] 和幅度 [ 10, 100, 1000 ](使得频率 1 的余弦具有幅度 10 等)。那么,频率的调和平均值为2.8647

但是,当我的频率为零(“DC”分量)时,我会遇到问题 - 调和平均值为零!

现实生活中的问题是一组非常大的余弦,从零频率开始,一直到几 GHz。大部分信号在频谱的一部分中进行加权,我想将频谱的简单加权平均值与调和平均值进行比较。

解决这个问题的方法(这似乎是一种便宜的方法)是忽略零频率 - 它只是数万个频率中的一个。但是有没有正确的方法来做到这一点?

【问题讨论】:

  • 你如何计算你提到的调和平均值? harmmean(1:3) == 1.6364.
  • 嗨,魔鬼 - 我不够清楚:我正在计算加权调和平均值。每个数据点(频率)[1,2,3] 都有一个权重(幅度)[10,100,1000](这些只是权重示例)。
  • 所以一个更相关的例子是频率集

标签: matlab mean frequency-domain


【解决方案1】:

下面是加权调和平均值的公式:

应用于您的示例是:

x = 1:3;
w = logspace(1,3,3);  % [10 100 1000]
sum(w)/sum(w./x); % 2.8220

您可以看到,如果x 值之一是0,则分母中的和将是无限的。如果您手动将此值的权重设置为0,则底部总和中将出现0/0 场景(其计算结果为NaN)。从技术上讲 - 在计算这种类型的平均值时,如果没有得到 0 的结果,就不能有 x0

我认为很明显这不是处理直流信号的正确工具。为了获得一些有意义的信息,我想到了几件事:

  • 在这两种方法中完全忽略直流信号听起来合理
  • 也许出于调和平均的目的,您最好忽略它,然后将其添加以与简单平均兼容。

归根结底,需要决定你想用这个来表达什么,然后相应地处理数据。

【讨论】:

  • 嗨,Devil - 是的,平均值是 2.822(上图一定是一些奇怪的复制和粘贴错误,我已经检查过了!)。你的观点再次重申了我对分母无穷大的担忧。我只是想知道是否有一种“正确”(或有意义)的方式来处理这些数据。我在忽略 0 Hz 分量方面犯了错误(在大多数情况下,它的权重非常小)。干杯,W
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-18
相关资源
最近更新 更多