高斯白噪声的RMS幅度

时间:2019-06-11 16:54:26

标签: python numpy matplotlib probability-theory

我想计算一个高斯白噪声信号的RMS幅度。

import matplotlib.pyplot as plt
import numpy as np

mean = 0
std = 1.0

t = 100

def zv(t):
    return np.random.normal(mean, std, size = t)

def rms(x):
    return np.sqrt(np.mean(zv(x)**2))

plt.plot(zv(t))

plt.plot(rms(t))

zv(t)的图有效-但我不知道为什么rms(t)的图只是空白。

您有何评论?

最好的问候

1 个答案:

答案 0 :(得分:1)

zv(t)返回大小为t的一维数组。结果,当您取平均值时,它是一个单一值。您可以通过打印出rms(t)的值来验证这一点。如果要为t沿rms创建一个图,则需要生成多个蒙特卡洛样本。例如,

def zv(t):
    n = 1000
    return np.random.normal(mean, std, size = (n, t))

def rms(x):
    return np.sqrt(np.mean(zv(x)**2, axis = 0))