微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何计算测量值的均值和标准差,使信噪比为特定值?

如何解决如何计算测量值的均值和标准差,使信噪比为特定值?

考虑以下对煤矿生产的煤的产热能力的测量(以百万卡路里/吨为单位):

6260、6130、6750、6370、6340、63212

为了生成测量的噪声,我使用了 Python 中的 numpy.random.normal(mean,stdefv,size)。为了在每次运行代码时获得相同的随机生成数字,我使用了 numpy.random.normal(seed)

我使用以下方法计算信号:

信号 = 测量数据 + |噪声|

因此,SNR 是信号/噪声。

但是,我正在努力寻找合适的平均值和标准偏差,使每次测量的信噪比 (SNR) 为 100。我尝试调整平均值和标准偏差以获得每次测量所需的比率,但我得到的值要么小于 100,要么大于 100。

是否可以使用公式或方程式来获得所需的 SNR?

非常感谢您的帮助。非常感谢。

解决方法

当您从正态分布中提取噪声时,您每次都会得到不同的值,因此每次测量的 SNR 不可能相同,这也不是您在现实生活中会遇到的(除非在您的仪器可以测量的范围内具有恒定的信噪比)。

如果“每次测量的信噪比 (SNR) 为 100”,那么噪声不再是随机的,它完全由每次测量的信号决定,您可以以编程方式轻松添加(对于每次测量:Pnoise = Psignal / SNR)

您可能需要考虑的是测量的平均 SNR

https://en.wikipedia.org/wiki/Signal-to-noise_ratio
enter image description here

  • E[S^2] 代表信号的预期值
  • E[N^2] 表示噪声平方标准偏差/方差

因此,如果您根据测量结果计算 E[S^2],则您有 E[N^2]=E[S^2] /SNR(插入您想要的任何 SNR)。然后,您可以从具有相应方差 (E[N^2]) 和均值 = 0(噪声的常见情况)的正态分布中采样噪声。每次测量的 SNR 都会有所不同,但总体而言,当您将所有测量的 SNR 平均时,您将获得所需的 SNR。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。