高斯白噪声的RMS幅度



我想计算高斯白噪声信号的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)的情节只是空的。

中方有何评论?

此致敬意

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))

最新更新