在频谱中查找RMS噪声



我有一个强度v/s速度频谱,我的目标是在频谱中找到RMS噪声,不包括存在峰值的通道。

因此,经过一些研究,我知道RMS噪声与频谱的标准偏差相同,信号的信噪比是信号除以相同标准偏差的平均值。有人能告诉我这里是不是错了吗?

这就是我在python 中编码的方式

def Average(data):
return sum(data) / len(data)
average = Average(data)
print("Average of the list =", average)
standardDev = data.std()
print('The standard deviation is',standardDev)
SNR = average/standardDev
print('SNR = ',SNR)

我的原始数据点是:

x-axis(velocity) :
[-5.99999993e+04 -4.99999993e+04 -3.99999993e+04 -2.99999993e+04
-1.99999993e+04 -9.99999934e+03  6.65010004e-04  1.00000007e+04
2.00000007e+04  3.00000007e+04  4.00000007e+04  5.00000007e+04
6.00000007e+04  7.00000007e+04  8.00000007e+04  9.00000007e+04
1.00000001e+05  1.10000001e+05  1.20000001e+05  1.30000001e+05
1.40000001e+05]
y-axis (data):
[ 0.00056511 -0.00098584 -0.00325616 -0.00101042  0.00168894 -0.00097406
-0.00134408  0.00128847 -0.00111633 -0.00151621  0.00299326  0.00916455
0.00960554  0.00317363  0.00311124 -0.00080881  0.00215932  0.00596419
-0.00192256 -0.00190138 -0.00013216]

如果我想测量不包括线路所在通道的标准偏差,我是否应该排除y[10]y[14]的值,然后计算标准偏差?

  1. 是的,由于要确定噪波的某些属性,因此应排除不构成噪波的点。如果这些是编号为10到14的点,则将其排除在外
  2. 然后计算剩余y值(强度(的平均值。然而,根据您的数据和拟合函数a * exp(-(x-c)**2 / w),可以推断出该平均值的理论值仅为零。如果是这样的话,平均值只是验证你的实验/理论的一种手段("正如预期的那样,我们几乎得到了零"(,并使用0作为真正的平均值。然后,噪声水平将等于二阶矩的平方根E(Y^2(
  3. 您应该将代码中的stddev与第二时刻的平方根进行比较,它们应该彼此相似,非常相似,因此您选择其中哪一个作为噪声值应该无关紧要
  4. 信噪比的部分在你的推导中是错误的。信号就是信号,也就是说,它是从拟合中获得的高斯的振幅。您可以将其除以噪声级别(二阶矩的平方根或stddev(。在我看来,你应该得到一个介于2到10之间的值
  5. 最后,请记住,这是一个公共论坛,有些人读了它,可能会对这个问题感到困惑;答案:两者都是基于上一个问题将数据拟合为高斯分布图,这应该在问题本身中提及
  6. 如果这是一项大学作业,并且你在研究真实的实验数据,请记住目的。想象一下,你自己是一个科学家,要说服其他人,这是一个真实的信号,比如说,来自外星人,而不仅仅是大自然母亲随机掷骰子的不稳定结果。这就是信噪比的主要目的

最新更新